CN114967635A - 控制装置、方法、存储介质和车辆 - Google Patents
控制装置、方法、存储介质和车辆 Download PDFInfo
- Publication number
- CN114967635A CN114967635A CN202111570733.5A CN202111570733A CN114967635A CN 114967635 A CN114967635 A CN 114967635A CN 202111570733 A CN202111570733 A CN 202111570733A CN 114967635 A CN114967635 A CN 114967635A
- Authority
- CN
- China
- Prior art keywords
- priority
- application
- messages
- processing
- message
- 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
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0221—Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
-
- 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
-
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/45587—Isolation or security of virtual machine instances
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本公开涉及控制装置、方法、存储介质和车辆。控制多个应用程序的运行的控制装置包括:第一获取单元,其获取从所述应用程序发送的消息和由所述应用程序接收的消息;存储单元,其存储优先级,所述优先级至少针对与多个应用程序相关的消息的处理设定优先顺序;以及仲裁单元,其基于所述存储单元中存储的所述优先级,对由所述第一获取单元获取的所述消息的加密处理的顺序进行仲裁。
Description
技术领域
本公开涉及一种安装在车辆上的控制装置等。
背景技术
日本未审查专利申请公开第2011-078090号(JP 2011-078090 A)公开了一种控制装置,该控制装置具有多个程序(应用程序)的执行环境,其被设置在通信终端中,该通信终端具有用于连接到通信网络的接入点的连接资源。在JP 2011-078090 A中描述的控制装置中,在具有多个程序执行环境(虚拟机)的通信终端中,基于按照执行环境设定的安全策略,适当地控制来自程序的连接请求的许可或禁止。因此,抑制了由于执行环境之间不必要的切换和通信而造成的***资源的浪费使用。
发明内容
然而,在JP2011-078090A中描述的控制装置中,从每个程序请求的消息的处理是按照收到请求的顺序执行的。因此,例如,当消息需要加密处理(加密/解密)时,如果硬件资源不足,则限制消息处理时间(例如发送延迟允许时间)的应用程序将有可能不能满足性能要求。
本公开是鉴于上述问题而做出的,并且本公开的目的是提供一种控制装置等,其可以抑制具有时间约束的应用程序不能满足性能要求。
为了解决上述问题,所公开的技术的一个方案是一种控制装置,其控制多个应用程序的运行,该控制装置包括:第一获取单元,其获取从应用程序发送的消息以及由应用程序接收的消息;存储单元,其存储至少为与多个应用程序相关的消息的处理设定优先顺序的优先级;以及仲裁单元,其基于存储单元存储的优先级对由第一获取单元获取的消息的加密处理的顺序进行仲裁。
根据本公开的控制装置,由于消息的加密处理的顺序是基于预先确定的优先级进行仲裁(arbitrated)的,所以能够抑制时间受限的应用程序不能满足性能要求。
附图说明
下面将参照附图描述本发明的示例性实施例的特征、优点以及技术和工业意义,在附图中,相同标号表示相同元件,并且其中:
图1是示出包括根据本公开的实施例的控制装置的虚拟化***的示意性配置的框图;
图2是由虚拟化机制执行的虚拟化机制处理的流程图;
图3是由虚拟机执行的虚拟机处理的流程图;
图4是根据由虚拟机执行的第一处理示例的BSW通信处理的流程图;
图5A是根据由控制装置执行的第一处理示例的仲裁处理的流程图;
图5B是根据由控制装置执行的第一处理示例的仲裁处理的流程图;
图6A是示出存储在控制装置中的优先级的示例的图;
图6B是示出存储在控制装置中的优先级的示例的图;
图7是示出基于根据第一处理示例的仲裁处理被登记在硬件安全模块(HSM)中的各个应用程序的消息的示例的图;
图8是根据由虚拟机执行的第二处理示例的基础软件(BSW)通信处理的流程图;
图9A是根据由控制装置执行的第二处理示例的仲裁处理的流程图;
图9B是根据由控制装置执行的第二处理示例的仲裁处理的流程图;以及
图10是示出基于根据第二处理示例的仲裁处理被登记在HSM中的各个应用程序的消息的示例的图。
具体实施方式
在使用诸如虚拟机监视器(hypervisor)的虚拟化技术将多个电子控制单元(ECU)合并和整合到一个高性能处理器的结构中,通过在虚拟环境中提供仲裁功能并基于预先给出的优先级确定消息处理顺序,本公开的控制装置抑制了由于缺乏由硬件提供的安全功能而导致的不能实现消息处理性能要求。
下面,将参照附图对本公开的实施例进行详细描述。
实施例
配置
图1是示出包括根据本公开的实施例的控制装置21的虚拟化***的示意性配置的框图。图1中示出的虚拟化***在其配置中包括SoC 10、虚拟化机制20、虚拟机30至33、BSW41至43、中央G/W 50以及应用程序(app)A至C。在本实施例中,将参照虚拟化***被安装在能够自主驾驶的车辆上的示例来描述操作。
片上***(SoC)10是高性能处理器,其中多个中央处理单元(CPU)1至4、诸如控制器局域网(CAN)的通信接口以及硬件安全模块(HSM)11被安装(内置)在芯片上。HSM 11是具有防篡改性的硬件以用于保护加密密钥,并执行密钥存储、使用密钥的加密/解密计算(加密处理)、密钥生成、随机数生成等。
虚拟化机制20是在SoC 10上运行的软件,例如虚拟机监视器,并且实现多个虚拟机30至33。虚拟化机制20使得SoC 10的物理资源(即CPU 1至4、CAN和HSM 11)能够被多个虚拟机30至33共享(分配)。本实施例的虚拟化机制20作为控制装置21运行,该控制装置21从各个虚拟机31至33中设置的虚拟HSM获取消息(发送、接收)(获取单元),从安装在未示出的车辆上的设备获取车辆的状态(获取单元),并且基于预先设定了处理顺序的优先级(存储单元)和车辆的状态,对HSM 11中登记的消息(发送、接收)的顺序进行仲裁(仲裁单元)。
虚拟机(VM)30至33是在虚拟化机制20上运行的虚拟化计算机。各个虚拟机可以像单个计算机硬件一样,模拟计算机的行为。包括操作***(OS)和通信功能的基础软件(BSW)41被安装在虚拟机31上,而作为与自主驾驶相关的控制***以外的控制***的应用程序A(app A)被安装在BSW 41上。BSW 42被安装在虚拟机32上,并且作为控制***的用于自主驾驶的自主驾驶应用程序B(app B)被安装在BSW 42上。BSW 43被安装在虚拟机33上,并且与多媒体***相关的应用程序C(app C)被安装在BSW 43上。虚拟机30配备有控制消息中继的中央网关(G/W)50。虚拟机30经由诸如CAN的网络执行与经由虚拟机31到33连接的应用程序A至C的消息的发送和接收。此外,本实施例中的虚拟机31至33各自有虚拟HSM。该虚拟HSM是缓冲器,该缓冲器临时存储需要在各个应用程序中由HSM 11加密的发送消息和需要在各个应用程序中由HSM 11解密的已接收消息。
在从应用程序A至C发送的消息中,需要高安全性的消息由HSM 11加密,然后发送到网络。此外,在应用程序A至C已接收的消息中,由HSM 11对加密的消息进行解密,然后发送到各个应用程序。
在图1的示例中,示出了包括四个虚拟机30至33的配置。然而,该配置并不限于此。此外,由各个虚拟机30至33实现的应用程序的数量和类型不限于图中所示的那些。例如,多个应用程序可以在一个虚拟机上实现,并且多个应用程序的类型可以是不同的(例如,控制***(自主驾驶)和多媒体***)。
当请求了多个需要在HSM 11中加密的发送消息和多个需要在HSM 11中解密的已接收消息时,本公开的控制装置21优选如下地控制多条消息的处理顺序。
控制
将参照图2至图9B描述由本公开的虚拟化***的各个配置所执行的控制。
1基本处理(第一处理示例和第二处理示例共有)
1-1虚拟化机制处理
图2是示出由虚拟化机制20执行的虚拟化机制处理的过程的流程图。当虚拟化***的电源被打开时,图2中图示出的虚拟化机制处理被启动。
步骤S201
虚拟化机制20启动所有的虚拟机30至33。因此,后面描述的虚拟机处理(图3)与虚拟化机制处理并行运行。当所有的虚拟机30至33被启动时,该处理进行到步骤S202。
步骤S202
虚拟化机制20判定是否到了执行周期性的处理(周期性处理)的时间。该周期是用于确认消息是否存储在虚拟机31至33的虚拟HSM中的周期,并且能够设定为例如1ms。当到了周期性处理的定时(timing)时(步骤S202,是),该处理进行到步骤S203,而当没有到周期性处理的定时时(步骤S202,否),该处理进行到步骤S204。
步骤S203
虚拟化机制20执行仲裁处理(图5A和图5B)。该仲裁处理将在后面描述。当仲裁处理完成时,该处理进行到步骤S204。
步骤S204
虚拟化机制20判定是否结束其自身的操作。作为结束其自身操作的情况,可以以虚拟化***的电源被关闭的情况作为示例。当结束虚拟化机制20的操作时(步骤S204,是),则本次虚拟化机制处理结束,而当不结束虚拟化机制20的操作时(步骤S204,否),则处理进行到步骤S202。
1-2虚拟机处理
图3是示出由各个虚拟机31至33执行的虚拟机处理的过程的流程图。在图3中图示出的虚拟机处理是在虚拟机31至33被虚拟化机制20的处理启动时启动的。尽管下文将描述由虚拟机31执行的虚拟机处理作为代表,但同样适用于由虚拟机32和33执行的虚拟机处理。
步骤S301
虚拟机31判定是否到了执行周期性的处理(周期性处理)的时间。如上所述,该周期是用于确认消息是否存储在虚拟机31的虚拟HSM中的周期,并且能够设定为例如1ms。当到了周期性处理的定时时(步骤S301,是),该处理进行到步骤S302,而当没有到周期性处理的定时时(步骤S301,否),该处理进行到步骤S305。
步骤S302
当在前一个周期性处理中解密的已接收消息仍在HSM 11中时,虚拟机31从HSM 11获取已接收消息。当获得解密的已接收消息时,该处理进行到步骤S303。
步骤S303
虚拟机31执行BSW通信处理(图4)。该BSW通信处理将在后面描述。当BSW通信处理完成时,该处理进行到步骤S304。
步骤S304
虚拟机31将解密后的已接收消息传递给各个应用程序A,并基于已接收消息执行应用程序处理。当应用程序处理被执行时,该处理进行到步骤S305。
步骤S305
虚拟机31判定是否结束其自身操作。作为结束其自身操作的情况,可以以虚拟化***的电源被关闭的情况作为示例。当结束虚拟机31的操作时(步骤S305,是),本虚拟机处理结束,而当不结束虚拟机31的操作时(步骤S305,否),处理进行到步骤S301。
2第一处理示例
2-1BSW通信处理
图4是示出由虚拟机31至33使用BSW 41至43执行的根据第一处理示例的BSW通信处理的过程的流程图。根据图4中所示的第一处理示例的BSW通信处理由虚拟机31至33独立地执行。虽然下面将描述由虚拟机31执行的虚拟机处理作为代表,但同样适用于由虚拟机32和33执行的虚拟机处理。
步骤S401
虚拟机31确认到了可以发送消息的发送定时。当发送定时被确认时,该处理进行到步骤S402。
步骤S402
虚拟机31判定是否存在由应用程序A请求的需要加密的发送消息。当存在需要加密的发送消息时(步骤S402,是),该处理进行到步骤S403,而当不存在需要加密的发送消息时(步骤S402,否),该处理进行到步骤S404。
步骤S403
虚拟机31将需要加密的发送消息存储在虚拟HSM中。当发送消息被存储在虚拟HSM中时,该处理进行到步骤S404。
步骤S404
虚拟机31确认应用程序A的已接收消息是否存在。当完成对已接收消息的确认后,该处理进行到步骤S405。
步骤S405
虚拟机31判定是否存在应用程序A的加密的已接收消息。当存在加密的已接收消息时(步骤S405,是),处理进行到步骤S406,而当不存在加密的已接收消息时(步骤S405,否),处理进行到步骤S407。
步骤S406
虚拟机31将加密的已接收消息存储在虚拟HSM中。当已接收消息被存储在虚拟HSM中时,该处理进行到步骤S407。
步骤S407
虚拟机31将存储在虚拟HSM中的消息的内容(存储内容)通知虚拟化机制20的控制装置21。当存储内容被通知到控制装置21时,根据第一处理示例的BSW通信处理结束。
由于发送消息和已接收消息存储在虚拟HSM中的顺序没有特别的限制,所以步骤S401至S403中的发送消息的处理和步骤S404至S406中的已接收消息的处理可以进行交换。
2-2仲裁处理
图5A和图5B是示出根据由控制装置21执行的第一处理示例的仲裁处理的过程的流程图。图5A的处理和图5B的处理通过连接符X和Y连接。根据图5A和图5B中所示的第一处理示例的仲裁处理以预定周期执行,如图2的步骤S202所示。在执行时,控制装置21从虚拟机31至33的各个虚拟HSM获取存储的消息(第一获取单元)。
在该仲裁处理中,对于存储在虚拟机31至33的所有虚拟HSM中的所有消息执行发送消息处理(步骤S501至S507)和已接收消息处理(步骤S506至S514)。
步骤S501
控制装置21获取车辆的状态(第二获取单元)。当获得车辆的状态时,该处理进行到步骤S502。
步骤S502
控制装置21根据获得的车辆的状态,判定车辆是否处于正在执行自主驾驶的状态(自主驾驶期间)。在自主驾驶期间的第一状态的情况下(步骤S502,是),该处理进行到步骤S503,并且在不处于自主驾驶期间的第二状态的情况下(步骤S502,否),该处理进行到步骤S504。
步骤S503
控制装置21选择第一优先级作为用于仲裁消息的优先级。如图6A所示,在本实施例中,各个消息处理的优先顺序被设定在第一优先级中。该优先顺序至少包括使发送消息优先于已接收消息(发送和接收的优先关系),以及使从与自主驾驶相关的应用程序(第一应用程序)请求的消息优先于从其他应用程序(app(第二应用程序))请求的消息(各个应用程序/类型的优先关系)。当选择第一优先级时,该处理进行到步骤S505。
步骤S504
控制装置21选择第二优先级作为用于消息的仲裁的优先级。如图6B所示,在本实施例中,各个消息处理的优先顺序被设定在第二优先级中。该优先顺序至少包括使发送消息优先于已接收消息(发送和接收的优先级关系),以及在与控制***相关的应用程序中优先考虑从除自主驾驶以外的控制***的应用程序(第二应用程序)请求的消息(各个应用程序/类型的优先关系)。当选择第二优先级时,该处理进行到步骤S506。
步骤S505
控制装置21将存储在各个虚拟HSM中的一条或多条发送消息中与自主驾驶相关的应用程序的发送消息登记在HSM 11中。在本实施例中,由自主驾驶应用程序B请求的并且存储在虚拟机32的虚拟HSM中的发送消息被登记在HSM 11中。因此,与自主驾驶相关的应用程序的发送消息以最高优先级被登记在HSM 11中。当与自主驾驶相关的应用程序的所有发送消息被登记在HSM 11中时,该处理进行到步骤S506。
步骤S506
在存储在各个虚拟HSM中的一条或多条发送消息中,由与控制***相关的应用程序请求的发送消息被控制装置21基于第一优先级或第二优先级登记在HSM 11中。当基于第一优先级时(当自主驾驶正在进行时),在本实施例中,控制装置21将由控制***应用程序A请求的并存储在虚拟机31的虚拟HSM中的发送消息登记在HSM 11中。相反,当基于第二优先级时(当自主驾驶没有进行时),在本实施例中,控制装置21首先将由控制***应用程序A请求的并且存储在虚拟机31的虚拟HSM中的发送消息登记在HSM11中,然后将由自主驾驶应用程序B请求的并且存储在虚拟机32的虚拟HSM中的发送消息登记在在HSM 11中。因此,在控制***中具有最高优先级的发送消息首先被登记在HSM 11中。当控制***应用程序的所有发送消息都登记在HSM 11中时,该处理进行到步骤S507。
步骤S507
在存储在各个虚拟HSM中的一条或多条发送消息中,由控制装置21基于第一优先级或第二优先级将由与多媒体***相关的应用程序请求的发送消息登记在HSM 11中。在本实施例中,控制装置21将由多媒体***应用程序C请求的并且存储在虚拟机33的虚拟HSM中的发送消息登记在HSM 11中,无论其优先级是第一优先级还是第二优先级。因此,不需要被优先处理的多媒体***应用程序的发送消息被最后登记在HSM 11中。当多媒体***应用程序的所有发送消息都被登记在HSM 11中时,该处理进行到步骤S508。
对存储在虚拟机31至33的所有虚拟HSM中的所有发送消息执行上述步骤S501至S507的处理。
步骤S508
控制装置21获取车辆的状态(第二获取单元)。当获得车辆的状态时,该处理进行到步骤S509。
步骤S509
控制装置21根据获取的车辆的状态判定车辆是否处于正在执行自主驾驶的状态(自主驾驶期间)。在处于自主驾驶期间的第一状态的情况下(步骤S509,是),该处理进行到步骤S510,并且在不处于自主驾驶期间的第二状态的情况下(步骤S509,否),该处理进行到步骤S511。
步骤S510
控制装置21选择第一优先级作为用于仲裁消息的优先级。如上所述,在本实施例中,各条消息的处理顺序被设定在第一优先级中。该处理顺序包括已接收消息具有低于发送消息的顺序,并且与自主驾驶相关的应用程序的消息优先于其他应用程序的消息(图6A)。当选择了第一优先级时,该处理进行到步骤S512。
步骤S511
控制装置21选择第二优先级作为用于消息的仲裁的优先级。如上所述,本实施例中的第二优先级被设定为各条消息的处理顺序。该处理顺序包括已接收消息具有低于发送消息的顺序(图6B)。当选择了第二优先级时,该处理进行到步骤S513。
步骤S512
控制装置21从存储在各个虚拟HSM中的一条或多条已接收消息中由与自主驾驶相关的应用程序请求的已接收消息登记在HSM 11中。在本实施例中,将由自主驾驶应用程序B请求的并且存储在虚拟机32的虚拟HSM中的已接收消息登记在HSM 11中。因此,在所有已接收消息中,自主驾驶应用程序的已接收消息被优先登记在HSM 11中。当自主驾驶应用程序的所有已接收消息被登记在HSM 11中时,该处理进行到步骤S513。
步骤S513
在存储在各个虚拟HSM中的一条或多条已接收消息中,由与控制***相关的应用程序请求的已接收消息被控制装置21基于第一优先级或第二优先级登记在HSM 11中。当基于第一优先级时(当自主驾驶正在进行时),在本实施例中,由控制***应用程序A请求并存储在虚拟机31的虚拟HSM中的已接收消息被登记在HSM 11中。相反,当基于第二优先级时(当自主驾驶没有进行时),在本实施例中,由控制***应用程序A请求并存储在虚拟机31的虚拟HSM中的已接收消息首先被登记在HSM 11中,并且由自主驾驶应用程序B请求并存储在虚拟机32的虚拟HSM中的已接收消息被登记在HSM 11中。因此,在控制***应用程序中具有最高优先级的已接收消息被首先登记在HSM 11中。当控制***应用程序的所有已接收消息都被登记在HSM 11中时,该处理进行到步骤S514。
步骤S514
在存储在各个虚拟HSM中的一条或多条已接收消息中,由控制装置21基于第一优先级或第二优先级将由与多媒体***相关的应用程序请求的已接收消息登记在HSM 11中。在本实施例中,由多媒体***应用程序C请求的并且存储在虚拟机33的虚拟HSM中的已接收消息被登记在HSM 11中,无论其优先级是第一优先级还是第二优先级。因此,不需要被优先处理的多媒体***应用程序的已接收消息被最后登记在HSM 11中。当多媒体***应用程序的所有已接收消息被登记在HSM 11中时,根据第一处理示例的仲裁处理结束。
对存储在虚拟机31至33的所有虚拟HSM中的所有已接收消息执行上述步骤S508至S514的处理。
根据根据该第一处理示例的BSW通信处理和仲裁处理,当车辆正在被自主驾驶时,HSM中所有消息的登记顺序(加密处理的顺序)被基于第一优先级进行仲裁,并且当车辆不是正在被自主驾驶时,HSM中所有消息的登记顺序(加密处理的顺序)被基于第二优先级进行仲裁。也就是说,可以在HSM11中登记消息的同时,使由各个应用程序请求的发送消息优先于已接收消息,并使由与自主驾驶相关的应用程序请求的消息优先于其他应用程序请求的消息。因此,能够实现消息加密处理的优选顺序仲裁,其中车辆的状态和各个应用程序所允许的处理延迟被综合确定。
图7示出了基于根据第一处理示例的仲裁处理而在HSM 11中登记的各个应用程序的发送消息和已接收消息的示例。暂时存储在虚拟机31至33的各个虚拟HSM中的消息被传递到控制装置21的仲裁单元,然后在仲裁单元中执行基于车辆的状态和优先级的处理顺序的仲裁。然后,作为仲裁的结果,当车辆的自主驾驶正在进行时,基于第一优先级(图7中的左下角),消息以发送消息>已接收消息,以及应用程序B>应用程序A>应用程序C的顺序被登记在HSM 11中。相反,作为仲裁的结果,当车辆的自主驾驶没有在进行时,基于第二优先级(图7中的右下角),消息以发送消息>已接收消息,以及应用程序A>应用程序B>应用程序C的顺序被登记在HSM 11中。
3第二处理示例
如上所述,虚拟化机制处理(图2)和虚拟机处理(图3)并行地运行。因此,存在这样的可能性,即在各个处理中执行的周期性处理根据处理时序最多被延迟一个周期(例如,1ms)。因此,在这个第二处理示例中,当存在不能允许处理延迟的应用程序(例如与自主驾驶相关的应用程序)时,将描述能够消除处理延迟影响的处理。
3-1BSW通信处理
图8是示出由虚拟机31至33使用BSW 41至43执行的根据第二处理示例的BSW通信处理的过程的流程图。根据图8所示的第二处理示例的BSW通信处理由虚拟机31至33独立地执行。
步骤S801
虚拟机31至33各自确认到了可发送消息的发送定时。当发送定时被确认时,该处理进行到步骤S802。
步骤S802
虚拟机31至33各自判定是否存在由应用程序A至C请求的需要加密的发送消息。当存在需要加密的发送消息时(步骤S802,是),该处理进行到步骤S803,而当不存在需要加密的发送消息时(步骤S802,否),该处理进行到步骤S806。
步骤S803
虚拟机31至33判定需要加密的发送消息是否为来自自主驾驶应用程序的发送消息。在本发明实施例的配置中,由于各个虚拟机上只实现了一个应用程序,因此对于虚拟机31和33来说,总是确定需要加密的发送消息不是来自自主驾驶应用程序的发送消息,而对于虚拟机32来说,总是确定需要加密的发送消息是来自自主驾驶应用程序B的发送消息。相反,当诸如控制***(自主驾驶)和多媒体***的多个不同类型的应用程序在一个虚拟机上实现时,根据步骤S803中的判定分配后续处理。当需要加密的发送消息是来自自主驾驶应用程序的发送消息时(步骤S803,是),该处理进行到步骤S804,而当需要加密的发送消息不是来自自主驾驶应用程序的发送消息时(步骤S803,否),该处理进行到步骤S805。
步骤S804
虚拟机31至33在HSM 11中登记来自自主驾驶应用程序的发送消息。在本实施例的配置中,只有虚拟机32将发送消息直接登记在HSM 11中而不经过虚拟HSM。当发送消息被登记在HSM 11中时,该处理进行到步骤S806。
步骤S805
虚拟机31至33各自在虚拟HSM中存储需要加密的发送消息。在本实施例的配置中,虚拟机31和33将发送消息存储在虚拟HSM中。当发送消息被存储在虚拟HSM中时,该处理进行到步骤S806。
步骤S806
虚拟机31至33各自确认应用程序A至C的已接收消息的存在或不存在。当完成对已接收消息的确认时,该处理进行到步骤S807。
步骤S807
虚拟机31至33各自判定是否存在应用程序A至C的加密的已接收消息。当存在加密的已接收消息时(步骤S807,是),该处理进行到步骤S808,而当不存在加密的已接收消息时(步骤S807,否),该处理进行到步骤S811。
步骤S808
虚拟机31至33判定加密的已接收消息是否是来自自主驾驶应用程序的已接收消息。在本实施例的配置中,由于各个虚拟机上只实现一个应用程序,对于虚拟机31和33来说,总是确定加密的已接收消息不是自主驾驶应用程序的已接收消息,而对于虚拟机32来说,总是确定加密的已接收消息是自主驾驶应用程序B的已接收消息。相反,当诸如控制***(自主驾驶)和多媒体***的多个不同类型的应用程序在一个虚拟机上实现时,根据步骤S808的判定分配后续处理。当加密的已接收消息是自主驾驶应用程序的已接收消息时(步骤S808,是),该处理进行到步骤S809,而当加密的已接收消息不是自主驾驶应用程序的已接收消息时(步骤S808,否),该处理进行到步骤S810。
步骤S809
虚拟机31至33将发送给自主驾驶应用程序的已接收消息登记到HSM 11中。在本实施例的配置中,只有虚拟机32将已接收消息直接登记在HSM 11中而不经过虚拟HSM。当已接收消息被登记在HSM 11中时,该处理进行到步骤S811。
步骤S810
虚拟机31至33各自在虚拟HSM中存储加密的已接收消息。在本实施例的配置中,虚拟机31和33将已接收消息存储在虚拟HSM中。当已接收消息被存储在虚拟HSM中时,该处理进行到步骤S811。
步骤S811
虚拟机31至33各自通知虚拟化机制20的控制装置21存储在虚拟HSM中的消息的内容(存储内容)。当存储的内容被通知给控制装置21时,根据该第二处理示例的BSW通信处理结束。
3-2仲裁处理
图9A和图9B是示出由控制装置21执行的根据第二处理示例的仲裁处理的过程的流程图。图9A的处理和图9B的处理通过连接符Y连接。与上述根据图8所示的第二处理示例的BSW通信处理的执行一致,根据图9A和图9B所示的第二处理示例的仲裁处理以预定周期执行。
在该仲裁处理中,对存储在虚拟机31至33的所有虚拟HSM中的所有消息执行发送消息处理(步骤S901和S902)和已接收消息处理(步骤S903和S904)。
步骤S901
在存储在各个虚拟HSM中的一条或多条发送消息中,由与控制***相关的应用程序请求的发送消息被控制装置21基于优先级登记在HSM 11中。应用于该处理的优先级可以是上述的第一优先级或第二优先级。在本实施例中,控制装置21通过使通过来自控制***应用程序A的请求而存储在虚拟机31的虚拟HSM中的发送消息切入已经登记在HSM 11中的自主驾驶应用程序的发送消息和自主驾驶应用程序的已接收消息之间来登记该发送消息。因此,在虚拟HSM中,控制***应用程序的发送消息在自主驾驶应用程序的发送消息之后被登记在HSM 11中。当控制***应用程序的所有发送消息都登记在HSM 11中时,该处理进行到步骤S902。
步骤S902
在存储在各个虚拟HSM中的一条或多条发送消息中,由与多媒体***相关的应用程序请求的发送消息被控制装置21基于第一优先级登记在HSM11中。应用于该处理的优先级可以是上述的第一优先级或第二优先级。在本实施例中,控制装置21通过使通过来自多媒体***应用程序C的请求而存储在虚拟机33的虚拟HSM中的发送消息切入已经登记在HSM11中的自主驾驶应用程序的发送消息和控制***应用程序的已接收消息之间来登记该发送消息。因此,多媒体***应用程序的发送消息在控制***应用程序的发送消息之后被登记在HSM 11中。当多媒体***应用程序的所有发送消息被登记在HSM 11中时,该处理进行到步骤S903。
对存储在虚拟机31至33的所有虚拟HSM中的所有发送消息执行上述步骤S901和S902的处理。
步骤S903
在存储在各个虚拟HSM中的一条或多条已接收消息中,由与控制***相关的应用程序请求的已接收消息被控制装置21基于优先级登记在HSM 11中。应用于该处理的优先级可以是上述的第一优先级或第二优先级。在本实施例中,由控制***应用程序A请求的并且存储在虚拟机31的虚拟HSM中的已接收消息被控制装置21登记在HSM 11中。因此,在虚拟HSM中控制***应用程序的已接收消息在已经登记在HSM 11中的自主驾驶应用程序的已接收消息之后被登记。当控制***应用程序的所有已接收消息都登记在HSM 11中时,该处理进行到步骤S904。
步骤S904
在存储在各个虚拟HSM中的一条或多条已接收消息中,由与多媒体***相关的应用程序请求的已接收消息由控制装置21基于第一优先级或第二优先级登记在HSM 11中。应用于该处理的优先级可以是上述的第一优先级或第二优先级。在本实施例中,控制装置21将通过来自多媒体***应用程序C的请求而存储在虚拟机33的虚拟HSM中的已接收消息在已经登记在HSM11中的控制***应用程序的已接收消息之后进行登记。因此,不需要被优先处理的多媒体***应用程序的已接收消息被最后登记在HSM 11中。当多媒体***应用程序的所有已接收消息都登记在HSM 11中时,根据第二处理示例的仲裁处理结束。
对存储在虚拟机31至33的所有虚拟HSM中的所有已接收消息执行上述步骤S903和S904的处理。
在根据该第二处理示例的BSW通信处理和仲裁处理中,当车辆的自主驾驶正在进行时,自主驾驶应用程序的消息被登记在HSM中,具有最高的优先级,而不需要仲裁,而当车辆的自主驾驶没有在进行时,基于优先级对HSM中所有消息的登记顺序(加密处理的顺序)进行仲裁。也就是说,由与自主驾驶相关的应用程序请求的发送消息和已接收消息可以在优先于由其他应用程序请求的发送消息和已接收消息的同时登记在HSM 11中。因此,即使在虚拟化机制处理的周期性处理和虚拟机处理的周期性处理之间存在延迟(偏差),也能够避免该处理延迟影响不能允许的应用程序的消息的加密处理。此外,控制装置21的仲裁单元不需要判定车辆的状态是否处于自主驾驶期间,而且控制装置21的处理负荷降低。
图10示出了各个应用程序的发送消息和已接收消息的示例,其中发送消息和已接收消息基于根据第二处理示例的仲裁处理被登记在HSM 11中。暂时存储在虚拟机32的虚拟HSM中的消息被直接登记在HSM 11中。暂时存储在虚拟机31和33的各个虚拟HSM中的消息被传递到控制装置21的仲裁单元,然后在仲裁单元中执行基于车辆状态和优先级的处理顺序的仲裁。然后,作为仲裁的结果,基于优先级使消息在HSM 11中以发送消息>已接收消息,以及应用程序A>应用程序C的顺序进行登记。
操作和效果
如上所述,在根据本公开的实施例的控制装置中,来自各个应用程序的发送消息和针对各个应用程序的已接收消息的加密处理的顺序是基于根据应用程序的请求(例如发送延迟允许时间)的预定优先级进行仲裁的。在仲裁时,来自各个应用程序的全部或部分消息和针对各个应用程序的消息被暂时存储在各个虚拟机中提供的虚拟HSM中,并且存储的多条消息基于优先级进行仲裁。这抑制了时间受限的应用程序不能满足性能要求。
此外,在根据本实施例的控制装置中,可以根据车辆的状态来改变优先级。因此,能够实现这样的控制,其中可以优先处理特定应用程序(例如与自主驾驶相关的应用程序)的加密处理。在本实施例中,作为优先级,已经描述了这样的示例,其中当车辆的自主驾驶正在进行时,与自主驾驶相关的应用程序被赋予最高优先级。然而,除此之外,要优先处理的消息可以根据各种车辆的状态来改变。例如,当正在执行诊断处理(diag processing)时,与诊断相关的消息可以被优先处理,当插电式充电正在进行时,与外部充电相关的消息可以被优先处理,当车辆驻车或停车且未使用时,该状态所需的消息可以被优先处理,而在以无线方式进行ECU软件更新处理(OTA)的状态中,更新处理所需的消息可以被优先处理。这种根据优先级目标的优先级变化可以通过适当地改写存储在虚拟化机制的存储单元中的内容而轻松地实现,并且可以根据在虚拟机中实现的应用程序的数量和类型而使之灵活地对应。
此外,根据根据本实施例的控制装置,由于HSM只需要依次执行经由虚拟化机制被登记的消息的加密处理,所以现有的HSM能够被原样使用。此外,在虚拟机中实现的通信软件中,由于消息登记目的地(存储目的地)只是从HSM改变为虚拟HSM,而其控制并没有改变,所以不需要大规模的修改。
本实施例的优先级示出了这样的示例,该示例定义了发送消息和已接收消息之间的优先级关系、各个应用程序(A、B、C)的优先级关系、以及各个应用程序类型(控制***、多媒体***)的优先级关系。然而,除了这个定义之外,还可以针对各个虚拟机定义优先级关系。例如,可以考虑诸如虚拟机31>虚拟机32>虚拟机33的优先级关系。优先级设定方法的示例包括给出绝对优先级关系(应用程序A:中,应用程序B:高,应用程序C:低)的方法和给出相对优先级关系(应用程序B>应用程序A,应用程序B>应用程序C,应用程序A>应用程序C)的方法等等作为示例。
尽管上面已经描述了本公开的技术的一个实施例,但是除了控制装置之外,本公开还可以被解释为例如由包括处理器和存储器的控制装置执行的控制方法、该方法的控制程序、存储该控制程序的计算机可读非暂时性存储介质,或者安装该控制装置的车辆。
本公开能够作为安装在车辆上的控制装置使用。
Claims (8)
1.一种控制装置,其控制多个应用程序的运行,所述控制装置包括:
第一获取单元,其获取从所述多个应用程序发送的消息和由所述多个应用程序接收的消息;
存储单元,其存储优先级,所述优先级至少针对与所述多个应用程序相关的所述消息的处理设定优先顺序;以及
仲裁单元,其基于由所述存储单元存储的所述优先级,对由所述第一获取单元获取的所述消息的加密处理的顺序进行仲裁。
2.根据权利要求1所述的控制装置,
其中,所述控制装置被安装在车辆上,
其中,所述控制装置还包括第二获取单元,所述第二获取单元获取所述车辆的状态,
其中,所述存储单元存储向第一应用程序赋予最高优先级的第一优先级和向除所述第一应用程序以外的第二应用程序赋予最高优先级的第二优先级来作为所述优先级,
其中,当由所述第二获取单元获取的所述车辆的所述状态是第一状态时,所述仲裁单元基于所述第一优先级对由所述第一获取单元获取的所述消息的加密处理的顺序进行仲裁,并且
其中,当由所述第二获取单元获取的所述车辆的所述状态是除所述第一状态之外的第二状态时,所述仲裁单元基于所述第二优先级对由所述第一获取单元获取的所述消息的所述加密处理的所述顺序进行仲裁。
3.根据权利要求2所述的控制装置,
其中,所述车辆能够执行自主驾驶,
其中,所述第一应用程序是与自主驾驶相关的应用程序,并且
其中,所述第一状态是所述车辆正在执行自主驾驶的状态。
4.根据权利要求1所述的控制装置,
其中,所述控制装置安装在能够执行自主驾驶的车辆上,并且
其中,所述仲裁单元执行仲裁,在所述仲裁中,在所述多个应用程序中,与自主驾驶相关的应用程序的消息的处理顺序被赋予最高优先级。
5.根据权利要求1至4中任一项所述的控制装置,其中,存储在所述存储单元中的所述优先级被设定为使从所述应用程序发送的所述消息优先于由所述应用程序接收的所述消息。
6.一种由控制装置的计算机执行的控制方法,所述控制方法包括:
获取从应用程序发送的消息和由所述应用程序接收的消息的步骤;
存储优先级的步骤,所述优先级至少针对与多个所述应用程序相关的所述消息的处理设定优先顺序;以及
基于所述优先级对获取的所述消息的加密处理的顺序进行仲裁的步骤。
7.一种存储介质,其存储由控制装置的计算机执行的控制程序,所述控制程序包括:
获取从应用程序发送的消息和由所述应用程序接收的消息的步骤;
存储优先级的步骤,所述优先级至少针对与多个所述应用程序相关的所述消息的处理设定优先顺序;以及
基于所述优先级对获取的所述消息的加密处理的顺序进行仲裁的步骤。
8.一种车辆,其配备有根据权利要求1至6中任一项所述的控制装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021025567A JP2022127418A (ja) | 2021-02-19 | 2021-02-19 | 制御装置、方法、プログラム、及び車両 |
JP2021-025567 | 2021-02-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114967635A true CN114967635A (zh) | 2022-08-30 |
Family
ID=82900643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111570733.5A Pending CN114967635A (zh) | 2021-02-19 | 2021-12-21 | 控制装置、方法、存储介质和车辆 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220269546A1 (zh) |
JP (1) | JP2022127418A (zh) |
CN (1) | CN114967635A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280391B2 (en) * | 2010-08-23 | 2016-03-08 | AVG Netherlands B.V. | Systems and methods for improving performance of computer systems |
US10715599B2 (en) * | 2015-11-30 | 2020-07-14 | Verizon Patent And Licensing, Inc. | Internet of things (IoT) platform and application framework |
US10691340B2 (en) * | 2017-06-20 | 2020-06-23 | Samsung Electronics Co., Ltd. | Deduplication of objects by fundamental data identification |
EP3667604A1 (en) * | 2017-08-08 | 2020-06-17 | Nec Corporation | Data transmission/reception control system, method and program |
WO2019083991A1 (en) * | 2017-10-23 | 2019-05-02 | Yuan Zhichao | SYSTEMS AND METHODS FOR DATA ENCRYPTION AND DECREASING BASED ON PROGRAMMABLE MATERIAL |
JP6915532B2 (ja) * | 2017-12-28 | 2021-08-04 | 富士通株式会社 | 情報処理装置、情報共有システムおよび同期制御方法 |
-
2021
- 2021-02-19 JP JP2021025567A patent/JP2022127418A/ja active Pending
- 2021-12-08 US US17/643,283 patent/US20220269546A1/en active Pending
- 2021-12-21 CN CN202111570733.5A patent/CN114967635A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022127418A (ja) | 2022-08-31 |
US20220269546A1 (en) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599349B2 (en) | Gateway device, in-vehicle network system, and firmware update method | |
JP6165243B2 (ja) | コンピュータネットワークにおいて車両搭載可能コントローラを動作させるための方法、車両搭載可能コントローラおよびデバイス | |
KR920001552B1 (ko) | 다중 컴퓨터 시스템이 접속된 로컬 에어리어 네트워크 시스템 | |
JP7280412B2 (ja) | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 | |
US7689732B2 (en) | Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels | |
US20150370582A1 (en) | At least one user space resident interface between at least one user space resident virtual appliance and at least one virtual data plane | |
CN110971591B (zh) | 一种多进程访问可信应用的方法和*** | |
US20160173335A1 (en) | Network interface module and a method of changing network configuration parameters within a network device | |
JP3970786B2 (ja) | マルチプロセッサシステム | |
CN109783245B (zh) | 基于双***共享内存的数据交互方法及*** | |
CN114967635A (zh) | 控制装置、方法、存储介质和车辆 | |
JP2022123826A (ja) | データ処理装置及びデータ処理システム | |
JP4856413B2 (ja) | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 | |
US8806082B2 (en) | Direct memory access device for multi-core system and operating method of the same | |
US10606770B2 (en) | Microcontroller system and method for controlling memory access in a microcontroller system | |
US9971724B1 (en) | Optimal multi-core network architecture | |
CN111427816A (zh) | 一种amp***核间通讯方法、计算机设备及存储介质 | |
US11782702B2 (en) | Generation of code for a system | |
EP3182282A1 (en) | Method for operating a system in a control unit and system | |
KR101024549B1 (ko) | 로봇 제어기의 조인트 맵핑 시스템 | |
US20240078128A1 (en) | Control device, control system, and control method | |
WO2020179344A1 (ja) | 車両制御装置 | |
CN108701103B (zh) | 具有工作存储器的计算单元的存储器直接访问控制装置 | |
JP5780186B2 (ja) | 車両用通信装置 | |
JP2022100138A (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 |