Deferred Protocol Stack Association for Network Socket Multiplexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network communication architectures face processor overload due to software-implemented network protocol stacks, and they restrict applications to communicate with only one protocol stack, increasing complexity by fixing the association between a socket and a protocol stack at creation time.
Innovation Solution
Implementing a deferred protocol stack association method using a stack multiplexer layer that creates a pseudo communications endpoint, allowing associations with multiple protocol stacks dynamically based on the application's nature as a client or server, enabling transparent communication across multiple protocol stacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a socket is immediately associated with a network communications protocol stack at creation time, then the application can communicate with the protocol stack, but the application is restricted to communicate with only one protocol stack and the association complexity increases
Solution Approach 1:
The patent creates a pseudo communications endpoint in advance that will later be associated with the actual protocol stack. This preliminary placeholder allows the socket to be created without immediate protocol stack binding, enabling flexible future association with multiple protocol stacks based on application needs
Solution Approach 2:
The pseudo communications endpoint acts as an intermediary between the socket and the actual protocol stack. It decouples the socket creation from protocol stack association, allowing the application to communicate with multiple protocol stacks through a single socket interface without direct management complexity
2Productivity
If network communications protocol stacks are implemented in software, then they provide flexible network communication functions, but processor overload occurs due to the processing required for each connection
Solution Approach 1:
The patent extracts the protocol stack association logic from the socket creation process itself and places it in a separate deferred association mechanism. This separates the connection establishment overhead from the actual communication data path, reducing processor overhead for each connection while maintaining software implementation flexibility
3Adaptability or versatility
If the association between socket and protocol stack is fixed at socket creation, then the system architecture is simple, but the application cannot dynamically select different protocol stacks based on client or server nature
Solution Approach 1:
The patent implements a dynamic association mechanism where the socket's protocol stack binding is not fixed at creation but deferred until the application's nature (client or server) is determined. This allows the system to adaptively select and associate with appropriate protocol stacks based on runtime conditions rather than static pre-binding
Data Source
AI summary
Methods, systems, and computer program products for controlling communications between network applications and multiple network communications protocol stacks using deferred protocol stack association are disclosed. In one method, a socket creation function call is received from an application. A socket creation function call is terminated, a pseudo communications endpoint is created, and a socket descriptor corresponding to the pseudo communications endpoint is returned to the application. At least one subsequent sockets-related function call is received. Based on the subsequent sockets-related function call, it is determined whether the application is a client or a server. In response to determining that the application is a server, communications endpoints are created on each of the network communications protocol stacks and server-related sockets function calls are made to each of the underlying protocol stacks. In response to determining that the application is a client, a protocol stack is selected, a protocol-stack-specific communications endpoint is created, and client-related sockets function calls are made to the underlying protocol-stack.


