# US 11,299,168 B2 · Time synchronization scheme between different computation nodes in autonomous driving system

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

- Number: US 11,299,168 B2
- Document ID: US11299168B2
- Status: Granted
- Kind: B2
- Application number: 16/386,068
- Filed: 2019-04-16
- Published: 2020-10-22
- Granted: 2022-04-12
- Earliest claimed: 2019-04-16
- Assignees: Baidu USA LLC
- Applicants: Baidu USA LLC
- Inventors: Manjiang Zhang; Shengjin Zhou; Davy Huang; Min Guo; Bernard Deadman
- Web page: https://patentgrep.com/patent/US11299168B2

## CPC

- B60W 50/00: Details of control systems for road vehicle drive control not related to the control of a particular sub-unit {, e.g. process diagnostic or vehicle driver interfaces}
- G05D 1/0088: {characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours (using knowledge based models G06N5/00)}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- H04J 3/0644: {External master-clock}
- H04L 7/0008: {Synchronisation information channels, e.g. clock distribution lines}
- H04L 12/40039: {Details regarding the setting of the power status of a node according to activity on the bus}
- 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
- H04L 69/28: Timers or timing mechanisms used in protocols
- B60W 50/0097: {Predicting future conditions}
- B60W 2050/0075: {Automatic parameter input, automatic initialising or calibrating means}
- B60W 2050/0088: {Adaptive recalibration}
- B60W 2556/00: Input parameters relating to data
- B60W 2556/50: of positioning data, e.g. GPS [Global Positioning System] data
- G06F 2213/0026: PCI express
- H04J 3/0667: {Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays (arrangements for monitoring round trip delays in packet switching networks H04L43/0864)}
- 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
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04J: MULTIPLEX COMMUNICATION (transmission in general H04B; peculiar to transmission of digital information H04L5/00; systems for the simultaneous or sequential transmission of more than one television signal H04N7/08; in exchanges H04Q11/00; stereophonic systems H04S)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method, apparatus, and system for timing synchronization between multiple computing nodes in an autonomous vehicle host system is disclosed. Timing of a first computing node of an autonomous vehicle host system is calibrated based on an external time source. A first timing message is transmitted from the first computing node to a second computing node of the autonomous vehicle host system via a first communication channel between the first computing node and the second computing node. Timing of the second computing node is calibrated based on the first timing message, wherein immediately subsequent to the calibration of timing of the second computing node, timing of the first computing node and of the second computing node is synchronized.

## Claims

### Claim 1

A computer-implemented method, comprising:
calibrating timing of a first computing node of an autonomous vehicle host system based on an external time source;
transmitting, from the first computing node to a second computing node of the autonomous vehicle host system, a first timing message via a first communication channel between the first computing node and the second computing node;
calibrating timing of the second computing node based on the first timing message to synchronize timing of the first computing node and of the second computing node, wherein the first computing node and the second computing node are configured to perform different autonomous driving operations of an autonomous driving vehicle (ADV) in a collaborated manner;
transmitting, from the second computing node to a fourth computing node of the autonomous vehicle host system, a third timing message via a third communication channel between the second computing node and the fourth computing node; and
calibrating timing of the fourth computing node based on the third timing message to synchronize timing of the second computing node and of the fourth computing node, and wherein the first, second, and fourth computing nodes are connected with a chain topology.

### Claim 2 (depends on 1)

The method of claim 1, wherein the external time source is one of: a time server reachable over a network, a Global Positioning System (GPS) signal, or a cellular network signal.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
transmitting, from the first computing node to a third computing node of the autonomous vehicle host system, a second timing message via a second communication channel between the first computing node and the third computing node; and
calibrating timing of the third computing node based on the second timing message to synchronize timing of the first computing node and of the third computing node, and wherein the first, second, and third computing nodes are connected with a common master topology.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first timing message is a Network Time Protocol (NTP) message or a Precision Time Protocol (PTP) message, and the first communication channel is an Ethernet channel.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining that a failure has occurred in the transmission of a fourth timing message via a fourth communication channel between the first computing node and the second computing node;
in response to determining that the failure has occurred, transmitting, from the first computing node to the second computing node, a fifth timing message via a fifth communication channel between the first computing node and the second computing node; and
calibrating timing of the second computing node based on the fifth timing message to synchronize timing of the first computing node and of the second computing node.

### Claim 6

A computer-implemented method, comprising:
calibrating timing of a first computing node of an autonomous vehicle host system based on an external time source;
transmitting, from the first computing node to a second computing node of the autonomous vehicle host system, a first timing message via a first communication channel between the first computing node and the second computing node;
calibrating timing of the second computing node based on the first timing message to synchronize timing of the first computing node and of the second computing node, wherein the first computing node and the second computing node are configured to perform different autonomous driving operations of an autonomous driving vehicle (ADV) in a collaborated manner, wherein the first timing message is a Programmed Input/Output (PIO) access message or a Precision Time Management (PTM) message, and the first communication channel is a Peripheral Component Interconnect Express (PCIe) channel.

### Claim 7

A computer-implemented method, comprising:
calibrating timing of a first computing node of an autonomous vehicle host system based on an external time source;
transmitting, from the first computing node to a second computing node of the autonomous vehicle host system, a first timing message via a first communication channel between the first computing node and the second computing node;
calibrating timing of the second computing node based on the first timing message to synchronize timing of the first computing node and of the second computing node, wherein the first computing node and the second computing node are configured to perform different autonomous driving operations of an autonomous driving vehicle (ADV) in a collaborated manner, wherein the first timing message is a Global Positioning System (GPS) message, and the first communication channel is a General Purpose Input/Output (GPIO) channel.

### Claim 8

A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:
calibrating timing of a first computing node of an autonomous vehicle host system based on an external time source;
transmitting, from the first computing node to a second computing node of the autonomous vehicle host system, a first timing message via a first communication channel between the first computing node and the second computing node;
calibrating timing of the second computing node based on the first timing message to synchronize timing of the first computing node and of the second computing node, wherein the first computing node and the second computing node are configured to perform different autonomous driving operations of an autonomous driving vehicle (ADV) in a collaborated manner;
transmitting, from the second computing node to a fourth computing node of the autonomous vehicle host system, a third timing message via a third communication channel between the second computing node and the fourth computing node; and
calibrating timing of the fourth computing node based on the third timing message to synchronize timing of the second computing node and of the fourth computing node, and wherein the first, second, and fourth computing nodes are connected with a chain topology.

### Claim 9 (depends on 8)

The machine-readable medium of claim 8, wherein the external time source is one of: a time server reachable over a network, a Global Positioning System (GPS) signal, or a cellular network signal.

### Claim 10 (depends on 8)

The machine-readable medium of claim 8, wherein the operations further comprise:
transmitting, from the first computing node to a third computing node of the autonomous vehicle host system, a second timing message via a second communication channel between the first computing node and the third computing node; and
calibrating timing of the third computing node based on the second timing message to synchronize timing of the first computing node and of the third computing node, and wherein the first, second, and third computing nodes are connected with a common master topology.

### Claim 11 (depends on 8)

The machine-readable medium of claim 8, wherein the first timing message is a Network Time Protocol (NTP) message or a Precision Time Protocol (PTP) message, and the first communication channel is an Ethernet channel.

### Claim 12 (depends on 8)

The machine-readable medium of claim 8, wherein the first timing message is a Programmed Input/Output (PIO) access message or a Precision Time Management (PTM) message, and the first communication channel is a Peripheral Component Interconnect Express (PCIe) channel.

### Claim 13 (depends on 8)

The machine-readable medium of claim 8, wherein the first timing message is a Global Positioning System (GPS) message, and the first communication channel is a General Purpose Input/Output (GPIO) channel.

### Claim 14 (depends on 8)

The machine-readable medium of claim 8, wherein the operations further comprise:
determining that a failure has occurred in the transmission of a fourth timing message via a fourth communication channel between the first computing node and the second computing node;
in response to determining that the failure has occurred, transmitting, from the first computing node to the second computing node, a fifth timing message via a fifth communication channel between the first computing node and the second computing node; and
calibrating timing of the second computing node based on the fifth timing message to synchronize timing of the first computing node and of the second computing node.

### Claim 15

A data processing system, comprising:
a processor; and
a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including
calibrating timing of a first computing node of an autonomous vehicle host system based on an external time source,
transmitting, from the first computing node to a second computing node of the autonomous vehicle host system, a first timing message via a first communication channel between the first computing node and the second computing node,
calibrating timing of the second computing node based on the first timing message to synchronize timing of the first computing node and of the second computing node, wherein the first computing node and the second computing node are configured to perform different autonomous driving operations of an autonomous driving vehicle (ADV) in a collaborated manner,
transmitting, from the second computing node to a fourth computing node of the autonomous vehicle host system, a third timing message via a third communication channel between the second computing node and the fourth computing node, and
calibrating timing of the fourth computing node based on the third timing message to synchronize timing of the second computing node and of the fourth computing node, and wherein the first, second, and fourth computing nodes are connected with a chain topology.

### Claim 16 (depends on 15)

The system of claim 15, wherein the external time source is one of: a time server reachable over a network, a Global Positioning System (GPS) signal, or a cellular network signal.

### Claim 17 (depends on 15)

The system of claim 15, wherein the operations further comprise:
transmitting, from the first computing node to a third computing node of the autonomous vehicle host system, a second timing message via a second communication channel between the first computing node and the third computing node; and
calibrating timing of the third computing node based on the second timing message to synchronize timing of the first computing node and of the third computing node, and wherein the first, second, and third computing nodes are connected with a common master topology.

### Claim 18 (depends on 15)

The system of claim 15, wherein the first timing message is a Network Time Protocol (NTP) message or a Precision Time Protocol (PTP) message, and the first communication channel is an Ethernet channel.

### Claim 19 (depends on 15)

The system of claim 15, wherein the first timing message is a Programmed Input/Output (PIO) access message or a Precision Time Management (PTM) message, and the first communication channel is a Peripheral Component Interconnect Express (PCIe) channel.

### Claim 20 (depends on 15)

The system of claim 15, wherein the first timing message is a Global Positioning System (GPS) message, and the first communication channel is a General Purpose Input/Output (GPIO) channel.
