[go: up one dir, main page]

AU6640398A - Method and apparatus for remotely upgrading control software in a cellular telephone - Google Patents

Method and apparatus for remotely upgrading control software in a cellular telephone

Info

Publication number
AU6640398A
AU6640398A AU66403/98A AU6640398A AU6640398A AU 6640398 A AU6640398 A AU 6640398A AU 66403/98 A AU66403/98 A AU 66403/98A AU 6640398 A AU6640398 A AU 6640398A AU 6640398 A AU6640398 A AU 6640398A
Authority
AU
Australia
Prior art keywords
software
cellular telephone
downloaded
message
checksum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
AU66403/98A
Other versions
AU734670B2 (en
Inventor
Lars Hansson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/806,659 external-priority patent/US6023620A/en
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to AU66403/98A priority Critical patent/AU734670B2/en
Publication of AU6640398A publication Critical patent/AU6640398A/en
Priority to AU38948/01A priority patent/AU758367B2/en
Application granted granted Critical
Publication of AU734670B2 publication Critical patent/AU734670B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)

Description

METHOD AND APPARATUS FOR REMOTELY UPGRADING CONTROL SOFTWARE IN A CELLULAR TELEPHONE
BACKGROUND OF THE INVENTION 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 software in a cellular telephone via wireless communication using the Interim Standard- 136 protocol. Description of Related Art
Cellular telephones are typically programmed with two pieces of software, a first piece is hard coded in programmable 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 fiash-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 telephone 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 communications 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:
Figure 1 illustrates a functional block diagram of an apparatus for a remotely downloading software into a cellular telephone; and Figure 2 illustrates a flow diagram for a preferred embodiment of the present invention.
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 invention can be practiced to other cellular telephone standards.
Referring now to Figure 1, there is illustrated an apparatus for remotely downloading software into a cellular telephone. An update server processor 100 communicates with a cellular 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 software 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 processor 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 telephone 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 designated 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 version of the software immediately or at some time in the future, in which case the cellular telephone subscriber follows 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 acknowledgment message to the update server processor 100 and waits for a data transfer to the cellular telephone. The update 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 Figure 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 subscriber 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 acceptance 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 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 software 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 transmission 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.

Claims

WHAT IS CLAIMED IS:
1. A method for scheduling the remote downloading of software into a cellular telephone, the method comprising the steps of: sending, by a processor, a first short message services message to the cellular telephone, wherein the message contains an offer to download the software and instructions for accepting the offer; accepting the offer to download the software in a manner consistent with the instructions contained in the first short message services message; and transmitting, by the cellular telephone, a second short message services message to the processor, wherein the message contains an acceptance code and the telephone number of the cellular telephone.
2. A method for downloading software to a cellular telephone, the message comprising the steps of: transmitting, by a processor, a first short message services message to the cellular telephone, wherein the message contains a command for the cellular telephone to prepare to receive software; transmitting, by the cellular telephone, a second short message services message, wherein the message contains an acknowledgment in response to the first message; transmitting, by the processor, the software; and receiving, by the cellular telephone, the software.
3. The method of Claim 2, wherein the step of transmitting the software further includes transmitting a header containing a length of the software and a checksum of the software.
4. The method of Claim 3, 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 calculated checksum does not match the transmitted checksum.
5. The method of Claim 2, wherein the software is transmitted as an IS- 136 data transmission on a digital traffic channel.
6. The method of Claim 2, wherein the software is transmitted as a short message services message on a digital traffic channel.
7. The method of Claim 2, wherein the step of receiving the software further includes loading the transmitted software into an inactive memory of the cellular telephone.
8. A method for activating software downloaded into an inactive memory of a cellular telephone comprising the steps of: transferring control of the cellular telephone from current software contained in an active memory to the software contained in the in-active memory; and designating the formerly active memory as in-active and further designating the formerly inactive memory as active resulting in the downloaded software being the current software.
9. The method of Claim 8, further including the step of transmitting a short message services message, wherein the message contains an acknowledgment that the update was successful.
10. An apparatus for downloading software to a cellular telephone comprising a processor containing the software to be downloaded, the processor communicating with a cellular telephone network to transmit the software to the cellular telephone, and the processor further for controlling downloading of the software.
11. The apparatus of Claim 10 wherein the processor transmits and receives commands and acknowledgments for downloading the software into the cellular telephone via a short message service of a cellular telephone network.
12. The apparatus of Claim 10, wherein the processor transmits the software via a short message services message on a digital traffic channel of a cellular telephone network.
13. The apparatus of Claim 10 wherein the processor transmits the software as an IS- 136 data transmission on a digital traffic channel of a cellular telephone network.
14. An apparatus for receiving downloaded software transmitted to a cellular telephone comprising: an active memory positioned within the cellular telephone for storing current software used by the cellular telephone; an inactive memory positioned within the cellular telephone for storing downloaded software transmitted to the cellular telephone via wireless communications and; a controller positioned within the cellular telephone communicating with the active and inactive memory, the controller for loading the downloaded software transmitted to the cellular telephone into the inactive memory, the controller further for activating the inactive memory containing the downloaded software and deactivating the active memory containing the current software, thereby transferring control of the cellular telephone from the current software to the downloaded software.
15. The apparatus of Claim 14, wherein the controller receives and transmits commands and acknowledgments for downloading the software into the cellular telephone via a short message services of a cellular telephone network.
16. The apparatus of Claim 14, wherein the controller receives the downloaded software via a short message services message on a digital traffic channel of a cellular telephone network.
17. The apparatus of Claim 14, wherein the controller receives the downloaded software as Claim 13 as an IS-136 data transmission on a digital traffic channel of a cellular telephone network.
18. The apparatus of Claim 14, wherein the controller further calculates a checksum on the software downloaded into the inactive memory and compares the calculated checksum against the checksum of the downloaded software transmitted to the cellular telephone, the controller further requesting a retransmission of the software if the calculated checksum does not match the transmitted checksum.
19. The apparatus of Claim 18 wherein the controller further transmits an acknowledgment if the calculated checksum matches the transmitted checksum.
AU66403/98A 1997-02-26 1998-02-06 Method and apparatus for remotely upgrading control software in a cellular telephone Ceased AU734670B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU66403/98A AU734670B2 (en) 1997-02-26 1998-02-06 Method and apparatus for remotely upgrading control software in a cellular telephone
AU38948/01A AU758367B2 (en) 1997-02-26 2001-04-27 Method and apparatus for remotely upgrading control software in a cellular telephone

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/806,659 US6023620A (en) 1997-02-26 1997-02-26 Method for downloading control software to a cellular telephone
US08/806659 1997-02-26
PCT/SE1998/000214 WO1998038820A2 (en) 1997-02-26 1998-02-06 Method and apparatus for remotely upgrading control software in a cellular telephone
AU66403/98A AU734670B2 (en) 1997-02-26 1998-02-06 Method and apparatus for remotely upgrading control software in a cellular telephone

Related Child Applications (1)

Application Number Title Priority Date Filing Date
AU38948/01A Division AU758367B2 (en) 1997-02-26 2001-04-27 Method and apparatus for remotely upgrading control software in a cellular telephone

Publications (2)

Publication Number Publication Date
AU6640398A true AU6640398A (en) 1998-09-18
AU734670B2 AU734670B2 (en) 2001-06-21

Family

ID=25635096

Family Applications (1)

Application Number Title Priority Date Filing Date
AU66403/98A Ceased AU734670B2 (en) 1997-02-26 1998-02-06 Method and apparatus for remotely upgrading control software in a cellular telephone

Country Status (1)

Country Link
AU (1) AU734670B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2662891A1 (en) * 1990-05-30 1991-12-06 Cit Alcatel SOFTWARE DOWNLOAD DEVICE FOR TELECOMMUNICATION TERMINAL.
US5794142A (en) * 1996-01-29 1998-08-11 Nokia Mobile Phones Limited Mobile terminal having network services activation through the use of point-to-point short message service

Also Published As

Publication number Publication date
AU734670B2 (en) 2001-06-21

Similar Documents

Publication Publication Date Title
US6023620A (en) Method for downloading control software to a cellular telephone
EP1429569B1 (en) Mobile station and method for selectively downloading components of a software by comparing component specific version numbers
US8285268B2 (en) System and method for delta-based over-the-air software upgrades for a wireless mobile station
EP0820614B1 (en) Remote patching of operating code in a mobile unit
EP0804046B1 (en) Method and apparatus for updating the software of a mobile terminal using the air interface
US7461373B2 (en) Apparatus and method for upgrading software of a wireless mobile station
EP1015987B1 (en) Method and apparatus for synchronizing implementation of configuration information in a communication system
US6615038B1 (en) System and method for automatically creating and updating a mobile station configuration database in a wireless network
EP1698191B1 (en) Downloading and upgrading terminal software of a wireless device over the air
JP4227015B2 (en) Apparatus for supplying operation parameters to a mobile terminal as a radio communication station, and method related thereto
CN100505931C (en) Over-the-air programming method for wireless communication device
CA2149959A1 (en) Mobile telephone device
GB2357011A (en) System-initiated method for updating a program stored in a mobile communication terminal
AU734670B2 (en) Method and apparatus for remotely upgrading control software in a cellular telephone
AU758367B2 (en) Method and apparatus for remotely upgrading control software in a cellular telephone
JP2009017114A (en) Software distribution and update method for wireless terminal stations
CN106912037A (en) A kind of OTA upgrade methods and device
MXPA99007333A (en) Method and apparatus for remotely upgrading control software in a cellular telephone
KR19990032245A (en) Portable Wireless Terminal Software Upgrade System and Method
HU229537B1 (en) Method for renewing program files of a programmable mobile telecommunications terminal
GB2363946A (en) Remote updating of a program in a mobile communication unit
KR19990070121A (en) Base station maintenance method of paging system
KR20030097334A (en) Base station operate program agreement method for mobile communication system

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)