throbber
Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 1 of 19
`
`
`
`
`Exhibit 1
`
`

`

`I IIIII IIIIIIII Ill lllll lllll lllll lllll lllll lllll lllll lllll 111111111111111111
`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 2 of 19
`US006629033B2
`
`(12) United States Patent
`Preston et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,629,033 B2
`Sep.30,2003
`
`(54) OPEN COMMUNICATION SYSTEM FOR
`REAL-TIME MULTIPROCESSOR
`APPLICATIONS
`
`(75)
`
`Inventors: Dan Alan Preston, Bainbridge Island,
`WA (US); Robert Pierce Lutter,
`Tacoma, WA (US)
`
`(73) Assignee: Medius, Inc., Seattle, WA (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21) Appl. No.: 09/841,753
`
`(22) Filed:
`
`Apr. 24, 2001
`
`(65)
`
`Prior Publication Data
`
`US 2002/0156564 Al Oct. 24, 2002
`
`Int. Cl.7 .................................................. G06F 7/00
`(51)
`(52) U.S. Cl. ............................. 701/70; 701/33; 701/36;
`307/9.1
`(58) Field of Search .............................. 701/70, 33, 36,
`701/45, 41; 340/425.5; 307/9.1, 10.1, 10.2;
`709/400
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`6,161,071 A * 12/2000 Shuman et al. ............... 701/48
`6,243,450 Bl
`6/2001 Jansen et al.
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`WO
`WO
`
`W096/24229
`W099/08436
`W099/57662
`W099/65183
`WOOl/30061
`WOOl/58110
`
`8/1996
`2/1999
`11/1999
`12/1999
`4/2001
`8/2001
`
`OTHER PUBLICATIONS
`
`Product description of Raytheon RT Secure, "Embedded
`Hard Real-Time Secure Operating System", Copyright
`2000, pp. 1-2.
`Product description of Raytheon RT Secure, Copyright
`2001, pp. 1-2.
`Product description of Raytheon RT Secure, "Development
`Environment", Copyright 2001, pp. 1-2.
`Product description of Raytheon Electronic Systems (ES),
`Copyright 2002, pp. 1-2.
`H. Chung, L. Ojeda, and J. Borenstein, "Sensor Fusion for
`Mobile Robot Dead-reckoning with a Precision-calibrated
`Fiber Optic Gyroscope", 2001 IEEE International Confer(cid:173)
`ence on Robotics and Automation, Seoul, Korea, May
`21-26, pp. 1-6.
`A. Das, R. Fierro, V. Kumar, J. Ostrowski, J. Spletzer, and
`C. Taylor, "A Framework for Vision Based Formation Con(cid:173)
`trol", IEEE Transactions on Robotics and Automation, vol.
`XX, No. Y, 2001, pp. 1-13.
`J. Takezaki, N. Ueki, T. Minowa, H. Kondoh, "Support
`System for Safe Driving-A Step Toward ITS Autonomous
`Driving-", Hitachi Review, vol. 49, No. 3, 2000, pp. 1-8.
`
`(List continued on next page.)
`
`Primary Examiner-Yonel Beaulieu
`(74) Attorney, Agent, or Firm---Marger
`McCollom, PC
`
`Johnson &
`
`(57)
`
`ABSTRACT
`
`A communication system for a mobile vehicle, home, or
`office environment includes multiple processors. The mul(cid:173)
`tiple processors each run an Open Communication system
`that controls how data is transferred between processors
`based on data content as opposed to the links that connect
`the processors together. The open communication system
`enables data or messages to be effectively transferred and
`processed for real-time applications or other server based
`applications that may be running on the multiple processors
`in a secure environment regardless of processors, locations,
`or data links.
`
`30 Claims, 9 Drawing Sheets
`
`12
`
`DISPLAY
`oc
`
`26
`
`10
`USER
`INTERFACE
`10
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 3 of 19
`
`US 6,629,033 B2
`Page 2
`
`OIBER PUBLICATIONS
`
`S.G. Goodridge, "Multimedia Sensor Fusion for Intelligent
`Camera Control and Human-Computer Interaction", Dis(cid:173)
`sertation submitted to the Graduate Faculty of North Caro(cid:173)
`lina State University in partial fulfillment of the require(cid:173)
`ments for the degree of Doctor of Philosophy in Electrical
`Engineering, Raleigh, NC, 1997, pp. 1-5.
`M. Chantler, G. Russel, and R. Dunbar, "Probabilistic Sen(cid:173)
`sor Fusion for Reliable Workspace Sensing", pp. 1-14.
`ISIS Project: Sensor Fusion, Linkoping University Division
`of Automatic Control and Communication Systems in coop(cid:173)
`eration with SAAB (Dynamics and Aircraft), 18 pp.
`Hitachi Automated Highway System (AHS), Automotive
`Products, Hitachi, Ltd., Copyright 1994-2002, 8 pages.
`Vehicle Dynamics Lab, University of California, Berkeley,
`funded by BMW, current members: D. Caveney and B.
`Feldman,"Adaptive Cruise Control", 17 pages.
`Counterair: The Cutting Edge, Ch. 2 "The Evolutionary
`Trajectory The Fighter Pilot-Here to Stay?" AF2025
`v3c8-2, Dec. 1996, pp. 1-7.
`Counterair: The Cutting Edge, Ch. 4 "The Virtual Trajectory
`Air Superiority without an "Air" Force?" AF2025 v3c8-4,
`Dec. 1996, pp. 1-12.
`
`TNO FEL Annual Review 1998: Quality works, 16 pages.
`Boeing News Release, "Boeing Demonstrates JSF Avionics
`Multi-Sensor Fusion", Seattle, WA, May 9, 2000, pp. 1-2.
`Boeing Statement, "Chairman and CEO Phil Condit on the
`JSF Decision", Washington, D.C., Oct. 26, 2001, pp. 1-2.
`Ada 95 Transition Support-Lessons Learned, Sections 3, 4,
`and 5, CACI, Inc. -Federal, Nov. 15, 1996, 14 pages.
`Joint Strike Fighter Terrain Database, ets-news.com "Simu(cid:173)
`lator Solutions" 2002, 3 pages.
`MSRC Redacted Proposal, 3.0 Architecture Development,
`pages 1-43.
`Powerpoint Presentation by Robert Allen-Boeing Phantom
`Works entitled "Real-Time Embedded Avionics System
`Security and COTS Operating Systems", Open Group Real(cid:173)
`Time Forum, Jul. 18, 2001, 16 pages.
`Green Hills Software, Inc., "The AdaMULTI 2000 Inte(cid:173)
`grated Development Environment", Copyright 2002, 7
`pages.
`Luttge, Karsten; "E-Charging API: Outsource Charging to a
`Payment Service Provider" IEEE; 2001 (pp. 216-222).
`
`* cited by examiner
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 4 of 19
`
`U.S. Patent
`
`Sep.30,2003
`
`Sheet 1 of 9
`
`US 6,629,033 B2
`
`>-
`I-.......
`a:::
`::::,
`(_)
`w
`en
`
`CX)
`
`....
`.....
`0~
`....
`co
`
`N
`.....
`
`(_)
`0
`
`....
`
`>-
`<t:
`_J
`a.
`en
`.......
`C)
`
`LO
`.....
`
`(_)
`0
`
`co
`N
`
`0
`.....
`
`w
`(_)
`a::: <t:
`wLL
`en a:::
`::::,W
`I-
`z
`.......
`
`0
`I")
`
`0
`
`....
`
`,...
`•
`-
`0
`u..
`
`w
`~ (_)
`<(
`0
`a:::
`CD
`
`0
`N
`
`0 .....
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 5 of 19
`
`10
`\
`
`APPLICATION (S)
`
`CAR INTERFACE
`MANAGER (API)
`
`PRIORITY MANAGER
`
`I
`I
`I
`I
`I
`I
`I
`
`'--50
`
`I
`I
`I
`I
`I
`I
`I
`
`APPLICATION (S)
`
`52-.....J
`
`CAR INTERFACE
`MANAGER (API)
`
`I
`I
`-4 - -
`I
`I
`I
`I
`46
`-..L
`I
`I
`I
`I
`
`CAR PROCESSOR #1
`COMMUNICATION
`CAR PROCESSOR #2
`10
`r----------------------------: Ltcyi~~[EOJ
`:----------------------------: )
`48
`
`PRIORITY MANAGER -4-
`
`44
`
`42
`
`I
`I
`I
`I
`-4 - -
`I
`I
`I
`
`LOGGING MANAGER
`
`LOGGING MANAGER
`
`SECURITY MANAGER
`
`SECURITY MANAGER
`
`I
`
`OPERA TING SYSTEM
`
`HARDWARE/LINKS
`INTERFACE
`
`------------1--------------
`
`OPERA TING SYSTEM
`
`HARDWARE/LINKS
`INTERFACE
`
`-------------- --------------
`
`I
`
`5t
`LINK
`FIG.2
`
`~ 40
`
`,- 38
`
`36
`
`d •
`r:JJ.
`•
`
`'JJ.
`~
`'?
`~ ~=
`
`N
`C
`C
`~
`
`'JJ. =-~
`~ ....
`N
`....,
`0
`\C
`
`e
`rJ'J.
`-..a-..
`a-..
`N
`'°
`b
`~
`~
`~
`N
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 6 of 19
`
`U.S. Patent
`
`Sep.30,2003
`
`Sheet 3 of 9
`
`US 6,629,033 B2
`
`........_
`60
`
`IDENTIFY OUT
`GOING MESSAGE
`
`44 )
`
`!
`
`62 ........_
`
`IDENTIFY PRIORITY
`VALUE ASSOCIATED
`WITH THE MESSAGE
`
`!
`
`64 ----
`
`RANK PRIORITY
`FOR
`IDENTIFIED
`MESSAGE
`
`!
`
`----
`66
`
`SEND MESSAGE TO
`LOGGING MANAGER
`
`FIG.3
`
`44 \
`
`IDENTIFY PRIORITY
`LABEL FOR
`INCOMING MESSAGE
`
`76
`
`REJECT
`MESSAGE
`
`N
`
`RETURN
`
`FIG.4
`
`PRIORITY SUFFICIENT
`TO RUN ON
`PROCESSOR
`y
`
`RANK PRIORITY
`WITH PRIORITIES FOR
`OTHER MESSAGES
`
`SCHEDULE PROCESSING
`OF MESSAGE ACCORDING
`TO PRIORITY RANKING
`
`RETURN
`
`68
`
`70
`
`72
`
`74
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 7 of 19
`U.S. Patent
`
`US 6,629,033 B2
`
`Sep. 30, 2003
`
`Sheet 4 of 9
`
`42 \
`
`RECEIVE MESSAGE
`
`i - -80
`
`1 I
`
`READ LOGGING
`LABEL IN MESSAGE
`
`---- 82
`
`, '
`
`N
`
`MESSAGE REQUIRE
`LOGGING ?
`
`----84
`
`lfy
`
`LOG MESSAGE IN
`MEMORY IDENTIFIED
`BY LOGGING LABEL
`
`----86
`
`--
`
`I J
`
`SEND MESSAGE TO
`NEXT COMMUNICATION ~ 88
`MANAGER
`
`RETURN)
`FIG.5
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 8 of 19
`
`U.S. Patent
`
`Sep.30,2003
`
`Sheet 5 of 9
`
`US 6,629,033 B2
`
`90
`\
`
`RECEIVE MESSAGE
`
`40
`
`)
`
`92
`\
`
`'
`SECURITY
`VALUE IDENTIFIED
`IN MESSAGE
`
`94
`~
`SECURITY VALUE y
`REQUIRED FOR
`APPLICATIONS
`
`N
`
`-
`
`9)6
`
`,Y
`
`SECURITY VALUE
`ACCEPT ABLE FOR
`CURRENT APPLICATIONS
`
`N
`
`y
`
`98
`\
`PASS MESSAGE TO
`NEXT COMMUNICATION
`LAYER
`
`RETURN)
`
`N
`
`100
`
`I
`
`)
`
`DROP
`-- MESSAGE
`
`RETURN
`
`FIG.6
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 9 of 19
`
`d •
`r:JJ.
`•
`
`102
`
`112
`
`130 110
`
`~ 1 08
`
`_DI-:-c- E::ER1~:T °rc,2s
`
`11,--7...----,_.......__,
`FUSION
`
`119
`
`114
`
`118
`
`122
`
`BRAKE
`
`SERIAL
`
`DOC
`
`DISPLAY
`
`._, BReE, 120
`DOC
`- - - 10
`125
`
`121
`
`FIG.7
`
`128,130
`
`140
`\
`TIME OF
`MEASUREMENT
`
`142
`\
`DATA
`
`PAYLOAD
`APPLICATION DAT A 139
`
`)
`
`I
`
`..
`
`I
`
`DOC
`
`104
`
`132
`\
`LINK
`HEADERS
`
`I
`
`134
`\
`SECURITY
`LABEL
`
`136
`\
`LOGGING
`LABEL
`
`138
`\
`PRIORITY
`LABEL
`
`..
`
`"
`QC LABELS 133
`OPERA TING SYSTEM DAT A 131
`FIG.8
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 10 of 19
`
`U.S. Patent
`
`Sep.30,2003
`
`Sheet 7 of 9
`
`US 6,629,033 B2
`
`150-- ~ 156
`
`154
`
`152
`
`SMALL, FAR
`
`158 -- AWAY OBJECT APPLICATION
`DETECTED
`------ -----
`,
`160 --
`ADD
`SECURITY
`LABEL
`,,
`DON'T
`LABEL FOR
`LOGGING
`
`OC SYSTEM
`10
`
`162 --
`
`f-.-.. 170
`
`LARGE, CLOSE
`IN OBJECT
`DETECTED
`----- ------
`"
`ADD
`SECURITY
`LABEL
`
`r--172
`
`',
`LABEL FOR
`LOGGING
`
`r--174
`
`,
`LABEL
`AS LOW
`PRIORITY
`
`164 '--
`
`'
`FORMAT FOR
`
`166 .-- LINK TO FUSION
`
`PROCESSOR
`
`~
`106,112
`
`/
`
`----176
`
`'
`LABEL
`AS HIGH
`PRIORITY
`,
`FORMAT FOR
`LINK TO FUSION ----178
`PROCESSOR
`
`.--
`
`168
`
`It
`
`TRANSMIT
`DATA
`
`,
`
`TRANSMIT
`DATA
`
`----180
`
`FIG.9
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 11 of 19
`U.S. Patent
`
`US 6,629,033 B2
`
`Sep.30,2003
`
`Sheet 8 of 9
`
`182
`\
`
`RECEIVE
`TRACK
`REPORT
`
`114
`
`)
`
`I
`
`PROCESS
`FOR RECEIVED
`INTERFACE
`
`READ
`SECURITY
`LABEL
`
`READ
`LOGGING
`LABEL
`
`, r
`
`READ
`PRIORITY
`LABEL
`
`SEND
`REPORT TO
`APPLICATION
`
`•
`SEND
`BRAKE
`COMMAND
`
`FIG.10
`
`1 I
`
`194
`\
`SEND IMAGE
`TO DATA
`DISPLAY
`
`1 I
`
`SEND AUDIO
`DATA TO CAR
`AUDIO SYSTEM
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 12 of 19
`
`IR SENSOR
`
`200
`
`d •
`r:JJ.
`•
`
`220
`)
`
`IR PROCESSING
`(APPLICATION)
`
`PROCESSOR A
`
`PROCESSOR B
`
`FUSION PROCESSING
`(APPLICA TIONl
`
`l
`
`218
`
`CONNECT TO SEND (SENSOR REPORT)
`
`CONNECT TO RECEIVE (SENSOR REPORT)
`
`202
`
`204
`
`2~6
`
`l
`l
`l
`
`SEND (SENSOR REPORT)
`
`OPEN CONNECTION
`SYSTEM
`
`HARDWARE INTERFACE
`
`269
`210
`\
`,
`212--
`1 SENSOR REPORT 1
`
`CONTROL TABLE
`SENSOR REPORT
`i.---. 213 PRIORITY
`\.. SECURITY
`FUSION APP.
`LOGGING
`CONNECT TO SEND ( )
`CONNECT TO RECEIVE ( )
`SEND ( )
`WAIT ON( )
`
`CONTROL TABLE
`
`SENSOR REPORT
`PRIORITY
`SECURITY
`PROCESSOR A
`PROCESSOR C
`LOGGING
`BRAKE REPORT
`PRIORITY
`SECURITY
`BRAKE PROC.
`CONNECT TO SEND ( )
`CONNECT TO RECEIVE ( l
`WAIT ON( )
`
`l
`l
`
`216
`\
`WAIT ON(SENSOR REPORT)
`
`10
`)
`OPEN CONNECTION
`SYSTEM
`
`HARDWARE INTERFACE
`
`r--214
`
`FIG.11
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 13 of 19
`
`US 6,629,033 B2
`
`1
`OPEN COMMUNICATION SYSTEM FOR
`REAL-TIME MULTIPROCESSOR
`APPLICATIONS
`
`5
`
`2
`FIG. 2 is a block diagram of the open communication
`system shown in FIG. 1.
`FIG. 3 is a flow diagram showing how a priority manager
`processes outgoing data in the open communication system.
`FIG. 4 is a flow diagram showing how the priority
`manager receives data in the open communication system.
`FIG. 5 is a flow diagram showing how a logging manager
`processes data in the open communication system.
`FIG. 6 is a flow diagram showing how a security manager
`processes data in the open communication system.
`FIG. 7 is a diagram showing one example of how the open
`communication system is used by different processors.
`FIG. 8 is a diagram of a tracking report that is generated
`15 by the open communication system.
`FIG. 9 is a flow diagram showing how different image
`data is processed and transmitted using the open communi(cid:173)
`cation system.
`FIG. 10 is a flow diagram showing how the transmitted
`image data in FIG. 9 is received and processed using the
`open communication system.
`FIG. 11 is a block diagram showing another example of
`how the open connection system operates.
`
`DETAILED DESCRIPTION
`
`BACKGROUND
`Cars include many different electro-mechanical and elec(cid:173)
`tronic systems. Examples include braking systems, elec(cid:173)
`tronic security systems, radios, Compact Disc (CD) players,
`internal and external lighting systems, temperature control
`systems, locking systems, seat adjustment systems, speed 10
`control systems, mirror adjustment systems, directional
`indicators, etc. Generally the processors that control these
`different car systems do not talk to each other. For example,
`the car radio does not communicate with the car heating
`system or the car braking system. This means that each one
`of these car systems has to provide a separate standalone
`operating system. For example, separate processors and
`separate user interfaces are required for the car temperature
`control system and for the car audio system. Many of these
`different car processors may be underutilized since they are 20
`only used intermittently.
`Even when some processors in the car do talk to each
`other, they are usually so tightly coupled together that it is
`impossible to change any one of these processors without
`disrupting all of the systems that are linked together. For 25
`example, some cars may have an interface on the dashboard
`that controls both internal car temperature and a car radio.
`The car radio cannot be replaced with a different model and
`still work with the dashboard interface and the car tempera(cid:173)
`ture controller.
`Integration of new systems into a car is also limited. Car
`systems are designed and selected well before the car is ever
`built. A custom wiring harness is then designed to connect
`all the car systems selected for the car. A car owner can not
`later incorporate new systems into the existing car. For
`example, a car may not originally come with a car naviga(cid:173)
`tion system. An after market navigation system from another
`manufacturer cannot be integrated into the car.
`Because after market devices can not be integrated into
`car control and interface systems, it is often difficult for the 40
`driver to try and operate these after market devices. For
`example, the car driver has to operate the after market
`navigation system from a completely new interface, such as
`the keyboard and screen of a laptop computer. The driver
`then has to operate the laptop computer, not from the front 45
`dashboard of the car, but from the passenger seat of the car.
`This makes many after market devices both difficult and
`dangerous to operate while driving.
`The present invention addresses this and other problems
`associated with the prior art.
`
`FIG. 1 shows a car 12 that includes multiple processors
`14, 16, 18 and 20. The engine monitor processor 14 in one
`configuration monitors data from different sensors 22 and 24
`30 in the car engine. The sensors 22 and 24 can be any sensing
`device such as sensors that monitor water temperature, oil
`temperature, fuel consumption, car speed, etc. The brake
`control processor 20 monitors and controls an Automatic
`Braking System (ABS) 28. The display processor 16 is used
`35 to control and monitor a graphical or mechanical user
`interface. The security processor 18 monitors and controls
`latches and sensors 30 and 32 that are used in a car security
`system.
`Typical networks, such as in an office network
`environment, enable multiple computers to communicate
`with each other. Applications such as printing jobs can be
`launched from any one of the networked computers. If one
`of the networked computers crashes or is busy, a user must
`manually send the job to another computer. The other
`computer then handles the task like any other locally
`received task.
`In a car environment, tasks must be processed with
`different priorities in real-time. For example, the braking
`tasks in the brake processor 20 have to be processed with a
`high priority while a radio selection task performed in the
`display processor 16 can be processed with a relatively low
`priority. The processors 14, 16, 18 and 20 all include
`software that runs an Open Communication (OC) system 10
`55 that enables the multiple processors to transfer data and
`exchange messages for performing these real-time car appli-
`cations.
`If the processor 20 currently running the high priority
`braking application fails, the OC system 10 allows the
`braking tasks to be offloaded to another processor in car 12,
`such as the display processor 16. The OC system 10 auto(cid:173)
`matically assigns a high priority to the braking tasks that
`allow the braking tasks to override lower priority tasks, such
`as the radio application, that are currently being performed
`65 in display processor 16.
`The OC system 10 also ensures that data in each processor
`is processed in a secure manner for the car environment. The
`
`50
`
`SUMMARY OF THE INVENTION
`A communication system for a mobile vehicle, home, or
`office environment includes multiple processors. The mul(cid:173)
`tiple processors each run an Open Communication system
`that controls how data is transferred between processors
`based on data content as opposed to the links that connect
`the processors together. The open communication system
`enables data or messages to be effectively transferred and
`processed for real-time applications or other server based 60
`applications that may be running on the multiple processors
`in a secure environment regardless of processors, locations,
`or data links.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a diagram of a car that have multiple processors
`that each run an open communication system.
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 14 of 19
`
`US 6,629,033 B2
`
`3
`security portion of the OC system 10 prevents unauthorized
`devices from accessing the different car applications. The
`OC system 10 also includes a logging portion that allows
`data in the car system to be automatically logged. This is
`important for accident reconstruction purposes. The OC
`system 10 also allows different processors to communicate
`over different communication protocols and hardware inter(cid:173)
`faces. Any processor that includes an OC system 10 can be
`integrated in the system shown in FIG. 1. This allows
`different processors and different applications can be seam(cid:173)
`lessly replaced and added to the overall multiprocessor
`system.
`The description below gives only a few examples of the
`different processors and different applications that can
`implemented using the OC system 10. However, any single 15
`or multiprocessor system located either inside or outside of
`car 12 can communicate and exchange data using the OC
`system 10. It should also be understood that the OC system
`10 can be used in any real-time network environment such
`as between processors used in appliances and computers in 20
`the home.
`FIG. 2 is a block diagram of the communication managers
`used in the OC system 10 described in FIG. 1. The different
`communication managers in the OC system 10 are config(cid:173)
`ured to provide the necessary control for operating a dis(cid:173)
`tributed processor system in a real-time car environment.
`Applications 48 are any of the different applications that can
`be performed for the car 12 shown in FIG. 1. For example,
`applications can include car displays, braking control, secu(cid:173)
`rity systems, sensor monitoring, airbag deployment, etc. One 30
`or more applications can be run in the same processor at the
`same or at different times.
`A car interface manager 46 operates as an Application
`Programmers Interface (API) that can be implemented in
`any variety of different languages such as Java, C++, Exten(cid:173)
`sible Markup Language (XML) or HyperText Markup Lan(cid:173)
`guage (HTML), etc. The car interface manager 46 enables
`applications 48 to be written in any variety of different
`languages. This prevents the applications 48 from having to
`be written specifically for the car environment or for a
`specific communication protocol. Thus, applications written
`for other systems can be reused in the car system described
`below. The car interface manager 46 reads basic processing
`and data transfer commands needed to transfer data and 45
`messages between different processors and storage mediums
`inside or outside the car 12.
`For clarity the terms 'message' and 'data' are used inter(cid:173)
`changeably below. After a message passes through the car
`interface manager 46, a priority manager 44 determines a
`priority value for the message that determines how the
`message is processed both in the local processor 50 and in
`other processors such as processor 52. Referring to FIG. 3,
`an outgoing message is identified by the priority manager 44
`in block 60. A priority for the message is identified in block
`62 by reading a priority value that the generic car interface
`manager 46 has attached to the message.
`In block 64, the priority manager 44 compares the priority
`value for the outgoing message with the priority values for
`other messages in the processor. The priority manager 44
`ranks the outgoing message with respect to the other mes(cid:173)
`sages and then sends the message to the logging manager 42
`in block 66 (FIG. 2). For example, there may be several
`messages that either need to be output or received by a
`particular processor. An output message with a high priority
`value, such as a crash indication message, will be assigned
`higher priority than other messages and will therefore be
`
`4
`immediately transmitted by the processor 50 before other
`lower priority messages.
`FIG. 4 shows how the priority manager 44 receives
`messages from other processors. There may be multiple
`5 applications running on the same processor and multiple
`messages and data sent from other processors to those
`applications. For example, multiple sensors may be sending
`different types of data to a video display application running
`on one of the processor 50 (FIG. 2). That same processor 50
`10 may also be receiving different types of sensor data for
`running an airbag deployment application. The priority
`manager 44 determines the order that messages are pro(cid:173)
`cessed by the different applications that reside on processor
`50.
`In block 68, the priority manager 44 reads the priority
`labels for incoming messages. If the priority of the message
`is not high enough to run on the processor in block 70, the
`data or message is rejected in block 76. The priority manager
`44 may send out a message to the sending processor indi-
`cating the message has been rejected. In some situations, the
`message or data may have such a low priority that an
`acknowledge message does not have to be sent back to the
`sending processor. For example, inside temperature data
`from a temperature sensor may be sent to one or more
`25 processors with no requirement that the processor accept or
`acknowledge the data. In this case the temperature data is
`sent with a very low priority value that indicates to the
`priority manager 44 that no message needs to be sent back
`to the temperature sensor even if the data is rejected.
`The priority manager 44 in block 72 ranks the priority of
`the incoming message in relation to the priorities of all the
`other messages in the processor. The priority manager in
`block 74 decides according to the ranking whether the
`message should be put in a queue or sent directly to the
`35 application for immediate processing. For example, a crash
`indication message may have a high enough priority to cause
`the priority manager 44 to delay all data currently being
`processed by all other applications in the same processor.
`The priority manager 44 directs all the applications to wait
`40 while the current high priority crash indication message is
`processed. The other data and messages are queued in the
`processor and processed after the crash indication message
`has been completed.
`Referring to FIGS. 2 and 5, a logging manager 42 controls
`what data is logged by different processors. It may be
`important to log critical failures that occur during an acci(cid:173)
`dent. For example, it may be important to verify that a
`particular processor sent an air bag deployment message and
`that another processor successfully received the airbag
`50 deployment message. This would allow insurance compa(cid:173)
`nies and other entities to reconstruct accidents by identifying
`when and where different messages were sent and received.
`The logging manager 42 receives either an incoming
`message over a communications link for sending to a local
`55 application 48 or receives an outgoing message from one of
`the local applications 48 for sending out over the commu(cid:173)
`nications link to another processor in block 80. The logging
`manager 42 reads a logging label in the message in block 82.
`If the logging label indicates that no logging is required, the
`60 message is sent on to the next communication manager in
`block 88. If it is an outgoing message it is sent to the security
`manager 40 (FIG. 2). If it is a incoming message it is sent
`to the priority manager 44. If the message requires logging,
`the logging manager 42 stores the message in a memory in
`65 block 86. The logging label may indicate a particular type of
`memory for logging, such as a nonvolatile Flash memory or,
`if available, a high volume hard disk peripheral memory.
`
`

`

`Case 6:20-cv-01001-ADA Document 1-2 Filed 10/28/20 Page 15 of 19
`
`US 6,629,033 B2
`
`15
`
`20
`
`5
`The logging manager 42 in each processor, provides the
`OC system 10 with the unique ability to track when and
`where messages are sent and received at different processors
`in the multiprocessor car system. This is important in
`accident reconstruction allowing the logging managers 42 to
`identify which processors and applications failed and also
`the sequence in which the different processors and associ(cid:173)
`ated applications failed.
`The logging manager 42 can also track unauthorized
`messages and data that may have caused any of the proces- 10
`sors in the car to crash. For example, an audio processor that
`handles audio applications in the car may crash due to
`unauthorized downloading of MP3 music from a laptop
`computer. The logging manager 42 can log the unauthorized
`data received from the laptop MP3 player. The logging
`manager 42 logs any data that does not have a particular
`security or priority label value. A system administrator can
`then down load the MP3 data to identify what caused the
`audio processor to crash.
`Referring to FIGS. 2 and 6, a security manager 40
`provides security for applications both receiving and trans(cid:173)
`mitting messages. For instance, a laptop computer may be
`connected to a Ethernet port in the car 12 (FIG. 1). If the
`laptop computer does not use the OC system 10, data from
`that laptop application is not allowed to access certain 25
`processors or certain applications in the car 12. For example,
`audio data should not be sent or processed by a processor
`that performs car braking control.
`The security manager 40 in block 90 reads a message
`either received from an application on the same processor or 30
`received over a communication link from another processor.
`The security manager 40 determines if there is a security
`value associated with the message in block 92. If there is no
`security value associated with the data, the security manager
`40 may drop the data in block 100. However, some 35
`applications, such as a processor that plays audio data may
`not require a security label. In this case, the security manager
`in block 94 allows the data to be passed on to the application
`in block 98.
`In other instances the data or message may have a security
`value, but that security value is not sufficient to allow
`processing on the present applications. For example, data for
`car security monitoring may be sent to a processor that
`controls air bag deployment and an automatic braking
`system. The two currently running applications may set a
`minimum security level for receiving data. If data received
`from other processors do not have that minimum security
`level in block 96, the data is dropped in block 100.
`Otherwise, the data or message is passed on to the next
`communication layer for further processing in block 98.
`Thus the security manager 40 prevents unauthorized data or
`messages from effecting critical car applications.
`Referring back to FIG. 2, an operating system layer 38
`identifies the communication platform used for communi(cid:173)
`cating the data or message over a link identified in a 55
`hardware/link interface 36. The operating system 38 then
`formats the message for the particular communication stack
`and medium used by the identified link 54. For example, the
`operating system layer 38 may identify a first message being
`transmitted over a Bluetooth wireless link and a second 60
`message transmitted over a Transmission Control Protocol/
`Internet Protocol (TCP/IP) packet switched link. The data or
`message adds whatever headers and formatting is necessary
`for transmitting the first message over the Bluetooth wireless
`link and the second message over the TCP /IP hardwired link.
`The hardware/link interface 36 includes the software and
`hardware necessary for interfacing with different communi-
`
`6
`cation links 54. For example, the two processors 50 and 52
`may communicate over a Ethernet link, 802.11 wireless link,
`or hardwired Universal Serial Bus link, etc. The software
`necessary for the two processors to communicate over these
`5 different interfaces is known to those skilled in the art and
`is therefore not described in further detail.
`FIG. 7 describes one example of an application that uses
`the OC system 10 described above in FIGS. 1-6. A car 102
`includes an radar sensor 104 that is controlled by a radar
`processor 106. The radar sensor 104 is located in the front
`grill of car 102. An InfraRed (IR) sensor 110 is controlled by
`an IR processor 112 and is located on the front dash of car
`102. A braking system 123 is controlled by a brake control
`processor 122. The IR processor 112 is connected to a fusion
`processor 114 by an Ethernet link 116 and the radar proces(cid:173)
`sor 106 is connected to the fusion processor 114 by a 802.11
`wireless link 108. The brake processor 122 is connected to
`the fusion processor 114 by a CAN serial link 120. The
`fusion processor 114 is also coupled to a display screen 118.
`The radar sensor 104 in combination with the radar
`processor 106 generates Radar Track Reports (RTRs) 130
`that are sent to the fusion processor 114. The IR sensor 110
`in combination with the IR processor 112 generate Infrared
`Track Reports (ITRs) 128 that are sent to the fusion pro(cid:173)
`cessor 114.
`Referring to FIG. 8, each track report 128 and 130
`includes communication link headers 132 for communicat(cid:173)
`ing over an associated interface medium. In this example,
`the radar track report 130 includes the link headers 132
`necessary for transmitting data over the 802.11 link 108. The
`infrared track report 128 includes the link headers 132 for
`transmitting data over the Ethernet link 116.
`The track reports 128 and 130 include Open Communi(cid:173)
`cation (OC) labels 133 for performing the OC operations
`described above. A security label 134 is used by the security
`manager for preventing unauthorized data from being down(cid:173)
`loaded into one of the car processors and disrupting appli(cid:173)
`cations. A logging label 136 is used by the logging manager
`40 to identify data that needs to be logged in a local memory.
`The priority label 138 is used by the priority manager for
`scheduling messages or data to the applications run by the
`processors. The link headers 132, security label 134, logging
`label 136 and priority label 138 are all part of the data 131
`45 used by the open operating system 131.
`The radar processor 106 and IR processor 112 also send
`a time of measurement 140 and other data 142 from the radar
`sensor 104 and IR sensor 110, respectively. The data 142 can
`include kinematic states of objects detected by the sensors.
`50 The time of measurement data 140 and ot

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