IP Library Granted Patent US 9,100,409
Granted Patent B2
US 9,100,409 · App. 13/674,447 · Granted Aug 4, 2015

Method and system for selecting a computing device for maintaining a client session in response to a request packet

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,100,409
App. No.
13/674,447
Granted
Aug 4, 2015
Kind
B2
Abstract

A server farm for processing client requests comprising a first server having a first processor and a first network interface controller communicatively coupled to the first processor, and a second server comprising a second processor and communicatively coupled to the first server, wherein the first network interface controller is configured to maintain a state table associated with at least the first server and the second server and respond to receipt of a request packet from a client by, initiating by the first processor execution of a software application associated with the request packet when the state table corresponds to a first state, and selectively forwarding the request packet to the second server when the state table corresponds to a second state.

Claims (33)

1. A method comprising:

receiving, at a first computing device, a first packet, wherein the first packet is a request packet originating from a client, wherein the received request packet includes an identifier;

identifying a computing device associated with the identifier;

if the identified computing device is the first computing device, performing a first operation in response to the request packet; and

if the identified computing device is a second computing device, including, in a header of a second packet, a field that indicates the second packet is a forwarded packet, and communicating the second packet to the second computing device to perform the first operation.

2. The method of claim 1 , wherein identifying the computing device associated with the identifier comprises determining whether the computing device stores a data structure of the connection with the client.

3. The method of claim 1 , wherein the second packet includes the request packet.

4. The method of claim 1 , wherein the header further comprises a reference, wherein the reference includes an IP address of the client and an IP address of the second computing device.

5. The method of claim 1 , further comprising receiving the request packet through a global computer network.

6. The method of claim 5 , further comprising communicating the second packet to the second computing device through a local area network when the identified computing device is the second computing device.

7. The method of claim 1 , wherein the first operation is a socket-based application.

8. The method of claim 1 , wherein the first computing device comprises a network interface card.

9. The method of claim 1 , wherein the first computing device is a first destination server in a server farm and the second computing device is a second destination server in the server farm.

10. A system comprising:

a first computing device configured to:

receive a first packet, wherein the first packet is a request packet originating from a client, wherein the received request packet includes an identifier;

identify a computing device associated with the identifier;

if the identified computing device is the first computing device, perform a first operation in response to the request packet; and

if the identified computing device is a second computing device, include, in a header of a second packet, a field that indicates the second packet is a forwarded packet, and communicate the second packet to the second computing device to perform the first operation.

11. The system of claim 10 , wherein the identifier is a session identifier.

12. The system of claim 11 , wherein the session identifier is an HTTP session identifier.

13. The system of claim 10 , wherein the identifier is a URL identifier.

14. The system of claim 10 , wherein the identifier is an SSL identifier.

15. The system of claim 10 , wherein the first computing device is configured to identify the computing device associated with the identifier by determining whether the computing device stores a data structure of the connection with the client.

16. A non-transitory computer-readable memory medium containing computer-executable instructions stored thereon, execution of which by a network processor of an intelligent network interface controller of a first server of an information processing system causes the intelligent network interface controller to perform operations in handling requests from clients referencing a single session that is associated with multiple connections, the operations comprising:

receiving a first packet, wherein the first packet is a request packet originating from a client, wherein the received request packet includes an identifier;

identifying a computing device associated with the identifier;

if the identified computing device is the first computing device, performing a first operation in response to the request packet; and

if the identified computing device is a second computing device, including, in a header of a second packet, a field that indicates the second packet is a forwarded packet, and communicating the second packet to the second computing device to perform the first operation.

17. The non-transitory computer-readable memory medium of claim 16 , wherein the header includes a reference, wherein the reference includes an IP address of the client and an IP address of the second computing device.

18. The non-transitory computer-readable memory medium of claim 16 , further comprising receiving the request packet through a global computer network.

19. The non-transitory computer-readable memory medium of claim 16 , further comprising communicating the second packet to the second computing device through a local area network when the identified computing device is the second computing device.

20. The non-transitory computer-readable memory medium of claim 16 , wherein the first operation is a socket-based application.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2021
From: INTELLECTUAL VENTURES ASSETS 171 LLC
To: CLOUDROCK LLC
Reel/Frame 058139/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2021
From: XYLON LLC
To: INTELLECTUAL VENTURES ASSETS 171 LLC
Reel/Frame 057736/0598 →
AFFIDAVIT UNDER MPEP SECTION 323.01(B) Recorded Jun 9, 2021
From: APPLIED MICROSYSTEMS INC.
To: NOATAK SOFTWARE LLC
Reel/Frame 056527/0368 →
MERGER Recorded Sep 30, 2015
From: NOATAK SOFTWARE LLC
To: XYLON LLC
Reel/Frame 036732/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2015
From: APPLIED MICROSYSTEMS INC.
To: NOATAK SOFTWARE LLC
Reel/Frame 035231/0133 →