7650416

Content Delivery for Client-Server Protocols with User Affinities Using Connection End-Point Proxies

PublishedJanuary 19, 2010
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
22 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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.

2

2. The method of claim 1 , wherein data objects requested in the synthetic transactions are associated with users that are a subset of all network users, and wherein a subset of clients that are associated with the CEP initiating the synthetic transactions include clients that have been associated with one or more of the subset of users.

3

3. The method of claim 1 , wherein the transactions between clients and servers relate to e-mail messages, the synthetic transactions are for transport of e-mail messages associated with a group of one or more recipients, and the CEP has indications that at least one of the group of recipients will operate a client that initiates a connection that flows through that CEP, whereby e-mail data is provided using results of a synthetic transaction.

4

4. The method of claim 1 , further comprising: when the CEP has maintained the connection after the first client has terminated the connection and the first client initiates a second connection, tearing down the maintained connection using the CEP and establishing the second connection.

5

5. The method of claim 1 , further comprising: transporting data for a second connection between a second client and the first server or a second server, initiated by the second client, wherein the second connection flows in a network path including the CEP; when the CEP detects termination of the second connection initiated by the second client: a) retaining the second connection and injecting synthetic transactions towards a server end of the connection; and b) storing the results or populating a store usable to regenerate the results at least in part; when the CEP detects that the second client opens a later connection, using the stored results or populated store in responding to later transactions.

6

6. The method of claim 1 , wherein the data object is stored in a segment store of the preload node, further comprising discarding the data object from the CEP.

7

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

8

8. 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.

9

9. The method of claim 1 , wherein dynamically identifying user locations comprises: determining which users access the network using particular clients; determining the preload nodes associated with those particular clients; and populating a user location database with records associating those users with the preload nodes, thereby identifying user locations.

10

10. The method of claim 1 , wherein the user location database is located at or near the CEP.

11

11. The method of claim 1 , wherein each preload node is a proxy.

12

12. The method of claim 1 , wherein each preload node includes a data cache.

13

13. The method of claim 1 , wherein each preload node includes a proxy and a segment store.

14

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

15

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

16

16. The method of claim 1 , wherein receiving results of the synthetic transactions, whereby the data object is stored at the preload node improves one or more operating characteristics of the network selected from bandwidth usage, error rate and latency.

17

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.

18

18. The method of claim 17 , signaling between the client CEP and the server CEP, wherein the signaling comprises updates for a segment store usable to regenerate all or part of a transaction.

19

19. The method of claim 17 , wherein the synthetic transactions are initiated by the CEP.

20

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.

21

21. The method of claim 20 , further comprising: when the client-side transaction accelerator detects termination of the transport connection initiated by the client: retaining the transport connection between the client-side transaction accelerator and the server; issuing requests from the client-side transaction accelerator to the server; and receiving results of the requests and storing them at the client-side transaction accelerator.

22

22. The method of claim 20 , further comprising discarding the data from the CEP.

Patent Metadata

Filing Date

Unknown

Publication Date

January 19, 2010

Inventors

David Tze-Si Wu
Steven McCanne

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “CONTENT DELIVERY FOR CLIENT-SERVER PROTOCOLS WITH USER AFFINITIES USING CONNECTION END-POINT PROXIES” (7650416). https://patentable.app/patents/7650416

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.