IP Library Granted Patent US 8,635,346
Granted Patent B2
US 8,635,346 · App. 12/632,703 · Granted Jan 21, 2014

Content delivery for client server protocols with user affinities using connection end-point proxies

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,346
App. No.
12/632,703
Granted
Jan 21, 2014
Kind
B2
Abstract

In a network supporting transactions between clients and servers over a network path having operating characteristics to overcome, data is transported to overcome the operating characteristics using user affinities and dynamic user location information to selectively preload data, or representations, signatures, segments, etc. of data, in order to overcome the one or more operating characteristic. Examples of operating characteristics to overcome include bandwidth limitations, errors and latency. The dynamic location information can be stored in data structures accessible by agents of a data server and the data structures are populated based on user activities with respect to proxies associated with user locations, or the dynamic location information can be obtained implicitly as proxies maintain connections after termination by clients and the use of those maintained connections for preloading of data for the users associated with those clients. The data being preloaded can be protocol-specific data or protocol-independent data.

Claims (40)

1. In a network supporting transactions between clients and servers, wherein a client is a host that requests a transaction and a server is a host that issues responses responsive to client requests and wherein packets between a client and a server travel over a network path comprising one or more hops and having one or more operating characteristic to overcome, a method of transporting data to overcome the one or more operating characteristic comprising:

identifying user affinity for a data object, wherein said user affinity of the data object indicates which user or users might be associated with the data object such that a user having said user affinity to the data object is more likely to request the data object than a user not having said user affinity to the data object, wherein a user affinity of a given data object is a function of at least a portion of the data of the given data object;

dynamically identifying user locations, wherein a user location represents an association between a user and preload node, wherein a preload node is a network location wherein preloaded data can be stored to overcome at least one of the one or more operating characteristics;

storing an association between a particular user and a particular preload node identified as a particular user location for the particular user, wherein the association is stored at least when the particular user is not currently using the particular preload node;

transporting particular data having a specified user affinity with the particular user when a particular client associated with the particular user is disconnected from the network, in advance of a client request from the particular client on behalf of the particular user having the specified user affinity for the particular data, from a server to the particular preload node,

wherein identifying said user affinity of the data object is performed at or near the server using the data object, wherein the data object is not received from the client or the particular user;

wherein identifying the user affinity for the data object is performed at a data center, wherein the user affinity is based on an intended recipient of the data object, and wherein identifying the user affinity for the data object includes inspecting, with a content delivery agent of the data center, the data object to determine the intended recipient, and

wherein the particular data having the specified user affinity is transported in advance of any client request to the data center for the particular data and is transported from a server of the data center to the preload node.

2. The method of claim 1 , wherein the one or more operating characteristics are selected from bandwidth usage, error rate and latency.

3. The method of claim 1 , wherein the data object comprises one or more of an e-mail, a dataset, a file, or a portion of a database.

4. The method of claim 1 , wherein the user affinity of the data object is to a single user.

5. The method of claim 1 , wherein the user affinity of the data object is to a plurality of users.

6. The method of claim 1 , wherein identifying user affinity comprises:

determining which users access which data objects; and

assigning user affinity to those data objects according to which users access those data objects.

7. The method of claim 1 , wherein dynamically identifying user locations comprises:

determining which users access the network using particular clients;

determining a set of preload nodes associated with those particular clients; and

populating a user location database with records associating those users with the set of preload nodes.

8. The method of claim 1 , wherein the particular preload node is a proxy.

9. The method of claim 1 , wherein the particular preload node includes a data cache.

10. The method of claim 1 , wherein the particular preload node includes a proxy and a segment store.

11. The method of claim 1 , wherein the client-server session is an authenticated session.

12. The method of claim 1 , wherein the data center includes the user location database.

13. The method of claim 1 , wherein the dynamic user location is determined from previous interactions of the particular user with the data center.

14. In a network supporting clients, servers and proxies, wherein a client is a host that transmits requests to a server, the server is a host that issues responses responsive to client requests, and a proxy is a host that acts as a protocol intermediary between one or more clients and one or more servers, and wherein packets between the client and the server travel over a network path comprising one or more hops and having one or more operating characteristic to overcome, a method of transporting data to overcome the one or more operating characteristic, the method comprising:

determining a preferred proxy for one or more users by detecting a proxy used by the one or more users;

storing an association between the one or more users and the preferred proxy, wherein the association is stored at least when the one or more users are not currently using the preferred proxy;

detecting either a newly available data object stored on a server or a modification to an existing data object stored on a server;

identifying user affinity for the detected data object, wherein said user affinity of the data object indicates which user or users might be associated with the data object such that a user having said user affinity to the data object is more likely to request the data object than a user not having said user affinity to the data object, wherein a user affinity of a given data object is a function of at least a portion of the data of the given data object;

identifying a preferred proxy for a particular user having said user affinity, wherein the preferred proxy is determined from the stored association; and

transporting the detected data object when a particular client associated with the particular user is disconnected from the network, in advance of a client request from the particular client on behalf of the particular user, from a server to the preferred proxy, wherein said transporting includes inheriting, at a connection end-point proxy, security and access capabilities of a client-server session between the client and the server by intercepting the client-server session;

wherein identifying the user affinity for the data object is performed at a data center, wherein the user affinity is based on an intended recipient of the data object, and wherein identifying the user affinity for the data object includes inspecting, with a content delivery agent of the data center, the data object to determine the intended recipient, and

wherein the particular data having the specified user affinity is transported in advance of any client request to the data center for the particular data and is transported from a server of the data center to the preferred proxy.

15. The method of claim 14 , wherein the data object comprises one or more of an e-mail, a dataset, a file, or a portion of a database.

16. The method of claim 14 , wherein identifying user affinity comprises:

determining which users access which data objects; and

assigning user affinity to those data objects according to which users access those data objects.

17. The method of claim 14 , wherein the transporting is performed when the one or more users are not currently using the preferred proxy.

18. The method of claim 14 , wherein the client-server session is an authenticated session.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
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 Jan 27, 2010
From: WU, DAVID TZE-SI; MCCANNE, STEVEN
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 023857/0329 →