IP Library Granted Patent US 8,635,265
Granted Patent B2
US 8,635,265 · App. 11/124,807 · Granted Jan 21, 2014

Communicating between a server and clients

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 8,635,265
App. No.
11/124,807
Granted
Jan 21, 2014
Kind
B2
Abstract

Communication occurs between at least one server and a plurality of clients. Client-side connections are established between a traffic manager and clients, in response to clients making requests to communicate with a server. Server-side connections are created and maintained between the traffic manager and the server in order to service the client requests. At least one of the server-side connections is reused to service a client request.

Claims (43)

1. A method for reusing connections between-clients and servers comprising:

determining, from a plurality of available server pools, a server pool corresponding to an incoming client request, wherein each server pool in the available server pools is one of a secure transaction server pool, a dynamic content server pool, or a static content server pool;

maintaining, for the server pool, a cache of active server-side connections for associating client side connections to server side connections, the cache of active connections indicative of open server-side connections not yet disconnected by the client and available for reuse;

identifying, from the connections in the maintained cache, connections awaiting servicing by providing a single argument for all connections and receiving a single argument indicative of serviceable connections, wherein each of the connections corresponds to a file id;

determining a ranking of the active connections in the cache of active connections based on a time left before the connection to a corresponding server is broken due to a server timeout;

obtaining a reusable active connection based on the determined rank for each active connection, wherein the reusable active connection is an active connection in the cache of server-side connections that is least likely to be broken by a corresponding server due to a server timeout; and

assigning the obtained reusable connection to the client side request.

2. The method of claim 1 further comprising receiving a client side request from an unknown client, wherein the unknown client has no current client connection allocation.

3. The method of claim 1 further comprising

receiving a request from the client side connection; and

selecting the corresponding server pool by analyzing the request based only on the nature of the client side request.

4. The method of claim 1 further comprising identifying the reusable connection based on those resulting from keep alive protocols of the underlying transport mechanism and non-termination of the reusable connection by the remote client.

5. In a service network environment having a plurality of servers responsive to clients for providing services over the service network via a traffic manager configured for allocating client side connections to an incoming request and allocating server side connections corresponding to a server responsive to the request by associating the client side connection to the server side connection, a method for reusing connections between the clients and servers comprising:

identifying a client side connection receiving an incoming request from a client unknown to the traffic manager;

determining, from a plurality of available server pools, a server pool corresponding to an incoming client request, wherein each server pool in the available server pools is one of a secure transaction server pool, a dynamic content server pool, or a static web content server pool;

maintaining, for the server pool, a cache of active server-side connections for associating client side connections to server side connections, the cache of active connections indicative of open server-side connections not yet disconnected by the client and available for reuse;

identifying, from the connections in the maintained cache, connections awaiting servicing by providing a single argument for all connections and receiving a single argument indicative of serviceable connections, wherein each of the connections corresponds to a file id;

determining a ranking of the active connections in the cache of active connections based on a time left before the connection to a corresponding server is broken due to a server timeout;

obtaining a reusable active connection based on the determined rank for each active connection, wherein the reusable active connection is an active connection in the cache of server-side connections that is least likely to be broken by a corresponding server due to a server timeout; and

assigning the obtained reusable connection to the identified client side connection by associating the server side connection to the identified client side connection.

6. The method of claim 5 wherein the traffic manager is responsive to a previous request having longevity information indicative of whether the server side connection should be kept open or closed.

7. The method of claim 5 wherein the unknown client has no current client connection allocation to the traffic manager.

8. The method of claim 5 further comprising determining a most quickly serviceable server-side connection based on an analysis of which server will serve the client corresponding to the client side connection most quickly.

9. The method of claim 5 further comprising determining a reusable open server side connection based on determining a similarity of the incoming request to a recently processed request by determining a server having information required by the incoming request already stored in RAM.

10. The method of claim 9 wherein determining a similarity to a recently processed request further comprises identifying a server more reliable for handling the incoming request.

11. The method of claim 5 , wherein the traffic manager is responsive to a previous request having longevity information indicative of whether the connection should be kept open or closed.

12. A network server for facilitating communication between a plurality of servers and a plurality of browsing clients in a service network environment having a plurality of servers responsive to the clients for providing services over the service network, comprising:

a processor for executing instructions;

an interface to a network for coupling clients to servers;

a traffic manager, the network interface responsive to the traffic manager, configured for allocating client side connections to an incoming request and allocating server side connections corresponding to a server responsive to the request by associating the client side connection to the server side connection,

a server-side connection cache, the traffic manager configured to:

identify a client side connection receiving an incoming request via the interface from a client unknown to the traffic manager;

determine, from a plurality of available server pools, a server pool corresponding to an incoming client request, wherein each server pool in the available server pools is one of a secure transaction server pool, a dynamic content server pool, or a static web content server pool;

maintain, for the server pool, a cache of active server-side connections for associating client side connections to server side connections, the cache of active connections indicative of open server-side connections not yet disconnected by the client and available for reuse;

identifying, from the connections in the maintained cache, connections awaiting servicing by providing a single argument for all connections and receiving a single argument indicative of serviceable connections, wherein each of the connections corresponds to a file id;

determine a ranking of the active connections in the cache of active connections based on a time left before the connection to a corresponding server is broken due to a server timeout; and

obtain a reusable active connection based on the determined rank for each active connection, wherein the reusable active connection is an active connection in the cache of server-side connections that is least likely to be broken by a corresponding server due to a server timeout; and

a server manager configured to assign the obtained reusable connection to the identified client side connection from the determined server pool corresponding to the incoming request and by associating the server side connection to the identified client side connection.

13. The server of claim 12 wherein the unknown client has no current client connection allocation to the traffic manager.

14. The server of claim 12 further comprising determining a most quickly serviceable server-side connection based on an analysis of which server will serve the client corresponding to the client side connection most quickly.

15. The server of claim 12 further comprising determining a reusable open server side connection based on determining a similarity of the incoming request to a recently processed request by determining a server having information required by the incoming request already stored in RAM.

16. The server of claim 15 wherein determining a similarity to a recently processed request further comprises identifying a server more reliable for handling the incoming request.

17. The server of claim 12 wherein the traffic manager is responsive to a previous request having longevity information indicative of whether the connection should be kept open or closed.

Assignments (19)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2017
From: BROCADE COMMUNICATION SYSTEMS, INC.
To: PULSE SECURE, LLC
Reel/Frame 043604/0172 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 035561/0363 Recorded Jan 9, 2017
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 041298/0876 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2015
From: RIVERBED TECHNOLOGY, INC.
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 035097/0776 →
RELEASE OF SECURITY INTEREST Recorded Mar 3, 2015
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035078/0354 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2012
From: RIVERBED TECHNOLOGY LIMITED
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 027644/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2012
From: ZEUS TECHNOLOGY LIMITED
To: RIVERBED TECHNOLOGY LIMITED
Reel/Frame 027603/0331 →
DEED OF RELEASE Recorded Jan 25, 2012
From: ZEUS TECHNOLOGY LIMITED
To: NOBLE VENTURE FINANCE II S.A.
Reel/Frame 027592/0158 →