# US 12,113,645 B2 · Method and system for automotive data ingestion

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

- Number: US 12,113,645 B2
- Document ID: US12113645B2
- Status: Granted
- Kind: B2
- Application number: 17/841,001
- Filed: 2022-06-15
- Published: 2023-12-21
- Granted: 2024-10-08
- Earliest claimed: 2022-06-15
- Assignees: BlackBerry Limited
- Applicants: BlackBerry Limited
- Inventors: Sue Hsiu Ying Ludwig; Darcy Phipps; Justin Matthew Spalvieri; Mark Savio Macintyre Wheatley; Stephen James Lewis
- Web page: https://patentgrep.com/patent/US12113645B2

## CPC

- G06F 16/256: {in federated or virtual databases}
- H04L 12/40071: {Packet processing; Packet format (adaptation of digital video signals for transport over a specific network H04N21/2381, H04N21/4363, H04N21/4381; packet switches H04L49/00; intermediate storage or scheduling H04L49/90)}
- H04L 12/40091: {Bus bridging (LAN interconnection over a bridge based backbone H04L12/462; single bridge functionality H04L12/462)}
- H04L 12/40189: {by using a plurality of bus systems}
- H04L 2012/40273: {the transportation system being a vehicle}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method at a computing device for providing vehicle data to a client, the method including receiving a data object at an ingestor block at the computing device, the ingestor block comprising a plurality of ingestor instances capable of interacting with different entities; converting the data object to a frame; providing the frame to a translation stack at the computing device to convert the frame into a normalized message; and providing the normalized message to the client.

## Claims

### Claim 1

A method at a computing device for providing vehicle data to a client, the method comprising:
receiving, from an entity of a plurality of different entities, a data object at an ingestor block at the computing device, the ingestor block comprising a plurality of ingestor instances, each of the ingestor instances being tailored to receive data from only one entity of the plurality of different entities;
converting the data object to a frame using a selected ingestor instance from the plurality of ingestor instances;
providing the frame to a translation stack at the computing device to convert the frame into a normalized message; and
providing the normalized message to the client;
wherein the different entities have at least one of: different operating systems, different bus structures, or different hardware configurations.

### Claim 2 (depends on 1)

The method of claim 1, wherein the different entities have different operating systems.

### Claim 3 (depends on 1)

The method of claim 1, wherein the different entities have different bus structures.

### Claim 4 (depends on 1)

The method of claim 1, wherein the different entities have different hardware configurations.

### Claim 5 (depends on 1)

The method of claim 1, wherein the plurality of ingestor instances are created with an application program interface based on a shared objects repository and the different entities.

### Claim 6 (depends on 1)

The method of claim 1, wherein the translation stack comprises a two stage translation to convert the frames first into an intermediate format and subsequently to the normalized message format.

### Claim 7 (depends on 6)

The method of claim 6, wherein configuration files for each stage of the translation are provided by the different entities.

### Claim 8 (depends on 1)

The method of claim 1, wherein frames from the ingestor block are placed into a circular buffer, and wherein the providing is done in a multi-thread process.

### Claim 9 (depends on 8)

The method of claim 8, further comprising a buffer for normalized messages to ensure the normalized messages are sent to the client in a correct order.

### Claim 10 (depends on 1)

The method of claim 1, further comprising filters for at least one of: each ingestor instance; and the translation stack; wherein the filters are used to determine whether a frame should be processed.

### Claim 11

A computing device for providing vehicle data to a client, the computing device comprising:
a processor; and
a communications subsystem, wherein the computing device is configured to:
receive, from an entity of a plurality of different entities, a data object at an ingestor block at the computing device, the ingestor block comprising a plurality of ingestor instances, each of the ingestor instances being tailored to receive data from only one entity of the plurality of different entities;
convert the data object to a frame using a selected ingestor instance from the plurality of ingestor instances;
provide the frame to a translation stack at the computing device to convert the frame into a normalized message; and
provide the normalized message to the client;
wherein the different entities have at least one of: different operating systems, different bus structures, or different hardware configurations.

### Claim 12 (depends on 11)

The computing device of claim 11, wherein the different entities have different operating systems.

### Claim 13 (depends on 11)

The computing device of claim 11, wherein the different entities have different bus structures.

### Claim 14 (depends on 11)

The computing device of claim 11, wherein the different entities have different hardware configurations.

### Claim 15 (depends on 11)

The computing device of claim 11, wherein the plurality of ingestor instances are created with an application program interface based on a shared objects repository and the different entities.

### Claim 16 (depends on 11)

The computing device of claim 11, wherein the translation stack comprises a two stage translation to convert the frames first into an intermediate format and subsequently to the normalized message format.

### Claim 17 (depends on 11)

The computing device of claim 11, wherein frames from the ingestor block are placed into a circular buffer, and wherein the providing is done in a multi-thread process.

### Claim 18 (depends on 17)

The computing device of claim 17, further comprising a buffer for normalized messages to ensure the normalized messages are sent to the client in a correct order.

### Claim 19 (depends on 11)

The computing device of claim 11, further comprising filters for at least one of: each ingestor instance; and the translation stack; to determine whether a frame should be processed.

### Claim 20

A non-transitory computer readable medium for storing instruction code, which, when executed by a processor of a computing device configured for providing vehicle data to a client, cause the computing device to:
receive, from an entity of a plurality of different entities, a data object at an ingestor block at the computing device, the ingestor block comprising a plurality of ingestor instances, each of the ingestor instances being tailored to receive data from only one entity of the plurality of different entities;
convert the data object to a frame using a selected ingestor instance from the plurality of ingestor instances;
provide the frame to a translation stack at the computing device to convert the frame into a normalized message; and
provide the normalized message to the client;
wherein the different entities have at least one of: different operating systems, different bus structures, or different hardware configurations.
