Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
First Claim
1. A method for transparently controlling communications between a network application and a plurality of network communications protocol stacks, the method comprising:
- in a stack multiplexer layer located between the network application and the plurality of network communication protocol stacks;
(a) intercepting a socket creation function call generated by the network application using an application programming interface;
(b) creating a pseudo communications endpoint in response to the socket creation function call;
(c) intercepting at least one sockets-related function call to the socket of step (a);
(d) determining whether the application comprises a client or a server based on the sockets-related function call; and
(e) based on the determination in step (d), creating at least one protocol-stack-specific communications endpoint and making client- or server-related socket function calls from the stack multiplexer layer to at least one of the plurality of network communications protocol stacks using the at least one protocol-stack-specific communications endpoint and the application programming interface.
9 Assignments
0 Petitions
Accused Products
Abstract
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.
21 Citations
53 Claims
-
1. A method for transparently controlling communications between a network application and a plurality of network communications protocol stacks, the method comprising:
-
in a stack multiplexer layer located between the network application and the plurality of network communication protocol stacks; (a) intercepting a socket creation function call generated by the network application using an application programming interface; (b) creating a pseudo communications endpoint in response to the socket creation function call; (c) intercepting at least one sockets-related function call to the socket of step (a); (d) determining whether the application comprises a client or a server based on the sockets-related function call; and (e) based on the determination in step (d), creating at least one protocol-stack-specific communications endpoint and making client- or server-related socket function calls from the stack multiplexer layer to at least one of the plurality of network communications protocol stacks using the at least one protocol-stack-specific communications endpoint and the application programming interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for controlling communications between a network application and a plurality of network communications protocol stacks, the method comprising:
-
in a stack multiplexer layer located between the network application and the plurality of network communications protocol stacks; (a) intercepting a socket creation function call generated by the network application using an application programming interface; (a) receiving a socket creation function call for creating a socket for communications between a network application and one of a plurality of network communications protocol stacks; (b) deferring association between the socket and one or more of the network communications protocol stacks until a determination can be made as to whether the application is a client or a server; and (c) in response to determining whether the application is a client or a server, associating the socket with one or more of the network communications protocol stacks by making at least one socket related function call from the stack multiplexer layer to the one or more network communications protocol stacks using the application programming interf ace.
-
-
21. A system for controlling communication between a local network application and a plurality of communications protocol stacks, the system comprising:
-
within a computer; (a) a stack multiplexer layer located between the network application and the plurality of communications protocol stacks, the stack multiplexer layer for receiving a socket-creation function call generated by the local network application using an application programming interface, for terminating the socket-creation function call, and for making a protocol-stack-specific socket function call from the stack multiplexer layer to at least one of plurality of network communications protocol stacks, using the application programming interface, and based on the socket creation function call to create at least one protocol-stack-specific communications endpoint; and (b) the plurality of network communications protocol stacks for transporting data between the local network application and a remote application via the at least one protocol-stack-specific communications endpoint. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising:
-
at a stack multiplexer layer located between a network application and a plurality of network communications protocol stacks; (a) intercepting a socket creation function generated by the network application using an application programming interface; (b) creating a pseudo communications endpoint in response to the socket creation function call; (c) intercepting at least one sockets-related function call relating to the socket of step (a); (d) determining whether the application comprises a client or a server based on the sockets-related function call; and (e) based on the determination in step (d), creating at least one protocol-stack-specific communications endpoint and making client- or server-related socket function calls from the stack multiplexer layer to at least one of the plurality of network communications protocol-stacks using the application programming interface and the at least one protocol-stack-specific communications endpoint. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
Specification