`Umted States Patent
`
`[19]
`
`Beasley et al.
`
`USOOSG99275A
`
`[11] Patent Number:
`
`5,699,275
`
`[45] Date of Patent:
`
`Dec. 16, 1997
`
`[54] SYSTEM AND METHOD FOR REMOTE
`PA BIN
`F PERA'I'IN
`DE
`LETEIJGIE Aglonu ufilgo
`
`[75]
`
`Inventors: Dole E. Beasley. Flower Mound;
`mm (3. Randy, III, Dallas;
`Kenneth R. waster-Inge, Fort Worm, n11
`of Tug,
`
`[73] Assignee: Highwaymnster Communications,
`Inc. Dallas. Tex
`
`[21] App]. No; 422,015
`_
`[22]
`AP" 12’ 1995
`filed:
`Gm 13m
`[51]
`Int. Cl.6 ............
`
`....... 3641514 11
`[52] U.S. C1.
`
`.
`“600
`l
`[58] Field3gf5iem 200
`56" gfisgl‘tgg’fsgjafl 1'
`
`3311- 54-1
`
`[56]
`
`References Cited
`
`Re. 34,034
`3,513,674
`3.600.121
`3.34.650
`3, 57,290
`
`U.S. PARENT DOCUMENTS
`1511992 O‘Snlljvan .............................l 379159
`...... 3431112
`611910 Moorehud at al.
`
`
`711972 Andason et al.
`3431112 TC
`
`111973 Fnueretd
`44316-5 LC
`9119731 Ross et all. ......................... 340123
`(List continued ("1 ”an page.)
`
`FOREIGN PKI‘ENI‘ DOCUMENTS
`3767589
`211993 Australia .......................... 0015 5102
`0242099 1011951 European Put on.
`-_. GOIS 5114
`0290725
`11119811 European Put. on ........ 11041.) 7104
`0367935
`511990 European Pat 0E
`.._ H0412 7104
`333:} 15:33;
`$3 $2
`0175537
`7111933
`ma 7’26
`[1219235
`911983
`H048 ”1126
`33%? gig:
`_
`-
`-------
`H04]! 3::
`2221113
`111993
`'
`I. oms 5100
`
`W08904035
`511989 WIPO ..................
`GIOL 5106
`
`W08912835 1211989 WIPO m..................... 6015 51m
`
`
`
`:
`
`date
`
`OTHER PUBLICATIONS
`Brochm'e.
`'Ii'imbleNavigation.
`
`IMPACK”
`unknown. 1 page.
`Gary D. 011. “Vehicle Location in Cellular Mobile Radio
`Systems.” 1EEE, vol. VT—Zfi. No. 1. Feb.. 1977.131). 43-46.
`James C. Reynolds. et al.. “GE‘s-Based Vessel Position
`Monitoring and Display System.” BEBE. 1990. pp. 601—607.
`R. DeSadaba. “Personal Communications in the Intelligent
`Network." Brifish Teleconmunicatiom Engineerozg, vol. 9.
`Aug" 1990. pp. 80-83.
`"GPS NAVSTAR Global Positioning System User's Over-
`view—YEE—S2—009D." Naust‘ar Global Positioning system
`Joint Program Qfioe, Man. 1991. pp. 1—164.
`"US. Coast Guard Differential GPS” Brochure. US.
`“Pawn: OfTrMSPomfim United States Coast Guard-
`2:351:93; & F
`.. n
`h
`as D m r f
`igures
`rot: ore.
`.
`.
`spa
`n o
`meportatiou. United States Coast Guard. May. 1993.
`(List continued on next page.)
`
`Primary Emnfiner—Hassan Kizou
`Assistant EmmiMF—Kwang Bin Yao
`Attorney; Agent, or Him—Baku & Butts. L.L.P.
`[57]
`ABSTRACT
`
`A system (10) for remote meshing or updating of operating
`code located in a mobile unit (22. 24. 26. 23. or 30) is
`1"me The system (1.) includes: manager host (16) and
`a mobile Illllt (22-. 24. 26. 28. (I 3.). The manager IIOSI (16)
`is operable to initiate transmission through a communication
`network (12) of at least one discrete patch message defining
`at 1”“ “'13 Pam’- 11'“ m°bfl° “n“ (22‘ 2‘“- 26- 28- °T 3') is
`Owflblc '0 motive the at lust one Patch MBSESC- The
`mobile unit (22. 214. 26. 28. or 30) is also Operable to create
`patched operating m by musing thl: patch With mm
`opu'afing code located in the mobile unit (12. 24. 26. as. or
`30) and to SWIICh EXCCIJHOD to file patched 0mg COdC.
`The mobile unit (22. 24. 26. E. or 30) can also receive a:
`least one download message defining new wanting code to
`”1’1”" "1° ”"1““ “3mm: cm‘
`
`42 Claims. 5 DIP-Whig Sheets
`
`Eamon:
`
`CWMJCATION
`WK
`1.2
`
`SERVICES
`
`Petitioner Microsoft Corporation - Ex. 1001, p.1
`
`
`
`5,699,275
`Page 2
`
`US. PATENT DOCUMENTS
`
`34341112 R
`171974 Em .....
`
`3431112 R
`1171974 Dmbingeta
`971975 Cooperetal.
`.... 179141 A
`
`
`10.7197? Boys ........
`3439'112 PT
`471978 Hamming
`32516
`071970 JeIlimk .......
`-- 343513
`571979 Ashwoflh. It.
`.. 340(24
`1271979 Reagan
`.. 34371121?
`971980 Dunn .......
`... 343711212
`171904 Robinson 01 a].
`.. 3647436
`171984 We! at.
`.
`3647521
`311984 HoeIal.
`......
`... 3431389
`471904 703716101711.
`3437357
`
`1011985 Hint]: 01 I].
`343456
`....
`.. 3647452
`571986 R0305 et 01.
`
`211987 Zabamky at a].
`340325.44
`.......
`_.. 3427457
`371987 Gray :1. 91.
`
`.
`. 455733
`371907
`3411990
`471987
`671987
`.. 455133
`8111987
`. 379153
`1071907
`379760
`371900
`379759
`471938
`379750
`471900
`3427457
`571988
`3421457
`67'1988
`. 379758
`671988
`37571
`971988
`3647446
`1W1988
`. 3791159
`1071938
`. 37979]
`1171938
`36%
`12111988
`. M436
`1271980
`3647449
`171909
`3647449
`171939
`. 455754
`171989
`3647436
`2.71989
`.. 31052 F
`211989
`3421352
`471909
`.. 3647444
`511989
`. 3434389
`5,1939
`“ 379m
`
`
`
`3,709,409
`3.040.254
`3.906.166
`4,053,095
`4.003.003
`4,107,609
`4.152.693
`4.177.466
`4.222.052
`4.420.052
`4.423.057
`4,435,711
`4.445.110
`4,547,770
`4.590.569
`4,644,351
`4,651,157
`4,654,079
`4,660,037
`4,670,905
`4.600244
`4.700574
`4,734,920
`4,737,970
`4,740,792
`4.742.357
`4,750,197
`4,754,465
`4,774,670
`4,775,999
`4.776.003
`4.700.637
`4,791,571
`4.791572
`4,796,109
`4,797,940
`4,799,162
`4.004.937
`4.009.006
`4.019.174
`4,033,477
`4,033,701
`4,030,702
`4,043,575
`4,060,341
`71,866,732
`4,076,730
`4.004.200
`4,091,650
`4,091,761
`4,097,642
`4,901.340
`4.905.270
`4,907,290
`4,900,629
`4,912,756
`4.914.606
`4.945.570
`4.953.190
`4,960,065
`4,993.06:
`4,990,291
`5,005,317
`5,000,014
`5,014,206
`5,019,963
`5,025,253
`5,032,045
`5,043,736
`
`911991
`5945-351
`97'] 991
`5,046,062
`1071991
`5.055.351
`1071991
`5,053,201
`1171991
`5.068.656
`2711992
`5,0”,050
`371992
`5.101.500
`671992
`5,119,102
`671992
`5,121,126
`671992
`5,121,325
`7’1992
`5,131,019
`771992
`5,131,020
`371992
`5442231
`8111992
`51424554
`5355490 1071992
`5,155.84?
`10111992
`5359525 1071992
`$155,594 1171992
`5.172.321
`1271992
`5,200,756
`571993
`5,223,844 @1993
`5.225.342
`711993
`5,235,633
`811993
`5,237,612
`071993
`5.243529
`971993
`5,247,564
`97‘1993
`5,252,902 1071993
`5,261,118
`1171998
`5,270,936 1211993
`$276,729
`[£1994
`5,293,163
`37'1994
`5297.191
`311994
`5,297,192
`371994
`5,299,132
`311994
`5,311,194
`571994
`5,323,322
`671994
`5,365,516 1171994
`5,371,692 1271994
`5,392,450
`271995
`5,396,540
`371995
`5,430,877
`711995
`5,495,610
`271996
`OTHER PUBLICATIONS
`
`
`
`3113:;
`D. H. M0119. J. M. Butler. and J. T. Radicc. "hnplcmcntation
`321.7%
`8.71989
`of the US. Coast Guntd’s Dilferenthl GPS Navigation
`‘ 319,91
`911989
`37m Sauce.“ (LS. Coast Gun-d Headqmmrs, Qpice of New-
`1071989
`.. 45533
`gmicm Safety and “121975177731 Services, Radimavigmion Divi-
`1171989
`3647460
`51071. Jun. 23. 1993. pp. 1—10.
`171990
`.... 342745?
`‘Motumla GPS 'I‘edmical Rama: ManuaL" Motorola.
`171990
`,. 36-17452
`001.. 1993. Manual Comm". Title Page. and pp. 4409.
`111990
`340625.06
`Don Burris. "CDPD—ABandwidlh Optimization. Technique
`711990
`- -- 319760
`f0! Cellular Tblcphones." Computer Design '5 OEM Integra-
`21990
`319158
`-
`3171990
`45556
`Ira-,1. May. 1994.171). 19—20.
`31990
`"3474,45?
`“11.8. Coast Guard Bulldin Board System File ‘52?-
`371990
`319760
`DGPS." U.S. Coast Gmrd D1111: Unknown. pp. 1—6.
`4,19%
`_ 379761
`GCIIC I... Schlechte.
`I—CDR. “U.S. C0831 GWd 81111011211
`..
`.
`771990
`3817110
`Board System Document 'DESIGN.‘I'XI"—Design Process
`......
`8.11990 Duly e: a].
`..... 379161
`far the Unilcd States Coast Guard's Dilferemial GPS Navi-
`101'1990 Ichikmelll-
`W995
`galion Service.“ 11.5. Coast Gaunt U.S. Coast Guard
`2.1199] D0710 e1 :1.
`..
`. 379735
`Omega Navigation System Cane: Date Unknown. pp. 1—21.
`3:31 Min“ 01:
`-3:3fgg
`"AppcndixB. The 1991maionaviglfion User Conference.”
`471991 m -
`36477100
`Depanmem of Mwmfim Date Unknown. pp. 1—2.
`
`571991 smuggd‘ _
`I'I' 364.7449
`Kirk Ladenm. “First in Flight—Using State-0141104111
`a .1
`__‘ 3647200
`5,199] All
`100111101033. Ausnn—BasedAn-owsrmm 10011110103105 Estab—
`
`671991 13110110 01 al.
`3032595
`1101105 115011715 A M0301 Player 111 NascentTochnology$up
`771991 Yduco ..... ..
`342745?
`plicr Marker. Austin Amrica—S'tatesmafl, Jan. 30. 1995. 3
`pages.
`8.11991 Darnell e101.
`.._
`.. 3427357
`
`
`
`Petitioner Microsoft Corporation - Ex. 1001, p.2
`
`
`
`US. Patent
`
`Dec. 16, 1997
`
`Sheet 1 of 5
`
`5,699,275
`
`{‘0
`1
`FIG.
`15
`
`
` CLIENT
`HOST
`
`
`18
`
`
`COMMUNICATION
`
` NETWORK
`
`MOBILE
`1_2
`
`
`
`UN"
`ENHANCED
`
`SERVICES
`
`COMPLEX
`14
`
`MOBILE
`
`
` MOBILE
`
`
`MOBILE
`
`UNIT MOBILE
`
`26
`
`T0
`COMMUNICATION
`NETWORK
`
`40
`
`FIG. 2
`
`1
`/
`
` MODEM OR
`
`DTMF
`
`
`
`Petitioner Microsoft Corporation - EX. 1001, p.3
`
`
`
`US. Patent
`
`Dec. 16, 1997
`
`Sheet 2 of 5
`
`5,699,275
`
`
`
`Petitioner Microsoft Corporation - Ex. 1001, p.4
`
`
`
`US. Patent
`
`Dec. 16, 1997
`
`Sheet 3 of 5
`
`5,699,275
`
`0%5E;87:Esram355%a3%a.5935as38..525“EEmama...
`
`9.8g38g.”2:398“”.mg:55342.8
`
`55
`
`5.3
`
`wasEr;
`
`wasa$252
`
`mg555ho
`
`”GEMSci:5::85E8:69..mmamaze:92:5?2MESS.ESE
`
`ES5GE5ea:a:saw:
`55same.532%
`
`:2ng=2:52..wasas25%
`
`fig8:Es;95aasea:Egm:
`
`6%:aEda
`
`MEEggs;
`
`“9%:Es:$55
`
`a3...a:“TEE
`
`mg5gm:
`
`a:342:8
`
`52mga$2.32ag02.5%2£3953..E52E2555gm.3:5:“.a:
`isa:mg5Eggmg5Esc:534%Egg5353s328.mm$53a228.,aa:E53:
`
`32658..a
`
`%:
`
`v.65%
`
`
`
`352“.gm.3%:
`
`:35EEnema
`
`fig3as.F.”33..
`
`Petitioner Microsoft Corporation - EX. 1001, p.5
`
`
`
`
`
`
`
`
`US. Patent
`
`Dec. 16, 1997
`
`Sheet 4 of 5
`
`5,699,275
`
`FIG. 5
`
`START
`
`RECEIVE iNITlAL
`PATCH MESSAGE
`
`COMPARE 50mm
`VERSION
`
`104
`
`100
`
`102
`
`
`
`
` IS
`
`PATCH MESSAGE
`VALID
`
`?
`110 YES
`
`RECEIVE PATCH
`MESSAGE
`
`DOES
`VERSION
`MATCH
`a
`
`STORE PATCH
`INFORMATION
`
`114
`
`
`
`112
`
`ARE THERE
`ADDITIONAL PATCH
`MESSE’AGES
`NO
`
`
`
`
`
`CREATE PATCHED
`OPERATING CODE
`
`VEREFY PATCHED
`OPERATING CODE
`
`120
`
`105
`
`TRANSMIT ERROR
`MESSAGE
`
`IS
`NO
`PATCHED OPERATING
`CODE VALID
`
`9
`
`RESET AND RESTART WITH
`PATCHED OPERATING CODE
`
`
`'
`
`116
`
`118
`
`122
`
`Petitioner Microsoft Corporation - EX. 1001, p.6
`
`
`
`US. Patent
`
`Dec. 16, 1997
`
`Sheet 5 of 5
`
`5,699,275
`
` PREPARE SECOND
`
`
`FLASH BANK
`
`FIG. 6
`
`IS
`
`
`NEXT MEMORY
`
`ADDRESS IN FIRST
`
`FLASH BANK TO BE
`NOD’I’FIED
`
`134
`
`MERGE PATCH AND
` COPY BYTE OF CODE AT
`
`
`MEMORY ADDRESS INTO
`STORE IN SECOND
`
`FLASH BANK
`SECOND FLASH BANK
`
`
` IS
`
`PATCHINB
`
`
` COMP’LETE
`
`
`
`
`150
`
`FIG. 7
`
`COPY INTO RAM THE
`
`CODE NEEDED TO SWTICH
`
`
`EXECUTION TO SECOND
`FLASH BANK
`
`
`
`
`
`EXECUTE SYSTEM RESET
`FROM RAM TO RESTART
`SWITCHING EXECUTION
`TO SECOND FLASH BANK
`
`152
`
`
` IS
`EXECUTE SYSTEM
`POWER—UP
`NO
`RESET mom RAM T0
`
`
`CHECKSUM
`RESET USING FIRST
`
`
`
`VALID - FLASH BANK
`.
`
`
`
`Petitioner Microsoft Corporation - EX. 1001, p.7
`
`
`
`5 4599.275
`
`1
`SYSTEM AND METHOD FOR REMOTE
`PA'I‘CHING OF OPERATING CODE
`IDCATED INA MOBILE UNIT
`
`TECHNICAL FIELD OF THE INVENTION
`
`This invention relates in general to the field of electronic
`systems. and more particularly to a system and method for
`remote patching of operating code locawd in a mobile unit.
`BACKGROUND OF THE INVENTION
`
`Software suppliers and other sellers of computer systems
`often have a need for cmcting (I upgrading existing
`software used by their customers. Common methods of
`doing so include the distribution of floppy disks and tapes
`and the provision of modem snpprxt. However. the distri-
`bution of floppy disks and tapes is time consuming and
`forces the customer to use the old software while waiting for
`updates. Modem support can be used to Link directly to the
`consumer‘s remote computer system and manually upgrade
`the software. However. such manual upgrade is time
`consuming. expensive and prone to human tarot.
`Additionally. a central computer system has been used to
`provide access to softwme updates from systems at filled
`remote locations. One such system is disclosed in US. Pat.
`No. 5.155.847 entitled “Medmd mtdAppammrfar Updating
`Sofiimre a: Remote [mad-0M. ”
`U.S. Pat. No. 5.155.847 discloses a central computa-
`system that can monitor and record (images to versions or
`software. A user having a fixed remote system operating an
`old version of software may access the central computa
`system. If changes are applicable to the software used by the
`remote system. the central computer system can provide
`patches to the remote system for updating the sofiware.
`However. the system disclosedby US. Pat. No. 5.155.847
`discloses remote systems at fixed locations that access a
`central computer system over an on-line communication link
`that allows interactive and bidirectional communication.
`The remote systems participate in a single, continuous
`communication session that is terminated after the remote
`user receives the appropriate patches.
`SUMIMARY OF THE INVENTION
`
`In accordance with the present invention. disadvantages
`and problem associated with [riot systems and methods for
`updating software have been substantially redumd or elimi-
`nated. One aspect of the present invention provides remote
`patching of operating code located in a mobile unit.
`According to an embodiment of the present invention. a
`systemfor remotepatcbing ofoperatingcodc locatodina
`mobile unit is Fovided. The system includes a manager host
`and a mobile unit. The manager host is qeerable to initiate
`msmission through a communication network of at least
`one discrete patch message defining at least one patch. The
`mobile unit is operable to receive the at least one patch
`message. The mobile unit is also operable to create patched
`operating oodebymergingtheatleast onepatdiwithanrent
`operating code located in the mobile unit and to switch
`execution to the patched operating code.
`According to another embodiment of the present
`invention. a method fr: remote patching of operating code
`located in a mobile unit is provided. Al. least one discrete
`patch message defining at least one patch is transmitted
`through a communication network. The at least one patch
`message is received in a first mobile unit where the first
`
`10
`
`[5
`
`2
`mobile unit is executing current operating code located in
`the mobile unit. Patched operating code is created in the
`mobile unit by merging the at least one patdr with the
`current operating code. Exewticn in the mobile unit is
`switched to the patched operating code.
`A technical advantage of the present invention is allowing
`remote patching of operating code located in a mobile unit
`will-rout physically touching the mobile unit or establishing
`a bidirectional and interactive communication link. The
`patching of code may be to for software bugs. add new
`functionality, or completely rqelace the existing version of
`code with a new version
`An additional technical advantage of the present invention
`is the provision of mobile units operable to lnia-pret patch
`messages and create parched operating code therefrom with-
`out ail'cctiug the normal functions performed by the mobile
`unit.
`According to anolher technical advantage of the pram!
`invention. patches are broadcast to a number of mobile units
`from a central location. The central location operates to keep
`track of the location of each mobile unit and how to deliva
`patch messages. The mntral location can also tailor the
`Handouts of patches to different mobile units.
`According to an additional technical advantage of the
`present invention. patches are sent as several theorem patch
`messages to a mobile unit. recqrtion of the discrete patch
`messages is verified by the mobile unit. and patch inftnma-
`tion is combined by the mobile unit to theatre a complete
`patch file used to patch current operating code. The patches
`can be sent in a single or multiple communication sessions.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`35
`
`45
`
`Fa a more complete understanding of the present inven-
`tion and for ftn'lher fortunes and advantages. reference is
`now made to the following description taken in conjunction
`with the accompanying drawings. wherein like reference
`numerals represent like parts. in which:
`FIG. 1 illustrates one embodiment of a system for remote
`patchingofoptratingcode locatedinamcbile unit:
`FIG. 2 is a sdtematic representation of one embodiment
`of a manager host;
`FIG. 3 is a schematic rqx'esentation of one embodiment
`of a mobile unit;
`FIG. 4 illustrates one embodiment or mwsagc fcrrnats for
`patch messages used to represent a patch file;
`FIG. 5 is a flow chart showing one embodiment of a
`method of operation of a mobile unit fa- remote patching of
`opts-sting code located in the mobile unit;
`FIG. 6 is a flow chart showing one embodiment of a
`method of creating patched operating code in a awhile unit;
`and
`
`55
`
`FIG. 1 is a flow chart showing one embodiment of a
`method of resetting and restarting with patdied operating
`code.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`FIG. 1 illustrates one embodiment of a system. indicated
`generally at 1.. for remote patching of operating code
`located in a mobile unit. System 10 comprises a communi-
`cation network 12 that includes an enhanced services com—
`plex 14.
`Communication network 12 may include one or a com-
`bination of several communication technologies, such as a
`
`Petitioner Microsoft Corporation - EX. 1001, p.8
`
`
`
`5.699.275
`
`3
`wireless communication network like the cellular telephone
`network. a land—line communication network. anodrer por—
`tion of the public switched telephone netwm'k (PSTN). a
`dedicated communication link. or any other appropriate
`communication link. Communication network 12 can sup—
`port data transmissions or data and voice transmissions
`simultaneously. The type of communication link utilized in
`communication nawa-k 12 may vary between components
`of system 10. as described below.
`A manager host 16 is coupled to enhanced savioes
`complex 14 using communication network 12. A first client
`host 18 and a second client host 20 also are coupled to
`enhanced services complex 14 in a similar manner as
`manager host 16. Manager host 16. first client host 13. and
`second client host 20 can be separme from or integral to
`enhanced services complex 14.
`A first mobile unit 22 and a second mobile unit 24 are
`associated with first client host 18 and are cmpled to
`enhanced services complex 14 using communication net-
`work 12. Similarly. a third mobile unit 26. a fourth mobile
`unit 28 and a fifth mobile unit 3|! are associated with second
`client host 20 and are coupled to communication network
`12. In the preferred embodiment. the communication link at
`the communication network 12 that couples mobile units 22.
`24. 26. 28. and 30 with the enhanced services complex 14 is
`a wireless or mobile communication netwmk. such as a
`cellular telephone network.
`In the embodiment of FIG. 1. manager host 16 provides
`support to client host 18 and client host 20 with respect to
`processing of information messages exchanged between
`enhanced su'vices complex 14 and associated mobile units
`22. 24. 26. 28 and 30 via communication network 12. For
`example. client host 18 and client host 20 can receive status
`information from and provide dispatching information to
`mobile units 22 and 24 and mobile units 26. 28 and 30.
`respectively. Manager host 16 provides support for systems
`operating in both client hosts 18 and 2. and mobile units 22.
`24. 26. 28 and 3-0.
`At
`times. manager host 16 might desire to enhance.
`correct crreplace eta-rent operating code located in one or
`moreofthcmobfleunits.Apatdtfilecanheereated that
`defines one or more patches that need to be made to provide
`enhancements or corrections to the onrent operating code.
`In addition to the patch orpatches. the patch file can provide
`a new version number and a new checksum for the resulting
`patched operating code. The version number can provide
`information such as the phase. release. revision and modi-
`fications made. Further-mire. as desm'bed below. the mes-
`sages mu also define a completely new version of the
`software that is to replace the current version running at the
`mobile units. Therefore. the description of the components
`and operation of sending patdr messages to mobile units
`applies equally to the transmission of download messages
`that combine to form new operating code to replace the
`current operating code.
`According to the teadtings of the present invention the
`patchfilemnbenepresentedbyasetofdiscretepatch
`meager. Each patch message can be sized as a discrete
`data payload suitable for transmission in a message through
`communication netwrn'k 12. Mating: host 16 can transmit
`the discrete patch messages to appropriate mobile units.
`when a mobile unit receives the patch messages. the mobile
`unit can va'ify the patdl messages. merge the defined
`patches with the current operating code. and switdr execu-
`tion to the patched operating code. In orda- to receive a
`complete patch file. each mobile unit receives all of die
`
`10
`
`IS
`
`35
`
`45
`
`55
`
`65
`
`4
`patch mesaagcs in the set representing the patch file. The
`transmission of discrete patch messages does not require a
`dedicated tn interactive communication link. and can be
`performedin several communication sessions. For example.
`due to the inherent limitations of wireless communication.
`the cornnmnicetion link to the mobile unit may be lost.
`System i. can then reestablish the communication link and
`continue transmission of the ctr-rent patch message.
`In this manna. operating code located in a mobile unit
`may be maintained and updated without the need for man-
`ager host 16 physially to contact the mobile unit. In
`addition. manager host 16 can provide varying levels of
`enhancements to mobile units associated with ditfaent
`client hosts and remotely maintain the operating code asso—
`ciated with each level of enhancement. This can be accom-
`plished by addressing patch messages to the appropriate
`mobile units. For example. mobile units 22 and 24 associ-
`ated with client host 18 can have a dilfrrent version of
`operating code than mobile units 26. 28 and 30 associated
`with client host 2..
`
`Manager host 16 can transmit discrete patdr messages.
`according to the teachings of the present invention. in order
`to overcome limitations inherent in communication network
`12. The communication link to the mobile units in commu-
`nication network 12 can comprise any wireless or mobile
`communication system using land-based or space-based
`tr-ansmitters. receivers. or n-ansceivas. such as a cellular
`telephone network. a personal communication system
`(PCS). a spedalized mobile radio (SMR). an cabana-Al
`specialized mobile radio (ESMZR). citizen‘s band (CB). a
`paging network. a satellite-based communication network.
`or any other communication system supporting transmission
`of data to the mobile units.
`Due to the nature of wireless communication. Inn-amis-
`sion of large amounts of data over communication nerwrrk
`12 can be expensive. error prone. and risky. For example.
`wireless communications may not be appropriate for an
`on-line session that requires bidirectional and interactive
`communications over an extended period oftime. Further. in
`such a system a mobile unit might be required to limit
`normal operation until the transmission of data was com-
`plcte. Normal communication of messages between a client
`host and an associated mobile unit would be disrupted and
`themobflnyofthemobileunflwouldbewsnicmm
`example. if an on—Jine commnication link over a cellular
`network were used. a mobile unit would be forced to stop at
`the edge of network coverage in order to maintain the
`communication link. The present invention overcomes these
`limitations of Wireless communication by broadcasting short
`messages over one or several separate communication ses-
`sions that do not require interactive or substantial bidirec-
`tional communication. Furthermore. the present invention
`can resume tl'ansmissions when the communication link is
`lost without sacrificing a significant
`loss of previously
`transmitted data.
`Eachmobfleunlt22.24.26.2fl.and30ean beassociated
`with a vehicle. person. or othu' mobile entity. End] mobile
`unit 22. 24. 26. 28. and 30 operates by executing the ctnzrent
`operating code located in the mobile unit. The mobile units
`22. 24. 26. 28. and 30 may perform various communicating.
`locating. and leer management functions as desrn-ibed in
`US. Pat. No. 5.155.689 entitled “Vehicle Locating and
`Commit-Ming Method and Apparatus".
`In operation. manager host 16 can accomplish remote
`patching of operating code located in mobile units 20. 22.
`24. 26. 28 and 30 by transmitting a set of discrete patch
`
`Petitioner Microsoft Corporation - EX. 1001, p.9
`
`
`
`5,699,275
`
`5
`messages through communication network 12. The discrete
`patch messages collectively represent a patch file defining at
`least one patch to be made to men! operating code located
`in one or more of mobile units 20. 22. 2d. 26. 23 and 30.
`Each mobile unit 2.. 22. M. 26. 28 and 30 is operable to
`receive the patch messages transmitted by manager host 16.
`Bachmobfieunit29.22.24.26.26and30canereate
`patched operating code by merging the defined patch or
`patches with the current operating code and can switch
`exewtion to the patched operating code. The discrete patch
`messages can comprise packets that can be transmitted
`before or after voice communication. during dead time of
`conversation or other suitable time period for committing
`packet sized data.
`Manager host 16 can address patch messages to mobile
`units as appropriate for the patch file being transmitted
`Managerhost 16 can address apatch message to one ofthe
`mobileunits.toallofthemnbileunits.ortoagroupof
`mobile units. Apatch message addressed to all of the mobile
`units can be referred to as a broadcast message. A patch
`message addressed to a group can correspond to mobile
`units associated with client host 18 or client host 20. Fa“
`example. manager host 16 can address a patch message such
`thatitwillheunnsnuttedtoboflr mobileunitZZaudmobile
`unit 24 associated with client host 18.
`In the embodiment of FIG. 1. enhanced services complex
`14 of communication network 12 opu‘ates to handle all
`messages transmitted between manager host 16. client host
`1%. client host 26 and mobile units 22. 24. 246. 28. and 30. In
`particular. enhanwd services complex 14 maintains infor-
`mation to establish communication with mobile units 22. 24.
`26. 28. and 30 using communication network 12. Fnhanmd
`services complex 14 then ensures that message data is
`delivered with integrity. Part of the operation of enhanced
`mitts complex 14 is to handle patch messages transmitted
`by manager host 16 to mobile units 22. 24. 26. 23. and 3‘.
`Enhanced services complex 14 recognizes whetba a patch
`message is addressed to one mobile unit. a group of mobile
`units orall mobile units. establishes oounuunication with the
`appropriate mobile units. and transmits the disuete patch
`message. application Ser. No. 08/095,166 entitled “Mdltod
`and Apparatus for a Nation-wide Cellular Telephone Net-
`work" describes in detail the components and functionality
`of enhanwd services complex 14. and is herein inotxporaled
`by reference. Enhanced services complex 14 and manager
`host 16 can be separate components in system 10. or
`integrated into a single platform as described in application
`Ser. No. 081095.166.
`Ateehniml ndvanlage of the present invention is allowing
`remote patching of operating code located in a mobile unit
`Without physically touching the mobile unit or establishing
`an cn-line communication link. An additional technical
`advantage of the present invention is the provision of mobile
`units operable to interpret patch messages and create
`patched operating code disreft‘om without affecting the
`normal functions performed by the mobile unit. According
`to another technical advantage of the present invention. a
`mobile unit can provide feedback regarding the current
`version of operating code located in the mobile unit and (an
`provide verification of completion of patches to the unreal
`operating code.
`FIG. 2 is a schematic representation of one embodiment
`of a manager host 16. Manager host 16 communicates with
`mobile units using link 40 to communication network 12
`Linkflmaybeoneoracombinalion of dedicatedcr
`switched telephone lines in the mobile or land-line public
`switched telephone network (PSI'N). or other land-based
`
`10
`
`15
`
`35
`
`d5
`
`55
`
`65
`
`6
`communication links. satellite—based communication links.
`or any other suitable communication link that allows man—
`age: host 16 to transmit messages to or receive messages
`from communication network 12.
`A message received from a mobile unit enters manager
`host 16 through a modem. DTMF ooderldeooda'. or other
`data encoder 42 and passes to central controller 44.
`Conversely. a message transmitted to a mobile unit passes
`from central controller 44 through coderfdecoder 42 to
`communication netvvork 12.
`Memory 46 and inputloutput device 48 are coupled to
`cents-ad controller 44. Conn-a1 controller 44 receives and
`processes messages from mobile units. Central controller 44
`also transmits messages to mobile units including patch
`messages addressed to appropriate mobile units. Memory 46
`may be Rm. ROM. CD-ROM. removable memory
`devices. or any other device that allows storage and retrieval
`of dam. Inputfoutput device 48 includes any variety of
`output devices. such as a display. a speaker to provide
`audible infamatiou. removable storage media. (1’ any other
`appopriate output device. lnput’output device 48 may also
`include a variety of input devices. such as a keyboard.
`mouse. touchscreen. removable storage media. or any other
`appropriate input device.
`FIG. 3 is a schematic representation of one embodiment
`of a mobile unit. indicated generally at 50. Mobile units 22.
`24.26.28.and380fF1G. 1 maybe construetedinasimilar
`manner as mobile unit 56 of FIG. 3. Mobile unit 5.
`comprises a mobile communications device 52 including an
`antenna 54 curpled to a transceiver 56. A handset 58 is also
`cotrpled to transceiver 56. Transceiver 56 is coupled to bus
`drivers 60 which in turn are coupled to a modern. UI‘MF
`coderldecoder. or other data encoder 62. Coden’deooder 62
`is coupled to processor 64. Transceiver 56 is also coupled to
`processor 64 over link 65.
`Processorfliscoupledtoafirstfiash bankfiandtoa
`second flash bank 68 and to a RAM 70. First flash bank 66.
`second flash bank 68. and RAM 7. may be RAM. ROM.
`CD-ROM. removable memory devices. tr any other device
`that allows strange and retrieval of data. Furthermore. first
`flash bank“. secondflash bank68. and RAMTO may be
`separate devices {rpurtions ofone ormuredevicm.A_n
`input device 72 and an output device '74 are also coupled to
`processtn' 64.
`In operation. mobile communications device 52 receives
`and transmits messages over comnmnication network 12.
`The messages received by transceiver 56 are passed to
`processor 64 either over link 65 or over other appropriate
`path such as bus drivu's “and codeddecoder 62.Processor
`64 manages the operation of mobile unit 5.. Handset 58
`provides additional voice or data communication. First flash
`bank 66 and second flash bank 68 are operable to store
`operating code for execution by processor 64. and RAM ’70
`is operable to provide processor 64 with memory work
`space.
`In operation. processor 64 exemtes current operating
`code cutoffirst flash bankfiorsecondilash banktili.
`Processtn' 64 performs functions according to the attract
`operating code. When processor 64 receives one or more
`patch messages representing a complete patch file. processor
`64 analyzes the patch messages to determine whether pro
`cessordd should initiate apateh process. prrocessor 641‘s
`ethically executing an appropriate version of operating code
`suitable toreceive the defined patch crpatches. ra'ooesscr 64
`initiates the patch process to inmlement the paid: or patches
`defined by the paid: messages.
`
`Petitioner Microsoft Corporation - EX. 1001, p.10
`
`
`
`5.699.275
`
`7
`Processor 64 stores patch infmnafion defined by the
`patch messages in RAM 70. If processor 64 is executing out
`of first flash bank 66. processor 64 creates patched opu'ating
`code in second fiash bank 68 by merging the patch infor-
`mation with the current operating code. Afto- the patched
`operating code is created. processor 64 sets a flag indicating
`that further execution should occtn' out of second flash bank
`68. Processes do then initiates a reset so that mobile unit 50
`restarts with processor 64 executing the patched opu‘ating
`code located in second flash bank 63. An analogous switch
`from second flash ban]: 68 to first flash bank“ can occur
`when the current operating code is located in second flash
`mm. Inthis manner. mobile unit 50 can enhance. contact.
`or replace the ctment operating code based upon discrete
`patch or download messages transmitted over communica-
`tion network 12.
`
`The components of mobile unit SI shown in FIG. 3 may
`be packaged into one or more housings. Mobile unit 5|! may
`be mounted to a vehicle or associated with other movable
`objects. Mobile unit 50 may also be packaged as a portable.
`hand-held device that provides personal functions. For
`example. a portable. hand-held mobile unit 5. may be used
`by surveyors. rescue teams. individuals that may change
`forms of transportation. or any odrer application requiring
`portability of mobile unit 50.
`FIG. 4 illustrates one embodiment of message fen-mats for
`transmission over communication nemork 12. to mobile
`units. The first three message types relate to patch messages
`for incorporating patches of code into existing code on the
`mobile units. The last three messages relate to direct pro
`gram download messages for replacing the current code in
`the mobile unit with a new version of code. All message
`formats shown in FIG. 4 are insured in a general message
`format. that begins with a start. message type, length. and
`identifier field and ends with a checksum and end field.