IP Library Granted Patent US 11,582,091
Granted Patent B2
US 11,582,091 · App. 17/069,799 · Granted Feb 14, 2023

Provisioning network devices using a vendor-neutral platform

Inventors: Chi Wang (Redmond, WA); Edet Nkposong (Mercer Island, WA); Sergey Pastukhov (Sammamish, WA); Roman Sharygin (Issaquah, WA); Mehmet Bilgi (Mill Creek, WA)
Assignee: Salesforce, Inc.
H04L41/0806G06F8/65H04L41/0843H04L41/12H04L67/34
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,582,091
App. No.
17/069,799
Granted
Feb 14, 2023
Kind
B2
Abstract

Network devices are provisioned using a single vendor-neutral data model with a non-relational database. Provisioning requirements are collected upon detecting a new network device that needs to be configured and/or installed. Based on the provisioning requirements, a configuration object is retrieved using a data model in the non-relational database. The configuration object is transformed to a concrete configuration file for the network device. After applying the configuration file to the network device, a separate process validates the configuration of the network device by comparing the observed network configuration with the initial target configuration data included in the configuration object.

Claims (45)

1. A method, comprising:

periodically scanning for network devices that are non-heterogeneous to other networked devices in a plurality of network devices;

identifying a non-heterogeneous network device in the plurality of network devices;

retrieving a vendor-neutral configuration template from a non-relational database based on a device type of the non-heterogeneous network device, wherein the non-relational database includes a plurality of vendor-neutral configuration templates for different types of network devices, wherein one vendor-neutral configuration template is used for each type of network device, wherein vendor-neutral configuration templates include target configuration instructions, wherein the target configuration instructions are generated from encoding provisioning requirements collected from different data sources for a plurality of target network devices;

generating a configuration file in a format associated with the non-heterogeneous network device based on one or more target configuration instructions from the vendor-neutral configuration template associated with at least one characteristic of the non-heterogeneous network device and a vendor of the non-heterogeneous network device;

causing the non-heterogeneous network device to update a configuration of the non-heterogeneous network device by applying the configuration file;

validating the configuration of the non-heterogeneous network device by comparing network configuration data retrieved from the non-heterogeneous network device to the plurality of target configuration instructions.

2. The method as recited in claim 1 , wherein the configuration file is generated based on interpreting the one or more target configuration instructions expressed in a defined markup language.

3. The method as recited in claim 1 , wherein the non-heterogeneous network device comprises a switch.

4. The method as recited in claim 1 , wherein the non-heterogeneous network device comprises a router.

5. The method as recited in claim 1 , wherein the non-heterogeneous network device receives a firmware update after detection of the non-heterogeneous network device.

6. The method as recited in claim 1 , further comprising:

retrieving a stock keeping unit (SKU) identifier of the non-heterogeneous network device, wherein the SKU identifier of the non-heterogeneous network device is associated with the at least one characteristic.

7. The method as recited in claim 1 , wherein the validating the configuration of the non-heterogeneous network device further comprises:

connecting to the non-heterogeneous network device through a secure shell (ssh) protocol to retrieve the network configuration data.

8. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

periodically scanning for network devices that are non-heterogeneous to other networked devices in a plurality of network devices;

identifying a non-heterogeneous network device in the plurality of network devices;

retrieving a vendor-neutral configuration template from a non-relational database based on a device type of the non-heterogeneous network device, wherein the non-relational database includes a plurality of vendor-neutral configuration templates for different types of network devices, wherein one vendor-neutral configuration template is used for each type of network device, wherein vendor-neutral configuration templates include target configuration instructions, wherein the target configuration instructions are generated from encoding provisioning requirements collected from different data sources for a plurality of target network devices;

generating a configuration file in a format associated with the non-heterogeneous network device based on one or more target configuration instructions from the vendor-neutral configuration template associated with at least one characteristic of the non-heterogeneous network device and a vendor of the non-heterogeneous network device;

causing the non-heterogeneous network device to update a configuration of the non-heterogeneous network device by applying the configuration file;

validating the configuration of the non-heterogeneous network device by comparing network configuration data retrieved from the non-heterogeneous network device to the plurality of target configuration instructions.

9. The one or more non-transitory computer-readable storage media of claim 8 , wherein the configuration file is generated based on interpreting the one or more target configuration instructions expressed in a defined markup language.

10. The one or more non-transitory computer-readable storage media of claim 8 , wherein the non-heterogeneous network device comprises a switch.

11. The one or more non-transitory computer-readable storage media of claim 8 , wherein the non-heterogeneous network device comprises a router.

12. The one or more non-transitory computer-readable storage media of claim 8 , wherein the non-heterogeneous network device receives a firmware update after detection of the non-heterogeneous network device.

13. The one or more non-transitory computer-readable storage media of claim 8 , wherein the sequences of instructions, which when executed by the one or more processors cause further performance of:

retrieving a stock keeping unit (SKU) identifier of the non-heterogeneous network device, wherein the SKU identifier of the non-heterogeneous network device is associated with the at least one characteristic.

14. The one or more non-transitory computer-readable storage media of claim 8 , wherein the validating the configuration of the non-heterogeneous network device further comprises:

connecting to the non-heterogeneous network device through a secure shell (ssh) protocol to retrieve the network configuration data.

15. A system, comprising:

one or more processors; a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to perform:

periodically scanning for network devices that are non-heterogeneous to other networked devices in a plurality of network devices;

identifying a non-heterogeneous network device in the plurality of network devices;

retrieving a vendor-neutral configuration template from a non-relational database based on a device type of the non-heterogeneous network device, wherein the non-relational database includes a plurality of vendor-neutral configuration templates for different types of network devices, wherein one vendor-neutral configuration template is used for each type of network device, wherein vendor-neutral configuration templates include target configuration instructions, wherein the target configuration instructions are generated from encoding provisioning requirements collected from different data sources for a plurality of target network devices;

generating a configuration file in a format associated with the non-heterogeneous network device based on one or more target configuration instructions from the vendor-neutral configuration template associated with at least one characteristic of the non-heterogeneous network device and a vendor of the non-heterogeneous network device;

causing the non-heterogeneous network device to update a configuration of the non-heterogeneous network device by applying the configuration file;

validating the configuration of the non-heterogeneous network device by comparing network configuration data retrieved from the non-heterogeneous network device to the plurality of target configuration instructions.

16. The system as recited in claim 15 , wherein the configuration file is generated based on interpreting the one or more target configuration instructions expressed in a defined markup language.

17. The system as recited in claim 15 , wherein the non-heterogeneous network device comprises a switch.

18. The system as recited in claim 15 , wherein the non-heterogeneous network device comprises a router.

19. The system as recited in claim 15 , wherein the instructions, which when executed by the one or more processors, cause the one or more processors to further perform:

retrieving a stock keeping unit (SKU) identifier of the non-heterogeneous network device, wherein the SKU identifier of the non-heterogeneous network device is associated with the at least one characteristic.

20. The system as recited in claim 15 , wherein the validating the configuration of the non-heterogeneous network device further comprises:

connecting to the non-heterogeneous network device through a secure shell (ssh) protocol to retrieve the network configuration data.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2021
From: WANG, CHI; NKPOSONG, EDET; PASTUKHOV, SERGEY; SHARYGIN, ROMAN; BILGI, MEHMET
To: SALESFORCE.COM, INC.
Reel/Frame 056882/0274 →