throbber
(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(19) World Intellectual Property Organization
`International Bureau
`
`I lllll llllllll II llllll lllll llll I II Ill lllll lllll lllll lllll llll lllllll llll llll llll
`
`(43) International Publication Date
`7 September 2001 (07.09.2001)
`
`PCT
`
`(10) International Publication Number
`WO 01/65876 Al
`
`(51) International Patent Classification7:
`H04B 71185
`
`H04Q 7/32,
`
`(74) Agent: THIBAULT, Thomas, T.; Qualcomm Incorpo(cid:173)
`rated, 5775 Morehouse Drive, San Diego, CA 92121 (US).
`
`(21) International Application Number: PCT/US00/05139
`
`(22) International Filing Date: 29 February 2000 (29.02.2000)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(71) Applicant: QUALCOMM INCORPORATED [US/US];
`5775 Morehouse Drive, San Diego, CA 92121 (US).
`
`(72) Inventors: VIGNISSON, Vidar; 3150 Ducommun Av(cid:173)
`enue, San Diego, CA 92122 (US). DOMINGUEZ, John,
`Christopher; 21202 Cranbridge Drive, Lake Forest, CA
`92630 (US). GOLDSMITH, Katrina; 206 Rubenstein
`Place, Cardiff, CA 92007 (US).
`
`-~
`
`(81) Designated States (national): AE, AL, AM, AT, AU, AZ,
`BA, BB, BG, BR, BY, CA, CH, CN, CR, CU, CZ, DE, DK,
`DM, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL,
`IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU,
`LV, MA, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT,
`RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, TZ, UA,
`UG, UZ, VN, YU, ZA, ZW.
`
`(84) Designated States (regional): ARIPO patent (GH, GM,
`KE, LS, MW, SD, SL, SZ, TZ, UG, ZW), Eurasian patent
`(AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), European patent
`(AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU,
`MC, NL, PT, SE), OAPI patent (BF, BJ, CF, CG, CI, CM,
`GA, GN, GW, ML, MR, NE, SN, TD, TG).
`
`Published:
`with international search report
`
`[Continued on next page]
`
`(54) Title: PROGRAMMABLE MOBILE COMMUNICATIONS TERMINAL WITH RANDOMIZED OFF-PEAK TRANSMIS(cid:173)
`iiiiiiii SI 0 NS
`iiiiiiii
`iiiiiiii
`
`iiiiiiii --~
`
`iiiiiiii
`
`iiiiiiii
`
`iiiiiiii
`
`iiiiiiii -iiiiiiii
`iiiiiiii -iiiiiiii
`
`~
`
`~
`
`,102
`
`CENTRAL
`NETWORK
`FACILITY
`
`,10 0
`
`,108
`
`NETWORK
`FACILITY
`!NfERFACE
`
`,110
`
`CENTRAL
`COMM.
`TERMINAL
`
`,112
`
`SOFTWARE
`DEVELOPMENT
`WORKSTATION
`
`FLEET
`MANAGEMENT
`FACILITY
`(BASE STATION)
`
`the
`(57) Abstract: A messaging system peITllitting
`development and transmission of computer programming
`from a base station (102) to a mobile communications
`teITllinal (MCT) (104) for execution. The user creates
`programming including conditional logic for transmission
`to an MCT using a software development workstation
`(112) at a base station (100). The user programming
`is designed to extend the functionality of the built-in
`programming as supplied by the MCT manufacturer. The
`MCT receives the user programming, and stores it in a
`memory (204) for later execution, for example, when
`the manufacturer-supplied operating software initiates
`execution of the user programming. Messages transmitted
`from the MCT may be sent during periods of low network
`activity. The MCT schedules a reasonable number of
`messages for transmission at a randomly selected time
`within a certain scheduling window.
`The scheduling
`window takes
`into account network traffic concerns,
`future messages placed into the queue, and the number of
`messages present in the queue.
`
`'
`
`' ~ ' '
`
`' '
`'
`' •-----,
`'
`
`ANTENNA
`TRACKING&
`POINTING
`
`,104
`
`114..J I
`
`,116
`
`BASIC MOBILE
`COMMUNICATIONS
`
`(WITH RECEIVER)
`
`TERMINAL (BMCT) ----...,
`I ,11s
`
`I
`I
`I
`
`I i ,122
`i SENSORS/
`EXTENDED
`CAPABILITY --t DETECTORS/
`' METERS
`COMPUTER
`' '
`' ' '
`,120 •----------.
`USER INTERFACE (UI)
`
`I
`
`APPARATUS Di ~r',.r Iii
`
`L----------------------------
`
`FLEET VEIDCLE
`(REMOTE/MOBILE STATION)
`
`Samsung, Exh. 1009, p. 1
`
`

`
`WO 01/65876 Al
`
`I lllll llllllll II llllll lllll llll I II Ill lllll lllll 111111111111111111111111111111111
`
`For two-letter codes and other abbreviations, refer to the "Guid(cid:173)
`ance Notes on Codes and Abbreviations" appearing at the begin(cid:173)
`ning of each regular issue of the PCT Gazette.
`
`Samsung, Exh. 1009, p. 2
`
`

`
`WO 01/65876
`
`1
`
`PCT/US00/05139
`
`PROGRAMMABLE MOBILE COMMUNICATIONS
`TERMINAL WITH RANDOMIZED OFF-PEAK
`TRANSMISSIONS
`
`BACKGROUND OF THE INVENTION
`
`I.
`
`Field of the Invention
`The invention relates to wireless messaging systems. In particular the
`invention relates to programmable mobile communications terminals.
`
`5
`
`10
`
`II.
`
`15
`
`Description of the Related Art
`The use of wireless communication systems is well known for
`fixed
`stations and one or more
`information between
`transmitting
`receivers.
`For
`example,
`satellite
`dispersed mobile
`geographically
`communication systems have been used in the trucking industry for many
`years to provide messaging and location information between fleet-owned
`dispatch centers and their respective tractor-trailer vehicles. Such systems offer
`significant benefits to fleet owners because they allow almost instantaneous
`communications and real-time position information. In addition, many such
`systems provide remote monitoring of the performance characteristics of each
`fleet-owned vehicle, such as average speed, RPM, idle time, and so on. An
`example of such a satellite communication system is disclosed in U.S. patent
`number 4,979,170 entitled "ALTERNATING SEQUENTIAL HALF DUPLEX
`COMMUNICATION SYSTEM AND METHOD", U.S. patent number 4,928,274
`entitled
`"MULTIPLEXED
`ADDRESS
`CONTROL
`IN A
`TDM
`COMMUNICATION SYSTEM", and U.S. patent number 5,017,926 entitled
`"DUAL SATELLITE NAVIGATION SYSTEM", assigned to the assignee of the
`present invention.
`In the satellite communication system described by the above-mentioned
`patents, fleet-owned dispatch centers communicate via land-based systems
`such as telephone or fiber-optic systems to a hub, otherwise known as a
`network management facility
`(NMF).
`The NMF acts as a central
`communication station through which all communications between vehicles
`and dispatch centers pass. The NMF comprises a number of network
`35 management computers (NMCs), each NMC responsible for providing a
`communication path from the NMF to geographically dispersed vehicles in the
`communication system via a geosyncronous satellite. The geosynchronous
`satellite comprises one or more transponders, which are electronic circuits well
`
`20
`
`25
`
`30
`
`Samsung, Exh. 1009, p. 3
`
`

`
`WO 01/65876
`
`2
`
`PCT !US00/05139
`
`known in the art for relaying high frequency satellite communication signals
`between two remote locations.
`Each NMC is assigned an individual
`transponder, each transponder operating at a unique frequency in order to
`avoid interference with communication signals on other transponders. In the
`satellite communication system of
`the above-referenced patents, each
`transponder is capable of handling approximately 30,000 communication
`signals simultaneously.
`the communication system is equipped with a
`Each vehicle
`in
`transceiver, otherwise known as a mobile communication terminal (MCT), for
`communicating message and location information to a pre-designated NMC via
`the geosyncronous satellite. The MCT typically also comprises an interface
`device which displays messages to one or more vehicle occupants and accepts
`either voice or text messages to be transmitted to the vehicle's fleet-owned
`dispatch center. Furthermore, the MCT may further comprises a digital
`computer which communicates with one or more Electronic Control Units
`(ECUs) located at various points throughout the vehicle. Each ECU provides
`operational information to the digital computer indicating performance
`characteristics such as vehicle speed, engine RPM, and miles traveled, and other
`operating characteristics.
`NMCs and MCTs communicate with each other using a pre-defined
`messaging protocol. The messaging protocol arranges digital data into
`manageable segments, called frames, which include address frames and data
`frames. Typically, an address frame is transmitted followed by one or more
`data frames. The address frame contains the necessary MCT identification
`information in order to route messages from an NMC to one or more identified
`vehicles and to identify the origin of incoming messages from vehicles. Data
`frames contain the actual information that is to be conveyed, for example, voice,
`operation, or location data. The ability to uniquely identify MCTs allows NMCs
`to route messages to individual vehicles for which they are intended and also to
`In the satellite
`identify the origin of incoming messages from vehicles.
`communication system described by the above-mentioned patents, each MCT in
`the system is permanently assigned a unique identification address from a set of
`available identification addresses stored within the NMF. Each assigned
`identification address identifies a particular MCT, the address being identical to
`a unique, pre-assigned MCT serial number, assigned at a manufacturing
`facility. The identification address is attached to each message transmitted,
`using the address frame, to identify the intended recipient or the source of
`messages.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 4
`
`

`
`WO 01/65876
`
`3
`
`PCT /US00/05139
`
`MCTs are generally microprocessor controlled in order to provide
`sophisticated functionality.
`Like the pre-assigned MCT serial number,
`programming for the microprocessor that in large part determines the MCT's
`functionality is hard coded into the unit at the manufacturing facility. In some
`cases this programming may be stored in ROM.
`In order to change the
`programming the ROM must be replaced in each individual MCT.
`In other
`cases this programming may be stored in flash memory. Re-programming the
`flash memory generally requires attachment of a re-programming device to the
`MCT for a short period of time to accomplish the re-programming. Because the
`re-programming device may be attached to an external connector on the MCT,
`and because the flash memory devices themselves are not physically replaced,
`the use of flash memory offers more convenient and lower cost re(cid:173)
`programming. Still, re-programming even a flash memory requires physically
`accessing each individual MCT. The physical access requirement can make re-
`programming a complex and drawn out affair. This is especially true for a
`large, geographically dispersed fleet of vehicles.
`The complexity of re-programming when physical access to the MCTs is
`required makes re-programming cost-effective only when there are significant
`changes to the software. Furthermore, because it is the manufacturer that
`controls the software, users of the MCTs must rely on the manufacturer to
`approve and incorporate new features into future releases of the software.
`These two realities limit the ability of the technology user to innovate and
`leverage the investment made in the messaging system. Consequently, there is
`a need in the art for an MCT that permits a user to incorporate independently
`developed programming into the operating software of an MCT without the
`need to gain physical access to the MCT.
`
`SUMMARY OF THE INVENTION
`A messaging system permitting the development and transmission of
`computer programming from a base station to a mobile communications
`terminal (MCT) for execution is disclosed. The user creates programming
`including conditional logic for transmission to an MCT using a software
`development workstation at a base station. The base station may be, for
`example, the headquarters of a trucking company trying to manage a fleet of
`vehicles on the road. Each of the vehicles contains a mobile communications
`terminal (MCT) permitting it to communicate with the base station by wireless
`means. Each MCT has built-in programming supplied by the manufacturer.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 5
`
`

`
`WO 01/65876
`
`4
`
`PCT /US00/05139
`
`5
`
`10
`
`The user programming is designed to extend the functionality of the built-in
`programmmg.
`User programming is transmitted to the vehicle as messages. The mobile
`communications terminal receives the messages, identifies those that contain
`programming, and stores the programming for later execution. During the
`normal course of MCT operation the built-in operating software initiates
`execution of the user programming.
`In one embodiment user programming exists in two related forms:
`adjunct programs and action lists. Adjunct programs are used to detect the
`occurrence of the events of particular significance to the business of the user,
`e.g., a vehicle coming into proximity with a company terminal. Adjunct
`programs include procedural logic and execute on the MCT using a virtual
`to specify a
`include parametric programming
`machine.
`Action
`lists
`correspondence to the adjunct programs, and to specify the actions to take
`15 when the corresponding adjunct programs detect event occurrences.
`The operating software of the MCT periodically initiates execution of the
`stored adjunct programs. If an adjunct program detects an event the operating
`software then initiates execution of any corresponding action list. Actions
`supported by the operating software include, for example, displaying a text
`alert to the vehicle operator on a display screen and transmitting a formatted
`message to the base station.
`Messages for transmission to the base station may be queued for
`transmission during periods with typically low network activity. The operating
`software that controls the off-hours transmission, schedules a reasonable
`number of messages first in the queue for transmission at a randomly selected
`time within a certain scheduling window. The scheduling window takes into
`account network traffic concerns, future messages placed into the queue, and
`the number of messages present in the queue. Combining these factors along
`with the randomization helps to avoid high network congestion.
`
`20
`
`25
`
`30
`
`35
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 depicts a messaging system employing the present invention;
`FIG. 2 is a block diagram of an extended capability computer;
`FIGS. 3A - 3B depict the virtual machine instruction set used in the
`present embodiment;
`FIGS. 4A - 40 depict primitive-type operands that may be used in
`conjunction with the virtual machine instruction set of the present embodiment;
`
`Samsung, Exh. 1009, p. 6
`
`

`
`WO 01/65876
`
`5
`
`PCT /US00/05139
`
`FIG. 5 depicts a flowchart of the main operating loop for the operating
`software;
`FIG. 6 depicts a flowchart of the process used to integrate the execution
`of user programming into the main processing loop of the operating software;
`and
`
`FIG. 7 depicts a flowchart for the scheduling of off-hours transmissions.
`
`DETAILED DESCRIPTION OF THE INVENTION
`FIG. 1 depicts a messaging system employing the present invention. The
`system allows a fleet management facility, such as a trucking dispatch center, to
`communicate with vehicles and drivers in the fleet when they are on the road.
`The fleet management facility (FMF) 100 serves as a communications base
`station and communicates with a central network facility 102 that performs
`wireless communication to the fleet vehicle 104. Vehicle-based, mobile
`communications terminal (MCT) equipment 106 receives and processes the
`messages sent to it from FMF 100. Messages may include small computer
`programs, called adjunct programs, that extend the built-in functionality of
`MCT106.
`Fleet management facility (FMF) 100
`in the presently described
`interface 108, a central
`embodiment comprises a network
`facility
`communications terminal (CCT) 110, and a software development workstation
`112. Software development workstation 112 couples to CCT 110. CCT 110
`couples to network interface facility 108. Network interface facility 108 couples
`externally to central network facility 102.
`Fleet vehicle 104 includes vehicle-based equipment comprising mobile
`communications terminal (MCT) system 106 and ancillary sensor devices 122.
`MCT 106 comprises an antenna system 114, comprising tracking and pointing
`apparatus, a basic mobile communications terminal (BMCT) 116, an extended
`capability computer (ECC) 118, and user interface apparatus 120. User interface
`apparatus 120 may include, for example, a display unit comprising a display
`panel, an LED array, and a keypad. User interface apparatus 120 may also
`include a short-range, audible paging device. Ancillary sensor devices 122 may
`include, for example, an engine sensor that measures the rotational speed
`(RPM's) of the vehicle's engine, a transmission sensor that measures driveshaft
`rotational speed, and a Global Positioning System (GPS) apparatus that
`determines the geographic location of the vehicle.
`The vehicle-based equipment is coupled as follows. The antenna system
`114 is coupled to basic mobile communications terminal (BMCT) 116. BMCT
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 7
`
`

`
`WO 01165876
`
`6
`
`PCT /US00/05139
`
`5
`
`116 couples to extended capability computer (ECC) 118. User interface
`apparatus 120 couples to ECC 118. Ancillary sensor devices 122 couple to ECC
`118 and may also, or alternatively, couple to BMCT 116.
`A communications satellite 124 interposes between central network
`facility 102 and the vehicle-based equipment to relay messages between their
`source and destination. As depicted, satellite 124 provides for bidirectional
`communication. A message sent from fleet management facility 100 to fleet
`vehicle 104 is conveyed as a forward channel uplink signal to satellite 124,
`where it is retransmitted as a forward channel downlink signal to vehicle 104.
`10 Conversely, a message sent from fleet vehicle 104 to fleet management facility
`100 is conveyed as a reverse channel uplink signal to satellite 124, where it is
`retransmitted as a reverse channel downlink signal to central network facility
`102.
`
`15
`
`20
`
`25
`
`30
`
`35
`
`The embodiment depicted in FIG. 1 operates as described below to
`permit fleet management to extend the programmed capability of the mobile
`communications terminal system 106. A software developer uses software
`development workstation 112 to create user programming such as an adjunct
`program. An adjunct program is a small computer program for transmission
`over a data communications network to an execution platform where it will
`run. The size of each adjunct program is limited to approximately 1400 bytes in
`the present embodiment. The invention is not, however, so limited. The 1400-
`byte limit of the present embodiment is intended to restrict the amount of
`network bandwidth used for software transmission and permits the adjunct
`programs to fit conveniently within the existing messaging framework.
`The software development workstation comprises a general-purpose
`personal computer with user
`interface
`input and output devices, a
`communications interface for coupling to the central communications terminal,
`and software for generating an adjunct program suitable for transmission to,
`and execution by, the MCT system. Such software is widely understood in the
`art and may comprise, for example, a source code editor for accepting user
`input to create a computer program source code file, a compiler for converting
`the source code file into an executable file having the object code format
`required by the execution platform, and a file
`transfer mechanism for
`communicating
`the executable
`file
`(the adjunct program)
`to central
`communications terminal 110. The same or similar software is used to create
`action files for transmission to MCT 106.
`Central communications terminal (CCT) 110 manages the content of
`messages exchanged between CCT 110 and fleet vehicle 104. Software on CCT
`
`Samsung, Exh. 1009, p. 8
`
`

`
`WOOl/65876
`
`7
`
`PCT /US00/05139
`
`5
`
`10
`
`15
`
`110 may automatically generate messages to send to fleet vehicle 104 or may
`produce a message based on interaction with facility personnel using CCT 110.
`Each message is represented in digital format. Different types of messages may
`be used to facilitate the exchange of messages having different targets or
`purposes. For example, one message type may be used to send textual
`information for display to the driver of the vehicle while another message type
`may contain non-textual information for controlling the operation of the
`vehicle-based equipment, e.g., an adjunct program.
`CCT 110 sends a message to central network facility 102 for transmission
`to fleet vehicle 104 using network facility interface 108. Network facility
`interface 108 at fleet management facility 100 is connected to central network
`facility 102 in the present embodiment using any of a variety of terrestrial
`communication media, e.g., phone lines or optical fiber. Network facility
`interface 108 connects central communications
`terminal 110
`to
`the
`communications medium and may be, for example, a modem connecting CCT
`110 to a phone line.
`Central network facility 102 receives a message from fleet management
`transmits
`it as a forward channel uplink signal
`to
`facility 100 and
`communications satellite 124. Central network facility 102 also may receive a
`20 message as a reverse channel downlink signal from satellite 124, and convey the
`message to fleet management facility 100. As described earlier, a forward
`channel uplink signal received by satellite 124 is retransmitted as a forward
`channel downlink signal to complete the transmission of the message to MCT
`system 106 on board vehicle 104.
`Antenna apparatus 114 of fleet vehicle 104 maintains a fix on
`communications satellite 124 and receives any forward channel downlink
`signals. The basic mobile communications terminal 106 processes the forward
`channel downlink signal to extract and store message information addressed to
`it. In the presently described embodiment, the basic mobile communications
`terminal 106 is a widely used, commercially available unit such as any model in
`the Qualcomm OmniTRACS line. BMCT 116 provides an interface and protocol
`by which a coupled device may access the message information received and
`stored by the BMCT 116. The interface and protocol is well known in the art.
`Extended capability computer (ECC) 118 <:ouples to BMCT 116 via an
`established interface to receive message information. Message information
`intended for display to the vehicle driver is directed to the appropriate user
`interface apparatus 120. Message information containing user programming
`code, such as an adjunct program, is stored by ECC 118 and systematically
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 9
`
`

`
`WO 01/65876
`
`8
`
`PCT/US00/05139
`
`5
`
`10
`
`15
`
`executed. ECC 118 makes information signals from ancillary sensor devices 122
`available to an adjunct program during its execution, such as those information
`signals representing vehicle speed or location. In the preferred embodiment
`ECC 118 communicates directly with ancillary sensors 122 using, for example,
`an industry standard J1708 bus. As an alternative, ancillary sensors 122 may be
`coupled to BMCT 116, with BMCT 116 providing corresponding information
`signals to ECC 118.
`ECC 118 also provides an executing adjunct program with access to user
`interface apparatus 120 so that the adjunct program may, for example, cause the
`display of an alert message to the vehicle driver. Because the programming of
`the adjunct programs is not known in advance to ECC 118, and because user
`interface apparatus 120 is shared by the adjunct programs and by the built-in
`functionality of MCT system 106, contention may arise. For this reason, ECC
`118 of the described embodiment includes queue support to facilitate the
`sharing of presentation over user apparatus 120, such as a display panel and a
`LED array.
`One advantage of the present invention is that it may be deployed in part
`using messaging technologies and equipment already in widespread use today.
`For example, U.S. Patent 4,979,170, "Alternating Sequential Half Duplex
`20 Communication System" (Gilhousen), describes one such system. Gilhousen
`discloses a messaging system whereby a central communication terminal at a
`customer facility, such as a fleet management facility, shares an expensive
`central network facility to communicate via satellite with remote vehicles.
`Gilhousen also discloses a mobile communications terminal system including
`antenna apparatus, and a basic mobile communications terminal interfacing to
`user interface apparatus and ancillary sensors. A Qualcomm OmniTRACS
`system, already mentioned, is an example of a commercially available mobile
`communications terminal system, enjoying widespread use, that participates in
`a Gilhousen-type messaging system. By exploiting existing technologies and
`equipment, the embodiment depicted in FIG. 1 preserves capital and reduces
`deployment time.
`FIG. 2 is a block diagram of extended capability computer (ECC) 118. In
`the presently described embodiment, ECC 118 is installed in vehicle 104 and
`coupled to BMCT 116, user interface apparatus 120, and ancillary sensors 122.
`ECC 118 provides the functionality necessary to store, load, run, and manage
`user programming sent to vehicle 104 from central facility 102. It will become
`apparent to one skilled in the art that alternative embodiments are possible
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 10
`
`

`
`WO 01/65876
`
`9
`
`PCT/US00/05139
`
`15
`
`20
`
`without departing from the scope and spirit of the invention. For example, the
`functionality of ECC 118 could be incorporated into BMCT 116.
`ECC 118 comprises a CPU 200, a transceiver interface 222, an electronic
`control unit interface 220, a UI apparatus interface 202, and a memory 204.
`5 Memory 204 provides storage for various propram instructions and data, as
`follows.
`A first memory, user programming (UP) memory 206, is used to store
`user programming received from fleet management facility 100. The user
`programming comprises adjunct programming and action lists. A second
`10 memory, a UP loader memory 212, stores a set of program instructions used to
`place received adjunct programming into the first memory for storage. A third
`memory, a UP initiator memory 214, stores a set of program instructions used
`to initiate execution of the received adjunct programming stored in UP memory
`206. A fourth memory, a virtual machine memory 216, stores a set of program
`instructions used to effectuate a virtual machine using said CPU, the virtual
`machine for executing the received adjunct programming stored in UP memory
`206. A fifth memory, an operating software memory 210, comprises UP loader
`memory 212, UP initiator memory 214, virtual machine memory 216, and off(cid:173)
`hours memory 218, explained below. Operating software memory 210 further
`stores program instructions used to respond to a return value from execution of
`the executed adjunct programming. The program instructions are further used
`to respond to the return value by selecting whether or not to perform a set of
`predetermined actions. A sixth memory, off-hours memory 218, is used to store
`a set of program instructions for determining a randomized, off-peak
`transmission time. A seventh memory, queue memory 208, stores messages for
`transmission during off-peak hours and also stores deferred execution of
`actions to be taken in response to certain, predefined events.
`Each of the above memories may be individual memories, or a single
`memory containing information pertaining to the individual memories.
`Transceiver interface 222 couples CPU 200 to circuitry that exchanges
`In the
`messages sent with central facility 102 over a wireless connection.
`present embodiment, transceiver interface 222 couples CPU 200 to BMCT 116
`unit allowing CPU 200 to exchange message and control information with
`BMCT 116. ECU interface 220 and UI apparatus interface 202 couple CPU 200
`to ancillary sensors 122 and user interface apparatus 120, respectively.
`UP memory 206 of memory 204 is used to store user programming sent
`to fleet vehicle 104 from central facility 102. Program instructions in UP loader
`memory 212 assemble complete user programming modules from message data
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 11
`
`

`
`WOOl/65876
`
`10
`
`PCT/US00/05139
`
`received from BMCT 116 and store them in UP memory 206. User
`programming modules may be either adjunct programs or action lists. User
`programming loader memory 212 maintains a list of all user programming
`currently stored in UP memory 206, along with any relevant information about
`such user programming. Examples of such information for an adjunct program
`include its location within UP memory 206, identifying information, and
`program lifetime information such as the time in which the adjunct program
`was first loaded.
`Program instructions in UP initiator memory 214 of operating software
`210 systematically execute each of the adjunct programs stored in UP memory
`206. The adjunct programs are executed using virtual machine 216 of operating
`software 210. Virtual machine memory 216 stores a set of programming
`instructions that executes user programs written using a predefined set of
`virtual machine instructions. The virtual machine instruction set does not
`necessarily correspond to the instruction set of the CPU that actually carries out
`the data processing operations indicated by the user program's instructions.
`Implementation using virtual machine memory 216 promises greater device
`independence for the adjunct programs sent from central facility 102. For
`example, a fleet may contain both early model and late model MCT equipment
`106. That equipment could incorporate CPUs having radically different
`instruction sets. The same adjunct program code could be sent to any vehicle
`without regard to the age of its MCT equipment 106, however, so long as virtual
`machine program code supporting a common instruction set were contained in
`the operating software 210 of the each of the MCTs 106.
`Programming instructions stored in off-hours manager memory 218
`supports the transmission of certain deferred messages from MCT 106 to base
`station 100. Messages deferred to off-hours transmission generally are not
`urgent in nature. Deferring these messages reduces peak network congestion
`and overall operating costs.
`FIGS. 3A - 3B depict the virtual machine instruction set used in the
`present embodiment. The instruction set consists of 23 separate instructions
`belonging to six classes. The data movement class of instructions comprises the
`LOAD and STORE instructions, which are used to move data to and from the
`integer math class of
`virtual machine accumulator, respectively.
`The
`instructions comprises the ADD, SUB, MUL, and DIV instructions, each of
`which is used to perform a mathematical operation using the accumulator
`contents and a specified operand value, with the results of the operation
`replacing the accumulator contents. The bit-wise class of instructions comprises
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Samsung, Exh. 1009, p. 12
`
`

`
`WO 01/65876
`
`11
`
`PCT/US00/05139
`
`the AND, OR, and NOT instructions, each of which is used to perform a bit(cid:173)
`wise manipulation using the accumulator contents and a specified operand
`value, with the results of the operation replacing the accumulator contents.
`The conditional branching/program flow class of instructions comprises
`the JL, JLE, JG, JGE, JE, JNE, JMP, and EXIT instructions. Each of the JL, JLE, JG,
`JGE, JE, and JNE instructions is used to directly set the contents of the virtual
`machine program counter when the contents of the accumulator meet a certain
`criteria. The JMP instruction is used to directly set the contents of the virtual
`machine program counter without regard to the contents of the accumulator.
`The EXIT instruction is used by an adjunct program to indicate to the virtual
`machine that its processing is complete. It is noted that the instructions in this
`class support the creation of user programming that includes conditional logic.
`The ability to include conditional logic greatly expands the possible types and
`sophistication of programming that can be created by the user to extend the
`functionality of MCT 106. This represents an advantage of the present
`invention.
`The floating point math class of instructions comprises the FADD, FSUB,
`FMUL, and FDIV instructions. Each of these instructions is used to perform a
`mathematical operation using the accumulator contents and a specified
`operand value, with the results of the operation replacing the accumulator
`contents. Each of these instructions corresponds to one of the

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