Content delivery for client server protocols with user affinities using connection end-point proxies
First Claim
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, andwherein 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.
19 Assignments
0 Petitions
Accused Products
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.
30 Citations
18 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
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. - View Dependent Claims (15, 16, 17, 18)
-
Specification