Content Synchronization in a File Sharing Environment
First Claim
1. A method, implemented at least in part by a computer, comprising:
- determining an overlay graph representation of connections between a plurality of nodes within a peer-to-peer file sharing network based, at least in part, on at least one of;
a sharing relationship between individual ones of the plurality of nodes, a presence status associated with at least one of the plurality of nodes, or a published capability associated with at least one of the plurality of nodes; and
selecting first and second nodes to be synchronized via the peer-to-peer file sharing network, wherein the first and second nodes are selected from the plurality of nodes based at least in part on the overlay graph.
2 Assignments
0 Petitions
Accused Products
Abstract
Content synchronization in a file sharing environment is described. A node in a circle share maintains a version vector that represents that node'"'"'s knowledge of file synchronization events. Version vector data may be transmitted between nodes of the circle share via a presence service in the form of short notification messages. The version vector data is compared to identify one or more nodes to be synchronized. A resource-aware overlay representing the circle share is computed, and is used to initiate communication to determine which of the available nodes with which to synchronize will provide the most synchronization value to other nodes in the circle share.
-
Citations
20 Claims
-
1. A method, implemented at least in part by a computer, comprising:
-
determining an overlay graph representation of connections between a plurality of nodes within a peer-to-peer file sharing network based, at least in part, on at least one of;
a sharing relationship between individual ones of the plurality of nodes, a presence status associated with at least one of the plurality of nodes, or a published capability associated with at least one of the plurality of nodes; andselecting first and second nodes to be synchronized via the peer-to-peer file sharing network, wherein the first and second nodes are selected from the plurality of nodes based at least in part on the overlay graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A synchronization negotiation manager comprising:
-
a version vector store configured to maintain a version vector that identifies shared file events, of which a particular node is aware; a dynamic overlay generator configured to generate an overlay that represents connections between nodes and resources of the respective nodes of a group defined within a peer-to-peer network; and a synchronization partner selection module configured to analyze the version vector and the overlay to select a synchronization partner. - View Dependent Claims (17, 18)
-
-
19. One or more computer-readable media comprising computer-executable instructions that, when executed, cause a computing system to:
-
receive at a first node of a peer-to-peer group, presence-based data indicating that second and third nodes of the peer-to-peer group are online; receive at the first node, version vector data respectively associated with the second and third nodes, the version vector data representing one or more file synchronization events that are respectively available from the second and third nodes; compare the version vector data associated with the second and third nodes with version vector data associated with the first node to determine whether synchronization between the first and second nodes is warranted and whether synchronization between the first and third nodes is warranted; generate a resource-aware overlay representing characteristics of and connections between nodes of the peer-to-peer group; and when synchronization between the first and second nodes and the first and third nodes is warranted, analyze the resource-aware overlay to select either the second or third node for synchronization. - View Dependent Claims (20)
-
Specification