throbber
(12)
`
`United States Patent
`Preston et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,146.260 B2
`Dec. 5, 2006
`
`USOO7146260B2
`
`(54) METHOD AND APPARATUS FOR DYNAMIC
`CONFIGURATION OF MULTIPROCESSOR
`SYSTEM
`(75) Inventors: Dan Alan Preston, Bainbridge Island,
`WA (US); Robert Pierce Lutter,
`Tacoma, WA (US)
`(73) Assignee: Medius, Inc., Bainbridge Island, WA
`(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 835 days.
`
`(21) Appl. No.: 09/841,915
`
`(22) Filed:
`
`Apr. 24, 2001
`O
`O
`Prior Publication Data
`US 20O2/O154605 A1
`Oct. 24, 2002
`
`(65)
`
`(51) Int. Cl.
`(2006.01)
`GOIC 22/00
`(2006.01)
`G05B 23/02
`(52) U.S. Cl. .......................................... 701/24; 340/3.1
`(58) Field of Classification Search ..................... None
`See application file for complete search history.
`References Cited
`
`(56)
`
`WO
`WO
`WO
`WO
`
`WO99,57662
`WO99,651.83
`WOO1/30061
`WOO1,58110
`
`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 Envi
`ronment”. Copyright 2001, pp. 1-2.
`Product description of Raytheon Electronic Systems (ES), Copy
`right 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 Conference on Robotics and
`Automation, Seoul, Korea, May 21-26, pp. 1-6.
`Continued
`(Continued)
`Primary Examiner Duc Ho
`Assistant Examiner Phuongchau Ba Nguyen
`(74) Attorney, Agent, or Firm Marger Johnson &
`McCollom, P.C.
`(57)
`
`ABSTRACT
`
`J. W. J.
`
`a C a
`
`- - - -
`
`
`
`U.S. PATENT DOCUMENTS
`A multiprocessor system used in a car, home, or office
`environment includes multiple processors that run different
`... TO1.59
`4,829.434 A *
`5/1989 Karmel et al. ..
`real-time applications. A dynamic configuration system runs
`5,581.462 A * 12/1996 Rogers .......................... TO1/3
`2. : 3.S. SR
`- - - SC on the multiple processors and includes a device manager,
`6,181,994 B1
`1/2001 Colson et al. ................ TO1/33
`agittag, d
`g T
`s
`6,182,006 B1
`1/2001 Meek ......................... too
`ager automatically detects and adds new devices to une
`6,243,450 B1
`6/2001 Jansen et al.
`multiprocessor system, and the configuration manager auto
`6,505,100 B1* 1/2003 Stuempfleet al. ............. 70 1/1
`matically reconfigures which processors run the real-time
`6,622,083 B1* 9/2003 Knockeart et al. .......... 701/202
`applications. The data manager identifies the type of data
`generated by the new devices and identifies which devices in
`the multiprocessor System are able to process the data.
`
`FOREIGN PATENT DOCUMENTS
`WO96/24229
`8, 1996
`WO99,08436
`2, 1999
`
`WO
`WO
`
`12 Claims, 12 Drawing Sheets
`
`S8
`y
`<>))
`20
`
`S4
`
`22
`
`A
`ENGINE
`- Mor
`
`24-
`
`Dc
`
`8
`
`10
`
`-
`12
`DISPLAY-16 'E'
`security
`oc
`SECURITY
`28
`D
`
`10
`INTERFACE
`is
`
`O
`
`SO
`
`AHM, Exh. 1012, p. 1
`
`

`

`US 7,146.260 B2
`Page 2
`
`OTHER PUBLICATIONS
`A. Das, R. Fierro, V. Kumar, J. Ostrowski, J. Spletzer, and C. Taylor,
`“A Framework for Vision Based Formation Control', IEEE Trans
`actions 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.
`S.G. Goodridge, “Multimedia Sensor Fusion for Intelligent Camera
`Control and Human-Computer Interaction”. Dissertation submitted
`to the Graduate Faculty of North Carolina State University in partial
`fulfillment of the requirements for the degree of Doctor of Philoso
`phy in Electrical Engineering, Raleigh, NC, 1997, pp. 1-5.
`M. Chantler, G. Russel, and R. Dunbar, “Probabilistic Sensor Fusion
`for Reliable Workspace Sensing', pp. 1-14.
`ISIS Project: Sensor Fusion, Linkoping University Division of
`Automatic Control and Communication Systems in cooperation
`with SAAB (Dynamics and Aircraft), 18 pages.
`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 Databaste, ets-news.com “Simulator
`Solutions' 2002, 3 pages.
`MSRC Redacted Proposal, 3.0 Architecture Development, pp. 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 Integrated
`Development Environment”. Copyright 2002, 7 pages.
`Luttge, Karsten: “E-Charging API: Outsource Charging to a Pay
`ment Service Provider”; IEEE: 2001 (pp. 216-222).
`* cited by examiner
`
`AHM, Exh. 1012, p. 2
`
`

`

`U.S. Patent
`
`US 7,146.260 B2
`
`
`
`
`BNIS) NIE
`?JO LINO W
`
`
`AHM, Exh. 1012, p. 3
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 2 of 12
`
`US 7,146.260 B2
`
`DYNAMIC
`CONFIGURATION (DC)
`SYSTEM
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - -
`
`DATA
`MANAGER
`CONFIGURATION
`MANAGER
`DEVICE
`MANAGER
`
`
`
`
`
`
`
`
`
`52
`
`SENSORS
`
`AHM, Exh. 1012, p. 4
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 3 of 12
`
`US 7,146,260 B2
`
`12
`
`86
`
`88 2.
`
`- 1
`
`44
`
`
`
`
`
`DYNAMIC
`CONFIGURATION (DC)
`SYSTEM 10
`
`DATA
`MANAGERS
`RECONFIGURATION
`MANAGER
`DEVICE
`MANAGER
`
`9 O
`
`CD
`SENSORS
`DVD
`
`GUI
`
`AHM, Exh. 1012, p. 5
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 4 of 12
`
`US 7,146,260 B2
`
`96S,NVQOL3NOO13M
`JIano0G oOv$HAOUNGE
`00°I$V¥109OS'e$3595HD
`
`
`
`
`
`
`00°1$433598100d
`
`NSNDIHO
`
`Ysa9YNg
`
`
`
`SUNIYGSSHOIMGNVS
`
`YZLN3SS3Y¥dN3HLSW3LT193735
`
`
`
`
`
`
`
`
`
`MOGNIMLXSNOLJAOWASVIId
`
`
`
`os'y$IvLOl
`
`yOld
`
`AHM, Exh. 1012, p. 6
`
`AHM, Exh. 1012, p. 6
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet S of 12
`
`US 7,146.260 B2
`
`
`
`
`
`APPLICATION i 1
`
`DEVICE MANAGER
`
`CPUB-APP #2
`-- CPU C
`CPU D-APP #4
`CPU E-NEW APP J
`- - - - - - - - - - - - - -
`
`
`
`
`
`G PROCESSOR B 46
`
`
`
`
`
`APPLICATION #2
`
`DEVICE MANAGER
`
`PROCESSOR C
`
`
`
`
`
`46
`
`DEVICE MANAGER
`
`70
`
`46
`
`PROCESSORD
`
`
`
`APPLICATION #4
`
`ETHERNET
`
`DEVICE MANAGER
`
`PROCESSOR E
`
`AHM, Exh. 1012, p. 7
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 6 of 12
`
`US 7,146.260 B2
`
`
`
`DETECT SIGNAL
`FROM NEW DEVICE
`ON COMMON LINK
`
`CHECK ENCRYPTION
`PROTOCOL FROM
`NEW DEVICE
`
`CHECK DATA CODES
`FOR NEW DEVICE
`
`CHECK ID FROM
`NEW DEVICE
`
`ADD NEW DEVICE
`TO PROCESSOR
`ARRAY
`
`DISPLAY ANY NEW
`APPLICATIONS OR
`DEVICES TO USER
`
`FIG.6
`
`AHM, Exh. 1012, p. 8
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 7 of 12
`
`US 7,146.260 B2
`
`m - - - - - - - - - - - - - - - -
`
`- - - - - -
`
`- - - -
`
`- - - - --------------------------------
`
`/1
`
`-N
`
`128
`
`MEMORY
`
`CPU A
`
`NAV 11 O
`AUDIO 112
`ABS 114
`
`DISPLAY 1 16
`
`NAV DATA 1 JO
`
`AUDIO DATA 132
`
`DOWNLOAD
`NAVIGATION CRITICAL DATA
`
`11 O
`
`44 - CONFIG. MGR.
`
`CPU B
`
`112
`
`AUDIO
`
`44- CONFIG. MGR. FAILURE
`CPU C -
`
`114
`
`ABS
`
`4. 4.
`
`CONFIG. MGR.
`
`CPU D
`
`116
`
`DISPLAY
`
`44
`
`CONFIG. MGR.
`120
`124
`
`
`
`118
`
`AUDIO
`CPU B FAILURE
`
`:
`
`:
`:
`
`:
`
`AHM, Exh. 1012, p. 9
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 8 of 12
`
`US 7,146.260 B2
`
`1 J4
`
`
`
`CRITICAL
`APPLICATION FAILURE
`
`
`
`1 J5
`
`
`
`138
`
`140
`
`
`
`
`
`
`
`
`
`
`
`
`
`PROCESSING CAPACITY y
`AVAILABLE IN
`ANOTHER PROCESSOR
`
`DOWNLOAD CRITICAL
`APPLICATION AND
`APPLICATION DATA
`TO IDENTIFIED
`PROCESSOR
`
`IDENTIFY PROCESSOR
`WITH NONCRITICAL
`APPLICATION
`
`
`
`RETURN
`
`REPLACE NONCRITICAL
`APPLICATION WITH
`CRITICAL APPLICATION
`AND CRITICAL
`APPLICATION DATA
`
`
`
`RETURN
`
`FIG.8
`
`AHM, Exh. 1012, p. 10
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 9 of 12
`
`US 7,146.260 B2
`
`8
`
`\
`
`FAILURE
`1.
`
`CPU A
`
`128
`MEMORY
`APPLICATIONS
`NAVIGATION
`FUSION
`ABS
`
`44
`
`112
`
`CPU B
`NAV
`
`NAV
`
`NAV DATA
`
`13O
`
`FUSION
`PROCESSOR -111
`
`44-N CONFIG. MGR,
`
`CONFIG. MGR. N-44
`
`CPU C
`
`14
`
`ABS
`
`44-N CONFIG. MGR.
`
`CPU D
`
`116
`
`DISPLAY
`
`44 N CONFIG. MGR.
`2O
`124
`
`
`
`12s. 8
`
`NAV
`
`GUI
`
`AHM, Exh. 1012, p. 11
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 10 of 12
`
`US 7,146.260 B2
`
`156
`
`y
`
`DIRECT OTHER
`PROCESSOR
`TO DOWNLOAD
`APPLICATION AND
`APPLICATION DATA
`
`FIG.10
`
`150
`
`DISPLAY APPLICATIONS
`TO USER
`
`152 PROCESSOR7APPLICATION
`FAILURE DETECTED
`
`154
`
`Y
`PROCESSING CAPACITY
`AVAILABLE ON
`OTHER PROCESSOR
`
`158
`
`SHOW FAILED
`PROCESSOR/APPLICATIONS
`TO USER
`
`160
`
`162
`
`164
`
`
`
`USER REO UESTS
`RECONFIG. TO RELOAD
`FAILED APPLICATION
`Y
`OTHER PROCESSORS
`RUNNING NONCRITICAL
`APPLICATIONS
`
`DISPLAY NONCRITICAL
`APPLICATIONS TO USER
`THAT CAN BE REPLACED
`
`166 NONCRITICAL APPLICATIONS
`SELECTED BY USER
`FOR CANCELLATION
`
`168
`
`
`
`
`
`
`
`CANCEL SELECTED
`NONCRITICAL APPLICATIONS
`AND DIRECT PROCESSOR
`TO DOWNLOAD FAILED
`APPLICATION AND
`APPLICATION DATA
`
`AHM, Exh. 1012, p. 12
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 11 of 12
`
`US 7,146.260 B2
`
`IDENTIFY DATA
`STANDARD ASSOCIATED
`WITH NEW APPLICATION
`
`170
`
`172
`
`174
`
`176
`
`178
`
`DATA
`MANAGER
`42
`
`
`
`R
`
`FIG.11
`
`AHM, Exh. 1012, p. 13
`
`

`

`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 12 of 12
`
`US 7,146.260 B2
`
`
`
`
`
`
`
`
`
`
`
`21 O
`
`
`
`SPEED
`CONTROL
`
`AIRBAG
`CONTROL
`
`ENGINE
`CONTROL
`
`SENSOR
`
`AUDIO
`CONTROL
`
`218
`
`222
`
`216
`
`22O
`
`FIG.13
`
`AHM, Exh. 1012, p. 14
`
`

`

`US 7,146,260 B2
`
`1.
`METHOD AND APPARATUS FOR DYNAMIC
`CONFIGURATION OF MULTIPROCESSOR
`SYSTEM
`
`BACKGROUND
`
`Cars include many different electromechanical and elec
`tronic applications. 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 indi
`cators, 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 operate independently and do not talk
`to the other car systems. For example, separate processors
`and separate user interfaces are required for the car tem
`perature 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 multiple 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 a dashboard interface 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 temperature
`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
`only those car systems selected for the car. A car owner
`cannot incorporate new systems into the existing car. For
`example, a car may not originally come with a navigation
`system. An after market navigation system from another
`manufacturer cannot be integrated into the existing 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.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`SUMMARY OF THE INVENTION
`
`A multiprocessor System used in a car, home, or office
`environment includes multiple processors that run different
`real-time applications. A dynamic configuration system runs
`on the multiple processors and includes a device manager,
`60
`configuration manager, and data manager. The device man
`ager automatically detects and adds new devices to the
`multiprocessor system, and the configuration manager auto
`matically reconfigures which processors run the real-time
`applications. The data manager identifies the type of data
`generated by the new devices and identifies which devices in
`the multiprocessor System are able to process the data.
`
`65
`
`2
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram of a car that has multiple processors
`that each run a Dynamic Configuration (DC) system.
`FIG. 2 is a detailed diagram of the dynamic configuration
`system shown in FIG. 1.
`FIGS. 3 and 4 are diagrams showing an example of how
`the DC system operates.
`FIGS. 5 and 6 are diagrams showing how a device
`manager in the DC system operates.
`FIGS. 7–10 are diagrams showing how a reconfiguration
`manager in the DC system operates.
`FIGS. 11 and 12 are diagrams showing how a data
`manager in the DC system operates.
`FIG. 13 is a diagram showing different multiprocessor
`systems that can use the DC DC system.
`
`DETAILED DESCRIPTION
`
`FIG. 1 shows a car 12 that includes a car multiprocessor
`system 8 having multiple processors 14, 16, 18 and 20. An
`engine monitor processor 14 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. A brake control processor 20 monitors and controls an
`Automatic Braking System (ABS) 28. A display processor
`16 is used to control and monitor a graphical user interface
`26. A security processor 18 monitors and controls latches
`and sensors 30 and 32 that are used in a car security system.
`The processors 14, 16, 18 and 20 all include software that
`run a Dynamic Configuration (DC) system 10 that enables
`new processors or devices to be automatically added and
`removed from the car multiprocessor system 8. The DC
`system 10 also automatically reconfigures the applications
`running on different processors according to application
`failures and other system processing requirements.
`For example, the processor 20 may currently be running
`a high priority brake control application. If the processor 20
`fails, the DC system 10 can automatically download the
`braking application to another processor in car 12. The DC
`system 10 automatically identifies another processor with
`capacity to run the braking control application currently
`running in processor 20. The DC system 10 then automati
`cally downloads a copy of the braking control application to
`the identified processor. If there is no extra reserve process
`ing resources available, the DC system 10 may replace a
`non-critical application running on another processor. For
`example, the DC system 10 may cause the display processor
`16 to terminate a current non-critical application and then
`download the brake control application along with any
`stored critical data.
`The DC system 10 also automatically incorporates new
`processors or applications into the multiprocessor system 8.
`For example, a laptop computer 38 can communicate with
`the engine monitor processor 34 through a hardwired link34
`or communicate to the display processor 16 through a
`wireless link36. The DC system 10 automatically integrates
`the laptop computer 38, or any other processor or device,
`into the multiprocessor system 8. After integrated into the
`multiprocessor System 8, not only can the laptop computer
`38 transfer data with other processors, but the laptop com
`puter may also run car applications normally run by other
`processors in car 12.
`The DC system 10 allows the car driver to manage how
`different applications are processed in the car 12. As
`described above, a car operator may have to run an after
`
`AHM, Exh. 1012, p. 15
`
`

`

`3
`market navigation system through a GPS transceiver
`attached to the laptop computer 38. The car driver has to
`place the laptop computer 38 in the passengers seat and then
`operate the laptop computer 38 while driving.
`The DC system 10 in the display computer 16 can
`automatically detect the navigation application running on
`the laptop computer 38. The display computer 16 notifies the
`car operator through the user interface 26 that the navigation
`application has been detected. The car operator can then
`control the navigation application through the user interface
`26. Since the user interface 26 is located in the dashboard of
`car 12, the car operator no longer has to take his eyes off the
`road while operating the navigation application.
`The description below gives only a few examples of the
`different processors, devices and applications that can be
`implemented using the DC system 10. Any single or mul
`tiprocessor 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 DC system 10 can
`be used in any real-time environment such as between
`processors in different home or office appliances and differ
`ent home and office computers.
`FIG. 2 is a block diagram showing in more detail the
`Dynamic Control (DC) system 10 located in a processor 40
`that makes up part of the multiprocessor system 8 in car 12
`(FIG. 1). The DC system 10 includes a device manager 46
`that establishes communications with new devices that are to
`be incorporated into the multiprocessor System 8. A con
`figuration manager 44 in the processor 40 dynamically
`moves applications between different processors according
`to user inputs and other monitored conditions in the multi
`processor system 8. A data manager 42 identifies a type of
`data input or output by a new processor and identifies other
`processors or devices in the multiprocessor system that can
`output data from the new device or input data to the new
`device.
`In one example, sensors 52 feed sensor data to processor
`40. The sensor data may include engine-monitoring data
`Such as speed, oil temperature, water temperature, tempera
`ture inside the car cab, door open/shut conditions, etc. The
`sensors 52 are coupled to processor 40 through a link 54.
`such as a proprietary bus. A Compact Disc (CD) player 50
`is coupled to the processor 40 through another link 48, such
`as a Universal Serial Bus (USB). Graphical User Interface
`(GUI) 56 displays the data associated with sensors 52 and
`CD player 50. The GUI 56 displays the outputs from sensors
`52 using an icon 60 to identify temperature data and an icon
`62 to identify car speed. The processor displays the CD
`player 50 as icon 62.
`FIGS. 3 and 4 show an example of how two new
`applications are dynamically added to the multiprocessor
`system 8 in car 12 (FIG. 1). In FIG. 2, the DC system 10 in
`processor 40 previously detected a CD player 50 and some
`sensors 56. The CD player 50 was displayed on GUI 56 as
`icon 58 and the temperature and speed data from sensors 56
`were displayed on GUI 56 as icons 60 and 62, respectfully.
`The processor 40 is located in car 12 (FIG. 1). A passenger
`may bring a Digital Video Disc (DVD) player 86 into the car
`12. The DVD 86 sends out a wireless or wired signal 88 to
`the processor 40. For example, the DVD 86 may send out
`signals using a IEEE 802.11 wireless protocol. The proces
`sor 40 includes an IEEE 802.11 interface that reads the
`signals 88 from DVD player 86. If the 802.11 protocol is
`identified as one of the protocols used by processor 40, the
`DC system 10 incorporates the DVD player 86 into a
`processor array 57 that lists different recognized applica
`tions.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 7,146,260 B2
`
`10
`
`15
`
`4
`The DC system 10 then automatically displays the newly
`detected DVD player 86 on GUI 56 as icon 96. If capable,
`the car operator by selecting the icon 96 can then display a
`video stream output from the DVD player 86 over GUI 56.
`The DVD player 86 can now be controlled from the GUI 56
`on the car dashboard. This prevents the car driver from
`having to divert his eyes from the road while trying to
`operate the portable DVD player 86 from another location in
`the car, such as from the passenger seat.
`Other processors or devices can also be incorporated into
`the multiprocessor System 8 in car 12. In another example,
`the car 12 drives up to a drive-in restaurant 90. The drive-in
`90 includes a transmitter 92 that sends out a wireless Blue
`tooth signal 94. The processor 40 includes a Blue tooth
`transceiver that allows communication with transmitter 92.
`The DC system 10 recognizes the signals 94 from transmit
`ter 92 and then incorporates the drive-in 90 into the multi
`processor system 8 (FIG. 1). The DC system 10 then
`displays the drive-in 90 as icon 98 in GUI 56.
`Referring to FIG. 4, when the car operator selects the icon
`98, a menu 102 for the driver-in 90 is displayed on the GUI
`56. The car operator can then select any of the items
`displayed on the electronic menu 102. The selections made
`by the car operator are sent back to the transceiver 92 (FIG.
`3). The amount of the order is calculated and sent back to the
`processor 40 and displayed on menu 102. Other messages,
`Such as a direction for the car operator to move to the next
`window and pickup the order can also be displayed on the
`GUI 56. At the same time, the drive-in transceiver 92 (FIG.
`3) may send audio signals that are received by the processor
`40 and played out over speakers in car 12.
`FIG. 5 shows in more detail the operation of the device
`manager 46 previously shown in FIG. 2. Multiple processors
`A, B, C and D all include device managers 46. The device
`managers 46 can each identify other devices in the multi
`processor System that it communicates with. For example,
`processors A, B, C and D communicate to each other over
`one or more communication links including a Ethernet link
`64, a wireless 802.11 link 68, or a blue tooth link 70.
`Processor A includes a memory 65 that stores the other
`recognized processors B, C and D. The data managers 46
`also identify any applications that may be running on the
`identified processors. For example, memory 65 for processor
`A identifies an application #2 running on processor B, no
`applications running on processor C, and an application #4
`running on processor D.
`FIGS. 5 and 6 show how a new device is added to the
`multiprocessor system 8. Each of the existing processors A,
`B, C, and D after power-up are configured to identify a set
`or Subset of the processors in the multiprocessor System 8.
`A new device 72 is brought into the multiprocessor system
`8 either via a hardwired link or a wireless link. For example,
`the device E may send out signals over any one or more of
`a 802.11 wireless link 67, Blue tooth wireless link 71 or send
`out signals over a hardwired Ethernet link 69. Depending on
`what communication protocol is used to send signals, one or
`more of the processors A, B, C or D using a similar
`communication protocol detect the processor E in block 74
`(FIG. 6). All of the processors may be connected to the same
`fiber optic or packet switched network that is then used to
`communicate the information from processor E to the other
`processors.
`One of the device managers 46 in the multiprocessor
`system 8 checks the signals from processor E checks to
`determine if the signals are encrypted in a recognizable
`protocol in block 76. The device manager in the processor
`receiving the signals from processor E then checks for any
`
`AHM, Exh. 1012, p. 16
`
`

`

`US 7,146,260 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`5
`data codes from the new device signals in block 76. The data
`codes identify data types used in one or more applications by
`processor E. A device ID for processor E is then determined
`from the output signals in block 80.
`If all these data parameters are verified, the device man
`agers 46 in one or more of the processors A, B, C and Dadd
`the new processor E to their processor arrays in block 82.
`For example, processor A adds processor E to the processor
`array in memory 65. After being incorporated into the
`multiprocessor system 8, the processor E or the applications
`running on the processor E may be displayed on a graphical
`user interface in block 84.
`FIG. 7 describes in further detail the operation of the
`reconfiguration manager 44 previously described in FIG. 2.
`In the car multiprocessor System 8 there are four processors
`A, B, C and D. Of course there may be more than four
`processors running at the same time in the car but only four
`are shown in FIG. 7 for illustrative purposes. The processor
`A currently is operating a navigation application 110 that
`uses a Global Positioning System (GPS) to identify car
`location. Processor B currently runs an audio application
`112 that controls a car radio and CD player. The processor
`C runs a car Automatic Braking System (ABS) application
`114 and the processor D runs a display application 116 that
`outputs information to the car operator through a GUI 118.
`The processor D displays an icon 120 on GUI 118 that
`represents the navigation system 110 running in processor A.
`An icon 124 represents the audio application running in
`processor B and an icon 122 represents the ABS application
`114 running in processor C.
`The memory 128 stores copies of the navigation applica
`tion 110, audio application 112, ABS application 114 and
`display application 116. The memory 128 can also store data
`associated with the different applications. For example,
`navigation data 130 and audio data 132 are also stored in
`memory 128. The navigation data 130 may consist of the last
`several minutes of tracking data obtained by the navigation
`application 110. The audio data 132 may include the latest
`audio tracks played by the audio application 112.
`40
`The memory 128 can be any CD, hard disk, Read Only
`Memory (ROM). Dynamic Random Access (RAM)
`memory, etc. or any combination of different memory
`devices. The memory 128 can include a central memory that
`all or some of the processors can access and may also
`include different local memories that are accessed locally by
`specific processors.
`FIG. 8 shows one example of how the configuration
`manager 44 reconfigures the multiprocessor system when a
`failure occurs in a critical application, such as a failure of the
`ABS application 114. The configuration manager 44 for one
`of the processors in the multiprocessor System 8 detects a
`critical application failure in block 134.
`One or more of the configuration managers 44 include a
`watchdog function that both monitors its own applications
`and the applications running on other processors. If an
`internal application fails, the configuration manager may
`store critical data for the failed application. The data for each
`application if stored in the memory 128 can selectively be
`encrypted so that only the car operator has the authority to
`download certain types of data. The configuration manager
`detecting the failure initiates a reboot operation for that
`particular application. The application is downloaded again
`from memory 128 and, if applicable, any stored application
`data. If the application continues to lockup, the configuration
`manager may then initiate a reconfiguration sequence that
`moves the application to another processor.
`
`50
`
`45
`
`55
`
`60
`
`65
`
`6
`Failures are identified by the watchdog functions in one
`example by periodically sending out heartbeat signals to the
`other processors. If the heartbeat from one of the processors
`is not detected for one of the processors, the configuration
`manager 44 for the processor that monitors that heartbeat
`attempts to communicate with the processor or application.
`If the application or processor with no heartbeat does not
`respond, the reconfiguration process is initiated.
`In another example, certain processors may monitor dif
`ferent applications. For example, a sensor processor may
`constantly monitor the car speed when the car operator
`presses the brake pedal. If the car speed does not slow down
`when the brake is applied, the sensor processor may check
`for a failure in either the braking application or the speed
`sensing application. If a failure is detected, the configuration
`manager initiates the reconfiguration routine.
`When reconfiguration is required, one of the reconfigu
`ration managers 44 first tries to identify a processor that has
`extra processing capacity to run the failed application in
`block 136. For example, there may be a backup processor in
`the multiprocessor system where the ABS application 114
`can be downloaded. If extra processing resources are avail
`able, the ABS application 114 is downloaded from the
`memory 128 (FIG. 7) to the backup processor in block 142.
`There may also be data associated with the failed appli
`cation that is stored in memory 128. For example, the brake
`commands for the ABS application 114 may have been
`previously identified for logging in memory 128 using a
`logging label described in co-pending application entitled:
`OPEN COMMUNICATION SYSTEM FOR REAL-TIME
`MULTIPROCESSOR APPLICATIONS, Ser. No. 09/841,
`753 filed Apr. 24, 2001 which is herein incorporated by
`reference. The logged brake commands are downloaded to
`the backup processor in block 142.
`If no backup processing resources can be identified in
`block 136, the configuration manager 44 identifies one of the
`processors in the multiprocessor system that is running a
`non-critical application. For example, the configuration
`manager 44 may identify the navigation application 110 in
`processor A as a non-critical application. The configuration
`manager 44 in block 140 automatically replaces the non
`critical navigation application 110 in processor A with the
`critical ABS application 114 in memory 128. The processor
`Athen starts running the ABS application 114.
`FIGS. 9 and 10 show an example of how the configuration
`manager 44 allows the user to control reconfiguration for
`non-critical applications. The applications currently running
`in the multiprocessor system 8 are displayed in the GUI 118
`in block 150. A failure is detected for the navigation appli
`cation 110 running in processor A in block 152. The con
`figuration manager 44 in processor A, or in one of the other
`processors B, C, or D detects the navigation failure. Alter
`natively, a fusion processor 111 is coupled to some or all of
`the processors A, B, C and D and detects the navigation
`failure.
`In block 154 the configuration manager 44 for one of the
`processors determines if there is extra capacity in one of the
`other processors for running the failed navigation applica
`tion 110. If there is another processor with extra processing
`capacity, the navigation application is downloaded from
`memory 128 to that processor with extra capacity along with
`any necessary navigation data in block 156. This reconfigu
`ration may be done automatically without any interaction
`with the car operator.
`If there is no extra processing capacity for running the
`navigation application 110, the configuration manager 44
`displays the failed processor or application to the user in
`
`AHM, Exh. 1012, p. 17
`
`

`

`US 7,146,260 B2
`
`10
`
`15
`
`7
`block 158. For example, the GUI 118 in FIG. 9 starts
`blinking the navigation icon 120 in possibly a different color
`than the audio application icon 124. A textual failure mes
`sage 125 can also be displayed on GUI 118.
`The configuration manager in block 160 waits for the car
`operator to request reconfiguration of

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