AU758367B2 - 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 Download PDF

Info

Publication number
AU758367B2
AU758367B2 AU38948/01A AU3894801A AU758367B2 AU 758367 B2 AU758367 B2 AU 758367B2 AU 38948/01 A AU38948/01 A AU 38948/01A AU 3894801 A AU3894801 A AU 3894801A AU 758367 B2 AU758367 B2 AU 758367B2
Authority
AU
Australia
Prior art keywords
cellular telephone
software
transmitted
memory
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.)
Ceased
Application number
AU38948/01A
Other versions
AU3894801A (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 AU66403/98A external-priority patent/AU734670B2/en
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to AU38948/01A priority Critical patent/AU758367B2/en
Publication of AU3894801A publication Critical patent/AU3894801A/en
Application granted granted Critical
Publication of AU758367B2 publication Critical patent/AU758367B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

P/00/011 28/5/91 Regulation 3.2(2)
AUSTRALIA
Patents Act 1990
ORIGINAL
COMPLETE SPECIFICATION STANDARD PATENT Application Number: Lodged: Invention Title: METHOD AND APPARATUS FOR REMOTELY UPGRADING CONTROL SOFTWARE IN A CELLULAR TELEPHONE *°o The following statement is a full description of this invention, including the best method of performing it known to us 1, la METHOD AND APPARATUS FOR REMOTELY UPGRADING CONTROL SOFTWARE IN 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 software in a cellular telephone via wireless communication using the Interim Standard-i 36 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 flash-PROM may be periodically upgraded. If the reason for upgrading the control software occurs oeooo before the cellular telephone is shipped to a customer, the cellular telephone can °oooo° 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 S. 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.
2 SUMMARY OF THE INVENTION MccorUIUIII Lu tII i:IventionILII there I p IUVIU aii appaIau IVu o U U1ivin downloaded software transmitted to a cellular telephone including: 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 receiving a first short message services message to the cellular telephone, wherein the first short message services message contains a command for the cellular telephone to prepare to receive software, transmitting, by the cellular telephone, a second short message 15 services message, wherein the second short message services message contains an acknowledgement in response to the first short message services message, and 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.
Preferred embodiments of the present invention comprise 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.
Preferred embodiments of the present invention also include 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.
2a BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present invention, reference is made to the following detailed description, by way of example only, 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 :00 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 o*o* 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.
6 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 preferred embodiment of the invention, the update server :i 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 preferred embodiment of the 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 (3)

1. An apparatus for receiving downloaded software transmitted to a cellular telephone including: 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 receiving a first short message "services message to the cellular telephone, wherein the first short message services 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 second short message services message contains an acknowledgement in response to the first short message services message, and 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. o.
The apparatus of claim 1, wherein the-downloaded software is transmitted as an IS-136 data transmission on a digital traffic channel of a cellular telephone network.
3. The apparatus of claim 1, 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. AThe apparatus of claim 3, wherein the controller further transmits an a wledoement if the calculated checksum matches the transmitted checksum. 9 An apparatus for receiving downloaded software transmitted to a cellular telephone substantially as herein described with reference to the accompanying drawings. DATED this 14 t h day of January 2003 TELEFONAKTIEBOLAGET L M ERICSSON (PUBL) WATERMARK PATENT TRADE MARK ATTORNEYS 290 BURWOOD ROAD HAWTHORN VICTORIA 3122 AUSTRALIA PNF/DCGCMM/res PNF/DCG/CMM/res *oooo *go o*ooo ego•* *ooo
AU38948/01A 1997-02-26 2001-04-27 Method and apparatus for remotely upgrading control software in a cellular telephone Ceased AU758367B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (3)

Application Number Priority Date Filing Date Title
US08/806659 1997-02-26
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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
AU3894801A AU3894801A (en) 2001-08-02
AU758367B2 true AU758367B2 (en) 2003-03-20

Family

ID=3750933

Family Applications (1)

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

Country Status (1)

Country Link
AU (1) AU758367B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0459344A1 (en) * 1990-05-30 1991-12-04 Alcatel Cit Software download device for a communication terminal
WO1996027270A1 (en) * 1995-03-02 1996-09-06 Ericsson Inc. Method and apparatus for remotely programming a cellular radiotelephone
AU1534597A (en) * 1996-01-29 1997-08-22 Nokia Mobile Phones Inc. Mobile terminal having network services activation through the use of point-to-point short message service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0459344A1 (en) * 1990-05-30 1991-12-04 Alcatel Cit Software download device for a communication terminal
WO1996027270A1 (en) * 1995-03-02 1996-09-06 Ericsson Inc. Method and apparatus for remotely programming a cellular radiotelephone
AU1534597A (en) * 1996-01-29 1997-08-22 Nokia Mobile Phones Inc. Mobile terminal having network services activation through the use of point-to-point short message service

Also Published As

Publication number Publication date
AU3894801A (en) 2001-08-02

Similar Documents

Publication Publication Date Title
US6023620A (en) Method for downloading control software to a cellular telephone
CN101729653B (en) The system and method for software upgrading downloaded in the air by Delta base for wireless mobile
EP1429569B1 (en) Mobile station and method for selectively downloading components of a software by comparing component specific version numbers
CA2217856C (en) Remote patching of operating code in a mobile unit
US6615038B1 (en) System and method for automatically creating and updating a mobile station configuration database in a wireless network
US5896566A (en) Method for indicating availability of updated software to portable wireless communication units
US5887254A (en) Methods 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
EP1698191B1 (en) Downloading and upgrading terminal software of a wireless device over the air
EP1015987B1 (en) Method and apparatus for synchronizing implementation of configuration information in a communication system
KR100834158B1 (en) Apparatus, and associated method, for providing an operation parameter to a mobile station of a radio communication station
CA2149959A1 (en) Mobile telephone device
JP2001078258A5 (en)
AU4895800A (en) Mobile communication system for updating a program stored in a mobile terminal
EP0825791A1 (en) Mobile telephone system
AU758367B2 (en) Method and apparatus for remotely upgrading control software in a cellular telephone
AU734670B2 (en) Method and apparatus for remotely upgrading control software in a cellular telephone
MXPA99007333A (en) Method and apparatus for remotely upgrading control software in a cellular telephone
GB2363946A (en) Remote updating of a program in a mobile communication unit
GB2410150A (en) Downloading software from one mobile device to another
HU229537B1 (en) Method for renewing program files of a programmable mobile telecommunications terminal
KR20020078410A (en) Software upgrade method for wireless local loop terminal
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)