throbber
(12) United States Patent
`PrestOn et al.
`
`USOO6629033B2
`(10) Patent No.:
`US 6,629,033 B2
`(45) Date of Patent:
`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)
`-
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/841,753
`
`(22) Filed:
`
`Apr. 24, 2001
`
`(65)
`
`Prior Publication Data
`US 2002/0156564 A1 Oct. 24, 2002
`
`(51) Int. Cl. .................................................. G06F 7700
`(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.243450 B1
`6/2001 Jansen et al.
`
`FOREIGN PATENT DOCUMENTS
`WO96/24229
`8/1996
`W:
`i9.
`WO99/65183
`12/1999
`WOO1/30061
`4/2001
`WOO1/58110
`8/2001
`
`WO
`W
`WO
`WO
`WO
`
`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
`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
`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 Johnson &
`McCollom, PC
`ABSTRACT
`(57)
`A communication System for a mobile vehicle, home, or
`office environment includes multiple processors. The mul
`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
`
`22
`
`14
`ENGINE
`
`24-
`
`2O
`BRAKE
`BRAKE
`
`28
`
`\
`
`2
`
`is "
`
`oc
`OC
`
`26
`
`1 O
`USER
`INTERFACE
`
`1O
`
`1O
`
`J2
`
`JSO
`
`AHM, Exh. 1013, p. 1
`
`

`

`US 6,629,033 B2
`Page 2
`
`OTHER PUBLICATIONS
`S.G. Goodridge, “Multimedia Sensor Fusion for Intelligent
`Camera Control and Human-Computer Interaction', Dis
`Sertation Submitted to the Graduate Faculty of North Caro
`lina State University in partial fulfillment of the require
`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
`sor Fusion for Reliable WorkSpace Sensing”, pp. 1-14.
`ISIS Project: Sensor Fusion, Linkoping University Division
`of Automatic Control and Communication Systems in coop
`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
`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
`Time Forum, Jul. 18, 2001, 16 pages.
`Green Hills Software, Inc., “The AdaMULTI 2000 Inte
`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
`
`AHM, Exh. 1013, p. 2
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 1 of 9
`
`US 6,629,033 B2
`
`O |
`
`Z |
`
`O |
`
`\ om
`
`
`
`
`
`?HO LINOW|
`
`AHM, Exh. 1013, p. 3
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 2 of 9
`
`US 6,629,033 B2
`
`ALTYOIYd vv
`SYSAV1OLC#YOSSIIONdYVONOILVOINNWNOOL#YOSSAD0UdYVO
`OrYAIOVNVAWALTYNOASYSOVNVW g¢ ALTYNOAS
`
` CvYIOVNVAWONIO9O1YSIVNVWONID9O1
`
`
`
`YSJOVNVAWALIYOIYdYADVNVW
`
`(S)NOILVOTIddv(S)NOILVOTIddv
`JOVAYALNIYVOJOVAYSLINIYVO
`
`
`
`(IdV)YSONVNVAN(IdV)YSOVNVA
`
`
`
`
`
`
`
`
`
`WALSASSNILVdsd0WSALSASSNILVdsdO
`
`SANTI1ZSUVMOYVHSANT1ZSYVMGYVH
`
`JOVAYALNIJOVAYSALNI
`
`Be
`
`YO4
`
`WALSAS90
`
`AHM, Exh. 1013, p. 4
`
`AHM, Exh. 1013, p. 4
`
`
`
`
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 3 of 9
`
`US 6,629,033 B2
`
`
`
`IDENTIFY PRIORITY
`VALUE ASSOCIATED
`WITH THE MESSAGE
`
`RANK PRIORITY
`FOR IDENTIFIED
`MESSAGE
`
`REJECT
`MESSAGE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IDENTIFY PRIORITY
`LABEL FOR
`IN COMING MESSAGE
`
`68
`
`PRIORITY SUFFICIENT
`TO RUN ON
`PROCESSOR
`
`
`
`7O
`
`
`
`RANK PRIORITY
`WITH PRIORITIES FOR
`OTHER MESSAGES
`
`72
`
`SCHEDULE PROCESSING
`OF MESSAGE ACCORDING
`TO PRIORITY RANKING
`
`
`
`
`
`
`
`
`
`AHM, Exh. 1013, p. 5
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 4 of 9
`
`US 6,629,033 B2
`
`42
`\
`
`
`
`
`
`
`
`RECEIVE MESSAGE
`
`8O
`
`READ LOGGING
`LABEL IN MESSAGE
`
`82
`
`MESSAGE RECQUIRE
`LOGGING 2
`
`84
`
`LOG MESSAGE IN
`MEMORY IDENTIFIED
`BY LOGGING LABEL
`
`86
`
`SEND MESSAGE TO
`NEXT COMMUNICATION
`MANAGER
`
`88
`
`FIG.5
`
`AHM, Exh. 1013, p. 6
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 5 of 9
`
`US 6,629,033 B2
`
`9 O
`
`RECEIVE MESSAGE
`
`92
`
`94
`
`SECURITY
`VALUE IDENTIFIED
`IN MESSAGE
`
`SECURITY VALUE Y
`REQUIRED FOR
`APPLICATIONS
`
`SECURITY VALUE
`ACCEPTABLE FOR
`
`CURRENT isney
`
`
`
`
`
`
`
`DROP
`MESSAGE
`
`PASS MESSAGE TO
`NEXT COMMUNICATION
`LAYER
`
`FIG.6
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`AHM, Exh. 1013, p. 7
`
`

`

`U.S. Patent
`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 6 of 9
`
`US 6,629,033 B2
`US 6,629,033 B2
`
`YLI
`
`cOl
`
`Odl
`
`ZL
`
`-20-N 138V1
` 6ELVIVONOILVOIIddv
`——————————————
`[z+Ort
`gi,2SNorsn]|BLL
`ac4GttTouo1
`JO3WILALIYOIYd|ONID9NOT|ALTYNOASANT]
`
`INAINAYNSVIWN
`OLLol
`LINYSLHS
`„–^??????????????????????????????????????????????????N.
`S1Z8V1001 m—vV—V"9@V~
`
`
`1598V1138V1SYJOVIH
`SZl©ZLOLOl
`PatPoe
`TViIuasJNVYE|~ZZ1|900|ToeTLEvavy
`
`8Cl9¢1OlZol
`90dObaay
`
`
`|ayvug|—>
`L014
`8Dld
`
`letVLVOWALSASSNILVUSdO
`ao,7La901
`Sel
`900\\
`
`oc1'8Z
`
`
`
`QVOIAVd
`
`ÇÇ I ST||E|8}\/T OO
`
`AHM, Exh. 1013, p. 8
`
`AHM, Exh. 1013, p. 8
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 7 of 9
`
`US 6,629,033 B2
`
`150
`
`es
`
`154
`
`156
`
`152
`
`
`
`
`
`158
`
`SMALL FAR
`AWAY OBJECT APPLICATION
`DETECTED
`
`LARGE, CLOSE
`IN OBJECT
`DETECTED
`
`17O
`
`16 O
`
`162
`
`164
`
`ADD
`SECURITY
`LABEL
`
`OC SYSTEM
`10
`
`ADD
`SECURITY
`LABEL
`
`DON'T
`LABEL FOR
`LOGGING
`
`- LABEL
`LABEL
`106,112
`AS HIGH
`AS LOW
`PRIORITY - PRIORITY
`
`172
`
`174
`
`176
`
`FORMAT FOR
`166-N-LINK TO FUSION
`PROCESSOR
`
`FORMAT FOR
`LINK TO FUSIONN-178
`PROCESSOR
`
`TRANSMIT
`
`TRANSMIT
`DATA
`
`18O
`
`FIG.9
`
`AHM, Exh. 1013, p. 9
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 8 of 9
`
`US 6,629,033 B2
`
`182
`
`4
`
`RECEIVE
`TRACK
`REPORT
`184
`
`PROCESS
`FOR RECEIVED
`INTERFACE
`186
`
`READ
`SECURITY
`LABEL
`188
`
`READ
`LOGGING
`LABEL
`
`190
`
`READ
`PRIORITY
`LABEL
`192
`
`SEND
`REPORT TO
`APPLICATION
`
`194
`
`196
`
`198
`
`SEND IMAGE
`TO DATA
`DISPLAY
`
`SEND
`BRAKE
`COMMAND
`
`FIG.10
`
`SEND AUDIO
`DATA TO CAR
`AUDIO SYSTEM
`
`AHM, Exh. 1013, p. 10
`
`

`

`U.S. Patent
`
`Sep. 30, 2003
`
`Sheet 9 of 9
`
`US 6,629,033 B2
`
`O27
`
`(NOILVOIIddv)
`
`
`
`N3ALSAS
`
`
`
`LYOd3uy4ANVud
`
`ALIYOIYd
`
`ALIYNIIAS
`
`
`
`LY¥Od3uYYOSNAS
`
`ALTYNDAS
`
`SAIFOIYOLLOANNOOD et
`
`
`(LYOd3¥YOSN3AS)NOLIVMALTYOIYd
`
`LOld()NOLIVM()}3ATI03YOLLOINNOD()ON3SOLLOINNOD
`
`912|d1aVl1OYLNOD
`
`(1LYO0d35YYOSNAS)
`
`
`GLZvie‘90UdaNvUa
`ONISSIOONdNOISN,|9YOSSS3I0Ud
`
`SOVAYSLNIJSYVMOUYVH
`
`NOILOSNNODN3dOONID901JY¥OSS390UdVYyOSS300Ud
`
`()}ON3SOLLOANNOD[Cleolz60Z
`
`
`J1gVLIOULNODg0zOl
`
`LYOd3YYOSNIS
`
` (NOLIVM()ONA4S1YOd3uYOSNIS()3AIZ03YOLLOINNOD
`
`
`‘dd¥NOISN4~JOVANALNIJYVMGUVH
`
`AlTYOIedNOILOSNNODN3dO
`
`
`(1LYOd3YYOSNIS)GNISOLLOSNNOOD
`o1ZWALSAS
`
`
`
`(NOILVOIIddv)VYOSSIO0Ud)NISS3IOONdUI
`
`YOSN3SUI
`
`
`
`(LYOd3Y¥YOSNIS)GNIS
`
`¥0Z
`
`90Z
`
`ALINNO|S
`
`9NID901
`
`LL?
`
`AHM, Exh. 1013, p. 11
`
`AHM, Exh. 1013, p. 11
`
`
`
`
`
`
`
`

`

`1
`OPEN COMMUNICATION SYSTEM FOR
`REAL-TIME MULTIPROCESSOR
`APPLICATIONS
`
`BACKGROUND
`Cars include many different electro-mechanical and elec
`tronic Systems. Examples include braking Systems, elec
`tronic Security Systems, radios, Compact Disc (CD) players,
`internal and external lighting Systems, temperature control
`Systems, locking Systems, Seat adjustment Systems, Speed
`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
`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
`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
`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
`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
`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
`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.
`SUMMARY OF THE INVENTION
`A communication System for a mobile vehicle, home, or
`office environment includes multiple processors. The mul
`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.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a diagram of a car that have multiple processors
`that each run an open communication System.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,629,033 B2
`
`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
`by the open communication System.
`FIG. 9 is a flow diagram showing how different image
`data is processed and transmitted using the open communi
`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
`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
`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
`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
`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
`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
`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
`
`AHM, Exh. 1013, p. 12
`
`

`

`US 6,629,033 B2
`
`15
`
`25
`
`35
`
`40
`
`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
`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
`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
`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
`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
`ured to provide the necessary control for operating a dis
`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
`rity Systems, Sensor monitoring, airbag deployment, etc. One
`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
`sible Markup Language (XML) or HyperText Markup Lan
`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
`messages between different processors and Storage mediums
`inside or Outside the car 12.
`For clarity the terms 'message and data are used inter
`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
`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
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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
`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
`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
`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
`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
`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
`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
`dent. For example, it may be important to verify that a
`particular processor Sent an airbag deployment message and
`that another processor Successfully received the airbag
`deployment message. This would allow insurance compa
`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
`application 48 or receives an outgoing message from one of
`the local applications 48 for Sending out over the commu
`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
`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
`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.
`
`AHM, Exh. 1013, p. 13
`
`

`

`S
`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
`ated applications failed.
`The logging manager 42 can also track unauthorized
`messages and data that may have caused any of the proces
`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
`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
`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
`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
`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
`cating the data or message over a link identified in a
`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
`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
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,629,033 B2
`
`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
`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
`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
`cessor 114.
`Referring to FIG. 8, each track report 128 and 130
`includes communication link headers 132 for communicat
`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
`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
`loaded into one of the car processors and disrupting appli
`cations. A logging label 136 is used by the logging manager
`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
`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.
`The time of measurement data 140 and other sensor data 142
`is referred to as application data 139 and is the actual data
`that is used by the application.
`FIGS. 9 and 10 show one example of how the radar and
`infrared sensor data is processed by the OC system 10. One
`or both of the radar processor 106 and the IR processor 112
`may generate image data 150 and 152 for the area in front
`of the car 102 (FIG. 7). For simplicity, the discussion below
`only refers to an image generated by radar Sensor 104. At a
`first time t=t, sensor 104 detects a small far away object
`154. At another time t=t, Sensor 104 detects a large up-close
`object 156.
`The applications described below are all performed by the
`OC System 10 thus preventing the applications from having
`to handle the tasks. This allows the applications to be written
`in a completely portable fashion with no knowledge of the
`network hardware, Security, priority and logging operations.
`This greatly reduces the cost of creating applications.
`
`AHM, Exh. 1013, p. 14
`
`

`

`15
`
`7
`An image processing application in the processor 106
`identifies the object 154 as a small far away object in block
`158. The image and kinematic data for the object is output
`by the OC system 10 as a radar track report 130. The security
`manager 40 (FIG. 2) in the radar processor 106 adds a
`security label 134 to the report in block 160 and the logging
`manager 42 may or may not add a logging label to the report
`in block 162. In this example, the object 154 has been
`identified by the image processing application as a Small far
`away object. Therefore, the logging manager does not label
`the track report for logging. The priority manager 44 (FIG.
`2) adds a priority label 138 (FIG. 8) to the report in block
`164. Because the image processing application identifies the
`object 154 as no critical threat (small far away object), the
`priority label 138 is assigned a low priority value in block
`164.
`The OC system 10 then formats the radar track report in
`block 168 according to the particular link used to send the
`report 130 to the fusion processor 114. For example, the
`operating system 38 and the hardware/link interface 36
`(FIG. 2) in the radar proces

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