IP Library Granted Patent US 11,528,185
Granted Patent B1
US 11,528,185 · App. 16/210,400 · Granted Dec 13, 2022

Automated network device provisioning

Inventors: Joseph Ryan Hrbek (Superior, CO); Patrick Adair (Fremont, CA); Brandon Robert Bennett (Denver, CO); Christopher Owen Gorham (Littleton, CO); David Anthony Swafford (Castro Valley, CA)
Assignee: Meta Platforms, Inc.
H04L41/0806H04L41/0873H04L41/0886H04L41/0893H04L61/5014
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,528,185
App. No.
16/210,400
Granted
Dec 13, 2022
Kind
B1
Abstract

A device provisioning configuration request from a network device to be configured is received. The network device provides the request to a network location obtained via a Dynamic Host Configuration Protocol request made automatically by the network device. A configuration agent script is provided in response to the device provisioning configuration request. One or more notifications associated with a provisioning progress are received from the network device via the configuration agent script. At least one of the one or more notifications is utilized in a provisioning workflow.

Claims (39)

1. A method, comprising:

receiving a device provisioning configuration request from a network device to be configured, wherein the network device provided the request to a network location obtained via a Dynamic Host Configuration Protocol request made automatically by the network device;

dynamically and automatically generating a customized configuration jobs plan at least in part on a vendor identifier and a model identifier of the network device to be configured and a target network usage in a data center among different network usage options, wherein generating the customized configuration jobs plan includes selecting a configuration jobs plan specifying configuration jobs among a plurality of different stored configuration plans specifying different sets of agent executed configuration jobs and the selected configuration jobs plan is identified based on at least a partial pattern match to the vendor identifier or the model identifier of the network device, the configuration jobs include a plurality of different jobs local to the network device and wherein the plurality of different jobs specified by the customized configuration jobs plan based at least in part on the vendor identifier and the model identifier includes a job of locally installing software and a different job of setting up local firewall rules;

providing a configuration agent script in response to the device provisioning configuration request;

receiving notifications associated with a provisioning progress from the network device via the configuration agent script, wherein the notifications provide different status updates for each of the plurality of different jobs specified by the automatically generated configuration jobs plan customized for the network device based at least in part on the vendor identifier and the model identifier; and

utilizing at least one of the notifications in a provisioning workflow.

2. The method of claim 1 , wherein the at least one of the notifications in the provisioning workflow is utilized to manage a dependency ordering of the provisioning workflow.

3. The method of claim 1 , wherein the notifications include a start notification.

4. The method of claim 3 , further comprising, in response to the start notification, providing a notification acknowledgement, wherein the notification acknowledgement includes a job identifier indicating a provisioning job to perform by the configuration agent script.

5. The method of claim 1 , wherein the notifications include a notification indicating a completion.

6. The method of claim 1 , wherein at least one of the notifications is encoded as an HTTP request.

7. The method of claim 6 , wherein the HTTP request includes a unique identifier associated with the network device to be configured.

8. The method of claim 1 , wherein the Dynamic Host Configuration Protocol request includes at least the vendor identifier and the model identifier of the network device to be configured.

9. The method of claim 1 , wherein the Dynamic Host Configuration Protocol request is initiated as part of a Zero Touch Provisioning process.

10. The method of claim 1 , wherein the network device to be configured is included in a group of network devices to be configured, wherein the group of network devices is configured in response to an initiation of a single provisioning command.

11. The method of claim 1 , wherein utilizing the at least one of the notifications in the provisioning workflow includes delaying a post-configuration agent script provisioning job until a complete notification is received.

12. The method of claim 1 , further comprising:

performing pre-configuration agent script provisioning jobs.

13. The method of claim 12 , wherein the providing of the configuration agent script in response to the device provisioning configuration request is delayed at least until the pre-configuration agent script provisioning jobs are complete.

14. The method of claim 1 , wherein:

the configuration jobs plan was generated using attributes of the network device to be configured, wherein the attributes are retrieved from an asset server.

15. The method of claim 14 , wherein the configuration jobs plan generated using the attributes of the network device to be configured is generated using the selected configuration plan.

16. The method of claim 14 , wherein the attributes include at least a serial number, a make information, a model information, or a location information.

17. The method of claim 16 , wherein the selected configuration jobs plan is determined by performing string comparisons and wildcard matches using a plurality of configuration templates.

18. The method of claim 1 , wherein the configuration agent script is configured to execute one or more provisioning jobs, wherein a recent version of a tool corresponding to at least one of the one or more provisioning jobs is retrieved via a provisioning database.

19. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive a device provisioning configuration request from a network device to be configured, wherein the network device provided the request to a network location obtained via a Dynamic Host Configuration Protocol request made automatically by the network device;

dynamically and automatically generate a customized configuration jobs plan based at least in part on a vendor identifier and a model identifier of the network device to be configured and a target network usage in a data center among different network usage options, wherein being configured to generate the customized configuration jobs plan includes being configured to select a configuration jobs plan specifying configuration jobs among a plurality of different stored configuration plans specifying different sets of agent executed configuration jobs and the selected configuration jobs plan is identified based on at least a partial pattern match to the vendor identifier or the model identifier of the network device, the configuration jobs include a plurality of different jobs local to the network device and wherein the plurality of different jobs specified by the customized configuration jobs plan based at least in part on the vendor identifier and the model identifier includes a job of locally installing software and a different job of setting up local firewall rules;

provide a configuration agent script in response to the device provisioning configuration request;

receive notifications associated with a provisioning progress from the network device via the configuration agent script, wherein the notifications provide different status updates for each of the plurality of different jobs specified by the automatically generated configuration jobs plan customized for the network device based at least in part on the vendor identifier and the model identifier; and

utilize at least one of the notifications in a provisioning workflow.

20. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a device provisioning configuration request from a network device to be configured, wherein the network device provided the request to a network location obtained via a Dynamic Host Configuration Protocol request made automatically by the network device;

dynamically and automatically generating a customized configuration jobs plan based at least in part on a vendor identifier and a model identifier of the network device to be configured and a target network usage in a data center among different network usage options, wherein generating the customized configuration jobs plan includes selecting a configuration jobs plan specifying configuration jobs among a plurality of different configuration plans specifying different sets of agent executed configuration jobs and the selected configuration jobs plan is identified based on at least a partial pattern match to the vendor identifier or the model identifier of the network device, the configuration jobs include a plurality of different jobs local to the network device and wherein the plurality of different jobs specified by the customized configuration jobs plan based at least in part on the vendor identifier and the model identifier includes a job of locally installing software and a different job of setting up local firewall rules;

providing a configuration agent script in response to the device provisioning configuration request;

receiving notifications associated with a provisioning progress from the network device via the configuration agent script, wherein the notifications provide different status updates for each of the plurality of different jobs specified by the automatically generated configuration jobs plan customized for the network device based at least in part on the vendor identifier and the model identifier; and

utilizing at least one of the notifications in a provisioning workflow.

Assignments (2)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2019
From: HRBEK, JOSEPH RYAN; ADAIR, PATRICK; BENNETT, BRANDON ROBERT; GORHAM, CHRISTOPHER OWEN; SWAFFORD, DAVID ANTHONY
To: FACEBOOK, INC.
Reel/Frame 048313/0890 →
Cited By (4)
US 12,328,225 US 12,449,959 US 12,490,068 US 12,568,384