# US 12,769,591 B2 · Asymmetric distributed compute nodes for providing software-defined vehicle functions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,769,591 B2
- Document ID: US12769591B2
- Status: Granted
- Kind: B2
- Application number: 18/364,181
- Filed: 2023-08-02
- Published: 2025-02-06
- Granted: 2026-10-20
- Earliest claimed: 2023-08-02
- Assignees: Fisker IP/Austria Assets Trust
- Applicants: Fisker Inc.
- Inventors: Shyam Sundar; Shirish Kumar Halingali; Bhushan Joshi
- Web page: https://patentgrep.com/patent/US12769591B2

## CPC

- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- B60W 50/0098: {Details of control systems ensuring comfort, safety or stability not otherwise provided for}
- G06F 9/505: {considering the load}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- B60W: CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT

## Abstract

The technology disclosed herein enables software-defined functions in a vehicle using asymmetric distributed compute nodes. In a particular example, a system includes one or more higher-performance compute nodes of the asymmetric distributed compute nodes and one or more lower-performance compute nodes of the asymmetric distributed compute nodes. The system further includes a communication backbone over which the higher-performance compute nodes and the lower-performance compute nodes communicate. The one or more higher-performance compute nodes execute first processes for performing a first portion of the software-defined vehicle functions for the vehicle and the one or more lower-performance compute nodes execute second processes for performing a second portion of the software-defined vehicle functions for the vehicle.

## Claims

### Claim 1

A system to provide asymmetric distributed compute nodes in a vehicle for software-defined vehicle functions, the system comprising:
one or more higher-performance compute nodes of the asymmetric distributed compute nodes, wherein the one or more higher-performance compute nodes include one or more physical components that enhance capabilities of the one or more higher-performance compute nodes relative to one or more lower-performance compute nodes;
the one or more lower-performance compute nodes of the asymmetric distributed compute nodes; and
a communication backbone over which the one or more higher-performance compute nodes and the one or more lower-performance compute nodes communicate;
wherein the one or more higher-performance compute nodes execute first processes for performing a first portion of the software-defined vehicle functions for the vehicle;
wherein the one or more lower-performance compute nodes execute second processes for performing a second portion of the software-defined vehicle functions for the vehicle;
wherein a first instance of a process of the second processes is active and assigned to a first compute node of the one or more lower-performance compute nodes, and a second instance of the process is on standby and assigned to a second compute node of the one or more lower-performance compute nodes; and
wherein the second instance activates upon failure of the first instance.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more higher-performance compute nodes and the one or more lower-performance compute nodes include input and output interfaces for interacting with vehicle components.

### Claim 3 (depends on 1)

The system of claim 1, comprising:
a zonal gateway connected to the communication backbone, wherein a vehicle component is connected to the zonal gateway;
wherein one of the first or second processes controls the vehicle component over the communication backbone via the zonal gateway.

### Claim 4 (depends on 1)

The system of claim 1, wherein the first processes and the second processes are configured to execute on a processing architecture shared by the one or more higher-performance compute nodes and the one or more lower-performance compute nodes.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first processes and the second processes are load balanced across the one or more higher-performance compute nodes and the one or more lower-performance compute nodes.

### Claim 6 (depends on 1)

The system of claim 1, wherein the one or more lower-performance compute nodes are located remotely in the vehicle from the one or more higher-performance compute nodes.

### Claim 7 (depends on 6)

The system of claim 6, wherein given compute node of the one or more lower-performance compute nodes is physically located closer to vehicle components connected thereto than another compute node of the one or more lower-performance compute nodes.

### Claim 8 (depends on 7)

The system of claim 7, wherein a component process of the second processes is executing on the first compute node to interact with one or more of the vehicle components.

### Claim 9 (depends on 1)

The system of claim 1, wherein a given compute node of the one or more lower-performance compute nodes controls a vehicle component connected thereto in response to an instruction received over the communication backbone.

### Claim 10

A method for providing software-defined vehicle functions via asymmetric distributed compute nodes in a vehicle, the method comprising:
identifying first processes for execution on one or more higher-performance compute nodes of the asymmetric distributed compute nodes, wherein the one or more higher-performance compute nodes include one or more physical components that enhance capabilities of the one or more higher-performance compute nodes relative to one or more lower-performance compute nodes;
identifying second processes for execution on the one or more lower-performance compute nodes of the asymmetric distributed compute nodes;
directing the one or more higher-performance compute nodes to execute the first processes to perform a first portion of the software-defined vehicle functions for the vehicle; and
directing the one or more lower-performance compute nodes to execute the second processes to perform a second portion of the software-defined vehicle functions for the vehicle, including:
assigning a first instance of a process of the second processes to a first compute node of the one or more lower-performance compute nodes and a second instance of the process to a second compute node of the one or more lower-performance compute nodes, wherein the first instance is active and the second instance is on standby; and
upon the first instance failing, activating the second instance.

### Claim 11 (depends on 10)

The method of claim 10, wherein the software-defined vehicle functions interact with vehicle components connected to the one or more higher-performance compute nodes and the one or more lower-performance compute nodes.

### Claim 12 (depends on 10)

The method of claim 10, wherein identifying the second processes comprises:
determining the second processes execute properly at a performance level of the one or more lower-performance compute nodes.

### Claim 13 (depends on 10)

The method of claim 10, wherein directing the one or more lower-performance compute nodes to execute the second processes comprises:
load balancing the second processes between the one or more lower-performance compute nodes.

### Claim 14 (depends on 10)

The method of claim 10, wherein directing the one or more lower-performance compute nodes to execute the second processes comprises:
assigning a component process of the second processes to a compute node of the one or more lower-performance compute nodes connected to a vehicle component with which the process interacts.

### Claim 15 (depends on 10)

The method of claim 10, wherein identifying the first processes comprises:
determining at least a portion of the first processes necessitate a performance level of the one or more higher-performance compute nodes.

### Claim 16 (depends on 10)

The method of claim 10, comprising:
determining that a compute node of the one or more lower-performance compute nodes can no longer handle a process of the second processes; and
reassigning the process to a different compute node of the asymmetric distributed compute nodes.

### Claim 17

An apparatus to provide asymmetric distributed compute nodes in a vehicle for software-defined vehicle functions, the apparatus comprising:
one or more microprocessors, wherein the one or more microprocessors execute first processes for performing a first portion of the software-defined vehicle functions for the vehicle;
input and output interfaces connected to vehicle components of the vehicle; and
a network interface connected to a communication backbone to communicate with other compute nodes of the asymmetric distributed compute nodes;
wherein the other compute nodes execute second processes for performing a second portion of the software-defined vehicle functions for the vehicle;
wherein a first instance of a process of the second processes is active and assigned to the apparatus, and a second instance of the process is on standby and assigned to a compute node of the other compute nodes; and
wherein the second instance activates upon failure of the first instance.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the one or more microprocessors have a lower level of performance than microprocessors of at least one of the other compute nodes.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein a component process of the first processes directs the one or more microprocessors to interact with a vehicle component of the vehicle components.
