In-vehicle network attack detection method and apparatus
US-2017126711-A1 · May 4, 2017 · US
US11314907B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11314907-B2 |
| Application number | US-201615247978-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 26, 2016 |
| Priority date | Aug 26, 2016 |
| Publication date | Apr 26, 2022 |
| Grant date | Apr 26, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
Mechanical parametric or variational design · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.