Software-Defined Network Flow Entry Lookup via Constant-Size Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software-defined networks using OPENFLOW-enabled switches face performance degradation due to the need to sift through linked list data structures for flow entries, leading to scalability issues as the number of entries increases.
Innovation Solution
Implementing a system with databases configured to store flow entries using keys of constant size, allowing for efficient searching and operations like lookup, addition, and deletion independent of the number of flow entries, utilizing trie data structures and hash tables to maintain consistent performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If OPENFLOW-enabled switches maintain flow entries as linked list data structures, then the system is simple to implement, but performance degrades significantly as the number of flow entries increases
Solution Approach 1:
The patent changes the fundamental parameter of data structure organization from linked lists to hash tables. This transformation changes the time complexity of flow entry operations from O(n) linear search to O(1) constant-time operations, directly resolving the performance degradation issue while maintaining implementation feasibility through well-established hash table algorithms
2Quantity of substance
If the number of flow entries increases to handle more network traffic, then network capacity increases, but search time increases linearly
Solution Approach 1:
The patent transforms the search mechanism by changing from sequential traversal of linked list nodes to direct indexing via hash table buckets. The search time parameter becomes independent of the number of flow entries, achieving O(1) complexity where search time remains constant regardless of how many flow entries are stored
Solution Approach 2:
The patent introduces hash functions as an intermediary mechanism between the flow entry key and its storage location. This intermediary transforms the direct search problem into a two-step process: hash computation followed by direct access, eliminating the need to traverse through all flow entries and achieving constant-time search performance
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer-implemented method for increasing the scalability of software-defined networks may include (1) maintaining a set of databases collectively configured to (i) store a set of flow entries that direct network traffic within a software-defined network and (ii) facilitate searching the set of flow entries based at least in part on at least one key whose size remains substantially constant irrespective of the number of flow entries within the set of flow entries, (2) detecting a request to perform an operation in connection with a flow of data packets within the software-defined network, (3) identifying at least one attribute of the flow of data packets in the request, and then (4) searching, using the attribute of the flow of data packets as a database key, at least one database within the set of databases to facilitate performing the operation. Various other methods, systems, and apparatuses are also disclosed.