US6374289B2
Expired / Lapsed
US
⏱️ 0.0 years remaining
Distributed client-based data caching system
Assignee: RPX Corp
•
Filing: 2001-03-26
•
Granted: 2002-04-16
•
Expires: 2021-03-26
Abstract
Abstract A system and method for enabling data package distribution to be performed by a plurality of peer clients connected to each other through a network, such as a LAN (local area network). Each peer client can obtain data packages from each other or from an external server. However, each peer client preferably obtains data packages from other peer clients, rather than obtaining data packages from the external server.
Inventors
- 👤 Hubert Delaney
- 👤 Adi Ruppin
- 👤 Lior Hass
- 👤 Ofer Faigon
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 20:09
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/104; G; G06; G06F; G06F16/00; G06F16/90; G06F16/95; G06F16/953; G06F16/9537; G06F16/957; G06F16/9574; H04L67/1061; H04L67/1068; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329; H04N; H04N21/00; H04N21/40; H04N21/47; H04N21/478; H04N21/4788; H04N21/60; H04N21/63; H04N21/632; H04L67/1087; H04L67/1091; H04L67/2866; H04L67/288; H04L67/50; H04L67/51; H04L67/56; H04L67/568
Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
183 words
A method for distributing data packages across a network, the network featuring an external server for serving at least one data package, the external server being a dedicated server, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing a plurality of peer clients attached to the network and providing a list of data packages, said data packages being stored by each of said plurality of peer clients, each data package of said data packages having an entry in said list, said entry indicating a unique identifier for said data package and a location of said data package in at least one of said plurality of peer clients; (b) examining said list of data packages by a first peer client to find an entry for a required data package; and (c) if said entry for said data package is present on said list of data packages of said first peer client, retrieving said data package from said location at another of said plurality of peer clients according to said entry for said data package.
Claim 2
Independent Claim
183 words
A method for distributing data packages across a network, the network featuring an external server for serving at least one data package, the external server being a dedicated server, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing a plurality of peer clients attached to the network and providing a list of data packages, said data packages being stored by each of said plurality of peer clients, each data package of said data packages having an entry in said list, said entry indicating a unique identifier for said data package and a location of said data package in at least one of said plurality of peer clients; (b) examining said list of data packages by a first peer client to find an entry for a required data package; and (c) if said entry for said data package is present on said list of data packages of said first peer client, retrieving said data package from said location at another of said plurality of peer clients according to said entry for said data package.
Claim 3
Dependent Claim
18 words
The method of claim 1 , wherein said list of data packages is stored on the external server.
Claim 4
Dependent Claim
21 words
The method of claim 1 , wherein said list of data packages is stored on at least said first peer client.
Claim 5
Dependent Claim
93 words
The method of claim 3 , wherein alternatively said entry for said data package is absent from said list of data packages of said first peer client, the method further comprising the steps of: (d) sending a request message for said data package by said first peer client to at least one other peer client; and (e) if a response message is received by said first peer client from said at least one other peer client, retrieving said data package from said at least one other peer client by said first peer client.
Claim 6
Dependent Claim
42 words
The method of claim 4 , the method further comprising the step of: (f) altering said list of data packages being stored by at least said first peer client for indicating said location of said data package according to said response message.
Claim 7
Dependent Claim
24 words
The method of claim 5 , wherein said request message and said response message are transmitted to said plurality of peer clients by broadcasting.
Claim 8
Dependent Claim
24 words
The method of claim 5 , wherein said request message and said response message are transmitted to said plurality of peer clients by multicasting.
Claim 9
Dependent Claim
28 words
The method of claim 5 , wherein said request message and said response message are transmitted to said plurality of peer clients by polling each peer client individually.
Claim 10
Dependent Claim
48 words
The method of claim 5 , wherein if said response message is not received from said at least one other peer client by said first peer client, the method further comprises the step of: (g) obtaining said data package by said first peer client from the external server.
Claim 11
Dependent Claim
42 words
The method of claim 9 , further comprising the step of sending a response message by said first peer client to said at least one other peer client substantially before said first peer client obtains said data package from the external server.
Claim 12
Dependent Claim
78 words
The method of claim 10 , wherein said list of data packages is stored on each of said plurality of peer clients, the method further comprising the steps of: (h) receiving said response message from said first peer client by said at least one other peer client; and (i) altering said list of data packages being stored by said at least one other peer client for indicating said location of said data package according to said response message.
Claim 13
Dependent Claim
78 words
The method of claim 10 , wherein said list of data packages is stored on each of said plurality of peer clients, the method further comprising the steps of: (h) receiving said response message from said first peer client by said at least one other peer client; and (i) altering said list of data packages being stored by said at least one other peer client for indicating said location of said data package according to a probabilistic function.
Claim 14
Dependent Claim
98 words
The method of claim 1 , wherein said probabilistic function is performed according to a set of equations: New location = { | Old location Po ( x ) = 1 / ( generation + 1 ) New location Pn ( x ) = 1 - 1 / ( generation + 1 ) wherein Pn(x) is a probability that said new location is substituted for said old location, Po(x) is a probability that said old location is retained, and “generation” indicates how many times said location had been previously changed.
Claim 15
Dependent Claim
59 words
The method of claim 10 , further comprising the steps of: (h) receiving said response message from said first peer client by said at least one other peer client; and (i) retrieving said data package from said first peer client by said at least one other peer client substantially after said first peer client has obtained said data package.
Claim 16
Dependent Claim
85 words
The method of claim 1 , wherein an upper limit is predetermined for a number of said plurality of peer clients served substantially simultaneously by said at least one other peer client, such that if a number of said plurality of peer clients served substantially simultaneously by said at least one other peer client is greater than said upper limit, the method further comprises the step of: (d) sending a busy message from said at least one other peer client to said first peer client.
Claim 17
Dependent Claim
26 words
The method of claim 1 , wherein the external server is a Web server, and said plurality of peer clients is a plurality of Web browsers.
Claim 18
Dependent Claim
26 words
The method of claim 1 , wherein the external server is a BackWeb™ server, and said plurality of peer clients is a plurality of BackWeb™ clients.
Claim 19
Dependent Claim
22 words
The method of claim 1 , wherein said unique identifier for said data package is an MD5 digest of said data package.
Claim 20
Dependent Claim
23 words
The method of claim 1 , wherein the step of retrieving said data package is performed according to a protocol based on TCP/IP.
Claim 21
Dependent Claim
11 words
The method of claim 19 , wherein said protocol is HTTP.
Claim 22
Dependent Claim
11 words
The method of claim 19 , wherein said protocol is FTP.
Claim 23
Independent Claim
174 words
A method for distributing data packages across a network, the network featuring a server for serving at least one data package, and a plurality of peer clients for storing said data packages, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing a list of said data packages stored by said plurality of peer clients, each of said data packages having an entry in said list, said entry including a unique identifier for said data package and a location of said data package within at least one of said plurality of peer clients; (b) searching, at a first peer client, said list to find a particular entry at a second peer client for a required data package; and, (c) if said particular entry is found, retrieving, at said first peer client, said data package from said second peer client, according to said particular entry; and, (d) if said particular entry is not found, retrieving, at said first peer client, said data package from said server.
Claim 24
Independent Claim
174 words
A method for distributing data packages across a network, the network featuring a server for serving at least one data package, and a plurality of peer clients for storing said data packages, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing a list of said data packages stored by said plurality of peer clients, each of said data packages having an entry in said list, said entry including a unique identifier for said data package and a location of said data package within at least one of said plurality of peer clients; (b) searching, at a first peer client, said list to find a particular entry at a second peer client for a required data package; and, (c) if said particular entry is found, retrieving, at said first peer client, said data package from said second peer client, according to said particular entry; and, (d) if said particular entry is not found, retrieving, at said first peer client, said data package from said server.
Claim 25
Independent Claim
160 words
A method for distributing data packages across a network, the network featuring a server for serving at least one data package, and a plurality of peer clients for storing said data packages, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing at each of said plurality of peer clients a local list of data packages stored by said peer client, each of said data packages having an entry in said local list; (b) requesting, at a first peer client, a required data package; (c) searching at a second peer client, said local list, to find a particular entry for said required data package; (d) if said particular entry is found, retrieving, at said first peer client, said data package from said second peer client, according to said particular entry; and, (e) if said particular entry is not found, retrieving, at said first peer client, said data package from said server.
Claim 26
Independent Claim
160 words
A method for distributing data packages across a network, the network featuring a server for serving at least one data package, and a plurality of peer clients for storing said data packages, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing at each of said plurality of peer clients a local list of data packages stored by said peer client, each of said data packages having an entry in said local list; (b) requesting, at a first peer client, a required data package; (c) searching at a second peer client, said local list, to find a particular entry for said required data package; (d) if said particular entry is found, retrieving, at said first peer client, said data package from said second peer client, according to said particular entry; and, (e) if said particular entry is not found, retrieving, at said first peer client, said data package from said server.
References Cited (Backward Citations)
US5151989A
Cited
US5261069A
Cited
US5689708A
Cited
US5729689A
Cited
US6002852A
Cited
US5864854A
Cited
US6018766A
Cited
US6003087A
Cited
US5835720A
Cited
US5884046A
Cited
US6021426A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2005-04-15 | 2005-10-15 | 2006-04-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2009-04-15 | 2009-10-15 | 2010-04-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2013-04-15 | 2013-10-15 | 2014-04-16 | $7700.00 | Window Closed / Lapsed |