Patent ID: 7613770

Claim:
A method for prioritizing transfer of contents of a root directory to be shared between peers in a peer-to peer (P2P) network, comprising using each of a plurality of peer computing devices to perform steps for: exchanging root metadata IDs of each peer computing device with each of a plurality of peer computing devices connected via a P2P network, each said root metadata ID including data defining a directory tree structure of folders and files to be shared by each peer computing device, and each said root metadata ID further including version chains representing a most recent modification to any files and folders included in the directory tree structure to be shared by each peer computing device; for each peer computing device, constructing a set of common merged version chains from the exchanged root metadata IDs, the common merged version chains defining the most recent versions of every folder and file contained within the directory tree structures held by each of the peer computing devices; preparing an availability vector for each peer computing device, each availability vector describing which portions of the folders and files are locally held by each peer computing device as a function of the common merged version chains; exchanging the availability vectors of each peer computing device with each other peer computing device via the P2P network; and for each peer computing device, using the received availability vectors to initiate requests for particular folders and files to complete each peers local copy of the directory tree structure of folders and files to be shared, wherein the requests for one or more of the particular folders and files includes a priority assigned by the peer computing device making the requests.