Socket Query Engine for SDN Traffic Visibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software-defined-networking (SDN) infrastructures face challenges in controlling data traffic due to the lack of a practical mechanism for providing granular flow information to the central SDN controller, as each application's data flow information is only known to itself and not shared with other network devices until data is communicated, making it difficult for the controller to manage data traffic effectively.
Innovation Solution
The introduction of an operating-system-container engine with a socket query engine that monitors and compiles socket parameters, providing real-time data flow information to the SDN controller, allowing it to have a global view of data traffic and enabling proactive control and optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If an SDN-interface is created in every Guest OS to enable applications to communicate data flow information to the central SDN controller, then the SDN controller can have global view of data flow information, but it requires significant amount of resources and increases system complexity
Solution Approach 1:
The patent merges the SDN interface functionality into the host operating system rather than implementing separate interfaces in each Guest OS. The host OS acts as a centralized point that collects data flow information from all virtual machines through the virtualization layer, eliminating the need for multiple distributed SDN interfaces while maintaining global visibility of data flow information across all applications.
Solution Approach 2:
The host operating system serves as an intermediary between the virtual machines and the central SDN controller. Instead of direct communication between each Guest OS and the controller, the host OS mediates by collecting data flow information from multiple sources and forwarding it to the controller, reducing the number of direct connections needed and simplifying the overall architecture.
2Ease of operation
If data flow information is only known to the application itself at the time when the data flow is first described in the file descriptor, then the application has complete control over its data flow, but the SDN controller cannot control the data traffic early in the life-cycle of the data flow
Solution Approach 1:
The system performs preliminary action by collecting and making data flow information available to the SDN controller at the time of socket creation and file descriptor establishment, rather than waiting until data actually flows. This allows the controller to prepare routing rules and traffic management policies in advance, enabling early control of data traffic before it traverses the network.
Solution Approach 2:
The virtualization layer provides feedback to the SDN controller by continuously monitoring and reporting data flow information from applications. This feedback mechanism ensures the controller has up-to-date information about application data flows while maintaining application autonomy, allowing the controller to make informed traffic management decisions without interfering with application control.
Data Source
AI summary
Embodiments of the present invention include systems and methods for providing data flow information of a communication end node. The communication end node includes: at least one container including one or more applications; an operating-system-container engine for hosting the container; a host operating system (OS) for hosting the operating-system-container engine; and a socket query engine that is hosted by the operating-system-container engine. The socket query engine causes steps to be performed comprising: monitoring one or more open sockets that allow the one or more applications to communicate data through a network; compiling a list of the one or more open sockets; generating information of data flow that passes through the one or more open sockets using a set of socket parameters of the one or more open sockets; and sending the information of data flow to a controller through the network.


