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 clients request transactions and servers issue responses responsive to the client requests, a method of transporting data comprising:
- identifying user affinity for a data object, wherein the user affinity of the data object indicates which user or users are associated with the data object;
dynamically identifying one or more user locations, wherein a user location represents an association between a user and a preload node, wherein a preload node is a network location wherein preloaded data can be stored to overcome one or more operating characteristics of the network;
transporting the data object, in advance of a request from a first client on behalf of a first user having a user affinity for the data object, from a first server to a first preload node representative of a user location for the first user,wherein dynamically identifying user locations comprises;
intercepting a connection between the first client and the first server, wherein the connection is initiated by the first client, and wherein the interception is at a proxy associated with the first preload node; and
including a connection end-point proxy (CEP) in a network path over which the connection flows; and
wherein transporting the data object, in advance of the request from the first client, from the first server to the first preload node includes;
after the CEP detects a termination of the connection initiated by the first client and while the first client is logged off of the connection;
a) with the CEP, retaining the connection to the first server and injecting one or more synthetic transactions towards the first server, implicitly using the connection to identify a user location of the user associated with the connection, wherein the synthetic transactions are initiated by the CEP, wherein the initiation and injection of the synthetic transactions are not in response to a request from the first client; and
b) receiving results of the synthetic transactions, whereby the data object is stored at the preload node for use in improving the one or more operating characteristics of the network.
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.
160 Citations
22 Claims
-
1. In a network supporting transactions between clients and servers, wherein clients request transactions and servers issue responses responsive to the client requests, a method of transporting data comprising:
-
identifying user affinity for a data object, wherein the user affinity of the data object indicates which user or users are associated with the data object; dynamically identifying one or more user locations, wherein a user location represents an association between a user and a preload node, wherein a preload node is a network location wherein preloaded data can be stored to overcome one or more operating characteristics of the network; transporting the data object, in advance of a request from a first client on behalf of a first user having a user affinity for the data object, from a first server to a first preload node representative of a user location for the first user, wherein dynamically identifying user locations comprises; intercepting a connection between the first client and the first server, wherein the connection is initiated by the first client, and wherein the interception is at a proxy associated with the first preload node; and including a connection end-point proxy (CEP) in a network path over which the connection flows; and wherein transporting the data object, in advance of the request from the first client, from the first server to the first preload node includes; after the CEP detects a termination of the connection initiated by the first client and while the first client is logged off of the connection; a) with the CEP, retaining the connection to the first server and injecting one or more synthetic transactions towards the first server, implicitly using the connection to identify a user location of the user associated with the connection, wherein the synthetic transactions are initiated by the CEP, wherein the initiation and injection of the synthetic transactions are not in response to a request from the first client; and b) receiving results of the synthetic transactions, whereby the data object is stored at the preload node for use in improving the one or more operating characteristics of the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In a network supporting transactions between clients and servers, wherein clients request transactions and servers issue responses responsive to the client requests, a method of transporting data comprising:
-
transporting data for a connection between a first client and a first server, wherein the connection is initiated by the first client; wherein a client connection end-point proxy (client CEP) is included in a network path over which the connection flows near the first client; wherein a server connection end-point proxy (server CEP) is included in a network path over which the connection flows near the first server; determining a user identity associated with the connection; identifying the user identity as having a user affinity for a data object stored on the server, wherein the user affinity of the data object indicates which user or users are associated with the data object; after the client CEP detects a termination of the connection initiated by the first client and while the first client is logged off of the connection; a) with the client CEP, retaining the connection to the first server and injecting synthetic transactions towards the first server, implicitly using the connection to identify a user location of the user identity associated with the connection, wherein the synthetic transactions request the data object that is associated with the user identity; b) receiving results of the synthetic transactions; and c) storing the results or populating a store usable to regenerate the results at least in part; and after the client CEP detects that the first client opens a later connection, using the stored results or populated store in responding to later transactions. - View Dependent Claims (18, 19)
-
-
20. In a network supporting clients, servers, and transaction accelerators, wherein a client transmits requests to a server, the server issues responses responsive to client requests, and a transaction accelerator participates as one half of a transparent proxy pair situated between one or more clients and one or more servers, a method of transporting data comprising:
-
intercepting and terminating a transport connection between a client and a server at a connection end-point proxy (CEP) that is between the client and a client-side transaction accelerator; identifying user affinity for a data object stored on the server, wherein the user affinity of the data object indicates which user or users are associated with the data object; determining whether a user identity is associated with the transport connection; identifying whether the user identity for the transport connection matches the user affinity of the data object; and if the user identity for the transport connection does match the user affinity of the data object, transmitting the data object from the server to the client-side transaction accelerator, wherein the client-side transaction accelerator issues synthetic transactions including requests for the data object to the server over the existing client-server transport connection and intercepts the corresponding server responses, wherein the issuing of the synthetic transactions by the client-side transaction accelerator is not in response to a request from the client, wherein issuing of the synthetic transactions is accomplished by; after the CEP detects a termination of the transport connection initiated by the client and after the client is logged off of the connection; retaining the transport connection between the CEP and the server, implicitly using the transport connection to identify a user location of the user associated with the connection; and initiating and injecting, with the CEP, the synthetic transactions towards the server; receiving, from the server, results of the synthetic transactions; and storing the results at the client-side transaction accelerator for use in improving one or more operating characteristics of the network. - View Dependent Claims (21, 22)
-
Specification