`
`(19) United States
`(12) Patent Application Publication
`Criss et al.
`
`11111111111111111111111111111111111111111111111111111111111111
`US 20010029178Al
`
`(10) Pub. No.: US 2001/0029178 A1
`Oct. 11, 2001
`(43) Pub. Date:
`
`(54) WIRELESS SOFTWARE UPGRADES WITH
`VERSION CONTROL
`
`(76)
`
`Inventors: Mark A. Criss, The Woodlands, TX
`(US); Paul A. Cowan, Hinckley, OH
`(US)
`
`Correspondence Address:
`RENNER OTTO BOISSELLE & SKLAR, LLP
`1621 EUCLID AVENUE
`NINETEENTH FLOOR
`CLEVELAND, OH 44115 (US)
`
`(21) Appl. No.:
`
`09/876,491
`
`(22) Filed:
`
`Jun.7,2001
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 09/234,813, filed on
`Jan. 21, 1999, which is a continuation-in-part of
`application No. 09/023,857, filed on Feb. 13, 1998,
`now Pat. No. 6,031,830, which is a continuation of
`application No. 08/694,637, filed on Aug. 7, 1996,
`now Pat. No. 5,848,064.
`
`Publication Classification
`
`(51)
`
`Int. CI? ...................................................... H04M 3/00
`
`(52) U.S. Cl. ........................... 455/419; 455/418; 455/420
`
`(57)
`
`ABSTRACT
`
`A wireless communication system includes a system back(cid:173)
`bone, a host computer coupled to the system backbone, at
`least one base station coupled to the system backbone, the at
`least one base station including a base station transceiver for
`communicating wirelessly with mobile devices within the
`system, and at least one mobile device having a mobile
`device transceiver for communicating wirelessly with the
`host computer on the system backbone via the at least one
`base station. The at least one mobile device includes a
`software update schedule table for providing one or more
`times at which the mobile device is to inquire and obtain
`available software upgrades. Entries in the software update
`schedule table may be made manually through a user input
`associate with the at least one mobile device or wirelessly
`through communications received from the host computer.
`In the event the mobile device is in a sleep mode during a
`scheduled time for conducting an inquiry as to whether any
`upgrades of operating software is available, a processor of
`the mobile device is configured to temporarily place the
`mobile device in a fully operation mode until a process of
`determining and obtaining any upgrades operating software
`is complete.
`
`20"\
`
`OTHER LAN
`DEVICES,
`E.G., WORK
`TERMINALS
`
`30
`
`31
`
`Samsung Exhibit 1020 Page 00001
`
`
`
`'"""'
`>
`00
`'"""'
`---l
`'0
`N
`
`'"""' -c c
`N c c
`
`'JJ.
`Cj
`
`00
`N
`
`'"""' 0 ......,
`~ .....
`'JJ. =(cid:173)~
`'"""'
`N c c
`'"""' ~
`'"""'
`:-"
`I")
`0
`
`.... 0 =
`0' -....
`~
`.... 0 =
`~ 't:l -....
`~ = .....
`~ .....
`""C
`
`~ .....
`
`I")
`
`~ .....
`
`I")
`
`/
`I
`i
`J
`:
`\
`\
`\
`\
`..
`\
`\
`
`/
`
`//
`•'
`,/
`/
`
`,/
`
`,i'1
`
`/ ___ /
`
`32
`
`36
`
`\
`58\
`•,
`\
`\\
`
`............. ..
`
`....... ...
`
`'•,
`
`............ ...
`
`........ ..
`
`36
`
`TERMINAL
`
`MOBILE
`
`•'
`,,
`.. .. ~
`
`,,/
`
`,.
`,/"
`,'
`,/.-~-----··-----.............. .
`
`58
`
`/,.,"
`
`/,, .. '
`
`36
`
`I
`
`Fig. 1
`
`31
`
`FTPSERVER
`
`30
`
`HOST
`
`s
`
`/
`./
`
`............ _,...,_ ............ "
`
`•• .....
`
`STATION
`
`BASE
`
`... ,
`··.,""'
`
`'·\
`\.
`
`26
`
`\
`\
`\
`
`,l
`/
`i
`32}
`\
`i
`\
`\.,
`
`'
`
`........
`
`\
`\
`\
`'··, _,34~i
`.. ,
`t
`I
`'\~,
`'
`, '\,
`I
`';/
`/'
`......
`·· .. ,
`/
`
`,/
`,,,..
`
`28
`
`,/
`......
`/'
`,/
`/
`
`.,__
`
`'•
`.. ._.
`\.....
`
`'
`'•,
`......
`..
`.... <
`
`"-. 34
`
`,/
`
`,/
`
`,./\.
`
`'
`\
`\
`58 \\
`
`'
`
`"·-.._.,.
`
`'' ...
`
`, ........ ~---~··-·· .......................... ..
`
`'"'-·...........
`
`,,, .... '
`
`"'',,,
`
`/
`
`,,''
`
`,,l
`, .. //
`
`/
`
`,,"
`
`~,,
`
`,/
`...
`.... --.......... ~---.. :;,..,:............
`
`,,'"
`
`TERMINALS
`E.G., WORK
`DEVICES,
`OTHER LAN
`
`37
`
`/
`,/
`
`.. .............. ""
`
`'
`' .....................
`
`24 '··
`
`......
`22 "\ '•.,
`
`STATION
`
`BASE
`
`26
`
`STATION
`
`WIRELESS
`
`BASE
`
`32
`
`\
`
`/
`
`,
`,....
`
`'
`••••
`~.
`...... ~
`'\\
`\.\
`\
`~
`\
`\
`.
`\
`i
`\
`;'
`!
`!
`f
`/
`I
`,
`j'
`/,,....
`
`···,· •. ,_
`
`,.,... .. ,'
`/
`
`'
`'·· ··-··-------
`... ~...........
`
`···· .• ,
`.
`·· .. ,
`
`s
`
`\,
`
`20 "'\
`
`Page 00002
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 2 of 28
`
`US 2001!0029178 A1
`
`DISPLAY
`
`.--46
`
`DISPLAY
`DRIVER
`
`48
`
`54
`
`58
`
`40
`
`50
`
`~r---~PROCESSOR~--~MEMORY
`
`42
`
`USER
`INPUT
`DEVICE
`
`BAR
`CODE
`READER
`
`44
`
`Fig. 2
`
`Page 00003
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 3 of 28
`
`US 2001/0029178 A1
`
`64
`
`66
`
`68
`
`1/0
`
`XCEIVER
`
`70
`
`72
`
`24
`
`Fig. 3a
`
`Page 00004
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 4 of 28
`
`US 2001/0029178 A1
`
`31 \
`
`! 65
`
`PROCESSOR ~
`
`.. MEMORY v67
`
`~
`
`~.,
`
`XC ElVER
`
`v11
`
`I
`
`v73
`
`)
`~
`
`l
`l
`
`24
`
`Fig. 3b
`
`Page 00005
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 5 of 28
`
`US 2001/0029178 A1
`
`Bootptab Table:
`
`Mobile Terminal
`Hardware Address
`Mobile Terminal1
`Mobile Terminal2
`Mobile Terminal 3
`
`. . .
`
`Mobile Terminal X
`
`Internet Protocol (IP)
`Address
`IP1
`IP2
`IP3
`. . .
`lpx
`
`Boot File
`(Package Name)
`Package A
`Package B
`Package C
`...
`Package X
`
`Fig. 4
`
`Page 00006
`
`
`
`'"""'
`>
`00
`'"""'
`-..J
`'0
`N
`
`'"""' -c c
`N c c
`
`'JJ.
`Cj
`
`00
`N
`0 ......,
`0'1
`~ .....
`'JJ. =(cid:173)~
`'"""'
`N c c
`'"""' ~
`'"""'
`:-'"
`I")
`0
`
`.... 0 =
`0' -....
`~
`.... 0 =
`~ 't:l -....
`~ = .....
`~ .....
`""C
`
`~ .....
`
`I")
`
`~ .....
`
`I")
`
`-~-
`
`:
`
`ROM/RAM
`
`FTPPath Type
`
`Memory, Mode
`Version 10, Req. File Name Mobile Ter. Path
`
`ftppath An ...
`...
`...
`ftppath A2 ...
`...
`ftppath A1
`
`_ fil~na.me An_ J!lpatbAn __ _ __
`
`filename_A2 mpath·A2
`filename_A 1 mpathA1
`
`replace
`6.2,200K8,
`
`Package A
`
`Fia. 5b
`
`Name
`Package
`Fig. 5a
`
`Package Definition Files:
`
`RAM
`RAM
`
`ROM
`
`RAM
`ROM
`
`---RAM
`
`ROM
`ROM
`
`ftppath z_n ~-----
`
`...
`. ..
`...
`...
`
`ftppath Z2
`ftppath Z1
`
`ftppath 8n _ ... _ _ __ _BOM
`
`...
`...
`ftppath 82 ...
`...
`ftppath 81
`
`-· ------~---------~le!name_Zn mpath Zn ____
`replace
`1.9, 320K8,
`
`.
`
`filename_Z2 mpath Z2
`filename_Z1 mpathZ1
`
`filename_.82 mpath 82
`filename_81 mpath 81
`
`_ _____ _ filename 8n m~h 8n
`fail safe
`A3, 150K8,
`
`--
`
`PackageZ
`
`Fig. 5d
`
`Package 8
`
`Fig. 5c
`
`Page 00007
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 7 of 28
`
`US 2001!0029178 A1
`
`32
`
`90
`
`TX
`
`RCV
`
`92
`
`88
`
`86
`
`PROCESSOR14---e--+~ MEMORY
`
`84
`
`82
`
`XCEIVER
`
`24
`
`Fig. 6
`
`Page 00008
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 8 of 28
`
`US 2001/0029178 A1
`
`36
`
`30 -...... HOST
`COMPUTER
`
`Fig. 7(a)
`
`/ 103
`/ 102
`HEADER HARDWARE
`ADDRESS
`
`/ 104
`
`BOOT REQUEST
`INFO
`
`100/
`
`110 "\,
`
`Fig. 7(b)
`
`/ 112 L 113
`/ 111
`IP
`HEADER ADDRESS
`
`PACKAGE
`NAME
`
`£ 114
`BOOT
`RESPONSE INFO
`
`118 "\,
`
`Fig. 7(c)
`
`£ 122
`/ 120
`/ 121
`PACKAGE VERSION REQUEST FIELD
`HEADER
`NAME
`
`124"\,
`
`Fig. 7(d)
`
`/ 125
`HEADER
`
`/ 126
`PACKAGE
`NAME
`
`/ 127
`VERSION INDICATOR
`
`Bootp
`Request
`Packet
`
`Bootp
`Response
`Packet
`
`Version
`Request
`Packet
`
`Version
`Response
`Packet
`
`FileName
`Packet
`
`2
`-r-
`
`-9
`
`12s "\, ,...-----'-L-1
`Fig. 7(e) HEADER
`COMPRAISON RESULT FIELD
`L---~----------------------~
`
`
`
`------L'---13-3--,
`
`Page 00009
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 9 of 28
`
`US 2001/0029178 A1
`
`! 132
`131
`130\ ...-Lf----r------'-L----1
`Fig. 7(f) IHEADERI
`FILE REQUEST
`
`134~
`Fig. 7(g) 'HEADER!
`
`[_135
`
`/136
`
`FILE
`
`130
`
`[131
`
`Fig. 7(~ 'HEADER!
`
`•
`•
`•
`
`/132
`
`FILE #N REQUEST
`
`134
`
`I 135
`Fig. 7(~ IHEADERI
`
`f 136
`
`FILE#N
`
`File
`Request
`Packet
`
`Ria
`Packet
`
`File#N
`Request
`
`File#N
`Packet
`
`Page 00010
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 10 of 28
`
`US 2001!0029178 A1
`
`150
`
`152
`
`157
`
`NO
`
`YES
`
`Fig. 8(a)
`
`CONTINUED ON FIG.
`B(b)
`
`Page 00011
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 11 of 28
`
`US 2001/0029178 A1
`
`CONTINUED ON FIG. 8(a)
`
`166
`
`NO
`
`END
`
`162
`
`Fig. 8(b)
`
`Page 00012
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 12 of 28
`
`US 2001/0029178 A1
`
`NO
`
`202
`
`203
`
`NO
`
`205
`
`TRANSMIT BOOTp RESPONSE
`
`TRANSMIT VERSION REQUEST PACKET
`
`YES
`
`TRANSMIT FILE NAME
`
`END
`
`Fig~ 9
`
`Page 00013
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 13 of 28
`
`US 2001/0029178 A1
`
`START
`
`NO
`
`210
`
`YES
`
`TRANSMIT
`FILE PACKET
`
`Fig. 10
`
`Page 00014
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 14 of 28
`
`US 2001/0029178 A1
`
`NO
`
`TRANSMIT SOFTWARE
`AVAILABILITY REQUEST
`
`NO
`
`256
`
`YES
`
`DISPLAY LIST OF AVAILABLE PACKAGE NAMES;
`PROMPT USER TO SELECT PACKAGE NAME
`
`TRANSMIT USER
`SELECTED PACKAGE
`NAME IN PACKAGE
`REQUEST PACKET
`
`258
`
`NO
`
`Fig. 11
`
`Page 00015
`
`
`
`'"""'
`>
`00
`'"""'
`-..J
`'0
`N
`'"""' -c
`c
`N c c
`
`'JJ.
`Cj
`
`Fig. 12
`
`WAN I I WAN ~297
`
`HOST
`
`298-JFTP SERV.
`
`00
`N
`0 ......,
`'"""' Ul
`~ .....
`=-~
`'JJ.
`'"""'
`N c c
`'"""' ~
`'"""'
`:-'"
`I")
`0
`0 =
`....
`~ .....
`0' -....
`26,~ ~/26 =
`=
`.... 0
`~ .....
`'t:l -....
`>
`~ = .....
`~ .....
`""C
`
`I")
`
`""C
`
`I")
`
`'t:l
`
`I
`58
`
`I a •"on r=
`
`I
`
`36 ""'-
`
`I .r36
`
`..
`
`I
`
`-
`
`31'
`
`;;iU'
`
`/
`
`I
`
`~
`
`208
`
`\
`
`~
`
`295
`
`\
`
`~v
`
`31,
`
`I h }
`
`S~.~~ HOST
`
`~ i I
`
`20A
`
`l/26
`
`l:l6.~1:
`
`I
`
`I
`
`1:11\QE:
`
`26--.. I
`
`32__-y
`
`-
`
`I
`
`36
`
`Page 00016
`
`
`
`""""
`>
`00
`""""
`-..J
`'0
`N
`
`"""" -c c
`N c c
`
`'JJ.
`Cj
`
`00
`N
`0 ......,
`"""" 0'1
`~ .....
`'JJ. =(cid:173)~
`""""
`N c c
`!""
`""""
`!"""
`I")
`0
`
`.... 0 =
`0' -....
`~
`.... 0 =
`~ 't:l -....
`~ = .....
`~ .....
`""C
`
`~ .....
`
`I")
`
`~ .....
`
`I")
`
`RAM
`
`ROM
`ROM
`
`__ ROM ___
`
`RAM
`RAM
`
`~------
`
`ROM
`
`RAM
`ROM
`
`--
`
`-
`
`...
`. ..
`...
`...
`
`...
`. ..
`...
`...
`...
`
`...
`...
`...
`...
`...
`
`I
`
`ROM/RAM
`
`Type
`
`hpath Zn_
`
`~lename Zn ~Q~tt1_ Zn _ _
`
`hpath Z2
`hpath Z1
`
`filename_Z2 mpathZ2
`lfilename_Z1 mpath Z1
`
`.
`
`hpath ~n
`
`filename 8n mpath Bn
`
`.
`
`hpath B2
`hpath 81
`
`filename_82 mpath 82
`filename_B1 mpath 81
`
`~t:>_ath An
`
`W.lename An mpathAn
`
`hpathA2
`hpathA1
`
`filename_A2 mpathA2
`filename_A1 mpathA1
`
`replace
`1.9, 320K8,
`
`PackageZ
`
`Fig. 13d
`
`-~--~
`
`fail safe
`A3, 150KB,
`
`Package 8
`
`Fig. 13c
`
`~----
`
`replace
`6.2,200KB,
`
`Package A
`
`Fia. 13b
`
`Memory, Mode
`Version 10, Req. File Name Mobile Ter. Path Host Path
`
`Name
`Package
`Fig. 13a
`
`Package Definition Files:
`
`Page 00017
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 17 of 28
`
`US 2001/0029178 A1
`
`36
`
`30 -............
`
`HOST
`COMPUTER
`
`Fig. 14(a)
`
`I 303
`I 302
`HEADER HARDWARE
`ADDRESS
`
`£ 304
`
`BOOT REQUEST
`INFO
`
`Bootp
`Request
`Packet
`
`300/
`
`310 "\,
`
`L311
`
`Fig. 14(b)
`
`HEADER
`
`lP
`ADDRESS
`
`L 312
`
`313
`
`I
`PACKAGE.
`NAME
`
`£ 314
`
`BOOT
`RESPONSE INFO
`
`Bootp
`Response
`Packet
`
`318 "\,
`
`Fig. 14(c)
`
`HEADER
`
`I 320
`
`I 321
`PACKAGE
`NAME
`
`I 322
`
`PACKAGE REQUEST INFO
`
`Package
`Request
`Packet
`
`324 "\,
`
`I 326
`I 325
`r---1~-r--:P::-:A:-::;C~KA~G;::;;E;:-D~E;::;F::;:IN'"ITI~O~Nr;Fiilli;'E-;;C:;:;O:uN:nTEi5N:MT::c;S:--,
`Fig. 14(d) HEADER
`{INCLUDING VERSION INDICATOR) FOR
`CORRESPONDING PACKAGE NAME
`
`Package
`Definition
`Packet
`
`Page 00018
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 18 of 28
`
`US 2001/0029178 A1
`
`330\
`[331
`Fig. 14(e) JHEADERJ
`
`/332
`
`FILE#1 REQuEsT
`
`334\,
`
`Fig. 14(f) I HEADER I
`
`[335
`
`330
`
`Fig. 14( i> I HEADER I
`
`/~331
`
`334
`
`;r335
`
`Fig. 14~) IHEADERI
`
`/336
`
`FILE#1
`
`•
`•
`•
`
`/332
`
`FILE #N REQUEST
`
`[336
`
`FILE#N
`
`File#1
`Request
`Packet
`
`File#1
`Packet
`
`File#N
`Request
`
`File#N
`Packet
`
`Page 00019
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 19 of 28
`
`US 2001/0029178 A1
`
`350
`
`INITIATE BOOT-UP
`
`TRANSMIT BOOTp REQUEST
`
`352
`
`NO
`
`NO
`
`CONTINUED ON FIG.
`15(b)
`
`Fig.
`15(a)
`
`Page 00020
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 20 of 28
`
`US 2001/0029178 A1
`
`CONTINUED ON FIG. 15(a)
`
`NO
`
`366
`
`360
`
`NO
`
`Fig. 15(b)
`
`Page 00021
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 21 of 28
`
`US 2001/0029178 A1
`
`HOST
`
`TRANSMIT BOOTp RESPONSE
`
`NO
`
`402
`
`NO
`
`406
`
`TRANSMIT PACKAGE DEFINITION INFORMATION
`CORRESPONDING TO PACKAGE NAME
`
`NO
`
`Fig. 16
`
`Page 00022
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 22 of 28
`
`US 2001!0029178 A1
`
`DISPLAY
`
`...-
`
`- 46
`
`DISPLAY v- 48
`DRIVER
`
`(SOO
`
`SYSTEM
`CLOCK
`
`t--t-----.! PROCESSOR 11---41 MEMORY
`
`TX
`
`I
`
`USER
`..------.. 42 --- INPUT
`606
`I BATTERY
`---1
`DEVICE
`
`I
`
`BAR
`CODE ~ 44
`READER
`
`Fig. 17
`
`Page 00023
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 23 of 28
`
`US 2001/0029178 A1
`
`r-510
`
`MONTH
`
`DAY
`
`YEAR
`
`532
`
`534
`
`536
`
`r-525
`
`HOUR
`
`MIN
`
`SEC
`
`542
`
`544
`
`546
`
`Fig. 18
`
`Page 00024
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 24 of 28
`
`US 2001/0029178 A1
`
`(550
`
`22:00
`01:00
`
`Daily
`01/01/2002
`
`~
`
`""-
`
`556
`
`558
`
`)
`
`552
`
`\_
`
`554
`
`Fig. 19
`
`Page 00025
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 25 of 28
`
`US 2001/0029178 A1
`
`(
`
`(
`
`I I
`
`I
`,~
`
`L - . - - - ' - - - - - - - ' 1 Host
`
`Fig. 20 (a) MT1
`
`Fig. 20 (b) MT2
`
`(
`
`602
`
`604
`
`I
`612 ~
`I
`614
`y
`I 610
`1
`(
`:1 ,...._ --'------.., ---,1
`I
`~--------------~'
`I
`I
`I
`I
`,-t 600
`I
`,---1-r____,.--~-r------., '
`:
`I L - - - -1 - . . - - -_ , J : Host
`I
`I
`I
`612 .~ 610
`614
`{
`I
`(
`,
`'I r-----L----,Ij"""--~1
`:
`I
`
`I
`
`Fig. 20 (c) MT3
`
`I
`I
`'
`I
`, ...
`I
`I
`1
`
`: I
`
`602
`
`(
`
`614
`(
`
`604
`
`(
`
`I
`I aoo
`.,..-,--
`, i
`I I
`1 Host
`I
`612 ~
`y
`I e1o
`I
`I
`I
`I
`
`(
`
`Page 00026
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 26 of 28
`
`US 2001/0029178 A1
`
`,--- 625
`
`Fig. 20 (d) MT1
`
`630 632
`C L
`I
`
`634
`(
`
`Host
`
`625
`
`I
`I
`
`I
`I
`
`Host
`
`I
`I
`,(-- 625
`
`I
`I
`
`Host
`
`634 r
`
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`
`MT2
`
`MT3
`
`630 632
`[
`[
`I
`
`(
`
`630 632
`[
`[
`I
`
`634
`(
`
`Page 00027
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 27 of 28
`
`US 2001/0029178 A1
`
`START
`
`650
`
`(
`
`ARE ENTRIES MADE TO
`SCHEDULING TABLE?
`
`655
`
`UPDATE
`SCHEDULING
`TABLE
`
`665
`
`IS REQUEST FOR
`SCHEDULING TABLE
`REC'D?
`
`y
`
`TRANSMIT
`SCHEDULING
`TABLE REPLY
`PACKET
`
`N
`
`680
`
`Fig. 21
`
`Page 00028
`
`
`
`Patent Application Publication Oct. 11, 2001 Sheet 28 of 28
`
`US 2001/0029178 A1
`
`START
`
`N
`
`DOES HOST DESIRE
`TO OBTAIN MOBILe
`SCHEDULING TABLE?
`
`TRANSMIT SCHEOUUNG TABLE
`REQUEST PACKET
`
`705
`
`TIME OUT PERIOD
`EXPIRED?
`
`y
`
`N
`
`Fig. 22
`
`Page 00029
`
`
`
`US 2001/0029178 A1
`
`Oct. 11, 2001
`
`1
`
`WIRELESS SOFTWARE UPGRADES WITH
`VERSION CONTROL
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`[0001] This application is a continuation-in-part of co(cid:173)
`pending, commonly assigned U.S. patent application Ser.
`No. 09/023,857, filed on Dec. 10, 1998 and entitled "Wire(cid:173)
`less Software Upgrades with Version Control" which is a
`continuation-in-part of co-pending, commonly assigned
`U.S. patent application Ser. No. 09/023,857, filed Feb. 13,
`1998 and entitled "Wireless Software Upgrades with Version
`Control" which is a continuation of commonly assigned U.S.
`Pat. No. 5,848,064, issued Dec. 8, 1998 and entitled "Wire(cid:173)
`less Software Upgrades with Version Control".
`
`TECHNICAL FIELD
`
`[0002] The present invention relates generally to wireless
`software upgrades in wireless communication systems.
`More particularly, the present invention relates to a system
`and method in which software upgrades are provided wire(cid:173)
`lessly to mobile devices upon detecting that software cur(cid:173)
`rently in the mobile devices is outdated.
`
`BACKGROUND OF THE INVENTION
`
`[0003]
`In recent years, the use of wireless (e.g., cellular)
`communication systems having mobile devices which wire(cid:173)
`lessly communicate with a network, such as a local area
`network (LAN) and a wide area network (WAN), has
`become widespread. Retail stores and warehouses, for
`example, may use cellular communications systems to track
`inventory and replenish stock. The transportation industry
`may use such systems at large outdoor storage facilities to
`keep an accurate account of incoming and outgoing ship(cid:173)
`ments. In manufacturing facilities, such systems are useful
`for tracking parts, completed products, defects, etc.
`
`[0004] A typical cellular communication system includes
`a number of fixed base stations or access points intercon(cid:173)
`nected by a cable medium often referred to as a system
`backbone. Also included in many cellular communication
`systems are intermediate base stations which are not directly
`connected to the system backbone. Intermediate base sta(cid:173)
`tions, often referred to as wireless base stations or repeaters,
`increase the area within which base stations connected to the
`system backbone can communicate with mobile devices.
`Unless otherwise indicated, the term "base station" will
`hereinafter refer to both base stations hardwired to the
`network and wireless base stations.
`
`[0005] Associated with each base station is a geographic
`cell. A cell is a geographic area in which a base station has
`sufficient signal strength to transmit data to and receive data
`from a mobile device with an acceptable error rate. Typi(cid:173)
`cally, base stations will be positioned along the backbone
`such that the combined cell area coverage from each base
`station provides full coverage of a building or site. Thus,
`mobile devices roaming within such an area can maintain
`continuous communication with a host computer or other
`device situated along the system backbone.
`
`[0006] Each mobile device roaming within a building or
`site is typically preloaded with software to provide both
`application level and operational level instructional code
`
`(referred to generally herein as "operating software"). The
`mobile device includes one or more processors which
`execute the operating software, thereby allowing the mobile
`device to carry out its appropriate functions. The software is
`stored in memory in the mobile device and may be executed
`at any time depending on the particular operational needs of
`the mobile device.
`
`[0007] Due to changing market needs and advancements
`in technology, for example, it often happens that the soft(cid:173)
`ware which is preloaded into a mobile device becomes
`outdated prior to the time the mobile hardware device
`becomes obsolete. Therefore, a number of methods for
`upgrading the operating software stored in a mobile device
`have been developed.
`
`[0008] One known method for updating software in a
`mobile device is by physically connecting the mobile device
`to a computer capable of upgrading the software. In order to
`upgrade software using this technique it is typically neces(cid:173)
`sary to employ one or more service technicians to assist in
`connecting the mobile device to the computer with a cable
`or the like and executing the software upgrade routine. This
`results in down time for the mobile device and related
`service costs.
`
`[0009] Another known method of updating the operating
`software in a mobile device involves wirelessly transmitting
`software upgrades to the mobile device. When executing a
`wireless software upgrade, a mobile device transmits a
`request to the host computer (via a base station) requesting
`that the host computer transfer the upgraded software. In
`order to ensure a mobile device has the most recent version
`of the operating software, each program within the operating
`software must be downloaded periodically from the host
`computer and stored in the mobile device. Unfortunately, the
`periodic transfer of upgraded operating software to the
`mobile device can be extremely time consuming and
`becomes increasingly more time consuming as the number
`of mobile devices within the system increases. Furthermore,
`since there is no way to determine if software has been
`changed since the previous time the mobile device software
`has been upgraded, time is frequently wasted updating the
`mobile device operating software with the same version of
`software which already exists in the mobile device.
`
`[0010]
`In view of the aforementioned shortcomings asso(cid:173)
`ciated with existing systems and techniques for upgrading
`mobile device operating software, there is a strong need in
`the art for a system and method which does not require
`significant down time or service costs. Moreover, there is a
`strong need in the art for a system and method which avoids
`the inefficiencies associated with conventional wireless
`techniques for upgrading the mobile device operating soft(cid:173)
`ware.
`
`SUMMARY OF THE INVENTION
`
`[0011] A wireless communication system and method is
`provided in which software upgrades are wirelessly trans(cid:173)
`mitted to a mobile device based on a determination of
`whether such an upgrade is necessary.
`
`[0012] According to one embodiment, a wireless commu(cid:173)
`nication system includes a system backbone, a host com(cid:173)
`puter coupled to the system backbone, at least one base
`station coupled to the system backbone, the at least one base
`
`Page 00030
`
`
`
`US 2001/0029178 Al
`
`Oct. 11, 2001
`
`2
`
`station including a base station transceiver for communicat(cid:173)
`ing wirelessly with mobile devices within the system, and at
`least one mobile device having a mobile device transceiver
`for communicating wirelessly with the host computer on the
`system backbone via the at least one base station. The at
`least one mobile device includes a software update schedule
`table for providing one or more times at which the mobile
`device is to inquire and obtain available software upgrades.
`By providing the at least one mobile device with a software
`update schedule table, the at least one mobile device can be
`configured to obtain wireless software upgrades at prede(cid:173)
`termined times. For example, such predetermined times may
`correspond to times when the host computer is at a low-load
`level. In this manner, the amount of activity the host
`computer is subjected to at higher activity or peak times is
`reduced.
`[0013] Entries in the software update schedule table may
`be made manually through a keypad or other user input
`associate with the at least one mobile device or wirelessly
`through communications received from the host computer.
`By providing for wireless updates of the software update
`schedule table, the host computer can, for example, schedule
`updates with multiple mobile devices after a known update
`of the software in the host computer or FTP server is
`completed. Preferably, wireless updates provided by the host
`computer are such as to schedule each mobile device to
`correspond with the host computer and/or FTP server in
`sequential, non-overlapping time intervals during low-load
`periods so as to minimize wireless interference and conten(cid:173)
`tion in obtaining access to the upgrades software files.
`[0014]
`In the event the mobile device is in a sleep mode
`during a scheduled time for conducting an inquiry as to
`whether any upgrades of operating software is available, a
`processor of the mobile device is configured to temporarily
`place the mobile device in a fully operation mode until a
`process of determining and obtaining any upgrades operat(cid:173)
`ing software is complete. In this manner, updates may be
`scheduled at low activity periods without the need for an
`operator to physically activate the mobile device to a full
`power state.
`[0015]
`In accordance with one particular aspect of the
`invention, a wireless communication system includes a
`system backbone, a host computer coupled to the system
`backbone, at least one base station coupled to the system
`backbone, the at least one base station including a base
`station
`transceiver for communicating wirelessly with
`mobile devices within the system, and at least one mobile
`device having a mobile device transceiver for communicat(cid:173)
`ing wirelessly with the host computer on the system back(cid:173)
`bone via the at least one base station. A method of operation
`includes the steps of maintaining in the at least one mobile
`device a software update schedule table indicating at least
`one time at which the at least one mobile device is to inquire
`as to whether an upgrade of operating software is available,
`determining in the at least one mobile device whether the
`software update schedule table indicates it is time to inquire
`as to whether an upgrade of operating software is available,
`in the event the at least one mobile device determines from
`the software update schedule table that it is time to initiate
`obtaining the upgrade of operating software, the at least one
`mobile device determining whether a version of the oper(cid:173)
`ating software stored in the at least one mobile device is a
`current version of the operating software, and wirelessly
`
`updating the operating software stored in the at least one
`mobile device if it is determined that the operating software
`stored in the at least one mobile device is not the current
`verswn.
`[0016]
`In accordance with another particular aspect of the
`invention, a wireless communication system is provided.
`The wireless communication system includes a system back(cid:173)
`bone, a host computer coupled to the system backbone, at
`least one base station coupled to the system backbone, the at
`least one base station including a base station transceiver for
`communicating wirelessly with mobile devices within the
`system, at least one mobile device having a mobile device
`transceiver for communicating wirelessly with the host
`computer on the system backbone via the at least one base
`station, and wherein the at least one mobile device includes
`a software update schedule table providing at least one time
`at which the at least one mobile device is to determine
`whether to selectively update mobile device operating soft(cid:173)
`ware with at least one of the host computer and an FTP
`server coupled to the system backbone based on an initial
`comparison in accordance with a predetermined criteria
`indicative of whether updating of the mobile device oper(cid:173)
`ating software is appropriate.
`[0017]
`In accordance with still another aspect of the
`invention, a mobile device is provided. The mobile device
`includes a processor, a memory coupled to the processor, a
`transceiver for wirelessly transmitting and receiving infor(cid:173)
`mation, and a software update schedule table stored in the
`memory, the software update schedule table providing at
`least one entry indicating a time at which the at least one
`mobile device is to determine whether to selectively update
`mobile device operating software with at least one of a host
`computer and an FTP server coupled to a system backbone
`based on an initial comparison in accordance with a prede(cid:173)
`termined criteria indicative of whether updating of the
`mobile device operating software is appropriate.
`
`[0018] To the accomplishment of the foregoing and related
`ends, the invention, then, comprises the features hereinafter
`fully described and particularly pointed out in the claims.
`The following description and the annexed drawings set
`forth in detail certain illustrative embodiments of the inven(cid:173)
`tion. These embodiments are indicative, however, of but a
`few of the various ways in which the principles of the
`invention may be employed. Other objects, advantages and
`novel features of the invention will become apparent from
`the following detailed description of the invention when
`considered in conjunction with the drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0019] FIG. 1 is a block diagram of a wireless commu(cid:173)
`nication system in accordance with an exemplary embodi(cid:173)
`ment of the present invention;
`[0020] FIG. 2 is a block diagram of a mobile terminal in
`accordance with the present invention;
`[0021] FIG. 3a is a block diagram of a host computer in
`accordance with the present invention;
`[0022] FIG. 3b is a block diagram of an FTP server in
`accordance with the present invention;
`[0023] FIG. 4 illustrates the contents of a bootptab table
`stored in memory within the host computer, the bootptab
`
`Page 00031
`
`
`
`US 2001/0029178 Al
`
`Oct. 11, 2001
`
`3
`
`table including the internet protocol (IP) addresses and boot
`file package names associated with each mobile terminal in
`the system in accordance with the present invention;
`
`[0024] FIG. Sa illustrates the general format of the pack(cid:173)
`age definition files stored in memory within the host com(cid:173)
`puter, wherein each package definition file includes infor(cid:173)
`mation identifying operating software to be used by mobile
`terminals within the system and information indicating the
`version of the operating software in accordance with the
`present invention;
`
`[0025] FIGS. 5b, 5c and 5d represent exemplary package
`definition files in accordance with the present invention;
`
`[0026] FIG. 6 is a block diagram of a base station in
`accordance with the present invention;
`
`[0027] FIGS. 7(a)-7(e) represent schematically a process
`in which information packets are exchanged between a
`mobile terminal and the host computer (via a base station) in
`order to identify and transfer upgraded operating software in
`accordance with an exemplary embodiment of the present
`invention;
`
`[0028] FIGS. 7(j)-7(i) represent schematically a process in
`which information packets are exchanged between a mobile
`terminal and the FTP server (via a base station) in order to
`download updated operating software in accordance with an
`exemplary embodiment of the present invention;
`
`[0029] FIG. Sa and Sb is a system flowchart suitable for
`programming a mobile terminal to request and download
`upgraded operating software in accordance with the present
`invention;
`
`[0030] FIG. 9 is a system flowchart suitable setting up the
`host computer to respond to the mobile terminal in accor(cid:173)
`dance with the present invention;
`
`[0031] FIG. 10 is a system flowchart suitable for setting
`up the FTP server in accordance with the present invention;
`
`[0032] FIG. 11 is a system flowchart suitable for program(cid:173)
`ming the mobile terminal and setting up the host computer
`and FTP server to enable a user to select from among
`different packages of operating software available from the
`FTP server in accordance with the present invention;
`
`[0033] FIG. 12 is a block diagram of a WAN based system
`in accordance with the present invention;
`
`[0034] FIG. 13a illustrates the general format of the
`package definition files stored in memory within the host
`computer, wherein each package definition file includes
`information identifying operating software to be used by
`mobile terminals within the system and information indi(cid:173)
`cating the version of the operating software in accordance
`with an alternative embodiment of the present invention;
`
`[0035] FIGS. 13b, 13c and 13d represent exemplary pack(cid:173)
`age definition files in accordance with an alternative
`embodiment of the present invention;
`
`[0036] FIGS. 14(a)-14(h) represent schematically a pro(cid:173)
`cess in which information packets are exchanged between a
`mobile terminal and the host computer (via a base station) in
`order to identify and transfer upgraded operating software in
`accordance with an alternative embodiment of the present
`invention;
`
`[0037] FIGS. 15(a)-15(b) are system flowcharts suitable
`for programming a mobile terminal to request and download
`upgraded operating software from the host computer in
`accordance with an alternative embodiment of the present
`invention;
`[0038] FIG. 16 is a system flowchart suitable setting up
`the host computer to respond to the mobile terminal seeking
`upgraded operating software in accordance with an alterna(cid:173)
`tive embodiment of the present invention;
`[0039] FIG. 17 is a block diagram of a mobile terminal in
`accordance with another alternative embodiment of the
`present invention;
`
`[0040] FIG. 18 is a representation of a date keeper and
`time keeper stored in memory of the mobile terminal of
`FIG. 17;
`
`[0041] FIG. 19 is a software update schedule table stored
`in memory of the mobile terminal of FIG. 17;
`
`[0042] FIGS. 20(a)-20(d) are diagrams depicting an
`exchange of data between the mobile terminal and the host
`computer in accordance with the another alternative embodi(cid:173)
`ment of the present invention;
`
`[0043] FIG. 21 is a flowchart depicting the operations of
`the mobile terminal of FIG. 17 in accordance with the
`another alternative embodiment of the present invention;
`and
`
`[0044] FIG. 22 is a flowchart depicting the operations of
`the host computer in accordance with the another alternative
`embodiment of the present invention.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`[0045] The present invention will now be described with
`reference to the drawings wherein like reference numerals
`are used to refer to like elements throughout.
`
`[0046] As is mentioned ab