`
`(12) United States Patent
`Preston et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,778,739 B2
`Aug. 17, 2010
`
`(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 0 days.
`
`(21) Appl. No.: 11/462,958
`(22) Filed:
`Aug. 7, 2006
`
`(65)
`
`Prior Publication Data
`
`US 2006/026893O A1
`Nov.30, 2006
`Related U.S. Application Data
`(63) Continuation of application No. 09/841,915, filed on
`Apr. 24, 2001, now Pat. No. 7,146,260.
`(51) Int. Cl
`(2006.01)
`G5D I/O
`(52) U.S. Cl. ............................................. 701/1; 701/33
`(58) Field of Classification Search ................... 701/22,
`701/24, 33, 1: 712/10, 11, 16, 17s. (i.
`lication file f
`1
`hhi
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`8, 1961 Cocharo
`2,995.318 A
`4,303,978 A 12/1981 Shaw et al.
`4,528,563 A
`7, 1985 Takeuchi
`4,591.976 A
`5, 1986 Webber et al.
`4,829.434 A
`5, 1989 Karmel et al.
`4,907,159 A
`3/1990 Mauge et al.
`5,008,678 A
`4, 1991 Herman
`
`5,031,330 A
`5,045,937 A
`5,111,401. A
`5,115,245 A
`
`7, 1991 Stuart
`9/1991 Myrick
`5/1992 Everett, Jr. et al.
`5/1992 Wen et al.
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`DE
`
`3125151
`
`1, 1983
`
`(Continued)
`OTHER PUBLICATIONS
`
`A. Das, R. Fierro, V. Kumar, J. Ostrowski, J. Spletzer, and C. Taylor,
`“A Framework for Vision Based Formation Control', IEEE Transac
`tions on Robotics and Automation, vol. XX, No.Y. 2001, pp. 1-13.
`(Continued)
`Primary Examiner Ricky Ngo
`Assistant Examiner—Phuongchau B. Nguyen
`(74) Attorney, Agent, or Firm—Stolowitz. Ford Cowger LLP
`
`57
`(57)
`
`ABSTRACT
`
`A multiprocessor system used in a car, home, or office envi
`ronment includes multiple processors that run different real
`time applications. A dynamic configuration system runs on
`the multiple processors and includes a device manager, con
`figuration manager, and data manager. The device manager
`automatically detects and adds new devices to the multipro
`cessor System, and the configuration manager automatically
`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 multiproces
`Sor system are able to process the data.
`
`32 Claims, 12 Drawing Sheets
`
`42
`
`DOWNLOA. CRITICA
`APPECATION AND
`APPCAONCAA
`TO BENEFIED
`ROCESSR
`
`RETURN
`
`ApplicióNAILURE
`CRITICAL
`
`156--
`
`PROCESSING CAPACITY
`AWAILABLE IN
`ANCER PROCESSOR
`
`38---
`
`IENFY ROCESSR
`WTH NONCRCA
`APLICAON
`
`RePLACE NONCRITICA,
`APRICATION WI
`CRITICA, APPLICAON
`40
`AND CRCA
`APICAEN DAA
`
`
`
`RETURN
`
`AHM, Exh. 1014, p. 1
`
`
`
`US 7,778,739 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`9/1993 Corrigan et al.
`5.245,909 A
`5,287,199 A * 2/1994 Zoccolillo .............. 379,100.07
`5,303.297 A
`4, 1994 Hillis
`5,339,086 A
`8, 1994 DeLuca et al.
`5,341.301 A
`8, 1994 Shirai et al.
`5.438,361 A
`8, 1995 Coleman
`5,471,214 A 11/1995 Faibiish et al.
`5,506,963 A
`4, 1996 Ducateau et al.
`5,532,706 A
`7, 1996 Reinhardt et al.
`5,552,773. A
`9, 1996 Kuhnert
`5,581.462 A 12/1996 Rogers
`5,585,798. A 12/1996 Yoshioka et al.
`5,617,085 A
`4/1997 Tsutsumi et al.
`5,646,612 A
`7/1997 Byon
`5,749,060 A
`5, 1998 Graft et al.
`5,761,320 A
`6, 1998 Farinelli et al.
`5,786,998 A
`7, 1998 Neeson et al.
`5,794,164 A * 8/1998 Beckert et al. ............. 455,306
`5,872,508 A
`2f1999 Taoka
`5,907,293 A
`5/1999 Tognazzini
`5,915,214 A
`6, 1999 Reece et al.
`5,943,427 A
`8, 1999 Massie et al.
`5.948,040 A
`9, 1999 DeLorime et al. ............ TO1,201
`5,951,620 A
`9, 1999 Ahrens et al. ............... TO1,200
`5,963,092 A 10/1999 Vanzalinge
`5,964,822 A 10, 1999 Alland
`5,966,658 A 10/1999 Kennedy et al.
`5,969,598 A 10, 1999 Kimura
`5,977,906 A 1 1/1999 Ameen
`5,983,092 A 1 1/1999 Whinnett et al.
`5,983,161. A 1 1/1999 Lemelson et al.
`6,009,330 A 12/1999 Kennedy et al.
`6,009,403 A 12, 1999 Sato ........................... TO1,201
`6,028,537 A
`2, 2000 Suman et al.
`6,028,548 A
`2/2000 Farmer
`6,032,089 A * 2/2000 Buckley ...................... TO1/36
`6,054,950 A
`4/2000 Fontana
`6,060,989 A
`5, 2000 Gehlot
`6,061,709 A
`5, 2000 Bronte
`6,075.467 A * 6/2000 Ninagawa ................... TO1,212
`6,097,285 A
`8, 2000 Curtin
`6,128,608 A 10, 2000 Barnhill
`6,148,261 A 1 1/2000 Obradovich et al.
`6,150,961. A 1 1/2000 Alewine
`6,154,123. A 1 1/2000 Kleinberg
`6,161,071 A 12/2000 Shuman et al. ............... TO1/48
`6,163,711 A 12/2000 Juntunen et al.
`6,166,627 A 12/2000 Reeley
`6,167.253 A 12/2000 Farris et al.
`6,169,894 B1
`1/2001 McCormick
`6,175,728 B1
`1/2001 Mitama
`6,175,782 B1
`1/2001 Obradovich et al.
`6,181,922 B1
`1/2001 Iwai et al. ................ 455,249.1
`6,181,994 B1
`1/2001 Colson et al.
`6,182,006 B1
`1/2001 Meek ......................... TO1,200
`6,202,027 B1
`3/2001 Alland et al.
`6,203,366 B1
`3/2001 Muller et al.
`6,204.804 B1
`3/2001 Andersson
`6,226,389 B1
`5, 2001 Lebelson et al.
`6,240,365 B1
`5, 2001 Bunn
`6,243450 B1
`6/2001 Jansen et al.
`6.252,544 B1
`6/2001 Hoffberg
`6,275,231 B1
`8, 2001 Obradovich et al.
`6,292,109 B1
`9/2001 Murano et al.
`6,292,747 B1 * 9/2001 Amro et al. .............. 455,456.6
`6,294.987 B1
`9/2001 Matsuda et al.
`6,297,732 B2 10/2001 Hsu et al.
`6.298,302 B2 10/2001 Walgers et al.
`6,326,903 B1
`12/2001 Gross et al.
`6,327,536 B1
`12/2001 Tsuji et al.
`6,362.748 B1* 3/2002 Huang ........................ 455,459
`
`4/2002 Gee et al.
`6,374,286 B1
`6,377,860 B1 * 4/2002 Gray et al. .................... TO1/36
`6,389,340 B1
`5/2002 Rayner
`6.405,132 B1
`6/2002 Breed et al.
`6,408,174 B1
`6/2002 Steijer
`6,417,782 B1
`7/2002 Darnall
`6.421,429 B1* 7/2002 Merritt et al. ............ 379.9317
`6,429,789 B1
`8/2002 Kiridena et al.
`6,429,812 B1
`8/2002 Hoffberg
`6,445,308 B1
`9, 2002 Koike
`6,452.484 B1
`9, 2002 Drori
`6,484,080 B2 11/2002 Breed
`6,496,689 B1
`12/2002 Keller et al.
`6,505,100 B1
`1/2003 Stuempfleet al.
`6,515,595 B1
`2/2003 Obradovich et al.
`6,522,875 B1
`2/2003 Dowling et al.
`6,559,773 B1* 5/2003 Berry ...................... 340,815.4
`6,615,137 B2
`9, 2003 Lutter
`6,616,071 B2
`9, 2003 Kitamura
`6,622,083 B1* 9/2003 Knockeart et al. .......... TO9,203
`6,629,033 B2
`9/2003 Preston
`6,647,270 B1
`1 1/2003 Himmelstein
`6,707,421 B1* 3/2004 Drury et al. ................. TO1,208
`6,734,799 B2
`5, 2004 Munch
`6,778,073 B2
`8, 2004 Lutter
`6,778,924 B2
`8, 2004 Hanse
`6,782,315 B2
`8, 2004 Lu et al.
`6,785,551 B1
`8, 2004 Richard
`6,792.351 B2
`9, 2004 Lutter
`6,901,057 B2
`5/2005 Rune
`6,925,368 B2 * 8/2005 Funkhouser et al. .......... TO1/33
`6,973,030 B2 * 12/2005 Pecen et al. ................. 370,229
`7,006,950 B1
`2/2006 Greiffenhagen et al.
`7.024.363 B1 * 4/2006 Comerford et al. .......... TO4,270
`7,079,993 B2
`7/2006 Stephenson et al.
`7,120,129 B2 10/2006 Ayyagari et al.
`7,146,260 B2 12/2006 Preston
`7,187,947 B1
`3/2007 White et al.
`... 713, 193
`7.249,266 B2 *
`7/2007 Margalit et al. .
`7,257.426 B1* 8/2007 Witkowski et al. ....... 455,569.2
`7,274.988 B2
`9/2007 Mukaiyama
`7,343,160 B2
`3/2008 Morton
`7,375,728 B2
`5/2008 Donath
`7,379,707 B2
`5/2008 DiFonzo
`2001/0008992 A1
`7, 2001 Saito et al.
`2001/0009855 A1
`7, 2001 L’Anson
`2001 OO18639 A1
`8, 2001 Bunn
`2001/0022927 A1
`9, 2001 Mattio et al.
`2001/0041556 A1 11/2001 Laursen et al.
`2001/0048749 A1* 12/2001 Ohmura et al. ............. 455,345
`2001/0051853 A1 12/2001 Evans et al.
`2002/0012329 A1
`1/2002 Atkinson et al.
`2002fOO87886 A1
`7, 2002 Ellis
`2002/01 19766 A1
`8/2002 Bianconi et al.
`2002/0142759 A1 * 10, 2002 Newell et al. ............... 455,414
`2002fO14401.0 A1 10, 2002 Younis et al.
`2002/0177429 A1 11, 2002 Water et al.
`2002fO198925 A1 12/2002 Smith et al.
`2003/0004633 A1
`1/2003 Russell et al.
`2003,0009270 A1
`1/2003 Breed
`2003, OO11509 A1
`1/2003 Honda
`2003/0060188 A1
`3/2003 Gidron et al.
`2003/0065432 A1
`4/2003 Shuman et al.
`2003/0110113 A1
`6, 2003 Martin
`2003/02O1365 A1 10, 2003 Nelson
`2003/0201929 A1 10, 2003 Lutter et al.
`2004/O14903.6 A1
`8, 2004 Foxlin et al.
`2004/0164228 A1
`8/2004 Fogg et al.
`2005/OOO9506 A1
`1/2005 Smolentzov
`2005/0070221 A1
`3/2005 Upton
`2005, 0080543 A1
`4, 2005 Lu et al.
`2005. O130656 A1
`6, 2005 Chen
`2005. O153654 A1
`7, 2005 Anderson
`
`
`
`AHM, Exh. 1014, p. 2
`
`
`
`US 7,778,739 B2
`Page 3
`
`2005/0240672 A1* 10, 2005 Chen et al. .................. 709,229
`2005/0260984 A1 11, 2005 Karabinis
`2007/0083597 A1* 4/2007 Salesky et al. .............. TO9.204
`2007, 0115868 A1
`5, 2007 Chen
`2007/0115897 A1
`5, 2007 Chen et al.
`
`FOREIGN PATENT DOCUMENTS
`
`DE
`EP
`EP
`JP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`3125 161
`O441576
`1355128
`2000207691
`96.24229
`99.08436
`995.7662
`99651.83
`0040038
`O130061
`O158110
`
`1, 1983
`8, 1991
`10, 2003
`T 2000
`8, 1996
`2, 1999
`11, 1999
`12/1999
`T 2000
`4/2001
`8, 2001
`
`OTHER PUBLICATIONS
`Ada 95 Transition Support—Lessons Learned, Sections 3, 4, and 5.
`CACI, Inc. -Federal, Nov. 15, 1996, 14 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.
`Bluetooth Specification version 1.1: Feb. 22, 2001.
`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.
`Green Hills Software, Inc., “The AdaMULTI 2000 Integrated Devel
`opment Environment. Copyright 2002, 7 pages.
`Hitachi Automated Highway System (AHS), Automotive Products,
`Hitachi, Ltd., Copyright 1994-2002, 8 pages.
`
`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.
`Joint Strike Fighter Terrain Database, ets-news.com “Simulator
`Solutions' 2002, 3 pages.
`Luttge, Karsten; "E-Charging API: Outsource Charging to a Payment
`Service Provider”; IEEE: 2001 (pp. 216-222).
`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.
`Product description of Raytheon Electronic Systems (ES), Copyright
`2002, pp. 1-2.
`Product description of Raytheon RT Secure, “Development Environ
`ment”. Copyright 2001, pp. 1-2.
`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.
`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 Philosophy
`in Electrical Engineering, Raleigh, NC, 1997, pp. 1-5.
`TNO FEL Annual Review 1998: Quality works, 16 pages.
`AMIC. Architecture specification release 1, 2001.
`Specification of the Bluetooth System v1.0.B Dec. 1, 1999.
`Specification of the Bluetooth System v1.1 Feb. 22, 2001.
`MyGig.
`Embedded Bluetooth Lisbon-Seattle Jan. 23, 2008.
`Bluetooth hands-free profile 1.5 Nov. 25, 2005.
`Bluetooth advance audio distribution profile specification May 22,
`2003.
`Bluetooth audio/video remote control profile May 22, 2003.
`IEEE Standard for Information Technology POSIX Based
`Supercomputing Application Environment Profile; Jun. 14, 1995, 72
`pageS.
`* cited by examiner
`
`AHM, Exh. 1014, p. 3
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 1 of 12
`
`US 7,778,739 B2
`
`
`
`
`
`
`
`Å VTdSIC] | g |
`
`)
`
`97
`
`0 ||
`
`Hovaerni
`
`OZ
`
`0 1
`
`
`
`èHO LINO W|
`
`AHM, Exh. 1014, p. 4
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 2 of 12
`
`US 7,778,739 B2
`
`DYNAMIC
`CONFIGURATION (DC)
`SYSTEM
`
`res - - - - - - - - - - - - - - - - - - - - m r - - - -
`
`CONFIGURATION
`MANAGER
`DEVICE
`MANAGER
`
`42
`
`44
`
`46
`
`
`
`52
`
`SENSORS
`
`54
`
`AHM, Exh. 1014, p. 5
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 3 of 12
`
`US 7,778,739 B2
`
`
`
`
`
`9 O
`
`CD
`SENSORS
`DVD
`
`MANAGER
`DEVICE
`MANAGER
`
`FIG.3
`
`AHM, Exh. 1014, p. 6
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 4 of 12
`
`US 7,778,739 B2
`
`
`
`
`
`96-1S, NVQ OL EWOOTBM
`
`AHM, Exh. 1014, p. 7
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 5 of 12
`
`US 7,778,739 B2
`
`(,
`CPU B-APP #2
`-- CPU C
`CPU D-APP #4
`I CPU E-NEW APP
`
`- - - - - - - - - - - - - -
`-
`
`CPU A-APP #1
`
`PROCESSOR A
`
`APPLICATION #1
`
`DEVICE MANAGER
`46
`
`PROCESSOR B
`APPLICATION #2
`
`DEVICE MANAGER
`
`PROCESSOR C
`
`
`
`
`
`
`
`
`
`
`t
`
`68
`
`DEVICE MANAGER
`N-46
`PROCESS OR D
`
`
`
`70
`
`
`
`APPLICATION #4
`
`ETHERNET
`
`
`
`
`
`NEW
`APPLICATION
`
`46
`
`DEVICE MANAGER
`
`PROCESS OR E
`
`AHM, Exh. 1014, p. 8
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 6 of 12
`
`US 7,778,739 B2
`
`74
`
`76
`
`78
`
`8O
`
`82
`
`84
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DETECT SIGNAL
`FROM NEW DEVICE
`6N 66MoRINK
`
`cHEck Encryption
`PROTOCOL FROM
`NEW DEVICE
`
`CHECK DATA CODES
`FOR NEW DEVICE
`
`CHECK ID FROM
`NEW DEVICE
`
`
`
`ADD NEW DEVICE
`TO PROCESS OR
`ARRAY
`
`DISPLAY ANY NEW
`APPLICATIONS OR
`DEVICES foSER
`FIG.6
`
`
`
`AHM, Exh. 1014, p. 9
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 7 of 12
`
`US 7,778,739 B2
`
`8
`(
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - !---------
`
`14
`-
`DOWNLOAD
`110 - NAVIGATION CRITICAL DATA
`
`128
`
`MEMORY
`
`NAV 11 O
`AUDIO 12
`ABS 114
`
`DISPLAY 1 16
`
`NAV DATA 130
`
`AUDIO DATA 132
`
`ABS
`
`/
`
`CPU A
`
`44-N- CONFIG. MGR.
`
`CPU B
`
`AUDIO
`
`112
`
`44- CONFIG. MGR. FAILURE
`CPU -
`
`14.
`
`ABS
`
`44
`
`CONFIG. MGR.
`
`CPU D
`
`116
`
`DISPLAY
`
`44
`
`CONFIG. MGR.
`18
`12O
`124
`ABS
`NAV
`AUDIO
`CPU A
`CPU B FAILURE
`
`:
`:
`
`Y ABS 1
`CPU C
`1LT IN
`122
`
`GUI
`
`AHM, Exh. 1014, p. 10
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 8 of 12
`
`US 7,778,739 B2
`
`134
`
`136
`
`1 J8
`
`14 O
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CRITICAL
`APPLICATION FAILURE
`
`PROCESSING CAPACITY y
`AVAILABLE IN
`ANOTHER PROCESSOR
`
`
`
`142
`
`DOWNLOAD CRITICAL
`APPLICATION AND
`APPLICATION DATA
`TO IDENTIFIED
`PROCESSOR
`
`IDENTIFY PROCESSOR
`WITH NON CRITICAL
`APPLICATION
`
`RETURN
`
`REPLACE NONCRITICAL
`APPLICATION WITH
`CRITICAL APPLICATION
`AND CRITICAL
`APPLICATION DATA
`
`FIG.8
`
`AHM, Exh. 1014, p. 11
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 9 of 12
`
`US 7,778,739 B2
`
`8
`
`\
`
`28
`
`MEMORY
`
`APPLICATIONS
`
`FAILURE
`-
`
`CPU A
`
`X ve
`
`11 O
`
`NAVIGATION
`
`D
`
`11 O
`
`NAVIGATION
`FUSION
`
`ABS
`
`DISPLAY
`
`44
`
`CONFIG. MGR.
`
`T
`
`O
`
`NAV DATA
`
`1 JO
`
`CPU B -
`NAV
`
`sir.
`
`112-N-
`
`44 - CONFIG. MGR.
`
`FUSION
`PROCESSOR
`
`11
`
`CONFIG. MGR.-44
`
`CPU C
`
`114
`
`ABS
`
`44.1-- CONFIG. M.G.R.
`
`CPU D
`
`16
`
`DISPLAY
`
`44
`
`CONFIG. MGR.
`
`
`
`12O
`
`124
`
`125 118
`
`GUI
`
`AHM, Exh. 1014, p. 12
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 10 of 12
`
`US 7,778,739 B2
`
`150
`
`DISPLAY APPLICATIONs
`TO USER
`
`44
`/
`
`152 PROCESSORAPPLICATION IN
`FAILURE DETECTED
`Y
`PROCESSING CAPACITY
`AVAILABLE ON
`OTHER PROCESSOR
`
`Y
`r".
`
`
`
`
`
`
`
`154
`
`
`
`158
`
`SHOW FAILED
`PROCESSOR/APPLICATIONS
`TO USER
`
`
`
`156
`
`DIRECT OTHER
`PROCESS OR
`TO DOWNLOAD
`APPLICATION AND
`APPLICATION DATA
`
`
`
`USER REQUESTS
`RECONFIG. TO RELOAD
`FAILED APPLICATION
`-
`oTHER processors
`RUNNING NONCRITICAL
`APPLICATIONS
`
`FIG.10
`
`160
`
`162
`Q-
`
`164
`
`DISPLAY NONCRITICAL
`APPLICATIONS TO USER
`THAT CAN BE REPLACED
`
`166 NONCRITICAL APPLICATIONS
`SELECTED BY USER
`FOR CANCELLATION
`
`
`
`CANCEL SELECTED
`168 NONCRITICAL APPLICATIONS
`AND DIRECT PROCESSOR
`TO DOWNLOAD FAILED
`APPLICATION AND
`APPLICATION DATA
`
`
`
`
`
`
`
`AHM, Exh. 1014, p. 13
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 11 of 12
`
`US 7,778,739 B2
`
`170
`
`
`
`12
`
`174
`
`176
`
`IDENTIFY DATA
`STANDARD ASSOCIATED
`WITH NEW APPLICATION
`Display ATA As
`ICON ON GUI
`
`
`
`
`
`DISPLAY DATA output
`DEVICES ON GUI
`
`USER SELECTS
`OUTPUT FOR DATA
`
`178
`
`OUTPUT DATA ON
`SELECTED OUTPUT
`
`DATA
`MANAGER
`
`
`
`AHM, Exh. 1014, p. 14
`
`
`
`U.S. Patent
`
`Aug. 17, 2010
`
`Sheet 12 of 12
`
`US 7,778,739 B2
`
`
`
`O
`
`ENGINE
`CONTROL
`
`SPEED
`CONTROL
`Y.
`
`AUDIO
`CONTROL
`
`tasareasessman
`
`AIRBAG
`
`Sa: - -
`
`- -
`
`- -
`
`-
`
`- -
`
`-
`
`SENSOR
`
`CONTROL
`
`S.SENS
`
`TOASTER
`
`220
`
`STEREO
`
`AHM, Exh. 1014, p. 15
`
`
`
`US 7,778,739 B2
`
`1.
`METHOD AND APPARATUS FOR DYNAMIC
`CONFIGURATION OF MULTIPROCESSOR
`SYSTEM
`
`2
`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.
`
`This application is a continuation of Ser. No. 09/841,915
`filed Apr. 24, 2001 now U.S. Pat. No. 7,146,260, the disclo
`sure of which is incorporated herein by reference in its
`entirety.
`
`BACKGROUND
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`10
`
`15
`
`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 sen
`sors 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 sys
`tem 10 also automatically reconfigures the applications run
`ning 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 brak
`ing 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 pro
`cessor 20. The DC system 10 then automatically downloads a
`copy of the braking control application to the identified pro
`cessor. If there is no extra reserve processing resources avail
`able, 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 link 34 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 mul
`tiprocessor System 8. After integrated into the multiprocessor
`system 8, not only can the laptop computer 38 transfer data
`with other processors, but the laptop computer may also run
`car applications normally run by other processors in car 12.
`
`Cars include many different electro-mechanical 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 differ
`ent 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 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 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 control
`ler.
`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.
`
`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,
`configuration manager, and data manager. The device man
`ager automatically detects and adds new devices to the mul
`65
`tiprocessor System, and the configuration manager automati
`cally reconfigures which processors run the real-time
`
`60
`
`AHM, Exh. 1014, p. 16
`
`
`
`US 7,778,739 B2
`
`3
`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 aftermar
`ket 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 auto
`matically 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 multi
`processor 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 different 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 46that
`establishes communications with new devices that are to be
`incorporated into the multiprocessor system 8. A configura
`tion manager 44 in the processor 40 dynamically moves
`applications between different processors according to user
`inputs and other monitored conditions in the multiprocessor
`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, temperature
`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 dis
`plays 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 applica
`tions 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 processor 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 applications.
`
`40
`
`45
`
`4
`The DC system 10 then automatically displays the newly
`detected DVD player 86 on GUI56 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 GUI56 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 Bluetooth
`signal 94. The processor 40 includes a Bluetooth transceiver
`that allows communication with transmitter 92. The DC sys
`tem 10 recognizes the signals 94 from transmitter 92 and then
`incorporates the drive-in 90 into the multiprocessor 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-in90 is displayed on the GUI56.
`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 proces
`Sor 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 multipro
`cessor System that it communicates with. For example, pro
`cessors 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 identi
`fies 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 commu
`nication 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 sys
`tem 8 checks the signals from processor E checks to deter
`mine 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 data codes from
`the new device signals in block 76. The data codes identify
`
`10
`
`15
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`AHM, Exh. 1014, p. 17
`
`
`
`US 7,778,739 B2
`
`5
`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 manag
`ers 46 in one or more of the processors A, B, C and Dadd the 5
`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 multiproces
`Sor system 8, the processor E or the applications running on
`the processor E may be displayed on agraphical user interface 10
`in block 84.
`FIG.7 describes in further detail the operation of the recon
`figuration 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 15
`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 20
`radio and CD player. The processor C runs a car Automatic
`Braking System (ABS) application 114 and the processor D
`runs a display application 11