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

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket