Method for multi-virtual machine communication in centralized ee architecture of automobile
By employing a multi-virtual machine communication method in the automotive centralized EE architecture, the problem of inconsistent hardware and software standards among different vendors is solved, enabling efficient resource utilization and rapid application deployment, and supporting the operation of real-time and high-performance applications.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI HEQIAN ELECTRONICS TECH CO LTD
- Filing Date
- 2023-03-23
- Publication Date
- 2026-04-28
AI Technical Summary
In automotive centralized EE architectures, the lack of standardization in hardware and software from different vendors leads to low utilization of computing resources and communication barriers, making it difficult to effectively manage and deploy applications.
A multi-virtual machine communication method is adopted, with the first functional node providing system-level services, the second functional node managing applications, and the third functional node communicating with sensors and actuators. Communication is carried out using a virtualization platform and middleware, and resource allocation and deployment are optimized through system monitoring and coordination services.
It achieves compatibility with hardware and software from different vendors, improves system resource utilization, supports rapid application deployment, and can efficiently run real-time and high-performance applications.
Smart Images

Figure CN116527745B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent vehicle communication, and in particular to a communication method for a centralized E / E electronic architecture in automobiles. Background Technology
[0002] In recent years, with the advancement of automotive technology, the complexity and types of applications required in automobiles have gradually increased, especially due to Advanced Driver Assistance Systems (ADAS) and autonomous driving. Furthermore, compliance with automotive standard ISO 26262 and meeting all non-safety and safety requirements (i.e., ISO 26262) during the design and configuration of automotive software architecture have increased complexity. To meet the needs of intelligent vehicle development, automotive E / E architecture has gradually shifted from a traditional distributed architecture to a centralized architecture. Automotive E / E architecture began with a distributed / decentralized architecture, where a significant number of electronic control units (ECUs) were interconnected, each with specific functions. It then moved to a domain using centralized domain controllers, and then to a centralized / regional architecture where the vehicle architecture utilizes a centralized architecture with interconnected regions. In a centralized E / E architecture, devices and applications interact to provide intelligent services in different environments, such as intelligent vehicles. However, one challenge is that suppliers of automotive components such as sensors, actuators, domain controllers, and other hardware, as well as software application suppliers, have different standards. This means that each supplier has different hardware requirements for the applications they develop and their corresponding devices, leading to reduced utilization of computing resources provided in the computing platform. The existence of different applications for the same type of sensor increases the utilization of computing resources. Furthermore, the software components controlling hardware from different vendors may be based on different programming languages, creating barriers to communication between applications. Summary of the Invention
[0003] To address one of the shortcomings of existing technologies, this invention provides a multi-virtual machine communication method for a centralized EE architecture in automobiles, comprising at least: a first functional node, serving as a service node, for providing system-level services to the system platform to improve the utilization of system resources, and at least setting up system monitoring services and system coordination services;
[0004] The second functional node, as a processing node, is used to manage and control the applications running on the system platform, and at least a node control service must be set up.
[0005] The third functional node, as a sensor or actuator node, is used to communicate with peripheral sensors and / or actuators and provide services to the application, at least setting up a sensor-execution service;
[0006] The first functional node, the second functional node, and the third functional node run on a virtualization platform and communicate with each other through middleware.
[0007] The services in the system platform send registration events to the system monitoring service to register.
[0008] The system coordination service obtains the configuration information required by the application and obtains information about available secondary function nodes, as well as idle CPU usage and memory utilization, from the system monitoring service.
[0009] In one possible implementation, preferably, one or more second and third functional nodes are created as needed, and the created second and third functional nodes are configured and run through virtual machines according to application requirements;
[0010] Determine whether the communication methods and corresponding software control programming languages and interfaces of the same type of sensors or actuators provided by different users are the same. If they are not the same, create virtual machines that match the number of users, and deploy the corresponding applications in the multiple virtual machines.
[0011] Applications deployed in different virtual machines communicate via shared memory, virtual machine gateways, or middleware.
[0012] In one possible implementation, preferably, the node control service application scheduling algorithm is deployed to the second functional node to control the second functional node to maximize resource utilization and / or minimize power consumption.
[0013] The node control service from the second functional node obtains data from the target application from the system data storage service;
[0014] The node control service from the second functional node creates virtual machines and deploys the target application to run in the created virtual machines;
[0015] The target application obtains data collected by sensors or actuators from the section-aware execution service.
[0016] In one possible implementation, preferably, the data monitored by the system monitoring service includes at least one of the following: the current system's active services, computing resources, sensors, and actuators.
[0017] In one possible implementation, preferably, a system data storage service is provided in the first functional node, which is used to store at least the data required by the application and the system platform data;
[0018] Alternatively, in the second functional node, the application communicates with other nodes through the node control service, and the application and the system platform services exchange information or obtain data from the processor or actuator.
[0019] Alternatively, the node-aware execution service is used to communicate with applications that send data collected from sensors / actuators to processing nodes.
[0020] In one possible implementation, preferably, the system coordination service arranges the deployment of the application on the qualified second functional node based on how the second functional node matches the configuration required by the application.
[0021] The system coordination service controls the application startup and shutdown process.
[0022] A centralized multi-virtual machine communication method for an in-vehicle EE architecture is proposed. The implementation of the following method is based on the aforementioned method. In one possible implementation, preferably, the functional implementation of the first functional node, the second functional node, the third functional node, and the system platform is based on the following abstract multi-level implementation, specifically configured as: application layer, service layer.
[0023] The abstraction layer is located above the application layer, which in turn is above the service layer.
[0024] In one possible implementation, preferably, the application layer runs on top of a virtual machine and is the logical layer where the application resides, and the application communicates using object-oriented services in the system platform.
[0025] The service layer includes various system-level and non-system-level services, and adopts object-oriented service communication.
[0026] The abstraction layer includes super-supervisor-based virtualization and container-based virtualization, as well as a service-oriented architecture that runs on top of either super-supervisor-based or container-based virtualization.
[0027] In one possible implementation, preferably, the abstract multi-level implementation also includes:
[0028] The communication layer specifically includes at least one or more of the following protocols: SOME / IP, TSN802.1AS, AVB, and TCP / IP.
[0029] The perception and execution layer includes various sensors and actuators;
[0030] The hardware layer includes the basic hardware on which the system platform runs.
[0031] In one possible implementation, preferably, the hardware layer provides a real-time processing core and a high-performance processing core;
[0032] Real-time virtual machines and high-performance virtual machines are created after virtualization based on real-time processing cores and high-performance processing cores, respectively.
[0033] Real-time virtual machines are used to deploy applications that require real-time communication capabilities.
[0034] High-performance virtual machines are used to deploy applications and system-level services with high load requirements.
[0035] In one possible implementation, preferably, when the implementation of the preset function requires the joint implementation of real-time applications and high-performance applications, the system coordination service creates corresponding virtual machines on the hardware basis of the real-time processing core and the high-performance processing core, respectively, for the deployment of the real-time applications and the high-performance applications.
[0036] In one possible implementation, preferably, a system-level service parses the virtual machine's configuration file and allocates the necessary hardware resources and dependencies for the virtual machine to run, and creates and starts the virtual machine.
[0037] Virtual machines create applications with pre-defined functions.
[0038] In one possible implementation, preferably, the virtualization platforms of the first functional node, the second functional node, and the third functional node communicate using a service-oriented architecture, and when transmitting client-server communication with real-time requirements, a real-time control protocol for time-sensitive data flow is used.
[0039] When the server provides services, it sends service event notifications with deterministic upgrade cycles and delays to the client.
[0040] When a client needs to subscribe to a service, it needs to provide a service discovery request with a deterministic upgrade cycle and delay. The server determines whether it can provide a service that satisfies the deterministic upgrade cycle and delay. If it does, the service is provided.
[0041] In one possible implementation, preferably, the client sends a service event with an upgrade cycle to the client middleware, and the client middleware broadcasts a request to provide the service to the server that can provide the service through service discovery.
[0042] The server sends a service event specifying the upgrade cycle to the server middleware.
[0043] When the server-side middleware receives a service request from the client, it sends the service upgrade cycle to the client-side middleware.
[0044] The client-side middleware determines whether the provided services can meet the client's upgrade cycle. If so, it sends a success message.
[0045] The client sends a notification of the subscribed service with the maximum delay to the client middleware, and the client middleware sends a subscription event group message with the maximum delay to the server middleware.
[0046] The server-side middleware sends the request with the maximum latency to the protocol stack to reserve bandwidth. After the bandwidth reservation is successful, it sends a message to the client-side middleware with the maximum latency that can be provided.
[0047] The client-side middleware sends a success message to the client.
[0048] Beneficial effects:
[0049] In the technical solution provided by this invention, functional nodes are abstracted through this embodiment, and different functional nodes are deployed through a virtualization platform, enabling communication in a centralized EE architecture. However, the lack of uniformity in hardware control software and pure software programming languages or interfaces provided by different suppliers or users can cause obstacles in the entire in-vehicle network communication, or require complex adaptations to achieve communication. Through the technical solution of this invention, different functional nodes are configured and designed using a virtual machine platform to undertake different functional tasks. By cooperating with various functional nodes, applications and devices from different suppliers or users can be quickly deployed. Simultaneously, system resources can be allocated according to demand, enabling the system to run efficiently, simultaneously running real-time and high-performance applications. Attached Figure Description
[0050] The following figures are for illustrative purposes only and do not limit the scope of the invention.
[0051] Figure 1 This is a schematic diagram of the deployment architecture of internal functional nodes in an ECU according to an embodiment of the present invention.
[0052] Figure 2 This is a schematic diagram of a functional node virtualization architecture according to an embodiment of the present invention.
[0053] Figure 3 This is a schematic diagram of a centralized E / E electronic architecture for a vehicle local area network according to an embodiment of the present invention.
[0054] Figure 4 This is a schematic diagram of the software architecture for implementing functional nodes in an ECU according to an embodiment of the present invention.
[0055] Figure 5 This is a schematic diagram of an object-oriented service-based architecture communication according to an embodiment of the present invention. Detailed Implementation
[0056] To provide a clearer understanding of the technical features, objectives, and effects of this invention, specific embodiments are now described with reference to the accompanying drawings, in which the same reference numerals denote the same parts. For the sake of simplicity, the parts related to this invention are shown schematically in each drawing and do not represent their actual structure as a product. Furthermore, for the sake of clarity and ease of understanding, in some drawings, components with the same structure or function are shown only schematically, or only one is labeled.
[0057] Regarding control systems, as is well known to those skilled in the art, functional modules and application programs (APPs) can take any suitable form, whether hardware or software, and can be multiple discrete functional modules or multiple functional units integrated onto a single hardware device. In its simplest form, the control system can be a controller, such as a combinational logic controller or a microprogrammed controller, as long as it can implement the operations described in this application. Of course, the control system can also be integrated as different modules onto a single physical device, without departing from the basic principles and scope of protection of this invention.
[0058] In this invention, "connection" can include direct connection, indirect connection, communication connection, electrical connection, unless otherwise specified.
[0059] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly specifies otherwise. It will also be understood that, when used in the specification, the terms “comprising” and / or “including” mean the presence of the stated features, values, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, values, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the listed related items.
[0060] It should be understood that the term "vehicle" or "of a vehicle" or other similar terms as used herein generally includes motor vehicles, such as passenger cars including sport utility vehicles (SUVs), buses, trucks, various commercial vehicles, boats including various vessels, aircraft, etc., and includes hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen-powered vehicles, and other vehicles powered by alternative fuels (e.g., fuels derived from non-petroleum energy sources). As mentioned herein, a hybrid vehicle is a vehicle with two or more power sources, such as both gasoline and electric power.
[0061] Furthermore, the controller disclosed herein can be embodied as a non-transient computer-readable medium on a computer-readable medium containing executable program instructions that are executed by a processor, controller, or the like. Examples of computer-readable media include, but are not limited to, ROM, RAM, optical disc (CD)-ROM, magnetic tape, floppy disk, flash memory drive, smart card, and optical data storage device. Computer-readable recording media can also be distributed across a network-coupled computer system, such that the computer-readable media are stored and executed in a distributed manner, for example, via a telematics server or a controller area network (CAN).
[0062] This invention provides a communication method for multiple virtual machines in a centralized EE architecture, such as... Figures 1 to 5 As shown, it includes at least: See Figure 1 The first functional node, as a service node, is used to provide system-level services to the system platform to improve the utilization of system resources. At least system monitoring services and system coordination services should be set up.
[0063] The second functional node, as a processing node, is used to manage and control the applications running on the system platform, and at least a node control service must be set up.
[0064] The third functional node, as a sensor or actuator node, is used to communicate with peripheral sensors and / or actuators and provide services to the application, at least setting up a sensor-execution service;
[0065] The first functional node, the second functional node, and the third functional node run on a virtualization platform and communicate with each other through middleware.
[0066] The services in the system platform send registration events to the system monitoring service to register.
[0067] The system coordination service obtains the configuration information required by the application and obtains information about available secondary function nodes, as well as idle CPU usage and memory utilization, from the system monitoring service.
[0068] Specifically, the above settings enable hardware and applications from different manufacturers to communicate.
[0069] Specifically, multiple second and third functional nodes can be created as needed. The functional nodes are configured and run through virtual machines according to application requirements.
[0070] Determine whether the communication methods and corresponding software control programming languages and interfaces of the same type of sensors or actuators provided by different users are the same. If they are not the same, create virtual machines that match the number of users, and deploy the corresponding applications in the multiple virtual machines.
[0071] Applications deployed in different virtual machines communicate via shared memory, virtual machine gateways, or middleware.
[0072] By implementing the above technical solutions, it is possible to be compatible with software or hardware products provided by different suppliers or users, even though they may use different programming languages or interface platforms.
[0073] Specifically, system-level services can be created by creating a main virtual machine and then creating the system-level service on the main virtual machine;
[0074] Specifically, in the first functional node, system-level services are implemented through classes. System-level services include at least one or more of the following: system monitoring services, system coordination services, and system data storage services.
[0075] System data storage service is used to ensure the secure management of application-stored data.
[0076] The system monitoring service monitors the status of the system platform, including platform services and applications, platform services and effective processing nodes, effective sensors and actuators used, and the utilization of CPU computing power and memory on the processing nodes.
[0077] The system coordination service schedules applications to be deployed on appropriate processing nodes, matches the necessary configurations required by the applications based on the processing nodes, and can start and stop applications.
[0078] The data acquired by the system monitoring service includes at least one of the following: the current system's active services, computing resources, sensors, and actuators.
[0079] The aforementioned system-level services enable the management, control, communication, and deployment of functional nodes running on the system platform.
[0080] Specifically, the implementation of the system coordination service to enable or disable applications includes:
[0081] The system coordination service obtains the virtual machine where the application to be controlled resides based on the requirements, and sends control commands to the virtual machine. After receiving the control commands, the virtual machine starts or stops the application according to the requirements of the control commands.
[0082] When no application is running in the virtual machine, and no application is running after a preset waiting period, the data generated by the application is sent to the system storage service for storage, and the system-level coordination service will destroy the virtual machine.
[0083] The above methods can save system resources.
[0084] Specifically, the system data storage service is used to store at least the data required by the application and the system platform data;
[0085] In the second functional node, the application communicates with other nodes through the node control service, and the application and the system platform services exchange information or obtain data from the processor or actuator.
[0086] Node-aware execution services are used to enable applications to send data collected from sensors / actuators to processing nodes.
[0087] The system coordination service arranges the deployment of the application on the qualified second functional node based on how the second functional node matches the configuration required by the application.
[0088] The system coordination service controls the application startup and shutdown process.
[0089] The operating system running the node control service of the second functional node is in a virtualized environment.
[0090] See Figure 2 , Figure 2 This is a schematic diagram of the functional node virtualization architecture. In this implementation, the underlying virtualization layer has an operating system, the Hypervisor virtualization middleware runs on top of the operating system, and the virtual machines run on the Hypervisor virtualization middleware.
[0091] The virtualization architecture solution described in this embodiment is not limited to the above solution. It can also be implemented without the underlying operating system. The Hypervisor virtualization middleware runs directly on the underlying hardware and calls and allocates underlying hardware resources through privileged instructions.
[0092] Specifically, in order to enable the above system platform to be implemented efficiently, a multi-layered structure is adopted in the software architecture, which is different from the OSI model of existing technologies. At the same time, the existing OSI model is not suitable for the implementation of the above technical solution in this embodiment.
[0093] The implementation of the functions of the first functional node, the second functional node, the third functional node, and the system platform is based on the following multi-level abstraction, specifically including at least:
[0094] The application layer contains special applications that run on virtual machines and require specific hardware configurations. These applications reside in the logical layer of the system platform and communicate using object-oriented services.
[0095] In the system platform, applications that need to run on virtual machines are deployed at the application layer.
[0096] The service layer includes various system-level and non-system-level services, and uses object-oriented service communication.
[0097] An abstraction layer, including super-supervisor-based virtualization and container-based virtualization, provides a service-oriented architecture that runs on top of super-supervisor-based or container-based virtualization.
[0098] The communication layer specifically includes at least one of the following protocols: SOME / IP, TSN802.1AS, AVB, and TCP / IP.
[0099] The perception and execution layer includes various sensors and actuators, such as cameras, LiDAR, and millimeter-wave radar; and actuators such as brakes, accelerators, and turn signals.
[0100] The hardware layer includes the basic hardware on which the system platform runs.
[0101] Basic hardware includes the hardware required to support the operation of the system platform, such as processors, PCB boards, memory, and other functional chips.
[0102] In existing technologies, there are high-performance SoCs or ARM processors and other hardware. This embodiment is based on an in-vehicle system, which contains real-time data and non-real-time data requiring high-performance computation. The transmission of real-time data has stringent latency requirements, and the processing of large amounts of data, such as the fusion of images from cameras, data from LiDAR, and data from millimeter-wave radar in autonomous driving using neural network algorithms, requires significant computing power. To address the need for several different types of data communication within a single functional scenario, such as the requirement for high-performance GPUs for processing LiDAR point cloud data and the real-time transmission of obstacle detection signals, existing technologies cannot meet this requirement.
[0103] For details, see Figure 3 and Figure 4 , Figure 3 This is a schematic diagram of a centralized EE electronic and electrical architecture provided in this embodiment. The actual vehicle can be modified according to functional requirements, and the communication method provided by this invention is not limited to this.
[0104] In the diagram, the ECU super brain is connected to the ECU regional gateway. The ECU regional gateway connects sensors and actuators. Through the regional gateway, data from the sensors or actuators can be transmitted to the ECU super brain, or control commands can be transmitted to the sensors or actuators through the ECU regional gateway.
[0105] Therefore, through the above architecture, sensors and actuators from different manufacturers can be connected to the network. By configuring the communication method of the above embodiment in the ECU regional gateway or ECU super brain, communication can be achieved, which can solve the problem of different programming languages and different interfaces provided by different suppliers and users.
[0106] This embodiment provides the following method:
[0107] The hardware layer provides real-time processing cores and high-performance processing cores;
[0108] Specifically, see Figure 4 At the underlying hardware level, different hardware kernels are set up, including real-time processing kernels and high-performance processing kernels. For apps that require real-time communication, such as brake signals and steering information, a real-time operating system is provided on the virtualization layer, and a real-time protocol stack is set up at the underlying level. This can meet the requirements of real-time communication, while also ensuring high-performance operation. For example, camera images and radar point cloud data need to be fused, which requires a lot of computing. Therefore, these apps are built on high-performance hardware.
[0109] Real-time virtual machines and high-performance virtual machines are created after virtualization based on real-time processing cores and high-performance processing cores, respectively.
[0110] Real-time virtual machines are used to deploy applications that require real-time communication capabilities.
[0111] High-performance virtual machines are used to deploy applications and system-level services with high load requirements.
[0112] Specifically, when the implementation of a preset function requires the joint implementation of a real-time application and a high-performance application, the system coordination service creates corresponding virtual machines on the hardware basis of the real-time processing core and the high-performance processing core, respectively, to deploy the real-time application and the high-performance application.
[0113] Meanwhile, the virtual machine created within the real-time processing core hardware runs on a real-time operating system and utilizes a real-time communication protocol stack, including at least one or more of the following: SOME / IP protocol, TSN protocol, and TCP / IP protocol.
[0114] Meanwhile, a hybrid communication protocol stack is set up in high-computing applications, including at least one or more of the following: SOME / IP protocol, AVB protocol, TSN protocol, DDS protocol, and TCP / IP protocol.
[0115] Specifically, to utilize resources more efficiently, the traditional method of creating a virtual machine differs from conventional methods. Traditionally, virtual machine creation only uses basic system resources; in other words, it doesn't calculate the actual resources required by the virtual machine, leading to wasted resources. Therefore, to address this issue, the system platform needs to provide the resources required by the programs running the virtual machine and the configuration files that depend on the virtual machine during creation.
[0116] The system-level service parses the virtual machine's configuration file, allocates the necessary hardware resources and dependencies for the virtual machine to run, and creates and starts the virtual machine.
[0117] Virtual machines create applications with pre-defined functions.
[0118] In the process of using object-oriented services, the client, which can be called the control service, is called by the application; while the server provides services, such as sensor services or actuator services, as well as the application that provides the services.
[0119] Client and server are relative concepts. When you need to call a service, you are called a client; when you provide a service, you are called a server.
[0120] Interaction between the client and server can also be achieved through service events or methods, with client / server roles exchanging between the controller and the executor.
[0121] The binding between the server (service provider) and the client (service user) is dynamically established through service discovery, providing scalability and allowing the addition of new service users without any adjustments to existing service providers.
[0122] Specifically, in order to further meet the communication requirements of the new EE architecture, during implementation,
[0123] Advanced driver assistance and autonomous driving functions, as well as chassis applications, use real-time control protocols that utilize time-sensitive control data streams.
[0124] When transmitting client-server communication with real-time requirements, a real-time control protocol that uses time-sensitive data flow control is adopted.
[0125] When the server provides services, it sends service event notifications with deterministic upgrade cycles and delays to the client.
[0126] When a client needs to subscribe to a service, it needs to provide a service discovery request with a deterministic upgrade cycle and delay. The server determines whether it can provide a service that satisfies the deterministic upgrade cycle and delay. If it does, the service is provided.
[0127] Specifically, the client and server make calls to different functional nodes through middleware; the middleware is implemented individually or in combination with SOME / IP, DDS, TSN protocol stacks, etc.
[0128] See details Figure 5 , Figure 5 This is a diagram illustrating communication in an object-oriented service-based architecture.
[0129] The client sends service events with upgrade cycles to the client middleware, which then broadcasts service requests to the service providers that can offer the service via service discovery.
[0130] The server sends a service event specifying the upgrade cycle to the server middleware.
[0131] When the server-side middleware receives a service request from the client, it sends the service upgrade cycle to the client-side middleware.
[0132] The client middleware determines whether the provided services can meet the client's upgrade cycle. If they can, it sends a success message.
[0133] The client sends a notification of the subscribed service with the maximum delay to the client middleware, and the client middleware sends a subscription event group message with the maximum delay to the server middleware.
[0134] The server-side middleware sends the request with the maximum latency to the protocol stack to reserve bandwidth. After the bandwidth reservation is successful, it sends a message to the client-side middleware with the maximum latency that can be provided.
[0135] The client-side middleware sends a success message to the client.
[0136] The above descriptions are merely preferred embodiments of the present invention, and the present invention is not limited to the above embodiments. Those skilled in the art will understand that the forms in these embodiments are not limited thereto, nor are the adjustments possible. It is understood that other improvements and variations directly derived or conceived by those skilled in the art without departing from the basic concept of the present invention should be considered to be included within the scope of protection of the present invention.
Claims
1. A multi-virtual machine communication method for a centralized EE architecture in automobiles, characterized in that, At least including: The first functional node, as a service node, is used to provide system-level services to the system platform to improve the utilization of system resources. At least system monitoring services and system coordination services should be set up. The second functional node, as a processing node, is used to manage and control the applications running on the system platform, and at least a node control service must be set up. The third functional node, as a sensor or actuator node, is used to communicate with peripheral sensors and / or actuators and provide services to the application, at least setting up a sensor-execution service; The first functional node, the second functional node, and the third functional node run on a virtualization platform and communicate with each other through middleware. The services in the system platform send registration events to the system monitoring service to register. The system coordination service obtains the configuration information required by the application and obtains information about available secondary function nodes, as well as idle CPU utilization and memory utilization, from the system monitoring service. The system coordination service matches the configuration required by the application with the second functional node and arranges the application to be deployed on the qualified second functional node. The system coordination service controls the startup and shutdown process of applications.
2. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 1, characterized in that, As required, create one or more second and third functional nodes. Based on application requirements, the created second and third functional nodes are configured and run through virtual machines. Determine whether the communication methods and corresponding software control programming languages and interfaces of the same type of sensors or actuators provided by different users are the same. If they are not the same, create virtual machines that match the number of users, and deploy the corresponding applications in the multiple virtual machines. Applications deployed in different virtual machines communicate via shared memory, virtual machine gateways, or middleware.
3. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 1, characterized in that, The node control service deploys the application scheduling algorithm to the second functional node to control the resource utilization of the second functional node to maximize and / or minimize power consumption. The node control service from the second functional node obtains data from the target application from the system data storage service; The node control service from the second functional node creates virtual machines and deploys the target application to run in the created virtual machines; The target application obtains data collected by sensors or actuators from the perception execution service.
4. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 1, characterized in that, The data acquired by the system monitoring service comes from one of the following sources: the current system's active services, computing resources, sensors, and actuators.
5. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 1, characterized in that, The first functional node includes a system data storage service, which stores the data required by the application and system platform data. Alternatively, in the second functional node, the application communicates with other nodes through the node control service, and the application and the system platform services exchange information or obtain data from the processor or actuator. Alternatively, the perception execution service is used to enable applications that send collected data from sensors / actuators to processing nodes.
6. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in any one of claims 1-5, characterized in that, The functions of the first functional node, the second functional node, the third functional node, and the system platform are implemented based on the following multi-level abstraction, specifically configured as: application layer, service layer, and abstraction layer, where the application layer is above the service layer, and the service layer is above the abstraction layer.
7. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 6, characterized in that, The application layer is the logical layer where the application runs on top of the virtual machine and requires the corresponding hardware configuration. The application uses object-oriented services for communication within the system platform. The service layer includes various system-level services and non-system-level services, all of which use object-oriented service communication. The abstraction layer includes super-supervisor-based virtualization and container-based virtualization, as well as a service-oriented architecture that runs on top of either super-supervisor-based or container-based virtualization.
8. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 6, characterized in that, The abstract multi-level implementation also sets: The communication layer specifically includes at least one or more of the following protocols: SOME / IP, TSN802.1AS, AVB, and TCP / IP. The perception and execution layer includes various sensors and actuators; The hardware layer includes the basic hardware on which the system platform runs.
9. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 8, characterized in that, The hardware layer provides real-time processing cores and high-performance processing cores; Real-time virtual machines and high-performance virtual machines are created after virtualization based on real-time processing cores and high-performance processing cores, respectively. Real-time virtual machines are used to deploy applications that require real-time communication capabilities. High-performance virtual machines are used to deploy applications and system-level services with high load requirements.
10. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 8, characterized in that, When the implementation of a preset function requires the joint implementation of real-time applications and high-performance computing applications, the system coordination service creates corresponding virtual machines on the hardware basis of the real-time processing core and the high-performance processing core, respectively, for the deployment of the real-time applications and high-performance computing applications.
11. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 8, characterized in that, The system-level service parses the virtual machine's configuration file, allocates the necessary hardware resources and dependencies for the virtual machine to run, and creates and starts the virtual machine; Virtual machines create applications with pre-defined functions.
12. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 1, characterized in that, The virtualization platform of the first functional node, the second functional node, and the third functional node communicates using a service-oriented architecture. When clients and servers communicate with real-time requirements, a real-time control protocol that controls the data flow with time sensitivity is used. When the server provides services, it sends service event notifications with deterministic upgrade cycles and delays to the client. When a client needs to subscribe to a service, it needs to provide a service discovery request with a deterministic upgrade cycle and delay. The server determines whether it can provide a service that meets the deterministic upgrade cycle and delay. If it does, the service is provided.
13. The multi-virtual machine communication method for a centralized EE architecture in automobiles as described in claim 12, characterized in that, The client sends service events with upgrade cycles to the client middleware, and the client middleware broadcasts service requests to the service providers that can provide the service through service discovery. The server sends a service event specifying the upgrade cycle to the server middleware. When the server-side middleware receives a service request from the client, it sends the service upgrade cycle to the client-side middleware. The client middleware determines whether the provided services can meet the client's upgrade cycle. If they can, it sends a success message. The client sends a notification of the subscribed service with the maximum delay to the client middleware, and the client middleware sends a message of the subscribed event group with the maximum delay to the server middleware. The server-side middleware sends the request with the maximum latency to the protocol stack to reserve bandwidth. After the bandwidth reservation is successful, it sends a message to the client-side middleware with the maximum latency that can be provided. The client-side middleware sends a success message to the client.
Citation Information
Patent Citations
Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet
CN112235210A