Adaptive liveness management for robust and efficient peer-to-peer storage
First Claim
1. A computer implemented method for robustly managing peer-to-peer storage, the method comprising the steps of:
- storing an item in a peer-to-peer storage pool as data blocks, at least some of the data blocks being redundant, the redundant data blocks being stored on different nodes of the peer-to-peer storage pool;
tracking liveness of nodes in the peer-to-peer storage pool to determine a retrieval probability of the item as a whole; and
modifying storage of data blocks within the peer-to-peer storage pool responsive to tracked liveness information comprising changing a number of redundant data blocks to adjust the retrieval probability in accordance with a predetermined threshold.
7 Assignments
0 Petitions
Accused Products
Abstract
A peer-to-peer storage manager measures availability (liveness) of the various nodes in a peer-to-peer storage pool, and adjusts the storage of data within the pool to meet performance expectations based on this liveness information. Based on node liveness statistics, the peer-to-peer storage manager fine tunes storage up or down to efficiently allocate storage while maintaining service level objectives for retrieval time probabilities. Responsive to node liveness information, the peer-to-peer storage manager can dynamically adjust redundancy and/or determine which nodes on which to store data. The peer-to-peer storage manager can execute these storage modifications using rateless erasure codes that allow highly robust storage with only weakly synchronized directory update protocols.
-
Citations
15 Claims
-
1. A computer implemented method for robustly managing peer-to-peer storage, the method comprising the steps of:
-
storing an item in a peer-to-peer storage pool as data blocks, at least some of the data blocks being redundant, the redundant data blocks being stored on different nodes of the peer-to-peer storage pool; tracking liveness of nodes in the peer-to-peer storage pool to determine a retrieval probability of the item as a whole; and modifying storage of data blocks within the peer-to-peer storage pool responsive to tracked liveness information comprising changing a number of redundant data blocks to adjust the retrieval probability in accordance with a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. At least one non-transitory computer readable medium containing a computer program product for robustly managing peer-to-peer storage, the computer program product comprising:
-
program code for storing an item in a peer-to-peer storage pool as data blocks, at least some of the data blocks being redundant, the redundant data blocks being stored on different nodes of the peer-to-peer storage pool; program code for tracking liveness of nodes in the peer-to-peer storage pool to determine a retrieval probability of the item as a whole; and program code for modifying storage of data blocks within the peer-to-peer storage pool responsive to tracked liveness information comprising changing a number of redundant data blocks to adjust the retrieval probability in accordance with a predetermined threshold. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system comprising non-transitory storage memory for robustly managing peer-to-peer storage, the computer system comprising:
-
a peer-to-peer storage manager configured to store an item in a peer-to-peer storage pool as data blocks, at least some of the data blocks being redundant, the redundant data blocks being stored on different nodes of the peer-to-peer storage pool, the peer-to-peer manager configured to track liveness of nodes in a peer-to-peer storage pool to determine a retrieval probability of the item as a whole, and; the peer-to-peer storage manager configured to modify storage of data blocks within the peer-to-peer storage pool responsive to tracked liveness information comprising changing a number of redundant data blocks to adjust the retrieval probability in accordance with a predetermined threshold. - View Dependent Claims (14, 15)
-
Specification