Method and system for establishing a data structure of a connection with a client
First Claim
1. An information processing system, comprising:
- a first computing device configured to;
store an unbound data structure associated with a connection to a client in response to receiving an initialization packet from the client;
select a computing device to service the client;
when the first computing device is selected to service the client, bind the unbound data structure to an application of the first computing device; and
when a second computing device distinct from the first computing device is selected to service the client, migrate the unbound data structure to the second computing device by outputting an encapsulated packet including the unbound data structure to the second computing device to enable the second computing device to output packets to the client configured to appear to the client to have been sent from the first computing device.
10 Assignments
0 Petitions
Accused Products
Abstract
According to a first embodiment, a computing device receives an initialization packet originating from a client. In response to at least the initialization packet, the computing device establishes a data structure of a connection with the client, irrespective of whether an application of the computing device is associated with the data structure of the connection.
According to a second embodiment, a computing device receives a request packet originating from a client. In response to at least the request packet, the computing device associates an application of the computing device with a data structure of a connection with the client.
According to a third embodiment, a first computing device associates an application of the first computing device with a data structure of a connection with a client. Subsequently, the first computing device disassociates the application of the first computing device from the data structure of the connection. After such disassociation, the first computing device outputs the data structure of the connection to a second computing device for associating an application of the second computing device with the data structure of the connection.
According to a fourth embodiment, a first computing device receives an initialization packet and a request packet originating from a client. In response to at least the initialization packet, the first computing device establishes a data structure of a connection with the client. In response to at least the request packet and a state of at least one of the first computing device and a second computing device, the first computing device selectively performs one of the following: (a) associating the data structure of the connection with an application of the first computing device; and (b) outputting the data structure of the connection and the request packet to the second computing device for associating an application of the second computing device with the data structure of the connection.
-
Citations
52 Claims
-
1. An information processing system, comprising:
a first computing device configured to; store an unbound data structure associated with a connection to a client in response to receiving an initialization packet from the client; select a computing device to service the client; when the first computing device is selected to service the client, bind the unbound data structure to an application of the first computing device; and when a second computing device distinct from the first computing device is selected to service the client, migrate the unbound data structure to the second computing device by outputting an encapsulated packet including the unbound data structure to the second computing device to enable the second computing device to output packets to the client configured to appear to the client to have been sent from the first computing device. - View Dependent Claims (2, 3, 7, 21, 22, 23, 43, 52)
-
4. An information processing system, comprising:
a first computing device configured to; receive a request packet originating from a client; when the packet is associated with a connection that corresponds to an application of the first computing device, forward the packet and a reference to an associated connection endpoint to a network protocol stack of the first computing device that is external to an operating system of the first computing device; and when the packet is associated with a connection that corresponds to an application of a second computing device distinct from the first computing device, selectively encapsulate the packet and forward the encapsulated packet to the second computing device, wherein the encapsulated packet includes a reference to a connection endpoint associated with the packet and an indication that the encapsulated packet is a forwarded packet. - View Dependent Claims (5, 6, 24, 44)
-
8. An information processing system, comprising:
a first computing device configured to; associate an application of the first computing device with a data structure associated with a connection to a client; and selectively; disassociate the application of the first computing device from the data structure; and subsequently output an encapsulated packet including a reference to the data structure to a second computing device to associate an application of the second computing device with the data structure, and to enable the second computing device to output packets to the client configured to appear to the client to have been sent from the first computing device. - View Dependent Claims (9, 10, 25, 26, 45)
-
11. A method performed by a first server, the method comprising:
-
storing an unbound data structure associated with a connection to a client originating an initialization packet; selecting a server to service the client; when the first server is selected to service the client, binding the data structure to an application of the first server; and when a second server distinct from the first server is selected to service the client, migrating the unbound data structure to the second server by outputting an encapsulated packet including the unbound data structure to the second server to enable the second server to output packets to the client configured to appear to the client to have been sent from the first server. - View Dependent Claims (12, 13, 17, 27, 28, 29, 46)
-
-
14. A method performed by a first computing device of an information processing system, the method comprising:
-
receiving a request packet originating from a client; when the packet is associated with a connection that corresponds to an application of the first computing device, forwarding the packet and a reference to an associated connection endpoint to a network protocol stack of the first computing device that is external to an operating system of the first computing device; and when the packet is associated with a connection that corresponds to an application of a second computing device distinct from the first computing device, selectively encapsulating the packet and forwarding the encapsulated packet to the second computing device, wherein the encapsulated packet includes a reference to a connection endpoint associated with the packet and an indication that the encapsulated packet is a forwarded packet. - View Dependent Claims (15, 16, 30, 47)
-
-
18. A method performed by a first computing device of an information processing system, the method comprising:
-
associating an application of the first computing device with a data structure associated with a connection to a client; and selectively; disassociating the application of the first computing device from the data structure; and subsequently outputting an encapsulated packet including a reference to the data structure to a second computing device to associate an application of the second computing device with the data structure, and to enable the second computing device to output packets to the client configured to appear to the client to have been sent from the first computing device. - View Dependent Claims (19, 20, 31, 32, 48)
-
-
33. A computer-readable memory medium containing instructions for controlling a processor of a first server to selectively load balance and direct network requests among a plurality of servers by:
-
receiving a request packet originating from a client; selectively; when the packet is associated with a connection endpoint bound to a socket of an application of the first server, forwarding the packet and a reference to the associated connection endpoint to a protocol stack of the first server that is external to an operating system of the first server; and when the packet is associated with a connection endpoint bound to a socket of an application of a second server, encapsulating the packet and forwarding the encapsulated packet to a second server, the encapsulated packet including a reference to the associated connection endpoint bound to the socket of the application of the second server and an indication that the encapsulated packet is a forwarded packet. - View Dependent Claims (34, 35, 36, 49)
-
-
37. A computer-readable memory medium containing instructions for controlling a processor of a first server to selectively load balance and direct network requests among a plurality of servers by:
-
associating an application of the first server to a data structure associated with a connection with a client; selectively disassociating the application of the first server from the data structure; and subsequently outputting an encapsulated packet including a reference to the data structure to a second server for associating an application of the second server with the data structure, and to enable the second server to output packets to the client configured to appear to the client to have been sent from the first server. - View Dependent Claims (38, 39, 40, 41, 50)
-
-
42. A first server, comprising:
-
a memory configured to store an unbound data structure associated with a connection to a client originating an initialization packet; a network protocol stack external to an operating system of the first server; and a module configured to selectively bind the data structure associated with the connection to the client to an application of the first server, and, when the first server is not selected to service the client, to migrate the data structure to a second server by outputting an encapsulated packet including the unbound data structure to the second server to enable the second server to output packets to the client configured to appear to the client to have been sent from the first server. - View Dependent Claims (51)
-
Specification