Network Configuration Request Management via Delta Merging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In modern computer network systems, managing concurrent configuration requests using database transactions can lead to overwriting of changes and increased latency, as each request is processed individually, while avoiding transactions can result in state mismatches and lack of rollback functionality.
Innovation Solution
A method where multiple concurrent configuration requests are processed by identifying configuration deltas, generating a merged provisioning request, and committing transactions only after successful completion, ensuring that changes are accurately reflected in the configuration database and allowing for rollback in case of failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If configuration requests are processed individually using database transactions, then data consistency and rollback functionality are ensured, but processing latency increases and concurrent requests may overwrite each other's changes
Solution Approach 1:
The system performs preliminary actions by opening database transactions and applying configuration changes to the database immediately upon receiving requests, while deferring the actual external entity provisioning. This allows the system to maintain data consistency in the database without waiting for external entities to be provisioned, thereby reducing processing latency while ensuring rollback capability through transaction management.
Solution Approach 2:
The system segments the configuration provisioning process into two independent parts: (1) database transaction management for configuration changes, and (2) external entity provisioning. By separating these operations, the system can commit database transactions independently without being blocked by external provisioning delays, thus reducing overall processing latency while maintaining data consistency through transaction commits.
2Reliability
If configuration requests are processed in series to avoid overwriting changes, then data consistency is maintained, but processing speed and productivity decrease
Solution Approach 1:
The system merges multiple configuration changes from different concurrent requests into a single database transaction. By combining multiple configuration updates into one transaction that is applied atomically to the database, the system maintains data consistency (avoiding overwriting issues) while improving productivity through parallel processing of multiple requests without requiring sequential execution.
3Productivity
If provisioning operations are excluded from database transactions and performed as background operations, then processing speed improves, but state mismatch between management application and external entities occurs and rollback functionality is lost
Solution Approach 1:
The system performs preliminary configuration updates in the database within transactions before external entity provisioning completes. This preliminary action ensures the database reflects the desired state immediately, maintaining state consistency between the management application and external entities, while the actual external provisioning occurs in the background without blocking transaction commits.
4Productivity
If multiple concurrent configuration requests are processed simultaneously, then processing efficiency improves, but configuration changes from different requests may overwrite each other
Solution Approach 1:
The system segments configuration changes by external entity rather than by request. Multiple concurrent requests targeting the same external entity are processed simultaneously with their changes accumulated in the database, and the final configuration is applied to the external entity in a single provisioning operation. This segmentation approach maintains configuration accuracy by ensuring the external entity receives a consolidated view of all changes while improving processing efficiency through parallel request handling.
Data Source
AI summary
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.


