Simulation including multiple simulators

US11314907B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314907-B2
Application numberUS-201615247978-A
CountryUS
Kind codeB2
Filing dateAug 26, 2016
Priority dateAug 26, 2016
Publication dateApr 26, 2022
Grant dateApr 26, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In some examples, one or more computing devices on a network may receive, from a client computing device, one or more inputs for configuring a simulation, the simulation including at least a first simulator and a second simulator. The one or more computing devices may allocate computing resources including at least a first virtual machine for executing at least one of the first simulator or the second simulator. The one or more computing devices may configure a first simulation controller executable on the first virtual machine for controlling execution of the at least one of the first simulator or the second simulator. The first simulation controller may initiate execution of at least one of the first simulator or the second simulator as part of execution of the co-simulation. In some examples, a result of the co-simulation may be sent to the client computing device.

First claim

Opening claim text (preview).

What is claimed: 1. A system comprising: one or more processors; and one or more non-transitory computer-readable media maintaining executable instructions, which, when executed by the one or more processors, program the one or more processors to perform operations comprising: receiving, from a client computing device, one or more inputs for configuring a co-simulation, the co-simulation including at least a first virtual electronic control unit (vECU) as a first simulator and a second vECU as a second simulator; allocating computing resources including at least a first virtual machine that executes the first vECU, a second virtual machine that executes the second vECU, and a third virtual machine that executes a third vECU, wherein a virtual controller area network (CAN) router is executed on the third vECU, the virtual CAN router directing CAN communications on a virtual CAN bus that enables CAN communications between the first vECU and the second vECU; executing the first vECU and the second vECU as part of execution of the co-simulation, wherein the virtual CAN router executed by the third vECU executed on the third virtual machine enables the first vECU and the second vECU to communicate using a CAN protocol, wherein at least the first vECU and the second vECU are assigned respective CAN identifiers (IDs) that are individually distinguishable from each other on the virtual CAN bus; executing an emulator on a fourth virtual machine, the emulator sending emulated vehicle-level CAN traffic that simulates a plurality of electronic control units communicating over the virtual CAN router and virtual CAN bus, the emulated vehicle-level CAN traffic including sending, by the emulator, a plurality of frames of data, each frame of data that is sent including a payload containing data between a minimum amount of data and a maximum amount of data to simulate a real-world level of CAN network traffic while the first vECU and the second vECU at least one of send or receive CAN communications, wherein the frames sent as the emulated vehicle-level CAN traffic on the virtual CAN bus are sent according to a periodic transmission pattern with one of a predefined value or a sequence of values for the frame payload size, wherein the emulator is further configured to send, to the virtual CAN router, a CAN message including a simulated control signal for controlling at least one vehicle plant simulation controlled by at least one of the first vECU or the second vECU, wherein the virtual CAN router routes the CAN message to the first vECU or the second vECU based on the respective CAN ID; and sending a result of the co-simulation to the client computing device. 2. The system as recited in claim 1 , the operations further comprising: executing a first model on the first virtual machine, the first model simulating a first vehicle plant as the at least one vehicle plant simulation; executing a first simulated controller on the first vECU executed on the first virtual machine for providing signals to the first vehicle plant simulated by the first model; and configuring a direct co-simulation interface between the first vECU and the first model, the direct co-simulation interface including shared memory provided by the first virtual machine to enable direct communication of the signals between the vECU and the first model. 3. The system as recited in claim 1 , further comprising configuring a simulation manager for instructing execution of the co-simulation by instructing execution of first vECU by a first simulation controller on the first virtual machine, and execution of the second vECU by a second simulator controller on the second virtual machine. 4. The system as recited in claim 1 , the operations further comprising: receiving first parameter sweep information including at least one of: a range and an increment for a first parameter for a first model executable on the first simulator; or a list of parameter values for the first parameter for the first model executable on the first simulator; receiving second parameter sweep information including at least one of: a range and an increment for a second parameter for a second model executable on the second simulator; or a list of parameter values for the second parameter for the second model executable on the second simulator; and determining a plurality of sets including combinations of a plurality of first values for the first parameter and a plurality of second values for the second parameter for executing a plurality of the co-simulations. 5. The system as recited in claim 4 , the operations further comprising: allocating a plurality of virtual machines for executing a plurality of instances of the first simulator and a plurality of instances of the second simulator; and executing at least some of the plurality of the co-simulations in parallel using different combinations of at least some of the first values and the second values. 6. The system as recited in claim 1 , the operations further comprising: determining, for the co-simulation, a first model for execution on the first simulator and a second model for execution on another instance of the first simulator; consolidating the first model and the second model into a consolidated model; and executing the consolidated model on the first simulator as part of the co-simulation. 7. The system as recited in claim 6 , wherein consolidating the first model and the second model comprises: determining that the first model and the second model are executable on a same simulator; removing a header portion from code of a first model file of the first model and removing a header portion from code of a second model file of the second model; and adding the code of the first model file and the code of the second model file to the consolidated model file to enable at least one of sequential execution, alternate execution, or parallel execution of the code of the first model file and the code of the second model file. 8. The system as recited in claim 1 , the operations further comprising: prior to receiving the one or more inputs from the client computing device, sending, to the client computing device, information for presenting a graphic user interface (GUI) on the client computing device, the GUI including virtual controls to enable selection of a configuration of the co-simulation; and receiving, from the client computing device, via the GUI, the one or more inputs for configuring the co-simulation. 9. The system as recited in claim 8 , the operations further comprising: receiving, from the client computing device, via the GUI, an indication of a connection type between the first simulator and the second simulator wherein the GUI enables selection of connection types including the virtual CAN bus or a virtual signal bus; and configuring the virtual CAN bus or the virtual signal bus between the first simulator and the second simulator based on the indication of the connection type. 10. The system as recited in claim 8 , the operations further comprising: receiving, from the client computing device, via the GUI, time information indicating at least an end time for the co-simulation; receiving, from the client computing device, via the GUI, an instruction requesting execution of the co-simulation; and at least partially in response to receiving the instruction, executing the co-simulation according to the time information. 11. A method comprising: receiving, by one or more processors, from a client computing device, an instruction to create a simulation including a first simulator and a second simulator; receiving, by the one or more processors, from the client computing devi

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • Vehicle, aircraft or watercraft design · CPC title

  • G06F30/20Primary

    Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title

  • G06F30/17Primary

    Mechanical parametric or variational design · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11314907B2 cover?
In some examples, one or more computing devices on a network may receive, from a client computing device, one or more inputs for configuring a simulation, the simulation including at least a first simulator and a second simulator. The one or more computing devices may allocate computing resources including at least a first virtual machine for executing at least one of the first simulator or the…
Who is the assignee on this patent?
Hitachi Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).