throbber
United States Patent (19)
`Hansson
`
`54 METHOD FOR DOWNLOADING CONTROL
`SOFTWARE TO A CELLULAR TELEPHONE
`
`75 Inventor: Lars Hansson, Stockholm, Sweden
`73 Assignee: Telefonaktiebolaget LM Ecrisson,
`Stockholm, Sweden
`
`21 Appl. No.: 08/806,659
`22 Filed:
`Feb. 26, 1997
`(51) Int. Cl." ....................................................... H04Q 7/20
`52 U.S. Cl. ............................................. 455/419; 455/466
`58 Field of Search ................................. 455/418, 419.2,
`455/466,412,422, 575, 517
`
`56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,969,042 11/1990 Houtman et al. ....................... 358/160
`5,043,721
`8/1991 May .................
`... 340/825
`5,046,082 9/1991 Zicker et al. ............................. 379/59
`5,109,403 4/1992 Sutphin ..................................... 379/59
`5,297,191
`3/1994 GerSzberg ................................. 379/59
`5,297,192 3/1994 GerSzberg ................................. 379/59
`5,337,044 8/1994 Folger et al. ........................... 340/825
`5,414,751
`5/1995 Yamada.
`5,794,142 8/1998 Vantilla et al. ......................... 455/419
`
`
`
`US006023620A
`Patent Number:
`11
`(45) Date of Patent:
`
`6,023,620
`Feb. 8, 2000
`
`FOREIGN PATENT DOCUMENTS
`O 459 344 A1 5/1991 European Pat. Off..
`O 562 890 A1 3/1993 European Pat. Off..
`O 689 368 A1 6/1994 European Pat. Off..
`96/2727O 9/1996 WIPO.
`Primary Examiner Wellington Chin
`Assistant Examiner Philip J. Sobutka
`Attorney, Agent, or Firm Jenkens & Gilchrist, P.C.
`57
`ABSTRACT
`The present invention comprises a method and apparatus for
`downloading Software into a remotely located cellular tele
`phone via wireless communication. The cellular telephone
`includes two memories for Storing Software with one
`memory Storing the current Software and the Second memory
`available for downloading new Software. The present inven
`tion further includes a processor in communication with the
`cellular telephone via cellular telephone network. The pro
`ceSSor contains the new Software and controls the down
`loading of the Software from the processor into the cellular
`telephone memory. The cellular telephone includes a con
`troller for loading the received software into the cellular
`telephone memory and for performing a checksum on the
`new Software.
`
`5 Claims, 2 Drawing Sheets
`
`UPDATE
`SERVER
`PROCESSOR
`
`100
`
`
`
`140
`
`130
`
`110
`
`TRANSCEIVER
`
`CONTROLLER
`
`MEMORY
`2
`
`150
`
`EX-1023
`US Patent 10,789,393
`
`

`

`U.S. Patent
`
`Feb. 8, 2000
`
`Sheet 1 of 2
`
`6,023,620
`
`
`
`
`
`
`
`UPDATE
`SERVER
`PROCESSOR
`
`
`
`TRANSCEIVER
`
`CONTROLLER
`
`MEMORY
`1
`
`
`
`MEMORY
`2
`
`150
`
`
`
`140
`
`
`
`
`
`130
`
`110
`
`FIG. 1
`
`

`

`U.S. Patent
`
`Feb. 8, 2000
`
`Sheet 2 of 2
`
`6,023,620
`
`(STARD
`
`
`
`
`
`
`
`270
`
`
`
`ERROR
`FREE
`
`YES
`Activale UPDATED software -10
`
`ACKNOWLEDGE UPDATE
`
`320
`
`REQUEST RETRANSMISSION
`
`A 7G- 2
`
`

`

`1
`METHOD FOR DOWNLOADING CONTROL
`SOFTWARE TO A CELLULAR TELEPHONE
`
`BACKGROUND OF THE INVENTION
`1. Technical Field of the invention
`The present invention pertains in general to a method and
`apparatus for remotely upgrading Software in a cellular
`telephone, and more particularly, to remotely upgrade Soft
`ware in a cellular telephone via wireleSS communication
`using the Interim Standard-136 protocol.
`2. Description of Related Art
`Cellular telephones are typically programmed with two
`pieces of Software, a first piece is hard coded in program
`mable read only memory (PROM) and a second, upgradable
`piece, is loaded into flash Programmable Read Only
`Memory (flash-PROM). The upgradable portion contains
`control software for the cellular telephone. Due to a variety
`of reasons including the addition of new features and “bug
`fixes,” among others, the control Software loaded in the
`flash-PROM may be periodically upgraded. If the reason for
`upgrading the control Software occurs before the cellular
`telephone is shipped to a customer, the cellular telephone
`can be reprogrammed at the factory or at various points
`along the distribution chain. If, however, the reason for
`upgrading occurs after the customer has received the cellular
`telephone a cellular telephone customer will be required to
`bring the cellular telephone to a Vendor for reprogramming.
`Alternatively, if the change to the Software is minor, the
`cellular telephone customer may choose not to upgrade the
`cellular telephone. This may affect the quality of Speech,
`reduce the number of functioning features, etc. resulting in
`an image of poor quality for the particular brand of cellular
`telephone. It would be advantageous therefore, to devise a
`method and apparatus to reprogram a cellular telephone
`remotely using a wireleSS communication link. Furthermore,
`it would be advantageous if Such a method and apparatus
`retained the old Software until the upgraded Software has
`been tested and verified.
`
`SUMMARY OF THE INVENTION
`The present invention comprises a method and apparatus
`for downloading Software into a remotely located cellular
`telephone via wireleSS communication. The cellular tele
`phone includes two memories for Storing Software with a
`first memory Storing the current Software and the Second
`memory available for downloading a new version of the
`Software. The cellular telephone also includes a controller
`for loading the Software received via wireleSS communica
`tions into the cellular telephone memory. The controller
`further calculates a checksum on the received data.
`The present invention also includes an update Server
`processor in communication with the cellular telephone via
`a cellular telephone network. The update Server processor
`contains the new version of the Software and controls the
`downloading of the Software into the cellular telephone.
`BRIEF DESCRIPTION OF THE DRAWINGS
`For a more complete understanding of the present
`invention, reference is made to the following detailed
`description taken in conjunction with the accompanying
`drawings wherein:
`FIG. 1 illustrates a functional block diagram of an appa
`ratus for a remotely downloading Software into a cellular
`telephone; and
`FIG. 2 illustrates a flow diagram for a preferred embodi
`ment of the present invention.
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,023,620
`
`2
`DETAILED DESCRIPTION OF EMBODIMENTS
`Although the description of the preferred embodiment
`details the implementation of the invention in the Interim
`Standard-136 protocol, the particular protocol is used by
`way of example and it is understood that the present inven
`tion can be practiced to other cellular telephone Standards.
`Referring now to FIG. 1, there is illustrated an apparatus
`for remotely downloading Software into a cellular telephone.
`An update Server processor 100 communicates with a cel
`lular telephone network 120 which in turn provides wireless
`communication to a cellular telephone 110. The update
`server processor 100 contains the new version of the soft
`ware and controls the process for downloading the new
`Software into the cellular telephone 110.
`In addition to the functionality normally located within
`the cellular telephone 110, the cellular telephone 110 further
`contains a controller 140, a first memory 130, and a second
`memory 150. The controller 140 communicates with the
`update server processor 100 and loads software transmitted
`to the cellular telephone 110 from the update server proces
`Sor 100 into either the first memory 130 or the second
`memory 150. The controller 140 designates one of the two
`memories 130 or 150 as active and the other as inactive with
`the active memory containing the Software currently used by
`the cellular telephone 110. The controller 140 can also
`toggle between the two memories 130 and 150, thereby
`designating the formerly active memory as inactive, and
`conversely, designating the formerly inactive memory as
`active. Toggling between the memories 130 and 150 results
`in the cellular telephone 110 Switching to use the software
`contained in the newly designated active memory. Before
`reaching the cellular telephone Subscriber, the cellular tele
`phone 110 is loaded with Software in one of the two
`memories 130 or 150 at the factory and the same memory is
`designated as active. For purposes of this disclosure it is
`assumed that the Software loaded at the factory is loaded into
`the first memory 130 and that the first memory 130 is
`designated as active and the Second memory 150 is desig
`nated as inactive.
`When a new version of the Software is available, the
`update Server processor 100 transmits a message via the
`cellular telephone network 120 to the cellular telephone 110
`offering the option to download the new version of the
`Software. The cellular telephone Subscriber can choose to
`ignore the message, in which case the cellular telephone 100
`continues to operate using the Software currently located in
`the memory designated as active. Alternatively, the cellular
`telephone Subscriber can choose to download the new ver
`Sion of the Software immediately or at Some time in the
`future, in which case the cellular telephone subscriber fol
`lows the instructions provided in the message offering to
`download the new software. Typically, the cellular telephone
`Subscriber is instructed to depress a specific key or keys to
`initiate the downloading process.
`If the cellular telephone subscriber accepts the offer to
`download the new Software either now or in the future, the
`cellular telephone 110 transmits an acceptance code and the
`telephone number of the cellular telephone to the update
`service processor 100. The update server processor 100
`receives the acceptance code and telephone number, and
`when it is ready to download the Software, transmits a
`command instructing the cellular telephone 110 to prepare to
`receive the new software. The cellular telephone 110
`responds to the command by transmitting an acknowledg
`ment message to the update Server processor 100 and waits
`for a data transfer to the cellular telephone. The update
`
`

`

`3
`server processor 100 transmits the new version of the
`Software to the cellular telephone 110 and the controller 140
`loads the new Software into the inactive memory, which in
`this example is the second memory 150.
`The controller 140 calculates a checksum on the new
`Software transmitted by the update server processor 100 and
`compares the calculated checksum against a checksum
`transmitted to the cellular telephone 110 by the update server
`processor 100. If the calculated checksum does not match
`the transmitted checksum, the controller 140 requests a
`retransmission, does not toggle the designation of the two
`memories 130 and 150, and the cellular telephone 110
`continues to operate using the original Software, which for
`this example is located in the first memory 130. If, on the
`other hand, the checksum is successful the controller 140
`toggles the designation of the two memories 130 and 150.
`Thus, for the example, memory 150 containing the new
`Software is designated as active, and conversely, memory
`130 is designated as inactive. The cellular telephone 110
`now uses the new Software located in the Second memory
`150 which becomes the current version of the Software.
`Finally, the cellular telephone 110 transmits a message to the
`update Server processor 110 acknowledging the Successful
`update.
`Referring additionally now to FIG. 2, there is illustrated
`a flow diagram for a preferred embodiment of the present
`invention. The update server processor 100 sends an offer to
`remotely update the cellular telephone software (step 200).
`The update server processor 100 uses a Short Message
`Services (SMS) of the cellular telephone network 120 to
`transmit a SMS message to either a Single cellular telephone
`or to a plurality of cellular telephones. The offer to update
`the cellular telephone Software appears on an alphanumeric
`display of the cellular telephones intended to receive the
`offer. The process of sending the SMS messages is well
`known in the industry. Alternatively, the update Server
`processor 100 can place a cellular telephone call to the
`intended cellular telephone 110 and announce the offer to
`update the cellular telephone Software.
`After receiving the offer to update the Software the
`cellular telephone Subscriber can choose to ignore the offer
`by doing nothing resulting in the cellular telephone 110
`continuing to operate using the Software currently residing
`in the active memory, which for this example is the first
`memory 130. Alternatively, the cellular telephone subscriber
`can choose to accept the offer (Step 210) to update the
`Software by following the instructions contained in the offer
`to update. To accept the offer, the cellular telephone Sub
`Scriber is typically instructed to preSS a Single or a Series of
`keys located on the cellular telephone 110.
`In response to the cellular telephone Subscriber's accep
`tance of the update, the cellular telephone 110 transmits a
`SMS message to the update server processor 100, wherein
`the message contains an acceptance code and the telephone
`number of the cellular telephone 110 (step 220). The update
`Server processor 100 receives the acceptance code and
`transmits a SMS message containing a command instructing
`the cellular telephone 110 to wait for a program download
`(step 230) and the cellular telephone 110 responds by
`transmitting a SMS message containing an acknowledgment
`of the command (step 240). In response to receiving the
`acknowledgment from the cellular telephone 110, the update
`server processor 100 begins downloading software (step
`250). To download the software, in a first embodiment, the
`update Server processor 100 places a cellular telephone call
`to the cellular telephone 110 via the cellular telephone
`network 120, and in another embodiment, the phone could
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,023,620
`
`4
`call the processor to have the Software downloaded, thereby
`opening up a digital traffic channel between the update
`server processor 100 and the cellular telephone 110. If the
`Subscriber does not select immediate download, he/she will
`be given a telephone number which he/she can call at a later
`date and receive the upgraded Software.
`In a first embodiment of the present invention, the update
`server processor 100 downloads the software by placing a
`call to the cellular phone and performing an Interim
`Standard-136 data transfer to the cellular telephone 110 on
`the digital traffic channel. The update server processor 100
`transmits a header containing the length of the file to be
`downloaded and a checksum performed on the file by the
`update server processor 100 and further transmits the soft
`ware to the cellular telephone 110.
`In a Second embodiment of the present invention, the
`update Server processor 100 rather than performing an
`Interim Standard-136 data transfer, instead places a call to a
`cellular phone and transmits the Software via SMS messages
`on the digital traffic channel. The process of transmitting
`SMS messages on the digital traffic channel is well known
`in the industry. AS in the first embodiment, the update Server
`processor 100 transmits a header containing the length of the
`file to be downloaded, a checksum for the data being
`transmitted as well as the actual Software in the SMS
`meSSage.
`As the cellular telephone 110 receives the Software using
`either of the two embodiments of the present invention, the
`controller 140 places the Software in the inactive memory,
`which in the case of this example is the Second memory
`location 150. After the Software has been downloaded into
`the memory of the cellular telephone 110 the controller 140
`calculates a checksum on the downloaded Software (step
`260). The controller 140 compares the calculated checksum
`against the transmitted checksum to determine whether the
`software transfer was successful (step 270) If an error was
`detected, the cellular telephone 110 sends a SMS message to
`the update Server processor 100 requesting a retransmission
`of the software (step 280) and the update server processor
`100 retransmits the software beginning with the transmis
`sion of the command instructing the cellular telephone 110
`to prepare for a software download (step 230). Otherwise, if
`no errors were detected, the controller 140 designates the
`memory containing the newly downloaded Software, which
`for this example is the second memory 150 as the active
`memory, and conversely, designates the formerly active
`memory, in this case the first memory 130 as inactive (Step
`310). This redesignation or toggling of the two memories
`130 and 150 results in the cellular telephone using the newly
`downloaded software in place of the older Software. Finally,
`the cellular telephone 110 releases the call and transmits a
`SMS message on the DCCH containing an acknowledgment
`that the update was Successful to the update Server processor
`100 (step 320).
`Although the preferred embodiments of the methods and
`apparatus of the present invention have been illustrated in
`the accompanying Drawings and described in the foregoing
`Detailed Description, it is understood that the invention is
`not limited to the embodiments disclosed, but is capable of
`numerous rearrangements, modifications, and Substitutions
`without departing from the Spirit of the invention as Set forth
`and defined by the following claims.
`What is claimed is:
`1. A method for downloading software to a cellular
`telephone comprising the Steps of:
`transmitting, by a processor, a first short message Services
`message to the cellular telephone, wherein the message
`
`

`

`S
`contains a command for the cellular telephone to pre
`pare to receive Software;
`transmitting, by the cellular telephone, a Second short
`message Services message, wherein the message con
`tains an acknowledgment in response to the first mes
`Sage,
`transmitting, by the processor, the Software;
`receiving, by the cellular telephone, the Software, and
`loading the transmitted Software into an inactive memory
`of the cellular telephone.
`2. The method of claim 1, wherein the Software is
`transmitted as a short message Services message on a digital
`traffic channel.
`
`1O
`
`6,023,620
`
`6
`3. The method of claim 1, wherein the Software is
`transmitted as an IS-136 data transmission on a digital traffic
`channel.
`4. The method of claim 1, wherein the step of transmitting
`the Software further includes transmitting a header contain
`ing a length of the Software and a checksum of the Software.
`5. The method of claim 4, further including the steps of:
`calculating a checksum on the downloaded Software;
`comparing the calculated checksum against the checksum
`contained in the transmitted header; and
`requesting a retransmission of the Software if the calcu
`lated checksum does not match the transmitted check
`S.
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket