# US 11,909,574 B2 · Grouping configuration-modifying transactions from collaborating agents

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

- Number: US 11,909,574 B2
- Document ID: US11909574B2
- Status: Granted
- Kind: B2
- Application number: 17/335,457
- Filed: 2021-06-01
- Published: 2022-12-01
- Granted: 2024-02-20
- Earliest claimed: 2021-06-01
- Assignees: Ciena Corporation
- Applicants: Ciena Corporation
- Inventors: David Miedema
- Web page: https://patentgrep.com/patent/US11909574B2

## CPC

- H04L 41/046: comprising network management agents or mobile agents therefor
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 41/0889: {Techniques to speed-up the configuration process}
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/0863: {by rolling back to previous configuration versions}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems, methods, and non-transitory computer-readable media for coordinating modifications to a network device configuration (config) are provided. A system, according to one implementation, includes a processing device and a memory device configured to store a computer program having instructions that, when executed, enable the processing device to create a collaboration group including a plurality of contributing members. Each contributing member is adapted to provide proposed changes to a configuration for defining operating parameters of a Network Element (NE) in a network. The contributing members are adapted to provide the proposed changes within a predetermined timeframe. The instructions further enable the processing device to consolidate the proposed changes from the plurality of contributing members into a batched transaction and commit the batched transaction as a unitary transaction to encode modifications associated with the proposed changes from the plurality of contributing members into the configuration.

## Claims

### Claim 1

A system comprising:
a processing device, and
a memory device configured to store a computer program having instructions that, when executed, enable the processing device to
create a collaboration group including a plurality of contributing members, each contributing member configured to provide different proposed changes to a configuration for defining operating parameters of a Network Element (NE) that provides one or more services with other NEs in a network, the plurality of contributing members configured to provide the different proposed changes within a predetermined timeframe, where the different proposed changes are within set time parameters, and the different proposed changes are related provisioning changes in the network;
consolidate the different proposed changes from the plurality of contributing members into a batched transaction, wherein the different proposed changes from each of the plurality of contributing members do not overlap each other and that the plurality of contributing members do not need explicit knowledge of one another;
commit the batched transaction as a unitary transaction that is executable in one procedure to encode modifications associated with the different proposed changes from the plurality of contributing members into the configuration, and
responsive to any of the different proposed changes in the unitary transaction failing, roll back the different proposed changes together because they are related to one another,
wherein the set time parameters include one or more wait times and one or more commit times, wherein the different proposed changes arrive based on the one or more wait times and the different proposed changes are committed based on the one or more commit times.

### Claim 2 (depends on 1)

The system of claim 1, wherein the instructions further enable the processing device to delay the step of committing the batched transaction until a commitment from each contributing member has been received.

### Claim 3 (depends on 1)

The system of claim 1, wherein the instructions further enable the processing device to add one or more additional contributing members to the collaboration group or delete one or more existing contributing members from the collaboration group during the predetermined timeframe.

### Claim 4 (depends on 1)

The system of claim 1, wherein the plurality of contributing members are associated with different nodes in a network-wide control plane configured to control provisioning of the one or more services associated with the NE.

### Claim 5 (depends on 1)

The system of claim 1, wherein the plurality of contributing members are associated with portions of one device in a service path or control plane.

### Claim 6 (depends on 1)

The system of claim 1, wherein consolidating the different proposed changes includes selecting a preliminary transaction from the different proposed changes of a selected contributing member and using the different proposed changes of the remaining contributing members to modify the preliminary transaction for forming the batched transaction.

### Claim 7 (depends on 1)

The system of claim 1, wherein the instructions further enable the processing device to receive pre-selected settings from a user, the pre- selected settings configured to establish one or more of a minimum commit time, a maximum commit time, time extension parameters, a minimum number of contributing members in the collaboration group, a maximum number of contributing members in the collaboration group, and urgency parameters.

### Claim 8 (depends on 1)

The system of claim 1, wherein the instructions further enable the processing device to provide notifications to the plurality of contributing members with respect to an estimated commit time, an extended commit time, and collaboration group information.

### Claim 9 (depends on 1)

The system of claim 1, further comprising a configuration database configured to store the configuration and information related to one or more of the collaboration group, the plurality of contributing members, the different proposed changes, the encoded modifications, the batched transaction, and the NE.

### Claim 10

A non-transitory computer-readable medium configured to store computer logic having instructions that, when executed, cause one or more processing devices to:
create a collaboration group including a plurality of contributing members, each contributing member configured to provide different proposed changes to a configuration for defining operating parameters of a Network Element (NE) that provides one or more services with other NEs in a network, the plurality of contributing members configured to provide the different proposed changes within a predetermined timeframe, where the different proposed changes are within set time parameters, and the different proposed changes are related provisioning changes in the network;
consolidate the different proposed changes from the plurality of contributing members into a batched transaction, wherein the different proposed changes from each of the plurality of contributing members do not overlap each other and that the plurality of contributing members do not need explicit knowledge of one another;
commit the batched transaction as a unitary transaction that is executable in one procedure to encode modifications associated with the different proposed changes from the plurality of contributing members into the configuration; and
responsive to any of the different proposed changes in the unitary transaction failing, roll back the different proposed changes together because they are related to one another,
wherein the set time parameters include one or more wait times and one or more commit times, wherein the different proposed changes arrive based on the one or more wait times and the different proposed changes are committed based on the one or more commit times.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the instructions further cause the one or more processing devices to delay the step of committing the batched transaction until a commitment from each contributing member has been received.

### Claim 12 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the instructions further cause the one or more processing devices to add one or more additional contributing members to the collaboration group or delete one or more existing contributing members from the collaboration group during the predetermined timeframe.

### Claim 13 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the instructions further cause the one or more processing devices to receive pre-selected settings from a user, the pre-selected settings configured to establish one or more of a minimum commit time, a maximum commit time, time extension parameters, a minimum number of contributing members in the collaboration group, a maximum number of contributing members in the collaboration group, and urgency parameters.

### Claim 14 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the instructions further cause the one or more processing devices to provide notifications to the plurality of contributing members with respect to an estimated commit time, an extended commit time, and collaboration group information.

### Claim 15

A method comprising the steps of:
creating a collaboration group including a plurality of contributing members, each contributing member configured to provide different proposed changes to a configuration for defining operating parameters of a Network Element (NE) that provides one or more services with other NEs in a network, the plurality of contributing members configured to provide the different proposed changes within a predetermined timeframe, where the different proposed changes are within set time parameters, and the different proposed changes are related provisioning changes in the network;
consolidating the different proposed changes from the plurality of contributing members into a batched transaction, wherein the different proposed changes from each of the plurality of contributing members do not overlap each other and that the plurality of contributing members do not need explicit knowledge of one another;
committing the batched transaction as a unitary transaction that is executable in one procedure to encode modifications associated with the different proposed changes from the plurality of contributing members into the configuration; and
responsive to any of the different proposed changes in the unitary transaction failing, rolling back the different proposed changes together because they are related to one another,
wherein the set time parameters include one or more wait times and one or more commit times, wherein the different proposed changes arrive based on the one or more wait times and the different proposed changes are committed based on the one or more commit times.

### Claim 16 (depends on 15)

The method of claim 15, further comprising the steps of: receiving pre-selected settings from a user, the pre-selected settings configured to establish one or more of a minimum commit time, a maximum commit time, time extension parameters, a minimum number of the plurality of contributing members in the collaboration group, a maximum number of the plurality of contributing members in the collaboration group, and urgency parameters; and
providing notifications to the plurality of contributing members with respect to an estimated commit time, an extended commit time, and collaboration group information.

### Claim 17 (depends on 15)

The method of claim 15, wherein the set time parameters include one of the plurality of contributing members requesting more time for a proposed change.

### Claim 18 (depends on 15)

The method of claim 15, wherein the set time parameters are used to consolidate the different proposed changes based on urgency and flexibility for the committing.
