IP Library Granted Patent US 11,403,087
Granted Patent B2
US 11,403,087 · App. 16/447,881 · Granted Aug 2, 2022

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/32
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,403,087
App. No.
16/447,881
Granted
Aug 2, 2022
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 (92)

1. A method comprising:

creating, by one or more processors of an over-the-air (OTA) mobility services platform, virtual representations of mobility clients that include unique identifiers for the mobility clients and data structures with an update information field and one or more extended fields that provide an interface operable for sending and receiving data or services from one or more data or service providers that are external to the OTA mobility services platform, wherein the data structures included in the virtual representations are copies of data structures of the mobility clients;

storing, by the one or more processors, the virtual representations in one or more databases accessible by the OTA mobility services platform;

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

generating, by the one or more processors, update files for software updates stored in a data repository and download information files including instructions for downloading and installing the update files, the instructions defining an installation order hierarchy that preserves the interdependencies between the one or more versions of the plurality of software models, the update files generated for each mobility client based at least in part on the update information field of its virtual representation;

generating, by the one or more processors, a distribution task, the distribution task including a start time, an end time and a mobility client group;

generating, by the one or more processors, installation tasks for mobility clients in the mobility client group;

in accordance with the installation tasks:

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

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

2. The method of claim 1 , further comprising:

monitoring, by the one or more processors, the installation tasks to detect an issue with the installation tasks;

in accordance with detecting the issue and responsive to the plurality of user inputs:

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

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

3. The method of claim 1 , further comprising:

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

4. The method of claim 3 , wherein the mobility client group is determined based on the location data and a geofence.

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

6. 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.

7. The method of claim 1 , further comprising:

using the one or more extended fields to provide data or services to, or receive data from, the mobility client, where the mobility client is a vehicle.

8. A method comprising:

creating, by one or more processors of a mobility client of an over-the-air (OTA) mobility services platform, a virtual representation of the mobility client that includes a unique identifier for the mobility client and data structures with an update information field and one or more extended fields that provide an interface operable for sending and receiving data or services from one or more data or service providers that are external to the OTA mobility services platform, wherein the data structures included in the virtual representations are copies of data structures of the mobility clients;

sending, by the one or more processors, the virtual representation to the OTA mobility services platform;

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

in accordance with the instructions, downloading the update files to the mobility client;

in accordance with the installation order hierarchy, initiating, by the one or more processors, installation of the update files on the mobility client; and

updating the update information field of the virtual representation to indicate a current version of the software installed on the mobility client after the update is completed,

wherein the installation order hierarchy is determined by a topological sort.

9. The method of claim 8 , the method further comprising:

using the one or more extended fields to provide data or services to, or receive data from, the mobility client, where the mobility client is a vehicle.

10. The method of claim 8 , wherein the download information file includes links to the update files stored in a network-based data repository.

11. An over-the-air (OTA) mobility services platform, 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:

creating virtual representations of mobility clients that include unique identifiers for the mobility clients and data structures with an update information field and one or more extended fields that provide an interface operable for sending and receiving data or services from one or more data or service providers that are external to the OTA mobility services platform, wherein the data structures included in the virtual representations are copies of data structures of the mobility clients;

storing the virtual representations in one or more databases accessible by the OTA mobility services platform;

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

generating update files for software updates stored in a data repository and download information files including instructions for downloading and installing the update files, the instructions defining an installation order hierarchy that preserves the interdependencies between the one or more versions of the plurality of software models, the update files generated for each mobility client based at least in part on the update information field of its virtual representation;

generating a distribution task, the distribution task including a start time, an end time and a mobility client group;

generating installation tasks for mobility clients in the mobility client group;

in accordance with the installation tasks:

transferring the download information files to the mobility clients in the mobility client group; and in accordance with the download information files,

transferring the update files to the mobility clients in the mobility client group.

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

monitoring, the installation tasks to detect an issue with the installation tasks;

in accordance with detecting the issue and responsive to the plurality of user inputs:

assigning the issue to a member of a user class of the mobility services platform based on an issue type; and

changing a status of the installation tasks after the issue is resolved.

13. 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 mobility clients in the mobility client group.

14. The OTA mobility services platform of claim 13 , wherein the mobility client group is determined based on the location data and a geofence.

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

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

17. The OTA mobility services platform of claim 11 , further comprising:

using the one or more extended fields to provide data or services to, or receive data from, the mobility client, where the mobility client is a vehicle.

18. A mobility client of an over-the-air (OTA) mobility services platform, 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:

creating, by the one or more processors, a virtual representation of the mobility client that includes a unique identifier for the mobility client and data structures with an update information field and one or more extended fields that provide an interface operable for sending and receiving data or services from one or more data or service providers that are external to the OTA mobility services platform, wherein the data structures included in the virtual representations are copies of data structures of the mobility clients;

sending, by the one or more processors, the virtual representation to the OTA mobility services platform;

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

in accordance with the instructions, downloading the update files to the mobility client;

in accordance with the installation order hierarchy, initiating, by the one or more processors, installation of the update files on the mobility client; and

updating the update information field of the virtual representation to indicate a current version of the software installed on the mobility client after the update is completed,

wherein the installation order hierarchy is determined by a topological sort.

19. The mobility client of claim 18 , wherein the download information file includes links to the update files stored in a network-based data repository.

20. The OTA mobility services platform of claim 18 , the operations further comprising:

using the one or more extended fields to provide data or services to, or receive data from, the mobility client, where the mobility client is a vehicle.

21. A method comprising:

creating, by one or more processors of an over-the-air (OTA) mobility services platform, virtual representations of vehicles that include unique identifiers for the vehicles and data structures with an update information field and one or more extended fields that provide an interface operable for sending and receiving data or services from one or more data or service providers that are external to the OTA mobility services platform, wherein the data structures included in the virtual representations are copies of data structures of the vehicles;

storing, by the one or more processors, the virtual representations in one or more databases accessible by the OTA mobility services platform;

receiving, by the one or more processors, a plurality of user inputs specifying a vehicle model and a plurality of software models that are associated with the vehicle model, the vehicle model defining a plurality of hardware components installed on a vehicle that execute software defined by the software models, the plurality of software models also defining interdependencies between one or more versions of the plurality of software models;

generating, by the one or more processors, update files for software updates stored in a data repository and download information files including instructions for downloading and installing the update files, the instructions defining an installation order hierarchy that preserves the interdependencies between the one or more versions of the plurality of software models, the update files generated for each vehicle based at least in part on the update information field of its virtual representation;

transferring, by the one or more processors, the download information files to the vehicles; and

in accordance with the download information files, transferring the update files to the vehicles.

22. The method of claim 21 , wherein the one or more extended fields include personal profile data related to a personal preference of an occupant of the vehicle.

23. An over-the-air (OTA) mobility services platform, 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:

creating virtual representations of vehicles that include unique identifiers for the vehicles and data structures with an update information field and one or more extended fields that provide an interface operable for sending and receiving data or services from one or more data or service providers that are external to the OTA mobility services platform, wherein the data structures included in the virtual representations are copies of data structures of the vehicles;

storing the virtual representations in one or more databases accessible by the OTA mobility services platform;

receiving a plurality of user inputs specifying a vehicle model and a plurality of software models that are associated with the vehicle model, the vehicle model defining a plurality of hardware components installed on a vehicle that execute software defined by the software models, the plurality of software models also defining interdependencies between one or more versions of the plurality of software models;

generating update files for software updates stored in a data repository and download information files including instructions for downloading and installing the update files, the instructions defining an installation order hierarchy that preserves the interdependencies between the one or more versions of the plurality of software models, the update files generated for each vehicle based at least in part on the update information field of its virtual representation;

transferring the download information files to the vehicles; and

in accordance with the download information files,

transferring the update files to the vehicles.

24. The OTA mobility services platform of claim 23 , wherein the one or more extended fields include personal profile data related to a personal preference of an occupant of the vehicle.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2021
From: LIN, TAO; DESAI, PRATIKKUMAR; NIELSEN, RASMUS HJORTH; ALAM, MAHBUBUL; JIN, LI; ATTAM, REVANTH; DUMOV, LEO; GADAM, SUHASINI JOHN; ASHOK, ATUL; ALAM, SNEHA PRASAD; MORE, DHANAJI; KARKORI, MOHAMED
To: APTIV TECHNOLOGIES LIMITED
Reel/Frame 057243/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: APTIV TECHNOLOGIES LIMITED
To: MOTIONAL AD LLC
Reel/Frame 053863/0399 →
Continuity (2)
Provisional Application 62687723 · Jun 20, 2018
Related Publication 20190391800A1 · Dec 26, 2019
Cited By (2)
US 12,255,958 US 12,481,985