SID Manager Block Allocation for SRv6 Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Segment Routing over IPv6 (SRv6) systems face challenges in efficiently allocating globally unique segment identifiers (SIDs) across clients, leading to increased latency and loading on SID managers, particularly when handling large volumes of SID requests.
Innovation Solution
An architecture that includes an SID Manager assigning SIDs in blocks to clients, utilizing a SID library for managing and maintaining SID data, and employing multi-threaded allocation and context mapping processes to reduce latency and ensure global uniqueness, with periodic context mapping transfers and persistent storage for failure recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional SID allocation methods are used, then global uniqueness of SIDs is ensured, but latency and loading on SID managers increase
Solution Approach 1:
The patent segments the SID allocation process by dividing the SID manager's workload into multiple independent allocation threads. Each thread maintains its own allocation state and can operate independently, allowing parallel processing of SID allocation requests while ensuring global uniqueness through coordinated state management.
Solution Approach 2:
The patent implements preliminary action by pre-allocating blocks of SIDs to different threads and maintaining persistent storage of allocation state. This allows the system to prepare allocation resources in advance and recover quickly from failures, reducing latency during actual allocation operations.
2Reliability
If traditional SID allocation methods are used, then global uniqueness of SIDs is ensured, but loading on SID managers increases
Solution Approach 1:
The patent segments the SID manager into multiple independent allocation threads that can process requests in parallel. This distribution of workload across multiple threads reduces the loading on any single thread while maintaining the ability to ensure global uniqueness through coordinated state management and persistent storage.
Solution Approach 2:
Each allocation thread maintains its own allocation state and can independently allocate SIDs from its assigned range without requiring constant coordination with other threads. This self-service capability reduces inter-thread communication overhead and minimizes loading on the overall SID manager system.
3Loss of time
If multi-threaded allocation is implemented, then latency is reduced, but complexity of allocation process increases
Solution Approach 1:
The patent segments the allocation process into independent threads with well-defined interfaces and state management. Each thread operates independently with its own allocation state, reducing the complexity of inter-thread coordination while enabling parallel processing to reduce latency.
Solution Approach 2:
The patent introduces persistent storage as an intermediary that mediates state management between multiple allocation threads. This intermediary provides a centralized mechanism for ensuring global uniqueness and coordinating state across threads without requiring complex direct communication between threads, thus managing complexity while enabling parallelism.
4Productivity
If block allocation is used, then allocation efficiency is improved, but risk of failure impact increases
Solution Approach 1:
The patent implements preliminary action by maintaining persistent storage of allocation state before failures can occur. This allows the system to recover quickly from failures by restoring from the persistent state rather than needing to re Allocate or reconfigure, thus improving reliability while maintaining block allocation efficiency.
Solution Approach 2:
The patent provides beforehand cushioning through persistent storage that captures allocation state at regular intervals. This cushioning mechanism ensures that even if a failure occurs during block allocation operations, the system can recover to a known good state, reducing the impact of failures while maintaining efficient block allocation.
Data Source
AI summary
A segment identifier (SID) manager interfaces with clients by way of a library. Clients implementing network services and needing SIDs according to internet SRv6, are allocated blocks by the SID manager using the library. Clients assign SIDs from the block independent of the SID manager using the library. Where a threshold portion of the block is assigned, the library requests an additional block of SIDs from the SID manager. Clients transmit context mappings of assigned SIDs to the SID manager for use by administrators and to enable recovery in the event of failure.


