`Beasley et al.
`
`54 SYSTEMAND METHOD FOR REMOTE
`PATCHING OF OPERATING CODE
`LOCATED IN A MOBILE UNIT
`
`75 Inventors: Dale E. Beasley, Flower Mound;
`William C. Kennedy, III, Dallas;
`Kenneth R. Westerlage, Fort Worth, all
`of Tex.
`
`73) Assignee: Highwaymaster Communications,
`Inc., Dallas, Tex.
`
`(21) Appl. No.: 422,075
`22 Filed:
`Apr. 12, 1995
`(51) Int. Cl. ........................... G06F 1300
`52 U.S. Cl. .................................... 364,514 R
`58 Field of Search ........................ 364/514 R 395/600,
`395/700, 200.09; 379/56, 58, 59,95; 455/31.1,
`33.1, 54.1
`
`56
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`Re, 34,034 8/1992 O'Sullivan ................................ 379/59
`3,518,674
`6/1970 Moorehead et al. ..
`... 343/12
`3,680,121
`7/1972 Anderson et al. ....
`34.3/112 TC
`3,714,650
`1/1973 Fuller et al. ..........
`343/65 LC
`3,757.290 9/1973 Ross et al. ................................ 340/23
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`3767.589 2/1993 Australia .......................... GOSS/O2
`O242099 10/1987
`As a
`O29O725 11f1988
`0367935 5/1990
`3516357 11/1986 Germany
`O161941
`9/1984 Japan ...
`O175537 7/1988 Japan .
`0219238 9/1988 Japan.
`0226226 9/1989 Japan ...............
`2193861 2/1988 United Kingdom.
`2221113
`1/1993 United Kingdom.
`WO8904O3S 5/1989 WTPO
`WO8912835 12/1989 WPO
`
`H04Q 7/04
`HO4B 726
`HO4B 7126
`... HO4B 7/26
`... H04B 7/26
`... HO4B 7/26
`... H04Q 7/04
`... GOSSAOO
`. GOL 506
`. GOS 5/02
`
`USOO5699275A
`Patent Number:
`Date of Patent:
`
`11
`45
`
`5,699,275
`Dec. 16, 1997
`
`date
`
`OTHER PUBLICATIONS
`TrimbleNavigation,
`Brochure,
`“TRIMPACK
`unknown, 1 page.
`Gary D. Ott, "Vehicle Location in Cellular Mobile Radio
`Systems," IEEE, vol. VT-26, No. 1, Feb., 1977, pp. 43-46.
`James C. Reynolds, et al., “GPS-Based Vessel Position
`Monitoring and Display System," IEEE, 1990, pp. 601-607.
`R. DeSadaba, "Personal Communications in the Intelligent
`Network." British Telecommunications Engineering, vol. 9,
`Aug., 1990, pp. 80-83.
`“GPS NAVSTAR Global Positioning System User's Over
`view-YEE-82-009D." Navstar Global Positioning System
`Joint Program Office, Mar, 1991, pp. 1-164.
`'U.S. Coast Guard Differential GPS' Brochure, U.S.
`Department of Transportation, United States Coast Guard,
`May, 1993.
`“GPS Facts & Figures" Brochure, U.S. Department of
`Transportation, United States Coast Guard, May, 1993.
`(List continued on next page.)
`Primary Examiner-Hassan Kizou
`Assistant Examiner-Kwang Bin Yao
`Attorney, Agent, or Firm-Baker & Botts, L.L.P.
`57
`ABSTRACT
`A system (10) for remote patching or updating of operating
`code located in a mobile unit (22, 24, 26, 28, or 30) is
`provided. The system (10) includes a manager host (16) and
`a mobile unit (22, 24, 26, 28, or 30). The manager host (16)
`is operable to initiate transmission through a communication
`network (12) of at least one discrete patch message defining
`at least one patch. The mobile unit (22, 24, 26, 28, or 30) is
`operable to receive the at least one patch message. The
`mobile unit (22, 24, 26, 28, or 30) is also operable to create
`patched operating code by merging the patch with current
`operating code located in the mobile unit (22, 24, 26, 28, or
`30) and to switch execution to the patched operating code.
`The mobile unit (22, 24, 26, 28, or 30) can also receive at
`least one download message defining new operating code to
`replace the current operating code.
`
`42 Claims, 5 Drawing Sheets
`
`16
`
`
`
`
`
`
`
`
`
`8
`
`CLIEN
`HOS
`(A)
`
`CENT
`HOST
`
`20
`
`COMUNICATION
`NETWORK
`12
`
`
`
`ENHANCED
`SERVICES
`COP
`
`14
`
`GOOGLE EXHIBIT 1001
`
`Page 1 of 17
`
`
`
`5,699,275
`Page 2
`
`U.S. PATENT DOCUMENTS
`l/1974 Easton ................................. 343/12 R
`11/1974 Drebinger et al. .
`... 343/12 R.
`9/1975 Cooper et al. .
`... 1794. A
`10/1977 Boyer ...
`34.3/112 PT
`4/1978 Haemming .
`....... 325/6
`8/1978 Jelinek ..........
`34.3/23
`5/1979 Ashworth, Jr. ............................ 340/24
`12/1979 Reagan .......
`34.3/112 TC
`9/1980 Dunn ..............
`... 34372 R.
`f1984 Robinson et al.
`... 364/436
`/1984 Setifet al. ...
`... 364,521
`3/1984 Ho et al. ........
`343,389
`4/1984 Taylor et al. ..
`... 343/357
`10/1985 Hinkle et al. ...
`... 343/456
`5/1986 Rogoff et al. ........................... 364,452
`2/1987 Zabarsky et al.
`340,825.44
`3/1987 Gray et al. .........
`... 342/.457
`3/1987 Goldman et al.
`45S/33
`4/1987 Nakamura ......
`34O990
`6/1987 Sandvos et al.
`... 455/33
`8/1987 Hannon et al.
`37958
`10/1987 Bini................
`... 379/60
`3/1988 Weiner et al. .
`... 379/59
`4/1988 Burke et al. ...
`... 379/60
`4/1988 Sagey et al.
`... 34.2457
`5/1988 Rackley .............
`... 342/.457
`6/1988 Denekamp et al.
`... 379/58
`6/1988 Trimble ..............
`37.5/
`9/1988 Palmieri ...
`364446
`10/1988 Wiams .
`... 379/59
`10/1988 Harris ...
`379/91
`1/1988 Tamaru ...
`364,200
`12/1988 Takahashi et all
`... 364/436
`12/1988 Green, III et al.
`... 364/449
`1/1989 Nakayama et al
`... 364/449
`1/1989 Million et al. ..
`455/54
`1/1989 Shinkawa et al. .
`... 364,436
`2/1989 Barbiaux et al. ..
`34/S2F
`2/1989 Counselman, III
`... 342,352
`4/1989 Furuno et al. ...
`... 364/444
`5/1989 Tender .........
`342/389
`5/1989 Comroe et al. .
`... 37960
`5/1989 Shitara et al. .
`... 379/60
`6/1989 Crane .............
`... 364,550
`8/1989 D'Aveto et al.
`... 379/91
`9/1989 Pintar ......
`... 379/200
`10/1989 Selby .........
`... 45S/33
`11/1989 Marine et al. .
`... 364/460
`1/1990 Sheffer ........
`... 34.245
`1/1990 Gray et al. .............................. 364452
`11990 DiLo et al. .
`340/325.06
`2f1990
`... 37960
`2f1990
`379/58
`3/1990
`455A56
`3/1990
`... 34.2457
`3/1990
`... 379/60
`4.1990
`379/6
`7/1990
`... 381A10
`8/1990
`... 379,51
`10/1990 Ichikawa et al.
`340/995
`2/1991 Dula et al. ......
`... 379/88
`3/1991 Marti et al.
`... 455.89
`3/1991 Gray et al. ..
`342/.457
`4/1991 Mathur ........
`... 3642OO
`5/1991 Scribner et al.
`... 364/449
`5/1991 Alderson et al. ...
`... 364/200
`6/1991 DLulo et al. .
`340,825.06
`7/1991 Velasco ................................... 342/.457
`8/1991 Danell et al. .......................... 342.357
`
`
`
`3,789,409
`3,848,254
`3,906,166
`4,053,893
`4,083,003
`4,107,689
`4,152,693
`4,177,466
`4,222,052
`4,428,052
`4,428,057
`4,435,711
`4,445,118
`4547,778
`4.590.569
`4,644,351
`4,651,157
`4,654,879
`4,660,037
`4,670,905
`4,688,244
`4,700,374
`4,734.928
`4,737,978
`4,740.792
`4,742,357
`4,750,197.
`4,754,465
`4,774,670
`4,775,999
`4,776,003
`4,788,637
`4,791,571
`4,791,572
`4,796,189
`4,797,948
`4,799,162
`4,804,937
`4,809,005
`4,819,174
`4,833,477
`4,833,701
`4,833,702
`4,843,575
`4,860,341
`4,866,762
`4,876.738
`4,884,208
`4,891,650
`4,891,761
`4,897,642
`4,901,340
`4.905270
`4907,290
`4,908,629
`4.912,756
`4.914,686
`4.945,570
`4,953,198
`4963,865
`4,993,062
`4,998.291
`5,003,317
`5,008,814
`5,014,206
`5,019,963
`5.025253
`5,032,845
`5,043,736
`
`5,045,861
`5,046,082
`5,055,851
`5,058,201
`5,068,656
`5,090,050
`5,101,500
`5,119,102
`5,121,126
`5,121,325
`5,131,019
`5,131,020
`5,142,281
`5,142,654
`5,155.490
`5,155,847
`5,159,625
`5,166,694
`5,172,321
`5,208,756
`5,223,844
`5,225,842
`5,235,633
`5,237,612
`5.243529
`5247,564
`5252,982
`5,261,118
`5,270,936
`5,276,729
`5,293,163
`5297,191
`5297,192
`5,299,132
`5,311,194
`5,323,322
`5,365,516
`5,371,692
`5,392.458
`5,396,540
`5,430,877
`5,495,610
`
`9/1991 Duffett-Smith ......................... 342/.457
`9/1991 Zicker et al. ...
`... 3791.59
`10/1991. Sheffer ......
`342/45
`10/1991 Ishii et al.
`... 455/33
`11/1991 Sutherland ...
`... 340/989
`2/1992 Hefeian .
`... 379/60
`3/1992 Marui .......
`45S/33
`6/1992 Barnard
`342,357
`6/1992 Clagett ....................
`342419
`6/1992 DeJonge ..................
`. 364/442
`7/1992 Shefer et al. ...
`... 379,39
`7/1992 Liebesny et al.
`... 379/59
`8/1992 Park ................
`340/99
`8/1992 Sonberg et al. ...
`... 379/59
`10/1992 Spradley, Jr. et al.
`342735T
`10/1992 Kirouac et al. .....
`39S/600
`10/1992 Zicker ..........
`379/59
`11/1992 Russel et al.
`, 34.245T
`12/1992 Ghaem et al. ...
`... 364/444
`5/1993 Song ............
`364/449
`6/1993 Manse et a
`342/.357
`7/1993 Brown et al. ....
`3427357
`8/1993 Dennison et al.
`... 379/60
`8/1993 Raith .......
`... 38O23
`9,993 Kashiwazaki
`364/449
`9/1993 Zicker ...
`... 379/40
`10/1993 Frei .........................
`342/.357
`11/1993 Wanderspool, II et al
`... 455,512
`12/1993 Fukushima et al. .
`... 364 fa44
`1/1994 Higuchi et al. ......
`... 379/58
`3/1994 Kakihara et al.
`340/995
`3/1994 Gerszberg ...
`... 379/59
`3/1994 Gerszberg ...
`... 379/59
`3/1994 Wortham,
`... 364/460
`5/1994 Brown ..................................... 342/.357
`6/1994 Mueller et al.
`3641449
`11/1994 Jandrel ............
`370/18
`12/1994 Draeger et al.
`. 364/580
`2/1995 Sasuta et al.
`... 45554.1
`3/1995 Gooch ......
`... 379/59
`7/1995 Naylor .....
`395/700
`2/1996 Shing et al. .......................... 395/600
`OTHER PUBLICATIONS
`D. H. Alsip, J. M. Butler, and J.T. Radice, "Implementation
`of the U.S. Coast Guard's Differential GPS Navigation
`Service." U.S. Coast Guard Headquarters, Office of Navi
`gation Safety and Waterway Services, Radionavigation Divi
`sion, Jun. 28, 1993, pp. 1-10.
`"Motorola GPS Technical Reference Manual,” Motorola,
`Oct., 1993, Manual Cover, Title Page, and pp. 4-109.
`Don Burtis, "CDPD-AlBandwidth Optimization Technique
`for Cellular Telephones," Computer Design's OEM Integra
`tion, May, 1994, pp. 19-20.
`“U.S. Coast Guard Bulletin Board System File "FRP
`DGPS," U.S. Coast Guard. Date Unknown, pp. 1-6.
`Gene L. Schlechte, LCDR, "U.S. Coast Guard Bulletin
`Board System Document "DESIGN.TXT-Design Process
`for the United States Coast Guard's Differential GPS Navi
`gation Service.” U.S. Coast Guard, U.S. Coast Guard
`Omega Navigation System Center, Date Unknown, pp. 1-21.
`"Appendix B, The 1991 Radionavigation User Conference."
`Department of Transportation, Date Unknown, pp. 1-2.
`Kirk Ladendorf, "First in Flight-Using State-Of-The-Art
`Technology, Austin-Based Arrowsmith Technologies Estab
`lishes itself As A Major Player in NascentTechnology-Sup
`plier Market", Austin America-Statesman, Jan. 30, 1995.3
`pages.
`
`Page 2 of 17
`
`
`
`U.S. Patent
`
`Dec. 16, 1997
`
`Sheet 1 of 5
`
`5,699,275
`
`FIC. 1
`
`y
`
`
`
`
`
`
`
`
`
`
`
`COMMUNICATION
`NETWORK
`12
`ENHANCED
`SERVICES
`14-1 COMPLEX
`
`16
`MANAGER
`HOST
`
`22
`
`MOBILE
`NT y
`
`MOBILE
`UNIT
`(A)
`
`24
`
`CEN
`(A)
`
`18
`
`CLIENT L-20
`HOST
`(B)
`
`MOBILE
`UNIT
`(B)
`
`30
`
`26
`
`MOBILE
`y
`B
`
`MOBILE
`UNIT
`(B)
`
`28
`
`TO
`COMMUNICATION
`NETWORK
`
`40
`
`16
`FIC. 2
`?
`X
`- - - - - - - - - - - - - - - - - - - - -
`42
`
`MODEM. OR
`DTMF
`
`
`
`Page 3 of 17
`
`
`
`U.S. Patent
`
`Dec. 16, 1997
`
`Sheet 2 of 5
`
`5,699,275
`
`52
`m me an an us Y.
`
`54
`
`58
`
`i D
`E
`HANDSET
`
`FIG. 3
`
`as s
`
`56
`
`60
`
`66
`
`50
`?
`
`
`
`BUS
`
`FLASH
`
`65
`
`PROCESSOR
`
`70
`Ru
`
`64
`
`68
`
`FLASH
`
`Page 4 of 17
`
`
`
`US. Patent
`
`Dec. 16, 1997
`
`Sheet 3 of 5
`
`5,699,275
`
` 8aU
`
`AL
`
`IJ
`,—vgig
`
`?Ll-l
`z
`
`55%5%
`
`Lu
`.3
`
`5%3Es53995a:
`
`228.85
`
`58%
`
`53mm:
`
`5:52¢52%
`Es;fig87;was73Es;wass3935:5meme::52:a:
`
`9.8g38%.925%9.8g.28g
`fig“2-;$5a955<205%Ea:5355a3:5;mm355a2%;ea:
`55mga325:z.£592552figs:55;$385585$:
`
`was3-;Es;as.:5asaw:53:55as53:52.mm2a:
`
`
`
`55mga$232awageozzém2EEEsea:
`
`
`
`552.60:05
`
`:3
`
`was8:
`
`éé?
`
`LIJ
`
`E2:
`
`552E”:
`
`56mm:
`
`5592mm“?
`
`H58:
`
`H58:
`
`omhéolmooaza
`
`”=38
`
`$125
`
`863:
`
`me$2me
`
`93238
`
`86mm:
`
`:58”Emmy:
`
`u 9
`
`:
`
`V6.5%
`
`Page 5 of 17
`
`Page 5 of 17
`
`
`
`U.S. Patent
`
`Dec. 16, 1997
`
`Sheet 4 of 5
`
`5,699,275
`
`100
`
`102
`
`START
`
`RECEIVE INTIAL
`PATCH MESSAGE
`
`COMPARE SOFTWARE
`VERSION
`
`104
`
`DOES
`VERSION
`MATCH
`
`
`
`IS
`PATCH MESSAGE
`VALID
`110 YES
`
`STORE PATCH
`INFORMATION
`112
`
`ARE THERE
`ADDITIONAL PATCH
`MESSAGES
`NO
`
`CREATE PATCHED
`OPERATING CODE
`
`VERIFY PATCHED
`OPERATING CODE
`
`120
`
`IS
`NO-PATCHED OPERATING
`CODE WALD
`
`116
`
`118
`
`RESET AND RESTART WITH
`PATCHED OPERATING CODE N-122
`
`FIC. 6
`
`
`
`
`
`O6
`
`
`
`TRANSMIT ERROR
`MESSAGE
`
`
`
`
`
`114
`
`RECEIVE PATCH
`MESSAGE
`
`Page 6 of 17
`
`
`
`U.S. Patent
`
`Dec. 16, 1997
`
`Sheet S of 5
`
`5,699,275
`
`FIG. 6
`
`YES
`
`
`
`
`
`134
`
`PREPARE SECOND
`FLASH BANK
`
`
`
`
`
`IS
`NEXT MEMORY
`ADDRESS IN FIRST
`FLASH BANK TO BE
`NODF ED
`
`MERGE PATCH AND
`STORE IN SECOND
`FLASH BANK
`
`
`
`COPY BYTE OF CODE AT
`MEMORY ADDRESS INTO
`SECOND FLASH BANK
`
`PATCHING
`COM ELETE
`
`
`
`
`
`COPY INTO RAM THE
`CODE NEEDED TO SWTCH
`EXECUTION TO SECOND
`FLASH BANK
`
`150
`
`EXECUTE SYSTEM RESET
`FROM RAM TO RESTART
`SWITCHING EXECUTION
`TO SECOND FLASH BANK
`
`152
`
`FIC. 7
`
`
`
`
`
`IS
`POWER-UP
`No
`CHECKSUM
`VID -
`
`EXECUTE SYSTEM
`RESET FROM RAM TO
`RESET USING FIRST
`FLASH BANK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 7 of 17
`
`
`
`5,699.275
`
`1
`SYSTEMAND METHOD FOR REMOTE
`PATCHING OF OPERATING CODE
`LOCATED IN A 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 located in a mobile unit.
`BACKGROUND OF THE INVENTON
`Software suppliers and other sellers of computer systems
`often have a need for correcting or 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 support. 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 error.
`Additionally, a central computer system has been used to
`provide access to software updates from systems at fixed
`remote locations. One such system is disclosed in U.S. Pat.
`No. 5,155,847 entitled "Method and Apparatus for Updating
`Software at Remote Locations.”
`U.S. Pat No. 5,155,847 discloses a central computer
`system that can monitor and record changes to versions of
`software. A user having a fixed remote system operating an
`old version of software may access the central computer
`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 software.
`However, the system disclosed by U.S. 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.
`SUMMARY OF THE INVENTION
`In accordance with the present invention, disadvantages
`and problems associated with prior systems and methods for
`updating software have been substantially reduced 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
`system for remote patching of operating code located in a
`mobile unit is provided. The system includes a manager host
`and a mobile unit. The manager host is operable to initiate
`transmission 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 code by merging the at least one patch with current
`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 for remote patching of operating code
`located in a mobile unit is provided. At 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
`
`15
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`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 patch with the
`current operating code. Execution in the mobile unit is
`switched to the patched operating code.
`Atechnical advantage of the present invention is allowing
`remote patching of operating code located in a mobile unit
`without physically touching the mobile unit or establishing
`a bidirectional and interactive communication link. The
`patching of code may be to fix software bugs, add new
`functionality, or completely replace 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 interpret patch
`messages and create patched operating code therefrom with
`out affecting the normal functions performed by the mobile
`unit.
`According to another technical advantage of the present
`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 deliver
`patch messages. The central location can also tailor the
`broadcasts of patches to different mobile units.
`According to an additional technical advantage of the
`present invention, patches are sent as several discrete patch
`messages to a mobile unit, reception of the discrete patch
`messages is verified by the mobile unit, and patch informa
`tion is combined by the mobile unit to create 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
`For a more complete understanding of the present inven
`tion and for further features 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
`patching of operating code located in a mobile unit;
`FIG. 2 is a schematic representation of one embodiment
`of a manager host;
`FIG. 3 is a schematic representation of one embodiment
`of a mobile unit;
`FIG. 4 illustrates one embodiment of message formats 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 for remote patching of
`operating 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 mobile unit;
`and
`FIG. 7 is a flow chart showing one embodiment of a
`method of resetting and restarting with patched operating
`code.
`
`DETALED DESCRIPTION OF THE
`INVENTION
`FIG. 1 illustrates one embodiment of a system, indicated
`generally at 10, 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
`
`Page 8 of 17
`
`
`
`5,699.275
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`3
`wireless communication network like the cellular telephone
`network, a land-line communication network, another por
`tion of the public switched telephone network (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 network 12 may vary between components
`of system 10, as described below.
`A manager host 16 is coupled to enhanced services
`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 18, and
`second client host 20 can be separate 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 coupled 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 30 are associated with second
`client host 20 and are coupled to communication network
`12. In the preferred embodiment, the communication link of
`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 network, 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 services 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 20 and mobile units 22,
`24, 26, 28 and 30.
`At times, manager host 16 might desire to enhance,
`correct, or replace current operating code located in one or
`more of the mobile units. A patch file can be created that
`defines one or more patches that need to be made to provide
`enhancements or corrections to the current operating code.
`In addition to the patch or patches, 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. Furthermore, as described below, the mes
`sages can also define a completely new version of the
`50
`software that is to replace the current version running at the
`mobile units. Therefore, the description of the components
`and operation of sending patch 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 teachings of the present invention, the
`patch file can be represented by a set of discrete patch
`messages. Each patch message can be sized as a discrete
`data payload suitable for transmission in a message through
`communication network 12. Manager host 16 can transmit
`the discrete patch messages to appropriate mobile units.
`When a mobile unit receives the patch messages, the mobile
`unit can verify the patch messages, merge the defined
`patches with the current operating code, and switch execu
`tion to the patched operating code. In order to receive a
`complete patch file, each mobile unit receives all of the
`
`65
`
`45
`
`55
`
`4
`patch messages in the set representing the patch file. The
`transmission of discrete patch messages does not require a
`dedicated or interactive communication link, and can be
`performed in several communication sessions. For example,
`due to the inherent limitations of wireless communication,
`the communication link to the mobile unit may be lost.
`System 10 can then reestablish the communication link and
`continue transmission of the current patch message.
`In this manner, operating code located in a mobile unit
`may be maintained and updated without the need for man
`ager host 16 physically to contact the mobile unit. In
`addition, manager host 16 can provide varying levels of
`enhancements to mobile units associated with different
`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 different version of
`operating code than mobile units 26, 28 and 30 associated
`with client host 20.
`Manager host 16 can transmit discrete patch 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
`transmitters, receivers, or transceivers, such as a cellular
`telephone network, a personal communication system
`(PCS), a specialized mobile radio (SMR), an enhanced
`specialized mobile radio (ESMR), 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, transmis
`sion of large amounts of data over communication network
`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 of time. Further, in
`such a system, a mobile unit might be required to limit
`normal operation until the transmission of data was com
`plete. Normal communication of messages between a client
`host and an associated mobile unit would be disrupted and
`the mobility of the mobile unit would be restricted. For
`example, if an on-line communication 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 transmissions when the communication link is
`lost without sacrificing a significant loss of previously
`transmitted data.
`Each mobile unit 22, 24, 26, 28, and 30 can be associated
`with a vehicle, person, or other mobile entity. Each mobile
`unit 22, 24, 26, 28, and 30 operates by executing the current
`operating code located in the mobile unit. The mobile units
`22, 24, 26, 28, and 30 may perform various communicating,
`locating, and fleet management functions as described in
`U.S. Pat. No. 5,155.689 entitled "Vehicle Locating and
`Communicating 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
`
`Page 9 of 17
`
`
`
`5
`messages through communication network 12. The discrete
`patch messages collectively represent a patch file defining at
`least one patch to be made to current operating code located
`in one or more of mobile units 20, 22, 24, 26, 28 and 30.
`Each mobile unit 20, 22, 24, 26, 28 and 30 is operable to
`receive the patch messages transmitted by manager host 16.
`Each mobile unit 20, 22, 24, 26, 28 and 30 can create
`patched operating code by merging the defined patch or
`patches with the current operating code and can switch
`execution 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 transmitting
`packet sized data.
`Manager host 16 can address patch messages to mobile
`units as appropriate for the patch file being transmitted.
`Manager host 16 can address a patch message to one of the
`mobile units, to all of the mobile units, or to a group of
`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. For
`example, manager host 16 can address a patch message such
`that it will be transmitted to both mobile unit 22 and mobile
`unit 24 associated with client host 18.
`In the embodiment of FIG. 1, enhanced services complex
`14 of communication network 12 operates to handle all
`messages transmitted between manager host 16, client host
`18, client host 20 and mobile units 22, 24, 26, 28, and 30. In
`particular, enhanced services complex 14 maintains infor
`mation to establish communication with mobile units 22, 24,
`26, 28, and 30 using communication network 12. Enhanced
`services complex 14 then ensures that message data is
`delivered with integrity. Part of the operation of enhanced
`Services complex 14 is to handle patch messages transmitted
`by manager host 16 to mobile units 22, 24, 26, 28, and 30.
`Enhanced services complex 14 recognizes whether a patch
`message is addressed to one mobile unit, a group of mobile
`units or all mobile units, establishes communication with the
`appropriate mobile units, and transmits the discrete patch
`message. application Ser. No. 08/095.166 entitled "Method
`and Apparatus for a Nation-wide Cellular Telephone Net
`work" describes in detail the components and functionality
`of enhanced services complex 14, and is herein incorporated
`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. 08/095,166.
`Atechnical advantage 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 on-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 therefrom 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 can
`provide verification of completion of patches to the current
`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.
`Link 40 may be one or a combination of dedicated or
`switched telephone lines in the mobile or land-line public
`switched telephone network (PSTN), or other land-based
`
`45
`
`50
`
`55
`
`65
`
`5,699.275
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`6
`communication links, satellite-based communication links,
`or any other suitable communication link that allows man
`ager 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 coderfdecoder, 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 coder/decoder 42 to
`communication network 12.
`Memory 46 and input/output device 48 are coupled to
`central controller 44. Central 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 RAM, ROM, CD-ROM, removable memory
`devices, or any other device that allows storage and retrieval
`of data. Input/output device 48 includes any variety of
`output devices, such as a display, a speaker to provide
`audible information, removable storage media, or any other
`appropriate output device. Input/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, and 30 of FIG.1 may be constructed in a similar
`manner as mobile unit 50 of FIG. 3. Mobile unit 50
`comprises a mobile communications device 52 including an
`antenna 54 coupled to a transceiver 56. A handset 58 is also
`coupled to transceiver 56. Transceiver 56 is coupled to bus
`drivers 60 which in turn are coupled to a modem, DTMF
`coderfdecoder, or other data encoder 62. Coderfdecoder 62
`is coupled to processor 64. Transceiver 56 is also coupled to
`processor 64 over link 65.
`Processor 64 is coupled to a first flash bank 66 and to a
`second flash bank 68 and to a RAM 70. First flash bank 66,
`second flash bank 68, and RAM 70 may be RAM, ROM,
`CD-ROM, removable memory devices, or any other device
`that allows