Updates and Transactions in Peer-to-Peer Systems [chapter]

Segev Wasserkrug, Nilesh Dalvi, Ethan V. Munson, Martin Gogolla, Cristina Sirangelo, Simone Fischer-Hübner, Zachary Ives, Yannis Velegrakis, Nigel Bevan, Christian S. Jensen, Richard T. Snodgrass
2009 Encyclopedia of Database Systems  
SYNONYMS Consistency in peer-to-peer systems; Update propagation in peer-to-peer systems DEFINITION In recent years, work on peer-to-peer systems has begun to consider settings in which data is updated, sometimes in the form of atomic transactions, and sometimes by parties other than the original author. This raises many of the issues related to enforcing consistency using concurrency control or other schemes. While such issues have been addressed in many ways in distributed systems and
more » ... ted databases, the challenge in the peer-to-peer context is in performing the tasks cooperatively, and potentially in tolerating some variation among the instances at different nodes. HISTORICAL BACKGROUND Early peer-to-peer systems focused on sharing or querying immutable data and/or files. More modern uses of peer-to-peer technology consider settings in which dynamic data and updates are being made in a distributed, autonomous context. A question of significant interest is how to define consistency in this model, while still allowing at least some autonomy among the sites. SCIENTIFIC FUNDAMENTALS The database community has only recently begun to consider peer-to-peer architectures for applications beyond query answering, with recent work in peer data exchange [10] and collaborative data sharing [16] . However, a popular model has been that of distributed stream processing, in which streams of data (usually interpreted as insertions of new data) are processed in a distributed or peer-to-peer network [1, 7] . Additionally, work in the distributed systems community, particularly on file systems, considers many issues related to distributed replication and consistency (with the granularity of updates typically being at the level of the file, or custom to an application). (See also the entry on peer-to-peer storage.) The work on updates and transactions in peer-to-peer systems can be classified based on who is allowed to modify it, and how conflicting modifications are resolved. This can be divided into the following categories: Single owner/primary copy is a setting in which each data item that originates from some source peer p can only be modified by (or through) p -i.e., no other peers are allowed to directly modify that data. Owner-resolver protocols allow multiple peers to modify the data, and they typically rely on the owner to resolve any conflicts. If resolution is impossible, they "branch" the data into fully independent instances. Consensus protocols allow multiple peers to modify the data, and some set of nodes works together to determine how to arbitrate for consistency. Partial divergence schemes handle conflicts in a way that results in multiple divergent copies of the data, but they operate at a finer level of granularity than divergent replica protocols, and they allow some portions of the 1
doi:10.1007/978-0-387-39940-9_1222 fatcat:lvqaizbafzgnnjosvtzsgeoldy