IP Library Granted Patent US 10,084,845
Granted Patent B2
US 10,084,845 · App. 15/255,645 · Granted Sep 25, 2018

Data restoration for datacenter failover

Inventors: Nikunj Aggarwal (San Francisco, CA); Joshua Corbin (San Francisco, CA)
Assignee: UBER TECHNOLOGIES, INC.
H04L67/02H04L63/0428H04L69/40H04L63/061H04L2463/062
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 10,084,845
App. No.
15/255,645
Granted
Sep 25, 2018
Kind
B2
Abstract

A failover system can receive active data from user devices running an application specific to a service entity providing an application service. For each user device, the active data can indicate a current status. The failover system can transmit restoration data to the user devices for storage to restore the current status of the user devices in the case of a failover event. When a failover event occurs, the failover system can recover the restoration data from a first user device to restore the current status of the application service for the first user device.

Claims (44)

1. A failover system comprising:

one or more processors; and

one or more memory resources storing instructions that, when executed by the one or more processors, cause the failover system to:

receive active data from a number of user devices, each of the user devices running an application specific to a service entity providing an application service, wherein the active data indicates a current status of each of the user devices;

transmit, to a first user device of the user devices, restoration data for the first user device for storage, the restoration data to restore the current status of the first user device;

identify a failover event in which an active datacenter fails, the active datacenter facilitating the application service and monitoring the current statuses of the user devices; and

in response to identifying the failover event, recover the restoration data from the first user device to restore the current status of the first user device.

2. The failover system of claim 1 , wherein the service entity comprises a transportation facilitation system that facilitates transportation services between requesting riders and available drivers.

3. The failover system of claim 2 , wherein the first user device comprises a driver device running the application specific to the transportation facilitation system.

4. The failover system of claim 1 , wherein the executed instructions further cause the failover system to:

encrypt a set of keys from the active data;

wherein the restoration data comprises the encrypted set of keys.

5. The failover system of claim 4 , wherein the executed instructions further cause failover system to:

in response to recovering the restoration data from the first user device, (i) decrypt the encrypted set of keys, and (ii) initiate a backup datacenter using the decrypted set of keys to restore the current status for the first user device.

6. The failover system of claim 3 , wherein the active data is received from the driver device in accordance with a ping protocol.

7. The failover system of claim 3 , wherein the executed instructions cause the failover system to receive the active data from the driver device (i) each time the driver device reconnects with the active datacenter, and (ii) each time the driver device updates the current status.

8. The failover system of claim 7 , wherein an update to the current status of the driver device comprises one or more of (i) accepting a new pick-up request, (ii) completing a current trip, (iii) updating a waypoint, (iv) initiating the application, or (v) terminating the application.

9. The failover system of claim 7 , wherein the executed instructions further cause the failover system to:

after each instance of receiving the active data from the driver device, determine whether a version conflict exists between the active data and log data stored in the active datacenter for the driver device.

10. The failover system of claim 9 , wherein the executed instructions further cause the failover system to:

when a version conflict exists, (i) update the log data on the active datacenter, and (ii) transmit a resolve message to the driver device to update the restoration data.

11. The failover system of claim 1 , wherein the executed instructions cause the failover system to manually trigger the failover event periodically as a health check mechanism.

12. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a failover system, cause the failover system to:

receive active data from a number of user devices, each of the user devices running an application specific to a service entity providing an application service, wherein the active data indicates a current status of each of the user devices;

transmit, to a first device of the user devices, restoration data for the first user device, the restoration data to restore the current status of the first user device;

identify a failover event in which an active datacenter fails, the active datacenter facilitating the application service and monitoring the current status of the user devices; and

in response to identifying the failover event, recover the restoration data from the first user device to restore the current status of the first user device.

13. The non-transitory computer-readable medium of claim 12 , wherein the service entity comprises a transportation facilitation system that facilitates transportation services between requesting riders and available drivers.

14. The non-transitory computer-readable medium of claim 13 , wherein the first user device comprises a driver device running the application specific to the transportation facilitation system.

15. The non-transitory computer-readable medium of claim 12 , wherein the executed instructions further cause the failover system to:

encrypt a set of keys from the active data;

wherein the restoration data comprises the encrypted set of keys.

16. The non-transitory computer-readable medium of claim 15 , wherein the executed instructions further cause the failover system to:

in response to recovering the restoration data from the first user device, (i) decrypt the encrypted set of keys, and (ii) initiate a backup datacenter using the decrypted set of keys to restore the current status for the first user device.

17. A computer-implemented method of updating restoration data and initiating a backup datacenter, the method performed by one or more processors of a failover system and comprising:

receiving active data from a number of user devices, each of the user devices running an application specific to a service entity providing an application service, wherein the active data indicates a current status of each of the user devices;

transmitting, to a first user device of the user devices, restoration data for the first user device, the restoration data to restore the current status of the first user device;

identifying a failover event in which an active datacenter fails, the active datacenter facilitating the application service and monitoring the current status of the user devices; and

in response to identifying the failover event, recovering the restoration data from the first user device to restore the current status of the first user device.

18. The method of claim 17 , wherein the service entity comprises a transportation facilitation system that facilitates transportation services between requesting riders and available drivers.

19. The method of claim 18 , wherein the first user device comprises a driver device running the application specific to the transportation facilitation system.

20. The method of claim 17 , further comprising:

encrypting a set of keys from the active data;

wherein the restoration data comprises the encrypted set of keys.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2018
From: AGGARWAL, NIKUNJ; CORBIN, JOSHUA
To: UBER TECHNOLOGIES, INC.
Reel/Frame 044744/0484 →
Continuity (2)
Provisional Application 62218058 · Sep 14, 2015
Related Publication 20170078380A1 · Mar 16, 2017