throbber
US007778739B2
`
`(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

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