`UTFER'V
`
`
`
`Pd?" DATE
`
`“M 16w
`
`_
`
`
`
`5699275
`
`
`’ttitlututtttttititit
`
`
`
`magnum ),
`NUMBER
`
`
`SERIAL NUMBER
`
`FILING DATE
`
`CLASS
`
`
`
`
`
`
`
`FWPWW
`a
`
`
`‘
`sausmwmmonsm 8 $3133 ""3
`
`
`Vanna! anermdadgnd *M—‘mm lnluafs
`
`
`INDEF'.
`CLAIMS
`
`FILING FEE
`
`RECEIVED
`
`
`
`
`
`
`
`1.1.5. DEPT OF OOMMJ PM: ETM—PTO-AML I'm“:
`
`
`PARTS OF EPPLICATION
`
`
`FILED SEPARATELY
`'
`.4
`NOTICE OF JILLOWANCE MNLED
`
`
`Total Cisim
`
`
`- 'rimSign“
`4x a
`
`
`
`_.
`
`
`
`Assistant Examiner
`
`
`
` Ii;mefi gig). {M /
`
`:m‘
`
`
`
`
`
`"l’
`
`4"
`
`
`
`/HASSAI\! KIZGU/
`PRIMI‘SV SXAMMER
`GHL JF‘ 2600
`
`,5
`
`Primary Examiner
`
`r
`
`
`
`
`
`
`1
`
`5
`ISSUE
`BATCH
`NUMBER
`
`
`
`
`
`
`mamas: The inromauon disclosed herein may be mstrimaa. Unaufl'Ic-rizad Mum-m beM
`by me Unilnd States Code 1111a 35.Secfi0r'e122.1flland 363. Possum «my 11.:
`Patent 2. Trademelk Office is mtridled to authorized ernpbyees and mm us only:
`-
`
`
`
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 1
`Petitioner Microsoft Corporation - Ex. 1002, p. 1
`
`(FACE)
`
`
`
`
`
`
`
`
`1;. 119 422075 ,I
`
`
`
`
`
`
`PATENT APPLIC
`
`rruummnumrmrmmm°" W 4——
`
`APPROVED FOFI LICENSE D
`
`CONTENTS
`
`I
`
`_.-
`
`5'
`
`-
`
`;
`
`”m
`
`a
`
`"
`
`3%?“
`
`2 C5
`"e 0:
`fl}
`3+1
`:29 4%
`o ‘" it:
`
`'-\1. Appfigarfon
`
`
`
`
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 2
`Petitioner Microsoft Corporation - Ex. 1002, p. 2
`
`
`
`
`
`'AREA
`STAPLE _
`
`it u s. novErmmum PWL’E lmaumfi
`
`
`ORIGINAL CLASSIFICATION
`
`cuss
`,
`swanss
`-
`
`5142.000
`CROSS REFERENCES)
`SUELASS
`[ONE SUBCLASS PER BLOCK!
`
`
`
`EHEV. 5-91]
`F—'_.-" ._
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`m-x-flmg‘r-g9M1:635W"-"5""-
`
`
`
`o
`
`d 35EI'-i
`
`
`
`
`
`
`- -I-_=-I—
`
`
`
`- |
`——.
`2:0”:an
`ASSISY ANT EXAMIN ER {PLE ASE STAMP 0R PRINT FULL MIME]
`é:
`
`
`—- .. m an 120
`:
`.
`
` PTO 27D
`£693 PHI
`RY EXH F INER [PI-EASE 57“”? 0“ PM“ FULL "AIDE!
`
`
`' {165% I} J 1‘
`U S. DEPARTMENT OF COMMERCE
`HI 'ENT mo mnmw amt:
`ISSUE CLASSIFICATION sub
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IiEEII'III
`IIIII
`EaIEIII
`EBE“'II
`aIIIII
`
`
`
`I
`
`<IK
` Inmflarmcn
`meal
`..
`flhhflfld
`
`
`III
`
`
`3Eas-'IIIIIIIIE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 3
`Petitioner Microsoft Corporation - EX. 1002, p. 3
`
`
`
`
`
`
`
`
`
`
`fihmmfimfia.,VImmmmmmmmmmmmmmmwmmmmgmmmmnmmmmatma,,aaamnmmzwfibfim..HumwmmmmfiwmmnrmmeI-IIIII
`
`_
`aIII_-__--IIIIIIIIIIII
`
`m-———I—-—I-——I.“IIIIIIIIIIII
`
`III-II—IIIII—-——III
`
`w.kdl...IIIuIInunununnummmmfl“III-III.-
`
`
`i:_1:,——IIIF
`I—I-n—I-I-:—-IIIIIIIIIIIIIIIIIIIIII
`
`
`
`
`
`
`
`
`POSI110N
`
`m-nrig-E
`,.
`' .
`
`,3
`
`——
`
`
`
`"I" I":
`_——II-:
`_———
`—-—
`
`INDEX OF CLAIMS
`
`
`
`//._
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`f1 III—7T IMQInEW
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 4
`Petitioner Microsoft Corporation - Ex. 1002, p. 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(RIGHT OUTSIDE)
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 5
`Petitioner Microsoft Corporation - EX. 1002, p. 5
`
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`CERTIFICATE OF CORRECTION
`
`PATENT NO.
`
`: 5,599,275
`
`DATED
`
`: December 16, i997
`
`INVENTONS) ; Beasley, e: a].
`
`It is certified that error appears in the move-identified patent and that said Letters Patent is hereby
`corrected as shown below:
`
`Column 5, line 41, after "message", delete "application", and insert
`—— Application --.
`
`Column 5, line 47, after "in", delete "application" and insert
`- Application --.
`
`Column 15, line 13, delete "execution" and insert —— executing
`
`Mm:
`
`Signed and Sealed this
`
`Twelfth Day of May. 1998
`
`@444 W
`
`B R UCl-l LEHNIAN
`
`
`
`Atlesiiflg Ofiicer
`
`(Tommirsianrr a! Pmmn and Trud'rmurl-J
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 6
`Petitioner Microsoft Corporation - EX. 1002, p. 6
`
`
`
`
`
`PATENT ND.
`
`DATED
`
`INVENTOHIS} .-
`
`Beasley. at a}.
`
`II is certified that error appears in the above-identified patent and that said Letters Patent is hereby
`corrected as shown beinw:
`
`Column 15, line 13‘ delete "executing". and insert -- execution --.
`
`Column 15, line 58, delete "execution'fi and insert -- executing —-.
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`5,690,275
`December 16‘ 1907
`
`Communism-r of Pmcuh and fruu’fmuri.‘
`
`Signed and Sealed this
`
`Fourth Day of August, 1998
`
`60.4%
`
`BRUCE I .EHMAN
`
`Arresting Oflicrr
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 7
`Petitioner Microsoft Corporation - EX. 1002, p. 7
`
`
`
`PATENT APPLICATION SERIAL N0.
`
`Q§ 412322)???
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`090 BA 04/25/95 03422075
`
`’
`
`1 201
`
`683.00 EH 019743—0165
`
`PTO-1556
`
`(5/87)
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 8
`Petitioner Microsoft Corporation - Ex. 1002, p. 8
`
`
`
`1995-04-1
`
` _
`
`hpplioation
`: giggfiR OF PATENTS
`T. J
`washiegtaa: D.C?
`20231
`
`\
`
`PATENT
`
`APPLICATION FOR U.S. PATENT
`TRANSMITTAL FORM
`
`Attorney Docket No.:
`19743-0165
`
`Sir:
`
`f
`o :
`
`Transmitted herewith for filing is the patent application
`
`Inventors:
`
`Dale E. Beasley, et a1.
`
`For:
`
`SYSTEM AND METHOD FOR REMOTE PATCHING OF
`OPERATING CODE LOCATED IN A MOBILE UNIT
`
`Enclosed are:
`
`5 Sheets of Formal Drawings
`
`
`
`F__E___Ecencumxou
`
`Number
`
`Number
`Extra
`
`
`
`Rate
`
`Basic Fee
`$365.00
`
`
`
`
`
`Total claims: mun—:m
`Independent Claims —-———
`
`TOTAL FILING FEE = H$633. 00
`
`
`
`:m
`
`
`
`
`
`J
`
`Enclosed is a check in the amount of $683.00. Please charge
`any additional fees or credit any overpayment to Dep051t Account
`No. 02-0384 of BAKER & BOTTS, L.L.P.
`
`BAKER & BUTTS, L.L.P.
`Attorneys for Applicants
`
`Date
`
`DALOI: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:
`
`Dale E. Beasley, et a1.
`
`Date Filed:
`
`Title:
`
`April 12, 1995
`
`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:
`
`TIFIC E 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 Addresses"
`
`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.
`
`-'.
`
`1.1iwmu yif'
`
`Anthony Mauricio
`
`Express Mail Receipt
`ND. T3571700844 US
`
`Attorney's Docket:
`19743-0165
`
`DBL01:85635.1
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 10
`Petitioner Microsoft Corporation - Ex. 1002, p. 1
`,
`
`
`
`M
`
`.
`
`ATTORNEY’S DOCKET
`19743-0165
`
`
`
`’33,.521 2;} fl
`
`PAEENT APPLICATION
`
`#39975
`
`
`SYSTEM AND METHOD FOR REMW
`OFCEERATING cons LOCATED IN A MOBILE UNIT
`________..__——-—-—_.—._._.—-
`
`
`IECEEIQAL FIELD QF 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.
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 11
`Petitioner Microsoft Corporation - Ex. 1002, p. 11
`
`
`
`-
`
`19743-0165
`
`PAldNT APPLICATION
`
`was
`
`f
`
`BAQEGEQUHD_QE_IBE_IEEEEIIQH
`
`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 "Mbthod 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."
`
`d
`
`5,155,3a7 discloses remote systems at fixed locations
`that access a central computer system over an on-line
`
`10
`
`15
`
`20
`
`25
`
`30
`
`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.
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 12
`Petitioner Microsoft Corporation - Ex. 1002, p. 12
`
`
`
`19743-0165
`
`PAlENT APPLICATION
`
`fiflMMAEZ_QELIEE_IHEEHILQH
`
`In accordance with the present invention,
`
`disadvantages and problems associated with prior systems
`
`and methods for updating software have been substantially
`
`5
`
`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
`
`10
`
`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
`
`15
`
`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.
`
`20
`
`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
`
`25
`
`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.
`
`30
`
`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
`
`35
`
`or establishing a bidirectional and interactive
`
`communication link.
`
`The patching of code may be to fix
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 13
`Petitioner Microsoft Corporation - EX. 1002, p. 13
`
`
`
`19743-0165
`
`PAidNT 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
`
`The
`mobile unit and how to deliver patch messages.
`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
`
`RELENT APPLICATION
`
`F
`
`S
`
`P
`
`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;
`
`r
`
`FIGURE 2 is a schematic representation of one
`
`embodiment of a manager host;
`FIGURE 3iis 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;
`I
`
`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
`
`I
`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
`
`PAldNT APPLICATION
`
`D
`
`L
`
`E
`
`R
`
`I N F
`
`E
`
`ION
`
`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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`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
`
`35
`
`communication network, such as a cellular telephOne
`
`network.
`
`'3...)
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 16
`Petitioner Microsoft Corporation - EX. 1002, p. 16
`
`
`
`19743-0165
`
`PNLENT 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
`
`For example, client host 18
`communication network 12.
`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 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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`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
`
`
`
`19743-0165
`
`PkisNT 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 cemmunication 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
`
`in order to overcome limitations inherent in'_
`invention,
`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
`
`{SME}, 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
`
`PAthT 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. Nermal 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
`
`The present
`in order to maintain the communication link.
`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, 23, 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,639 entitled “vehicle Locating and Communicating
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Mathod and Apparatus".
`
`f
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 19
`Petitioner Microsoft Corporation - EX. 1002, p. 19
`
`
`
`19743-0165
`
`erdNT 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,
`
`23 and 30 is operable to receive the patch messages
`
`transmitted by manager host 16.
`
`Each mobile unit 20, 22,
`
`24, 25, 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
`
`broadcast message.
`
`A patch message addressed to a group
`
`can correspond to mobile units associated with client
`
`For example, manager host 16
`host 18 or client host 20.
`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,
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`and 30.
`
`In particular, enhanced services complex 14
`
`35
`
`maintains information to establish communication with
`
`mobile units 22, 24, 26, 28, and 30 using communication
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 20
`Petitioner Microsoft Corporation - EX. 1002, p. 20
`
`
`
`19743-0165
`
`PAisNT 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
`
`5
`
`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
`
`'
`
`10
`
`
`atch message .Jépplication Serial No. 08/095,166
`
`entitled
`e
`od 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
`
`15
`
`complex 14 and manager host 16 can be separate components
`
`1
`
`system 10“ or integrated into a single platform as
`
`é/ldzscribed inéfipplication Serial No. 08/095,166.
`
`A technical advantage of the present invention is
`
`allowing remote patching of operating code located in a
`
`20
`
`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
`
`25
`
`_
`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
`
`30
`
`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
`
`35
`
`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
`
`PAhnNT APPLICATION
`
`12
`
`the mobile or land-line public switched telephone network
`
`(PETE). 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 modemI 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 43 may also include a variety of
`
`input devices, such as a keyboard. mouse,
`
`touchscreen,
`
`removable storage media, or any other appropriate input
`device.
`"_1
`
`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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`transceiver 56. Transceiver 56 is coupled to bus drivers
`
`60 which in turn are coupled to a modem, DTMF
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 22
`Petitioner Microsoft Corporation - Ex. 1002, p. 22
`
`
`
`19743-0165
`
`PAidNT 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
`
`10
`
`15
`
`50. Handset 58 provides additional voice or data
`
`20
`
`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
`
`25
`
`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 paten-
`
`file, processor 64 analyzes the patch messages to
`
`3O
`
`determine whether processor 64 should initiate a patch
`
`If proceSSor 64 is currently executing an
`process.
`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
`
`35
`
`by the patch messages.
`
`Petitioner Microsoft Corporation - Ex. 1002, p. 23
`Petitioner Microsoft Corporation - EX. 1002, p. 23
`
`
`
`19743-0165
`
`PkidNT 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 54 sets
`
`a flag indicating that further execution should occur out
`
`of second flash bank 63. 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
`
`The last three
`existing code on the mobile units.
`'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
`
`PAEENT 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 pat