`
`United States Patent
`Lutter
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,020,028 B1
`*Sep. 13, 2011
`
`US008020O28B1
`
`(54) APPLICATION MANAGEMENT SYSTEM
`FORMOBILE DEVICES
`
`(75) Inventor: Robert Pierce Lutter, Tacoma, WA
`(US)
`
`(*) Notice:
`
`-
`0
`(73) Assignee: Eagle Harbor Holdings, Bainbridge
`Island, WA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`This patent is Subject to a terminal dis
`claimer.
`
`(21) Appl. No.: 12/851,488
`
`(22) Filed:
`
`(2006.01)
`
`Aug. 5, 2010
`Related U.S. Application Data
`(63) Continuation of application No. 1 1/616,650, filed O
`Dec. 27, 2006, now Pat. No. 7.793,136, which is a
`continuation of application No. 10/132,886, filed on
`Apr. 24, 2002, now Pat. No. 7,178,049.
`(51) Int. Cl
`Goof iI/00
`714/171.8/100
`(52) U.S. Cl
`s 714f1, 2
`58 Fi id ic - - - - - ificati- - - - - -s - - - - - - - h- - - - - - - - - -
`(58) Field o als g", startf i 100101 104 io 6.
`lull-
`s
`L V 1. 7 18f1 07
`1
`lication file f
`hhi
`S
`ee application file for complete search history.
`References Cited
`
`3. A
`5,031,330 A
`5,045,937 A
`5,111,401 A
`5,115,245 A
`5.245,909 A
`5,287,199 A
`5,303.297 A
`5,339,086 A
`5,341.301 A
`5.438,361 A
`
`3. 3. E. ea
`
`7, 1991 Stuart
`9, 1991 MVrick
`5, 1992 E. Jr.
`5, 1992 Wen
`9/1993 Corrigan
`2f1994 Zoccolillo
`4, 1994 Hillis
`8/1994 DeLuca
`8, 1994 Shirai
`8, 1995 Coleman
`(Continued)
`
`DE
`
`FOREIGN PATENT DOCUMENTS
`3125 161 A1
`1, 1983
`(Continued)
`OTHER PUBLICATIONS
`Stolowitz Ford Cowger LLP, Listing of Related Cases, Mar. 15, 2011.
`(Continued)
`Primary Examiner — Dieu-Minh Le
`(74) Attorney, Agent, or Firm — Stolowitz. Ford Cowger
`LLP
`
`ABSTRACT
`(57)
`An application management system identifies a mobile
`device for use in a vehicle, home, or place of business, each of
`which includes a processor and is designed to function in a
`multiprocessor system. The mobile device is connected and
`configured into the multiprocessor System when a type of data
`used by the mobile device conforms to a type of data used in
`the multiprocessor System. A stored application in the multi
`processor system is identified that employs a same data type
`utilized on the mobile device. The stored application is run
`which includes taking over control and operation of the
`mobile device and process data received from the mobile
`device. Security is used to allowed to access the multiproces
`Sor system.
`
`34 Claims, 5 Drawing Sheets
`
`(56)
`
`U.S. PATENT DOCUMENTS
`2,995.318 A
`8, 1961 Cocharo
`4,303,978 A 12/1981 Shaw
`4,528,563 A
`7, 1985 Takeuchi
`4,591.976 A
`5, 1986 Webber
`4,829.434 A
`5, 1989 Karmel
`
`s
`
`- - - - - - - - - - - - -
`
`
`
`- - - - - - - - - - - - -
`
`t
`
`- - - - - - - - - - - - - -
`
`/
`
`streat
`
`m
`
`SMSOFSON
`TARAD
`
`83
`
`84
`
`- - - - - - - - - - - -
`66-1
`:
`:
`
`- - - - - - - - - - - - - -
`
`w
`
`i
`
`i
`
`m
`
`:
`
`f
`
`2
`
`m
`
`i
`
`SENSORFusion
`i SES
`
`A6
`: - - - -N- - - -
`1.
`w- - - -
`- - - - - -
`
`vi
`
`14
`
`:
`
`A
`--
`- - - - - - - - - - - - - - - -
`- . - - motoria --
`7-
`So
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`iSSAGEMANAGER
`5.
`
`I
`
`CRiCAL AARANâ3ER
`
`SECURYANAR
`
`DATA MANAGER
`
`ASKiANAGER
`
`CONFIGRAIOMMANAGER
`
`52
`
`54
`
`58
`
`58
`
`80
`
`fa
`
`AHM, Exh. 1001, p. 1
`
`
`
`U.S. PATENT DOCUMENTS
`Faibiish
`11, 1995
`5,471,214
`4, 1996
`5,506,963
`Ducateau
`T. 1996
`Reinhardt
`5,532,706
`9, 1996
`Kuhnert
`5,552,773
`11, 1996
`Graham
`5,572,201
`Rogers
`12, 1996
`5,581462
`12, 1996
`Yoshioka
`5,585,798
`4, 1997
`Tsutsumi
`5,617,085
`Byon
`7, 1997
`5,646,612
`5, 1998
`Graf
`5,749,060
`5, 1998
`Nishimura et al.
`5,751,211
`6, 1998
`Farinelli
`5,761,320
`7, 1998
`5,786,998
`Neeson
`8, 1998
`Beckert et al.
`5,794, 164
`2, 1999
`Taoka
`5,872,508
`Tognazzini
`5, 1999
`5,907,293
`6, 1999
`5,915,214
`Reece
`8, 1999
`Massie
`5,943,427
`9, 1999
`DeLorime et al.
`5.948,040
`9, 1999
`Ahrens et al.
`5,951,620
`9, 1999
`Chambers
`5,959,536
`Van Zalinge
`10, 1999
`5,963,092
`10, 1999
`Alland
`5,964,822
`Kennedy, III
`10, 1999
`5,966,658
`10, 1999
`Kimura
`5,969,598
`11, 1999
`5,977,906
`Ameen
`11, 1999
`Whinnett
`5,983,092
`11, 1999
`Lemelson
`5,983, 161
`Kennedy, III
`12, 1999
`6,009,330
`12, 1999
`6,009,403
`Sato
`2, 2000
`6,028,537
`Suman
`2, 2000
`6,028,548
`Farmer
`Buckely
`2, 2000
`6,032,089
`4, 2000
`6,054,950
`Fontana
`5, 2000
`Gehlot
`6,060,989
`5, 2000
`6,061,709
`Bronte
`Ninagawa
`6, 2000
`6,075,467
`8, 2000
`Curtin
`6,097,285
`10, 2000
`Barnhill
`6,128,608
`11, 2000
`Obradovich
`6,148,261
`11, 2000
`Alewine
`6,150,961
`Kleinberg
`11, 2000
`6,154,123
`12, 2000
`Shuman
`6,161,071
`12, 2000
`6,163,711
`Juntunen
`Reeley
`12, 2000
`6,166,627
`12, 2000
`Farris
`6,167.253
`1, 2001
`McCormick
`6,169,894
`1, 2001
`Mitama
`6,175,728
`1, 2001
`Obradovich
`6,175,782
`1, 2001
`Iwai
`6,181,922
`1, 2001
`Colson
`6,181,994
`1, 2001
`Meek
`6,182,006
`Gray
`2, 2001
`6,185,491
`3, 2001
`Alland
`6,202,027
`3, 2001
`Muller
`6,203,366
`3, 2001
`Andersson
`6,204.804
`5, 2001
`Lemelson
`6,226,389
`5, 2001
`Chen
`6,233,468
`5, 2001
`6,236,652
`Preston
`5, 2001
`6,240,365
`Bunn
`6, 2001
`6,243,450
`Jansen
`Hoffberg
`6, 2001
`6,252,544
`8, 2001
`Obradovich
`6,275,231
`Youngers
`9, 2001
`D448,366
`9, 2001
`6,292,109
`Murano
`9, 2001
`6,292,747
`Amro
`9, 2001
`Matsuda
`6,294.987
`10, 2001
`6,297,732
`Hsu
`Walgers
`10, 2001
`6,298,302
`11, 2001
`Fuchu
`6,314,326
`12, 2001
`6,326,903
`Gross
`Tsuji
`12, 2001
`6,327,536
`Huang
`3, 2002
`6,362,748
`4, 2002
`6,374,286
`Gee
`Gray
`4, 2002
`6,377,860
`5, 2002
`Mattio
`6,382,897
`Rayner
`5, 2002
`6,389.340
`6, 2002
`Kubota
`6,401,029
`
`US 8,020,028 B1
`Page 2
`
`6.405,132
`6,408,174
`6,417,782
`6.421,429
`6,429,789
`6,429,812
`6,430, 164
`6,442.485
`6,445,308
`6,452,484
`6,484,080
`6,493,338
`6,496,107
`6,496, 117
`6,496,689
`6,505,100
`6,515,595
`6,522,875
`6,559,773
`6,584,403
`D479,228
`6,614,349
`6,615,137
`6,616,071
`6,622,083
`6,629,033
`6,641,087
`6,647,270
`6,670.912
`6,675,081
`6,681,121
`6,690,681
`6,707,421
`6,708, 100
`6,714, 139
`6,725,031
`6,734,799
`6,738,697
`6,771,208
`6,771,629
`6,778,073
`6,778,924
`6,782,315
`6,785,551
`6,792,351
`6,816.458
`6,895.238
`6,895,240
`6,901.057
`6,906.619
`6,920, 129
`6,925,368
`6,937,732
`6,952,155
`6,972,669
`6,973,030
`6,993,511
`7,000,469
`7,006,950
`7,024,363
`7,079,993
`7,089,206
`7,092,723
`7,120,129
`7,123,926
`7,146,260
`7,151,768
`7,158,956
`7,164,662
`7,171, 189
`7,178,049
`7,187,947
`7,206,305
`7,207,042
`7,215,965
`7,221,669
`7,239,949
`7,249,266
`7,257.426
`
`B1
`B2
`B2
`B1
`B2
`B1
`B1
`B2
`B2
`B1
`B1
`B1
`B2
`B2
`B2
`B2
`B2
`B2
`B1
`B2
`B2
`B2
`B1
`B2
`B1
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B1
`B1
`B2
`B2
`B2
`B2
`B2
`B2
`B2
`B1
`B2
`B2
`B2
`B1
`B2
`B2
`B2
`B2
`B2
`B2
`B1
`
`6, 2002
`6, 2002
`T/2002
`T/2002
`8, 2002
`8, 2002
`8, 2002
`8, 2002
`9, 2002
`9, 2002
`11, 2002
`12, 2002
`12, 2002
`12, 2002
`12, 2002
`1, 2003
`2, 2003
`2, 2003
`5/2003
`6, 2003
`9, 2003
`9, 2003
`9, 2003
`9, 2003
`9, 2003
`9, 2003
`11/2003
`11/2003
`12, 2003
`1, 2004
`1, 2004
`2, 2004
`3, 2004
`3, 2004
`3, 2004
`4, 2004
`5, 2004
`5, 2004
`8, 2004
`8, 2004
`8, 2004
`8, 2004
`8, 2004
`8, 2004
`9, 2004
`11, 2004
`5/2005
`5/2005
`5/2005
`6, 2005
`7/2005
`8, 2005
`8, 2005
`10, 2005
`12, 2005
`12, 2005
`1, 2006
`2, 2006
`2, 2006
`4, 2006
`T/2006
`8, 2006
`8, 2006
`10, 2006
`10, 2006
`12, 2006
`12, 2006
`1/2007
`1/2007
`1/2007
`2, 2007
`3, 2007
`4, 2007
`4, 2007
`5/2007
`5/2007
`7/2007
`7/2007
`8, 2007
`
`Breed
`Steijer
`Darnall
`Merritt
`Kiridena
`Hoffberg
`Jones
`Evans
`Koike
`Drori
`Breed
`Preston
`Himmelstein
`Gutta
`Keller
`Stuempfle
`Obradovich
`Dowling
`Berry
`Bunn
`Sakaguchi et al.
`Proctor et al.
`Lutter
`Kitamura
`Knockeart etal
`Preston
`Nelson
`Himmelstein
`Honda
`Shuman
`Preston
`Preston
`Drury et al.
`Russell
`Saito
`Watler
`Munch
`Breed
`Lutter
`Preston
`Lutter
`Hanse
`Lu
`Richard
`Lutter
`Kroon
`Newell
`Laursen
`Rune
`Williams
`Preston
`Funkhouser et al.
`Ohmura
`Himmelstein
`Saito
`Pecen
`Himmelstein
`Foxlin
`Greiffenhagen
`Comerford
`Stephenson
`Martin
`Himmelstein
`Ayyagari
`Himmelstein
`Preston
`Preston
`Himmelstein
`Preston
`Bianconi
`Lutter
`White
`Preston
`Smith
`Fournier et al.
`Preston
`Lu
`Margalit
`Witkowski
`
`AHM, Exh. 1001, p. 2
`
`
`
`US 8,020,028 B1
`Page 3
`
`9, 2007 Smith
`7,269,188 B2
`9, 2007 Himmelstein
`7,272,637 B1
`9/2007 Mukaiyama
`7,274.988 B2
`7,277,693 B2 10/2007 Chen
`7,283,567 B2 10/2007 Preston
`7.283.904 B2 10/2007 Benjamin
`7,286,522 B2 10/2007 Preston
`7,317,696 B2
`1/2008 Preston
`7,343,160 B2
`3/2008 Morton
`7,375,728 B2
`5, 2008 Donath
`7,379,707 B2
`5, 2008 DiFonzo
`7,411,982 B2
`8, 2008 Smith
`7,418.476 B2
`8/2008 Salesky
`7.450,955 B2 11/2008 Himmelstein
`7,506,020 B2
`3, 2009 Ellis
`7,508,810 B2
`3/2009 Moinzadeh
`7,509,134 B2
`3/2009 Fournier et al.
`7.587,370 B2
`9, 2009 Himmelstein
`7,594,000 B2
`9, 2009 Himmelstein
`7,596,391 B2
`9, 2009 Himmelstein
`7,599,715 B2 10/2009 Himmelstein
`7,614,055 B2 11/2009 Buskens et al.
`7,664,315 B2
`2, 2010 Woodfill
`7,733,853 B2
`6, 2010 Moinzadeh et al.
`7,747,281 B2
`6, 2010 Preston
`7,848,763 B2 12/2010 Fournier et al.
`2001/OOO9855 A1
`7/2001 L'Anson
`2002fOO 12329 A1
`1/2002 Atkinson
`2002/0022927 A1
`2, 2002 Lemelson et al.
`2002fOO70852 A1
`6/2002 Trauner et al.
`7/2002 Chiloyan et al.
`2002fOO955O1 A1
`2002/0105423 A1
`8, 2002 Rast
`2002fO14401.0 A1
`10, 2002 Younis
`2003, OO60188 A1
`3/2003 Gidron
`2004O162064 A1
`8, 2004 Himmelstein
`8/2004 Fogg
`2004O164228 A1
`2005, OOO9506 A1
`1/2005 Smolentzov
`3/2005 Upton
`2005/0070221 A1
`2005. O130656 A1
`6, 2005 Chen
`2005/O153654 A1
`7/2005 Anderson
`2005/0260984 A1
`11/2005 Karabinis
`2005/0275.505 A1
`12/2005 Himmelstein
`2005/0278712 A1
`12/2005 Buskens et al.
`2007, 0115868 A1
`5, 2007 Chen
`2007/0115897 A1
`5, 2007 Chen
`4/2008 Doninger et al.
`2008/0092140 A1
`2010.0312433 A1* 12/2010 Preston et al. .................. TO1/36
`
`DE
`DE
`DE
`EP
`EP
`EP
`JP
`JP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`FOREIGN PATENT DOCUMENTS
`4237987
`5, 1994
`19922608
`11, 2000
`19931. 161
`1, 2001
`O 441576 A2
`8, 1991
`84.1648
`5, 1998
`1355 128
`10, 2003
`10-076.115
`10, 1999
`2000207691. A
`7, 2000
`WO9624229 A1
`8/1996
`WO990.8436 A1
`2/1999
`WO995.7662 A2 11/1999
`WO9965183 A2 12, 1999
`WOOO29948
`5, 2000
`WOOO40O38 A2
`7, 2000
`WOO 130061 A1
`4, 2001
`WOO158110 A2
`8, 2001
`
`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. 18, Nov. 5, 2001, pp. 1-13.
`Ada 95 Transition Support—Lessons Learned, Sections 3, 4, and 5.
`CACI, Inc. -Federal, Nov. 15, 1996, 14 pages.
`AMIC. Architecture specification release 1, 2001; 35 pages.
`Bluetooth Doc: Advance Audio Distribution Profile Specification;
`Adopted version 1.0; dated May 22, 2003; 75 pages.
`Bluetooth Doc; Audio/Video Remote Control Profile; Version 1.0
`Adopted; dated May 22, 2003; 52 pages.
`
`Bluetooth Hands-free Profile 1.5 Nov. 25, 2005.
`Bluetooth Specification version 1.1; Feb. 22, 2001; 452 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.
`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.
`Embedded Bluetooth Migrates to Lisbon and Seattle; 11 pages; Jan.
`23, 2008.
`Green Hills Software, Inc., “The AdaMULTI 2000 Integrated Devel
`opment Environment.” Copyright 2002, printed Jul. 9, 2002; 7 pages.
`H. Chung, L. Ojeda, and J. Borenstein, “Sensor Fusion for Mobile
`Robot Dead-reckoning with a Precision-calibrated Fiber Optic Gyro
`scope', 2001 IEEE International Conference on Robotics and Auto
`mation, Seoul, Korea, May 21-26, 2001, pp. 1-6.
`Hitachi Automated Highway System (AHS), Automotive Products,
`Hitachi, Ltd., Copyright 1994-2002, 8 pages.
`IEEE Standard for Information Technology—POSIX Based
`Supercomputing Application Environment Profile; Jun. 14, 1995, 72
`pageS.
`ISIS Project: Sensor Fusion, Linkoping University Division of Auto
`matic Control and Communication Systems in cooperation with
`SAAB (Dynamics and Aircraft), 2001, 18 pages.
`J. Takezaki, N. Ueki, T. Minowa, H. Kondoh, “Support System for
`Safe Driving—A Step Toward ITS Autonomous Driving '', Hitachi
`Review, vol. 49, Nov. 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).
`M. Chantler, G. Russel, and R. Dunbar, “Probabilistic Sensor Fusion
`for Reliable Workspace Sensing”. Fourth IARP workship on Under
`water Robotics, Genoa, Nov. 1992, pp. 1-14.
`MSRC Redacted Proposal, 3.0 Architecture Development, Aug. 29.
`2002: pp. 1-43.
`MyGig User Guide.
`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.
`Specification of the Bluetooth System v1.0.B.; Dec. 1, 1999.
`Specification of the Bluetooth System v1.1; Feb. 22, 2001.
`TNO FEL Annual Review 1998: Quality works, Observation Sys
`tems Division: “The Whole is More Than the Sum of its Parts'; 16
`pageS.
`Vehicle Dynamics Lab, University of California, Berkeley, funded by
`BMW, current members: D. Caveney and B. Feldman, "Adaptive
`Cruise Control”, at least as early as 2002, printed Jul. 2, 2002; 17
`pageS.
`Stirling A: “Mobile Multimedia platforms' Vehicular Technology
`Conferene Fall 2000. IEEE VTS Fall VTC2000. 52nd Vehicular
`Technology Conference (CAT. No. 00CH37152).
`Nusser R. et al.: "Bluetooth-based wireless connectivity in an auto
`motive environment” Vehicular Technoloty Conference Fall 2000.
`IEEE VTS Fall VTC2000 52nd Vehicular Techonlogy Conference
`(Cat. No. 00CH37152).
`
`AHM, Exh. 1001, p. 3
`
`
`
`US 8,020,028 B1
`Page 4
`
`Martins efv et al. “design of an OS9 operating system extension for
`a
`message-passing
`multiprocesor
`Microprocessors and
`Microsysetms, IPC Business Press LT. London, BG, vol. 21, No. 9.
`Apr. 1, 1998, pp. 533-543.
`Gutierrez Garcia JJ et al. “Minimizing the effects of jitter in distrib
`uted hard real-time systems' Journal of Systems Architecture,
`Elsevier Science Publishers B.V., Amsterdam, NL, vol. 41, No. 6/7.
`Dec. 15, 1996, pp. 431-447.
`International Search Report for PCT/US02/020402; Mailing date
`Apr. 3, 2003.
`
`International Search Report for PCT/US02/020403; Mailing date
`Jan. 27, 2003.
`International Search Report for PCT/US02/016364; Mailing date
`Feb. 14, 2003.
`International Search Report for PCT/US02/016371; Mailing date
`Aug. 18, 2003.
`Stolowitz Ford Cowger LLPListing of Related Cases; Aug. 23, 2010.
`Stolowitz Ford Cowger LLP, Listing of Related Cases, Jan. 4, 2011.
`* cited by examiner
`
`AHM, Exh. 1001, p. 4
`
`
`
`U.S. Patent
`
`Sep. 13, 2011
`
`Sheet 1 of 5
`
`US 8,020,028 B1
`
`
`
`JAVAVIRTUAL MACHINE
`
`FG 1
`
`AHM, Exh. 1001, p. 5
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 13, 2011
`Sep. 13, 2011
`
`Sheet 2 of 5
`Sheet 2 of 5
`
`US 8,020,028 B1
`US 8,020,028 B1
`
`
`
`
`
`
`||
`
`J|||
`
`
` Speeeeeweeeee+I|]||3ALAOSAAWWad4eanossIi||14|_::1|a!!i||1|TOMLNOD|JOULNOD
`TouLNoo|Fooiany;ALMNOASaug
`
`
`avdva
`
`al
`
`dl
`
`
`
`
`
`aJoleeeel
`
`8h94J
`
`¢Old
`
`AHM, Exh. 1001, p. 6
`
`AHM, Exh. 1001, p. 6
`
`
`
`
`
`U.S. Patent
`
`Sep. 13, 2011
`
`Sheet 3 of 5
`
`US 8,020,028 B1
`
`14
`
`
`
`MESSAGE
`MANAGER
`
`CRTCAL DATA
`MANAGER
`
`SECURITY
`MANAGER
`
`DAA MANAGER
`
`TASK MANAGER
`
`CONFIGURATION
`MANAGER
`
`AHM, Exh. 1001, p. 7
`
`
`
`U.S. Patent
`
`Sep. 13, 2011
`
`Sheet 4 of 5
`
`US 8,020,028 B1
`
`won
`
`ana. m w w-
`
`o-p- - - who is an
`
`
`
`AHM, Exh. 1001, p. 8
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 13, 2011
`
`Sheet 5 of 5
`
`US 8,020,028 B1
`US 8,020,028 B1
`
`
`
`
`
`THREAD
`89
`
`
`O j.
`
`
`
`TASKMANAGER
`
`FIGS
`
`SENSOR
`
`FUSION
`
`62
`
`GPSTHREAD
`
`AHM, Exh. 1001, p. 9
`
`AHM, Exh. 1001, p. 9
`
`
`
`US 8,020,028 B1
`
`1.
`APPLICATION MANAGEMENT SYSTEM
`FORMOBILE DEVICES
`
`This application is a continuation of U.S. patent applica
`tion Ser. No. 1 1/616,650, filed Dec. 27, 2006 entitled:
`METHOD FOR MULTI-TASKING MULTIPLE JAVAVIR
`TUAL MACHINES IN A SECURE ENVIRONMENT,
`which is a continuation of U.S. Pat. No. 7,178,049 issued Feb.
`13, 2007 entitled: METHOD FOR MULTI-TASKING MUL
`10
`TIPLE JAVAVIRTUAL MACHINES IN A SECURE ENVI
`RONMENT, which are both incorporated by referenced in
`their entirety.
`This application incorporates by reference U.S. patent
`application Ser. No. 09/841,753, filed Apr. 24, 2001 entitled:
`OPEN COMMUNICATION SYSTEM FOR REAL-TIME
`MULTIPROCESSOR APPLICATIONS and U.S. patent
`application Ser. No. 09/841,915, filed Apr. 24, 2001 entitled:
`METHOD AND APPARATUS FOR DYNAMIC CON
`FIGURATION OF MULTIPROCESSOR SYSTEM.
`
`15
`
`BACKGROUND OF THE INVENTION
`
`2
`tive but provides a secure operating system from a bottom
`perspective. This allows portable languages, such as Java, to
`be used for secure embedded multiprocessor environments.
`The foregoing and other objects, features and advantages
`of the invention will become more readily apparent from the
`following detailed description of a preferred embodiment of
`the invention which proceeds with reference to the accompa
`nying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram showing a Java stack with an additional
`Secure Real-time Executive (SRE) layer.
`FIG. 2 is a diagram of a multiprocessor System that runs
`multiple Java Virtual Machines that each include a SRE.
`FIG. 3 is a detailed diagram of the managers in the SRE.
`FIG. 4 is a block diagram of how the SRE manages a
`multiprocessor system.
`FIG. 5 is a bock diagram showing how a task manager in
`the SRE operates the multiprocessor system in a lock-step
`mode.
`
`DETAILED DESCRIPTION
`
`A Java application stack includes a Java layer 5 for running
`any one of multiple different applications. In one example,
`the applications are related to different vehicle operations
`Such as Infrared (IR) and radar sensor control and monitoring,
`vehicle brake control, vehicle audio and video control, envi
`ronmental control, driver assistance control, etc.
`A Java Virtual Machine (JVM) layer 16 provides the hard
`ware independent platform for running the Java applications
`5. A Jini layer 12 provides some limited security for the Java
`applications that run on different machines. However, the Jini
`layer 12 does not provide the necessary reconfiguration and
`security management necessary for a distributed real-time
`multiprocessor system.
`A Secure Real-time Executive (SRE) 14 provides an exten
`sion to the JVM 16 and allows Java to run on different pro
`cessors for real-time applications. The SRE 20 manages mes
`saging, security, critical data, file I/O multiprocessor task
`control and watchdog tasks in the Java environment as
`described below. The JVM 16, Jini 12 and SRE 14 can all be
`implemented in the same JVM 10, However, for explanation
`purposes, the JVM 10 and the SRE 14 will be shown as
`separate elements.
`FIG.2 shows a system 15 that includes multiple processors
`16, 18, 20, 22 and 24. Each processor includes one or more
`JVMs 10 that run different Java applications. For example,
`processor 16 includes one Java application 28 that controls a
`vehicle security system and another Java application 26 that
`controls the vehicles antilock brakes. A processor 18 includes
`a Java application 30 that controls audio sources in the
`vehicle. Other processors 20 and 22 may run different threads
`32A and 32B for the same sensor fusion Java application 32
`that monitors different IR sensors. Another thread 32C on
`processor 24 monitors a radar sensor for the sensor fusion
`Java application 32.
`The SRE 14 runs below the JVMs 10 in each processor and
`control tasks, messaging, security, etc. For example, the Java
`application 26 controls vehicle braking according to the sen
`sor data collected by the sensor fusion Java application 32.
`The SRE 14 in one example prevents unauthorized data from
`being loaded into the processor 16 that runs brake control
`application 26. The SRE 14 also prevents other Java applica
`tions that are allowed to be loaded into processor 16 from
`
`30
`
`35
`
`40
`
`45
`
`Java is a robust, object-oriented programming language
`expressly designed for use in the distributed environment of
`the Internet. Java can be used to create complete applications
`25
`that may run on a single computer or be distributed among
`servers and clients in a network. A source program in Java is
`compiled into byte code, which can be run anywhere in a
`network on a server or a client that has a Java virtual machine
`(JVM).
`AJVM describes software that is nothing more than an inter
`face between the compiled byte code and the microprocessor
`or hardware platform that actually performs the programs
`instructions. Thus, the JVM makes it possible for Java appli
`cation programs to be built that can run on any platform
`without having to be rewritten or recompiled by the program
`mer for each separate platform.
`Jini is a distributed system based on the idea of federating
`groups of users and the resources required by those users.
`Resources can be implemented either as hardware devices,
`Software programs, or a combination of the two. The Jini
`system extends the Java application environment from a
`single virtual machine to a network of machines. The Java
`application environment provides a good computing platform
`for distributed computing because both code and data can
`move from machine to machine. The Jini infrastructure pro
`vides mechanisms for devices, services, and users to join and
`detach from a network. Jini systems are more dynamic than is
`currently possible in networked groups where configuring a
`network is a centralized function done by hand.
`However, the Java/Jini approach is not without its disad
`Vantages. Both Java and Jini are free, open source applica
`tions. The Java application environment is not designed for
`controlling messaging between different machines. For
`example, the Java application is not concerned about the
`protocols between different hardware platforms. Jini has
`some built-in security that allows code to be downloaded and
`run from different machines in confidence. However, this
`limited security is insufficient for environments where it is
`necessary to further restrict code sharing or operation sharing
`among selected devices in a secure embedded system.
`
`50
`
`55
`
`60
`
`SUMMARY OF THE INVENTION
`
`The present invention allows construction of a secure, real
`time operating system from a portable language such as Java
`that appears to be a Java virtual machine from a top perspec
`
`65
`
`AHM, Exh. 1001, p. 10
`
`
`
`US 8,020,028 B1
`
`10
`
`15
`
`35
`
`45
`
`3
`disrupting critical braking operations, or taking priority over
`the braking operations, performed by Java application 26.
`For example, the SRE 14 may prevent noncritical vehicle
`applications, such as audio control, from being loaded onto
`processor 16. In another example, noncritical operations,
`Such as security control application 28, are allowed to be
`loaded onto processor 16. However, the SRE 14 assigns the
`security messages low priority values that will only be pro
`cessed when there are no braking tasks in application 26 that
`require processing by processor 16.
`The SRE 14 allows any variety of real-time, mission criti
`cal, nonreal-time and nonmission critical Java applications to
`be loaded onto the multiprocessor system 15. The SRE 14
`then automatically manages the different types of applica
`tions and messages to ensure that the critical vehicle applica
`tions are not corrupted and processed with the necessary
`priority. The SRE 14 is secure software that cannot be
`manipulated by other Java applications.
`The SRE 14 provides priority preemption on a message
`scale across the entire system 15 and priority preemption on
`a task scale across the entire system 15. So the SRE 14
`controls how the JVMs 10 talk to each other and controls how
`the JVMs 10 are started or initiated to perform tasks. The SRE
`14 allows programmers to write applications using Java in a
`25
`safe and secure real time environment. Thus, viruses can be
`prevented by SRE 14 from infiltrating the system 15.
`While the explanation uses Java as one example of a pro
`gramming environment where SRE 14 can be implemented, it
`should be understood that the SRE 14 can be integrated into
`any variety of different programming environments that may
`run in the same or different systems 15. For example, SRE 14
`can be integrated into an Application Programmers Interface
`(API) for use with any programming language such as C++.
`FIG.3 shows the different functions that are performed by
`the SRE 20. Any combination of the functions described
`below can be provided in the SRE20. A message manager 50
`controls the order messages are received and transmitted by
`the different Java applications. A security manager 52 con
`40
`trols what data and messages are allowed to be received or
`transmitted by different Java applications. A critical data
`manager 54 controls what data is archived by the different
`Java applications.
`A data manager 56 controls what data is allowed to be
`transferred between different processors. A task manager 58
`controls the order tasks are performed by the different JVMs.
`A reconfiguration manager 60 monitors the operation of the
`different processors in the system and reassigns or reconfig
`ures Java applications and Java threads to different processors
`according to what processors have failed or what new proces
`sors and applications have been configured into system 15.
`The message manager 50 partially corresponds to the pri
`ority manager 44 shown in FIG. 2 of pending patent applica
`tion Ser. No. 09/841,753, the critical data manager 52 par
`tially corresponds with the logging manager 44 shown in FIG.
`2 of the copending 753 patent application, and the security
`manger 54 a least partially corresponds with the security
`manager 40 shown in the 753 patent application. The data
`manager 56 at least partially corresponds with the data man
`60
`ager 42 shown in FIG. 2 of pending patent application Ser.
`No. 09/841,915, the task manager 58 partially corresponds to
`the device manger 46 shown in FIG. 2 of the 915 application,
`and the configuration manager 60 at least partially corre
`sponds to the configuration manager 44 shown in FIG. 2 of the
`915 patent application. The descriptions of how the different
`managers 50-60 operate similarly to the corresponding man
`
`30
`
`50
`
`55
`
`65
`
`4
`agers in the 753 and 915 patent applications are herein incor
`porated by reference and are therefore not described in further
`detail.
`However, Some specific tasks performed by the managers
`50-60 are described below in further detail.
`FIG. 4 shows in more detail how the SRE 14 operates. One
`of the operations performed by the task manager 58 is to
`control when different tasks are initiated on different proces
`sors. For example, a first Global Positioning System (GPS)
`thread 62 is running on a JVM in a processor 80. Another
`sensor fusion thread 64 is running on a different processor 82.
`Block 74 represents the Java Virtual Machine operating in
`each of processors 80 and 82. A master JVM 74 may run on
`either processor 80, processor 82 or on some other processor.
`The task manager 58 sends an initiation command 66 to the
`GPS thread 62 to obtain location data. The task manager 58
`then directs the obtained GPS data 68 through a link to the
`sensor fusion thread 64 for subsequent processing of GPS
`data 68. The link may be any bus, such as a PCIbus, serial link
`such as a Universal Serial Bus, a wireless link such as blue
`tooth or IEEE 802.11, or a network link such as Ethernet, etc.
`The configuration manager 60 acts as a watchdog to make
`sure that the GPS thread 62 and the sensor fusion thread 64 are
`each running correctly. In one example, separate configura
`tion managers 60 in each processor 80 and 82 sends out
`periodic signals to the other configuration managers 60 in the
`other processors. Any one of the configuration managers 60
`can detect a processor or application failure by not receiving
`the periodic 'ok' signals from any one of the other processors
`for some period of time. If a failure is detected, then a par
`ticular master configuration manager 60 in one of the proces
`sors determines where the task in the failed processor is going
`to be reloaded. If the master configuration manager 60 dies,
`then some conventional priority Scheme, such as round robin,
`is used to select another configuration master.
`If a failure is detected, say in the processor 82 that is
`currently performing the sensor fusion thread 64, a message is
`sent from the configuration manager 60 notifying the task
`manager 58 which processor is reassigned the sensor fusion
`thread. In this example, another sensor fusion thread 76 in
`processor 84 is configured by the configuration manager 60.
`The critical data manager 52 manages the retention of any
`critical data 72 that was previously generated by the sensor
`fusion thread 64. For example, the critical data manager 54
`automatically stores certain data and state information that
`was currently, being used in the sensor fusion thread 64. The
`critical data may include GPS readings for the last 10 min
`utes, sensor data obtained from sensors in other processors in
`the vehicle over the last 10 minutes. The critical data may also
`include any processed data generated by the sensor fusion
`thread 64 that identifies any critical vehicle conditions.
`The critical data manager 52 also determines which data to
`archive generally for vehicle maintenance and accident
`reconstruction purposes.
`The configuration manager 60 directs the critical data 72 to
`the new sensor fusion thread 76. The task manager 74 then
`redirects any new GPS data obtained by the GPS thread 78 to
`the new sensor fusion thread 76 and controls sensor fusion
`tasks from application 76. Thus, the configuration manager
`60 and the task manager 58 dynamically control how different
`Java threads are initialized, distributed and activated on dif
`ferent processors.
`The message manager 50 determines the priority of sent
`and received messages. If the data transmitted and received
`by the sensor fusion thread 76 is higher priority than other
`data transmitted and received on the processor 84, then the
`sensor fusion data will be given priority over the other data.
`
`AHM, Exh. 1001, p. 11
`
`
`
`US 8,020,028 B1
`
`10
`
`15
`
`25
`
`5
`The task manager 58 controls the priority that the sensor
`fusion thread 76 is giving by processor 84. If the sensor fusion
`thread 76 has higher priority than, for example, an audio
`application that is also being run by processor 84, then the
`sensor fusion thread 76 will be performed before the audio
`application.
`The SRE 14 can be implemented in any system that needs
`to be operated in a secure environment. For example, network
`servers or multiprocessors operating in a home environment.
`The multiprocessors in home appliances. Such as washer and
`dryers, home computers, home security systems, home heat
`ing systems, can be networked together and operate Java
`applications. The SRE 14 prevents these multiple processors
`and the Software that controls these processors from being
`corrupted by unauthorized software and also allows the appli
`cations on these different processors to operate as one inte
`grated system.
`The SRE 14 is a controlled trusted computing based that is
`not accessible by non-authorized application programmers
`and anyone in the general public. Therefore, the SRE 14
`prevents hacking or unauthorized control and access to the
`processors in the vehic