IP Library Granted Patent US 10,447,539
Granted Patent B2
US 10,447,539 · App. 15/851,588 · Granted Oct 15, 2019

System for provisioning racks autonomously in data centers

Inventors: Vasileios Lakafosis (San Francisco, CA); Robin Bassant (Sunnyvale, CA); Harshmeet Singh (San Francisco, CA)
Assignee: Uber Technologies, Inc.
H04L41/0886G06F9/547H04L41/0813H04L41/0853H04L41/0869H04L41/0893H04L41/12H04L43/0817H04L69/329
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,447,539
App. No.
15/851,588
Granted
Oct 15, 2019
Kind
B2
Abstract

A provisioning system autonomously and asynchronously brings up data center racks. In an embodiment, the provisioning system determines presence of a first and second device connected to a network. The provisioning system generates a first and second thread for validation of the first and second devices, respectively. Responsive to determining by the first thread that the first device is not validated, the provisioning system notifies a detection system that the validation of the first device has not passed. Responsive to determining by the second thread that the second device is validated, the provisioning system provisions the second device for integration with one or more provisioned devices on the network.

Claims (58)

1. A method for provisioning data center racks of devices, the method comprising:

determining, by one or more processors, presence of a first device and a second device of a plurality of devices connected to a network, the plurality of devices further including one or more provisioned devices;

receiving identification information for the first device and the second device;

generating, by the one or more processors, a first thread and a second thread for validation of the first device and the second device, respectively, using at least the identification information;

responsive to determining by the first thread that the first device is not validated, notifying a detection system that the validation of the first device has not passed; and

responsive to determining by the second thread that the second device is validated, provisioning the second device for integration with the one or more provisioned devices.

2. The method of claim 1 , wherein determining the presence of the second device is responsive to the second device triggering a Representational state transfer (REST) application programming interface (API) call.

3. The method of claim 1 , wherein the identification information is received from the one or more provisioned devices, the identification information indicating at least a network address of the second device.

4. The method of claim 3 , wherein determining by the second thread that the second device is validated comprises:

determining that the network address of the second device is valid;

receiving device information from the second device responsive to sending a request to the second device using the network address; and

validating the device information.

5. The method of claim 4 , wherein validating the device information comprises:

determining that the second device is connected to valid neighbor devices of the plurality of devices; and

correcting at least one port of the second device connected to one of the valid neighbor devices.

6. The method of claim 4 , wherein validating the device information comprises:

determining convergence of the second device on the network using Border Gateway Protocol (BGP).

7. The method of claim 4 , wherein validating the device information comprises:

determining that a power supply value of the second device is within a threshold value.

8. The method of claim 4 , wherein provisioning the second device for integration with the one or more provisioned devices comprises:

determining a configuration of the second device using the device information, the device information indicating at least a type and version of the second device; and

storing the configuration of the second device.

9. The method of claim 1 , further comprising:

notifying the detection system that a data center rack including at least the second device has a production ready status; and

triggering at least one workflow for the data center rack.

10. The method of claim 1 , wherein the plurality of devices on the network are connected to each other in a hierarchy, the first device corresponding to a first level of the hierarchy, the second device corresponding to a second level of the hierarchy.

11. The method of claim 10 , wherein determining by the second thread that the second device is validated comprises:

determining a role and identity of the second device in the hierarchy, wherein provisioning the second device for integration with the one or more provisioned devices is based on the role and identity.

12. The method of claim 10 , wherein the first device is a first switch for a set of devices at the first level of the hierarchy, the set of devices including at least a plurality of racks at the second level of the hierarchy, the second device being a second switch for one of the plurality of racks.

13. The method of claim 12 , wherein the one of the plurality of racks includes at least a plurality of servers at a third level of the hierarchy, the method further comprising:

determining presence of a third device of the plurality of devices, the third device being one of the plurality of servers.

14. A method for provisioning data center racks of devices, the method comprising:

determining, by one or more processors, presence of a plurality of devices of a data center rack;

determining, by the one or more processors, presence of one or more provisioned devices, the plurality of devices and the one or more provisioned devices connected to each other on a network;

for each device of the plurality of devices:

generating a thread for validation of the device using device information received from the device; and

validating the device by the thread, at least one of the threads for the plurality of devices performing validation simultaneously and asynchronously with at least one other of the threads;

responsive to the validation, provisioning, by the one or more processors, the device for integration with the one or more provisioned devices; and

responsive to determining that each of the plurality of devices is provisioned, notifying a detection system that the data center rack is production ready.

15. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by one or more processors, cause the one or more processors to:

determine presence of a first device and a second device of a plurality of devices connected to a network, the plurality of devices further including one or more provisioned devices;

receive identification information for the first device and the second device;

generate a first thread and a second thread for validation of the first device and the second device, respectively, using at least the identification information;

responsive to determining by the first thread that the first device is not validated, notify a detection system that the validation of the first device has not passed; and

responsive to determining by the second thread that the second device is validated, provision the second device for integration with the one or more provisioned devices.

16. The non-transitory computer readable storage medium of claim 15 , wherein the identification information indicates at least a network address of the second device, and wherein instructions for determining by the second thread that the second device is validated further comprises instructions that when executed cause the one or more processors to:

determine that the network address of the second device is valid;

receive device information from the second device responsive to sending a request to the second device using the network address; and

validate the device information.

17. The non-transitory computer readable storage medium of claim 16 , wherein the instructions to validate the device information further comprises instructions that when executed cause the one or more processors to:

determine that the second device is connected to valid neighbor devices of the plurality of devices; and

correct at least one port of the second device connected to one of the valid neighbor devices.

18. The non-transitory computer readable storage medium of claim 16 , wherein instructions for validating the device information further comprises instructions that when executed cause the one or more processors to:

determine convergence of the second device on the network using Border Gateway Protocol (BGP); and

determine that a power supply value of the second device is within a threshold value.

19. The non-transitory computer readable storage medium of claim 15 , wherein the plurality of devices on the network are connected to each other in a hierarchy, the first device corresponding to a first level of the hierarchy, the second device corresponding to a second level of the hierarchy.

20. The non-transitory computer readable storage medium of claim 19 , wherein instructions for determining by the second thread that the second device is validated further comprises instructions that when executed cause the one or more processors to:

determine a role and identity of the second device in the hierarchy, wherein provisioning the second device for integration with the one or more provisioned devices is based on the role and identity.

Assignments (7)
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 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Oct 24, 2019
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050817/0600 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2017
From: LAKAFOSIS, VASILEIOS; BASSANT, ROBIN; SINGH, HARSHMEET
To: UBER TECHNOLOGIES, INC.
Reel/Frame 044467/0371 →
Continuity (1)
Related Publication 20190199591A1 · Jun 27, 2019