IP Library Granted Patent US 11,019,613
Granted Patent B2
US 11,019,613 · App. 16/458,952 · Granted May 25, 2021

Methods and systems for managing network resources of a vehicle

Inventor: Steve Ayers (Mars, PA)
Assignee: Uber Technologies, Inc.
H04W72/042G07C5/008H04W4/40H04W28/0268H04W72/1257
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,019,613
App. No.
16/458,952
Granted
May 25, 2021
Kind
B2
Abstract

The present disclosure is directed to managing network resources of a vehicle. In particular, for each application of a plurality of different and distinct applications executed by a computing system comprising one or more computing devices physically located onboard a vehicle, the computing system can: determine, from amongst a plurality of different and distinct interface identifiers, an interface identifier associated with the application; communicate, based at least in part on the interface identifier associated with the application, data associated with the application and destined for a remotely located computing system; and manage, based at least in part on the interface identifier associated with the application, utilization by the application of network resources interfacing the computing system and the remotely located computing system to communicate the data associated with the application and destined for the remotely located computing system.

Claims (49)

1. A computer-implemented method comprising, for each application of a plurality of different and distinct applications executed by a computing system comprising one or more computing devices physically located onboard a vehicle:

determining, by the computing system and from amongst a plurality of different and distinct interface identifiers, an interface identifier associated with the application;

communicating, by the computing system and based at least in part on the interface identifier associated with the application, data associated with the application and destined for a remotely located computing system; and

managing, by the computing system and based at least in part on the interface identifier associated with the application, utilization by the application of network resources interfacing the computing system and the remotely located computing system to communicate the data associated with the application and destined for the remotely located computing system.

2. The computer-implemented method of claim 1 , wherein:

the method comprises receiving, by the computing system and from a remotely located computing device, data comprising instructions for managing, at least in part, data associated with one or more applications of the plurality of different and distinct applications; and

for each application of the one or more applications, managing the utilization by the application of the network resources comprises managing the utilization based at least in part on the data comprising the instructions.

3. The computer-implemented method of claim 1 , wherein:

the method comprises determining, by the computing system, one or more changes in at least one of a mode, state, or context of the vehicle; and

for at least one application of the plurality of different and distinct applications, managing the utilization by the application of the network resources comprises managing the utilization based at least in part on the one or more changes.

4. The computer-implemented method of claim 3 , wherein determining the one or more changes comprises determining one or more of:

whether the vehicle is in a test mode;

whether the vehicle is in a diagnostic mode;

whether the vehicle is in a remote-assistance mode;

whether the vehicle is in an environment-mapping mode;

whether the vehicle is engaged in commissioned travel; or

a type of commissioned travel with which the vehicle is engaged.

5. The computer-implemented method of claim 1 , wherein managing the utilization by the application of the network resources comprises managing the utilization at a network layer.

6. The computer-implemented method of claim 1 , wherein the method comprises, for each application of the plurality of different and distinct applications, performing, by the computing system and based at least in part on the interface identifier associated with the application, network address translation (NAT) for the data associated with the application to route the data associated with the application towards the remotely located computing system.

7. The computer-implemented method of claim 1 , wherein managing the utilization by the application of the network resources comprises:

identifying; based at least in part on the interface identifier, a traffic-control policy for the data associated with the application; and

managing the utilization by the application of the network resources in accordance with the traffic-control policy for the data associated with the application.

8. The computer-implemented method of claim 7 , wherein:

identifying the traffic-control policy comprises identifying, within a network-address-based table, one or more quality of service (QoS) parameters for the data associated with the application; and

managing the utilization by the application of the network resources in accordance with the traffic-control policy comprises managing the utilization by the application of the network resources in accordance with the one or more QoS parameters.

9. The computer-implemented method of claim 1 , wherein the plurality of different and distinct interface identifiers are associated with a common virtual loopback interface.

10. The computer-implemented method of claim 9 , wherein managing the utilization by the application of the network resources comprises managing the utilization by the application of the network resources in accordance with a root queue discipline (qdisc) associated with the common virtual loopback interface.

11. The computer-implemented method of claim 10 , wherein managing the utilization by the application of the network resources in accordance with the root qdisc comprises utilizing a hierarchical token-bucket paradigm to shape the data associated with the application.

12. The computer-implemented method of claim 10 , wherein managing the utilization by the application of the network resources comprises:

identifying, based at least in part on the interface identifier associated with the application, a child discipline of the root qdisc associated with the application; and

managing the utilization by the application of the network resources in accordance with the child discipline of the root qdisc associated with the application.

13. The computer-implemented method of claim 12 , wherein, for at least one application of the plurality of different and distinct applications, managing the utilization by the application of the network resources comprises borrowing, based at least in part on the child discipline of the root qdisc associated with the application, a portion of the network resources allocated to another of the plurality of different and distinct applications.

14. The computer-implemented method of claim 1 , wherein:

the vehicle and the remotely located computing system are associated with a common entity that operates a plurality of vehicles including the vehicle; and

communicating the data associated with the application comprises communicating; via one or more networks; the data associated with the application directly from the vehicle to the remotely located computing system.

15. The computer-implemented method of claim 1 , wherein:

the vehicle is associated with an entity that operates a plurality of vehicles including the vehicle; and

the remotely located computing system is associated with a different and distinct entity that provides vehicle services.

16. The computer-implemented method of claim 15 , wherein communicating the data associated with the application comprises communicating, via one or more networks, the data associated with the application directly from the vehicle to the remotely located computing system.

17. The computer-implemented method of claim 15 , wherein communicating the data associated with the application comprises:

communicating, via one or more networks, the data associated with the application directly from the vehicle to a different and distinct remotely located computing system, the different and distinct remotely located computing system being associated with the entity that operates the plurality of vehicles including the vehicle; and

receiving, by the remotely located computing system and from the different and distinct remotely located computing system, the data associated with the application.

18. The computer-implemented method of claim 15 , wherein communicating the data associated with the application comprises communicating the data associated with the application via a software development kit (SDK) provided to the computing system by the remotely located computing system.

19. A vehicle comprising:

one or more wireless-communication interfaces; and

one or more computing devices comprising one or more processors and a memory storing instructions that when executed by the one or more processors cause the one or more computing devices to perform operations comprising, for each application of a plurality of different and distinct applications executed by the one or more computing devices:

determining, from amongst a plurality of different and distinct interface identifiers associated with a common virtual loopback interface, an interface identifier associated with the application; and

managing, based at least in part on the interface identifier associated with the application, utilization by the application of network resources interfacing the one or more computing devices with a remotely located computing system to communicate data associated with the application towards the remotely located computing system via the one or more wireless-communication interfaces.

20. One or more non-transitory computer-readable media comprising instructions that when executed by one or more computing devices physically located onboard a vehicle cause the one or more computing devices to perform operations comprising, for each application of a plurality of different and distinct applications executed by the one or more computing devices, determining from amongst the plurality of different and distinct interface identifiers, an interface identifier associated with the application, and managing, at a network layer and based at least in part on the interface identifier associated with the application, utilization by the application of wireless-network resources interfacing the one or more computing devices with a remotely located computing system to communicate data associated with the application towards the remotely located computing system.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 59692 FRAME: 345. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 4, 2025
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 070393/0307 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO REMOVE THE LINE THROUGH APPLICATION/SERIAL NUMBERS PREVIOUSLY RECORDED AT REEL: 054805 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 20, 2022
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 060776/0897 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL: 054940 FRAME: 0765. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 2, 2022
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 059692/0345 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCLUSION OF SEVERAL SERIAL NUMBERS PREVIOUSLY RECORDED AT REEL: 054805 FRAME: 0002. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 12, 2022
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 058717/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2021
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 054940/0765 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2021
From: UBER TECHNOLOGIES, INC.
To: UATC, LLC
Reel/Frame 054940/0279 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 054805/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: UBER TECHNOLOGIES, INC.
To: UATC, LLC
Reel/Frame 054637/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2019
From: AYERS, STEVE
To: UBER TECHNOLOGIES, INC.
Reel/Frame 049792/0717 →