IP Library Granted Patent US 11,875,144
Granted Patent B2
US 11,875,144 · App. 17/835,890 · Granted Jan 16, 2024

Over-the-air (OTA) mobility services platform

Inventors: Tao Lin (Palo Alto, CA); Pratikkumar Desai (Santa Clara, CA); Rasmus Hjorth Nielsen (Sunnyvale, CA); Mahbubul Alam (Mountain View, CA); Li Jin (San Jose, CA); Revanth Attam (Santa Clara, CA); Leo Dumov (Los Gatos, CA); Suhasini John Gadam (San Jose, CA); Atul Ashok (San Francisco, CA); Sneha Prasad Alam (Mountain View, CA); Dhanaji More (Sunnyvale, CA); Mohamed Karkori (San Francisco, CA)
Assignee: Motional AD LLC
G06F8/65H04L67/34G06F8/60G06F8/61G06F8/658H04L67/10H04L67/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,875,144
App. No.
17/835,890
Granted
Jan 16, 2024
Kind
B2
Abstract

An over-the-air (OTA) mobility service platform (MSP) is disclosed that provides a variety of OTA services, including but not limited to: updating software OTA (SOTA), updating firmware OTA (FOTA), client connectivity, remote control and operation monitoring. In some exemplary embodiments, the MSP is a distributed computing platform that delivers and/or updates one or more of configuration data, rules, scripts and other services to vehicles and IoT devices. In some exemplary embodiments, the MSP optionally provides data ingestion, storage and management, data analytics, real-time data processing, remote control of data retrieving, insurance fraud verification, predictive maintenance and social media support.

Claims (56)

1. A method comprising:

creating, by one or more processors, a data structure for a mobility client, wherein the data structure is a virtual representation of the mobility client, wherein the data structure comprises a unique identifier for the mobility client and an update information field comprising information associated with a particular software update;

receiving, by the one or more processors, one or more user inputs specifying a mobility client model and one or more software models that are associated with the mobility client model, the mobility client model defining one or more hardware components installed on the mobility client that execute software defined by the one or more software models;

generating, by the one or more processors, one or more update files for the particular software update and one or more download information files comprising one or more instructions for downloading and installing the one or more update files based on the update information field of the data structure;

monitoring, by the one or more processors, an installation task to detect an issue with the installation task, wherein the installation task installs the one or more update files on the mobility client and the issue is detected using one or more copies of the data structure stored on distributed databases accessible by an over-the-air (OTA) mobility services platform;

assigning, by the one or more processors, the issue to a user class of the OTA mobility services platform based on an issue type; and

changing, by the one or more processors, a status of the installation task after the issue is resolved.

2. The method of claim 1 ,

wherein a coherency of one or more copies of the data structure is maintained by a background process of the OTA mobility services platform.

3. The method of claim 1 , further comprising:

in accordance with the installation task:

transferring, by the one or more processors, the one or more download information files to one or more mobility clients in a mobility client group; and

in accordance with the one or more download information files, transferring the one or more update files to the one or more mobility clients in the mobility client group.

4. The method of claim 3 , further comprising:

determining the mobility client group based on location data provided by the mobility clients in the mobility client group.

5. The method of claim 3 , further comprising:

receiving a geofence region from a user, wherein geofence region is drawn on a map by the user; and

determining the mobility client group within the geofence region.

6. The method of claim 1 , wherein the OTA mobility services platform is a distributed computing platform that comprises a data stream processing pipeline architecture for processing data feeds from the mobility client using a scalable publication/subscription message queue as a distributed transaction log.

7. The method of claim 1 , wherein the OTA mobility services platform comprises multiple instances of software that run concurrently and communicate with each other over a message bus.

8. A method comprising:

receiving, by one or more processors, a download information file comprising one or more instructions for downloading and installing one or more update files from a data repository, the one or more instructions defining an installation order that preserves interdependencies between one or more versions of a plurality of software models defining software installed on a mobility client;

receiving, by the one or more processors, two sets of download links to the mobility client, wherein a first set of download links comprises a single download link to a single software package for the plurality of software models, and a second set of download links comprises download links to individual software update packages for each software model;

in accordance with the one or more instructions, downloading, by the one or more processors, the single software package and the individual software update packages to the mobility client; and

in accordance with the installation order, initiating, by the one or more processors, installation of the one or more update files on the mobility client starting from the lowest node in a software model hierarchy,

wherein the installation order is determined by a topological sort.

9. An over-the-air (OTA) mobility services platform, comprising:

one or more processors;

a memory; and

one or more programs stored in the memory, that when executed by the one or more processors, cause the one or more processors to perform operations comprising:

creating a data structure for a mobility client, wherein the data structure is a virtual representation of the mobility client, wherein the data structure comprises a unique identifier for the mobility client and an update information field comprising information associated with a particular software update;

receiving one or more user inputs specifying a mobility client model and one or more software models that are associated with the mobility client model, the mobility client model defining one or more hardware components installed on the mobility client that execute software defined by the one or more software models;

generating, by the one or more processors, one or more update files for the particular software update and one or more download information files comprising one or more instructions for downloading and installing the one or more update files based on the update information field of the data structure;

monitoring, by the one or more processors, an installation task to detect an issue with the installation task, wherein the installation task installs the one or more update files on the mobility client and the issue is detected using one or more copies of the data structure stored on distributed databases accessible by the OTA mobility services platform;

assigning, by the one or more processors, the issue to a user class of the OTA mobility services platform based on an issue type; and

changing, by the one or more processors, a status of the installation task after the issue is resolved.

10. The OTA mobility services platform of claim 9 , wherein a coherency of one or more copies of the data structure is maintained by a background process of the mobility services platform.

11. The OTA mobility services platform of claim 9 , wherein the operations further comprise:

in accordance with the installation task:

transferring, by the one or more processors, the one or more download information files to one or more mobility clients in a mobility client group; and

in accordance with the one or more download information files, transferring the one or more update files to the one or more mobility clients in the mobility client group.

12. The OTA mobility services platform of claim 11 , wherein the operations further comprise:

determining the mobility client group based on location data provided by the one or more mobility clients in the mobility client group.

13. The OTA mobility services platform of claim 9 , wherein the OTA mobility services platform is a distributed computing platform that comprises a data stream processing pipeline architecture for processing data feeds from the mobility client using a scalable publication/subscription message queue as a distributed transaction log.

14. The OTA mobility services platform of claim 9 , wherein the OTA mobility services platform comprises a plurality of instances of software that run concurrently and communicate with each other over a message bus.

15. A mobility client, comprising:

one or more processors;

memory; and

one or more programs stored in the memory, that when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a download information file comprising one or more instructions for downloading and installing one or more update files from a data repository, the one or more instructions defining an installation order that preserves interdependencies between one or more versions of a plurality of software models defining software installed on the mobility client;

receiving two sets of download links to the mobility client, wherein a first set of download links comprises a single download link to a single software package that comprises updates for the plurality of software models, and a second set of download links comprises download links to individual software update packages for each software model;

in accordance with the one or more instructions, downloading the single software package and the individual software update packages to the mobility client; and

in accordance with the installation order, initiating, by the one or more processors, installation of the one or more update files on the mobility client starting from the lowest node in a software model hierarchy,

wherein the installation order is determined by a topological sort.

16. The mobility client of claim 15 , the operations further comprising:

invoking a rollback operation to restore the software to a most recent version of the software.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2022
From: LIN, TAO; DESAI, PRATIKKUMAR; NIELSEN, RASMUS HJORTH; ALAM, MAHBUBUL; JIN, LI; ATTAM, REVANTH; DUMOV, LEO; GADAM, SUHASINI JOHN; ASHOK, ATUL; ALAM, SNEHA PRASAD; KARKORI, MOHAMED; MORE, DHANAJI
To: APTIV TECHNOLOGIES LIMITED
Reel/Frame 060358/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2022
From: APTIV TECHNOLOGIES LIMITED
To: MOTIONAL AD LLC
Reel/Frame 060358/0364 →
Continuity (3)
Continuation 16447881 · Jun 20, 2019
Provisional Application 62687723 · Jun 20, 2018
Related Publication 20220300273A1 · Sep 22, 2022
Cited By (1)
US 12,693,843