Managing connections through an aggregation of network resources providing offloaded connections between applications over a network
First Claim
1. A method of establishing offloaded connections over a network between requesting applications running on client nodes and server applications running a server node, the connections established through an aggregated plurality of network resources comprising the server node, each of the aggregated plurality operable to provide offloaded connections over the network and each assigned to a unique private IP address, said method comprising:
- generating connect queries on behalf of requesting applications, each of the connect queries specifying one of the server applications using a first endpoint tuple, the first endpoint tuple comprising one of one or more IP addresses publicly identifying the server node on the network and a first port number uniquely identifying the server application;
obtaining a set of bypass endpoint tuples translated from the first endpoint tuple specified in the connect query, each of the set comprising a different one of the assigned private IP addresses; and
issuing a connect request over the network specifying a selected one of the obtained set of bypass endpoint tuples as the destination transport address for the connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system establishes offloaded connections over a network between requester applications running on client nodes and server applications running on a server node. The connections are established through an aggregated plurality of network resources of the server node. Each of the aggregated plurality of server resources is operable to provide offloaded connections over the network and each is assigned to a unique private IP address. Connect queries are generated on behalf of requesting applications. Each of the connect queries specifies one of the server applications using a first endpoint tuple. The first endpoint tuple includes one of one or more IP addresses identifying the server node publicly on the network and a first port number uniquely identifying the server application. A valid set of bypass endpoint tuples are obtained that are translated from the first endpoint tuple specified in the query. Each tuple of the set includes a different one of the assigned private IP addresses. A connect request is issued over the network that specifies a selected one of the valid set of bypass endpoint tuples as the destination transport address for the connection.
-
Citations
61 Claims
-
1. A method of establishing offloaded connections over a network between requesting applications running on client nodes and server applications running a server node, the connections established through an aggregated plurality of network resources comprising the server node, each of the aggregated plurality operable to provide offloaded connections over the network and each assigned to a unique private IP address, said method comprising:
-
generating connect queries on behalf of requesting applications, each of the connect queries specifying one of the server applications using a first endpoint tuple, the first endpoint tuple comprising one of one or more IP addresses publicly identifying the server node on the network and a first port number uniquely identifying the server application;
obtaining a set of bypass endpoint tuples translated from the first endpoint tuple specified in the connect query, each of the set comprising a different one of the assigned private IP addresses; and
issuing a connect request over the network specifying a selected one of the obtained set of bypass endpoint tuples as the destination transport address for the connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of aggregating connection capacity of a plurality of network resources of a computer system, each of the plurality of resources operable to provide offloaded connections over a network to one or more applications running on the computer system, each of the one or more applications uniquely associated with a first port number, the computer system identified on the network by one or more public IP addresses, said method comprising:
-
identifying each of the plurality of network resources with a unique private host number;
creating a wild card socket for at least one of the one or more applications, said creating comprising;
associating one or more first endpoint tuples with the wildcard socket, the one or more first endpoint tuples each comprising a different one of the one or more public IP addresses identifying the computer system and the first port number associated with the at least one application for which the socket is created; and
translating each of the one or more first endpoint tuples to a set of bypass endpoint tuples, the members of each of the one or more sets associated with a different second port number, each member of a particular set comprising the set'"'"'s associated port number and a different one of the assigned private IP addresses; and
establishing an offloaded connection to the at least one of the one or more applications through a selected one of the plurality of network resources. - View Dependent Claims (17)
-
-
18. A method of establishing offloaded connections over a network between requesting applications running on client nodes and server applications running on a server node, the connections established through an aggregated plurality of network resources comprising the server node, each of the aggregated plurality operable to provide offloaded connections over the network and each assigned to a unique private IP address, the server node further comprising an O/S protocol stack operable to provide conventional connections over the network, said method comprising:
-
generating connect queries on behalf of the requesting applications, each of the connect queries specifying one of the server applications using a first endpoint tuple, the first endpoint tuple comprising one of one or more IP addresses publicly identifying the server node on the network and a first port number uniquely identifying the server application;
obtaining a set of bypass endpoint tuples translated from the first endpoint tuple specified in the connect query, each of the set comprising a different one of the assigned private IP addresses and a second port number mapped from the first port number; and
issuing a connect request over the network specifying a selected one of the obtained set of bypass endpoint tuples as the destination transport address for the connection. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A method of aggregating connection capacity of a plurality of network resources of a computer system, each of the plurality of resources operable to provide offloaded connections over a network to one or more applications running on the computer system, each of the one or more applications uniquely associated with a first port number, the computer system identified on the network by one or more public IP addresses, said method comprising:
-
identifying each of the plurality of network resources with a unique private host number;
creating a wild card socket for at least one of the one or more applications, said creating comprising;
associating one or more first endpoint tuples with the wildcard socket, the one or more first endpoint tuples comprising a different one of the one or more public IP addresses identifying the computer system and the first port number associated with the at least one application for which the socket is created; and
translating each of the one or more first endpoint tuples to a set of bypass endpoint tuples, each of the one or more sets assigned a different second port number, each member of a particular set comprising the set'"'"'s assigned port number and a different one of the assigned private IP addresses; and
providing one of the one or more sets of bypass tuples in response to a connect query received over the network, the provided one of the one or more sets translated from the one of the one or more tuples specified in the connect query. - View Dependent Claims (26)
-
-
27. A method of establishing offloaded connections over a network between requesting applications running on client nodes and server applications running a server node, the connections established through an aggregated plurality of network resources comprising the server node, each of the aggregated plurality operable to provide offloaded connections over the network and each assigned to a unique private IP address, said method comprising:
-
generating connect queries on behalf of requesting applications, each of the connect queries specifying one of the server applications using a first endpoint tuple, the first endpoint tuple comprising one of one or more IP addresses publicly identifying the server node on the network and a first port number uniquely identifying the server application;
obtaining a set of bypass endpoint tuples translated from the first endpoint tuple specified in the connect query, each of the set comprising a different one of the assigned private IP addresses, said obtaining further comprising;
accessing the set of bypass endpoint tuples locally when validly cached on the client node;
accessing the set of bypass endpoint tuples remotely at the server node when the set is not validly cached on the client node; and
caching the remotely obtained set of bypass endpoint tuples locally on the client node flagging the cached set as valid; and
issuing a connect request over the network specifying a selected one of the obtained set of bypass endpoint tuples as the destination transport address for the connection.
-
-
28. A computer system operable to establish offloaded connections over a network between requesting applications running on a client node of the computer system and server applications running on a server node of the computer system, the connections established through an aggregated plurality of network resources comprising the server node, each of the aggregated plurality operable to provide offloaded connections over the network and each assigned to a unique private IP address, said computer system further comprising:
-
means for generating connect queries on behalf of the requesting applications, each of the connect queries specifying one of the server applications using a first endpoint tuple, the first endpoint tuple comprising one of one or more IP addresses publicly identifying the server node on the network and a first port number uniquely identifying the server application;
means for obtaining a set of bypass endpoint tuples translated from the first endpoint tuple specified in the connect query, each of the set comprising a different one of the assigned private IP addresses; and
means for issuing a connect request over the network specifying a selected one of the obtained set of bypass endpoint tuples as the destination transport address for the connection. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A computer system having an aggregated plurality of network resources, each of the plurality of resources operable to provide offloaded connections over a network to one or more applications running the computer system, each of the one or more applications uniquely associated with a first port number, the computer system identified on the network by one or more public IP addresses, said computer system further comprising:
-
means for identifying each of the plurality of network resources with a unique private host number;
means for creating a wild card socket for at least one of the one or more applications, said means for creating comprising;
means for associating one or more first endpoint tuples with the wildcard socket, the one or more first endpoint tuples comprising a different one of the one or more public IP addresses identifying the computer system and the first port number associated with the at least one application for which the socket is created; and
means for translating each of the one or more first endpoint tuples to a set of bypass endpoint tuples, each of the one or more sets assigned a different second port number, each member of a particular set comprising the set'"'"'s assigned port number and a different one of the assigned private IP addresses; and
means for establishing an offloaded connection to the at least one of the one or more applications through a selected one of the plurality of network resources. - View Dependent Claims (44)
-
-
45. A computer system operable to establish offloaded connections over a network between requesting applications running on client nodes comprising the computer system and server applications running on a server node comprising the computer system, the connections established through an aggregated plurality of network resources of the server node, each of the aggregated plurality operable to provide offloaded connections over the network and each assigned to a unique private IP address, the server node further comprising an O/S protocol stack operable to provide conventional connections over the network, said computer system comprising:
-
means for generating connect queries on behalf of the requesting applications, each of the connect queries specifying one of the server applications using a first endpoint tuple, the first endpoint tuple comprising one of one or more IP addresses publicly identifying the server node on the network and a first port number uniquely identifying the server application;
means for obtaining a set of bypass endpoint tuples translated from the first endpoint tuple specified in the connect query, each of the set comprising a different one of the assigned private IP addresses and a second port number mapped from the first port number; and
means for issuing a connect request over the network specifying a selected one of the obtained set of bypass endpoint tuples as the destination transport address for the connection. - View Dependent Claims (46, 47, 48, 49, 50, 51)
-
-
52. A computer system having an aggregated plurality of network resources, each of the plurality of resources operable to provide offloaded connections over a network to one or more applications running the computer system, each of the one or more applications uniquely associated with a first port number, the computer system identified on the network by one or more public IP addresses, said computer system comprising:
-
means for identifying each of the plurality of network resources with a unique private host number;
means for creating a wild card socket for at least one of the one or more applications, said means for creating comprising;
means for associating one or more first endpoint tuples with the wildcard socket, the one or more first endpoint tuples comprising a different one of the one or more public IP addresses identifying the computer system and the first port number associated with the at least one application for which the socket is created; and
means for translating each of the one or more first endpoint tuples to a set of bypass endpoint tuples, each of the one or more sets assigned a different second port number, each member of a particular set comprising the set'"'"'s assigned port number and a different one of the assigned private IP addresses; and
means for providing one of the one or more sets of bypass tuples in response to a connect query received over the network, the provided one of the one or more sets translated from the one of the one or more tuples specified in the connect query. - View Dependent Claims (53)
-
-
54. A computer system operable to establish offloaded connections on behalf of requesting applications running on the computer system to one or more applications running on a server node over a network, said computer system comprising:
-
one or more client network resources operable to provide offloaded connections over the network;
a library in communication with the one or more requestor applications through an application program interface (API), the library for intercepting API requests to create connect sockets for the requesting applications, the library associating first endpoint tuples with each connect socket created comprising the public IP address and a unique first port number associated with each of the requesting applications; and
an address translation service provider (ATSP) in communication with the library and the network, the ATSP for issuing connect queries over the network to obtain a set of server bypass endpoint tuples from the server node, each connect query specifying a first server endpoint tuple associated with a listening socket created for one of the server applications, the set of obtained server bypass endpoint tuples being translated from the specified first server endpoint tuple; and
a cache for caching obtained sets of server bypass tuples, the cache associated with the ATSP to receive a cache query for each of the connect queries, the set of obtained server bypass endpoint tuples being provided from the cache in response to the cache query whenever an obtained set is validly cached therein. - View Dependent Claims (55, 56, 57, 58, 59, 60)
-
-
61. A computer system operable to establish offloaded connections on behalf of service applications listening on the computer system to one or more requesting applications running on a client node over a network, the computer system identified on the network by one or more public IP addresses, said computer system comprising:
-
one or more server network resources operable to provide offloaded connections over the network;
a library in communication with the one or more service applications through an application program interface (API), the library for intercepting API requests to create listening sockets for the service applications, the library associating first endpoint tuples with each listening socket created comprising the public IP address and a unique first port number associated with each of the service applications;
wherein one or more of the listening sockets created are wildcard listening sockets, the library associating one or more first endpoint tuples with each wildcard socket, each of the one or more first endpoint tuples comprising a different one of the one or more public IP addresses and the first port number associated with the service application for which the wildcard socket was created; and
an address translation service provider (ATSP) in communication with the library and the network, the ATSP for translating each of the first server endpoint tuples associated with a listening socket created for one of the server applications to a set of server bypass endpoint tuples, each of the set comprising a different one of the private IP addresses assigned to the server network resources, each of the set of server bypass endpoint tuples translated from one of the one or more first endpoint tuples associated with a wildcard socket further comprising a unique second port number.
-
Specification