`
`FILING DATE|GLASS
`SUBCLASS
`SERIAL NUMBER
`
`PATEELOATE. 997
`
`5699275
`
`
`
`
`NUMBER
`= gu
`
`a, 0B 4
`
`
`
`
`
`
`‘oreign priority claimed
`oO
`O
`
`
`
`INDEP.|FILING FEE ATTORNEY'S
`
`35 USC 119conditions met Yep no
`
`CLAIMS|RECEIVED DOCKET NO.
`
`
`Verified and Acknowledged Examiners iniials
`
`
`
`
`
`
`
`
`
`
`
` U.S. DEPT. OF COMM./ PAT. & TM——PTO-a36L (Rev:
`
`
`PARTS OF APPLICATION
`
`
`FILED SEPARATELY
`
`
` Yang Bin Yo /
`NOTICE OF ALLOWANCE MAILED
`
`
`
`Assistant acti
`A
`
`
`
`“:|CSSUEFEE
`oceanVanCo
`
`
`“HASSAN KIZOU,#
`PRIMARYEXAMINER
`ISSUE
`
`BATCH
`GROUP 2600
`
`NUMBER
`Prirnary Examiner
`
`
`
`
`
`WARNING:
`‘The information disclosed herein may be restricted. Unauthorized disclosure-nay be prohibited
`by the United States Code Title 35, Sections 122, 181 and 368. Possess! reerh
`Patent & Trademark Office is restricted to authorized employees and contre 2s only:
`
`Cry re,
`
`~] fr:
`
`
`
`
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 1
`Petitioner Microsoft Corporation - Ex. 1002, p. 1
`
`(FACE)
`
`
`
`PATENT APPLICA
`
`aANipitws
`
`APPROVED FOR LICENSE [J
`INITIALS —
`
`CONTENTS
`
`| 08 422075|
`
`
`
`
`
`
`
`on2papers.
`\ 1. re
`
`
`
`oS
`
`co
`
`
`
`(FRONT)
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 2
`Petitioner Microsoft Corporation - Ex. 1002, p. 2
`
`
`
`
` oe
`
` CROSS REFERENCE(S)
`ee
`
`
`
`
`
`tH4 eT
` RY EXAMINER (PLEASE STAMP OR PRINT FULL NAME)
`SSISTANT EXAMINER (PLEASE STAMP OF PRINT FULL NAME}
` z\>
`
`
`
`woot
`| Kana Bin Yo
`
`
`PRI
` PTO 270
`
`
`
`MAG5451) fil
`
`
` SERcHHy|_|
` TSPsiobs]4NotPe
`no(|Origina
`
`liaiybbe
`
`
`52.
`|
`54|
`|_|
`[54] _|
`|}35)
`
`
`56 |=45
`
`
`57 cstail
`oh ——|
`
`59
`[|
`60 tft td
`6i
`62
`aeDRSS,
`63
`Zz
`64
`
`65||
`66
`a I
`
`87 |||
`
`68
`69feat=sil
`i
`oi||||ttt
`
`\ 7A
`jr} |
`|
`
`73|
`|
`be
`74
`|_|
`75
`PE]
`76
`
`eee76 | C
`
`
`fa Lt
`73
`at
`he|_—s
`80
`ei
`|__|
`tare at4lt
`
`Caen
`82
`fefae
`~~ Nan-elected
`83
`Intererence
`Ae]ols
`“teed
`85
`ih=|
`sei ||||||J
`ait|ttt|i
`
`
`a STAPLE _
`
`AREA
`
`4US, GOVERNMENT PRIMINGOESICE
`
`1995—294-06°
`
`CLASS
`
`ORIGINAL CLASSIFICATION
`
`|
`[SUBCLASS
`Sirkeooe
` SUBCLASS
`(ONE SUBCLASS PER BLOCK)
`
`
`
` i
`
`¢_ APPLICANT'S NAME(PLEASE PRINT)
`
`(REV. 6-91)
`ye.
`
`4
`a
`
`:
`|
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`
`r
`
`=
`
`“16Beco
`
`|;LE
`
`
`
`|=
`
`H
`4||_|
`
`|
`
` a
`SREREBREE
`rH .HHH|
`= =|iJ[_|rhrrnl
`aANSPSRNRRETLSHAMMEINEbe2
`SR
`rk|_|HHLT
`
`elesatH
`beepPETPt||{4reteHEE
`waealaleSoFood
`
`- te]
`
`aoea9]|
`90 Pei
`
`94
`
`92 f99
`94 Sele
`05
`L
`
`=
`Set
`| 9798
`Y|||}
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 3
`Petitioner Microsoft Corporation - Ex. 1002, p. 3
`
`
`
`POSITION
`
`[conpscoma[|
`SPEC. HAND
`FILE MAINT.
`
`
`
`INDEX OF CLAIMS
`
`
`
`
`aL
`
`
` ‘|
`16aLt Nz]
`
`RialasiabtetaeHSPRBEEEDIST
`PCECCCeeeeeHEHPCE
`=lalclalaftaleisilelatalslalablelalaale|s|SaSieRaelaaaaewales
`PCECCeCeeeee
`PEREEEEEEEEEEEE
`PCE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` ae
`
`
`
`
`
`
`
`fn Cet INCINES
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 4
`Petitioner Microsoft Corporation - Ex. 1002, p. 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`APS Seoveh
`
`Toric
`
`(34/0148) (RIGHT OUTSIDE)
`
`Consalt Elhs Ramiree}
`
`ili
`
`Consult Ells Kemived
`
`seen
`Petitioner Microsoft Corporation - Ex. 1002, p. 5
`Petitioner Microsoft Corporation - Ex. 1002, p. 5
`
`
`
`
`
`UNITED STATES PATENT AND TRADEMARKOFFICE
`CERTIFICATE OF CORRECTION
`
`: 5,699,275
`PATENT NO.
`: December 16, 1997
`DATED
`INVENTOR(S) : Beasley,e7al.
`
`It is certified that error appears in the above-identified patent and that said Letters Patent is hereby
`corrected as shown below:
`
`Column 5,line 41, after "message.", delete "application", and insert
`-- Application --.
`
`Column5, line 47, after "in", delete "application" and insert
`-- Application--.
`
`Column 15, line 13, delete "execution" and insert -- executing --.
`
`Signed and Sealed this
`
`Twelfth Day of May, 1998
`
`Attest:VSenceledten.
`
`Commissioner of Patents and Trademarks
`Attesting Officer
`
`
`BRUCE LEHMAN
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 6
`Petitioner Microsoft Corporation - Ex. 1002, p. 6
`
`
`
`PATENTNO.
`BATED
`
`INVENTOA(S) -
`
`It is certified that error appears in the above-identified patent and that said Letters Patentis hereby
`corrected as shown below:
`
`Column15, fine 13, delete "executing", and insert -- execution --.
`
`Column 15, line 58, delete "execution", and insert -- executing --.
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`-—-§,699,275
`=
`December 16, 1997
`Beasley, e/ al.
`
`Conmnissioner of Patents and Trademarks
`
`
`
`Signed and Sealed this
`
`FourthDayof August, 1998
`
`nce eho.
`
`BRUCE LEHMAN
`
`Altest:
`
`Attesting Officer
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 7
`Petitioner Microsoft Corporation - Ex. 1002, p. 7
`
`
`
`lB 4122076
`
`PATENT APPLICATION SERIAL NO.
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`090 BA 04/25/95 08422075
`
`1 201
`
`683.00 CK 019743-0145
`
`PTO-1556
`(5/87)
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 8
`Petitioner Microsoft Corporation - Ex. 1002, p. 8
`
`
`
`1995-04-1
`
`\
`
`PATENT
`
`APPLICATION FOR U.S. PATENT
`TRANSMITTAL FORM
`
` ' ot Application
`
`:
`
`ri SIONER OF PATENTS
`Nati PAT
`Ss
`Washington, D.C.
`
`20231
`
`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
`
`
`
`
`
`___FEECALCULATION_
`
`Number
`
`Number
`Extra
`
`
`
`
`
`Total Clains: ps2feos|a|xgun=|_s24z00_
`
`east claims|5 |[-3=|2|xs3e=|$76.00|_TOTAL FILING FEE =
`
`
`___$683.0000
`|
`
`
`[re|
`
`Rate
`
`Basic Fee
`$365.00
`
`Enclosed is a check in the amount of $683.00. 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
`
`Date
`
`DALO1:85683.1
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 9
`Petitioner Microsoft Corporation - Ex. 1002, p. 9
`
`
`
`
`
`
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`In re Application of:
`Date Filed:
`
`Dale E. Beasley, et al.
`April 12, 1995
`
`Title:
`
`SYSTEM AND METHOD
`
`FOR
`
`REMOTE
`
`PATCHING
`
`OF
`
`OPERATING
`
`CODE
`
`LOCATED IN A MOBILE UNIT
`
`Box Patent Application
`Honorable Commissioner of
`
`Patents and Trademarks
`
`Washington, D.C.
`
`20231
`
`Dear Sir:
`
`TIFICATE OF
`
`LING
`
`XPR
`
`I
`
`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
`to the Commissioner
`of Patents
`and
`Trademarks, Washington, D.C,
`20231.
`ee
`
`Ay
`a
`aa dak Yui
`
`Anthony Mauricio
`
`Express Mail Receipt
`No. 1TB571700844 US
`Attorney’s Docket:
`19743-0165
`
`DALO1:85685.1
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 10
`Petitioner Microsoft Corporation - Ex. 1002, p. 10
`
`
`
`Io
`
`ATTORNEY'S DOCKET
`19743-0165
`
`
`
`1 £3.00 26! ft
`
`PAENT APPLICATION
`
`144,075
`
`SYSTEM AND METHOD FOR REMOTEPATCHING_
`OFOPERATING CODE LOCATED IN A MOBILE UNIT
`anneen
`
`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 ina
`mobile unit.
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 11
`Petitioner Microsoft Corporation - Ex. 1002, p. 11
`
`
`
`.
`
`19743-0165
`
`GAA 015
`
`PA, dNT APPLICATION
`
`BACKGROUNDOFTHEINVENTION
`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.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 12
`Petitioner Microsoft Corporation - Ex. 1002, p. 12
`
`
`
`19743-02165
`
`PA.HNT APPLICATION
`
`SUMMARYOFTHEINVENTION
`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 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 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
`communication link.
`The patching of code may be to fix
`
`10
`
`i5
`
`20
`
`25
`
`30
`
`35
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 13
`Petitioner Microsoft Corporation - Ex. 1002, p. 13
`
`
`
`19743-0165
`
`PA. e2NT APPLICATION
`
`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.
`
`10
`
`15
`
`20
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 14
`Petitioner Microsoft Corporation - Ex. 1002, p. 14
`
`
`
`19743-0165
`
`PALHNT APPLICATION
`
`F
`
`S
`
`Pp
`
`E
`
`WI
`
`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 reference numerals represent like parts, in which:
`FIGURE 1 illustrates one embodiment of a system for
`remote patching of operating code located in a mobile
`unit;
`i
`FIGURE 2 is a schematic representation of one
`embodiment of a manager host;
`FIGURE 3 is a schematic representation of one
`embodiment of a 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 code 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 7 is a flow chart showing one embodiment of a
`method of resetting and restarting with patched operating
`
`10
`
`15
`
`20
`
`25
`
`code.
`
`
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 15
`Petitioner Microsoft Corporation - Ex. 1002, p. 15
`
`
`
`19743-0165
`
`PAicNT APPLICATION
`
`D
`
`L
`
`ESCR
`
`ION OF
`
`E
`
`TON
`
`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.
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 16
`Petitioner Microsoft Corporation - Ex. 1002, p. 16
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`~~
`
`
`
`19743-0165
`
`PAL GNT APPLICATION
`
`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.
`
`the
`
`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 he 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,
`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 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
`Petitioner Microsoft Corporation - Ex. 1002, p. 17
`Petitioner Microsoft Corporation - Ex. 1002, p. 17
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`
`
`19743-0165
`
`PA.4NT APPLICATION
`
`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),
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 18
`Petitioner Microsoft Corporation - Ex. 1002, p. 18
`
`
`
`19743-0165
`
`PAL ANT APPLICATION
`
`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
`hel
`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”,
`
`ae
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`‘
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 19
`Petitioner Microsoft Corporation - Ex. 1002, p. 19
`
`
`
`19743-0165
`
`PA.2NT 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 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.
`A patch message addressed
`to all of the mobile units can be referred to as a
`
`A patch message addressed to a group
`broadcast message.
`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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 20
`Petitioner Microsoft Corporation - Ex. 1002, p. 20
`
`
`
`19743-0165
`
`PA. «NT APPLICATION
`
`11
`
`Enhanced services complex 14 then ensures
`network 12.
`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
`
`5
`
`
`
`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
`
`10 atch message/Application Serial No. 08/095,166
`
`entitled
`“Méthod 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
`in-
`system 10,, or integrated into a single platform as
`
`15
`
`20
`
`25
`
`30
`
`35
`
`|Aaoserived in(Application Serial No. 08/095,166.
`
`A téchnical advantage of the present invention is
`allowing remote patching of operating code located ina
`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
`Petitioner Microsoft Corporation - Ex. 1002, p. 21
`Petitioner Microsoft Corporation - Ex. 1002, p. 21
`
`:
`
`*
`
`
`
`
`
`|
`
`19743-0165
`
`PA. aNT 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, DIMF 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,
`<b 4
`FIGURE 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 FIGURE 1 may be
`constructed in a similar manner as mobile unit 50 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, DIMF
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 22
`Petitioner Microsoft Corporation - Ex. 1002, p. 22
`
`
`
`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.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 23
`Petitioner Microsoft Corporation - Ex. 1002, p. 23
`
`
`
`19743-0165
`
`PA.wNT 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.
`this manner, mobile unit 50 can enhance, correct, or
`replace the current operating code based upon discrete
`patch or download messages transmitted over communication
`
`In
`
`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.
`
`"8
`
`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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 24
`Petitioner Microsoft Corporation - Ex. 1002, p. 24
`
`
`
`19743-0165
`
`PALENT APPLICATION
`
`15
`
`length, and identifier field
`with a start, message type,
`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 "0", "1", "2", and "3"
`respective