Set Containment Operations With Singleton-Range Search Splitting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing routing policies in network devices struggle with inefficient processing of set containment operations due to the lack of optimized algorithms for handling both singleton values and value ranges, leading to suboptimal execution times.
Innovation Solution
Implementing a binary search algorithm for singleton values and sequential search for value ranges within set containment operations, reducing execution time by partitioning the set operand into two lists: one for singletons and one for ranges, with binary search on singletons and sequential search on ranges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a unified search algorithm is used for both singleton values and value ranges in set containment operations, then the implementation is simple, but the execution time is suboptimal
Solution Approach 1:
The patent divides the set operand into two separate lists: one containing only singleton values and another containing only value ranges. This segmentation allows each list to be processed using an optimized search algorithm tailored to its specific data type, thereby improving overall execution time despite increased implementation complexity.
2Loss of time
If linear search is used for all values in set containment operations, then the implementation is straightforward, but the execution time becomes O(n) for all operations
Solution Approach 1:
The patent changes the search algorithm parameter from a unified linear search approach to differentiated search strategies: binary search is applied specifically to the singleton values list (achieving O(log n) time complexity), while linear search is applied to the value ranges list. This parameter change optimizes the overall search performance.
Data Source
AI summary
Processing a set containment operation that includes a combination of singleton values and value ranges includes first searching the subset of singleton values. The first search is performed in O(log(n)) time, where n is the number of singleton values. If the first search does not find the target value in the singleton subset, then a second search is performed on each value range. The second search is performed in O(n) time where n is the number of value ranges.


