Efficient backups using dynamically shared storage pools in peer-to-peer networks
First Claim
1. A system comprising:
- one or more processors;
memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to implement a first backup manager configured to;
subdivide a storage pool into one or more portions of storage designated for local backup data and one or more portions of storage designated for peer-to-peer (P2P) backup data;
receive a first request from a first backup client to store first local backup data, wherein the first local backup data includes a first plurality of data blocks;
in response to the first request;
store the first plurality of data blocks of the first local backup data in a first portion of the storage pool designated for local backup data; and
transmit at least a portion of a P2P version of the first local backup data to each of one or more backup managers implemented by one or more peer devices of a P2P network;
receive a second request to store second backup data, wherein the second backup data includes a second plurality of data blocks;
store the second backup data in response to the second request, wherein storing the second backup data comprises replacing one or more particular data blocks of the first local backup data with one or more of the data blocks of the second backup data.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for efficient backups using dynamically shared storage pools in peer-to-peer networks comprises one or more processors and memory coupled to the processors. The memory stores instructions executable by the processors to implement a backup manager configured to dynamically subdivide a storage pool into one or more portions of storage currently designated for local backup data and one or more portions of storage currently designated for peer-to-peer (P2P) backup data. In response to local backup data received from a backup client, the backup manager may store the local backup data in a portion of the storage pool that is currently designated for local backup data. The backup manager may then generate a P2P version of the local backup data, e.g., by encrypting and/or redundancy encoding the local backup data, and transmit parts of the P2P version to each of one or more peer devices in the P2P network.
-
Citations
26 Claims
-
1. A system comprising:
-
one or more processors; memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to implement a first backup manager configured to; subdivide a storage pool into one or more portions of storage designated for local backup data and one or more portions of storage designated for peer-to-peer (P2P) backup data; receive a first request from a first backup client to store first local backup data, wherein the first local backup data includes a first plurality of data blocks; in response to the first request; store the first plurality of data blocks of the first local backup data in a first portion of the storage pool designated for local backup data; and transmit at least a portion of a P2P version of the first local backup data to each of one or more backup managers implemented by one or more peer devices of a P2P network; receive a second request to store second backup data, wherein the second backup data includes a second plurality of data blocks; store the second backup data in response to the second request, wherein storing the second backup data comprises replacing one or more particular data blocks of the first local backup data with one or more of the data blocks of the second backup data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A tangible, computer-readable medium storing program instructions executable to implement a first backup manager configured to:
-
subdivide a storage pool into one or more portions of storage designated for local backup data and one or more portions of storage designated for peer-to-peer (P2P) backup data; receive a first request from a first backup client to store first local backup data, wherein the first local backup data includes a first plurality of data blocks; in response to the first request; store the first plurality of data blocks of the first local backup data in a first portion of the storage pool designated for local backup data; and transmit at least a portion of a P2P version of the first local backup data to each of one or more backup managers implemented by one or more peer devices of a P2P network; receive a second request to store second backup data, wherein the second backup data includes a second plurality of data blocks; store the second backup data in response to the second request, wherein storing the second backup data comprises replacing one or more particular data blocks of the first local backup data with one or more of the data blocks of the second backup data. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method implemented by a first backup manager executing in a computer system, the method comprising:
-
subdividing a storage pool into one or more portions of storage designated for local backup data and one or more portions of storage designated for peer-to-peer (P2P) backup data; receiving a first request from a first backup client to store first local backup data, wherein the first local backup data includes a first plurality of data blocks; in response to the first request; storing the first plurality of data blocks of the first local backup data in a first portion of the storage pool designated for local backup data; and transmitting at least a portion of a P2P version of the first local backup data to each of one or more backup managers implemented by one or more peer devices of a P2P network; receiving a second request to store second backup data, wherein the second backup data includes a second plurality of data blocks; storing the second backup data in response to the second request, wherein storing the second backup data comprises replacing one or more particular data blocks of the first local backup data with one or more of the data blocks of the second backup data. - View Dependent Claims (25, 26)
-
Specification