`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.
`
`