IP Library Granted Patent US 7,099,927
Granted Patent B2
US 7,099,927 · App. 09/943,118 · Granted Aug 29, 2006

Downloading and uploading data in information networks using proxy server 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 7,099,927
App. No.
09/943,118
Granted
Aug 29, 2006
Kind
B2
Abstract

A method of downloading or uploading data via a client-server communications network, which network comprises a plurality of clients (A, B, 8, 9, 10 ) each having a local cache storing data downloaded via the network. The method comprises responding to a data request made to the network by a first client (A, 8 ) by uploading data from the cache of a second client (B, 9, 10 ) and transmitting that data across the network to the first client (A, 8 ). Also disclosed are client-server networks operating in accordance with the method and to the related servers ( 3 ), client terminals (A, B, 8, 9, 10 ), browsers loaded on client terminals, and plug-ins for such terminals and browsers.

Claims (55)

1. A method of a server downloading data via a client-server communications network, the method comprising:

receiving a request for data from a client;

determining if the request for data can be fulfilled by the server within a predetermined target period, wherein the predetermined target period varies as a function of a speed of connection with the requesting client; and

sending to the client a proxy list comprising an address of at least one proxy server client which stores requested data in a local cache if the request for data is unable to be fulfilled by the server within the predetermined target period.

2. A method according to claim 1 , wherein the predetermined target period is shortened when the speed of connection is relatively fast and lengthened when the client speed of connection is relatively slow.

3. A method according to claim 1 , further comprising maintaining a look-up table which correlates items of data with addresses of one or more proxy server clients at which the items of data are cached.

4. A method according to claim 3 , further comprising:

receiving cache status change reports from the one or more proxy server clients at which the items of data are cached; and

updating the look-up table using the cache status change reports.

5. A method according to claim 3 , further comprising:

assessing connection speeds to the one or more proxy server clients whose addresses are contained in the look-up table; and

discarding or demoting the addresses of proxy server clients failing to meet a target connection speed.

6. A method according to claim 1 , further comprising:

receiving an address of a proxy server client that provided requested data; and

assembling an address list of proxy server clients most commonly accessed to obtain requested data.

7. A method according to claim 1 , wherein the proxy list comprises addresses of proxy server clients whose workload is below a workload limit.

8. A method according to claim 1 , wherein the network comprises the Internet, the at least one proxy server client comprises a user terminal running a web browser, and the respective local cache is associated with the web browser on the user terminal.

9. A client-server communications network comprising:

a plurality of clients, each client including a local cache for storing data downloaded via the network; and

a server including means for receiving a request for data from a client, means for determining if the request for data can be fulfilled by the server within a predetermined target period, means for sensing a speed of connection with the requesting client, means for varying the predetermined target period based on the sensed speed of connection, and means for sending to the client a proxy list comprising an address of at least one proxy server client which stores requested data in a local cache if the request for data is unable to be fulfilled by the server within the predetermined target period.

10. A network according to claim 9 , wherein the server includes means for maintaining a look-up table which correlates items of data with addresses of one or more proxy server clients at which the items of data are cached.

11. A network according to claim 10 , wherein the server includes means for receiving cache status change reports from the one or more proxy server clients at which the items of data are cached, and means for updating the look-up table using the cache status change reports.

12. A network according to claim 10 , wherein the server includes means for assessing connection speeds to the one or more proxy server clients whose addresses are contained in the look-up table, and means for discarding or demoting the addresses of proxy server clients failing to meet a target connection speed.

13. A network according to claim 9 , wherein the server includes means for receiving an address of a proxy server client that provided requested data, and means for assembling an address list of proxy server clients most commonly accessed to obtain requested data.

14. A network according to claim 9 , wherein the proxy list comprises addresses of proxy server clients whose workload is below a workload limit.

15. A network according to claim 9 , wherein the network comprises the Internet, the plurality of clients comprise user terminals running web browsers, and the respective local caches are associated with the browsers on the user terminals.

16. A server for a client-server communications network, the server comprising:

means for receiving a request for data from a client;

means for determining if the request for data can be fulfilled by the server within a predetermined target period;

means for sensing a speed of connection with the requesting client;

means for varying the predetermined target period based on the sensed speed of connection; and

means for sending to the client a proxy list comprising an address of at least one proxy server client which stores requested data in a local cache if the request for data is unable to be fulfilled by the server within the predetermined target period.

17. A server according to claim 16 , further comprising means for maintaining a look-up table which correlates items of data with addresses of one or more proxy server clients at which the items of data are cached.

18. A server according to claim 17 , further comprising:

means for receiving cache status change reports from the one or more proxy server clients at which the items of data are cached; and

means for updating the look-up table using the cache status change reports.

19. A server according to claim 17 , further comprising:

means for assessing connection speeds to the one or more proxy server clients whose addresses are contained in the look-up table; and

means for discarding or demoting the addresses of proxy server clients failing to meet a target connection speed.

20. A server according to claim 16 , further comprising:

means for receiving an address of a proxy server client that provided requested data; and

means for assembling an address list of proxy server clients most commonly accessed to obtain requested data.

21. A server according to claim 16 , wherein the proxy list comprises addresses of proxy server clients whose workload is below a workload limit.

22. A server according to claim 16 , wherein the network comprises the Internet.

23. A method of a server downloading data via a client-server communications network, the method comprising:

receiving a request for data from a client;

determining if the request for data can be fulfilled by the server within a predetermined period of time; and

sending to the client a proxy list comprising an address of at least one proxy server client which stores requested data in a local cache if the request for data is unable to be fulfilled by the server within the predetermined period of time.

24. A client-server communications network comprising:

a plurality of clients, each client including a local cache for storing data downloaded via the network; and

a server including means for receiving a request for data from a client, means for determining if the request for data can be fulfilled by the server within a predetermined period of time, and means for sending to the client a proxy list comprising an address of at least one proxy server client which stores requested data in a local cache if the request for data is unable to be fulfilled by the server within the predetermined period of time.

25. A server for a client-server communications network, the server comprising:

means for receiving a request for data from a client;

means for determining if the request for data can be fulfilled by the server within a predetermined period of time; and

means for sending to the client a proxy list comprising an address of at least one proxy server client which stores requested data in a local cache if the request for data is unable to be fulfilled by the server within the predetermined period of time.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PROPERTIES SECTION BY INCLUDING IT WITH TEN PREVIOUSLY OMITTED PROPERTY NUMBERS PREVIOUSLY RECORDED ON REEL 65346 FRAME 367. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Aug 13, 2025
From: NCR ATLEOS CORPORATION; CARDTRONICS USA, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072445/0072 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: NCR VOYIX CORPORATION
To: NCR ATLEOS CORPORATION
Reel/Frame 067590/0109 →
CHANGE OF NAME Recorded May 30, 2024
From: NCR CORPORATION
To: NCR VOYIX CORPORATION
Reel/Frame 067578/0417 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCUMENT DATE AND REMOVE THE OATH/DECLARATION (37 CFR 1.63) PREVIOUSLY RECORDED AT REEL: 065331 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 31, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065627/0332 →
SECURITY INTEREST Recorded Oct 25, 2023
From: NCR ATLEOS CORPORATION; CARDTRONICS USA, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 065346/0367 →
RELEASE OF PATENT SECURITY INTEREST Recorded Oct 25, 2023
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: NCR VOYIX CORPORATION
Reel/Frame 065346/0531 →
SECURITY INTEREST Recorded Oct 24, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065331/0297 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: NCR CORPORATION; NCR INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 038646/0001 →
SECURITY AGREEMENT Recorded Jan 15, 2014
From: NCR CORPORATION; NCR INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032034/0010 →