| US 7,499,980 B2 | ||
| System and method for an on-demand peer-to-peer storage virtualization infrastructure | ||
| Carl Phillip Gusler, Austin, Tex. (US); Rick Allen Hamilton, II, Charlottesville, Va. (US); James Wesley Seaman, Falls Church, Va. (US); and Timothy Moffett Waters, Hiram, Ga. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Aug. 19, 2004, as Appl. No. 10/922,281. | ||
| Prior Publication US 2006/0041619 A1, Feb. 23, 2006 | ||
| Int. Cl. G06F 15/16 (2006.01); G06F 15/167 (2006.01); G06F 15/173 (2006.01) | ||
| U.S. Cl. 709—214 [709/203; 709/223] | 1 Claim |

| 1. Art apparatus for providing on-demand distributed storage in a peer-to-peer network comprising:
a plurality of partners connected by the peer-to-peer network;
an agent in a memory of each of the plurality of partners enabling each partner in the network to directly communicate and
share data with each of the other partner in the network;
a contributing progam in the agent configured to identify all available storage in a partner computer, to partition the identified
storage into a first storage unit and a second storage unit based upon a predefined threshold value, to format the second
storage unit so that the second storage unit is not visible to the operating system of the partner computer, and to transmit
the amount of available space in the second storage unit to each of the other partners in the system; and
a requesting program in the agent configured to receive a demand for storage from a requesting partner, to perform a scan
to determine the physical storage available in the second storage unit of each partner other than the requesting partner,
to engage a rules engine to select a plurality of second storage units, to allocate a plurality of spaces from each of the
selected second storage units, to allocate a plurality of additional spaces from each of the selected second storage units
for storing parity information, to allocate a space from the first storage unit of the requesting partner for redundancy of
parity information stored on each of the selected second storage units, to create a virtual drive from the plurality of spaces
to satisfy the demand for storage, and to direct a plurality of data blocks in and out of the virtual drive.
|