Computer system and method of building a vehicle simulation environment using a computer system

By constructing simulation units for the functional domains in the vehicle simulation system and optimizing container allocation using different communication networks, the problem of low efficiency in whole-vehicle simulation is solved, achieving efficient construction of the vehicle simulation environment, reducing latency and improving flexibility.

CN119885577BActive Publication Date: 2025-12-16NIO TECH ANHUI CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411866426.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-12-16
Estimated Expiration
2044-12-17

AI Technical Summary

Technical Problem

As the complexity of vehicle components and systems increases, modeling across physical domains in whole-vehicle simulation becomes difficult, resulting in low simulation efficiency, especially in large-scale simulations.

Method used

A vehicle simulation environment is constructed using a computer system. Multiple simulation units are built for multiple functional domains of the vehicle. Each simulation unit contains one or more virtual modules, and containers are allocated to these modules. The modules communicate using networks with different communication protocols, including physical and virtual networks. Containers on the same computing device are preferentially allocated to reduce latency.

Benefits of technology

It significantly improves simulation efficiency, reduces communication latency within and across simulation units, and builds a flexible and efficient simulation environment to meet the diverse needs of vehicle simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119885577B_ABST
    Figure CN119885577B_ABST
Patent Text Reader

Abstract

The present application relates to data processing technology and vehicle design technology, in particular to a computer system for vehicle simulation and a method for constructing a vehicle simulation environment by using the computer system. The computer system for vehicle simulation comprises a plurality of computing devices, which provide a deployment mode of containerized computing resources as follows: a plurality of simulation units are constructed for a plurality of functional domains of a vehicle, each simulation unit contains one or more virtual modules, each virtual module is assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit, the containers assigned to the virtual modules of the same simulation unit are networked into a first network based on a first communication protocol, and the container sets are networked into a second network based on a second communication protocol. For various application requirements, a suitable allocation algorithm can be used to allocate containers to virtual modules, so as to allocate virtual modules with high communication timeliness requirements or high communication priority requirements to containers belonging to the same computing device as much as possible.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to data processing technology and vehicle design technology, and in particular to a computer system for vehicle simulation and a method of constructing a vehicle simulation environment using the computer system. BACKGROUND

[0002] Whole vehicle simulation refers to a process of predicting and verifying the performance of a whole vehicle using computer simulation technology, which involves the integration of multiple physical domains, including but not limited to powertrain, chassis, body and electronic control, etc. Whole vehicle simulation can help engineers predict and verify the performance of a vehicle at an early stage of development, thereby guiding vehicle design, optimization and troubleshooting.

[0003] As the complexity of components and systems increases, modeling across physical domains becomes increasingly difficult. How to improve simulation efficiency has become an important technical challenge, especially for large-scale simulation. SUMMARY

[0004] An object of the present application is to provide a computer system for vehicle simulation and a method of constructing a vehicle simulation environment using the computer system, which can improve simulation efficiency.

[0005] According to an aspect of the present application, a computer system for vehicle simulation is provided, comprising a plurality of computing devices, the computing resources of each computing device being used to provide one or more container sets, each container set containing one or more containers,

[0006] wherein the computing resources are deployed in the following manner:

[0007] a plurality of simulation units are constructed for a plurality of functional domains of a vehicle, each simulation unit containing one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit, and

[0008] the containers assigned to the virtual modules of the same simulation unit are networked into a first network based on a first communication protocol to enable communication between the virtual modules within the same simulation unit, and the container sets are networked into a second network based on a second communication protocol to enable communication between the virtual modules belonging to different simulation units.

[0009] Optionally, in the above computer system, the containers are assigned to the virtual modules in the following manner:

[0010] A. determining a simulation unit containing the largest number of virtual modules among the simulation units that have not yet been assigned computing resources;

[0011] B. assigning as many containers belonging to the same computing device as possible to the virtual modules in the simulation unit containing the largest number of virtual modules.

[0012] C. If all virtual modules of the simulation units have been assigned a corresponding container, end the assignment of containers, otherwise return to step A.

[0013] Alternatively, in the computer system described above, the containers are assigned to the virtual modules in the following manner:

[0014] A', determine the communication priority of the pairs of virtual modules based on at least one of the communication load, the communication quality requirement and the real-time requirement;

[0015] B', preferentially assign containers belonging to the same computing device to the virtual modules with higher communication priority.

[0016] Further, the communication load is described by the frequency of communication between the virtual modules, the communication quality requirement is described by the maximum bit error rate allowed for the transmission of data packets between the virtual modules, and the real-time requirement is described by the maximum delay allowed for the communication between the virtual modules.

[0017] Further, the communication priority is a linear function or a non-linear function of the communication load, the communication quality requirement and the real-time requirement.

[0018] Alternatively, in the computer system described above, the containers are assigned to the virtual modules in the following manner:

[0019] A", preferentially assign containers belonging to the same computing device to the virtual modules of the simulation units with higher communication timeliness requirement according to the communication timeliness requirement of each simulation unit; and

[0020] B", for the simulation units whose contained virtual modules cannot be assigned to containers belonging to the same computing device, assign containers belonging to the same computing device to as many virtual modules with higher communication timeliness requirement as possible.

[0021] Further, the communication timeliness requirement of the simulation units is determined based on the maximum communication delay allowed for the virtual modules within the simulation units and the highest communication frequency expected, and the communication timeliness requirement of the contained virtual modules is determined based on the communication delay and the communication frequency expected of these virtual modules.

[0022] Alternatively, in the computer system described above, the first network is a physical network or a first virtual network built on the physical network, and the second network is a second virtual network built on the physical network.

[0023] Further, the first virtual network is a routing overlay network.

[0024] Optionally, in the computer system described above, the first communication protocol and the second communication protocol are one of the following: VXLAN protocol, STT protocol, Geneve protocol, and NVGRE protocol.

[0025] Optionally, in the computer system described above, the container sets are implemented by Pods in a Kubernetes network model.

[0026] According to another aspect of the present application, there is provided a method of constructing a vehicle simulation environment by a computer system, the computer system comprising a plurality of computing devices, the method comprising:

[0027] providing one or more container sets by computing resources of each computing device of the computer system, each container set comprising one or more containers;

[0028] constructing a plurality of simulation units for a plurality of functional domains of the vehicle, each simulation unit comprising one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit; and

[0029] networking the containers assigned to the virtual modules of the same simulation unit into a first network based on a first communication protocol to enable communication among the virtual modules within the same simulation unit, and networking the container sets into a second network based on a second communication protocol to enable communication among the virtual modules belonging to different simulation units.

[0030] Optionally, in the method described above, the containers are assigned to the virtual modules in the following manner:

[0031] A. determining a simulation unit among the simulation units that currently have no assigned computing resources and that contains the largest number of virtual modules;

[0032] B. assigning as many containers belonging to the same computing device as possible to the virtual modules in the simulation unit containing the largest number of virtual modules;

[0033] C. if all the virtual modules of the simulation units have been assigned corresponding containers, ending the assignment of the containers, otherwise returning to step A.

[0034] Optionally, in the method described above, the containers are assigned to the virtual modules in the following manner:

[0035] A'. determining communication priorities of pairs of virtual modules based on at least one of communication load, communication quality requirement, and real-time requirement;

[0036] B'. preferentially assigning containers belonging to the same computing device to the virtual modules with higher communication priorities.

[0037] Further optionally, the communication load is described by a communication frequency between the virtual modules, the communication quality requirement is described by a maximum bit error rate allowed for transmission of data packets between the virtual modules, and the real-time requirement is described by a maximum delay allowed for communication between the virtual modules.

[0038] Further optionally, the communication priority is a linear function or a nonlinear function of the communication load, the communication quality requirement, and the real-time requirement.

[0039] Optionally, in the above method, the containers are assigned to the virtual modules in the following manner:

[0040] A”, according to the communication timeliness requirements of the respective simulation units, the virtual modules of the simulation units having higher communication timeliness requirements are preferentially assigned the containers belonging to the same computing device; and

[0041] B”, for the simulation units whose contained virtual modules cannot be assigned to the containers belonging to the same computing device, as many virtual modules as possible having higher communication timeliness requirements are assigned the containers belonging to the same computing device.

[0042] Further, the communication timeliness requirements of the simulation units are determined based on maximum communication delays allowed for the virtual modules within the simulation units and highest communication frequencies expected, and the communication timeliness requirements of the contained virtual modules are determined based on communication delays of these virtual modules and communication frequencies expected.

[0043] Optionally, in the above method, the first network is a physical network or a first virtual network built on the physical network, and the second network is a second virtual network built on the physical network.

[0044] Further optionally, the first virtual network is a routing overlay network.

[0045] Optionally, in the above method, the first communication protocol and the second communication protocol are one of the following: VXLAN protocol, STT protocol, Geneve protocol, and NVGRE protocol.

[0046] Optionally, in the above method, the container set is implemented using a Pod in a Kubernetes network model.

[0047] In some embodiments of the present application, a highly flexible and efficient simulation environment can be constructed by providing different types of communication networks for communications between virtual modules belonging to the same simulation unit and communications between virtual modules belonging to different simulation units. In particular, the first network is implemented using a physical network or a routing overlay network, which can provide a stable, reliable and low-latency data transmission backbone, while the second network is implemented using a virtual network, which facilitates flexible definition of the network structure. Furthermore, by allocating, as much as possible, the same computing device's containers to virtual modules within the same simulation unit, the communication latency within the simulation unit can be significantly reduced. Moreover, by allocating, based on the communication priority, the same computing device's containers to pairs of virtual modules, not only the communication latency between virtual modules is reduced in general, but the communication latency between virtual modules with high communication demand is more significantly reduced. BRIEF DESCRIPTION OF DRAWINGS

[0048] The above and / or other aspects and advantages of the present application will become more apparent by describing in detail various embodiments thereof with reference to the attached drawings in which:

[0049] Figure 1 A schematic diagram of an automotive electronic system architecture.

[0050] Figure 2 A schematic diagram of networking of virtual modules according to an embodiment of the present application.

[0051] Figure 3 A flowchart of a container allocation method according to another embodiment of the present application.

[0052] Figure 4 A flowchart of a container allocation method according to another embodiment of the present application.

[0053] Figure 5 A flowchart of a container allocation method according to another embodiment of the present application.

[0054] Figure 6 A flowchart of a method of constructing a vehicle simulation environment using a computer system according to an embodiment of the present application. DETAILED DESCRIPTION

[0055] The present application will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the application are shown. The present application may, however, be embodied in different forms, and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the application to those skilled in the art.

[0056] In the present specification, terms such as “comprise” and “include” represent that the technical solutions of the present application do not exclude other units and steps except the units and steps directly and explicitly stated in the specification and claims.

[0057] Unless specifically stated, terms such as “first” and “second” are not used to denote an order or precedence in time, space, size, etc., but are merely used to distinguish various units.

[0058] In the present specification, “container” refers to a lightweight, portable, self-contained software runtime environment. The development of container technology has greatly promoted the popularity of cloud computing and microservice architecture, providing a flexible, efficient and reliable way for the deployment, management and expansion of application programs.

[0059] In the present specification, “computing resource” refers to various hardware, software and network resources involved in computer systems and network environments for performing computing tasks, including but not limited to processor resources, storage resources, network resources, software resources (including operating systems, application programs, database management systems, development tools, etc.), input / output resources, energy resources (which provide necessary power for computing devices), service resources (such as resources provided by cloud computing services (IaaS, PaaS, SaaS)), and data resources.

[0060] In the present specification, “cloud platform” refers to a computer system that provides an on-demand access service mode for computing resources, in which computing resources exist in the form of a resource pool and are centrally managed for multiple users to rent, and users can dynamically obtain and release these resources as needed.

[0061] Automotive electronic systems can generally be divided into functional domains in various ways. Figure 1 An example of an automotive electronic system architecture is shown, which shows an exemplary functional block division. As shown, the automotive electronic system 10 includes an autonomous driving domain 110, an intelligent cockpit domain 120, a body domain 130, a powertrain domain 140 and a chassis domain 150, which are exemplarily communicated with each other in a bus manner (such as Ethernet). Figure 1 It is pointed out that the above-mentioned functional domain division is only exemplary, and other ways are also feasible, for example, the body domain can be integrated into the intelligent cockpit domain.

[0062] In Figure 1In the illustrated automotive electronic system architecture, the autonomous driving domain 110 provides data processing and computing and decision-making capabilities required for autonomous driving, including data processing for millimeter wave radar, camera, laser radar, GPS, inertial navigation, and other devices. At the same time, the autonomous driving domain also provides security protection for the underlying core data and networked data of the vehicle in the autonomous driving state.

[0063] The intelligent cockpit domain 120 is used to execute the functions of the automotive cockpit electronic system, which can be, for example, an integrated system that integrates instrument information and multimedia entertainment information display and human-computer interaction functions, or a vehicle-mounted central control screen.

[0064] The body domain 130 is used to perform overall control of the body functions, which can be, for example, a traditional body controller (BCM) or further integrates functions such as keyless start system (PEPS), anti-pinch, air conditioning control system, etc.

[0065] The power domain 140 is used to realize the optimization and control of the automotive powertrain. The chassis domain 150 is used to perform automotive driving control, which includes, for example, power steering system (EPS), vehicle stability system (ESC), electric brake booster, air suspension, air suspension, speed sensor, etc.

[0066] In a computer system such as a cloud platform, computing resources are provided in the form of containers. Specifically, a computer system usually includes multiple computing devices (such as servers, workstations, network devices, storage devices, and personal computers, etc.), which can be located in different physical locations, or at least part of the computing devices are located in the same physical location. For each computing device, the computing resources it has are containerized. Container orchestration tools can be used to manage large-scale container deployment. Taking the Kubernetes network model as an example, it includes a control plane (Master) and a set of worker nodes (Node). The control plane manages the worker nodes and Pods, while the worker nodes host the Pods that make up the application load. In the Kubernetes network model, a Pod is a collection of one or more tightly related containers that share storage, network, and life cycle.

[0067] In some embodiments of the present application, each functional domain is simulated by a corresponding simulation unit using containerized computing resources. In particular, each simulation unit includes one or more virtual modules, each functional domain is divided into multiple functional units and simulated by a corresponding virtual module, and the computing resources are allocated to the virtual modules for simulating the functional units in the form of containers.

[0068] For example, it is assumed that the i-th functional domain F i contains m i functional units fi (1) ……f i (m i ), a simulation unit E for simulating the functional domain i contains the respective m i virtual modules V i (1) ……V i (m i ), and the computing resources consist of n containers, then m i containers can be assigned to the virtual modules V i (1) ……V i (m i ).

[0069] Figure 2 is a schematic diagram of a network of virtual modules according to an embodiment of the present application. Exemplarily, a Kubernetes network model is used here. However, as will be appreciated by the skilled person after reading the content of the present application, other container orchestration tools can also be used to implement the network described below with the aid of Figure 2 .

[0070] In the example shown in Figure 2 , the boxes S1-S3 shown in bold solid lines represent servers, and the thin solid line boxes POD ij (i = 1, 2, 3, and j = 1, 2, 3) within the boxes S1-S3 represent the containerized computing resources or container collections (e.g. Pods in the Kubernetes model) of each server, each container collection containing a plurality of containers (indicated by the circles in the thin solid line boxes POD ij ), and in addition, the simulation units are represented by the dashed boxes E1 and E2. It should be noted that Figure 2 the number of servers, the number of container collections contained by the computing resources of each server, and the number of simulation units shown are exemplary; in addition, the number of containers contained by each container collection in the example can be the same, or all different or partially different.

[0071] Referring to Figure 2 , exemplarily, one or more containers from the container collections POD 12 and POD 13 of server S1 and one or more containers from the container collection POD 21 of server S2 are assigned to the virtual modules of simulation unit E1, and one or more containers from the container collection POD 23 of server S2 and one or more containers from the container collections POD 31 and POD 32 of server S3 are assigned to the virtual modules of simulation unit E2.

[0072] Further referring to Figure 2 , the containers of the virtual modules assigned to the simulation units E1 and E2 are networked as two first networks NET-1A and NET-1B. In some embodiments, the first networks NET-1A and NET-1B can be implemented with an underlay network or a physical network. In the Kubernetes network model, the underlay network can provide the underlying network connectivity for the inter-container communication. In particular, the underlay network is composed of physical devices (e.g., switches, routers) and connections (e.g., fiber, Ethernet cable) that are responsible for transmitting data at the very bottom of the network to perform the communication between the virtual modules within the simulation units E1 and E2, respectively.

[0073] In other embodiments, the first networks NET-1A and NET-1B can be implemented with an overlay network (e.g., a routing overlay network or a routing-based overlay network) built on top of the underlying network. With the physical paths and bandwidths provided by the underlay network, the virtual traffic on the overlay network is able to flow between the physical devices. In particular, as a virtual network layer built on top of the underlying network, the overlay network encapsulates and forwards data packets through tunneling technology to realize a logical network structure, so that the network devices (e.g., servers, virtual machines, containers, etc.) are able to communicate directly without having to consider the specific details and limitations of the underlying physical network.

[0074] In the present embodiment, as shown in Figure 2 , the container sets POD ij belonging to the servers S1-S3 are networked as a second network NET-2, by which the communication between the virtual modules belonging to different simulation units (e.g., the simulation units E1 and E2 in Figure 2 ) can be realized. In some embodiments, the second network NET-2 can be implemented with an overlay network built on top of the underlay network.

[0075] Optionally, in the present embodiment, a variety of tunneling protocols can be employed as the communication protocols for the first networks NET-1A and NET-1B and the second network NET-2, including but not limited to VXLAN protocol, STT protocol, Geneve protocol, and NVGRE protocol, etc. It is noted, however, that the first networks NET-1A and NET-1B and the second network NET-2 can also employ other communication protocols other than tunneling protocols.

[0076] The communication between virtual units belonging to the same simulation unit has a large communication load (e.g. high communication frequency) and a high real-time requirement (e.g. short maximum allowable delay time). On the other hand, the communication between virtual units belonging to different simulation units varies greatly with different virtual units in terms of communication load and real-time requirement, and is strongly related to specific service scenarios, thus having a high degree of complexity. By providing different types of communication networks for the above two types of communication, a highly flexible and efficient simulation environment can be constructed to meet various vehicle simulation requirements. In particular, the first network is implemented by using a physical network or a routing overlay network, which can provide a stable, reliable and low-latency data transmission backbone network, while the second network is implemented by using a virtual network, which is helpful for flexible definition of network structure.

[0077] The following describes a specific manner of allocating containers to virtual modules.

[0078] Figure 3 A flowchart of a container allocation method according to another embodiment of the present application is shown in FIG. 3. Exemplarily, the case shown in FIG. 1 is taken as an example. Figure 2

[0079] Figure 3 The method shown in FIG. 3 starts from step 310. In this step, the computer system determines the simulation unit containing the largest number of virtual modules among the simulation units to which no computing resource has been allocated. Exemplarily, at the beginning of the allocation, simulation units E1 and E2 are both not allocated with computing resources, and assuming that simulation unit E1 contains 5 virtual units and simulation unit E2 contains 4 virtual units, simulation unit E1 is determined as the simulation unit currently containing the largest number of virtual modules in step 310. Figure 2

[0080] Subsequently, step 320 is entered, in which the computer system allocates containers belonging to the same server to as many virtual units in simulation unit E1 as possible based on the principle of allocating containers of the same computing device as much as possible. In an exemplary case, assuming that server S1 has 6 containers available for allocation, 5 of the 6 available containers of server S1 can be allocated to simulation unit E1 based on the above principle. In another exemplary case, assuming that server S1 has only 4 containers available for allocation and server S2 has 2 containers available for allocation, all 4 available containers of server S1 can be allocated to simulation unit E1 and one of the available containers of server S2 can be allocated to simulation unit E1 based on the above principle, for example as shown in FIG. 2. Figure 2

[0081] After completing step 320, Figure 3 ​​​The flowchart shown proceeds to step 330. In step 330, the computer system determines whether all virtual modules of all simulation units have been assigned corresponding containers, and if so, ends the process of container assignment, otherwise returns to step 310.

[0082] Upon returning to step 310, still taking the example of Figure 2 , only simulation unit E2 is not assigned computing resources, and thus is determined to be the simulation unit currently containing the largest number of virtual modules. Similarly, in step 320, the computer system still assigns containers belonging to the same server to as many virtual modules in simulation unit E2 as possible based on the principle of assigning containers of the same computing device to the same simulation unit. In the example above, server S1 has no more containers to assign and server S2 has only one container to assign, assuming server S3 has 3 containers to assign, then based on the above principle, the containers of servers S2 and S3 that are available for assignment can be assigned to simulation unit E2, for example as Figure 2 shown.

[0083] In the embodiment described above with reference to Figure 3 , by assigning containers of the same computing device to virtual modules within the same simulation unit, the communication latency within the simulation unit can be significantly reduced.

[0084] Figure 4 A flowchart of a container assignment method according to another embodiment of the present application.

[0085] Figure 4 The method shown begins at step 410. For a virtual module, there is usually a need to communicate with other virtual modules belonging to the same simulation unit; on the other hand, there can also be a need to communicate with virtual modules in other simulation units. In step 410, the computer system determines the communication priority of pairs of virtual modules. The priority can be regarded as a measure of the degree to which the communication needs between the pair of virtual modules are satisfied. In some embodiments, the communication priority is determined for all pairs of virtual modules. In other embodiments, the communication priority is determined for only a portion of the pairs of virtual modules, for example, pairs of virtual modules for which there is a greater likelihood of communication needs.

[0086] The communication priority can be determined based on various factors. In connection with the characteristics of the vehicle simulation scenario, at least one of the communication load, the communication quality requirement, and the real-time requirement can be taken into account. Illustratively, the communication load can be represented by the frequency of communication between the pair of virtual modules, the communication quality requirement can be represented by the maximum bit error rate allowed for the transmission of data packets between the pair of virtual modules, and the real-time requirement can be represented by the maximum delay allowed for the communication between the pair of virtual modules.

[0087] In some embodiments, the communication priority can be determined as a non-linear function of the communication load, the communication quality and the real-time requirement. However, in other embodiments, it is also feasible to determine the communication priority as a linear function.

[0088] The determination of the communication priority is further described below.

[0089] Exemplarily, it is assumed that the number of messages sent per unit time f is determined as the communication load between the virtual modules A and B, the reciprocal of the highest error code rate q allowed for the communication between the virtual modules A and B is determined as the communication quality requirement, and the reciprocal of the maximum allowed communication delay d is determined as the real-time requirement.

[0090] Optionally, the communication priority P can be determined according to the following formula A,B :

[0091] P A,B = α × f + β × q -1 + γ × d -1 (1)

[0092] In the above formula, α, β and γ are constants greater than 0, which can be determined through computer simulation experiments according to the specific circumstances of the application scenario. In the function shown in formula (1), the influence degree of the communication load, the communication quality requirement and the real-time requirement on the communication priority can be adjusted in a simple way by adjusting the constants α, β and γ.

[0093] Alternatively, the communication priority P can be determined according to the following formula A,B :

[0094]

[0095] In the above formula, α', β', γ', ε and δ are constants greater than 0, which can be determined through computer simulation experiments according to the specific circumstances of the application scenario. In the function shown in formula (2), the introduction of ε and δ can avoid the division by zero error in the logarithmic function. In addition, the form of the logarithmic function is suitable for processing data of different orders of magnitude (i.e. from very small to very large numerical range), which makes the model described by the function shown in formula (2) adaptable to various communication scenarios and requirements. Furthermore, the non-linear property of the logarithmic function makes the model more sensitive to changes in data, which can capture the small changes in the communication load, the communication quality requirement and the real-time requirement.

[0096] After step 410 is completed, Figure 4The flowchart shown enters step 420. In step 420, the computer system implements container allocation based on the principle of preferentially allocating containers for virtual modules with high communication priority. Exemplarily, assuming that pairs of virtual modules requiring allocation of containers are in order of communication priority from high to low as A-C, C-D, B-E, A-F (wherein "-" represents two virtual modules having a pair relationship), and the available containers for servers a, b and c are 3, 2 and 1, then based on the above allocation principle, the 3 containers of server a can be allocated to virtual modules A, C and D, the 2 containers of server b can be allocated to virtual modules B and E, and the 1 container of server c can be allocated to virtual module F.

[0097] In the above-described embodiments, by allocating containers of the same computing device for pairs of virtual modules based on communication priority, not only is the communication delay between virtual modules reduced in general, but the communication delay between virtual modules with high communication demand is more significantly reduced. Figure 4

[0098] Figure 5 A flowchart of a container allocation method according to another embodiment of the present application.

[0099] Different simulation units generally have different communication timeliness requirements; on the other hand, the virtual modules contained in the same simulation unit also generally have different communication timeliness requirements. It should be noted that communication timeliness requirement is used to describe the requirements of a communication unit for communication frequency and communication delay, etc. Generally, the higher the communication frequency, the higher the communication timeliness requirement, and vice versa; on the other hand, the smaller the communication delay, the higher the communication timeliness requirement, and vice versa.

[0100] In some embodiments, the communication timeliness requirements of the simulation units and the virtual modules can be described by path functions F1 and F2 determined by the following formulas (3) and (4), respectively:

[0101]

[0102] In the above formulas, i is the serial number of the simulation unit, w i is a parameter that can be set according to the application scenario, is the maximum communication delay allowed by the virtual modules in the i-th simulation unit, is the communication delay that can be provided by the first network available to the i-th simulation unit, f i is the highest communication frequency expected by the virtual modules in the i-th simulation unit.

[0103]

[0104] ​In the above formula, j is the serial number of a virtual module in a simulation unit, w *j is a parameter that can be set according to application scenarios, is the communication latency of the jth virtual module, is the communication latency that can be provided by the first network of the simulation unit, j is the expected communication frequency of the jth virtual module.

[0105] Figure 5 The method shown in the figure starts from step 510. In this step, the computer system determines the communication timeliness requirement of each simulation unit, for example, according to the above formula (3).

[0106] Then, step 520 is entered. In this step, the computer system allocates the containers belonging to the same computing device to the virtual modules of the simulation units with higher communication timeliness requirements in descending order of the communication timeliness requirements. For example, assuming that the simulation units are X1, X2 and X3 in descending order of the communication timeliness requirements, the virtual modules of the simulation unit X1 can be considered to be preferentially allocated the containers on the same server based on the above allocation principle. For the simulation unit X1, if the requirement that the virtual modules of the simulation unit X1 are preferentially allocated the containers on the same server (hereinafter referred to as the “same physical device allocation requirement”) cannot be met, the virtual modules of the simulation unit X2 can be further considered to be preferentially allocated the containers on the same server. The above allocation can be performed on the simulation units in turn according to the communication timeliness requirements.

[0107] After step 520 is completed, Figure 5 The flow shown in the figure enters step 530. In step 530, the computer system determines whether there is a simulation unit that cannot meet the same physical device allocation requirement. If there is, step 540 is entered, otherwise, the container allocation process is ended.

[0108] It should be noted that when there are multiple simulation units that cannot meet the same physical device allocation requirement, the remaining simulation units can be optionally allocated containers in descending order of the communication timeliness requirements. Alternatively, the remaining simulation units can be optionally allocated containers in random order. For this purpose, in step 540, the computer system selects one of the remaining simulation units as the simulation unit to which the container is to be allocated.

[0109] Figure 5 The flow shown in the figure then enters step 550. In this step, the computer system determines the communication timeliness requirement of each virtual module in the simulation unit that cannot meet the same physical device allocation requirement, for example, according to the above formula (4).

[0110] Step 560 is then entered. In this step, the computer system allocates, based on the order of communication timeliness requirement from high to low determined in step 550, as many containers belonging to the same computing device as possible to the virtual modules having higher communication timeliness requirement. In an exemplary case, assume that the simulation unit containing 5 virtual modules whose communication timeliness requirement from high to low is A, B, C, D and E respectively cannot meet the same physical device allocation requirement; meanwhile, assume that servers S1, S2 and S3 which can provide computing resources have 3, 1 and 1 containers available for allocation respectively, then based on the above principle, the 3 containers available for allocation of server S1 can be allocated to virtual modules A, B and C, and the containers available for allocation of servers S2 and S3 can be allocated to virtual modules D and E.

[0111] After step 560 is completed, Figure 5 The flowchart shown returns to step 530.

[0112] Figure 6 A flowchart of the method for constructing a vehicle simulation environment by using a computer system according to an embodiment of the present application. Figure 6 Each step of the method shown is performed by a computing device. It should be noted that the computing device described herein refers to various computer systems containing hardware entities and software components, in which various computing tasks and information processing tasks are performed by the cooperation of hardware entities and software components. It should also be noted that the computing device can be a computer system for constructing a vehicle simulation environment, or other computer systems.

[0113] Figure 6 The method starts from step 610. In this step, a computer system for constructing a vehicle simulation environment provides containerized computing resources. The computer system includes a plurality of computing devices (e.g. servers S1-S3 in Figure 2 ), each of which provides one or more container sets (e.g. container sets POD Figure 2 in 11 ). 33 ), each of which contains one or more containers.

[0114] Step 620 is then entered, in which a plurality of simulation units (e.g. simulation units E1, E2 in Figure 2 ) are constructed for a plurality of functional domains of a vehicle. As described above, each simulation unit contains one or more virtual modules, each of which is allocated a container to simulate one of the functional units in the functional domain corresponding to the simulation unit. The manner of container allocation has been described in detail above and will not be repeated here.

[0115] Next, in step 630, the containers assigned to the virtual modules of the same simulation unit are networked into a first network and the container sets are networked into a second network. The manner of networking has been described in detail above and will not be repeated here.

[0116] Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described herein can be implemented as electronic hardware, computer software, or combinations of both.

[0117] To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

[0118] While only certain features of the application have been illustrated and described, many modifications and changes will occur to those skilled in the art (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, orientations, etc.). It is therefore, intended in the appended claims to cover all such modifications and changes as fall within the true spirit and scope of the application. Accordingly, the application should not be limited to any particular illustrated example and implementation.

[0119] The embodiments and examples set forth herein were presented in order to best illustrate and provide a thorough understanding of embodiments of the technology and its specific applications. However, those of ordinary skill in the art will appreciate that the foregoing description and examples are merely illustrative thereof. The description as set forth is not intended to be inclusive of all aspects of the application or to be limited to the precise forms set forth.

Claims

1. A computer system for vehicle simulation, comprising a plurality of computing devices, computing resources of each computing device being used to provide one or more container sets, each container set containing one or more containers, wherein the computing resources being deployed in a manner that: a plurality of simulation units are constructed for a plurality of functional domains of a vehicle, each simulation unit containing one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit, and containers assigned to virtual modules of the same simulation unit are networked into a first network based on a first communication protocol to enable communication between the virtual modules within the same simulation unit, and the container sets are networked into a second network based on a second communication protocol to enable communication between virtual modules belonging to different simulation units.

2. The computer system of claim 1, wherein, The containers are assigned to the virtual modules in the following manner: A. determining a simulation unit among the simulation units that currently have no computing resources assigned to them and that contains the largest number of virtual modules; B. assigning as many containers belonging to the same computing device as possible to as many virtual modules of the simulation unit that contains the largest number of virtual modules; C. if all virtual modules of all simulation units have been assigned corresponding containers, ending the assignment of containers, otherwise returning to step A.

3. The computer system of claim 1, wherein, The containers are assigned to the virtual modules in the following manner: A'. determining communication priorities of pairs of virtual modules based on at least one of a communication load, a communication quality requirement, and a real-time requirement; B'. preferentially assigning containers belonging to the same computing device to virtual modules having higher communication priorities.

4. The computer system of claim 3, wherein, The communication load is described by a frequency of communication between the virtual modules, the communication quality requirement is described by a highest error rate allowed for transmission of data packets between the virtual modules, and the real-time requirement is described by a maximum delay allowed for communication between the virtual modules.

5. The computer system of claim 3, wherein, The communication priorities are linear or non-linear functions of the communication load, the communication quality requirement, and the real-time requirement.

6. The computer system of claim 1, wherein, The containers are assigned to the virtual modules in the following manner: A". preferentially assigning containers belonging to the same computing device to virtual modules of a simulation unit having a higher communication timeliness requirement according to communication timeliness requirements of the respective simulation units; and B". for a simulation unit containing virtual modules that cannot be assigned containers belonging to the same computing device, preferentially assigning containers belonging to the same computing device to as many virtual modules of the simulation unit as possible that have a higher communication timeliness requirement.

7. The computer system of claim 6, wherein, The communication timeliness requirement of the simulation unit is determined based on a maximum communication delay allowed for the virtual modules within the simulation unit and a highest communication frequency expected, and the communication timeliness requirement of the contained virtual modules is determined based on communication delays of the virtual modules and a communication frequency expected.

8. The computer system of claim 1, wherein, The first network is a physical network or a first virtual network constructed on top of a physical network, and the second network is a second virtual network constructed on top of a physical network.

9. The computer system of claim 8, wherein, The first virtual network is a routed overlay network.

10. A method for constructing a vehicle simulation environment using a computer system, the computer system comprising a plurality of computing devices, the method comprising: comprising: providing one or more container sets using computing resources of each computing device of the computer system, each container set containing one or more containers; a plurality of simulation units are built for a plurality of functional domains of the vehicle, each simulation unit containing one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit; and the containers assigned to the virtual modules of the same simulation unit are networked into a first network based on a first communication protocol to enable communication between the virtual modules within the same simulation unit, and the container sets are networked into a second network based on a second communication protocol to enable communication between the virtual modules belonging to different simulation units.

Citation Information

Patent Citations

  • Container-based Internet of Vehicles simulation test method and electronic equipment

    CN112306520A

  • Space-ground integrated twinborn simulation system and method

    CN115185631A