Variable Buffer Timeout Mechanism for OpenFlow Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
OpenFlow does not provide a mechanism to specify different timeout lengths for buffered packets, leading to all packets expiring after a constant timeout length, which is inadequate for varying processing times of different services in an SDN network.
Innovation Solution
Implementing variable buffer timeout output actions in SDN networks by programming flow entries with specific buffer timeout values, allowing switches to buffer packets for varying lengths of time based on service requirements, and deleting them if not processed within the specified time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a constant timeout length is used for all buffered packets, then the system is simple to implement, but packets requiring different processing times are either deleted prematurely or held too long
Solution Approach 1:
The patent applies local quality by assigning different buffer timeout values to different packets based on their specific service requirements. Each packet is tagged with a buffer ID that links it to a particular timeout value, allowing localized optimization of buffering duration for each packet type rather than using a uniform timeout for all packets.
Solution Approach 2:
The patent implements preliminary action by pre-configuring multiple buffer timeout values in the flow entry before packets arrive. The controller programs the switch with a table of timeout values associated with different buffer IDs, so that when packets are buffered, the appropriate timeout is already in place and automatically applied without requiring real-time calculation or negotiation.
2Reliability
If packets are buffered for longer periods to accommodate extended processing, then processing completion is improved, but buffer memory is consumed longer and may prevent new packet buffering
Solution Approach 1:
The patent changes the parameter of buffer timeout duration to match the specific processing requirements of each packet type. By varying the timeout parameter rather than using a fixed value, the system ensures that packets are held long enough to be processed but not indefinitely, thus maintaining buffer memory availability for new packets while ensuring processing completion for existing ones.
3Adaptability or versatility
If the controller is geographically distant or resource-constrained, then network deployment flexibility is improved, but packet processing response time increases
Solution Approach 1:
The patent applies preliminary action by pre-programming the switch with multiple buffer timeout values corresponding to different service types. This allows the switch to autonomously manage packet buffering with appropriate timeouts without requiring real-time controller intervention, effectively compensating for the controller's geographic distance or resource constraints and reducing response time loss.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method is performed by a network device acting as a switch in a Software Defined Networking (SDN) network, where the switch is coupled to a controller in the SDN network. The method implements variable buffer timeout output actions. The method includes generating a flow entry that includes a packet matching criteria and an output action that specifies a buffer timeout value, receiving a packet for forwarding, determining whether the packet matches the packet matching criteria of the flow entry, and storing the packet in a buffer of the switch in response to determining that the packet matches the packet matching criteria of the flow entry, the buffer to temporarily store the packet while the controller determines processing for the packet. The method further includes associating the buffered packet with the buffer timeout value specified in the flow entry and transmitting a portion of the packet to the controller.