# US 10,873,504 B1 · Managing concurrently received configuration requests in a computing network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,504 B1
- Document ID: US10873504B1
- Status: Granted
- Kind: B1
- Application number: 16/514,556
- Filed: 2019-07-17
- Granted: 2020-12-22
- Earliest claimed: 2019-07-17
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Timothy Silversides; Jonathan Stewart; Jordan Snodgrass
- Web page: https://patentgrep.com/patent/US10873504B1

## CPC

- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0859: by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 41/0863: {by rolling back to previous configuration versions}
- H04L 41/0869: Validating the configuration within one network element
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Example implementations relate to managing concurrently received configuration requests in a computing network that includes a set of configurable network entities. IN an example, a plurality of configuration requests are received concurrently and a separate database transaction is opened in a configuration database for each received configuration request. A plurality of configuration deltas are identified, each of the plurality of configuration deltas representing a change in a configuration of a network entity of the computing network requested by one of the plurality of received configuration requests. An existing configuration of the network entity is obtained from the configuration database and the existing configuration of the network entity is modified using the identified configuration deltas to generate a provisioning request for the network entity. The provisioning request is issued to the network entity to implement the changes in the configuration of the network entity requested by the received configuration requests, and following successful completion of the provisioning request by the network entity, the database transaction for each received configuration request is committed.

## Claims

### Claim 1

A method for managing concurrent configuration requests in a computing network that includes a set of configurable network entities, the method comprising:
receiving a plurality of configuration requests concurrently, each of the plurality of configuration requests relating to a first network entity of the computing network;
opening a separate database transaction in a configuration database for each received configuration request;
obtaining an existing configuration of the first network entity from the configuration database;
identifying a plurality of configuration deltas based on the received plurality of configuration requests and the obtained existing configuration, each of the plurality of configuration deltas representing a change in the existing configuration of the first network entity requested by one of the plurality of received configuration requests;
modifying the existing configuration of the first network entity using the plurality of identified configuration deltas to generate a single merged provisioning request for the first network entity;
issuing the merged provisioning request to the first network entity to implement the changes in the configuration of the first network entity requested by each of the received configuration requests; and
following successful completion of the merged provisioning request by the first network entity, committing the database transaction for each received configuration request.

### Claim 2 (depends on 1)

A method according to claim 1 further comprising issuing a notification that the received configuration requests have been completed following successful completion of the merged provisioning request by the first network entity.

### Claim 3 (depends on 1)

A method according to claim 1 further comprising:
following failure of the merged provisioning request by the first network entity, reverting the database transaction for each received configuration request.

### Claim 4 (depends on 1)

A method according to claim 1 wherein the existing configuration is a base configuration of the first network entity.

### Claim 5 (depends on 1)

A method according to claim 1 wherein the existing configuration is a current configuration of the first network entity.

### Claim 6 (depends on 3)

A method according to claim 3 further comprising retaining the configuration deltas in a shared store until the transaction in which the configuration deltas were generated is either committed or reverted.

### Claim 7 (depends on 6)

A method according to claim 6 further comprising:
after committing a database transaction, removing the configuration deltas generated by that database transaction from the shared store.

### Claim 8 (depends on 1)

A method according to claim 1, wherein identifying the plurality of configuration deltas includes:
parsing contents of each of the received plurality of configuration requests; and
comparing the parsed contents of each configuration request to the existing configuration to generate the respective configuration deltas.

### Claim 9

A system for managing concurrent configuration requests in a computing network that includes a set of configurable external entities, the system comprising:
a processor; and
a machine readable medium storing instructions that when executed cause the processor to:
provide an application processing interface (API) to receive configuration requests, wherein each of a plurality of concurrently received configuration requests relate to a first external entity of the set of external entities of the computing network;
open a separate database transaction in a configuration database for each received configuration request;
obtain an existing configuration of the first external entity from the configuration database;
identify a plurality of configuration deltas based on the received plurality of configuration requests and the obtained existing configuration, each of the plurality of configuration deltas representing a change in the existing configuration of the first external entity requested by one of the plurality of received configuration requests;
modify the existing configuration of the first external entity using the plurality of identified configuration deltas to generate a single merged provisioning request for the first external entity;
issue the merged provisioning request to the first external entity to implement the changes in the configuration of the first external entity requested by each of the received configuration requests; and
following successful completion of the merged provisioning request by the first external entity, commit the database transaction for each received configuration request.

### Claim 10 (depends on 9)

A system according to claim 9 wherein the instructions, when executed, further cause the processor to:
issue a notification that the received configuration requests have been completed following successful completion of the merged provisioning request by the first external entity.

### Claim 11 (depends on 9)

A system according to claim 9 wherein the instructions, when executed, further cause the processor to:
following failure of the merged provisioning request by the first external entity, revert the database transaction for each received configuration request.

### Claim 12 (depends on 9)

A system according to claim 9 wherein the existing configuration is a base configuration or a current configuration of the first external entity.

### Claim 13 (depends on 9)

A system according to claim 9 wherein the first external entity is a network entity.

### Claim 14 (depends on 9)

A system according to claim 9 wherein the instructions, when executed, further cause the processor to:
retain the configuration deltas in a shared store until the transaction in which the configuration deltas were generated is either committed or reverted; and
after committing a database transaction, remove the configuration deltas generated by that database transaction from the shared store.

### Claim 15

A non-transitory computer readable storage medium having stored thereon instructions which, when executed by a processing resource, cause the processing resource to:
provide an application processing interface (API) to receive configuration requests, wherein each of a plurality of concurrently received configuration requests relate to a first network entity of a computing network;
open a separate database transaction in a configuration database for each received configuration request;
obtain an existing configuration of the first network entity from the configuration database;
identify a plurality of configuration deltas based on the received plurality of configuration requests and the obtained existing configuration, each of the plurality of configuration deltas representing a change in the existing configuration of the first network entity requested by one of the plurality of received configuration requests;
modify the existing configuration of the first network entity using the identified configuration deltas to generate a single merged provisioning request for the first network entity;
issue the merged provisioning request to the first network entity to implement the changes in the configuration of the first network entity requested by each of the received configuration requests; and
following successful completion of the merged provisioning request by the first network entity, committing the database transaction for each received configuration request.

### Claim 16 (depends on 15)

A non-transitory computer readable storage medium according to claim 15 wherein the instructions, when executed by the processing resource, further cause the processing resource to:
issue a notification that the received configuration requests have been completed following successful completion of the merged provisioning request by the first network entity.

### Claim 17 (depends on 15)

A non-transitory computer readable storage medium according to claim 15 wherein the instructions, when executed by the processing resource, further cause the processing resource to:
following failure of the merged provisioning request by the first network entity, revert the database transaction for each received configuration request.

### Claim 18 (depends on 15)

A non-transitory computer readable storage medium according to claim 15 wherein the existing configuration is a base configuration or a current configuration of the first network entity.

### Claim 19 (depends on 17)

A non-transitory computer readable storage medium according to claim 17 wherein the instructions, when executed by the processing resource, further cause the processing resource to:
retain the configuration deltas in a shared store until the transaction in which the configuration deltas were generated is either committed or reverted.

### Claim 20 (depends on 19)

A non-transitory computer readable storage medium according to claim 19 wherein the instructions, when executed by the processing resource, further cause the processing resource to:
after committing a database transaction, remove the configuration deltas generated by that database transaction from the shared store.
