throbber
.·"
`
`';..;
`
`.
`
`\. ~ · .
`'9 . ·~
`\
`. :.
`'i.
`..!!!
`I ~
`
`]1 t/ I
`iV/''
`I ············
`
`..
`
`'.
`
`I
`
`!:;j:::·
`
`Foreign priority claimed
`35 USC 119 conditions met
`
`crl no
`O yes
`O ye~v,rn no.
`
`Examiner's initials
`
`SUBCLASS
`
`GROUP ART UNIT
`
`f.!.AAMlNER
`
`-----~---
`
`....
`
`AS
`FILED
`
`STATE OR SHEETS TOTAL
`COUNTRY DRWGS. CLAIMS
`
`INDEP.
`CLAIMS
`
`FILING FEE
`RECEIVED
`
`ATTORNEY'S
`DOCKET NO.
`
`PARTS OF APPLICATION
`FILED SEPARATELY
`
`NOTICE OF ALLOWANCE MAILED
`
`Label
`Area
`
`Form PT0-436A
`(Rev. 8/92)
`
`)/"M6
`
`/3,~
`
`Assistant Examiner
`
`ISSUE
`BATCH
`Primary Examiner NUMBER
`PREPARED FOR ISSUE
`
`WARNING: The information disclosed herein may be restricted. Unauthorized disclosure ·nay be prohibited
`outside the U.S.
`by the United States Code Title 35, Sections 122, 181 and 368. Possessi
`Patent & Trademark Office is restricted to authorized employees and contr« Jrs only.
`
`/CAl"'C\
`
`Page 1 of 142
`
`SAMSUNG EXHIBIT 1004
`
`

`

`>
`
`PATENT APPLICATION
`
`'/lll!IJIH
`
`Page 2 of 142
`
`

`

`Staple ls.s~e ~jp Hef-e
`
`•
`
`. """"·
`
`IDNO.
`
`POSITION
`CLAS$tFIER
`/e)CAMINER
`
`,,
`
`'',
`
`;
`
`SPECi.HAND
`· Fil.£ MAINT.
`DRAFtlNG
`
`INDEX OF CLAIMS
`
`Date
`
`SYMBOLS
`./ ................................. Rejected
`= ................................. Allowed
`• (Through numberal) Canceled
`+ ................................. Restricted
`N .............•.•............•.... Non-elected
`I ................................. Interference
`A ................................. Appeal
`0 ................................. Objected
`
`Date
`
`<ii
`c:
`u:::
`
`Claim
`iii
`r::
`:g,
`0
`51
`52
`53
`54
`55
`56
`57
`58
`59
`60
`61
`62
`63
`64
`65
`66
`67
`68
`69
`70
`71
`72
`73
`74
`75
`76
`77
`78 ~
`79
`80
`81
`82
`83:
`54:
`85
`8&
`87
`88
`89
`901
`91
`92
`93
`94
`95
`![16
`97
`98
`99
`100
`
`Page 3 of 142
`
`

`

`( /'
`
`;
`
`. UfllJalt .Pb~ ~ilt~
`c,4l/1."1tt t >
`
`(AIGHT CJutSfD.E);
`
`Page 4 of 142
`
`

`

`' ;,:<, Ji,
`'t
`
`· . .
`
`' .
`
`08 422075
`PATENT APPLICATION SERIAL NO.
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`·~.
`
`~ ,l.
`
`!
`
`090 BA 04/25/95 08422075
`
`1 201
`
`683.00 CK 019743-0165
`
`PT0-1556
`(5/87)
`
`Page 5 of 142
`
`

`

`APPLICATION FOR U.S. PATENT
`TRANSMITTAL FORM
`
`PATENT
`
`Attorney Docket No.:
`19743-0165
`
`Sir:
`
`of:
`
`Transmitted herewith for filing is the patent application
`
`Inventors:
`
`Dale E. Beasley, et al.
`
`For:
`
`SYSTEM AND METHOD FOR REMOTE PATCHING OF
`OPERATING CODE LOCATED IN A MOBILE UNIT
`
`Enclosed are: 5 Sheets of Formal Drawings
`
`Total Claims:
`Independent Claims
`
`FEE CALCULATION
`
`Number
`42
`
`5
`
`-20 =
`- 3 =
`
`Number
`Extra
`22
`
`Rate
`x $11 =
`x $38 =
`2
`TOTAL FILING FEE=
`
`FEE
`
`Basic Fee
`$365.00
`
`$242.00
`
`$76.00
`
`$683.00
`
`Enclosed is a check in the amount of $683. oo. Please charge
`any additional fees or credit any overpayment to Deposit Account
`No. 02-0384 of BAKER & BOTTS, L.L.P.
`
`BAKER & BOTTS, L.L.P.
`Attorneys for Applicants
`
`April 12. 1995
`Date
`
`DALOl:85683.1
`
`Page 6 of 142
`
`

`

`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`In re Application of:
`Date Filed:
`Title:
`
`Dale E. Beasley, et al.
`April 12, 1995
`FOR REMOTE
`SYSTEM AND METHOD
`OPERATING
`CODE
`PATCHING
`OF
`LOCATED IN A MOBILE UNIT
`
`Box Patent Application
`Honorable Commissioner of
`Patents and Trademarks
`Washington, D.c.
`20231
`
`Dear Sir:
`
`CERTIFICATE OF MAILING BY EXPRESS MAIL
`
`I hereby certify that the attached Patent Application,
`Declaration and Power of Attorney, a check in the amount of
`$683.00 to cover the cost of the patent application filing
`fee, Assignment cover Sheet, Assignment, $40.00 check to
`cover the assignment recording fee, Verified Statement
`(Declaration) Claiming Small Entity Status, Information
`Disclosure Statement with references, and 5 sheets of
`formal drawings are being deposited with the United States
`Postal Service "Express Mail Post Office to Addressee"
`service under 37 C.F.R. 1.10 on this 12th day of April,
`1995 addressed I to
`the Commissioner of Patents and
`! •
`Trademarks, Washfngton, D.C.
`20231.
`
`Express Mail Rec~ipt
`No. TB571700844 US
`Attorney's Docket:
`19743-0165
`
`DALOl:85685.1
`
`----------------------
`
`Page 7 of 142
`
`

`

`J LJ
`ATTORNEY'S DOCKET
`19743-0165
`
`PA1'ENT APPLICATION
`
`1
`
`SYSTEM AND METHOD FOR REMOTE PATCHING
`O~ 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.
`
`5
`
`Page 8 of 142
`
`

`

`19743-0165
`
`2
`
`/MJ ()75
`
`PA4~NT APPLICATION
`
`(
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`BACKGROUND OF THE INVENTION
`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 distribution 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. Patent No. 5,155,847 entitled "Method and
`Apparatus for Updating Software at Remote Locations."
`U.S. Patent 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. Patent 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.
`
`Page 9 of 142
`
`

`

`19743-0165
`
`PA'.1. .t!!NT APPLICATION
`
`3
`
`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 eliminated. 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 conununication 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 conununication network. The at
`least one patch message is received in a first mobile
`unit where the first 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.
`A technical 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
`conununication link. The patching of code may be to fix
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 10 of 142
`
`

`

`19743-0165
`
`PA~~NT APPLICATION
`
`4
`
`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 without 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 information 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.
`
`5
`
`10
`
`15
`
`20
`
`Page 11 of 142
`
`

`

`19743-0165
`
`PA'l.l:!!NT APPLICATION
`
`5
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`For a more complete understanding of the present
`invention and for further features and advantages,
`reference is now made to the following description taken
`in conjunction with the accompanying drawings, wherein
`like referencynumerals represent like parts, in which:
`FIGURE 1 illustrates one embodiment of a system for
`remote patching of operating code located in a mobile
`J
`unit;
`FIGURE 2 is a schematic representation of one
`embodiment of J8: manager host;
`FIGURE 3 is a schematic representation of one
`embodiment of ;6 mobile unit;
`FIGURE 4 illustrates one embodiment of message
`formats for patch messages used to represent a patch
`file;
`/
`FIGURE 5 is a flow chart showing one embodiment of a
`method of operation of a mobile unit for remote patching
`of operating {ode located in the mobile unit;
`FIGURE 6 is a flow chart showing one embodiment of a
`method of creating patched operating code in a mobile
`unit; and
`;·
`FIGURE
`is a flow chart showing one embodiment of a
`method of resetting and restarting with patched operating
`code.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`Page 12 of 142
`
`

`

`19743-0165
`
`PA~~NT APPLICATION
`
`6
`
`DETAILED DESCRIPTION OF THE INVENTION
`FIGURE 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 communication network 12 that includes an
`enhanced services complex 14.
`Communication network 12 may include one or a
`combination of several communication technologies, such
`as a wireless communication network like the cellular
`telephone network, a land-line communication network,
`another portion of the public switched telephone network
`(PSTN), a dedicated communication link, or any other
`appropriate communication link. Communication network 12
`can support 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
`network 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.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 13 of 142
`
`

`

`19743-0165
`
`PA'l:clNT APPLICATION
`
`7
`
`In the embodiment of FIGURE 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 modifications made. Furthermore,
`as described below, the messages can 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 patch messages to mobile units
`applies equally to the transmission of download messages
`that combine to form new operating code to replace ~he
`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
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 14 of 142
`
`

`

`19743-0165
`
`PA' ... ~NT APPLICATION
`
`8
`
`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 execution to the patched
`operating code.
`In order to receive a complete patch
`file, each mobile unit receives all of the 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
`manager 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
`associated with each level of enhancement. This can be
`accomplished by addressing patch messages to the
`appropriate mobile units. For example, mobile units 22
`and 24 associated 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 communication 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},
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 15 of 142
`
`

`

`19743-0165
`
`PA'""&NT APPLICATION
`
`9
`
`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,
`transmission 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 complete. 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 sessions that do not
`require interactive or substantial bidirectional
`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. Patent No.
`5,155,689 entitled "Vehicle Locating and Communicating
`Method and Apparatus".
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`lD
`
`I ________ _
`
`Page 16 of 142
`
`

`

`19743-0165
`
`PA':i.~NT APPLICATION
`
`10
`
`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 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 aQdress 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. A patch 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 FIGURE 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 information to establish communication with
`mobile units 22, 24, 26, 28, and 30 using communication
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`[\
`
`Page 17 of 142
`
`

`

`19743-0165
`
`PA':i. .c:NT APPLICATION
`
`11
`
`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 mo ile units, and transmits the discrete
`atch message ,lication Serial No. 08(095, 166
`entitled
`e hod and Apparatus for a Nation-wide Cellular
`Telephone Network" 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
`. ~syste: :~,~~r integrated into a single platform as
`l,/"describe~plication Serial No. 08/095,166.
`A technical 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.
`FIGURE 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
`
`5
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 18 of 142
`
`

`

`19743-0165
`
`PA'.l.~NT APPLICATION
`
`12
`
`the mobile or land-line public switched telephone network
`{PSTN), or other land-based communication links,
`satellite-based communication links, or any other
`suitable communication link that allows manager 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 coder/decoder, 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.
`FIGURE 3 is a schematic representation of one
`embodiment of a mobile unit, indicated generally at SO.
`Mobile units 22, 24, 26, 28, and 30 of FIGURE 1 may be
`constructed in a similar manner as mobile unit SO of
`FIGURE 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
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`\3
`
`Page 19 of 142
`
`

`

`19743-0165
`
`PA.;,~NT APPLICATION
`
`13
`
`coder/decoder, or other data encoder 62. Coder/decoder
`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 storage and retrieval of data.
`Furthermore, first flash bank 66, second flash bank 68,
`and RAM 70 may be separate devices or portions of one or
`more devices. An input device 72 and an output device 74
`are also coupled to processor 64.
`In operation, mobile communications device 52
`receives and transmits messages over communication
`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 drivers 60 and coder/decoder
`62. Processor 64 manages the operation of mobile unit
`50. 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 executes current
`operating code out of first flash bank 66 or second flash
`bank 68. Processor 64 performs functions according to
`the current 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 processor 64 should initiate a patch
`process.
`If processor 64 is currently executing an
`appropriate version of operating code suitable to receive
`the defined patch or patches, processor 64 initiates the
`patch process to implement the patch or patches defined
`by the patch messages.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 20 of 142
`
`

`

`19743-0165
`
`PA:~~NT APPLICATION
`
`14
`
`Processor 64 stores patch information defined by the
`patch messages in RAM 70.
`If processor 64 is executing
`out of first flash bank 66, processor 64 creates patched
`operating code in second flash bank 68 by merging the
`patch information with the current operating code. After
`the patched operating code is created, processor 64 sets
`a flag indicating that further execution should occur out
`of second flash bank 68. Processor 64 then initiates a
`reset so that mobile unit 50 restarts with processor 64
`executing the patched operating code located in second
`flash bank 68. An analogous switch from second flash
`bank 68 to first flash bank 66 can occur when the current
`operating code is located in second flash bank 68.
`In
`this manner, mobile unit 50 can enhance, correct, or
`replace the current operating code based upon discrete
`patch or download messages transmitted over communication
`network 12.
`The components of mobile unit 50 shown in FIGURE 3
`may be packaged into one or more housings. Mobile unit
`50 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 50 may be used by surveyors, rescue teams,
`individuals that may change forms of transportation, or
`any other application requiring portability of mobile
`unit 50.
`FIGURE 4 illustrates one embodiment of message
`formats for transmission over communication network 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 program download messages for
`replacing the current code in the mobile unit with a new
`version of code. All message formats shown in FIGURE 4
`are inserted in a general message format, that begins
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 21 of 142
`
`

`

`19743-0165
`
`PA·.i-~NT APPLICATION
`
`15
`
`with a start, message type, length, and identifier field
`and ends with a checksum and end field. These messages
`can be sized to accommodate optimal or preferred message
`sizes for different technologies in communication network
`12.
`
`,
`
`,
`
`The patch messages include: a new patch file
`message, an append patch message, an append data message,
`and a delete unincorporated patches message. These patch
`messages are designated as type II o 11
`11 1 11
`11 2" , and "3 11
`respectively.
`In the illustrated embodiment, each patch
`message includes up to 252 bytes of information.
`A new patch file message operates to indicate to a
`mobile unit that a set of one or more patch messages
`representing a new patch file is being transmitted. As
`described above, the set of patch messages will define a
`patch or patches to be made to current operating code.
`The new patch file message also operates to define the
`first patch.
`A new patch file message includes eight fields, as
`shown in FIGURE 4. The new patch file message includes a
`"message type" field which is one byte and holds a 11 0 11
`indicating that the message is a new patch file message.
`A "patch file ID" field is one byte and comprises a
`unique identification number for the patch file
`represented by the set of patch messages. Each patch
`message associated with the patch file includes this
`unique patch file ID. A "software version" field is
`eight bytes and provides an indication of which operating
`code versions are appropriate for receiving the patch or
`patches contained in the represented patch file. The
`software version can operate as a mask to indicate s~ch
`things as phase, release, revision, and modifications
`made. A "number of patches" field is one byte and gives
`the total number of patches that are included in the set
`of patch messages identified by the patch file ID. Each
`patch may be represented by one or more discrete patch
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Page 22 of 142
`
`

`

`19743-0165
`
`Pk .. .oNT APPLICATION
`
`16
`
`messages. A "memory address to be modified by patch"
`field is four bytes and identifies the memory address of
`the current operating code to be modified by the first
`patch which is defined by the new patch file message. A
`"starting address in patch memory space" field is four
`bytes and defines the starting address in the patched
`operating code where the first patch is to be written. A
`"~umber of bytes of data" field is one byte and defines
`the number of bytes of information in a "patch data"
`field. Lastly, the "patch data" field can include from
`one to 232 bytes and holds the data associated with the
`first patch.
`An append patch message operates to define an
`additional patch to be made to current operating code.
`The append patch message includes six fields that are
`similar to fields in the new patch file message . . A
`"message type field" is one byte and is a 11 1 11 to indicate
`an append patch message. A "patch file ID" field is one
`byte and comprises the unique identification number for
`the patch file. This patch file ID must match the patch
`file ID contained in the previous new patch file message.
`A "memory address to be modified by patch" field is four
`bytes and identifies the memory address of the current
`operating code to be modified by the additional patch
`defined by the append patch message. A "starting address
`in patch memory space" field is four bytes and defines
`the starting address in the patched operating code where
`the additional patch is to be written. A "number of
`bytes of data" field is one byte and defines the number
`of bytes of information in a "patch data" field. Lastly,
`the "patch data" field can include from one to 241 bytes
`and holds the data associated with the additional patch.
`An append data message operates to provide patch
`extension data where the data associated with a patch
`requires more space than is available in the patch data
`field of a new patch file message or

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