# US 2021/0334136 A1 · Platooning of computational resources in automated vehicles networks

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

- Number: US 2021/0334136 A1
- Document ID: US20210334136A1
- Status: Published application
- Kind: A1
- Application number: 17/367,969
- Filed: 2021-07-06
- Published: 2021-10-28
- Earliest claimed: 2018-12-20
- Assignees: DISH Network L.L.C.
- Applicants: DISH Network L.L.C.
- Inventors: Jeff McSchooler
- Web page: https://patentgrep.com/patent/US20210334136A1

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G08G 1/22: {Platooning, i.e. convoy of communicating vehicles}
- G05D 1/0027: {involving a plurality of vehicles, e.g. fleet or convoy travelling (fleet control of land vehicles from a control room G05D1/0297; traffic control systems for road vehicles G08G1/00; for marine craft G08G3/00; for aircraft G08G5/00)}
- G05D 1/0088: {characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours (using knowledge based models G06N5/00)}
- G05D 1/0293: {Convoy travelling}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 9/5072: {Grid computing}
- G06F 15/17368: {non hierarchical topologies}
- G07C 5/0808: {Diagnosing performance data (testing of vehicles G01M17/00; testing of electrical installation on vehicles G01R31/005)}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04W 4/40: for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W 4/46: for vehicle-to-vehicle communication [V2V]
- G06F 2209/509: Offload
- G07C 5/008: {communicating information to a remotely located station (transmission systems for measured values G08C)}
- H04W 4/023: {using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds}
- H04W 4/029: Location-based management or tracking services
- H04W 4/80: Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
- H04W 84/18: Self-organising networks, e.g. ad-hoc networks or sensor networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G08G: TRAFFIC CONTROL SYSTEMS (guiding railway traffic, ensuring the safety of railway traffic B61L; arrangement of road signs or traffic signals E01F9/00; radar or analogous systems, sonar systems, lidar systems specially adapted for traffic control G01S13/91, G01S15/88, G01S17/88; {radar or analogous systems, sonar systems, lidar systems specially adapted for anti-collision purposes G01S13/93, G01S15/93, G01S17/93})
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Novel techniques are described for platooning of computational resources in automated vehicle networks. An on-board computational processor of an automated vehicle typically performs a large number of computational tasks, and some of those computational tasks can be computationally intensive. Some such tasks, referred to as platoonable tasks herein, are well-suited for parallel processing by multiple processors. Embodiments can detect one or more on-board computational processors in one or more automated vehicles that are likely, during the time window in which the platoonable task will be executed, to have available computational resources and to be traveling along respective paths that are close enough to each other to allow for ad hoc network communications to be established between the processors. In response to detecting such cases, embodiments can schedule and instruct shared execution of the platoonable tasks by the multiple processors via the ad hoc network.

## Claims

### Claim 1

A system for platooning of computational resources, the system comprising:
a vehicle tracker to:
determine a first travel path along which a first on-board computational processor (OBCP) disposed in a first vehicle is predicted to travel during a time window; and
identify a second OBCP as predicted to travel along a second travel path during at least a portion of the time window so as to be in ad hoc networking range of the first OBCP during at least the portion of the time window; and
a platooning processor to:
detect a platoonable task as one of a plurality of computational tasks predicted to consume at least a threshold amount of computational resources of the first OBCP during the time window;
determine that the second OBCP is predicted to have available computational resources during at least the portion of the time window;
schedule platooning of computational resources of the first OBCP and the second OBCP to perform the platoonable task; and
instruct performance of the platoonable task by the first OBCP and the second OBCP in accordance with the scheduling.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a network processor to:
establish communicative coupling of the first OBCP and the second OBCP via an ad hoc network upon arrival of at least the portion of the time window; and
communicate instructions to at least one of the first OBCP or the second OBCP via the ad hoc network in accordance with the platooning processor instructing the performance of the platoonable task.

### Claim 3 (depends on 2)

The system of claim 2, wherein the platooning processor instructs the performance of the platoonable task responsive to detecting the network processor establishing the communicative coupling.

### Claim 4 (depends on 2)

The system of claim 2, further comprising:
a back-end computational system remote from the first vehicle and comprising the network processor, the platooning processor, and the vehicle tracker.

### Claim 5 (depends on 1)

The system of claim 1, wherein determining the first travel path comprises:
determining a first vehicle path along which the first vehicle is predicted to travel during the time window; and
determining that the first OBCP is predicted to be disposed in the first vehicle during the time window, such that the first travel path of the first OBCP is coincident with the first vehicle path of the first vehicle during the time window.

### Claim 6 (depends on 5)

The system of claim 5, wherein identifying the second OBCP as predicted to travel along the second travel path comprises:
determining a second vehicle path along which a second vehicle is predicted to travel during the time window;
determining that the second OBCP is predicted to be disposed in the second vehicle during the time window, such that the second travel path of the second OBCP is coincident with the second vehicle path of the second vehicle during the time window; and
determining that the second vehicle path places the second OBCP in ad hoc networking range of the first OBCP during at least the portion of the time window.

### Claim 7 (depends on 1)

The system of claim 1, wherein identifying the second OBCP as predicted to travel along the second travel path comprises predicting the second OBCP to be disposed in the first vehicle during at least the portion of the time window.

### Claim 8 (depends on 1)

The system of claim 1, wherein the first OBCP is structurally integrated in the first vehicle, and the second OBCP is integrated with a mobile device.

### Claim 9 (depends on 1)

The system of claim 1, wherein the platooning processor is further to:
compute a computational resource demand for the time window according to an amount of the computational resources of the first OBCP predicted to be consumed by the plurality of computational tasks during the time window; and
compute a computational resource supply for the time window according to an amount of the computational resources of the first OBCP predicted to be available for consumption by the plurality of computational tasks during the time window,
such that the platooning processor is to detect the platoonable task responsive to determining that the computational resource demand for the time window exceeds the computational resource supply for the time window.

### Claim 10 (depends on 1)

The system of claim 1, wherein:
the vehicle tracker is further to identify a set of candidate OBCPs as each predicted to travel along a respective travel path during at least the portion of the time window so as to be in ad hoc networking range of the first OBCP during at least the portion of the time window; and
the platooning processor is to identify the second OBCP as being one of the set of candidate OBCPs predicted to have available computational resources during at least the portion of the time window.

### Claim 11 (depends on 1)

The system of claim 1, wherein:
the platoonable task is executable as a plurality of parallel execution threads; and
the platooning processor is to schedule the platooning by scheduling a first portion of the plurality of parallel execution threads to be executed by the first OBCP, and scheduling a second portion of the plurality of parallel execution threads to be executed by the second OBCP.

### Claim 12 (depends on 1)

The system of claim 1, wherein the first vehicle is an automated vehicle.

### Claim 13

A method for platooning of computational resources, the method comprising:
determining a first travel path along which a first on-board computational processor (OBCP) disposed in a first vehicle is predicted to travel during a time window;
identifying a second OBCP as predicted to travel along a second travel path during at least a portion of the time window so as to be in ad hoc networking range of the first OBCP during at least the portion of the time window;
detecting a platoonable task as one of a plurality of computational tasks predicted to consume at least a threshold amount of computational resources of the first OBCP during the time window;
determining that the second OBCP is predicted to have available computational resources during at least the portion of the time window;
scheduling platooning of computational resources of the first OBCP and the second OBCP to perform the platoonable task; and
instructing performance of the platoonable task by the first OBCP and the second OBCP in accordance with the scheduling.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
establishing communicative coupling of the first OBCP and the second OBCP via an ad hoc network upon arrival of at least the portion of the time window; and
communicating instructions to at least one of the first OBCP or the second OBCP via the ad hoc network in accordance with the platooning processor instructing the performance of the platoonable task.

### Claim 15 (depends on 13)

The method of claim 13, wherein determining the first travel path comprises:
determining a first vehicle path along which the first vehicle is predicted to travel during the time window; and
determining that the first OBCP is predicted to be disposed in the first vehicle during the time window, such that the first travel path of the first OBCP is coincident with the first vehicle path of the first vehicle during the time window.

### Claim 16 (depends on 15)

The method of claim 15, wherein identifying the second OBCP as predicted to travel along the second travel path comprises:
determining a second vehicle path along which a second vehicle is predicted to travel during the time window;
determining that the second OBCP is predicted to be disposed in the second vehicle during the time window, such that the second travel path of the second OBCP is coincident with the second vehicle path of the second vehicle during the time window; and
determining that the second vehicle path places the second OBCP in ad hoc networking range of the first OBCP during at least the portion of the time window.

### Claim 17 (depends on 13)

The method of claim 13, wherein identifying the second OBCP as predicted to travel along the second travel path comprises predicting the second OBCP to be disposed in the first vehicle during at least the portion of the time window.

### Claim 18 (depends on 13)

The method of claim 13, wherein at least one of the first OBCP is and the second OBCP is integrated with a mobile device.

### Claim 19 (depends on 13)

The method of claim 13, further comprising:
computing a computational resource demand for the time window according to an amount of the computational resources of the first OBCP predicted to be consumed by the plurality of computational tasks during the time window; and
computing a computational resource supply for the time window according to an amount of the computational resources of the first OBCP predicted to be available for consumption by the plurality of computational tasks during the time window,
such that the detecting the platoonable task is responsive to determining that the computational resource demand for the time window exceeds the computational resource supply for the time window.

### Claim 20 (depends on 13)

The method of claim 13, further comprising:
identifying a set of candidate OBCPs as each predicted to travel along a respective travel path during at least the portion of the time window so as to be in ad hoc networking range of the first OBCP during at least the portion of the time window,
wherein the determining that the second OBCP is predicted to have available computational resources during at least the portion of the time window comprises identifying the second OBCP as one of the set of candidate OBCPs predicted to have available computational resources during at least the portion of the time window.
