CN117909024A - 车辆的可扩展计算方法、设备和介质 - Google Patents
车辆的可扩展计算方法、设备和介质 Download PDFInfo
- Publication number
- CN117909024A CN117909024A CN202410022441.5A CN202410022441A CN117909024A CN 117909024 A CN117909024 A CN 117909024A CN 202410022441 A CN202410022441 A CN 202410022441A CN 117909024 A CN117909024 A CN 117909024A
- Authority
- CN
- China
- Prior art keywords
- instance
- runtime environment
- computing device
- vehicle
- container
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000005192 partition Methods 0.000 claims description 37
- 230000008093 supporting effect Effects 0.000 claims description 37
- 238000012546 transfer Methods 0.000 abstract description 18
- 238000004891 communication Methods 0.000 description 32
- 238000005516 engineering process Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 12
- 230000008878 coupling Effects 0.000 description 9
- 238000010168 coupling process Methods 0.000 description 9
- 238000005859 coupling reaction Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000001976 improved effect Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 206010011906 Death Diseases 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Transportation (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及车辆的可扩展计算方法、设备和介质。集成到车辆中的主计算设备可以执行本公开中描述的技术的各个方面。主计算设备包括存储器和处理器。存储器可以存储运行时环境的第一实例和第二实例。处理器可以执行能够执行运行时环境的第一实例的第一容器,并且执行能够执行运行时环境的第二实例的第二容器。运行时环境的第一实例可以检测支持计算设备,响应于检测到支持计算设备而将第二容器转移到支持计算设备,并与运行时环境的第二实例对接以联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性。
Description
分案说明
本申请属于申请日为2020年10月12日的中国发明专利申请202011085166.X的分案申请。
相关申请的交叉引用
本申请要求于2019年10月11日提交的标题为“EXTENSIBLE COMPUTINGARCHITECTURE FOR VEHICLES(车辆的可扩展计算架构)”的美国临时申请No.62/914,153的权益,其全部内容通过引用合并于此,如同全文提出一样。
技术领域
本公开涉及车辆的可扩展计算架构。
背景技术
车辆的可靠性增加到车辆的平均寿命达到或接近十年以上的服务年限的程度。随着车辆在服务年限期间的老化,包括车载主机(head unit)、电子控制单元(ECU)等在内的计算系统在技术支持、维护(和其他支持)和支持新功能方面可能会逐渐变得过时,进入使用寿命终止。此外,车载主机和其他计算系统越来越多地无缝集成到车辆的仪表板和其他组件中,使得由于独特的形状因数、包括大型且可能昂贵的显示器等而导致难以更换车载主机。
尽管可以对车载主机进行升级,但是这种更换车载主机(和其他计算系统)的升级通常是昂贵的,因为更换整个车载主机的成本可能需要更换屏幕和其他(相对)昂贵的组件,尽管不是必需的,但是被要求(因为车载主机通常会将显示器和其他昂贵的组件集成到单个壳体或可更换单元中),并且是困难的(因为此类车载主机无缝地集成到每个车辆中并且特定于车辆的品牌和型号,潜在地限制更换车载主机的可用性,并进一步可能抬高成本)。这样,车辆的操作者可以以相当大的花费购买全新的车辆,以努力获得对诸如计算机系统的较新技术的访问,该计算系统包括车载主机和其他信息娱乐及其他组件。
发明内容
通常,本公开中阐述的技术的各个方面针对用于车辆的可扩展计算架构。不是更换车辆的车载主机或其他计算系统,该技术可以使车载主机或其他计算系统能够与通信地耦合至车载主机的支持计算系统对接,其中车载主机或其他计算设备可以将应用的执行(以及其他运行时环境级别的操作,而不仅仅是应用空间的执行)卸荷(offload)至或以其它方式转移到支持计算设备。
车载主机或其他计算设备可以检测支持计算设备的通信耦合,并且响应于检测到支持计算设备的通信耦合,将包括运行时环境的分区的容器转移到支持计算设备。然后,支持计算设备可以执行运行时环境的分区,以便同步运行时环境的操作,从而提供应用可以在其中执行的用户空间(同时还支持内核空间的执行,或者换句话说,运行时环境空间,作为分布式运行时环境)。支持计算设备可以是可更换的或以其他方式可升级的,以允许车载主机对运行时环境的可扩展执行,其中支持计算设备可以被升级以促进新特征的适应、支持(在例如终身服务的终止,诸如技术支持-包括解决安全和其他问题的软件补丁等方面)和维护(在例如硬件升级-诸如处理性能、内存大小等方面)。
添加支持计算设备可以允许对较便宜的主计算单元(这是指代“主机”或其他计算设备的另一种方式)进行升级(因为支持计算设备没有无缝地集成到入车辆中,但是仅被可通信地耦合到车载主机,从而减轻与无缝集成相关联的费用,诸如形状因数,附加的组件-诸如显示器、全球定位系统(GPS)等)。另外,对添加支持计算设备的支持可以能够对主计算设备进行升级,而不必单独更换主计算设备,从而允许对主计算设备进行升级而不必更换主计算设备。
在这方面,技术的各个方面可以提供容器软件架构(其中术语包含通常可以指代通用软件块或构造),以确保以潜在地提供一致的用户体验的方式主计算设备与支持计算设备之间的同步,即使主计算设备和支持计算设备可以执行运行时环境的不同版本。这样,这些技术可以改善主计算设备本身的操作(因为通过支持计算设备促进升级可以延长车载主机本身的寿命并减少升级成本),同时潜在地维护贯穿对支持计算设备的整个升级的一致的用户体验。
在示例中,技术的各方面针对一种方法,该方法包括:由集成到车辆中的主计算设备来执行能够执行运行时环境的第一实例的第一容器;由主计算设备执行第二容器,该第二容器能够执行运行时环境的第二实例,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性;其中,运行时环境的第一实例被配置成:检测与主计算设备通信的支持计算设备;响应于检测到支持计算设备,将第二容器转移到支持计算设备;以及与由支持计算设备执行的运行时环境的第二实例对接,以联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性。
在另一个示例中,这些技术的各方面针对集成到车辆中的主计算设备,该主计算设备包括:存储器,其被配置成存储运行时环境的第一实例和运行时环境的第二实例;一个或多个处理器,其被配置成:执行第一容器,其能够执行运行时环境的第一实例;执行第二容器,该第二容器能够执行运行时环境的第二实例,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性;其中,运行时环境的第一实例被配置成:检测与主计算设备通信的支持计算设备;响应于检测到支持计算设备,将第二容器转移到支持计算设备;并且与由支持计算设备执行的运行时环境的第二实例对接,以联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性。
在另一示例中,技术的各方面针对其上存储有指令的非暂时性计算机可读存储介质,该指令在被执行时,使主计算设备的一个或多个处理器:执行第一容器,该第一容器能够执行运行时环境的第一实例;执行第二容器,该第二容器能够执行运行时环境的第二实例,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性;其中,运行时环境的第一实例被配置成:检测与主计算设备通信的支持计算设备;响应于检测到支持计算设备,将第二容器转移到支持计算设备;并且与由支持计算设备执行的运行时环境的第二实例对接,以联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性。
在另一个示例中,技术的各方面针对一种方法,该方法包括:从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆中的主计算设备并且由支持计算设备接收支持运行时环境的第二实例的执行的第二容器,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性,以及由支持计算设备执行第二容器以能够执行运行时环境的第二实例,其中,运行时环境的第二实例被配置成与由主计算设备执行的运行时环境的第一实例对接以联合呈现用户界面,车辆操作者通过该用户界面控制车辆的功能性。
在另一个示例中,技术的各方面针对一种支持计算设备,该支持计算设备包括:一个或多个处理器,其被配置成:从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆中的主计算设备接收支持运行时环境的第二实例的执行的第二容器,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性,并且执行第二容器以能够执行运行时环境的第二实例,其中,运行时环境的第二实例被配置成与由主计算设备执行的运行时环境的第一实例对接以联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性;以及存储器,该存储器被配置成存储第二容器。
在另一示例中,技术的各方面针对其上存储有指令的非暂时性计算机可读存储介质,该指令在被执行时,使支持计算设备的一个或多个处理器以:从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆中的主计算设备接收支持运行时环境的第二实例的执行的第二容器,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性,并且执行第二容器以能够执行运行时环境的第二实例,其中,运行时环境的第二实例被配置成与由主计算设备执行的运行时环境的第一实例对接以联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性;以及存储器,该存储器被配置成存储第二容器。
在另一示例中,技术的各方面针对一种计算系统,其包括:主计算设备,其被配置成:执行第一容器,该第一容器能够执行运行时环境的第一实例;执行第二容器,该第二容器能够执行运行时环境的第二实例,运行时环境的第一实例和运行时环境的第二实例被配置成联合呈现用户界面,车辆的操作者通过该用户界面控制车辆的功能性;其中,运行时环境的第一实例被配置成:检测与主计算设备通信的支持计算设备;并且响应于检测到支持计算设备,将第二容器转移到支持计算设备;和支持计算设备,其被配置成:从主计算设备接收支持运行时环境的第二实例的执行的第二容器;并执行第二容器以能够执行运行时环境的第二实例,其中,运行时环境的第二实例被配置成与由主计算设备执行的运行时环境的第一实例对接,以联合呈现用户界面:车辆的操作者通过该用户界面控制车辆的功能性。
一个或多个示例的细节在附图和以下描述中阐述。根据说明书和附图以及根据权利要求书,本公开的其他特征、目的和优点将是显而易见的。
附图说明
图1是图示示例计算系统的框图,该示例计算系统被配置成提供根据本公开中描述的技术的各个方面的用于车辆的可扩展计算架构。
图2是图示在执行本公开中描述的可扩展硬件架构技术的各个方面时的车载主机的示例操作的框图。
图3是图示包括计算系统的车辆的示例的示意图,该计算系统被配置成根据本公开中描述的可扩展计算架构技术的各个方面进行操作。
图4是图示在执行本公开中描述的可扩展计算架构技术的各个方面时的计算系统的示例操作的流程图。
具体实施方式
图1是图示示例计算系统的框图,该示例计算系统被配置成提供根据本公开中描述的技术的各个方面的用于车辆的可扩展计算架构。如在图1的示例中所示,计算系统100包括主计算设备102和支持计算设备202。尽管关于车辆进行了描述,但是计算系统100可以在不同的场境中使用,包括独立的计算系统(包括膝上型计算机、台式计算机、工作站等)、游戏系统、蜂窝电话(包括所谓的“智能电话”)、媒体系统(包括流媒体系统)、音频/视频(A/V)接收器、电视(包括所谓的“智能电视”)、智能扬声器、智能手表、恒温器(包括所谓的“智能恒温器”)、智能眼镜或任何其他计算系统。
在任何情况下,主计算设备102都是车辆计算设备的示例,诸如车载主机或其他车辆计算系统(诸如电子控制单元-ECU)。图1仅图示主计算设备102的一个特定示例,并且主计算设备102的许多其他示例可以在其他实例中使用,并且可以包括示例计算设备102中包括的组件的子集,或者可以包括图1中未示出的附加组件。
如在图1的示例中所示,主计算设备102包括存在敏感显示器112、一个或多个处理器140、一个或多个通信单元142、一个或多个输入组件144、一个或多个输出组件146以及一个或多个存储设备148。主计算设备102的存储设备148包括部分由硬件抽象层126(“HAL126”)、运行时环境128(“RTE 128”)、系统和单用户服务(SSUS)模块130(“SSUS130”)、系统用户界面(SUS)模块132(“SUS132”)、汽车服务(CS)模块134(“CS134”)和多用户服务空间(MUSS)模块136(“MUSS136”)形成的软件分层。
通信通道150可以互连组件112、140、142、146和/或148中的每一个,以进行组件间通信(物理地、通信地和/或可操作地),并且从而允许组件112、140、142、146以及148进行相互通信。在一些示例中,通信通道150可以包括系统总线、网络连接、一个或多个进程间通信数据结构或用于传达数据(也称为信息)的任何其他组件。尽管示出为包括组件112、140、142、146和148,但是主计算设备102可以包括其他组件或比所示的那些组件更少的组件,其中这样的组件可以包括在诸如远程信息处理控制单元(TCU)的其他控制单元中。
计算设备100的一个或多个通信单元142可以通过传送和/或接收数据来与外部设备通信。例如,主计算设备102可以使用一个或多个通信单元142来在诸如蜂窝无线电网络的无线电网络上传送和/或接收无线电信号。在一些示例中,通信单元142可以在诸如全球定位系统(GPS)网络的卫星网络上传送和/或接收卫星信号。通信单元142的示例包括网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、GPS接收器或可以发送和/或接收信息的任何其他类型的设备。通信单元142的其他示例可以包括在移动设备中以及通用串行总线(USB)控制器等等中发现的短无线电波(例如,NFC、蓝牙(包括BLE))、GPS、3G、4G、5G和WIFI无线电。
主计算设备102的一个或多个输入组件144可以接收输入。输入的示例是触觉、音频、动能和光学输入,仅举几个例子。在一个示例中,主计算设备102的输入组件144包括鼠标、键盘、触摸板、语音应答系统、摄像机、按钮、滚轮、拨盘、控制板、麦克风或用于检测来自人或机器的输入的任何其他类型的设备。输入组件144可以包括相机。在一些示例中,输入组件144可以是存在敏感输入组件,其可以包括与存在敏感显示器112分离的存在敏感屏幕、触敏屏幕等。
主计算设备102的一个或多个输出组件146可以生成输出。输出的示例是触觉、音频和视频输出。在一些示例中,计算设备100的输出组件146包括存在敏感屏幕(可能与存在敏感显示器112分离)、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、有机发光二极管(OLED)或用于向人或机器生成触觉、音频和/或视觉输出的任何其他类型的设备。
在一些示例中,主计算设备102的存在敏感显示器112可以包括输入组件144和/或输出组件146的功能性。在图1的示例中,存在敏感显示器112可以包括存在敏感输入(PSI)组件104(“PSI组件104”),诸如存在敏感屏幕或触敏屏幕。在一些示例中,存在敏感输入组件104可以在存在敏感输入组件处和/或附近检测对象。作为一个示例范围,存在敏感输入组件504可以检测在存在敏感输入组件104的两英寸或更短范围内的对象,诸如手指或手写笔。存在敏感输入组件104可以确定在其处检测到对象的存在敏感输入组件的位置(例如,(x,y)坐标)。在另一示例范围中,存在敏感输入组件104可以检测到距离存在敏感输入组件104两英寸或更短的对象,并且其他范围也是可能的。存在敏感输入组件104可以使用电容、感应和/或光学识别技术来确定由用户的手指选择的存在敏感输入组件104的位置。
在一些示例中,存在敏感显示器112还可以使用如关于输出组件146所述的触觉、音频或视频刺激向用户提供输出。例如,存在敏感显示器112可以包括显示组件103,其显示图形用户界面。显示组件103可以是提供视觉输出的任何类型的输出组件,诸如关于输出组件146所描述的。虽然被图示为主要计算设备102的集成组件,但是在一些示例中,存在敏感显示器112可以是外部组件,其与主计算设备102的其他组件共享数据或信息路径以用于传送和/或接收输入和输出。例如,存在敏感显示器512可以是位于主计算设备102的外部包装内并物理连接到主计算设备102的外部包装(例如,安装在车辆的仪表板中的车载屏幕)的主计算设备102的内置组件。在另一个示例中,存在敏感显示器112可以是主计算设备102的外部组件,其位于主计算设备102的包装的外部并且与其物理地分离(例如,监视器、投影仪等,其与车辆的电子控制单元共享有线和/或无线数据路径)。在一些示例中,当存在敏感显示器112位于主计算设备102的包装之外并且与主计算设备102的包装物理分离时,存在敏感显示器112可以由两个单独的组件实现:用于接收输入的存在敏感输入组件104和用于提供输出的显示组件103。
主计算设备102内的一个或多个存储设备148可以存储在主计算设备102的操作期间进行处理的信息(例如,计算设备102可以存储在主计算设备102的执行期间由模块126-136访问的数据)。在一些示例中,存储设备148是临时存储器,这意味着存储设备148的主要目的不是长期存储。主计算设备102上的存储设备148可以作为易失性存储器被配置用于信息的短期存储,并且因此如果断电则不保留(retain)所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。
在一些示例中,存储设备148还包括一个或多个计算机可读存储介质。在一些示例中,存储设备148包括一个或多个非暂时性计算机可读存储介质。存储设备148可以被配置成存储比通常由易失性存储器存储的信息更多的信息量。存储设备148可以作为非易失性存储空间进一步被配置用于信息的长期存储,并在通电/断电周期之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、闪存或电可编程存储器(EPROM)或电可擦可编程存储器(EEPROM)的形式。存储设备148可以存储与模块126-136相关联的程序指令和/或信息(例如,数据)。存储设备148可以包括被配置成存储与模块126-136相关联的数据或其他信息的存储器。
一个或多个处理器140可以实现功能和/或执行与主计算设备102相关联的指令。处理器140的示例包括应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器以及配置成起处理器、处理单元或处理设备的作用的任何其他硬件。模块126-136可以由处理器140操作(或换句话说,执行)以执行主计算设备102的各种动作、操作或功能。也就是说,模块126-136可以形成可执行字节码,当执行该字节码时,该字节码使处理器140根据本文所述的技术的各个方面执行特定操作(并且从而使主计算设备102成为执行该操作的专用计算机)。例如,主计算设备102的处理器140可以检索并执行由存储设备148存储的指令,该指令使处理器140执行本文所述的归因于模块126-136的操作。当由处理器140执行指令时,该指令可以使主计算设备102将信息存储在存储设备148内。
支持计算设备202可以包括类似于主计算设备102的组件。如图1的示例中进一步所示,支持计算设备202可以包括一个或多个处理器240、一个或多个通信单元242、一个或多个输入组件244、一个或多个输出组件246以及一个或多个存储设备284。除了支持计算设备202可能不包括类似于存在敏感显示器112的存在敏感显示器或任何其他视觉、听觉、或者其它输出设备或者接口之外,组件240-284中的每一个可以与上面所更详细讨论的相应组件140-148相似,尽管在本质上不相似。
支持计算设备202还包括互连模块240-284的通信总线250。通信总线250可以与以上更详细讨论的通信总线150相似,尽管不实质相似。
此外,存储设备284可以存储模块226-236,其可以与相应模块126-136类似,尽管不实质相似。即,存储设备284可以存储HAL 226、OS228、SSUS230、SUI 232、CS234和MUSS236,它们中的每一个如上指示地起作用以卸荷相应模块126-136的操作或与相应模块126-136协同行动以执行在下面更详细地描述的技术的各个方面。
如上所述,计算系统100可以被集成或以其他方式包括在车辆内。车辆可能包括下述中的一种或多种:自行车、三轮车、独轮车、汽车、农用设备(诸如拖拉机、联合收割机等)、建筑设备(自卸车、起重机等)、军用车辆或设备(坦克、武器等)、卡车、半挂牵引车(或换句话说,半挂车)、航空设备(诸如飞机)、航海设备(诸如船、运输工具等)或其他任何类型的车辆。
车辆的可靠性增加到车辆的平均寿命达到或接近十年以上的服务年限的程度。随着车辆在服务年限期间的老化,包括车载主机、电子控制单元(ECU)等在内的计算系统(诸如计算系统10)在技术支持、维护(和其他支持)和支持新功能方面可能会逐渐变得过时,进入使用寿命终止。此外,包括主计算设备102的车载主机和其他计算系统越来越多地无缝集成到车辆的仪表板和其他组件中,使得由于独特的形状因数、包括大型且可能昂贵的显示器等而导致难以更换车载主机。
尽管可以对车载主机进行升级,但是这种更换车载主机(和其他计算系统)的升级通常是昂贵的(因为更换整个车载主机的成本可能需要更换屏幕和其他(相对)昂贵的组件,尽管不是必需的,但是被要求(因为车载主机通常会将显示器和其他昂贵的组件集成到单个壳体或可更换单元中),并且是困难的(因为此类车载主机无缝地集成到每个车辆中并且特定于车辆的品牌和型号,潜在地限制更换车载主机的可用性,并进一步可能抬高成本)。这样,车辆的操作者可以以相当大的花费购买全新的车辆,以努力获得对诸如计算机系统的较新技术的访问,该计算系统包括车载主机和其他信息娱乐及其他组件。
用于获取更新的计算系统的迁移路径可能会给想要访问较新技术(例如,一个新车载主机,其提供由升级的OS、应用等提供的特征方面的扩展功能性)的操作者带来相当大的费用(包括购买新车辆或较新的车辆的初期支出,并且在用于更换车载主机的升级费用方面)。迁移到较新技术的费用可能会呈现采用较新技术的障碍,减慢操作者对各种特征的领会,这些特征可能包括安全特征、保护特征、数据隐私特征等。
根据本公开中描述的技术的各个方面,计算系统100可以实现用于车辆的可扩展计算架构。不是更换车辆的主计算单元102(其可以表示所谓的“车载主机”的一个示例并且因此被称为“车载主机102”)或其他计算系统,而是该技术可以使车载主机102或者其它计算系统能够与支持计算系统202对接,其可通信耦合到车载主机102,其中车载主机102或其他计算设备可以将应用的执行(以及其他运行时环境级别的操作,而不仅是应用空间的执行)卸荷或以其它方式转移到支持计算设备202。
车载主机102或其他计算设备可以检测支持设备202的通信耦合,并且响应于检测到支持计算设备202的通信耦合,将包括运行时环境228的分区的容器238转移到支持计算设备202。尽管被描述为将容器238转移到支持计算设备202,但是车载主机102可以仅转移支持计算设备202已经被检测到并且应开始执行预安装容器(类似于容器238)以便执行OS的预安装分区的指示,如果与运行时环境228本质上不相似,则其可以相似。因此,容器238的转移应理解为指代从车载主机102到支持计算设备202的实际容器本身的转移或预安装容器的执行的转移。
无论如何,然后支持计算设备202可以执行RTE 228的分区,以便同步RTE 128和228的操作,并且从而提供应用可以在其中执行的用户空间(同时还支持内核空间的执行,或换句话说,运行时环境空间,作为分布式运行时环境)。支持计算设备202可以是可更换的或以其他方式可升级的,以允许车载主机102可扩展地执行RTE 128和228,其中支持计算设备202可以被升级以促进新特征的适应、支持(在例如终身服务的终止,诸如技术支持-包括解决安全和其他问题的软件补丁等方面)和维护(在例如硬件升级-诸如处理性能、内存大小等方面)。
添加支持计算设备202可以允许对较便宜的主计算单元102(这又是指代“车载主机”或其他计算设备的另一种方式)进行升级(因为支持计算设备202并非无缝集成到车辆中,而是仅通信耦合到车载主机102,从而减轻与无缝集成相关联的费用,诸如形状因数、附加组件-诸如显示器、全球定位系统(GPS)等)。另外,添加支持计算设备202的支持可以能够对主计算设备102进行升级,而不必单独更换主计算设备102,从而允许对主计算设备102进行升级而不必更换主计算设备102。
在这方面,技术的各个方面可以提供容器软件架构,以潜在地提供一致的用户体验的方式确保主计算设备102与支持计算设备202之间的同步,即使主计算设备102和支持计算设备202可以执行运行时环境的不同版本。这样,该技术可以改善主计算设备102本身的操作(因为通过支持计算设备202来促进升级可以延长车载主机102本身的寿命,减少升级成本并且作为向支持计算设备202的卸荷处理而促进改进的功能性可能会导致处理、存储和//带宽被改进),同时贯穿对支持计算设备202的升级潜在地维护一致的用户体验。
在操作中,主计算设备102最初可以执行第一容器138,该第一容器138能够执行运行时环境的第一实例(例如,RTE 128)。如上所述,主计算设备102可以包括上述软件分层。这样,HAL 126可以作为RTE 128内核之间的内核软件垫片(shim)执行,以提供RTE 128与车辆的底层硬件(为便于图示,未示出)之间的无缝交互。车辆的硬件组件可以包括GPS系统、自动化系统(诸如自动驾驶系统和/或动态巡航控制系统)、加热、通风和空调(HVAC)系统、车窗系统(用于控制车窗的操作)、室内照明系统(用于控制各种室内灯的操作)、室外照明系统(用于控制各种室内灯的操作)、安全系统(包括例如自动制动系统–ABS、车道辅助系统、基于注意的安全系统等)、加热座椅系统、冷却座椅系统或车辆中存在的任何其他系统。
这样,RTE 128可以在HAL 126中执行,其中HAL 126可以拦截RTE 128发出的命令或其他输出信号,并将RTE特定命令转化为底层车辆硬件支持的车辆特定命令,同时还将车辆特定数据转化成RTE 128支持的RTE特定数据。OS特定命令和车辆特定数据的转化可能对RTE 128透明发生,从而允许将HAL 126与RTE 128分开开发,并且从而有助于采用通用RTE128与为个别车辆定制的垫片(例如,HAL 126)(在原始设备制造商–OEM–硬件和/或组件方面,其品牌和型号可能会有变化)。
RTE 128可以在上面所提及的内核空间中执行,以为系统级应用和用户应用提供执行环境。在图1的示例中,SSUS130、SUI 132和CS134可以分别表示在RTE 128提供的执行环境中执行的系统级应用。RTE 128可以授予每个SSUS130、SUI 132和CS134系统级特权,其允许增加对底层车辆硬件的访问,同时RTE 128向在MUSS136内执行的应用授予用户特定特权,该特权比对SSUS130,SUI 132和CS 134中的每一个授予的系统级特权更加具有限制性。与用户特定特权相比,系统级特权可以允许增加对车辆硬件组件的访问(在访问权限或优先级方面)。作为示例,SSUS130、SUI 132和CS134可以访问车辆的一个或多个硬件系统或组件以控制硬件系统或组件的操作,而MUSS136只能访问由车辆的硬件系统或组件提供的数据(诸如GPS系统输出的GPS坐标、HVAC系统输出的环境温度等)。
SSUS130可以表示被配置成执行单用户服务(例如,跨所有用户共有的服务,并且因此也可以称为“公共服务”)和系统服务(例如,第一方应用,其跨所有用户安装并呈现一个或多个系统服务以供主计算设备102的所有用户使用)。SUI 132可以表示被配置成呈现系统级用户界面的模块,车辆的操作者可以与该系统级用户界面进行交互以控制车辆的各种操作以及启动或以其他方式发起应用的执行(由MUSS 136表示)。CS134可以表示被配置成与各种汽车服务(包括GPS系统、HVAC系统、座椅系统、车窗系统或本文其他地方更详尽地列出的任何其他其他系统)对接(例如,API)的模块。
MUSS136可以表示一个或多个模块,其提供包括特定第三方应用、用户特定汽车服务(与个别用户相关联)以及其他用户特定数据或信息的个别用户简档。MUSS136可以在由底层RTE 128维护的应用空间中执行。就这一点而言,MUSS136可以表示在应用空间中执行的模块,以通过可以下载和/或安装来扩展主计算设备102的性能的应用来提供扩展的软件性能。
主计算设备102还可以最初执行(尽管为了便于图示在图1中未示出)第二容器238,其能够执行运行时环境的第二实例(例如,RTE 228),其中RTE 128和RTE 228可以被配置成联合呈现用户界面(例如,如由SUI 132和232所提供的),车辆的操作者通过该用户界面来控制车辆的功能性。主计算设备102可以将容器138执行为主容器或主机容器138,并且将容器238执行为辅客户端容器238,其中客户端容器238操作以支持主机容器138的执行。这样,客户端容器238可以代表主机容器138进行操作,并且可以不独立于主机容器138执行。尽管被描述为代表主机容器138操作,但是客户端容器238可以独立于主机容器138执行,其中主机容器138在此示例中可以表示将数据传递到客户端容器238的垫片。
主计算设备102可以(经由如上所述的处理器140)执行容器138,该容器138可以调用RTE 128(和底层HAL 126)的执行。RTE 128可以经由与输入组件144和/或通信单元142的交互来检测与主计算设备102通信的支持计算设备202。也就是说,支持计算设备202在连接到主计算设备102之后可以被通电(当经由通信接口供电时)并执行轻量级的操作系统或(不同于RTE 228)或其他低级软件(诸如固件等),其经由输出组件246和/或通信单元242与主计算设备102对接。然后,RTE 128可以检测与支持计算设备202的通信耦合,该通信耦合可能涉及协议或其他应用程序接口(API)调用,以在主计算设备102和支持计算设备202之间建立通信。
在图1的示例中,主计算设备102与支持计算设备202之间的连接被示为连接160。连接160可以包括无线连接、有线连接(经由物理线建立连接,诸如任何版本–1.0、2.0、3.0等的USB连接)、或有线(例如,用于电源)和无线连接的组合。
响应于检测到支持计算设备202,RTE 128可以将容器238转移到支持计算设备202。RTE 128可以经由输出组件146和/或通信单元142将容器238转移到支持计算设备202。支持计算设备202可以接收容器238,并执行容器238以建立类似于上述关于主计算设备102的软件分层,从而促进HAL 226、RTE 228、SSUS230、SUI 232、CS234和MUSS236的执行。
实际上,主计算设备102可以在分段或分区中执行整体RTE,其中RTE的第一分区(例如,RTE 128)可以与RTE的第二分区(例如,RTE 228)结合执行以支持其中执行SSUS130、132;SUI 132、232;CS134、234和MUSS136和236的系统和应用空间。主计算系统102可以执行容器138和238,直到检测到支持计算设备202通信地耦合到主计算设备102为止。
在检测到与支持计算设备202的通信耦合之前,主计算设备102可以以与关于单个容器(例如,容器138)的执行在下面描述的类似的方式(如果不是本质上相似)执行整个RTE的两个分区(例如,容器138和238)。换句话说,当执行容器138和容器238两者时,主计算设备102可以继续在容器138和容器236之间中继和同步数据,执行容器238以支持在其中执行MUSS136和236的应用空间。
将容器238转移到支持计算设备202可以以这种方式将容器238的执行卸荷到支持计算设备202,这可以允许主计算设备102减少处理周期、内存和/或带宽消耗。这样,相对于用作客户端RTE的RTE 228,RTE 128可以作为主机RTE操作。RTE 128可以将用户输入和其他数据重定向到RTE 228,该RTE 228可以处理用户输入或其他数据并与RTE 128协调以(例如,经由存在敏感显示器112)呈现任何结果输出。
例如,HAL 226可以与HAL 126对接以中继来自RTE 228、SSUS 230和MUSS236的命令或其他数据,其可以控制或以其他方式更新与车辆硬件组件相关联的各种设置。同样,HAL 126可以将来自车辆硬件组件的命令或其他数据中继到RTE 228、SSUS230和MUSS236。此外,RTE 128和RTE 228可以交换系统设置、用户设置以及其他数据或信息以同步各种类型的数据,以便联合执行RTE的单个实例。在一些示例中,RTE 128可以具有与RTE 228的版本不同的特定版本,其中RTE 128可以呈现与RTE 228进行对接的通用API,该通用API与RTE228使用以与RTE 128进行对接的API相同或向后兼容(尽管具有已升级的不同的可执行代码或比RTE 128的可执行代码相比更密集的处理器、内存和/或带宽)。此外,CS234和CS134可以在彼此之间中继命令或其他数据,以在主计算设备102和支持计算设备202之间同步对汽车服务的支持。
在这方面,RTE 128可以与由支持计算设备202执行的RTE 228对接,以联合呈现用户界面,车辆的操作者通过该用户界面来控制车辆的功能性。RTE 128可以同步或以其他方式维护数据结构,该数据结构使RTE 228能够获得与RTE 128所维护的状态和其他信息数据一致的状态和其他信息数据,这既涉及当前操作者(或者换句话说,计算系统100的用户),也涉及其中计算系统100被集成的车辆。这样,RTE 128和228可以表示能够或以其他方式配置成跨一个或多个设备(例如,主计算设备102和/或支持计算设备202)执行的分布式运行时环境的实例,以便联合呈现用户界面,车辆操作者和车辆本身通过该用户界面进行对接。
以这种方式,该技术的各个方面可以提供一种容器软件架构,以潜在地提供一致的用户体验的方式确保主计算设备102与支持计算设备202之间的同步,尽管主计算设备102和支持计算设备202可以执行运行时环境的不同版本(如下文更详细描述的)。这样,该技术可以改进主计算设备102本身的操作(因为通过支持计算设备202来促进升级可以延长车载主机102本身的寿命,减少升级成本并由于把处理卸荷至支持计算设备202可能会导致改进的处理、内存和//带宽而促进改进的功能性),同时潜在地维护贯穿对支持计算设备202的升级一致的用户提议。
图2是图示在执行本公开中描述的可扩展硬件架构技术的各个方面时的车载主机的示例操作的框图。如在图2的示例中所示,车载主机302被配置成执行OEM容器338和卡盒容器(cartridge container)438。车载主机302可以表示图1的示例中所示的主计算设备102的一个示例,尽管OEM容器338可以表示图1的示例中所示的容器138的一个示例,并且卡盒容器可以表示图1的示例中所示的容器238的一个示例。
如此,OEM容器338可以包括RTE 128、SSUS130、SUI 132、CS134和MUSS136,它们可以执行以提供上述功能性。另外,卡盒容器438可以包括RTE 228、SSUS230、SUI 232、CS234和MUSS236,它们可以执行以提供上述功能性。车载主机300可以执行HAL 336的单个实例,其类似于HAL 126和HAL 226,不同之处在于,其被配置成同时支持OEM容器338和卡盒容器438。
车载主机302可以将容器338和438作为个别容器执行,运行时环境的不同分区(例如,RTE 128和RTE 238)在其中执行以联合呈现用户界面,操作者与该用户界面交互以控制车辆的硬件组件。尽管HAL 336可能不同步数据或其他信息(假设存在HAL 336的单个实例),但是RTE 128和RTE 228以及CS134和CS234可以彼此同步数据(包括状态数据,诸如系统设置和用户设置)。即,RTE 128可以在RTE 228和RTE 128之间同步用户设置、系统设置或一些其他设置,以维持是否单独执行RTE 128或RTE 228(例如,不执行另一个RTE)的一致的用户体验。
另外,RTE 128可以将应用的执行重定向到卡盒容器438,向RTE 228发出重定向命令。响应于该重定向命令,RTE 228可以调用该应用,从而维持应用在其中执行的应用空间,并且执行该应用。
如上所述,RTE 128可以检测与卡盒402的通信耦合。也就是说,RTE 128可检测车载主机302与卡盒402之间的通信通道160的形成(这是指代“连接160”的另一种方式),以前其是车载主机300内部的虚拟连接360。换句话说,当在车载主机302内部进行内部同步时,RTE 128可以在OEM容器338和卡盒容器438之间建立虚拟连接360,其中虚拟连接360可以作为类似于连接160的外部连接出现在RTE 128和RTE 228中的每一个面前。
响应于检测到连接160的形成,RTE 128可以发起许多不同的操作以将卡盒容器438转移到卡盒402。首先,RTE 128可以复制HAL 336以获得HAL 226,RTE 128可以将其提供给卡盒402。在复制之后,HAL 336然后可以重新初始化为HAL 126,它形成分布式HAL的第一分区。RTE 128可以将HAL 226转移到卡盒402,其中HAL 226形成分布式HAL的第二分区。卡盒402可以执行HAL 226以与HAL 126通信,并使卡盒402能够与车辆的硬件组件对接(例如,可能通过将命令和其他数据转移到HAL 126,HAL 126将命令和其他数据中继到HAL 126的车辆的硬件组件)
RTE 128接下来可以发起将卡盒容器438转移到卡盒402的操作,从而使卡盒402能够执行软件分层。卡盒402可以执行RTE 228,然后执行SSUS230、SUI 232、CS234和MUSS236。执行RTE 228、SSUS 230、SUI 232、CS234和MUSS236可能导致交换命令和其他数据,其同步RTE 128、228;SSUS130、230;SUI 132、232;CS134、234和MUSS136、236中的每一个的操作。这样,RTE 228、SSUS230、SUI 232、CS234和MUSS236中的一个或多个可以接收用户设置、系统设置或其他数据,通过其来同步跨车载主机302和卡盒402的分布式执行环境的操作。
因为车载主机302可以包括集成显示器(例如,存在敏感显示器112),而卡盒402可以不包括任何形式的集成显示器(例如,以减少与卡盒402相关联的成本),所以RTE 228可以与RTE 128对接以经由车载主机302的集成显示器呈现用户界面。MUSS236执行的应用可以将与图形用户界面或其他类型的界面相关的函数调用和内核级函数调用传递给RTE228,该RTE 228可以与RTE 128进行对接以联合处理命令。
RTE 228可以转化或以其他方式处理函数调用以符合用于与RTE 128通信的API。也就是说,RTE 228可以符合与RTE 128不同的RTE版本,并且函数调用可以符合RTE 228符合的RTE版本。这样,RTE 228可以转化函数调用以符合RTE 128所符合的RTE的版本,以维持与RTE 128所符合的RTE的版本的向后兼容性。在这方面,RTE 228可以表示垫片或其他软件构造,通过该垫片或其他软件构造在不同版本的软件(诸如运行时环境)之间提供向后兼容性。
图3是图示包括计算系统的车辆的示例的示意图,该计算系统被配置成根据本公开中描述的可扩展计算架构技术的各个方面进行操作。如在图3的示例中所示,车辆500的内部可以包括计算系统,其中车载主机302(例如,经由USB连接160)通信地耦合到卡盒402,该卡盒402可以驻留在车辆500的手套箱502中。卡盒402和USB连接160以虚线示出以指示卡盒402和USB连接160被安装在仪表板(用于USB连接160)和手套箱盖(用于卡盒402)的后面,并且因此当被车辆500的操作者查看时不可见。尽管未示出,但是卡盒402可以包括另一个USB端口(或其他接口端口),通过所述另一个USB端口与诸如智能电话、膝上型计算机、台式计算机、工作站、游戏系统等的又一个计算设备对接。
尽管示出为安装在手套箱502中,但是卡盒402可以安装在车辆500中的可以向卡盒402提供电力的任何地方。这样,卡盒402可以安装在中央仪表板控制台位置504A中,其安装在驾驶员仪表板下方位置504B、驾驶员门位置504C、驾驶员座椅位置504D、中央扶手控制台位置504E、乘客座椅下方位置504F和/或乘客车门位置504G,以及诸如后行李箱、前行李箱、后排乘客座椅下方、后排乘客车门等的电力可用的任何其它位置(但是未在图3的示例中未示出)。
图4是图示在执行本公开中描述的可扩展计算架构技术的各个方面时的计算系统的示例操作的流程图。如上面更详细地描述的,主计算设备102可以最初执行第一容器138和第二容器238两者,以便执行RTE 128的第一实例和RTE 228的第二实例(600,602)。为了执行RTE 128和228,主计算设备102可以执行分布式HAL,诸如HAL326(如图3的示例中所示)。分布式HAL可以使RTE 128、228能够与底层车辆硬件组件对接,从而提供诸如API的接口,RTE 128和228可以与其对接以提供命令并从底层车辆硬件组件接收数据(例如,任何以上详细介绍的系统)。
RTE 128和/或228可以检测支持计算设备202的通信耦合(604)。RTE 128可以响应于检测到支持计算设备202的通信耦合(或者换句话说,响应于检测到支持计算设备202)而将第二容器238转移到支持计算设备202(606)。支持计算设备202可以接收第二容器238(608),并执行第二容器238。也就是说,支持计算设备202可以执行轻量级操作系统或最小化操作系统,通过该操作系统最初连接到主计算设备102(诸如引导装载程序或其他可能提供最小功能性以便于与主计算设备102进行对接但不促进用户或操作者交互或以其他方式呈现用户界面的其它低级操作系统-除了潜在的低级用户界面(诸如命令行界面)之外,用于进行调试、数据收集、故障排除等的目的)。
在任何情况下,支持计算设备202可以接收第二容器238,随后低级操作系统可以安装第二容器238并执行第二容器238,从而执行RTE 228(610)。在执行RTE 228时,RTE 128和RTE 228可以同步用户设置、系统设置以及其他数据或信息,从而联合呈现用户界面,车辆的操作者可以与之交互(612、614)。RTE 128可以(例如,经由存在敏感显示器112)接收发起应用的执行的指示,并且将该指示传送到支持计算设备202(616、618)。支持计算设备202可以接收指示520(620),其中RTE 228可以响应于接收到指示而发起执行所指示的应用(622)。RTE 128和RTE 228可以这种方式继续以呈现用户界面,在RTE 128和228之间同步用户设置、系统设置或其他状态数据,并且响应于指示来执行应用(612-622)。
以这种方式,本公开中描述的技术的各个方面可以能够实现以下条款。
条款1A.一种方法,包括:通过集成到车辆中的主计算设备执行第一容器,所述第一容器能够执行运行时环境的第一实例;由所述主计算设备执行第二容器,所述第二容器能够执行所述运行时环境的第二实例,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;其中,所述运行时环境的第一实例被配置成:检测与所述主计算设备通信的支持计算设备;响应于检测到所述支持计算设备,将所述第二容器转移到所述支持计算设备;以及与由所述支持计算设备执行的所述运行时环境的第二实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性。
条款2A.根据条款1A所述的方法,其中,所述运行时环境的第一实例在所述运行时环境的第二实例与所述运行时环境的第一实例之间同步用户设置。
条款3A.根据条款1A和2A的任意组合所述的方法,其中,所述运行时环境的第一实例通过所述运行时环境的第二实例来发起应用的执行。
条款4A.根据条款1A-3A的任意组合所述的方法,其中,所述运行时环境的第一实例包括所述运行时环境的第一分区,其中,所述运行时环境的第二实例包括所述运行时环境的第二分区,其中所述运行时环境的第一分区被配置成将应用的执行重定向到所述运行时环境的第二分区,并且其中所述运行时环境的第二分区被配置成维护所述应用在其中执行的用户空间。
条款5A.根据条款1A-4A的任何组合所述的方法,其中,所述运行时环境的第一实例被配置成在所述运行时环境的第一实例与所述运行时环境的第二实例之间同步系统设置。
条款6A.根据条款1A-5A的任何组合的方法,进一步包括由所述主计算设备执行使所述运行时环境的第一实例和所述运行时环境的第二实例能够与所述车辆的硬件组件对接的分布式硬件抽象层的第一实例。
条款7A.根据条款6A所述的方法,进一步包括:响应于检测到所述支持计算设备,将所述分布式硬件抽象层的第二实例转移到所述支持计算设备,以使所述支持计算设备能够执行使所述支持计算设备能够与所述车辆的硬件组件对接的所述硬件抽象层的第二实例。
条款8A.根据条款1A-7A的任何组合所述的方法,其中所述主计算设备通信地耦合到所述支持计算设备。
条款9A.根据条款8A所述的方法,其中所述主计算设备被无线耦合到所述支持计算设备。
条款10A.根据条款8A所述的方法,其中所述主计算设备经由电线耦合到所述支持计算设备。
条款11A.根据条款10A的方法,其中所述主计算设备根据通用系统总线(USB)标准经由所述电线耦合到所述支持计算设备。
条款12A.根据条款1A-11A的任何组合所述的方法,其中,所述主计算设备包括车载主机,所述车载主机包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款13A.根据条款1A-12A的任何组合所述的方法,其中,所述支持计算设备包括卡盒,所述卡盒不包括向所述车辆操作者呈现所述用户界面的集成显示器。
条款14A.根据条款1A-13A的任何组合所述的方法,其中,所述运行时环境的第一实例包括具有第一版本的所述运行时环境的第一实例,其中,所述运行时环境的第二实例包括具有第二版本的所述运行时环境的第二实例,并且其中所述第一版本不同于所述第二版本。
条款15A.一种集成到车辆中的主计算设备,所述主计算设备包括:存储器,所述存储器被配置成存储运行时环境的第一实例和所述运行时环境的第二实例;一个或多个处理器,所述一个或者多个处理器被配置成:执行第一容器,所述第一容器能够执行所述运行时环境的第一实例;执行第二容器,所述第二容器能够执行所述运行时环境的第二实例,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;其中,所述运行时环境的第一实例被配置成:检测与所述主计算设备通信的支持计算设备;响应于检测到所述支持计算设备,将所述第二容器转移到所述支持计算设备;并且与由所述支持计算设备执行的所述运行时环境的所述第二实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性。
条款16A.根据条款15A所述的主计算设备,其中,所述运行时环境的第一实例在所述运行时环境的第二实例与所述运行时环境的第一实例之间同步用户设置。
条款17A.根据条款15A和16A的任何组合所述的主计算设备,其中,所述运行时环境的第一实例通过所述运行时环境的第二实例来发起应用的执行。
条款18A.根据条款15A-17A的任何组合所述的主计算设备,其中所述运行时环境的第一实例包括所述运行时环境的第一分区,其中所述运行时环境的第二实例包括所述运行时环境的第二分区,其中所述运行时环境的第一分区被配置成将应用的执行重定向到所述运行时环境的第二分区,并且其中所述运行时环境的第二分区被配置成维护所述应用在其中执行的用户空间。
条款19A.根据条款15A-18A的任何组合所述的主计算设备,其中,所述运行时环境的第一实例被配置成在所述运行时环境的第一实例与所述运行时环境的第二实例之间同步系统设置。
条款20A.根据条款15A-19A的任何组合所述的主计算设备,其中,所述一个或多个处理器进一步被配置成执行使所述运行时环境的第一实例和所述运行时环境的第二实例能够与所述车辆的硬件组件对接的分布式硬件抽象层的第一实例。
条款21A.根据条款20A所述的主计算设备,其中,所述一个或多个处理器进一步被配置成,响应于检测到所述支持计算设备而将所述分布式硬件抽象层的第二实例转移到所述支持计算设备,以使所述支持计算设备能够执行使所述支持计算设备能够与所述车辆的硬件组件对接的所述硬件抽象层的第二实例。
条款22A.根据条款15A-21A的任何组合所述的主计算设备,其中,所述主计算设备通信地耦合到所述支持计算设备。
条款23A.根据条款22A所述的主计算设备,其中,所述主计算设备无线耦合到所述支持计算设备。
条款24A.根据条款22A所述的主计算设备,其中,所述主计算设备经由电线耦合到所述支持计算设备。
条款25A.根据条款24A所述的主计算设备,其中所述主计算设备根据通用系统总线(USB)标准经由所述电线耦合到所述支持计算设备。
条款26A.根据条款15A-25A的任何组合所述的主计算设备,其中,所述主计算设备包括车载主机,所述车载主机包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款27A.根据条款15A-26A的任何组合所述的主计算设备,其中,所述支持计算设备包括卡盒,所述卡盒不包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款28A.根据条款15A-27A的任何组合所述的主计算设备,其中所述运行时环境的第一实例包括具有第一版本的所述运行时环境的第一实例,其中所述运行时环境的第二实例包括具有第二版本的所述运行时环境的第二实例,并且其中所述第一版本不同于所述第二版本。
条款29A.一种非暂时性计算机可读存储介质,其上存储有指令,所述指令在被执行时,使主计算设备的一个或多个处理器:执行第一容器,所述第一容器能够执行运行时环境的第一实例;执行第二容器,所述第二容器能够执行所述运行时环境的第二实例,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;其中,所述运行时环境的第一实例被配置成:检测与所述主计算设备通信的支持计算设备;响应于检测到所述支持计算设备,将所述第二容器转移到所述支持计算设备;并且与由所述支持计算设备执行的所述运行时环境的第二实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性。
条款1B.一种方法,包括:从集成到支持其中运行时环境执行的第一容器的执行的车辆中的主计算设备并且由支持计算设备接收支持所述运行时环境的第二实例的执行的第二容器,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性,并且由所述支持计算设备执行所述第二容器以能够执行所述运行时环境的第二实例,其中,所述运行时环境的第二实例被配置成与由所述主计算设备执行的所述运行时环境的第一实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性。
条款2B.根据条款1B所述的方法,进一步包括从所述运行时环境的第一实例接收用户设置,以在所述运行时环境的第一实例和所述运行时环境的第二实例之间同步所述用户设置。
条款3B.根据条款1B和2B的任何组合所述的方法,进一步包括,从所述运行时环境的第一实例接收通过所述运行时环境的第二实例发起应用的执行的指示。
条款4B.根据条款1B-3B的任何组合所述的方法,其中所述运行时环境的第一实例包括所述运行时环境的第一分区,其中所述运行时环境的第二实例包括所述运行时环境的第二分区,并且其中所述运行时环境的第二分区被配置成,响应于来自所述运行时环境的第一分区的发起应用的执行的指示,维持所述应用在其中执行的用户空间。
条款5B.根据条款1B-4B的任何组合所述的方法,进一步包括,接收在所述运行时环境的第一实例与所述运行时环境的第二实例之间同步系统设置的所述系统设置。
条款6B.根据条款1B-5B的任何组合所述的方法,进一步包括由所述支持计算设备执行分布式硬件抽象层的第二实例,所述分布式硬件抽象层的第二实例使所述运行时环境的第一实例和所述运行时环境的第二实例能够与所述车辆的硬件组件对接。
条款7B.根据条款6B所述的方法,进一步包括:响应于检测到所述主计算设备,接收所述分布式硬件抽象层的第二实例;和执行所述硬件抽象层的第二实例以与所述硬件抽象层的第一实例进行通信,并使所述支持计算设备能够与所述车辆的硬件组件对接。
条款8B.根据条款1B-7B的任何组合所述的方法,其中,所述主计算设备通信地耦合到所述支持计算设备。
条款9B.根据条款8B所述的方法,其中所述主计算设备被无线地耦合到所述支持计算设备。
条款10B.根据条款8B所述的方法,其中所述主计算设备经由电线耦合到所述支持计算设备。
条款11B.根据条款10B所述的方法,其中,所述主计算设备经由物理通用系统总线(USB)连接耦合到所述支持计算设备。
条款12B.根据条款1B-11B的任何组合所述的方法,其中,所述主计算设备包括车载主机,所述车载主机包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款13B.根据条款1B-12B的任何组合所述的方法,其中,所述支持计算设备包括卡盒,所述卡盒不包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款14B.根据条款1B-13B的任何组合所述的方法,其中,所述运行时环境的第一实例包括具有第一版本的所述运行时环境的第一实例,其中,所述运行时环境的第二实例包括具有第二版本的所述运行时环境的第二实例,并且其中所述第一版本不同于所述第二版本。
条款15B.一种支持计算设备,包括:一个或多个处理器,所述一个或者多个处理器被配置成:从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆的主计算设备接收支持所述运行时环境的第二实例的执行的第二容器,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性,并执行所述第二容器以能够执行所述运行时环境的第二实例的执行,其中所述运行时环境的第二实例被配置成与由所述主计算设备执行的所述运行时环境的第一实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;以及存储器,所述存储器被配置成存储所述第二容器。
条款16B.根据条款15B所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成从所述运行时环境的第一实例接收用户设置,以在所述运行时环境的第一实例和所述运行时环境的第二实例之间同步所述用户设置。
条款17B.根据条款15B和16B的任意组合所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成从所述运行时环境的第一实例接收由所述运行时环境的第二实例发起应用的执行的指示。
条款18B.根据条款15B-17B的任何组合所述的支持计算设备,其中,所述运行时环境的第一实例包括所述运行时环境的第一分区,其中,所述运行时环境的第二实例包括所述运行时环境的第二分区,并且其中所述运行时环境的第二分区被配置成,响应于来自所述运行时环境的第一分区的发起应用的执行的指示,维持所述应用在其中执行的用户空间。
条款19B.根据条款15B-18B的任何组合所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成接收系统设置,所述系统设置在所述运行时环境的第一实例与所述运行时环境的第二实例之间同步所述系统设置。
条款20B.根据条款15B-19B的任何组合所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成执行分布式硬件抽象层的第二实例,所述分布式硬件抽象层的第二实例使所述运行时环境的第一实例和所述运行时环境的第二实例能够与所述车辆的硬件组件对接。
条款21B.根据条款20B所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成:响应于检测到所述主计算设备,接收所述分布式硬件抽象层的第二实例;执行所述硬件抽象层的第二实例以与所述硬件抽象层的第一实例通信,并使所述支持计算设备能够与所述车辆的硬件组件对接。
条款22B.根据条款15B-21B的任何组合所述的支持计算设备,其中,所述主计算设备通信地耦合到所述支持计算设备。
条款23B.根据条款22B所述的支持计算设备,其中,所述主计算设备无线耦合至所述支持计算设备。
条款24B.根据条款22B所述的支持计算设备,其中,所述主计算设备经由电线耦合到所述支持计算设备。
条款25B.根据条款24B所述的支持计算设备,其中,所述主计算设备经由物理通用系统总线(USB)连接被耦合到所述支持计算设备。
条款26B.根据条款15B-25B的任何组合所述的支持计算设备,其中所述主计算设备包括车载主机,所述车载主机包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款27B.根据条款15B-26B的任何组合所述的支持计算设备,其中,所述支持计算设备包括卡盒,所述卡盒不包括向所述车辆的操作者呈现所述用户界面的集成显示器。
条款28B.根据条款15B-27B的任何组合所述的支持计算设备,其中所述运行时环境的第一实例包括具有第一版本的运行时环境的第一实例,其中所述运行时环境的第二实例包括具有第二版本的所述运行时环境的第二实例,并且其中所述第一版本不同于所述第二版本。
条款29B.一种非暂时性计算机可读存储介质,其上存储有指令,所述指令在执行时,使支持计算设备的一个或多个处理器:从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆的主计算设备接收支持所述运行时环境的第二实例的执行的第二容器,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性,并执行所述第二容器以能够执行所述运行时环境的第二实例,其中所述运行时环境的第二实例被配置成与由所述主计算设备执行的所述运行时环境的第一实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;以及存储器,所述存储器被配置成存储所述第二容器。
条款1C.一种计算系统,包括:主计算设备,所述主计算设备被配置成:执行第一容器,所述第一容器能够执行运行时环境的第一实例;执行第二容器,所述第二容器能够执行所述运行时环境的第二实例,所述运行时环境的第一实例和所述运行时环境的第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制车辆的功能性;其中,所述运行时环境的第一实例被配置成:检测与所述主计算设备通信的支持计算设备;并且响应于检测到所述支持计算设备,将所述第二容器转移到所述支持计算设备;以及支持计算设备,被配置成:从所述主计算设备接收支持所述运行时环境的第二实例的执行的所述第二容器;并执行所述第二容器以能够执行所述运行时环境的第二实例,其中,所述运行时环境的第二实例被配置成与由所述主计算设备执行的所述运行时环境的第一实例对接以联合呈现所述用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性。
在一个或多个示例中,可以以硬件、软件、固件或其任意组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质在其上传送,并且可以由基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质之类的有形介质相对应的计算机可读存储介质,或者包括例如根据通信协议来促进将计算机程序从一个地方转移到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、闪存或任何其他可以用于以指令或数据结构的形式存储所需程序代码并且可以由计算机访问的其他介质。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源传送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或诸如红外,无线电和微波之类的无线技术。但是,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是针对非瞬态的有形存储介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光光学地复制数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。因此,如本文所使用的,术语“处理器”可以指代任何前述结构或适合于实现如本文所描述的技术的任何其他结构。另外,在一些方面,可以在专用硬件和/或软件模块内提供如本文所描述的功能性。而且,该技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置而执行所公开技术的装置的功能方面,但不一定需要由不同硬件单元来实现。而是,如上所述,各种单元可以组合在硬件单元中或由互操作的硬件单元的集合来提供,包括与合适的软件和/或固件结合的如上所述的一个或多个处理器。
已经描述了本公开的各种示例。这些和其他示例在所附权利要求的范围内。
Claims (20)
1.一种方法,包括:
从集成到支持其中运行时环境执行的第一容器的执行的车辆中的主计算设备并且由支持计算设备接收支持所述运行时环境的第二实例的执行的第二容器,所述运行时环境的所述第一实例和所述运行时环境的所述第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;并且
由所述支持计算设备执行所述第二容器以能够执行所述运行时环境的所述第二实例,其中,所述运行时环境的所述第二实例被配置成与由所述主计算设备执行的所述运行时环境的所述第一实例对接以联合呈现所述用户界面,所述车辆的所述操作者通过所述用户界面控制所述车辆的所述功能性。
2.根据权利要求1所述的方法,进一步包括从所述运行时环境的所述第一实例接收用户设置,以在所述运行时环境的所述第一实例和所述运行时环境的所述第二实例之间同步所述用户设置。
3.根据权利要求1所述的方法,进一步包括,从所述运行时环境的所述第一实例接收通过所述运行时环境的所述第二实例发起应用的执行的指示。
4.根据权利要求1-3中任一项所述的方法,其中,所述运行时环境的所述第一实例包括所述运行时环境的第一分区,其中,所述运行时环境的所述第二实例包括所述运行时环境的第二分区,并且其中,所述运行时环境的所述第二分区被配置成,响应于来自所述运行时环境的所述第一分区的发起应用的执行的指示,维持所述应用在其中执行的用户空间。
5.根据权利要求1-3中任一项所述的方法,进一步包括,接收在所述运行时环境的所述第一实例与所述运行时环境的所述第二实例之间同步系统设置的所述系统设置。
6.根据权利要求1-3中任一项所述的方法,进一步包括由所述支持计算设备执行分布式硬件抽象层的第二实例,所述分布式硬件抽象层的第二实例使所述运行时环境的所述第一实例和所述运行时环境的所述第二实例能够与所述车辆的硬件组件对接。
7.根据权利要求6所述的方法,进一步包括:响应于检测到所述主计算设备,接收所述分布式硬件抽象层的所述第二实例;和执行所述硬件抽象层的所述第二实例以与所述硬件抽象层的第一实例进行通信,并使所述支持计算设备能够与所述车辆的所述硬件组件对接。
8.根据权利要求1-3中任一项所述的方法,其中,所述主计算设备通信地耦合到所述支持计算设备。
9.根据权利要求1所述的方法,其中,所述主计算设备包括头部单元,所述头部单元包括集成显示器,通过所述集成显示器向所述车辆的所述操作者呈现所述用户界面。
10.根据权利要求1-3中任一项所述的方法,其中,所述支持计算设备包括卡盒,所述卡盒不包括向所述车辆的所述操作者呈现所述用户界面的集成显示器。
11.一种支持计算设备,包括一个或多个处理器,所述一个或者多个处理器被配置成:
从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆的主计算设备接收支持所述运行时环境的第二实例的执行的第二容器,所述运行时环境的所述第一实例和所述运行时环境的所述第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;并且
执行所述第二容器以能够执行所述运行时环境的所述第二实例的执行,其中,所述运行时环境的所述第二实例被配置成与由所述主计算设备执行的所述运行时环境的所述第一实例对接以联合呈现所述用户界面,所述车辆的所述操作者通过所述用户界面控制所述车辆的所述功能性;以及存储器,所述存储器被配置成存储所述第二容器。
12.根据权利要求11所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成从所述运行时环境的所述第一实例接收用户设置,以在所述运行时环境的所述第一实例和所述运行时环境的所述第二实例之间同步所述用户设置。
13.根据权利要求11所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成从所述运行时环境的所述第一实例接收由所述运行时环境的所述第二实例发起应用的执行的指示。
14.根据权利要求11-13中任一项所述的支持计算设备,其中,所述运行时环境的所述第一实例包括所述运行时环境的第一分区,其中,所述运行时环境的所述第二实例包括所述运行时环境的第二分区,并且其中,所述运行时环境的所述第二分区被配置成,响应于来自所述运行时环境的所述第一分区的发起应用的执行的指示,维持所述应用在其中执行的用户空间。
15.根据权利要求11-13中任一项所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成接收系统设置,所述系统设置在所述运行时环境的第一实例与所述运行时环境的第二实例之间同步所述系统设置。
16.根据权利要求11-13中任一项所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成执行分布式硬件抽象层的第二实例,所述分布式硬件抽象层的第二实例使所述运行时环境的所述第一实例和所述运行时环境的所述第二实例能够与所述车辆的硬件组件对接。
17.根据权利要求16所述的支持计算设备,其中,所述一个或多个处理器进一步被配置成:响应于检测到所述主计算设备,接收所述分布式硬件抽象层的所述第二实例;执行所述硬件抽象层的所述第二实例以与所述硬件抽象层的第一实例通信,并使所述支持计算设备能够与所述车辆的所述硬件组件对接。
18.根据权利要求11-13中任一项所述的支持计算设备,其中,所述主计算设备通信地耦合到所述支持计算设备。
19.根据权利要求11-13中任一项所述的支持计算设备,其中,所述支持计算设备包括卡盒,所述卡盒不包括向所述车辆的所述操作者呈现所述用户界面的集成显示器。
20.一种其上存储有指令的存储有指令的非暂时性计算机可读存储介质,所述指令在被执行时,使支持计算设备的一个或多个处理器以:
从集成到支持其中运行时环境的第一实例执行的第一容器的执行的车辆中的主计算设备接收支持所述运行时环境的第二实例的执行的第二容器,所述运行时环境的所述第一实例和所述运行时环境的所述第二实例被配置成联合呈现用户界面,所述车辆的操作者通过所述用户界面控制所述车辆的功能性;并且
执行所述第二容器以能够执行所述运行时环境的所述第二实例,其中,所述运行时环境的所述第二实例被配置成与由所述主计算设备执行的所述运行时环境的所述第一实例对接以联合呈现所述用户界面,所述车辆的所述操作者通过所述用户界面控制所述车辆的所述功能性;以及存储器,所述存储器被配置成存储所述第二容器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962914153P | 2019-10-11 | 2019-10-11 | |
US62/914,153 | 2019-10-11 | ||
CN202011085166.XA CN112199156B (zh) | 2019-10-11 | 2020-10-12 | 车辆的可扩展计算方法、设备和介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011085166.XA Division CN112199156B (zh) | 2019-10-11 | 2020-10-12 | 车辆的可扩展计算方法、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117909024A true CN117909024A (zh) | 2024-04-19 |
Family
ID=72811754
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410022441.5A Pending CN117909024A (zh) | 2019-10-11 | 2020-10-12 | 车辆的可扩展计算方法、设备和介质 |
CN202011085166.XA Active CN112199156B (zh) | 2019-10-11 | 2020-10-12 | 车辆的可扩展计算方法、设备和介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011085166.XA Active CN112199156B (zh) | 2019-10-11 | 2020-10-12 | 车辆的可扩展计算方法、设备和介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11455180B2 (zh) |
EP (2) | EP4354289A2 (zh) |
JP (2) | JP7043563B2 (zh) |
KR (2) | KR102461918B1 (zh) |
CN (2) | CN117909024A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102461918B1 (ko) | 2019-10-11 | 2022-11-02 | 구글 엘엘씨 | 차량용 확장가능 컴퓨팅 아키텍처 |
DE102022116990A1 (de) * | 2022-07-07 | 2024-01-18 | Cariad Se | Verfahren und Prozessorschaltung zum Betreiben einer Kraftfahrzeug-Bedienvorrichtung mit zwei Benutzerschnittstellen sowie Kraftfahrzeug |
WO2024071476A1 (ko) * | 2022-09-29 | 2024-04-04 | 엘지전자 주식회사 | 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 |
KR102642234B1 (ko) * | 2023-06-27 | 2024-03-04 | 주식회사 드림에이스 | 다중 연결을 지원하는 차량 인포테인먼트 시스템 및 이의 다중 연결 지원 방법 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141697A (en) | 1997-06-25 | 2000-10-31 | Unisys Corp. | System and method for performing external procedure calls in heterogeneous computer systems utilizing program stacks |
US8640027B2 (en) * | 2000-06-13 | 2014-01-28 | National Instruments Corporation | System and method for configuring a hardware device to execute a prototype |
WO2003067435A2 (en) * | 2001-11-19 | 2003-08-14 | Self Repairing Computers, Inc. | Computer system capable of supporting a plurality of independent computing environments |
US7536598B2 (en) * | 2001-11-19 | 2009-05-19 | Vir2Us, Inc. | Computer system capable of supporting a plurality of independent computing environments |
US7383405B2 (en) * | 2004-06-30 | 2008-06-03 | Microsoft Corporation | Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity |
US20080082627A1 (en) * | 2006-09-29 | 2008-04-03 | Allen Stewart O | Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation |
US7937698B2 (en) * | 2007-08-02 | 2011-05-03 | International Business Machines Corporation | Extensible mechanism for automatically migrating resource adapter components in a development environment |
JP5476764B2 (ja) | 2009-03-30 | 2014-04-23 | 富士通株式会社 | サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 |
US8813069B2 (en) | 2009-05-29 | 2014-08-19 | Red Hat, Inc. | Migration of functionalities across systems |
US8484661B2 (en) * | 2010-03-19 | 2013-07-09 | At&T Mobility Ii Llc | Agnostic execution cluster for an agnostic execution environment |
US20120188698A1 (en) * | 2011-01-21 | 2012-07-26 | E-Lead Electronic Co., Ltd. | Car audio system with changeable plug-in computer |
US9619114B2 (en) * | 2012-06-11 | 2017-04-11 | Automotive Data Solutions, Inc. | Method and system to configure an aftermarket interface module using a graphical user interface |
US8831585B2 (en) | 2012-08-31 | 2014-09-09 | Nuance Communications, Inc. | Systems, methods and articles for a communications device providing communications and services involving automobile head units |
US9692632B2 (en) * | 2012-11-29 | 2017-06-27 | International Business Machines Corporation | Migration to managed clouds |
US9282166B2 (en) * | 2012-11-29 | 2016-03-08 | International Business Machines Corporation | Management infrastructure analysis for cloud migration |
US9092837B2 (en) * | 2012-11-29 | 2015-07-28 | International Business Machines Corporation | Use of snapshots to reduce risk in migration to a standard virtualized environment |
CN110413357B (zh) * | 2013-06-08 | 2022-09-06 | 苹果公司 | 用于同步两个或更多个显示器的设备、方法和图形用户界面 |
EP3092566B1 (en) | 2014-01-06 | 2019-07-17 | Johnson Controls Technology Company | Vehicle with multiple user interface operating domains |
JP5945637B2 (ja) | 2014-04-22 | 2016-07-05 | オリンパス株式会社 | データ処理システム及びデータ処理方法 |
KR102269452B1 (ko) * | 2014-09-18 | 2021-06-28 | 인텔 코포레이션 | 컨텐츠 변환 없는 컴퓨팅 디바이스에서의 다중 운영 체제 환경들의 지원 |
KR101677645B1 (ko) * | 2014-11-03 | 2016-11-18 | 엘지전자 주식회사 | 이동 통신 시스템 및 그 제어 방법 |
EP3224714A1 (en) * | 2014-11-27 | 2017-10-04 | Haute Ecole d'Ingénierie et de Gestion du Canton de Vaud (HEIG-VD) | Embedded system enabling on-line collaborative migration of software execution environments |
US20180210747A1 (en) * | 2014-12-08 | 2018-07-26 | P4tents1, LLC | Computing devices |
JP6413813B2 (ja) | 2015-02-04 | 2018-10-31 | 富士ゼロックス株式会社 | 電子機器、制御装置及びプログラム |
US10911574B2 (en) | 2015-03-25 | 2021-02-02 | Amazon Technologies, Inc. | Using multiple protocols in a virtual desktop infrastructure |
US9813813B2 (en) * | 2015-08-31 | 2017-11-07 | Harman International Industries, Incorporated | Customization of a vehicle audio system |
DE202016009103U1 (de) | 2015-09-14 | 2022-05-13 | Vinli, Inc. | Cloud-integrierte Fahrzeugplattform |
KR102057269B1 (ko) * | 2016-01-15 | 2020-01-22 | 구글 엘엘씨 | 애플리케이션 컨테이너를 사용한 코드 및 종속 데이터의 전달 관리 |
US10645362B2 (en) * | 2016-04-11 | 2020-05-05 | Gopro, Inc. | Systems, methods and apparatus for compressing video content |
US10768920B2 (en) * | 2016-06-15 | 2020-09-08 | Microsoft Technology Licensing, Llc | Update coordination in a multi-tenant cloud computing environment |
US10911323B2 (en) * | 2017-01-24 | 2021-02-02 | Texas Instruments Incorporated | System-on-chip (SoC) assembly, configurable IP generation and IP integration utilizing distributed computer systems |
US10650139B2 (en) * | 2017-06-12 | 2020-05-12 | Daniel Maurice Lerner | Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers |
WO2018236691A1 (en) * | 2017-06-20 | 2018-12-27 | Vfunction, Inc. | SYSTEMS AND METHODS FOR PERFORMING SOFTWARE APPLICATIONS ON DISTRIBUTED APPLICATION DEVELOPMENT ENVIRONMENTS |
US10331425B2 (en) | 2017-06-28 | 2019-06-25 | Google Llc | Automated source code adaption to inject features between platform versions |
JP6677277B2 (ja) * | 2017-07-19 | 2020-04-08 | 株式会社デンソー | 車両用制御装置及び電源供給回路 |
JP6777050B2 (ja) | 2017-09-21 | 2020-10-28 | 株式会社デンソー | 仮想化システム、仮想化プログラム、及び、記憶媒体 |
US10296269B1 (en) | 2017-12-19 | 2019-05-21 | Kyocera Document Solutions, Inc. | Portable multi-function printing extension computing device |
US10659526B2 (en) * | 2018-01-03 | 2020-05-19 | Verizon Patent And Licensing Inc. | Edge compute systems and methods |
US10761903B2 (en) * | 2018-03-29 | 2020-09-01 | Servicenow, Inc. | Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system |
US10949187B2 (en) * | 2019-03-25 | 2021-03-16 | International Business Machines Corporation | Adjusted consolidated digital experience |
KR102461918B1 (ko) | 2019-10-11 | 2022-11-02 | 구글 엘엘씨 | 차량용 확장가능 컴퓨팅 아키텍처 |
-
2020
- 2020-10-08 KR KR1020200130322A patent/KR102461918B1/ko active IP Right Grant
- 2020-10-08 EP EP24160104.6A patent/EP4354289A2/en active Pending
- 2020-10-08 US US17/065,932 patent/US11455180B2/en active Active
- 2020-10-08 EP EP20200883.5A patent/EP3805922B1/en active Active
- 2020-10-09 JP JP2020171313A patent/JP7043563B2/ja active Active
- 2020-10-12 CN CN202410022441.5A patent/CN117909024A/zh active Pending
- 2020-10-12 CN CN202011085166.XA patent/CN112199156B/zh active Active
-
2022
- 2022-03-16 JP JP2022041488A patent/JP7223895B2/ja active Active
- 2022-08-19 US US17/821,038 patent/US11880701B2/en active Active
- 2022-10-26 KR KR1020220139457A patent/KR102656218B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR102656218B1 (ko) | 2024-04-09 |
US11455180B2 (en) | 2022-09-27 |
EP3805922B1 (en) | 2024-04-03 |
JP2021064369A (ja) | 2021-04-22 |
EP4354289A2 (en) | 2024-04-17 |
JP7043563B2 (ja) | 2022-03-29 |
EP3805922A1 (en) | 2021-04-14 |
JP2022093330A (ja) | 2022-06-23 |
JP7223895B2 (ja) | 2023-02-16 |
KR102461918B1 (ko) | 2022-11-02 |
US20220391236A1 (en) | 2022-12-08 |
US11880701B2 (en) | 2024-01-23 |
CN112199156B (zh) | 2024-01-12 |
CN112199156A (zh) | 2021-01-08 |
KR20210043469A (ko) | 2021-04-21 |
US20210109770A1 (en) | 2021-04-15 |
KR20220148785A (ko) | 2022-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199156B (zh) | 车辆的可扩展计算方法、设备和介质 | |
US9324234B2 (en) | Vehicle comprising multi-operating system | |
EP3205056B1 (en) | Method and apparatus for controlling devices in a personal environment using a portable computing device | |
US11059435B2 (en) | Vehicle software control device | |
EP4369186A1 (en) | Control method and apparatus, device, and storage medium | |
US20230007460A1 (en) | Method and system for segmenting and transmiting data between computing devices and vehicle head units | |
CN111674344B (zh) | 检测仅充电连接的方法、移动计算设备及存储介质 | |
US20230376307A1 (en) | Streaming via hardware abstraction layer | |
CN115097812A (zh) | 基于移动终端控制车辆的方法、设备及存储介质 | |
CN115056728A (zh) | 车辆控制方法、设备及存储介质 | |
JP7344263B2 (ja) | ユーザアカウントを意識したパーソナルエリアネットワークボンディング | |
US20200019415A1 (en) | User terminal, user interface, computer program product, signal sequence, means of transport, and method for setting up a user interface of a means of transport | |
EP3882765A1 (en) | Integration of vehicle manufacturer user management system with automotive operating system | |
JP2022114164A (ja) | 車両用装置、車両用システム、外部装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |