Recipient-centred proactive caching in a peer-to-peer system
First Claim
1. A method of caching data over a network, said method comprising the steps of:
- estimating demand for said data from one or more peers connected to said network;
estimating transmission capacity of at least one of said peers;
selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
processing at least a portion of said data or further data associated with one or more of the selected peers in order to enable at least said portion of data to be cached over said network.
1 Assignment
0 Petitions
Accused Products
Abstract
A method (100) of caching data is disclosed. The method (100) optimises proactive caching of data by estimating future demand for particular data within a computer system (1900). The computer system (1900) is typically configured in accordance with the hybrid peer-to-peer model. The method (100) maintains the bandwidth cost of proactive caching in proportion to expected demand for particular data. The method (100) also determines the availabiliy of a peer. The availability of a peer is defined herein as the probability of a peer being online, for example, when particular data is required by another peer.
75 Citations
24 Claims
-
1. A method of caching data over a network, said method comprising the steps of:
-
estimating demand for said data from one or more peers connected to said network;
estimating transmission capacity of at least one of said peers;
selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
processing at least a portion of said data or further data associated with one or more of the selected peers in order to enable at least said portion of data to be cached over said network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of caching data over a network, said method comprising the steps of:
-
estimating demand for said data from one or more peers connected to said network;
estimating transmission capacity of each of said peers;
selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
instructing one or more of the selected peers to cache at least a portion of said data. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method of downloading data over a network from one or more peers connected to said network, said method comprising the step of:
-
selecting a subset of said peers based on which of said peers are available at a particular time, each peer of said subset containing at least a portion of said data stored thereon;
assigning a weight to each of the peers of said subset depending on bandwidth available to each of the peers of said subset; and
downloading said data at said particular time, from at least a particular one of the peers of said subset, depending on the weight assigned to said particular peer. - View Dependent Claims (18)
-
-
19. An apparatus for caching data over a network, said apparatus comprising:
-
demand estimation means for estimating demand for said data from one or more peers connected to said network;
transmission capacity estimation means for estimating transmission capacity of each of said peers;
peer selection means for selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
data processor means for processing at least a portion of said data or further data associated with one or more of the selected peers in order to enable at least said portion of data to be cached over said network.
-
-
20. An apparatus for caching data over a network, said apparatus comprising:
-
demand estimation means for estimating demand for said data from one or more peers connected to said network;
transmission capacity estimation means for estimating transmission capacity of each of said peers;
peer selection means for selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
instructing means for instructing one or more of the selected peers to cache at least a portion of said data.
-
-
21. An apparatus for downloading data over a network from one or more peers connected to said network, said apparatus comprising:
-
peer selection means for selecting a subset of said peers based on which of said peers are available at a particular time, each peer of said subset containing at least a portion of said data stored thereon;
weight assignment means for assigning a weight to each of the peers of said subset depending on bandwidth available to each of the peers of said subset; and
downloading means for downloading said data at said particular time, from at least a particular one of the peers of said subset, depending on the weight assigned to said particular peer.
-
-
22. A computer program for caching data over a network, said program comprising:
-
code for estimating demand for said data from one or more peers connected to said network;
code for estimating transmission capacity of each of said peers;
code for selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
code for processing at least a portion of said data or further data associated with one or more of the selected peers in order to enable at least said portion of data to be cached over said network.
-
-
23. A computer program for caching data over a network, said program comprising:
-
code for estimating demand for said data from one or more peers connected to said network;
code for estimating transmission capacity of each of said peers;
code for selecting one or more of said peers, based on the estimated transmission capacity of each of said peers, in order to meet said demand; and
code for instructing one or more of the selected peers to each at least a portion of said data.
-
-
24. A computer program for downloading data over a network from one or more peers connected to said network, said program comprising:
-
code of selecting a subset of said peers based on which of said peers are available at a particular time, each peer of said subset containing at least a portion of said data stored thereon;
code for assigning a weight to each of the peers of said subset depending on bandwidth available to each of the peers of said subset; and
code for downloading said data at said particular time, from at least a particular one of the peers of said subset, depending on the weight assigned to said particular peer.
-
Specification