Network Working Group J. Risson Request for Comments: 4981 T. Moors Category: Informational University of New South Wales September 2007
Network Working Group J. Risson Request for Comments: 4981 T. Moors Category: Informational University of New South Wales September 2007
Survey of Research towards Robust Peer-to-Peer Networks: Search Methods
健壮对等网络研究综述:搜索方法
Status of This Memo
关于下段备忘
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。
IESG Note
IESG注释
This RFC is not a candidate for any level of Internet Standard. The IETF disclaims any knowledge of the fitness of this RFC for any purpose and notes that the decision to publish is not based on IETF review apart from IESG review for conflict with IETF work. The RFC Editor has chosen to publish this document at its discretion. See RFC 3932 for more information.
本RFC不适用于任何级别的互联网标准。IETF不承认任何关于本RFC适用于任何目的的知识,并指出,除了IESG审查与IETF工作的冲突外,发布决定并非基于IETF审查。RFC编辑已自行决定发布本文件。有关更多信息,请参阅RFC 3932。
Abstract
摘要
The pace of research on peer-to-peer (P2P) networking in the last five years warrants a critical survey. P2P has the makings of a disruptive technology -- it can aggregate enormous storage and processing resources while minimizing entry and scaling costs.
在过去五年中,对等网络(P2P)的研究速度值得进行一次批判性的调查。P2P具有颠覆性技术的优势——它可以聚合巨大的存储和处理资源,同时最小化进入和扩展成本。
Failures are common amongst massive numbers of distributed peers, though the impact of individual failures may be less than in conventional architectures. Thus, the key to realizing P2P's potential in applications other than casual file sharing is robustness.
故障在大量分布式对等中很常见,尽管单个故障的影响可能小于传统体系结构中的影响。因此,实现P2P在临时文件共享以外的应用中的潜力的关键是健壮性。
P2P search methods are first couched within an overall P2P taxonomy. P2P indexes for simple key lookup are assessed, including those based on Plaxton trees, rings, tori, butterflies, de Bruijn graphs, and skip graphs. Similarly, P2P indexes for keyword lookup, information retrieval and data management are explored. Finally, early efforts to optimize range, multi-attribute, join, and aggregation queries over P2P indexes are reviewed. Insofar as they are available in the primary literature, robustness mechanisms and metrics are highlighted throughout. However, the low-level mechanisms that most affect robustness are not well isolated in the literature. Recommendations are given for future research.
P2P搜索方法首先是在一个整体的P2P分类中表达出来的。评估用于简单密钥查找的P2P索引,包括基于Plaxton树、环、tori、蝴蝶、de Bruijn图和skip图的索引。同样,本文还探讨了用于关键字查找、信息检索和数据管理的P2P索引。最后,回顾了在P2P索引上优化范围查询、多属性查询、连接查询和聚合查询的早期工作。就其在主要文献中的可用性而言,自始至终强调了稳健性机制和度量。然而,最影响鲁棒性的低级机制在文献中并没有很好地孤立。对今后的研究提出了建议。
Table of Contents
目录
1. Introduction ....................................................3 1.1. Related Disciplines ........................................6 1.2. Structured and Unstructured Routing ........................7 1.3. Indexes and Queries ........................................9 2. Index Types ....................................................10 2.1. Local Index (Gnutella) ....................................10 2.2. Central Index (Napster) ...................................12 2.3. Distributed Index (Freenet) ...............................13 3. Semantic Free Index ............................................15 3.1. Origins ...................................................15 3.1.1. Plaxton, Rajaraman, and Richa (PRR) ................15 3.1.2. Consistent Hashing .................................16 3.1.3. Scalable Distributed Data Structures (LH*) .........16 3.2. Dependability .............................................17 3.2.1. Static Dependability ...............................17 3.2.2. Dynamic Dependability ..............................18 3.2.3. Ephemeral or Stable Nodes -- O(log n) or O(1) Hops ..........................................19 3.2.4. Simulation and Proof ...............................20 3.3. Latency ...................................................21 3.3.1. Hop Count and the O(1)-Hop DHTs ....................21 3.3.2. Proximity and the O(log n)-Hop DHTs ................22 3.4. Multicasting ..............................................23 3.4.1. Multicasting vs. Broadcasting ......................23 3.4.2. Motivation for DHT-based Multicasting ..............23 3.4.3. Design Issues ......................................24 3.5. Routing Geometries ........................................25 3.5.1. Plaxton Trees (Pastry, Tapestry) ...................25 3.5.2. Rings (Chord, DKS) .................................27 3.5.3. Tori (CAN) .........................................28 3.5.4. Butterflies (Viceroy) ..............................29 3.5.5. de Bruijn (D2B, Koorde, Distance Halving, ODRI) ....30 3.5.6. Skip Graphs ........................................32 4. Semantic Index .................................................33 4.1. Keyword Lookup ............................................34 4.1.1. Gnutella Enhancements ..............................36 4.1.2. Partition-by-Document, Partition-by-Keyword ........38 4.1.3. Partial Search, Exhaustive Search ..................39 4.2. Information Retrieval .....................................39 4.2.1. Vector Model (PlanetP, FASD, eSearch) ..............41 4.2.2. Latent Semantic Indexing (pSearch) .................43 4.2.3. Small Worlds .......................................43 5. Queries ........................................................44 5.1. Range Queries .............................................45 5.2. Multi-Attribute Queries ...................................48 5.3. Join Queries ..............................................50
1. Introduction ....................................................3 1.1. Related Disciplines ........................................6 1.2. Structured and Unstructured Routing ........................7 1.3. Indexes and Queries ........................................9 2. Index Types ....................................................10 2.1. Local Index (Gnutella) ....................................10 2.2. Central Index (Napster) ...................................12 2.3. Distributed Index (Freenet) ...............................13 3. Semantic Free Index ............................................15 3.1. Origins ...................................................15 3.1.1. Plaxton, Rajaraman, and Richa (PRR) ................15 3.1.2. Consistent Hashing .................................16 3.1.3. Scalable Distributed Data Structures (LH*) .........16 3.2. Dependability .............................................17 3.2.1. Static Dependability ...............................17 3.2.2. Dynamic Dependability ..............................18 3.2.3. Ephemeral or Stable Nodes -- O(log n) or O(1) Hops ..........................................19 3.2.4. Simulation and Proof ...............................20 3.3. Latency ...................................................21 3.3.1. Hop Count and the O(1)-Hop DHTs ....................21 3.3.2. Proximity and the O(log n)-Hop DHTs ................22 3.4. Multicasting ..............................................23 3.4.1. Multicasting vs. Broadcasting ......................23 3.4.2. Motivation for DHT-based Multicasting ..............23 3.4.3. Design Issues ......................................24 3.5. Routing Geometries ........................................25 3.5.1. Plaxton Trees (Pastry, Tapestry) ...................25 3.5.2. Rings (Chord, DKS) .................................27 3.5.3. Tori (CAN) .........................................28 3.5.4. Butterflies (Viceroy) ..............................29 3.5.5. de Bruijn (D2B, Koorde, Distance Halving, ODRI) ....30 3.5.6. Skip Graphs ........................................32 4. Semantic Index .................................................33 4.1. Keyword Lookup ............................................34 4.1.1. Gnutella Enhancements ..............................36 4.1.2. Partition-by-Document, Partition-by-Keyword ........38 4.1.3. Partial Search, Exhaustive Search ..................39 4.2. Information Retrieval .....................................39 4.2.1. Vector Model (PlanetP, FASD, eSearch) ..............41 4.2.2. Latent Semantic Indexing (pSearch) .................43 4.2.3. Small Worlds .......................................43 5. Queries ........................................................44 5.1. Range Queries .............................................45 5.2. Multi-Attribute Queries ...................................48 5.3. Join Queries ..............................................50
5.4. Aggregation Queries .......................................50 6. Security Considerations ........................................52 7. Conclusions ....................................................52 8. Acknowledgments ................................................53 9. References .....................................................54 9.1. Informative References ....................................54
5.4. Aggregation Queries .......................................50 6. Security Considerations ........................................52 7. Conclusions ....................................................52 8. Acknowledgments ................................................53 9. References .....................................................54 9.1. Informative References ....................................54
Peer-to-peer (P2P) networks are those that exhibit three characteristics: self-organization, symmetric communication, and distributed control [1]. A self-organizing P2P network "automatically adapts to the arrival, departure and failure of nodes" [2]. Communication is symmetric in that peers act as both clients and servers. It has no centralized directory or control point. USENET servers and BGP peers have these traits [3] but the emphasis here is on the flurry of research since 2000. Leading examples include Gnutella [4], Freenet [5], Pastry [2], Tapestry [6], Chord [7], the Content Addressable Network (CAN) [8], pSearch [9], and Edutella [10]. Some have suggested that peers are inherently unreliable [11]. Others have assumed well-connected, stable peers [12].
Peer-to-peer (P2P) networks are those that exhibit three characteristics: self-organization, symmetric communication, and distributed control [1]. A self-organizing P2P network "automatically adapts to the arrival, departure and failure of nodes" [2]. Communication is symmetric in that peers act as both clients and servers. It has no centralized directory or control point. USENET servers and BGP peers have these traits [3] but the emphasis here is on the flurry of research since 2000. Leading examples include Gnutella [4], Freenet [5], Pastry [2], Tapestry [6], Chord [7], the Content Addressable Network (CAN) [8], pSearch [9], and Edutella [10]. Some have suggested that peers are inherently unreliable [11]. Others have assumed well-connected, stable peers [12].
This critical survey of P2P academic literature is warranted, given the intensity of recent research. At the time of writing, one research database lists over 5,800 P2P publications [13]. One vendor surveyed P2P products and deployments [14]. There is also a tutorial survey of leading P2P systems [15]. DePaoli and Mariani recently reviewed the dependability of some early P2P systems at a high level [16]. The need for a critical survey was flagged in the peer-to-peer research group of the Internet Research Task Force (IRTF) [17].
鉴于最近研究的强度,这种对P2P学术文献的批判性调查是有道理的。在撰写本文时,一个研究数据库列出了5800多篇P2P出版物[13]。一家供应商调查了P2P产品和部署[14]。还有一个关于领先P2P系统的教程调查[15]。DePaoli和Mariani最近在高水平上回顾了一些早期P2P系统的可靠性[16]。互联网研究工作队(IRTF)的点对点研究小组指出了开展批判性调查的必要性[17]。
P2P is potentially a disruptive technology with numerous applications, but this potential will not be realized unless it is demonstrated to be robust. A massively distributed search technique may yield numerous practical benefits for applications [18]. A P2P system has potential to be more dependable than architectures relying on a small number of centralized servers. It has potential to evolve better from small configurations -- the capital outlays for high performance servers can be reduced and spread over time if a P2P assembly of general purpose nodes is used. A similar argument motivated the deployment of distributed databases -- one thousand, off-the-shelf PC processors are more powerful and much less expensive than a large mainframe computer [19]. Storage and processing can be aggregated to achieve massive scale. Wasteful partitioning between servers or clusters can be avoided. As Gedik and Liu put it, if P2P is to find its way into applications other than casual file sharing, then reliability needs to be addressed [20].
P2P是一种潜在的破坏性技术,有着众多的应用程序,但除非证明它是健壮的,否则这种潜力是无法实现的。大规模分布式搜索技术可能为应用程序带来许多实际好处[18]。P2P系统可能比依赖少量集中式服务器的体系结构更可靠。它有可能从小型配置中得到更好的发展——如果使用通用节点的P2P组装,高性能服务器的资本支出可以随着时间的推移而减少和分散。一个类似的论点推动了分布式数据库的部署——1000个现成的PC处理器比大型主机更强大、更便宜[19]。存储和处理可以聚合以实现大规模。可以避免在服务器或集群之间进行浪费性分区。正如Gedik和Liu所说,如果P2P要在应用程序中找到自己的方式,而不是随意的文件共享,那么就需要解决可靠性问题[20]。
The taxonomy of Figure 1 divides the entire body of P2P research literature along four lines: search, storage, security, and applications. This survey concentrates on search aspects. A P2P search network consists of an underlying index (Sections 2 to 4) and queries that propagate over that index (Section 5).
图1的分类法将整个P2P研究文献分为四行:搜索、存储、安全和应用程序。这项调查集中在搜索方面。P2P搜索网络由底层索引(第2至4节)和通过该索引传播的查询(第5节)组成。
Search [18, 21-29] Semantic-Free Indexes [2, 6, 7, 30-52] Plaxton Trees Rings Tori Butterflies de Bruijn Graphs Skip Graphs Semantic Indexes [4, 53-71] Keyword Lookup Peer Information Retrieval Peer Data Management Queries [20, 22, 23, 25, 32, 38, 41, 56, 72-100] Range Queries Multi-Attribute Queries Join Queries Aggregation Queries Continuous Queries Recursive Queries Adaptive Queries
Search [18, 21-29] Semantic-Free Indexes [2, 6, 7, 30-52] Plaxton Trees Rings Tori Butterflies de Bruijn Graphs Skip Graphs Semantic Indexes [4, 53-71] Keyword Lookup Peer Information Retrieval Peer Data Management Queries [20, 22, 23, 25, 32, 38, 41, 56, 72-100] Range Queries Multi-Attribute Queries Join Queries Aggregation Queries Continuous Queries Recursive Queries Adaptive Queries
Storage Consistency & Replication [101-112] Eventual consistency Trade-offs Distribution [39, 42, 90, 92, 113-131] Epidemics, Bloom Filters Fault Tolerance [40, 105, 132-139] Erasure Coding Byzantine Agreement Locality [24, 43, 47, 140-160] Load Balancing [37, 86, 100, 107, 151, 161-171]
Storage Consistency & Replication [101-112] Eventual consistency Trade-offs Distribution [39, 42, 90, 92, 113-131] Epidemics, Bloom Filters Fault Tolerance [40, 105, 132-139] Erasure Coding Byzantine Agreement Locality [24, 43, 47, 140-160] Load Balancing [37, 86, 100, 107, 151, 161-171]
Security Character [172-182] Identity Reputation and Trust Incentives Goals [25, 27, 71, 183-197] Availability Authenticity Anonymity Access Control Fair Trading
安全特征[172-182]身份声誉和信任激励目标[25,27,71183-197]可用性真实性匿名访问控制公平交易
Applications [1, 198-200] Memory [32, 90, 142, 201-222] File Systems Web Content Delivery Networks Directories Service Discovery Publish / Subscribe ... Intelligence [223-228] GRID Security... Communication [12, 92, 119, 229-247] Multicasting Streaming Media Mobility Sensors...
Applications [1, 198-200] Memory [32, 90, 142, 201-222] File Systems Web Content Delivery Networks Directories Service Discovery Publish / Subscribe ... Intelligence [223-228] GRID Security... Communication [12, 92, 119, 229-247] Multicasting Streaming Media Mobility Sensors...
Figure 1: Classification of P2P Research Literature
图1:P2P研究文献的分类
This survey is concerned with two questions. The first, "How do P2P search networks work?" This foundation is important given the pace and breadth of P2P research in the last five years. In Section 2, we classify indexes as local, centralized and distributed. Since distributed indexes are becoming dominant, they are given closer attention in Sections 3 and 4. Section 3 compares distributed P2P indexes for simple key lookup; in particular, their origins (Section 3.1), dependability (Section 3.2), latency (Section 3.3), and their support for multicast (Section 3.4). It classifies those indexes according to their routing geometry (Section 3.5) -- Plaxton trees, rings, tori, butterflies, de Bruijn graphs and skip graphs. Section 4 reviews distributed P2P indexes supporting keyword lookup (Section 4.1) and information retrieval (Section 4.2). Section 5 probes the embryonic research on P2P queries; in particular, range queries (Section 5.1), multi-attribute queries (Section 5.2), join queries (Section 5.3), and aggregation queries (Section 5.4).
这项调查涉及两个问题。第一,“P2P搜索网络是如何工作的”,鉴于P2P研究在过去五年中的速度和广度,这个基础是很重要的。在第2节中,我们将索引分为本地索引、集中式索引和分布式索引。由于分布式索引正在占据主导地位,因此在第3节和第4节中对它们给予了更密切的关注。第3节比较了用于简单密钥查找的分布式P2P索引;特别是它们的起源(第3.1节)、可靠性(第3.2节)、延迟(第3.3节)以及它们对多播的支持(第3.4节)。它根据它们的路由几何结构对这些索引进行分类(第3.5节)——Plaxton树、环、圆环、蝴蝶、de Bruijn图和skip图。第4节回顾了支持关键字查找(第4.1节)和信息检索(第4.2节)的分布式P2P索引。第五部分探讨了P2P查询的初步研究;特别是范围查询(第5.1节)、多属性查询(第5.2节)、连接查询(第5.3节)和聚合查询(第5.4节)。
The second question, "How robust are P2P search networks?" Insofar as it is available in the research literature, we tease out the robustness mechanisms and metrics throughout Sections 2 to 5. Unfortunately, robustness is often more sensitive to low-level design choices than it is to the broad P2P index structure, yet these underlying design choices are seldom isolated in the primary literature [248]. Furthermore, there has been little consensus on P2P robustness metrics (Section 3.2). Section 8 gives recommendations to address these important gaps.
第二个问题,“P2P搜索网络的健壮性如何?”在研究文献中,我们梳理了第2至第5节中的健壮性机制和指标。不幸的是,与广泛的P2P索引结构相比,鲁棒性通常对低级设计选择更为敏感,然而这些底层设计选择在主要文献中很少被孤立[248]。此外,关于P2P健壮性指标的共识很少(第3.2节)。第8节提出了解决这些重要差距的建议。
Peer-to-peer research draws upon numerous distributed systems disciplines. Networking researchers will recognize familiar issues of naming, routing, and congestion control. P2P designs need to address routing and security issues across network region boundaries [152]. Networking research has traditionally been host-centric. The Web's Universal Resource Identifiers are naturally tied to specific hosts, making object mobility a challenge [216].
对等研究利用了许多分布式系统学科。网络研究人员将认识到命名、路由和拥塞控制等常见问题。P2P设计需要解决跨网络区域边界的路由和安全问题[152]。网络研究传统上是以主机为中心的。Web的通用资源标识符自然地与特定主机绑定,这使得对象移动性成为一个挑战[216]。
P2P work is data-centric [249]. P2P systems for dynamic object location and routing have borrowed heavily from the distributed systems corpus. Some have used replication, erasure codes, and Byzantine agreement [111]. Others have used epidemics for durable peer group communication [39].
P2P工作以数据为中心[249]。用于动态对象定位和路由的P2P系统大量借鉴了分布式系统语料库。有些人使用复制、擦除代码和拜占庭协议[111]。其他人则利用流行病进行持久的同伴群体交流[39]。
Similarly, P2P research is set to benefit from database research [250]. Database researchers will recognize the need to reapply Codd's principle of physical data independence, that is, to decouple data indexes from the applications that use the data [23]. It was the invention of appropriate indexing mechanisms and query optimizations that enabled data independence. Database indexes like B+ trees have an analog in P2P's distributed hash tables (DHTs). Wide-area, P2P query optimization is a ripe, but challenging, area for innovation.
同样,P2P研究也将受益于数据库研究[250]。数据库研究人员将认识到需要重新应用Codd的物理数据独立性原则,即将数据索引与使用数据的应用程序分离[23]。是适当的索引机制和查询优化的发明实现了数据独立性。像B+树这样的数据库索引类似于P2P的分布式哈希表(DHT)。在广域范围内,P2P查询优化是一个成熟但具有挑战性的创新领域。
More flexible distribution of objects comes with increased security risks. There are opportunities for security researchers to deliver new methods for availability, file authenticity, anonymity, and access control [25]. Proactive and reactive mechanisms are needed to deal with large numbers of autonomous, distributed peers. To build robust systems from cooperating but self-interested peers, issues of identity, reputation, trust, and incentives need to be tackled. Although it is beyond the scope of this paper, robustness against malicious attacks also ought to be addressed [195].
更灵活的对象分布会增加安全风险。安全研究人员有机会提供新的可用性、文件真实性、匿名性和访问控制方法[25]。需要主动和被动机制来处理大量的自治、分布式对等点。为了从合作但自利的同行中构建强健的系统,需要解决身份、声誉、信任和激励等问题。虽然这超出了本文的范围,但也应该解决针对恶意攻击的鲁棒性问题[195]。
Possibly the largest portion of P2P research has majored on basic routing structures [18], where research on algorithms comes to the
P2P研究的最大部分可能是基本路由结构[18],其中算法研究最为重要
fore. Should the overlay be "structured" or "unstructured"? Are the two approaches competing or complementary? Comparisons of the "structured" approaches (hypercubes, rings, toroids, butterflies, de Bruijn, and skip graphs) have weighed the amount of routing state per peer and the number of links per peer against overlay hop counts. While "unstructured" overlays initially used blind flooding and random walks, overheads usually trigger some structure, for example, super-peers and clusters.
前面覆盖是“结构化”还是“非结构化”?这两种方法是竞争还是互补?对“结构化”方法(超立方体、环、圆环、蝴蝶、de Bruijn和跳过图)的比较权衡了每个节点的路由状态量和每个节点的链路数与覆盖跳数。虽然“非结构化”覆盖最初使用盲泛洪和随机游动,但开销通常会触发某些结构,例如超级对等点和集群。
P2P applications rely on cooperation between these disciplines. Applications have included file sharing, directories, content delivery networks, email, distributed computation, publish-subscribe middleware, multicasting, and distributed authentication. Which applications will be suited to which structures? Are there adaptable mechanisms that can decouple applications from the underlying data structures? What are the criteria for selection of applications amenable to a P2P design [1]?
P2P应用程序依赖于这些学科之间的合作。应用程序包括文件共享、目录、内容交付网络、电子邮件、分布式计算、发布-订阅中间件、多播和分布式身份验证。哪些应用程序适用于哪些结构?是否存在可以将应用程序与底层数据结构解耦的适应性机制?选择适合P2P设计的应用程序的标准是什么[1]?
Robustness is emphasized throughout the survey. We are particularly interested in two aspects. The first, dependability, was a leading design goal for the original Internet [251]. It deserves the same status in P2P. The measures of dependability are well established: reliability, a measure of the mean-time-to-failure (MTTF); availability, a measure of both the MTTF and the mean-time-to-repair (MTTR); maintainability; and safety [252]. The second aspect is the ability to accommodate variation in outcome, which one could call adaptability. Its measures have yet to be defined. In the context of the Internet, it was only recently acknowledged as a first-class requirement [253]. In P2P, it means planning for the tussles over resources and identity. It means handling different kinds of queries and accommodating changeable application requirements with minimal intervention. It means "organic scaling" [22], whereby the system grows gracefully, without a priori data center costs or architectural breakpoints.
在整个调查过程中强调了稳健性。我们对两个方面特别感兴趣。第一个是可靠性,这是最初互联网的主要设计目标[251]。它在P2P中也应该享有同样的地位。可靠性的衡量标准已经确立:可靠性,平均失效时间(MTTF)的衡量标准;可用性,衡量平均修复时间(MTTF)和平均修复时间(MTTR);维修性;和安全[252]。第二个方面是适应结果变化的能力,我们可以称之为适应性。其措施尚未确定。在互联网环境下,它只是最近才被确认为一级要求[253]。在P2P中,这意味着为争夺资源和身份而进行规划。这意味着处理不同类型的查询,以最少的干预适应多变的应用程序需求。这意味着“有机扩展”[22],系统可以优雅地增长,而无需事先考虑数据中心成本或架构断点。
In the following section, we discuss one notable omission from the taxonomy of P2P networking in Figure 1 -- routing.
在下一节中,我们将讨论图1中P2P网络分类法中一个值得注意的遗漏——路由。
P2P routing algorithms have been classified as "structured" or "unstructured". Peers in unstructured overlay networks join by connecting to any existing peers [254]. In structured overlays, the identifier of the joining peer determines the set of peers that it connects to [254]. Early instantiations of Gnutella were unstructured -- keyword queries were flooded widely [255]. Napster [256] had decentralized content and a centralized index, so it only partially satisfies the distributed control criteria for P2P systems.
P2P路由算法被分为“结构化”和“非结构化”。非结构化覆盖网络中的对等点通过连接到任何现有对等点进行连接[254]。在结构化覆盖中,加入对等体的标识符确定其连接到的对等体集合[254]。Gnutella的早期实例化是非结构化的——关键字查询被广泛使用[255]。Napster[256]具有分散的内容和集中的索引,因此它仅部分满足P2P系统的分布式控制标准。
Early structured algorithms included Plaxton, Rajaraman and Richa (PRR) [30], Pastry [2], Tapestry [31], Chord [7], and the Content Addressable Network [8]. Mishchke and Stiller recently classified P2P systems by the presence or absence of structure in routing tables and network topology [257].
早期的结构化算法包括Plaxton、Rajaraman和Richa(PRR)[30]、Pastry[2]、Tapestry[31]、Chord[7]和内容寻址网络[8]。Mishchke和Stiller最近根据路由表和网络拓扑中是否存在结构对P2P系统进行了分类[257]。
Some have cast unstructured and structured algorithms as competing alternatives. Unstructured approaches have been called "first generation", implicitly inferior to the "second generation" structured algorithms [2, 31]. When generic key lookups are required, these structured, key-based routing schemes can guarantee location of a target within a bounded number of hops [23]. The broadcasting unstructured approaches, however, may have large routing costs, or fail to find available content [22]. Despite the apparent advantages of structured P2P, several research groups are still pursuing unstructured P2P.
有些人将非结构化算法和结构化算法视为竞争对手。非结构化方法被称为“第一代”,隐式地低于“第二代”结构化算法[2,31]。当需要通用密钥查找时,这些结构化的、基于密钥的路由方案可以保证目标的位置在有限的跳数内[23]。然而,广播非结构化方法可能有很大的路由成本,或者无法找到可用内容[22]。尽管结构化P2P具有明显的优势,但一些研究小组仍在追求非结构化P2P。
There have been two main criticisms of structured systems [61]. The first relates to peer transience, which in turn, affects robustness. Chawathe, et al. opined that highly transient peers are not well supported by DHTs [61]. P2P systems often exhibit "churn", with peers continually arriving and departing. One objection to concerns about highly transient peers is that many applications use peers in well-connected parts of the network. The Tapestry authors analyzed the impact of churn in a network of 1000 nodes [31]. Others opined that it is possible to maintain a robust DHT at relatively low cost [258]. Very few papers have quantitatively compared the resilience of structured systems. Loguinov, Kumar, et al. claimed that there were only two such works [24, 36].
对结构化系统有两种主要的批评[61]。第一个与对等瞬态有关,对等瞬态反过来影响鲁棒性。Chawather等人认为,DHT不能很好地支持高度瞬态对等点[61]。P2P系统经常表现出“搅动”,节点不断地到达和离开。对高度瞬态对等点的担忧的一个反对意见是,许多应用程序使用网络中连接良好的部分中的对等点。Tapestry的作者分析了1000个节点组成的网络中的搅动的影响[31]。其他人则认为,可以以相对较低的成本维持稳健的DHT[258]。很少有论文定量比较结构化系统的弹性。Loguinov、Kumar等人声称只有两部这样的作品[24,36]。
The second criticism of structured systems is that they do not support keyword searches and complex queries as well as unstructured systems. Given the current file-sharing deployments, keyword searches seem more important than exact-match key searches in the short term. Paraphrased, "most queries are for hay, not needles" [61].
对结构化系统的第二个批评是,它们不支持关键字搜索和复杂查询,也不支持非结构化系统。鉴于当前的文件共享部署,在短期内,关键字搜索似乎比精确匹配关键字搜索更重要。“大多数查询是针对干草,而不是针”[61]。
More recently, some have justifiably seen unstructured and structured proposals as complementary, and have devised hybrid models [259]. Their starting point was the observation that unstructured flooding or random walks are inefficient for data that is not highly replicated across the P2P network. Structured graphs can find keys efficiently, irrespective of replication. Castro, et al. proposed Structella, a hybrid of Gnutella built on top of Pastry [259]. Another design used structured search for rare items and unstructured search for massively replicated items [54].
最近,一些人有理由将非结构化和结构化方案视为互补方案,并设计了混合模型[259]。他们的出发点是观察到非结构化泛洪或随机游动对于在P2P网络中没有高度复制的数据是低效的。结构化图可以高效地查找密钥,而与复制无关。卡斯特罗等人提出了Structella,一种盖在糕点上的Gnutella杂交体[259]。另一种设计使用结构化搜索搜索稀有项目,非结构化搜索大规模复制项目[54]。
However, the "structured versus unstructured routing" taxonomy is becoming less useful, for two reasons, Firstly, most "unstructured" proposals have evolved and incorporated structure. Consider the classic "unstructured" system, Gnutella [4]. For scalability, its peers are either ultrapeers or leaf nodes. This hierarchy is augmented with a query routing protocol whereby ultrapeers receive a hashed summary of the resource names available at leaf nodes. Between ultrapeers, simple query broadcast is still used, though methods to reduce the query load here have been considered [260]. Secondly, there are emerging schema-based P2P designs [59], with super-node hierarchies and structure within documents. These are quite distinct from the structured DHT proposals.
然而,“结构化与非结构化路由”分类法变得不那么有用,原因有两个,第一,大多数“非结构化”方案已经演变并融入了结构化。考虑经典的“非结构化”系统,Gnutel[ 4 ]。为了实现可伸缩性,它的对等节点可以是超级对等节点,也可以是叶节点。该层次结构通过查询路由协议得到了扩展,通过该协议,UltraPeer可以接收叶节点上可用资源名称的哈希摘要。在超级对等点之间,仍然使用简单查询广播,尽管这里已经考虑了减少查询负载的方法[260]。其次,出现了基于模式的P2P设计[59],在文档中具有超级节点层次结构和结构。这些方案与结构化DHT方案截然不同。
Given that most, if not all, P2P designs today assume some structure, a more instructive taxonomy would describe the structure. In this survey, we use a database taxonomy in lieu of the networking taxonomy, as suggested by Hellerstein, Cooper, and Garcia-Molina [23, 261]. The structure is determined by the type of index (Sections 2 , 3, and 4). Queries feature in lieu of routing (Section 5). The DHT algorithms implement a "semantic-free index" [216]. They are oblivious of whether keys represent document titles, meta-data, or text. Gnutella-like and schema-based proposals have a "semantic index".
考虑到目前大多数(如果不是全部的话)P2P设计都采用某种结构,一种更具指导意义的分类法将描述这种结构。在本次调查中,我们使用数据库分类法代替网络分类法,正如Hellerstein、Cooper和Garcia Molina[23261]所建议的那样。结构由索引类型决定(第2、3和4节)。查询功能代替路由(第5节)。DHT算法实现了“语义自由索引”[216]。他们不知道键是表示文档标题、元数据还是文本。类似Gnutella和基于模式的提案有一个“语义索引”。
Index engineering is at the heart of P2P search methods. It captures a broad range of P2P issues, as demonstrated by the Search/Index Links model [261]. As Manber put it, "the most important of the tools for information retrieval is the index -- a collection of terms with pointers to places where information about documents can be found" [262]. Sen and Wang noted that a "P2P network" usually consists of connections between hosts for application-layer signaling, rather than for the data transfer itself [263]. Similarly, we concentrate on the "signaled" indexes and queries.
索引工程是P2P搜索方法的核心。它捕获了广泛的P2P问题,如搜索/索引链接模型[261]所示。正如曼伯所说,“信息检索最重要的工具是索引——一组术语,带有指向可以找到文档信息的位置的指针”[262]。Sen和Wang指出,“P2P网络”通常由主机之间用于应用层信令的连接组成,而不是用于数据传输本身[263]。类似地,我们主要关注“有信号的”索引和查询。
Our focus here is the dependability and adaptability of the search network. Static dependability is a measure of how well queries route around failures in a network that is normally fault-free. Dynamic dependability gives an indication of query success when nodes and data are continually joining and leaving the P2P system. An adaptable index accommodates change in the data and query distribution. It enables data independence, in that it facilitates changes to the data layout without requiring changes to the applications that use the data [23]. An adaptable P2P system can support rich queries for a wide range of applications. Some applications benefit from simple, semantic-free key lookups [264]. Others require more complex, Structured Query Language (SQL)-like
我们这里的重点是搜索网络的可靠性和适应性。静态可信性是一种衡量查询在通常无故障的网络中绕过故障的程度的指标。当节点和数据不断加入和离开P2P系统时,动态可靠性表示查询成功。可调整的索引适应数据和查询分布的变化。它支持数据独立性,因为它有助于更改数据布局,而无需更改使用数据的应用程序[23]。一个适应性强的P2P系统可以支持多种应用的丰富查询。一些应用程序受益于简单、无语义的密钥查找[264]。另一些则需要更复杂的结构化查询语言(SQL)
queries to find documents with multiple keywords, or to aggregate or join query results from distributed relations [22].
查询以查找具有多个关键字的文档,或聚合或连接分布式关系中的查询结果[22]。
A P2P index can be local, centralized, or distributed. With a local index, a peer only keeps the references to its own data, and does not receive references for data at other nodes. The very early Gnutella design epitomized the local index (Section 2.1). In a centralized index, a single server keeps references to data on many peers. The classic example is Napster (Section 2.2). With distributed indexes, pointers towards the target reside at several nodes. One very early example is Freenet (Section 2.3). Distributed indexes are used in most P2P designs nowadays -- they dominate this survey.
P2P索引可以是本地的、集中式的或分布式的。对于本地索引,对等方只保留对其自身数据的引用,而不接收对其他节点上数据的引用。早期的Gnutella设计概括了本地索引(第2.1节)。在集中索引中,单个服务器保留对多个对等机上数据的引用。典型的例子是Napster(第2.2节)。对于分布式索引,指向目标的指针驻留在多个节点上。一个很早的例子是Freenet(第2.3节)。分布式索引在当今大多数P2P设计中都有使用——它们在这项调查中占据主导地位。
P2P indexes can also be classified as non-forwarding and forwarding. When queries are guided by a non-forwarding index, they jump to the node containing the target data in a single hop. There have been semantic and semantic-free one-hop schemes [138, 265, 266]. Where scalability to a massive number of peers is required, these schemes have been extended to two hops [267, 268]. More common are the forwarding P2Ps, where the number of hops varies with the total number of peers, often logarithmically. The related trade-offs between routing state, lookup latency, update bandwidth, and peer churn are critical to total system dependability.
P2P索引也可以分为非转发和转发。当查询由非转发索引引导时,它们在单跳中跳转到包含目标数据的节点。已有语义和语义无关的一跳方案[138265266]。在需要可扩展到大量对等点的情况下,这些方案已扩展到两个跃点[267268]。更常见的是转发p2p,其中跳数随对等点的总数而变化,通常是对数变化的。路由状态、查找延迟、更新带宽和对等方流失之间的相关权衡对于整个系统的可靠性至关重要。
P2Ps with a purely local data index are becoming rare. In such designs, peers flood queries widely and only index their own content. They enable rich queries - the search is not limited to a simple key lookup. However, they also generate a large volume of query traffic with no guarantee that a match will be found, even if it does exist on the network. For example, to find potential peers on the early instantiations of Gnutella, 'ping' messages were broadcast over the P2P network and the 'pong' responses were used to build the node index. Then, small 'query' messages, each with a list of keywords, are broadcast to peers that respond with matching filenames [4].
具有纯本地数据索引的P2P越来越少。在这样的设计中,对等方大量使用查询,并且只索引自己的内容。它们支持丰富的查询-搜索不限于简单的键查找。但是,它们也会生成大量查询流量,无法保证找到匹配项,即使网络上确实存在匹配项。例如,为了在Gnutella的早期实例化中找到潜在的对等点,通过P2P网络广播“ping”消息,并使用“pong”响应构建节点索引。然后,向响应匹配文件名的对等方广播小“查询”消息,每个消息都有一个关键字列表[4]。
There have been numerous attempts to improve the scalability of local-index P2P networks. Gnutella uses fixed time-to-live (TTL) rings, where the query's TTL is set less than 7-10 hops [4]. Small TTLs reduce the network traffic and the load on peers, but also reduce the chances of a successful query hit. One paper reported, perhaps a little too bluntly, that the fixed "TTL-based mechanism does not work" [67]. To address this TTL selection problem, they proposed an expanding ring, known elsewhere as iterative deepening [29]. It uses successively larger TTL counters until there is a
为了提高本地索引P2P网络的可伸缩性,已经进行了许多尝试。Gnutella使用固定生存时间(TTL)环,其中查询的TTL设置为小于7-10跳[4]。小型TTL减少了网络流量和对等方的负载,但也减少了成功查询的机会。一篇论文(可能有点过于直截了当)指出,固定的“基于TTL的机制不起作用”[67]。为了解决这个TTL选择问题,他们提出了一个扩展环,在别处称为迭代深化[29]。它连续使用更大的TTL计数器,直到出现
match. The flooding, ring, and expanding ring methods all increase network load with duplicated query messages. A random walk, whereby an unduplicated query wanders about the network, does indeed reduce the network load but massively increases the search latency. One solution is to replicate the query k times at each peer. Called random k-walkers, this technique can be coupled with TTL limits, or periodic checks with the query originator, to cap the query load [67]. Adamic, Lukose, et al. suggested that the random walk searches be directed to nodes with a higher degree, that is, with larger numbers of inter-peer connections [269]. They assumed that higher-degree peers are also capable of higher query throughputs. However, without some balancing design rule, such peers would be swamped with the entire P2P signaling traffic. In addition to the above approaches, there is the 'directed breadth-first' algorithm [29]. It forwards queries within a subset of peers selected according to heuristics on previous performance, like the number of successful query results. Another algorithm, called probabilistic flooding, has been modeled using percolation theory [270].
火柴泛洪、环和扩展环方法都使用重复的查询消息来增加网络负载。一个非重复查询在网络中漫游的随机游走确实减少了网络负载,但却大大增加了搜索延迟。一种解决方案是在每个对等点上复制查询k次。称为随机k-Walker,这种技术可以与TTL限制相结合,或者与查询发起人进行定期检查,以限制查询负载[67]。Adamic、Lukose等人建议将随机游走搜索定向到具有更高阶数的节点,即具有更多对等连接的节点[269]。他们假设更高级别的对等点也能够获得更高的查询吞吐量。然而,如果没有一些平衡的设计规则,这样的节点将被整个P2P信令流量淹没。除上述方法外,还有“定向宽度优先”算法[29]。它在根据先前性能(如成功查询结果的数量)的启发选择的对等点子集内转发查询。另一种称为概率洪水的算法已使用渗流理论建模[270]。
Several measurement studies have investigated locally indexed P2Ps. Jovanovic noted Gnutella's power law behaviour [70]. Sen and Wang compared the performance of Gnutella, Fasttrack [271], and Direct Connect [263, 272, 273]. At the time, only Gnutella used local data indexes. All three schemes now use distributed data indexes, with hierarchy in the form of Ultrapeers (Gnutella), Super-Nodes FastTrack), and Hubs (Direct Connect). It was found that a very small percentage of peers have a very high degree and that the total system dependability is at the mercy of such peers. While peer up-time and bandwidth were heavy-tailed, they did not fit well with the Zipf distribution. Fortunately for Internet Service Providers, measures aggregated by IP prefix and Autonomous System (AS) were more stable than for individual IP addresses. A study of University of Washington traffic found that Gnutella and Kazaa together contributed 43% of the university's total TCP traffic [274]. They also reported a heavy-tailed distribution, with 600 external peers (out of 281,026) delivering 26% of Kazaa bytes to internal peers. Furthermore, objects retrieved from the P2P network were typically three orders of magnitude larger than Web objects -- 300 objects contributed to almost half the total outbound Kazaa bandwidth. Others reported Gnutella's topology mismatch, whereby only 2-5% of P2P connections link peers in the same Autonomous System (AS), despite over 40% of peers being in the top 10 ASs [65]. Together these studies underscore the significance of multimedia sharing applications. They motivate interesting caching and locality solutions to the topology mismatch problem.
一些测量研究已经调查了局部索引的p2p。约万诺维奇注意到格努特拉的幂律行为[70]。Sen和Wang比较了Gnutella、Fasttrack[271]和Direct Connect[263272273]的性能。当时,只有Gnutella使用本地数据索引。这三种方案现在都使用分布式数据索引,其层次结构是Ultrapeers(Gnutella)、超级节点FastTrack和集线器(Direct Connect)。研究发现,只有很小的一部分节点具有很高的程度,并且整个系统的可靠性取决于这些节点。虽然对等启动时间和带宽是重尾分布,但它们并不符合Zipf分布。幸运的是,对于互联网服务提供商来说,通过IP前缀和自治系统(AS)聚合的度量比单个IP地址更稳定。华盛顿大学的一项研究发现,Gnutella和KAZAA共同贡献了大学总TCP流量的43%。他们还报告了一个重尾分布,有600个外部对等方(281026个)将26%的Kazaa字节发送给内部对等方。此外,从P2P网络检索到的对象通常比Web对象大三个数量级——300个对象几乎占总带宽的一半。其他人报告了Gnutella的拓扑不匹配,即只有2-5%的P2P连接链接同一自治系统(AS)中的对等点,尽管超过40%的对等点位于前10个ASs中[65]。这些研究共同强调了多媒体共享应用的重要性。它们为拓扑不匹配问题提供了有趣的缓存和局部性解决方案。
These same studies bear out one main dependability lesson: total system dependability may be sensitive to the dependability of high-
这些相同的研究证明了一个主要的可信性教训:总体系统可信性可能对高可靠性系统的可信性敏感-
degree peers. The designers of Scamp translated this observation to the design heuristic, "have the degree of each node be of nearly equal size" [153]. They analyzed a system of N peers, with mean degree c.log(n), where link failures occur independently with probability e. If d>0 is fixed and c>(1+d)/(-log(e)), then the probability of graph disconnection goes to zero as N->infinity. Otherwise, if c<(1-d)/(-log(e)), then the probability of disconnection goes to one as N->infinity. They presented a localizer, which finds approximate minima to a global function of peer degree and arbitrary link costs using only local information. The Scamp overlay construction algorithms could support any of the flooding and walking routing schemes above, or other epidemic and multicasting schemes for that matter. Resilience to high churn rates was identified for future study.
学位与同龄人相同。Scamp的设计者将这一观察转化为设计启发,“使每个节点的大小几乎相等”[153]。他们分析了一个由N个节点组成的系统,平均度为c.log(N),其中链路故障以概率e独立发生。如果d>0是固定的且c>1+d/(-log(e)),则图断开的概率随着N->无穷大而变为零。否则,如果c<(1-d)/(-log(e)),则断开的概率变为1,即N->无穷大。他们提出了一种定位器,它只使用局部信息来寻找对等度和任意链路代价的全局函数的近似极小值。Scamp覆盖构建算法可以支持上述任何泛洪和步行路由方案,或者其他流行和多播方案。对高流失率的恢复能力被确定为未来的研究。
Centralized schemes like Napster [256] are significant because they were the first to demonstrate the P2P scalability that comes from separating the data index from the data itself. Ultimately, 36 million Napster users lost their service not because of technical failure, but because the single administration was vulnerable to the legal challenges of record companies [275].
像Napster[256]这样的集中式方案意义重大,因为它们是第一个证明P2P可伸缩性的方案,这种可伸缩性来自于将数据索引与数据本身分离。最终,3600万Napster用户失去了他们的服务,不是因为技术故障,而是因为单一的管理容易受到唱片公司的法律挑战[275]。
There has since been little research on P2P systems with central data indexes. Such systems have also been called 'hybrid' since the index is centralized but the data is distributed. Yang and Garcia-Molina devised a four-way classification of hybrid systems [276]: unchained servers, where users whose index is on one server do not see other servers' indexes; chained servers, where the server that receives a query forwards it to a list of servers if it does not own the index itself; full replication, where all centralized servers keep a complete index of all available metadata; and hashing, where keywords are hashed to the server where the associated inverted list is kept. The unchained architecture was used by Napster, but it has the disadvantage that users do not see all indexed data in the system. Strictly speaking, the other three options illustrate the distributed data index, not the central index. The chained architecture was recommended as the optimum for the music-swapping application at the time. The methods by which clients update the central index were classified as batch or incremental, with the optimum determined by the query-to-login ratio. Measurements were derived from a clone of Napster called OpenNap[277]. Another study of live Napster data reported wide variation in the availability of peers, a general unwillingness to share files (20-40% of peers share few or no files), and a common understatement of available bandwidth so as to discourage other peers from sharing one's link [202].
此后,很少有人研究具有中心数据索引的P2P系统。这种系统也被称为“混合系统”,因为索引是集中的,但数据是分布式的。Yang和Garcia Molina设计了一种混合系统的四向分类[276]:无约束服务器,其中索引位于一台服务器上的用户看不到其他服务器的索引;链接服务器,其中接收查询的服务器如果不拥有索引本身,则将其转发到服务器列表;完全复制,所有集中式服务器保留所有可用元数据的完整索引;和散列,其中关键字被散列到保存相关倒排列表的服务器。Napster使用的是未约束的体系结构,但它的缺点是用户无法看到系统中的所有索引数据。严格地说,其他三个选项说明了分布式数据索引,而不是中心索引。链式架构被推荐为当时音乐交换应用程序的最佳架构。客户端更新中心索引的方法分为批处理方法和增量方法,最佳方法由查询与登录的比率确定。测量结果来源于名为OpenNap的Napster克隆[277]。另一项对实时Napster数据的研究报告称,节点的可用性存在很大差异,普遍不愿意共享文件(20-40%的节点共享很少或没有文件),并且普遍低估可用带宽,以阻止其他节点共享自己的链接[202]。
Influenced by Napster's early demise, the P2P research community may have prematurely turned its back on centralized architectures. Chawathe, Ratnasamy, et al. opined that Google and Yahoo demonstrate the viability of a centralized index. They argued that "the real barriers to Napster-like designs are not technical but legal and financial" [61]. Even this view may be a little too harsh on the centralized architectures -- it implies that they always have an up-front capital hurdle that is steeper than for distributed architectures. The closer one looks at scalable 'centralized' architectures, the less the distinction with 'distributed' architectures seems to matter. For example, it is clear that Google's designers consider Google a distributed, not centralized, file system [278]. Google demonstrates the scale and performance possible on commodity hardware, but still has a centralized master that is critical to the operation of each Google cluster. Time may prove that the value of emerging P2P networks, regardless of the centralized-versus-distributed classification, is that they smooth the capital outlays and remove the single points of failure across the spectra of scale and geographic distribution.
受Napster早期消亡的影响,P2P研究社区可能过早地放弃了集中式架构。ChawatheRatnasamy等人认为,谷歌和雅虎证明了集中索引的可行性。他们认为“Napster式设计的真正障碍不是技术,而是法律和财务”[61]。即使这种观点对集中式体系结构也可能有点过于苛刻——这意味着它们总是有一个比分布式体系结构更大的前期资本障碍。越仔细地观察可扩展的“集中式”体系结构,与“分布式”体系结构的区别就越不重要。例如,很明显谷歌的设计者认为谷歌是分布式的,不是集中式的文件系统[278 ]。谷歌展示了商品硬件的规模和性能,但仍然有一个对每个谷歌集群的运行至关重要的集中式主机。时间可能会证明,新兴P2P网络的价值,无论是集中分类还是分布式分类,都在于它们平滑了资本支出,消除了规模和地理分布范围内的单一故障点。
An important early P2P proposal for a distributed index was Freenet [5, 71, 279]. While its primary emphasis was the anonymity of peers, it did introduce a novel indexing scheme. Files are identified by low-level "content-hash" keys and by "secure signed-subspace" keys, which ensure that only a file owner can write to a file while anyone can read from it. To find a file, the requesting peer first checks its local table for the node with keys closest to the target. When that node receives the query, it too checks for either a match or another node with keys close to the target. Eventually, the query either finds the target or exceeds time-to-live (TTL) limits. The query response traverses the successful query path in reverse, depositing a new routing table entry (the requested key and the data holder) at each peer. The insert message similarly steps towards the target node, updating routing table entries as it goes, and finally stores the file there. Whereas early versions of Gnutella used breadth-first flooding, Freenet uses a more economic depth-first search [280].
早期P2P对分布式索引的一个重要建议是Freenet[5,71,279]。虽然它的主要重点是对等点的匿名性,但它确实引入了一种新的索引方案。文件由低级“内容散列”密钥和“安全签名子空间”密钥标识,它们确保只有文件所有者才能写入文件,而任何人都可以读取文件。要查找文件,请求的对等方首先检查其本地表,查找键最接近目标的节点。当该节点接收到查询时,它也会检查匹配项或键靠近目标的另一个节点。最终,查询要么找到目标,要么超过生存时间(TTL)限制。查询响应反向遍历成功的查询路径,在每个对等方存放一个新的路由表条目(请求的密钥和数据持有者)。insert消息类似地向目标节点移动,在移动时更新路由表条目,最后将文件存储在那里。Gnutella的早期版本使用广度优先的泛洪,而Freenet使用更经济的深度优先搜索[280]。
An initial assessment has been done of Freenet's robustness. It was shown that in a network of 1000 nodes, the median query path length stayed under 20 hops for a failure of 30% of nodes. While the Freenet designers considered this as evidence that the system is "surprisingly robust against quite large failures" [71], the same datapoint may well be outside meaningful operating bounds. How many applications are useful when the first quartile of queries have path lengths of several hundred hops in a network of only 1000 nodes, per
对Freenet的健壮性进行了初步评估。结果表明,在1000个节点的网络中,如果有30%的节点出现故障,查询路径长度中值保持在20跳以下。尽管Freenet的设计者认为这是系统“对相当大的故障具有惊人的鲁棒性”的证据[71],但相同的数据点可能超出了有意义的操作范围。当第一个四分位查询的路径长度为几百跳时,在一个每小时只有1000个节点的网络中,有多少应用程序是有用的
Figure 4 of [71]? To date, there has been no analysis of Freenet's dynamic robustness. For example, how does it perform when nodes are continually arriving and departing?
[71]中的图4?迄今为止,还没有对Freenet的动态鲁棒性进行分析。例如,当节点不断到达和离开时,它是如何执行的?
There have been both criticisms and extensions of the early Freenet work. Gnutella proponents acknowledged the merit in Freenet's avoidance of query broadcasting [281]. However, they are critical on two counts: the exact file name is needed to construct a query; and exactly one match is returned for each query. P2P designs using DHTs, per Section 3, share similar characteristics -- a precise query yields a precise response. The similarity is not surprising since Freenet also uses a hash function to generate keys. However, the query routing used in the DHTs has firmer theoretical foundations. Another difference with DHTs is that Freenet will take time, when a new node joins the network, to build an index that facilitates efficient query routing. By the inventor's own admission, this is damaging for a user's first impressions [282]. It was proposed to download a copy of routing tables from seed nodes at startup, even though the new node might be far from the seed node. Freenet's slow startup motivated Mache, Gilbert, et al. to amend the overlay after failed requests and to place additional index entries on successful requests -- they claim almost an order of magnitude reduction in average query path length [280]. Clarke also highlighted the lack of locality or bandwidth information available for efficient query routing decisions [282]. He proposed that each node gather response times, connection times, and proportion of successful requests for each entry in the query routing table. When searching for a key that is not in its own routing table, it was proposed to estimate response times from the routing metrics for the nearest known keys and consequently choose the node that can retrieve the data fastest. The response time heuristic assumed that nodes close in the key space have similar response times. This assumption stemmed from early deployment observations that Freenet peers seemed to specialize in parts of the keyspace -- it has not been justified analytically. Kronfol drew attention to Freenet's inability to do keyword searches [283]. He suggested that peers cache lists of weighted keywords in order to route queries to documents, using Term Frequency Inverse Document Frequency (TFIDF) measures and inverted indexes (Section 4.2.1). With these methods, a peer can route queries for simple keyword lists or more complicated conjunctions and disjunctions of keywords. Robustness analysis and simulation of Kronfol's proposal remain open.
早期自由网作品既有批评,也有扩展。Gnutella的支持者承认Freenet避免查询广播的优点[281]。但是,它们在两个方面很关键:构造查询需要确切的文件名;每个查询只返回一个匹配项。根据第3节,使用DHT的P2P设计具有相似的特征——精确的查询产生精确的响应。这种相似性并不奇怪,因为Freenet还使用哈希函数生成密钥。然而,DHTs中使用的查询路由具有更坚实的理论基础。与DHTs的另一个区别是,当一个新节点加入网络时,Freenet需要时间来构建一个索引,以促进高效的查询路由。发明人自己承认,这会损害用户的第一印象[282]。有人建议在启动时从种子节点下载路由表的副本,即使新节点可能离种子节点很远。Freenet的缓慢启动促使Mache、Gilbert等人在请求失败后修改覆盖,并在成功请求上添加额外的索引项——他们声称平均查询路径长度几乎减少了一个数量级[280]。Clarke还强调了缺乏可用于高效查询路由决策的位置或带宽信息[282]。他建议每个节点收集查询路由表中每个条目的响应时间、连接时间和成功请求的比例。当搜索不在其自己的路由表中的密钥时,建议根据最近的已知密钥的路由度量来估计响应时间,从而选择能够最快检索数据的节点。响应时间启发式假设在密钥空间中靠近的节点具有相似的响应时间。这一假设源于早期的部署观察,即Freenet对等方似乎专门处理密钥空间的某些部分——从分析角度来看,这一假设没有得到证实。Kronfol提请注意Freenet无法进行关键词搜索[283]。他建议同行缓存加权关键字列表,以便使用术语频率反向文档频率(TFIDF)度量和反向索引(第4.2.1节)将查询路由到文档。通过这些方法,对等方可以路由查询简单的关键字列表或更复杂的关键字的连接和分离。Kronfol提案的稳健性分析和模拟仍处于开放状态。
The vast majority of P2P proposals in following sections rely on a distributed index.
以下部分中的绝大多数P2P方案都依赖于分布式索引。
Many of today's distributed network indexes are semantic. The semantic index is human-readable. For example, it might associate information with other keywords, a document, a database key, or even an administrative domain. It makes it easy to associate objects with particular network providers, companies, or organizations, as evidenced in the Domain Name System (DNS). However, it can also trigger legal tussles and frustrate content replication and migration [216].
当今的许多分布式网络索引都是语义索引。语义索引是人类可读的。例如,它可能会将信息与其他关键字、文档、数据库密钥甚至管理域相关联。它可以很容易地将对象与特定的网络提供商、公司或组织相关联,如域名系统(DNS)中所示。然而,它也可能引发法律纠纷,阻碍内容复制和迁移[216]。
Distributed Hash Tables (DHTs) have been proposed to provide semantic-free, data-centric references. DHTs enable one to find an object's persistent key in a very large, changing set of hosts. They are typically designed for [23]:
分布式哈希表(DHT)已被提议提供无语义、以数据为中心的引用。DHT使人们能够在一组非常大、不断变化的主机中找到对象的持久密钥。它们通常设计用于[23]:
a) low degree. If each node keeps routing information for only a small number of other nodes, the impact of high node arrival and departure rates is contained;
a) 程度低。如果每个节点仅保留少量其他节点的路由信息,则高节点到达率和离开率的影响将得到控制;
b) low hop count. The hops and delay introduced by the extra indirection are minimized;
b) 低跳数。额外间接引入的跳数和延迟最小化;
c) greedy routing. Nodes independently calculate a short path to the target. At each hop, the query moves closer to the target; and
c) 贪婪路由。节点独立计算到目标的短路径。在每一跳,查询都会向目标移动;和
d) robustness. A path to the target can be found even when links or nodes fail.
d) 健壮性。即使链接或节点出现故障,也可以找到目标的路径。
To understand the origins of recent DHTs, one needs to look to three contributions from the 1990s. The first two -- Plaxton, Rajaraman, and Richa (PRR) [30] and Consistent Hashing [49] -- were published within one month of each other. The third, the Scalable Distributed Data Structure (SDDS) [52], was curiously ignored in significant structured P2P designs despite having some similar goals [2, 6, 7]. It has been briefly referenced in other P2P papers [46, 284-287].
要了解最近DHT的起源,我们需要看看1990年代的三个贡献。前两个版本——Plaxton、Rajaraman和Richa(PRR)[30]和Consistent Hashing[49]——在一个月内发布。第三,可伸缩分布式数据结构(SDDS)[52],尽管有一些类似的目标[2,6,7],但在重要的结构化P2P设计中却被奇怪地忽略了。它在其他P2P论文[46284-287]中被简要引用。
PRR is the most recent of the three. It influenced the designs of Pastry [2], Tapestry [6], and Chord [7]. The value of PRR is that it can locate objects using fixed-length routing tables [6]. Objects and nodes are assigned a semantic-free address, for example a 160-bit key. Every node is effectively the root of a spanning tree. A message routes toward an object by matching longer address suffixes, until it encounters either the object's root node or another node
PRR是三者中最新的一个。它影响了糕点[2]、挂毯[6]和和弦[7]的设计。PRR的价值在于它可以使用固定长度路由表定位对象[6]。对象和节点被分配一个无语义的地址,例如一个160位的键。每个节点实际上都是生成树的根。消息通过匹配较长的地址后缀路由到对象,直到遇到对象的根节点或另一个节点
with a 'nearby' copy. It can route around link and node failure by matching nodes with a related suffix. The scheme has several disadvantages [6]: global knowledge is needed to construct the overlay; an object's root node is a single point of failure; nodes cannot be inserted and deleted; and there is no mechanism for queries to avoid congestion hot spots.
有一个“附近”的副本。它可以通过匹配带有相关后缀的节点来绕过链路和节点故障。该方案有几个缺点[6]:需要全局知识来构建覆盖;对象的根节点是单点故障;不能插入和删除节点;而且没有查询机制来避免拥塞热点。
Consistent Hashing [288] strongly influenced the designs of Chord [7] and Koorde [37]. Karger, et al. introduced Consistent Hashing in the context of the Web-caching problem [49]. Web servers could conceivably use standard hashing to place objects across a network of caches. Clients could use the approach to find the objects. For normal hashing, most object references would be moved when caches are added or deleted. On the other hand, Consistent Hashing is "smooth" -- when caches are added or deleted, the minimum number of object references move so as to maintain load balancing. Consistent Hashing also ensures that the total number of caches responsible for a particular object is limited. Whereas Litwin's Linear Hashing (LH*) scheme requires 'buckets' to be added one at a time in sequence [50], Consistent Hashing allows them to be added in any order [49]. There is an open Consistent Hashing problem pertaining to the fraction of items moved when a node is inserted [165]. Extended Consistent Hashing was recently proposed to randomize queries over the spread of caches to significantly reduce the load variance [289]. Interestingly, Karger [49] referred to an older DHT algorithm by Devine that used "a novel autonomous location discovery algorithm that learns the buckets' locations instead of using a centralized directory" [51].
一致散列[288]强烈影响了Chord[7]和Koorde[37]的设计。Karger等人在Web缓存问题的上下文中引入了一致性哈希[49]。可以想象,Web服务器可以使用标准哈希在缓存网络中放置对象。客户端可以使用这种方法来查找对象。对于普通散列,在添加或删除缓存时,大多数对象引用都会被移动。另一方面,一致性哈希是“平滑的”——当添加或删除缓存时,最小数量的对象引用会移动以保持负载平衡。一致性哈希还确保负责特定对象的缓存总数是有限的。尽管Litwin的线性散列(LH*)方案要求按顺序一次添加一个“bucket”[50],但一致散列允许按任意顺序添加它们[49]。存在一个开放一致性哈希问题,该问题与插入节点时移动的项目分数有关[165]。最近提出了扩展一致性散列,以随机化缓存分布上的查询,从而显著减少负载差异[289]。有趣的是,Karger[49]提到了Devine的一个较旧的DHT算法,该算法使用“一种新的自主位置发现算法,该算法学习存储桶的位置,而不是使用集中目录”[51]。
In turn, Devine's primary point of reference was Litwin's work on SDDSs and the associated LH* algorithm [52]. An SDDS satisfies three design requirements: files grow to new servers only when existing servers are well loaded; there is no centralized directory; and the basic operations like insert, search, and split never require atomic updates to multiple clients. Honicky and Miller suggested the first requirement could be considered a limitation since expansion to new servers is not under administrative control [286]. Litwin recently noted numerous similarities and differences between LH* and Chord [290]. He found that both implement key search. Although LH* refers to clients and servers, nodes can operate as peers in both. Chord 'splits' nodes when a new node is inserted, while LH* schedules 'splits' to avoid overload. Chord requests travel O(log n) hops, while LH* client requests need, at most, two hops to find the target. Chord stores a small number of 'fingers' at each node. LH* servers
反过来,Devine的主要参考点是Litwin关于SDDSs和相关LH*算法的工作[52]。SDD满足三个设计要求:仅当现有服务器负载良好时,文件才会增长到新服务器;没有集中的目录;插入、搜索和拆分等基本操作不需要对多个客户端进行原子更新。Honicky和Miller建议第一个要求可以被视为一个限制,因为扩展到新服务器不受管理控制[286]。Litwin最近注意到LH*和Chord之间有许多相似之处和差异[290]。他发现两者都实现了密钥搜索。尽管LH*指的是客户机和服务器,但节点可以在这两种情况下作为对等方运行。插入新节点时,和弦会“拆分”节点,而LH*会安排“拆分”以避免过载。Chord请求经过O(logn)个跃点,而LH*客户端请求最多需要两个跃点才能找到目标。Chord在每个节点上存储少量的“手指”。LH*服务器
store N/2 to N addresses while LH* clients store 1 to N addresses. This trade-off between hop count and the size of the index affects system robustness, and bears striking similarity to recent one- and two-hop P2P schemes in Section 2. The arrival and departure of LH* clients does not disrupt LH* server metadata at all. Given the size of the index, the arrival and departure of LH* servers are likely to cause more churn than that of Chord nodes. Unlike Chord, LH* has a single point of failure, the split coordinator. It can be replicated. Alternatively, it can be removed in later LH* variants, though details have not been progressed for lack of practical need [290].
存储N/2到N个地址,而LH*客户端存储1到N个地址。跳数和索引大小之间的这种权衡影响系统的健壮性,并且与第2节中最近的单跳和双跳P2P方案有着惊人的相似性。LH*客户端的到达和离开根本不会中断LH*服务器元数据。考虑到索引的大小,LH*服务器的到达和离开可能会比Chord节点造成更多的搅动。与Chord不同,LH*只有一个故障点,即分割协调器。它可以复制。或者,它可以在以后的LH*变型中删除,尽管由于缺乏实际需要,细节尚未进展[290]。
We make four overall observations about their dependability. Dependability metrics fall into two categories: static dependability, a measure of performance before recovery mechanisms take over; and dynamic dependability, for the most likely case in massive networks where there is continual failure and recovery ("churn").
我们对它们的可靠性进行了四次总体观察。可信性指标分为两类:静态可信性,恢复机制接管前的性能度量;以及动态可靠性,这是大规模网络中最有可能出现的情况,其中存在持续故障和恢复(“搅动”)。
Observation A: Static dependability comparisons show that no O(log n) DHT geometry is significantly more dependable than the other O(log n) geometries.
观察结果A:静态可信性比较表明,没有O(对数n)DHT几何结构比其他O(对数n)几何结构更可靠。
Gummadi, et al. compared the tree, hypercube, butterfly, ring, XOR, and hybrid geometries. In such geometries, nodes generally know about O(log n) neighbors and route to a destination in O(log n) hops, where N is the number of nodes in the overlay. Gummadi, et al. asked "Why not the ring?" They concluded that only the ring and XOR geometries permit flexible choice of both neighbors and alternative routes [24]. Loguinov, et al. added the de Bruijn graph to their comparison [36]. They concluded that the classical analyses, for example the probability that a particular node becomes disconnected, yield no major differences between the resilience of Chord, CAN, and de Bruijn graphs. Using bisection width (the minimum edge count between two equal partitions) and path overlap (the likelihood that backup paths will encounter the same failed nodes or links as the primary path), they argued for the superior resilience of the de Bruijn graph. In short, ring, XOR, and de Bruijn graphs all permit flexible choice of alternative paths, but only in de Bruijn are the alternate paths independent of each other [36].
Gummadi等人比较了树、超立方体、蝴蝶、环、XOR和杂交几何体。在这种几何结构中,节点通常知道O(logn)邻居,并以O(logn)跳数路由到目的地,其中n是覆盖中的节点数。Gummadi等人问到“为什么不是环?”他们得出结论,只有环和XOR几何允许灵活选择邻居和备选路线[24]。Loguinov等人在比较中添加了de Bruijn图[36]。他们得出结论,经典分析,例如特定节点断开连接的概率,在Chord图、CAN图和de Bruijn图的弹性之间没有产生重大差异。他们使用二等分宽度(两个相等分区之间的最小边数)和路径重叠(备份路径将遇到与主路径相同的故障节点或链路的可能性),论证了de Bruijn图的优越弹性。简言之,环图、XOR图和de Bruijn图都允许灵活选择备选路径,但只有在de Bruijn图中,备选路径相互独立[36]。
Observation B: Dynamic dependability comparisons show that DHT dependability is sensitive to the underlying topology maintenance algorithms.
观察B:动态可信性比较表明,DHT可信性对底层拓扑维护算法非常敏感。
Li, et al. give the best comparison to date of several leading DHTs during churn [291]. They relate the disparate configuration parameters of Tapestry, Chord, Kademlia, Kelips, and OneHop to fundamental design choices. For each of these DHTs, they plotted the optimal performance in terms of lookup latency (milliseconds) and fraction of failed lookups. The results led to several important insights about the underlying algorithms, for example: increasing routing table size is more cost-effective than increasing the rate of periodic stabilization; learning about new nodes during the lookup process sometimes eliminates the need for stabilization; and parallel lookups reduce latency due to timeouts more effectively than faster stabilization. Similarly, Zhuang, et al. compared keep-alive algorithms for DHT failure detection [292]. Such algorithmic comparisons can significantly improve the dependability of DHT designs.
Li等人给出了到目前为止几种主要DHT在搅动期间的最佳比较[291]。它们将Tapestry、Chord、Kademlia、Kelips和OneHop的不同配置参数与基本设计选择联系起来。对于这些DHT中的每一个,他们根据查找延迟(毫秒)和失败查找的分数绘制了最佳性能。这些结果导致了对底层算法的一些重要见解,例如:增加路由表大小比增加周期稳定率更具成本效益;在查找过程中了解新节点有时可以消除稳定的需要;并行查找比快速稳定更有效地减少超时造成的延迟。类似地,Zhuang等人比较了DHT故障检测的保持活动算法[292]。这种算法比较可以显著提高DHT设计的可靠性。
In Figure 2, we propose a taxonomy for the topology maintenance algorithms that influence dependability. The algorithms can be classified by how nodes join and leave, how they first detect failures, how they share information about topology updates, and how they react when they receive information about topology updates.
在图2中,我们为影响可靠性的拓扑维护算法提出了一种分类法。这些算法可以根据节点如何加入和离开、它们如何首先检测故障、它们如何共享有关拓扑更新的信息以及它们在接收到有关拓扑更新的信息时如何反应来进行分类。
Normal Updates Joins (passive; active) [293] Leaves (passive; active) [293]
正常更新联接(被动;主动)[293]叶(被动;主动)[293]
Fault Detection [292] Maintenance Proactive (periodic or keep-alive probes) Reactive (correction-on-use, correction-on-failure) [294] Report Negative (all dead nodes, nodes recently failed) Positive (all live nodes; nodes recently recovered) [292]
Fault Detection [292] Maintenance Proactive (periodic or keep-alive probes) Reactive (correction-on-use, correction-on-failure) [294] Report Negative (all dead nodes, nodes recently failed) Positive (all live nodes; nodes recently recovered) [292]
Topology Sharing: yes/ no [292] Multicast Tree (explicit, implicit) [267, 295] Gossip (timeouts; number of contacts) [39]
Topology Sharing: yes/ no [292] Multicast Tree (explicit, implicit) [267, 295] Gossip (timeouts; number of contacts) [39]
Corrective Action Routing Rerouting actions (reroute once; route in parallel [291]; reject) Routing timeouts (TCP-style, virtual coordinates) [296] Topology Update action (evict/ replace/ tag node) Update timeliness (immediate, periodic[296], delayed [297])
纠正措施路由重新路由措施(重新路由一次;并行路由[291];拒绝)路由超时(TCP样式,虚拟坐标)[296]拓扑更新措施(逐出/替换/标记节点)更新及时性(立即、定期[296],延迟[297])
Figure 2: Topology Maintenance in Distributed Hash Tables
图2:分布式哈希表中的拓扑维护
Observation C: Most DHTs use O(log n) geometries to suit ephemeral nodes. The O(1) hop DHTs suit stable nodes and deserve more research attention.
观察C:大多数DHT使用O(对数n)几何形状来适应短暂节点。O(1)跳dht适合于稳定节点,值得进一步研究。
Most of the DHTs in Section 3.5 assume that nodes are ephemeral, with expected lifetimes of one to two hours. Therefore, they mostly use an O(log n) geometry. The common assumption is that maintenance of full routing tables in the O(1) hop DHTs will consume excessive bandwidth when nodes are continually joining and leaving. The corollary is that, when they run on stable infrastructure servers [298], most of the DHTs in Section 3.5 are less than optimal -- lookups take many more hops than necessary, wasting latency and bandwidth budgets. The O(1) hop DHTs suit stable deployments and high lookup rates. For a churning 1024-node network, Li, et al. concluded that OneHop is superior to Chord, Tapestry, Kademlia, and Kelips in terms of latency and lookup success rate [291]. For a 3000-node network, they concluded that "OneHop is only preferable to Chord when the deployment scenario allows a communication cost
第3.5节中的大多数DHT假设节点是短暂的,预期寿命为1到2小时。因此,它们大多使用O(对数n)几何体。通常的假设是,当节点不断加入和离开时,O(1)跳dht中完整路由表的维护将消耗过多的带宽。由此推论,当它们在稳定的基础设施服务器上运行时[298],第3.5节中的大多数DHT都不是最优的——查找所需的跳数远远超过了需要的跳数,浪费了延迟和带宽预算。O(1)跳DHT适合稳定部署和高查找率。对于复杂的1024节点网络,Li等人得出结论,OneHop在延迟和查找成功率方面优于Chord、Tapestry、Kademlia和Kelips[291]。对于3000节点的网络,他们得出结论,“只有在部署场景允许通信成本时,OneHop才比Chord更可取
greater than 20 bytes per node per second" [291]. This apparent limitation needs to be put in context. They assumed that each node issues only one lookup every 10 minutes and has a lifetime of only 60 minutes. It seems reasonable to expect that in some deployments, nodes will have a lifetime of weeks or more, a maintenance bandwidth of tens of kilobits per second, and a load of hundreds of lookups per second. O(1) hop DHTs are superior in such situations. OneHop can scale at least to many tens of thousands of nodes [267]. The recent O(1) hop designs [267, 295] are vastly outnumbered by the O(log n) DHTs in Section 3.5. Research on the algorithms of Figure 2 will also yield improvements in the dependability of the O(1) hop DHTs.
大于每秒每个节点20字节“[291]。这一明显的限制需要放在上下文中考虑。他们假设每个节点每10分钟只发出一次查找,其生存期仅为60分钟。在某些部署中,节点的生存期可能为数周或更长,维护带宽为每秒数十千位,负载为数百次查找,这似乎是合理的每秒ups。O(1)跳DHT在这种情况下更为优越。OneHop至少可以扩展到数万个节点[267]。第3.5节中的O(1)跳设计[267295]远远超过了O(logn)跳DHT。对图2算法的研究也将提高O(1)跳DHT的可靠性。
Observation D: Although not yet a mature science, the study of DHT dependability is helped by recent simulation and formal development tools.
观察D:虽然还不是一门成熟的科学,但DHT可信性的研究得到了最新模拟和正式开发工具的帮助。
While there are recent reference architectures [294, 298], much of the DHT literature in Section 3.5 does not lend itself to repeatable, comparative studies. The best comparative work to date [291] relies on the Peer-to-Peer Simulator (P2PSIM) [299]. At the time of writing, it supports more DHT geometries than any other simulator. As the study of DHTs matures, we can expect to see the simulation emphasis shift from geometric comparison to a comparison of the algorithms of Figure 2.
虽然有最近的参考体系结构[294298],但第3.5节中的许多DHT文献不适合进行可重复的比较研究。迄今为止最好的比较工作[291]依赖于对等模拟器(P2PSIM)[299]。在编写本文时,它支持的DHT几何图形比任何其他模拟器都多。随着DHTs研究的成熟,我们可以期望看到模拟重点从几何比较转移到图2算法的比较。
P2P correctness proofs generally rely on less-than-complete formal specifications of system invariants and events [7, 45, 300]. Li and Plaxton expressed concern that "when many joins and leaves happen concurrently, it is not clear whether the neighbor tables will remain in a 'good' state" [47]. While acknowledging that guaranteeing consistency in a failure-prone network is impossible, Lynch, Malkhi, et al. sketched amendments to the Chord algorithm to guarantee atomicity [301]. More recently, Gilbert, Lynch, et al. gave a new algorithm for atomic read/write memory in a churning distributed network, suggesting it to be a good match for P2P [302]. Lynch and Stoica show in an enhancement to Chord that lookups are provably correct when there is a limited rate of joins and failures [303]. Fault Tolerant Active Rings is a protocol for active joins and leaves that was formally specified and proven using B-method tools [304]. A good starting point for a formal DHT development would be the numerous informal API specifications [22, 305, 306]. Such work could be informed by other efforts to formally specify routing invariants [307, 308].
P2P正确性证明通常依赖于系统不变量和事件的不完全形式规范[7,45,300]。Li和Plaxton担心“当许多连接和离开同时发生时,不清楚相邻表是否会保持“良好”状态”[47]。Lynch、Malkhi等人承认在容易发生故障的网络中保证一致性是不可能的,但他们对Chord算法进行了修改,以保证原子性[301]。最近,Gilbert、Lynch等人提出了一种新的算法,用于在混乱的分布式网络中进行原子读/写存储,这表明它与P2P非常匹配[302]。Lynch和Stoica在对Chord的增强中表明,当连接和失败率有限时,查找是可证明正确的[303]。容错主动环是一种用于主动连接和主动离开的协议,已通过B方法工具正式指定和验证[304]。正式DHT开发的一个良好起点是众多非正式API规范[22,305,306]。这种工作可以通过其他正式指定路由不变量的工作来完成[307308]。
The key metrics for DHT latency are:
DHT延迟的关键指标包括:
1) Shortest-Path Distance and Diameter. In graph theory, the shortest-path distance is the minimum number of edges in any path between two vertices of the graph. Diameter is the largest of all shortest-path distances in a graph [309]. Networking synonyms for distance on a DHT are "hop count" and "lookup length".
1) 最短路径距离和直径。在图论中,最短路径距离是图的两个顶点之间任何路径上的最小边数。直径是图形中所有最短路径距离中的最大值[309]。DHT上距离的网络同义词是“跳数”和“查找长度”。
2) Latency and Latency Stretch. Two types of latency are relevant here -- network-layer latency and overlay latency. Network-layer latency has been referred to as "proximity" or "locality" [24]. Stretch is the cost of an overlay path between two nodes, divided by the cost of the direct network path between those nodes [310]. Latency stretch is also known as the "relative delay penalty" [311].
2) 延迟和延迟拉伸。这里有两种类型的延迟——网络层延迟和覆盖延迟。网络层延迟被称为“邻近性”或“局部性”[24]。拉伸是两个节点之间覆盖路径的成本除以这些节点之间直接网络路径的成本[310]。延迟延长也称为“相对延迟惩罚”[311]。
Hop count gives an approximate indication of path latency. O(1)-hop DHTs have path latencies lower than the O(log n)-hop DHTs [291]. This significant advantage is often overlooked on account of concern about the messaging costs to maintain large routing tables (Section 3.2.3). Such concern is justified when the mean node lifetime is only a few hours and the mean lookup interval per node is more than a few seconds (the classic profile of a P2P file-sharing node). However, for a large, practical operating range (node lifetimes of days or more, lookup rates of over tens of lookups per second per node, up to ~100,000 nodes), the total messaging cost in O(1) hop DHTs is lower than in O(log n) DHTs [312]. Lookups and routing table maintenance contribute to the total messaging cost. If a deployment fits this operating range, then O(1)-hop DHTs will give lower path latencies and lower total messaging costs. An additional merit of the O(1)-hop DHTs is that they yield lower lookup failure rates than their O(log N)-hop counterparts [291].
跃点计数给出了路径延迟的近似指示。O(1)跳DHT的路径延迟低于O(logn)跳DHT[291]。由于担心维护大型路由表的消息传递成本(第3.2.3节),这一显著优势常常被忽略。当平均节点生存期只有几个小时,且每个节点的平均查找间隔超过几秒(P2P文件共享节点的经典配置文件)时,这种担心是合理的。然而,对于较大的实际操作范围(节点寿命为天或更长,每个节点每秒查找数十次以上,最多可达100000个节点),O(1)跳DHT的总消息传递成本低于O(对数n)DHT[312]。查找和路由表维护是消息传递总成本的一部分。如果部署适合此操作范围,则O(1)跳DHT将提供更低的路径延迟和更低的总消息传递成本。O(1)跳DHT的另一个优点是,它们比O(logn)跳对应的DHT产生更低的查找失败率[291]。
Low hop count can be achieved in two ways: each node has a large O(N) index of nodes; or the object references can be replicated on many nodes. Beehive [313], Kelips [39], LAND [310], and Tulip [314] are examples of the latter category. Beehive achieves O(1) hops on average and O(log n) hops in the worst case, by proactive replication of popular objects. Kelips replicates the 'file index'. It incurs O(sqrt(N)) storage costs for both the node index and the file index. LAND uses O(log n) reference pointers for each stored object and an O(log n) index to achieve a worst-case 1+e stretch, where 0<e. The Kelips-like Tulip [314] requires 2 hops per lookup. Each node
低跳数可以通过两种方式实现:每个节点都有一个较大的节点O(N)索引;或者可以在多个节点上复制对象引用。蜂巢[313]、海带[39]、陆地[310]和郁金香[314]是后一类的例子。Beehive通过主动复制流行对象,平均实现O(1)个跃点,在最坏的情况下实现O(对数n)个跃点。Kelips复制“文件索引”。它会为节点索引和文件索引带来O(sqrt(N))存储成本。LAND对每个存储对象使用O(logn)参考指针和O(logn)索引,以实现最坏情况下的1+e拉伸,其中0<e。像郁金香这样的海带[314]每次查找需要2跳。每个节点
maintains 2sqrt(N)log(N) links to other nodes and objects are replicated on O(sqrt(N)) nodes.
维护到其他节点的2sqrt(N)日志(N)链接,并在O(sqrt(N))节点上复制对象。
The DHTs with a large O(N) node index can be divided into two groups: those for which the index is always O(N); and those for which the index opportunistically ranges from O(log n) to O(N). Linear Hashing (LH*) servers [52], OneHop [267], and 1h-Calot [295] fall into the former category. EpiChord [315] and Accordion [316] are examples of the latter.
具有大O(N)节点索引的dht可分为两组:索引始终为O(N)的dht;以及那些指数可能在O(logn)到O(n)之间变化的指数。线性哈希(LH*)服务器[52]、OneHop[267]和1h Calot[295]属于前一类。伊壁鸠鲁[315]和手风琴[316]就是后者的例子。
If one chooses not to use single-hop DHTs, hop count is a weak indicator of end-to-end path latency. Some hops may incur large delays because of intercontinental or satellite links. Consequently, numerous DHT designs minimize path latency by considering the proximity of nodes. Gummadi, et al. classified the proximity methods as follows [24]:
如果选择不使用单跳DHT,则跳数是端到端路径延迟的弱指标。由于洲际或卫星链路的原因,某些跃点可能会导致较大的延迟。因此,许多DHT设计通过考虑节点的邻近性来最小化路径延迟。Gummadi等人将邻近方法分类如下[24]:
1) Proximity Neighbor Selection (PNS). The nodes in the routing table are chosen based on the latency of the direct hop to those nodes. The latency may be explicitly measured [317], or it may be estimated using one of several synthetic coordinate systems [150, 154, 318]. As a lower bound on PNS performance, Dabek, et al. showed that lookups on O(log n) DHTs take at least 1.5 times the average roundtrip time of the underlying network [154].
1) 邻近邻居选择(PNS)。路由表中的节点是根据直接跳到这些节点的延迟来选择的。延迟可以明确测量[317],也可以使用几个合成坐标系中的一个来估计[150154318]。作为PNS性能的下限,Dabek等人表明,对O(logn)DHT的查找至少需要底层网络平均往返时间的1.5倍[154]。
2) Proximity Route Selection (PRS). At lookup time, the choice of the next-hop node relies on the latency of the direct hop to that node. PRS is less effective than PNS, though it may complement it [24]. Some of the routing geometries in Section 3.5 do not support PNS and/or PRS [24].
2) 近距离路线选择(PRS)。在查找时,下一跳节点的选择取决于直接跳到该节点的延迟。PRS不如PNS有效,尽管它可以补充PNS[24]。第3.5节中的一些布线几何不支持PNS和/或PRS[24]。
3) Proximity Identifier Selection (PIS). Node identifiers indicate geographic position. PIS frustrates load balancing, increases the risk of correlated failures, and is not often used [24].
3) 邻近标识符选择(PIS)。节点标识符表示地理位置。PIS阻碍了负载平衡,增加了相关故障的风险,并且不经常使用[24]。
The proximity study by Gummadi, et al. assumed recursive routing, though they suggested that PNS would also be superior to PRS with iterative routing [24]. Dabek, et al. found that recursive lookups take 0.6 times as long as iterative lookups [150].
Gummadi等人的邻近性研究假设了递归路由,尽管他们认为PNS也优于具有迭代路由的PRS[24]。Dabek等人发现递归查找所花费的时间是迭代查找的0.6倍[150]。
Beyond the explicit use of proximity information, redundancy can help to avoid slow paths and servers. One may increase the number of replicas [150], use parallel lookups [291, 316], use alternate routes on failure [150], or use multiple gateway nodes to enter the DHT [317].
除了显式使用邻近信息外,冗余还有助于避免路径和服务器缓慢。可以增加副本的数量[150],使用并行查找[291316],在发生故障时使用备用路由[150],或者使用多个网关节点进入DHT[317]。
"Multicasting" here means sending a message to a subset of an overlay's nodes. Nodes explicitly join and leave this subset, called a "multicast group". "Broadcasting" here is a special case of multicasting in which a message is sent to all nodes in the overlay. Broadcasting relies on overlay membership messages -- it does not need extra group membership messaging. Castro, et al. said multicasting on structured overlays is either "flooding" (one overlay per group) or "tree-based" (one tree per group) [319]. These are synonyms for broadcasting and multicasting respectively.
这里的“多播”意味着向覆盖节点的子集发送消息。节点显式地加入并离开这个子集,称为“多播组”。这里的“广播”是多播的一种特殊情况,其中消息被发送到覆盖中的所有节点。广播依赖于覆盖成员信息——它不需要额外的组成员信息。Castro等人说,结构化覆盖上的多播要么是“泛洪”(每组一个覆盖)要么是“基于树”(每组一棵树)[319]。它们分别是广播和多播的同义词。
The first DHT-based designs for multicasting were CAN multicast [320], Scribe [241], Bayeux [242], and i3 [231]. They were based on CAN [8], Pastry [2], Tapestry [31], and Chord [7] respectively. El-Ansary, et al. devised the first DHT-based broadcasting scheme [321]. It was based on Chord.
第一个基于DHT的多播设计是CAN多播[320]、Scribe[241]、Bayeux[242]和i3[231]。它们分别基于罐头[8]、糕点[2]、挂毯[31]和和弦[7]。El Ansary等人设计了第一个基于DHT的广播方案[321]。这是基于和弦的。
Multicast trees can be constructed using reverse-path forwarding or forward-path forwarding. Scribe uses reverse-path forwarding [241]. Bayeux uses forward-path forwarding [242]. Borg, a multicast design based on Pastry, uses a combination of forward-path and reverse-path forwarding to minimize latency [237].
可以使用反向路径转发或正向路径转发来构造多播树。Scribe使用反向路径转发[241]。Bayeux使用前向路径转发[242]。Borg是一种基于Pastry的多播设计,它结合使用正向路径和反向路径转发来最小化延迟[237]。
Multicasting complements DHT search capability. DHTs naturally support exact match queries. With multicasting, they can support more complex queries. Multicasting also enables the dissemination and collection of global information.
多播补充了DHT搜索功能。DHT自然支持精确匹配查询。通过多播,它们可以支持更复杂的查询。多播还可以传播和收集全球信息。
Consider, for example, aggregation queries like minimum, maximum, count, sum, and average (Section 5.4). A node at the root of a dissemination tree might multicast such a query [322]. The leaf nodes return local results towards the root node. Successive parents aggregate the result so that eventually the root node can compute the global result. Such queries may help to monitor the capacity and health of the overlay itself.
例如,考虑聚合查询,如最小值、最大值、计数、总和和平均值(第5.4节)。位于传播树根的节点可以多播这样的查询[322]。叶节点向根节点返回本地结果。连续的父节点聚合结果,以便最终根节点可以计算全局结果。此类查询可能有助于监控覆盖本身的容量和运行状况。
Why bother with structured overlays for multicasting? In Section 2.1, we saw that Gnutella can multicast complex queries without them [4]. Castro, et al. posed the question, "Should we build Gnutella on a structured overlay?" [259]. While acknowledging that their study was preliminary, they did conclude that "we see no reason to build Gnutella on top of an unstructured overlay" [259]. The supposedly high maintenance costs of structured overlays were outweighed by
为什么要为多播而烦恼结构化覆盖?在第2.1节中,我们看到Gnutella可以在没有复杂查询的情况下多播复杂查询[4]。卡斯特罗等人提出了一个问题,“我们是否应该在结构化覆盖上构建Gnutella?”[259]。虽然承认他们的研究是初步的,但他们确实得出结论,“我们认为没有理由在非结构化覆盖层上构建Gnutella”[259]。结构覆盖层的高维护成本被
query cost savings. The structured overlay ensured that nodes were only visited once during a complex query. It also helped to accurately limit the total number of nodes visited. Pai, et al. acknowledged that multicast trees based on structured overlays contribute to simple routing rules, low delay and low delay variation [323]. However, they opted for unstructured, gossip-based multicasting for reliability reasons: data loss near the tree root affects all subtended nodes; interior node failures must be repaired quickly; interior nodes are obliged to disseminate more than their fair share of traffic, giving leaf nodes a "free ride". The most promising research direction is to improve on the Bimodal Multicasting approach [324]. It combines the bandwidth efficiency and low latency of structured, best-effort multicasting trees with the reliability of unstructured gossip protocols.
查询成本节约。结构化覆盖确保在复杂查询期间只访问一次节点。它还有助于准确限制访问的节点总数。Pai等人承认,基于结构化覆盖的多播树有助于简化路由规则、低延迟和低延迟变化[323]。然而,出于可靠性原因,他们选择了非结构化、基于流言的多播:树根附近的数据丢失会影响所有子节点;内部节点故障必须快速修复;内部节点必须传播超过其公平份额的流量,从而使叶节点“免费搭乘”。最有希望的研究方向是改进双模多播方法[324]。它将结构化、尽力而为的多播树的带宽效率和低延迟与非结构化gossip协议的可靠性结合起来。
None of the early structured overlay multicast designs addressed all of the following issues [325]:
早期的结构化覆盖多播设计都没有解决以下所有问题[325]:
1) Heterogeneous Node Capacity. Nodes differ in their processing, memory, and network capacity. Multicast throughput is largely determined by the node with smallest throughput [325]. To limit the multicasting load on a node, one might cap its out-degree. If the same node receives further join requests, it refers them to its children ("pushdown") [240]. Bharambe, et al. explored several pushdown strategies but found them inadequate to deal with heterogeneity [326]. They concluded that the heterogeneity issue remains open, and should be addressed before deploying DHTs for high-bandwidth multicasting applications. Independently, Zhang et al. partially tackled heterogeneity by allowing nodes in their CAM-Chord and CAM-Koorde designs to vary out-degree according to the node's capacity [325]. However, they made no mention of the "pushdown" issue -- they did not describe topology maintenance when the out-degree limit is reached.
1) 异构节点容量。节点的处理、内存和网络容量各不相同。多播吞吐量在很大程度上取决于吞吐量最小的节点[325]。为了限制节点上的多播负载,可以限制其超出度。如果同一节点接收到更多的加入请求,它会将它们引用到其子节点(“下推”)[240]。Bharambe等人探索了几种下推策略,但发现它们不足以处理异质性[326]。他们的结论是,异构性问题仍然存在,应该在为高带宽多播应用部署DHT之前解决。独立地,Zhang等人通过允许其CAM Chord和CAM Koorde设计中的节点根据节点的容量变化程度,部分解决了异质性问题[325]。然而,他们没有提到“下推”问题——他们没有描述达到超出度限制时的拓扑维护。
2) Reliability (Dynamic Membership). If a multicast tree is to be resilient, it must survive dynamic membership. There are several ways to deal with dynamic membership: ensure that the root node of the multicasting tree does not handle all requests to join or leave the multicast group [242]; use multiple interior-node-disjoint trees to avoid single points of failure in tree structures [322]; and split the root node into several replicas and partition members across them [241]. For example, Bayeux requires the root node to track all group membership changes whereas Scribe does not [241]. CAN-multicast uses a single, well-known host to bootstrap the join operations [320]. The earliest DHT-based broadcasting work by El-Ansary, et al. did not
2) 可靠性(动态成员)。如果多播树要有弹性,它必须在动态成员身份中生存。处理动态成员身份有几种方法:确保多播树的根节点不会处理加入或离开多播组的所有请求[242];使用多个内部节点不相交的树来避免树结构中的单点故障[322];并将根节点拆分为多个副本,并跨这些副本对成员进行分区[241]。例如,Bayeux要求根节点跟踪所有组成员身份更改,而Scribe则不需要[241]。CAN多播使用单个知名主机引导加入操作[320]。El-Ansary等人最早的基于DHT的广播工作没有这样做
address the issue of dynamic membership [321]. Ghodsi, et al. addressed it in a subsequent paper, though, giving two broadcast algorithms that accommodate routing table inconsistencies [327]. One algorithm achieves a more optimal multicasting network at the expense of greater correction overhead. Splitstream, based on Scribe and Pastry, redundantly striped content across multiple interior-node-disjoint multicast trees -- if one interior node fails, then only one stripe is lost [240].
解决动态成员资格问题[321]。Ghodsi等人在随后的一篇论文中对此进行了阐述,给出了两种广播算法,以适应路由表的不一致性[327]。一种算法以更大的校正开销为代价实现更优化的多播网络。Splitstream基于Scribe和Pastry,在多个内部节点不相交的多播树上对内容进行冗余条带化——如果一个内部节点失败,则只会丢失一条条条带[240]。
3) Large Any-Source Multicast Groups. Any group member should be allowed to send multicast messages. The group should scale to a very large number of hosts. CAN-based multicast was the first application-level multicast scheme to scale to groups of several thousands of nodes without restricting the service model to a single source [320]. Bayeux scales to large groups but has a single root node for each multicast group. It supports the any-source model only by having the root node operate as a reflector for multiple senders [242].
3) 大型任意源多播组。应允许任何组成员发送多播消息。该组应扩展到大量主机。基于CAN的多播是第一个应用级多播方案,可扩展到数千个节点的组,而不将服务模型限制在单个源[320]。Bayeux可扩展到大型组,但每个多播组都有一个根节点。它仅通过让根节点作为多个发送方的反射器来支持任意源模型[242]。
In Sections 3.5.1 to 3.5.6, we introduce the main geometries for simple key lookup and survey their robustness mechanisms.
在第3.5.1节至第3.5.6节中,我们介绍了用于简单密钥查找的主要几何图形,并考察了它们的健壮性机制。
Work began in March 2000 on a structured, fault-tolerant, wide-area Dynamic Object Location and Routing (DOLR) system called Tapestry [6, 155]. While DHTs fix replica locations, a DOLR API enables applications to control object placement [31]. Tapestry's basic location and routing scheme follows Plaxton, Rajaraman, and Richa (PRR) [30], but it remedies PRR's robustness shortcomings described in Section 3.1. Whereas each object has one root node in PRR, Tapestry uses several to avoid a single point of failure. Unlike PRR, it allows nodes to be inserted and deleted. Whereas PRR required a total ordering of nodes, Tapestry uses 'surrogate routing' to incrementally choose root nodes. The PRR algorithm does not address congestion, but Tapestry can put object copies close to nodes generating high query loads. PRR nodes only know of the nearest replica, whereas Tapestry nodes enable selection from a set of replicas (for example, to retrieve the most up to date). To detect routing faults, Tapestry uses TCP timeouts and UDP heartbeats for detection, sequential secondary neighbours for rerouting, and a 'second chance' window so that recovery can occur without the overhead of a full node insertion. Tapestry's dependability has been measured on a testbed of about 100 machines and on simulations of
2000年3月,一个名为Tapestry[6155]的结构化、容错、广域动态对象定位和路由(DOLR)系统的工作开始了。当DHT修复副本位置时,DOLR API使应用程序能够控制对象放置[31]。Tapestry的基本位置和路由方案遵循Plaxton、Rajaraman和Richa(PRR)[30],但它弥补了第3.1节中描述的PRR的健壮性缺点。虽然每个对象在PRR中都有一个根节点,但Tapestry使用多个根节点来避免单点故障。与PRR不同,它允许插入和删除节点。PRR需要节点的总排序,Tapestry使用“代理路由”以增量方式选择根节点。PRR算法不能解决拥塞问题,但Tapestry可以将对象副本放在生成高查询负载的节点附近。PRR节点只知道最近的副本,而Tapestry节点允许从一组副本中进行选择(例如,检索最新的副本)。为了检测路由错误,Tapestry使用TCP超时和UDP心跳进行检测,使用顺序次邻居进行重新路由,并使用“第二次机会”窗口,以便在不插入完整节点的情况下进行恢复。Tapestry的可靠性已经在大约100台机器的试验台上以及对
about 1000 nodes. Successful routing rates and maintenance bandwidths were measured during instantaneous failures and ongoing churn [31].
大约1000个节点。在瞬时故障和持续搅动期间,测量了成功的路由速率和维护带宽[31]。
Pastry, like Tapestry, uses Plaxton-like prefix routing [2]. As in Tapestry, Pastry nodes maintain O(log n) neighbours and route to a target in O(log n) hops. Pastry differs from Tapestry only in the method by which it handles network locality and replication [2]. Each Pastry node maintains a 'leaf set' and a 'routing table'. The leaf set contains l/2 node IDs on either side of the local node ID in the node ID space. The routing table, in row r, column c, points to the node ID with the same r-digit prefix as the local node, but with an r+1 digit of c. A Pastry node periodically probes leaf set and routing table nodes, with periodicity of Tls and Trt and a timeout Tout. Mahajan, Castry, et al. analyzed the reliability versus maintenance cost trade-offs in terms of the parameters l, Tls, Trt, and Tout [328]. They concluded that earlier concerns about excessive maintenance cost in a churning P2P network were unfounded, but suggested follow-up work for a wider range of reliability targets, maintenance costs, and probe periods. Rhea Geels, et al. concluded that existing DHTs fail at high churn rates [329]. Building on a Pastry implementation from Rice University, they found that most lookups fail to complete when there is excessive churn. They conjectured that short-lived nodes often leave the network with lookups that have not yet timed out, but no evidence was provided to confirm the theory. They identified three design issues that affect DHT performance under churn: reactive versus periodic recovery of peers; lookup timeouts; and choice of nearby neighbours. Since reactive recovery was found to add traffic to already congested links, the authors used periodic recovery in their design. For lookup timeouts, they advocated an exponentially weighted moving average of each neighbour's response time, over alternative fixed timeout or 'virtual coordinate' schemes. For selection of nearby neighbours, they found that 'global sampling' was more effective than simply sampling a 'neighbour's neighbours' or 'inverse neighbours'. Castro, Costa, et al. have refuted the suggestion that DHTs cannot cope with high churn rates [330]. By implementing methods for continuous detection and repair, their MSPastry implementation achieved shorter routing paths and a maintenance overhead of less than half a message per second per node.
糕点和Tapestry一样,使用类似Plaxton的前缀路由[2]。在Tapestry中,糕点节点保持O(logn)邻居,并以O(logn)跳数路由到目标。Pastry与Tapestry的不同之处在于它处理网络位置和复制的方法[2]。每个糕点节点维护一个“叶集”和一个“路由表”。叶集合在节点ID空间中的本地节点ID两侧包含l/2个节点ID。第r行c列中的路由表指向与本地节点具有相同r位前缀的节点ID,但其r+1位为c。糕点节点周期性地探测叶集和路由表节点,周期为Tls和Trt以及超时Tout。Mahajan,Castry等人根据参数l、Tls、Trt和Tout分析了可靠性与维护成本的权衡[328]。他们得出的结论是,早些时候对P2P网络中过度维护成本的担忧是没有根据的,但建议在更广泛的可靠性目标、维护成本和探测周期范围内开展后续工作。Rhea Geels等人得出结论,现有DHT在高流失率下失效[329]。基于赖斯大学的一个糕点实现,他们发现当存在过度搅动时,大多数查找都无法完成。他们推测,短命节点离开网络时通常会出现尚未超时的查找,但没有证据证实这一理论。他们确定了三个在客户流失情况下影响DHT性能的设计问题:对等点的被动恢复与定期恢复;查找超时;以及附近邻居的选择。由于发现反应式恢复会给已经拥塞的链路增加流量,因此作者在设计中使用了周期性恢复。对于查找超时,他们主张在替代固定超时或“虚拟坐标”方案上,对每个邻居的响应时间进行指数加权移动平均。对于邻近邻居的选择,他们发现“全球抽样”比简单地抽样“邻居的邻居”或“反向邻居”更有效。卡斯特罗、科斯塔等人驳斥了DHT无法应对高流失率的说法[330]。通过实现连续检测和修复方法,他们的MSPastry实现缩短了路由路径,并且每个节点的维护开销不到每秒半条消息。
There have been more recent proposals based on these early Plaxton-like schemes. Kademlia uses a bit-wise exclusive or (XOR) metric for the 'distance' between 160-bit node identifiers [45]. Each node keeps a list of contact nodes for each section of the node space that is between 2^i and 2^(i+1) from itself (0.i<160). Longer-lived nodes are deliberately given preference on this list -- it has been found in Gnutella that the longer a node has been active, the more likely
最近有一些提议是基于这些早期的类似普拉克斯顿的计划。Kademlia对160位节点标识符之间的“距离”使用逐位异或(XOR)度量[45]。每个节点为节点空间的每个部分保留一个联系人节点列表,该节点空间与自身(0.i<160)之间为2^i和2^(i+1)。在这个列表中,长寿命的节点被故意优先考虑——在Gnutella中发现,节点活动的时间越长,可能性就越大
it is to remain active. Like Kademlia, Willow uses the XOR metric [32]. It implements a Tree Maintenance Protocol to 'zipper' together broken segments of a tree. Where other schemes use DHT routing to inefficiently add new peers, Willow can merge disjoint or broken trees in O(log n) parallel operations.
保持活跃是很重要的。与Kademlia一样,Willow使用XOR度量[32]。它实现了一个树维护协议,将树的断开部分“拉链”在一起。当其他方案使用DHT路由来低效地添加新节点时,Willow可以在O(logn)并行操作中合并不相交或断开的树。
Chord is the prototypical DHT ring, so we first sketch its operation. Chord maps nodes and keys to an identifier ring [7, 34]. Chord supports one main operation: find a node with the given key. It uses Consistent Hashing (Section 3.1) to minimize disruption of keys when nodes join and leave the network. However, Chord peers need only track O(log n) other peers, not all peers as in the original consistent hashing proposal [49]. It enables concurrent node insertions and deletions, improving on PRR. Compared to Pastry, it has a simpler join protocol. Each Chord peer tracks its predecessor, a list of successors, and a finger table. Using the finger table, each hop is at least half the remaining distance around the ring to the target node, giving an average lookup hop count of (1/2)log n(base 2). Each Chord node runs a periodic stabilization routine that updates predecessor and successor pointers to cater to newly added nodes. All successors of a given node need to fail for the ring to fail. Although a node departure could be treated the same as a failure, a departing Chord node first notifies the predecessor and successors, so as to improve performance.
Chord是典型的DHT环,所以我们首先画出它的操作。Chord将节点和键映射到标识符环[7,34]。Chord支持一个主要操作:查找具有给定键的节点。它使用一致散列(第3.1节)来最小化节点加入和离开网络时密钥的中断。然而,Chord对等点只需要跟踪O(logn)其他对等点,而不是原始一致散列方案中的所有对等点[49]。它支持并发节点插入和删除,从而改进了PRR。与Pastry相比,它有一个更简单的连接协议。每个和弦对等点跟踪其前辈、后辈列表和手指表。使用手指表,每个跃点至少是环到目标节点剩余距离的一半,平均查找跃点计数为(1/2)logn(基数2)。每个Chord节点运行一个周期性稳定例程,该例程更新前导和后继指针以适应新添加的节点。给定节点的所有后继节点都需要失败才能使环失败。虽然可以将节点离开视为故障,但离开的Chord节点首先通知前一个节点和后一个节点,以提高性能。
In their definitive paper, Chord's inventors critiqued its dependability under churn [34]. They provided proofs on the behaviour of the Chord network when nodes in a stable network fail, stressing that such proofs are inadequate in the general case of a perpetually churning network. An earlier paper had posed the question, "For lookups to be successful during churn, how regularly do the Chord stabilization routines need to run?" [331]. Stoica, Morris, et al. modeled a range of node join/departure rates and stabilization periods for a Chord network of 1000 nodes. They measured the number of timeouts (caused by a finger pointing to a departed node) and lookup failures (caused by nodes that temporarily point to the wrong successor during churn). They also modeled the 'lookup stretch', the ratio of the Chord lookup time to optimal lookup time on the underlying network. They demonstrated the latency advantage of recursive lookups over iterative lookups, but there remains room for delay reduction. For further work, the authors proposed to improve resilience to network partitions, using a small set of known nodes or 'remembered' random nodes. To reduce the number of messages per lookup, they suggested an increase in the size of each step around the ring, accomplished via a larger number of fingers at each node. Much of the paper assumed independent, equally
在他们的权威论文中,Chord的发明者批评了它在搅动下的可靠性[34]。他们提供了当稳定网络中的节点发生故障时Chord网络行为的证明,强调这种证明在永久搅动网络的一般情况下是不充分的。早些时候的一篇论文提出了这样一个问题:“为了在翻录过程中成功地查找,和弦稳定例程需要多久运行一次?”[331]。Stoica、Morris等人对1000个节点组成的Chord网络的一系列节点加入/离开率和稳定期进行了建模。他们测量了超时次数(由手指指向离开的节点引起)和查找失败次数(由搅动期间临时指向错误后续节点的节点引起)。他们还模拟了“查找延伸”,即在底层网络上弦查找时间与最佳查找时间的比率。他们证明了递归查找比迭代查找具有延迟优势,但仍有减少延迟的空间。为了进一步的工作,作者建议使用一小部分已知节点或“记忆”随机节点来提高对网络分区的恢复能力。为了减少每次查找的消息数量,他们建议增加环周围每一步的大小,通过每个节点上更多的手指来完成。论文的大部分内容都假定是独立的、平等的
likely node failures. Analysis of correlated node failures, caused by massive site or backbone failures, will be more important in some deployments. The paper did not attempt to recommend a fixed optimal stabilization rate. Liben-Nowell, Balakrishnan, et al. had suggested that optimum stabilization rate might evolve according to measurements of peers' behaviour [331] -- such a mechanism has yet to be devised.
可能的节点故障。在某些部署中,分析由大量站点或主干故障引起的相关节点故障将更为重要。论文并未试图推荐一个固定的最佳稳定率。Liben Nowell、Balakrishnan等人曾提出,最佳稳定率可能会根据对同伴行为的测量而演变[331]——这种机制尚未设计出来。
Alima, El-Ansary, et al. considered the communication costs of Chord's stabilization routines, referred to as 'active correction', to be excessive [332]. Two other robustness issues also motivated their Distributed K-ary Search (DKS) design, which is similar to Chord. Firstly, the total system should evolve for an optimum balance between the number of peers, the lookup hop count, and the size of the routing table. Secondly, lookups should be reliable -- P2P algorithms should be able to guarantee a successful lookup for key/value pairs that have been inserted into the system. A similar lookup-correctness issue was raised elsewhere by one of Chord's authors; "Is it possible to augment the data structure to work even when nodes (and their associated finger lists) just disappear?" [333] Alima, El-Ansary, et al. asserted that P2Ps using active correction, like Chord, Pastry, and Tapestry, are unable to give such a guarantee. They propose an alternate 'correction-on-use' scheme, whereby expired routing entries are corrected by information piggybacking lookups and insertions. A prerequisite is that lookup and insertion rates are significantly higher than node arrival, departure, and failure rates. Correct lookups are guaranteed in the presence of simultaneous node arrivals or up to f concurrent node departures, where f is configurable.
Alima,El-Ansary等人认为和弦稳定程序(称为“主动校正”)的通信成本过高[332]。另外两个健壮性问题也激发了他们的分布式K元搜索(DKS)设计,这与Chord类似。首先,整个系统应该在对等点的数量、查找跳数和路由表的大小之间实现最佳平衡。其次,查找应该是可靠的——P2P算法应该能够保证成功查找插入到系统中的键/值对。Chord的一位作者在别处提出了类似的查找正确性问题;“即使节点(及其相关的手指列表)刚刚消失,是否有可能增强数据结构以使其工作?”[333]Alima,El Ansary等人断言,使用主动校正的P2P,如Chord、Pastry和Tapestry,无法提供这样的保证。他们提出了另一种“使用时更正”方案,即通过信息搭载查找和插入来更正过期的路由条目。先决条件是查找和插入速率明显高于节点到达率、离开率和故障率。在存在同时到达的节点或最多f个并发离开的节点时,可以保证正确的查找,其中f是可配置的。
Ratnasamy, Francis, et al. developed the Content-Addressable Network (CAN), another early DHT widely referenced alongside Tapestry, Pastry, and Chord [8, 334]. It is arranged as a virtual d-dimensional Cartesian coordinate space on a d-torus. Each node is responsible for a zone in this coordinate space. The designers used a heuristic thought to be important for large, churning P2P networks: keep the number of neighbours independent of system size. Consequently, its design differs significantly from Pastry, Tapestry, and Chord. Whereas they have O(log n) neighbours per node and O(log n) hops per lookup, CAN has O(d) neighbours and O(dn^(1/d)) hop count. When CAN's system-wide parameter d is set to log(n), CAN converges to their profile. If the number of nodes grows, a major rearrangement of the CAN network may be required [151]. The CAN designers considered building on PRR, but opted for the simple, low-state-per-node CAN algorithm instead. They had reasoned that a PRR-based design would not perform well under churn, given node
Ratnasamy、Francis等人开发了内容寻址网络(CAN),这是另一种早期的DHT,与挂毯、糕点和和弦一起被广泛引用[8334]。它被安排为d环面上的虚拟d维笛卡尔坐标空间。每个节点负责此坐标空间中的分区。设计者们使用了一种启发性的思想,这对于大型的、不断变化的P2P网络很重要:保持邻居的数量与系统大小无关。因此,它的设计与糕点、挂毯和和弦截然不同。虽然它们每个节点有O(logn)个邻居,每个查找有O(logn)个跃点,但CAN有O(d)个邻居和O(dn^(1/d))个跃点计数。当CAN的系统范围参数d设置为log(n)时,CAN收敛到其配置文件。如果节点数量增加,可能需要对CAN网络进行重大重新排列[151]。CAN设计人员考虑在PRR基础上构建,但选择了简单、低状态的每个节点CAN算法。他们推断,基于PRR的设计在给定节点的情况下,在搅动下不会表现良好
departures and arrivals would affect a logarithmic number of nodes [8].
出发和到达将影响对数数量的节点[8]。
There have been preliminary assessments of CAN's resilience. When a node leaves the CAN in an orderly fashion, it passes its own Virtual ID (VID), its neighbours' VIDs and IP addresses, and its key/value pairs to a takeover node. If a node leaves abruptly, its neighbours send recovery messages towards the designated takeover node. CAN ensures the recovery messages reach the takeover node, even if nodes die simultaneously, by maintaining a VID chain with Chord's stabilization algorithm. Some initial 'proof of concept' resilience simulations were run using the Network Simulator (NS) [335] for up to a few hundred nodes. Average hop counts and lookup failure probabilities were plotted against the total number of nodes for various node failure rates [8]. The CAN team documented several open research questions pertaining to state/hop count trade-offs, resilience, load, locality, and heterogeneous peers [44, 334].
已经对CAN的恢复力进行了初步评估。当节点有序地离开CAN时,它将自己的虚拟ID(VID)、邻居的VID和IP地址以及密钥/值对传递给接管节点。如果节点突然离开,其邻居会向指定的接管节点发送恢复消息。CAN通过使用Chord稳定算法维护VID链,确保恢复消息到达接管节点,即使节点同时死亡。使用网络模拟器(NS)[335]对多达数百个节点运行了一些初始的“概念验证”恢复力模拟。根据不同节点故障率下的节点总数绘制平均跳数和查找失败概率图[8]。CAN团队记录了几个与状态/跳数权衡、弹性、负载、位置和异构对等点有关的开放性研究问题[44334]。
Viceroy approximates a butterfly network [46]. It generally has constant degree like CAN. Like Chord, Tapestry, and Pastry, it has logarithmic diameter. It improves on these systems, inasmuch as its diameter is better than CAN and its degree is better than Chord, Tapestry, and Pastry. As with most DHTs, it utilizes Consistent Hashing. When a peer joins the Viceroy network, it takes a random but permanent 'identity' and selects its 'level' within the network. Each peer maintains general ring pointers ('predecessor' and 'successor'), level ring pointers ('nextonlevel' and 'prevonlevel'), and butterfly pointers ('left', 'right', and 'up'). When a peer departs, it normally passes its key pairs to a successor, and notifies other peers to find a replacement peer.
总督近似于蝴蝶网络[46]。它通常像罐头一样有恒定的度数。像弦、挂毯和糕点一样,它的直径是对数。它改进了这些系统,因为它的直径比罐头好,度比弦、挂毯和糕点好。与大多数DHT一样,它使用一致的哈希。当一个对等方加入总督网络时,它会获得一个随机但永久的“身份”,并在网络中选择其“级别”。每个对等点维护通用环指针(“前置”和“后续”)、级别环指针(“nextonlevel”和“prevonlevel”)和蝶形指针(“left”、“right”和“up”)。当一个对等方离开时,它通常会将其密钥对传递给后继方,并通知其他对等方找到替换对等方。
The Viceroy paper scoped out the issue of robustness. It explicitly assumed that peers do not fail [46]. It assumed that join and leave operations do not overlap, so as to avoid the complication of concurrency mechanisms like locking. Kaashoek and Karger were somewhat critical of Viceroy's complexity [37]. They also pointed to its fault-tolerance blind spot. Li and Plaxton suggested that such constant-degree algorithms deserve further consideration [47]. They offered several pros and cons. The limited degree may increase the risk of a network partition, or inhibit use of local neighbours (for the simple reason that there are less of them). On the other hand, it may be easier to reason about the correctness of fixed-degree networks. One of the Viceroy authors has since proposed constant-degree peers in a two-tier, locality-aware DHT [310] -- the lower degree maintained by each lower-tier peer purportedly improves network adaptability. Another Viceroy author has since explored an
总督的论文详细阐述了稳健性问题。它明确假设对等点不会失败[46]。它假设连接和离开操作不重叠,以避免并发机制(如锁定)的复杂性。Kaashoek和Karger对总督的复杂性有些批评[37]。他们还指出了它的容错盲点。Li和Plaxton建议,此类常阶算法值得进一步考虑[47]。他们提出了一些赞成和反对意见。有限的程度可能会增加网络分区的风险,或禁止使用本地邻居(原因很简单,它们较少)。另一方面,对固定度网络的正确性进行推理可能更容易。Viceroy的一位作者后来提出了两层位置感知DHT[310]中的恒定度对等点——每个较低层对等点维护的较低度据称提高了网络适应性。另一位总督的作者后来探讨了一个问题
alternative bounded-degree graph for P2P, namely the de Bruijn graph [336].
P2P的可选有界度图,即de Bruijn图[336]。
De Bruijn graphs have had numerous refinements since their inception [337, 338]. Schlumberger was the first to use them for networking [339]. Two research teams independently devised the 'generalized' de Bruijn graph that accommodates a flexible number of nodes in the system [340, 341]. Rowley and Bose studied fault-tolerant rings overlaid on the de Bruijn graph [342]. Lee, Liu, et al. devised a two-level de Bruijn hierarchy, whereby clusters of local nodes are interconnected by a second-tier ring [343].
De Bruijn图从一开始就进行了许多改进[337,338]。斯伦贝谢是第一个将其用于联网的公司[339]。两个研究小组独立设计了“广义”德布鲁因图,该图容纳了系统中灵活数量的节点[340341]。Rowley和Bose研究了覆盖在de Bruijn图上的容错环[342]。Lee,Liu,et al.设计了一个两级de Bruijn层次结构,其中本地节点集群通过第二层环互连[343]。
Many of the algorithms discussed previously are 'greedy' in that each time a query is forwarded, it moves closer to the destination. Unfortunately, greedy algorithms are generally suboptimal -- for a given degree, the routing distance is longer than necessary [344]. Unlike these earlier P2P designs, de Bruijn graphs of degree k achieve an asymptotically optimal diameter log n, where n is the number of nodes in the system and k can be varied to improve resilience. If there are O(log n) neighbours per node, the de Bruijn hop count is O(log n/log log n). To illustrate de Bruijn's practical advantage, consider a network with one million nodes of degree 20: Chord has a diameter of 20, while de Bruijn has a diameter of 5 [36]. In 2003, there were a quick succession of de Bruijn proposals -- D2B [345], Koorde [37], Distance Halving [132, 336], and the Optimal Diameter Routing Infrastructure (ODRI) [36].
前面讨论的许多算法都是“贪婪”的,因为每次转发查询时,它都会向目标移动。不幸的是,贪婪算法通常是次优的——对于给定的程度,路由距离比需要的要长[344]。与这些早期的P2P设计不同,k度的de Bruijn图实现了渐近最优直径对数n,其中n是系统中的节点数,k可以改变以提高弹性。如果每个节点有O(logn)个邻居,则de Bruijn跳数为O(logn/logn)。为了说明de Bruijn的实际优势,考虑一个具有一百万个节点20度的网络:Chord的直径为20,而de Bruijn的直径为5(36)。2003年,de Bruijn提出了一系列快速的建议——D2B[345]、Koorde[37]、距离减半[132336]和最佳直径路由基础设施(ODRI)[36]。
Fraigniaud and Gauron began the D2B design by laying out an informal problem statement: keys should be evenly distributed; lookup latency should be small; traffic load should be evenly distributed; updates of routing tables and redistribution of keys should be fast when nodes join or leave the network. They defined a node's "congestion" to be the probability that a lookup will traverse it. Apart from its optimal de Bruijn diameter, they highlighted D2B's merits: a constant expected update time when nodes join and leave (O(log n) with high probability (w.h.p.)); the expected node congestion is O((log n)/n) (O(((log n)^2)/n) w.h.p.) [345]. D2B's resilience was discussed only in passing.
Fraiginaud和Gauron在D2B设计开始时提出了一个非正式的问题陈述:钥匙应该均匀分布;查找延迟应该很小;交通负荷应均匀分布;当节点加入或离开网络时,路由表的更新和密钥的重新分配应该很快。他们将节点的“拥塞”定义为查找将遍历它的概率。除了最佳的de Bruijn直径外,他们还强调了D2B的优点:当节点加入和离开时,预期的更新时间恒定(O(logn)和高概率(w.h.p.);预期的节点拥塞为O((日志n)/n)(O((日志n)^2)/n)w.h.p.)[345]。D2B的弹性只是顺便讨论一下。
Koorde extends Chord to attain the optimal de Bruijn degree/diameter trade-off above [37]. Unlike D2B, Koorde does not constrain the selection of node identifiers. Also unlike D2B, it caters to concurrent joins, by extension of Chord's functionality. Kaashoek and Karger investigated Koorde's resilience to a rather harsh failure scenario: "in order for a network to stay connected when all nodes fail with probability of 1/2, some nodes must have degree
Koorde延伸弦以达到上述[37]的最佳德布鲁因度/直径权衡。与D2B不同,Koorde不限制节点标识符的选择。与D2B不同的是,它通过扩展Chord的功能来满足并发连接。Kaashoek和Karger调查了Koorde对相当严酷的故障场景的恢复能力:“为了使网络在所有节点以1/2的概率发生故障时保持连接,某些节点必须具有
omega(log n)" [37]. They sketched a mechanism to increase Koorde's degree for this more stringent fault tolerance, losing de Bruijn's constant degree advantage. Similarly, to achieve a constant-factor load balance, Koorde would have to sacrifice its degree optimality. They suggested that the ability to trade the degree, and hence the maintenance overhead, against the expected hop count may be important for churning systems. They also identified an open problem: find a load-balanced, degree optimal DHT. Datta, Girdzijauskas, et al. showed that for arbitrary key distributions, de Bruijn graphs fail to meet the dual goals of load balancing and search efficiency [346]. They posed the question, "(Is there) a constant routing table sized DHT which meets the conflicting goals of storage load balancing and search efficiency for an arbitrary and changing key distribution?"
ω(对数n)“[37]。他们草拟了一种机制来增加Koorde的度,以实现更严格的容错性,从而失去de Bruijn的恒定度优势。同样,为了实现恒定因子负载平衡,Koorde必须牺牲其度优化性。他们建议,与t他预计跳数可能对搅动系统很重要。他们还发现了一个开放的问题:找到负载平衡、度最优的DHT。Datta、Girdzijauskas等表明,对于任意密钥分布,de Bruijn图无法满足负载平衡和搜索效率的双重目标[346]。他们提出了一个问题,“(是否存在)一个固定路由表大小的DHT,它满足存储负载平衡和任意和不断变化的密钥分布的搜索效率这两个相互冲突的目标?”
Distance Halving was also inspired by de Bruijn [336] and shares its optimal diameter. Naor and Wieder argued for a two-step "continuous-discrete" approach for its design. The correctness of its algorithms is proven in a continuous setting. The algorithms are then mapped to a discrete space. The source x and target y are points on the continuous interval [0,1). Data items are hashed to this same interval. <str> is a string that determines how messages leave any point on the ring: if bit t of the string is 0, the left leg is taken; if it is 1, the right leg is taken. <str> increases by one bit each hop, giving a sequence by which to step around the ring. A lookup has two phases. In the first, the lookup message containing the source, target, and the random string hops toward the midpoint of the source and target. On each hop, the distance between <str>(x) and <str>(y) is halved, by virtue of the specific 'left' and 'right' functions. In the second phase, the message steps 'backward' from the midpoint to the target, removing the last bit in <str> at each hop. 'Join' and 'leave' algorithms were outlined but there was no consideration of recovery times or message load on churn. Using the Distance Halving properties, the authors devised a caching scheme to relieve congestion in a large P2P network. They have also modified the algorithm to be more robust in the presence of random faults [132].
距离减半也受到de Bruijn[336]的启发,并分享其最佳直径。Naor和Wieder主张采用两步“连续-离散”设计方法。其算法的正确性在连续环境中得到了验证。然后将算法映射到离散空间。源x和目标y是连续间隔上的点[0,1)。数据项按相同的间隔散列。<str>是一个字符串,用于确定消息如何离开环上的任何一点:如果字符串的t位为0,则取左腿;如果t位为1,则取右腿。<str>每跳增加一位,给出一个环绕环的顺序。查找分为两个阶段。在第一阶段,l包含源、目标和随机字符串的ookup消息向源和目标的中点跳跃。在每个跳跃上,<str>(x)和<str>(y)之间的距离由于特定的“左”和“右”功能,消息被减半。在第二阶段,消息从中点“后退”到目标,在每个跃点删除<str>中的最后一位。概述了“加入”和“离开”算法,但没有考虑恢复时间或搅动时的消息负载。使用距离减半属性作者设计了一种缓存方案,以缓解大型P2P网络中的拥塞。他们还修改了算法,使其在出现随机故障时更具鲁棒性[132]。
Solid comparisons of DHT resilience are scarce, but Loguinov, Kumar, et al. give just that in their ODRI paper [36]. They compare Chord, CAN, and de Bruijn in terms of routing performance, graph expansion and clustering. At the outset, they give the optimal diameter (the maximum hop count between any two nodes in the graph) and average hop count for graphs of fixed degree. De Bruijn graphs converge to both optima, and outperform Chord and CAN on both counts. These optima impact both delay and aggregate lookup load. They present two clustering measures (edge expansion and node expansion), which are interesting for resilience. Unfortunately, after decades of de Bruijn research, they have no exact solution. De Bruijn was shown to
DHT弹性的可靠比较很少,但Loguinov、Kumar等在其ODRI论文[36]中给出了这一点。他们在路由性能、图扩展和集群方面比较了Chord、CAN和de Bruijn。首先,它们给出了固定度图的最佳直径(图中任意两个节点之间的最大跳数)和平均跳数。De Bruijn图收敛到两个最优值,并且在这两个方面都优于Chord和CAN。这些优化会影响延迟和聚合查找负载。它们提出了两种集群度量(边缘扩展和节点扩展),这两种度量对于恢复能力来说很有趣。不幸的是,经过几十年的de Bruijn研究,他们没有精确的解决方案。德布鲁因被带到
be superior in terms of path overlap - "de Bruijn automatically selects backup paths that do not overlap with the best shortest path or with each other" [36].
在路径重叠方面具有优势-“de Bruijn自动选择与最佳最短路径或彼此不重叠的备份路径”[36]。
Skip Graphs have been pursued by two research camps [38, 41]. They augment the earlier Skip Lists [347, 348]. Unlike earlier balanced trees, the Skip List is probabilistic -- its insert and delete operations do not require tree rearrangements and so are faster by a constant factor. The Skip List consists of layers of ordered linked lists. All nodes participate in the bottom layer 0 list. Some of these nodes participate in the layer 1 list with some fixed probability. A subset of layer 1 nodes participate in the layer 2 list, and so on. A lookup can proceed quickly through the list by traversing the sparse upper layers until it is close to, or at, the target. Unfortunately, nodes in the upper layers of a Skip List are potential hot spots and single points of failure. Unlike Skip Lists, Skip Graphs provide multiple lists at each level for redundancy, and every node participates in one of the lists at each level.
两个研究阵营一直在研究跳跃图[38,41]。它们扩充了早期的跳过列表[347348]。与早期的平衡树不同,跳过列表是概率性的——它的插入和删除操作不需要树的重新排列,因此速度更快。跳过列表由有序链表的层组成。所有节点都参与底层0列表。其中一些节点以某种固定概率参与第1层列表。第1层节点的子集参与第2层列表,依此类推。通过遍历稀疏的上层,可以快速查找列表,直到它接近或位于目标。不幸的是,跳过列表上层的节点是潜在的热点和单点故障。与跳过列表不同,跳过图在每个级别提供多个列表以实现冗余,并且每个节点在每个级别参与其中一个列表。
Each node in a Skip Graph has theta(log n) neighbours on average, like some of the preceding DHTs. The Skip Graph's primary edge over the DHTs is its support for prefix and proximity search. DHTs hash objects to a random point in the graph. Consequently, they give no guarantees over where the data is stored. Nor do they guarantee that the path to the data will stay within the one administration as far as possible [38]. Skip graphs, on the other hand, provide for location-sensitive name searches. For example, to find the document docname on the node user.company.com, the Skip Graph might step through its ordered lists for the prefix com.company.user [38]. Alternatively, to find an object with a numeric identifier, an algorithm might search the lowest layer of the Skip Graph for the first digit, the next layer for the next digit, in the same vein until all digits are resolved. Being ordered, Skip Graphs also facilitate range searches. In each of these examples, the Skip Graph can be arranged such that the path to the target, as far as possible, stays within an administrative boundary. If one administration is detached from the rest of the Skip Graph, routing can continue within each of the partitions. Mechanisms have been devised to merge disconnected segments [157], though at this stage, segments are re-merged one at a time. A parallel merge algorithm has been flagged for future work.
跳跃图中的每个节点平均都有θ(logn)邻居,就像前面的一些DHT一样。跳过图在DHTs上的主要优势是它支持前缀和邻近搜索。DHTs将对象散列到图中的随机点。因此,它们不能保证数据存储在何处。它们也不能保证数据路径将尽可能位于一个管理范围内[38]。另一方面,跳过图提供了位置敏感的名称搜索。例如,要在节点user.company.com上查找文档docname,跳过图可能会单步遍历其前缀com.company.user的有序列表[38]。或者,要查找具有数字标识符的对象,算法可能会以相同的方式在跳过图的最低层搜索第一个数字,在下一层搜索下一个数字,直到解析所有数字。按顺序排列的跳过图也有助于范围搜索。在这些示例中的每一个示例中,可以安排跳过图,以使到目标的路径尽可能保持在管理边界内。如果一个管理与跳过图的其余部分分离,则可以在每个分区内继续路由。已经设计了机制来合并断开的段[157],尽管在这个阶段,段一次重新合并一个段。已标记并行合并算法,以备将来使用。
The advantages of Skip Graphs come at a cost. To be able to provide range queries and data placement flexibility, Skip Graph nodes require many more pointers than their DHT counterparts. An increased number of pointers implies increased maintenance traffic. Another
跳过图的优点是有代价的。为了能够提供范围查询和数据放置灵活性,Skip Graph节点需要比DHT节点多得多的指针。指针数量的增加意味着维护流量的增加。另一个
shortcoming of at least one of the early proposals was that no algorithm was given to assign keys to machines. Consequently, there are no guarantees on system-wide load balancing or on the distance between adjacent keys [100]. Aspnes, Kirsch, et al. have recently devised a scheme to reduce the inter-machine pointer count from O(mlogm), where m is the number of data elements, to O(nlog n), where n is the number of nodes [100]. They proposed a two-layer scheme -- one layer for the Skip Graph itself and the second 'bucket layer'. Each machine is responsible for a number of buckets and each bucket elects a representative key. Nodes locally adjust their load. They accept additional keys if they are below their threshold or disperse keys to nearby nodes if they are above threshold. There appear to be numerous open issues: simulations have been done but analysis is outstanding; mechanisms are required to handle the arrival and departure of nodes; there were only brief hints as to how to handle nodes with different capacities.
早期建议中至少有一个缺点是,并没有给出为机器分配密钥的算法。因此,无法保证系统范围内的负载平衡或相邻键之间的距离[100]。Aspnes,Kirsch等人最近设计了一种方案,将机器间指针计数从O(mlogm)(其中m是数据元素的数量)减少到O(nlog n)(其中n是节点的数量)[100]。他们提出了一个两层方案——一层用于Skip图本身,另一层为bucket层。每台机器负责多个铲斗,每个铲斗选择一个具有代表性的钥匙。节点本地调整其负载。如果密钥低于阈值,它们接受额外的密钥;如果密钥高于阈值,则将密钥分散到附近的节点。似乎有许多悬而未决的问题:模拟已经完成,但分析尚未完成;需要机制来处理节点的到达和离开;关于如何处理具有不同容量的节点,只有一些简短的提示。
Semantic indexes capture object relationships. While the semantic-free methods (DHTs) have firmer theoretic foundations and guarantee that a key can be found if it exists, they do not capture the relationships between the document name and its content or metadata on their own. Semantic P2P designs do. However, since their design is often driven by heuristics, they may not guarantee that scarce items will be found.
语义索引捕获对象关系。虽然语义无关方法(DHT)有更坚实的理论基础,并保证可以在密钥存在的情况下找到密钥,但它们不能单独捕获文档名称与其内容或元数据之间的关系。语义P2P设计确实如此。然而,由于他们的设计往往是由启发法驱动的,他们可能无法保证稀缺物品会被发现。
So what might the semantically indexed P2Ps add to an already crowded field of distributed information architectures? At one extreme, there are the distributed relational database management systems (RDBMSs), with their strong consistency guarantees [284]. They provide strong data independence, the flexibility of SQL queries, and strong transactional semantics -- Atomicity, Consistency, Isolation and Durability (ACID) [349]. They guarantee that the query response is complete -- all matching results are returned. The price is performance. They scale to perhaps 1000 nodes, as evidenced in Mariposa [350, 351], or require query caching front ends to constrain the load [284]. Database research has "arguably been cornered into traditional, high-end, transactional applications" [72]. Then there are distributed file systems, like the Network File System (NFS) or the Serverless Network File Systems (xFS), with little data independence, low-level file retrieval interfaces, and varied consistency [284]. Today's eclectic mix of Content Distribution Networks (CDNs) generally deload primary servers by redirecting Web requests to a nearby replica. Some intercept the HTTP requests at the DNS level and then use consistent hashing to find a replica [23]. Since this same consistent hashing was a forerunner to the DHT
那么,语义索引的p2p会给已经非常拥挤的分布式信息体系结构领域带来什么呢?一个极端是分布式关系数据库管理系统(RDBMS),具有强大的一致性保证[284]。它们提供了强大的数据独立性、SQL查询的灵活性和强大的事务语义——原子性、一致性、隔离性和持久性(ACID)[349]。它们保证查询响应是完整的——返回所有匹配的结果。价格就是性能。它们可以扩展到1000个节点,如Mariposa[350351]所示,或者需要查询缓存前端来约束负载[284]。数据库研究“可以说已经被局限于传统的高端事务应用程序”[72]。还有一些分布式文件系统,如网络文件系统(NFS)或无服务器网络文件系统(xFS),它们几乎不具有数据独立性、低级别的文件检索接口和不同的一致性[284]。今天的内容分发网络(CDN)的折衷组合通常通过将Web请求重定向到附近的副本来卸载主服务器。有些人在DNS级别截获HTTP请求,然后使用一致哈希查找副本[23]。因为这种一致的散列是DHT的先驱
approaches above, CDNs are generally constrained to the same simple key lookups.
在上述方法中,CDN通常受限于相同的简单密钥查找。
The opportunity for semantically indexed P2Ps, then, is to provide:
因此,语义索引P2P的机会是提供:
a) graduated data independence, consistency, and query flexibility, and
a) 分级数据独立性、一致性和查询灵活性,以及
b) probabilistically complete query responses, across
b) 概率完整的查询响应,跨
c) very large numbers of low-cost, geographically distributed, dynamic nodes.
c) 大量低成本、地理分布的动态节点。
P2P keyword lookup is best understood by considering the structure of the underlying index and the algorithms by which queries are routed over that index. Figure 3 summarizes the following paragraphs by classifying the keyword query algorithms, index structures, and metrics. The research has largely focused on scalability, not dependability. There have been very few studies that quantify the impact of network churn. One exception is the work by Chawathe, et al. on the Gia system [61]. Gia's combination of algorithms from Figure 3 (receiver-based flow control, biased random walk, and one-hop replication) gave 2-4 orders of magnitude improvement in query success rates in churning networks.
通过考虑基础索引的结构和在该索引上路由查询的算法,可以最好地理解P2P关键字查找。图3通过对关键字查询算法、索引结构和度量进行分类,总结了以下段落。这项研究主要关注可伸缩性,而不是可靠性。很少有研究量化网络流失的影响。一个例外是Chawathe等人关于Gia系统的工作[61]。Gia结合了图3中的算法(基于接收器的流量控制、有偏差的随机游动和单跳复制),使搅动网络中的查询成功率提高了2-4个数量级。
QUERY Query routing Flooding: Peers only index local files so queries must propagate widely [4] Policy-based: Choice of the next hop node: random; most/least recently used; most files shared; most results [265, 352] Random walks: Parallel [67] or biased random walks [61, 66] Query forwarding Iterative: Nodes perform iterative unicast searches of ultrapeers, until the desired number of results is achieved. See Gnutella UDP Extension for Scalable Searches (GUESS) [265, 353] Recursive Query flow control Receiver-controlled: Receivers grant query tokens to senders, so as to avoid overload [61] Reactive: sender throttles queries when it notices receivers are discarding packets [61, 66] Dynamic Time To Live: In the Dynamic Query Protocol, the sender adjusts the time-to-live on each iteration based on the number of results received, the number of connections left, and the number of nodes already theoretically reached by the search [354]
QUERY Query routing Flooding: Peers only index local files so queries must propagate widely [4] Policy-based: Choice of the next hop node: random; most/least recently used; most files shared; most results [265, 352] Random walks: Parallel [67] or biased random walks [61, 66] Query forwarding Iterative: Nodes perform iterative unicast searches of ultrapeers, until the desired number of results is achieved. See Gnutella UDP Extension for Scalable Searches (GUESS) [265, 353] Recursive Query flow control Receiver-controlled: Receivers grant query tokens to senders, so as to avoid overload [61] Reactive: sender throttles queries when it notices receivers are discarding packets [61, 66] Dynamic Time To Live: In the Dynamic Query Protocol, the sender adjusts the time-to-live on each iteration based on the number of results received, the number of connections left, and the number of nodes already theoretically reached by the search [354]
INDEX Distribution Compression: Leaf nodes periodically send ultrapeers compressed query routing tables, as in the Query Routing Protocol [260] One hop replication: Nodes maintain an index of content on their nearest neighbors [61, 352] Partitioning By document [210] By keyword: Use an inverted list to find a matching document, either locally or at another peer [21]. Partition by keyword sets [355] By document and keyword: Also called Multi-Level Partitioning [21]
INDEX Distribution Compression: Leaf nodes periodically send ultrapeers compressed query routing tables, as in the Query Routing Protocol [260] One hop replication: Nodes maintain an index of content on their nearest neighbors [61, 352] Partitioning By document [210] By keyword: Use an inverted list to find a matching document, either locally or at another peer [21]. Partition by keyword sets [355] By document and keyword: Also called Multi-Level Partitioning [21]
METRIC Query load: Queries per second per node/link [65, 265] Degree: The number of links per node [66, 352]. Early P2P networks approximated power-law networks, where the number of nodes with L links is proportional to L^(-k), where k is a constant [65] Query delay: Reported in terms of time and hop count [61, 66] Query success rate: The "Collapse Point" is the per-node query rate at which the query success rate drops below 90% [61]. See also [61, 265, 352].
METRIC Query load: Queries per second per node/link [65, 265] Degree: The number of links per node [66, 352]. Early P2P networks approximated power-law networks, where the number of nodes with L links is proportional to L^(-k), where k is a constant [65] Query delay: Reported in terms of time and hop count [61, 66] Query success rate: The "Collapse Point" is the per-node query rate at which the query success rate drops below 90% [61]. See also [61, 265, 352].
Figure 3: Keyword Lookup in P2P Systems
图3:P2P系统中的关键字查找
Perhaps the most widely referenced P2P system for simple keyword match is Gnutella [4]. Gnutella queries contain a string of keywords. Gnutella peers answer when they have files whose names contain all the keywords. As discussed in Section 2.1, early versions of Gnutella did not forward the document index. Queries were flooded and peers searched their own local indexes for filename matches. An early review highlighted numerous areas for improvement [65]. It was estimated that the query traffic alone from 50,000 early-generation Gnutella nodes would amount to 1.7% of the total U.S. Internet backbone traffic at December 2000 levels. It was speculated that high-degree Gnutella nodes would impede dependability. An unnecessarily high percentage of Gnutella traffic crossed Autonomous System (AS) boundaries -- a locality mechanism may have found suitable nearby peers.
对于简单的关键字匹配,最广泛引用的P2P系统可能是Gnutella[4]。Gnutella查询包含一个关键字字符串。Gnutella对等体在文件名包含所有关键字时进行应答。如第2.1节所述,Gnutella的早期版本没有转发文档索引。查询被淹没,同龄人搜索自己的本地索引以查找文件名匹配项。早期审查强调了许多有待改进的领域[65]。据估计,在2000年12月的水平上,仅来自50000个早期Gnutella节点的查询流量就占美国互联网主干网总流量的1.7%。据推测,高度Gnutella节点会阻碍可靠性。不必要的高百分比Gnutella流量跨越了自治系统(AS)边界——局部机制可能已经找到了合适的附近对等点。
Fortunately, there have since been numerous enhancements within the Gnutella Developer Forum. At the time of writing, it has been reported that Gnutella has almost 350,000 unique hosts, of which nearly 90,000 accept incoming connections [356]. One of the main improvements is that an index of filename keywords, called the Query Routing Table (QRT), can now be forwarded from 'leaf peers' to its 'ultrapeers' [260]. Ultrapeers can then ensure that the leaves only receive queries for which they have a match, dramatically reducing the query traffic at the leaves. Ultrapeers can have connections to many leaf nodes (~10-100) and a small number of other ultrapeers (<10) [260]. Originally, a leaf node's QRT was not forwarded by the parent ultrapeer to other ultrapeers. More recently, there has been a proposal to distribute aggregated QRTs amongst ultrapeers [357]. To further limit traffic, QRTs are compressed by hashing, according to the Query Routing Protocol (QRP) specification [281]. This same specification claims QRP may reduce Gnutella traffic by orders of magnitude, but cautions that simulation is required before mass deployment. A known shortcoming of QRP was that the extent of query propagation was independent of the popularity of the search terms. The Dynamic Query Protocol addressed this [358]. It required leaf nodes to send single queries to high-degree ultrapeers that adjust the queries' time-to-live (TTL) bounds according to the number of received query results. An earlier proposal, called the Gnutella UDP Extension for Scalable Searches (GUESS) [353], similarly aimed to reduce the number of queries for widely distributed files. GUESS reuses the non-forwarding idea (Section 2). A GUESS peer repeatedly queries single ultrapeers with a TTL of 1, with a small timeout on each query to limit load. It chooses the number of iterations and selects ultrapeers so as to satisfy its search needs. For adaptability, a small number of experimental Gnutella nodes have
幸运的是,在Gnutella开发者论坛中已经有了许多增强。在撰写本文时,据报道Gnutella拥有近350000台独立主机,其中近90000台接受传入连接[356]。其中一项主要改进是,一个名为查询路由表(QRT)的文件名关键字索引现在可以从“叶节点”转发到其“超级节点”[260]。然后,Ultrapeers可以确保叶子只接收它们匹配的查询,从而显著减少叶子处的查询流量。超级对等点可以连接到许多叶节点(~10-100)和少量其他超级对等点(<10)[260]。最初,叶节点的QRT不是由父ultrapeer转发给其他ultrapeer的。最近,有人提议在超级对等方之间分配聚合QRT[357]。为了进一步限制流量,根据查询路由协议(QRP)规范[281],QRT通过哈希压缩。同一规范声称QRP可以将Gnutella流量减少几个数量级,但警告说,大规模部署之前需要进行模拟。QRP的一个已知缺点是查询传播的程度与搜索词的流行程度无关。动态查询协议解决了这个问题[358]。它要求叶节点将单个查询发送给高级超级对等节点,超级对等节点根据接收到的查询结果数量调整查询的生存时间(TTL)界限。早期的一个建议,称为Gnutella UDP扩展用于可伸缩搜索(GUESS)[353],同样旨在减少广泛分布文件的查询数量。GUESS重用了非转发思想(第2节)。猜测对等点重复查询TTL为1的单个超级对等点,每次查询都有一个小的超时以限制负载。它选择迭代次数并选择超级对等点以满足其搜索需求。为了适应,少量实验性Gnutella节点
implemented eXtensible Markup Language (XML) schemas for richer queries [359, 360]. None of the above Gnutella proposals explicitly assess robustness.
为更丰富的查询实现了可扩展标记语言(XML)模式[359360]。上述Gnutella提案均未明确评估稳健性。
The broader research community has recently been leveraging aspects of the Gnutella design. Lv, Ratnasamy, et al. exposed one assumption implicit in some of the early DHT work -- that designs "such as Gnutella are inherently not scalable, and therefore should be abandoned" [66]. They argued that by making better use of the more powerful peers, Gnutella's scalability issues could be alleviated. Instead of its flooding mechanism, they used random walks. Their preliminary design to bias random walks towards high capacity nodes did not go as far as the ultrapeer proposals in that the indexes did not move to the high-capacity nodes. Chawathe, Ratnasamy, et al. chose to extend the Gnutella design with their Gia system, in response to the perceived shortcomings of DHTs in Section 1.2 [61]. Compared to the early Gnutella designs, they incorporated several novel features. They devise a topology adaptation algorithm so that most peers are attached to high-degree peers. They use a random walk search algorithm, in lieu of flooding, and bias the query load towards higher-degree peers. For 'one-hop replication', they require all nodes to keep pointers to content on adjacent peers. To implement a receiver-controlled token-based flow control, a peer must have a token from its neighbouring peer before it sends a query to it. Chawathe, Ratnasamy, et al. show by simulations that the combination of these features provides a scalability improvement of three to five orders of magnitude over Gnutella "while retaining significant robustness". The main robustness metrics they used were the 'collapse point' query rate (the per-node query rate at which the successful query rate falls below 90%) and the average hop count immediately prior to collapse. Their comparison with Gnutella did not take into account the Gnutella enhancements above -- this was left as future work. Castro, Costa, and Rowstron argued that if Gnutella were built on top of a structured overlay, then both the query and overlay maintenance traffic could be reduced [259]. Yang, Vinograd, et al. explore various policies for peer selection in the GUESS protocol, since the issue is left open in the original proposal [265]. For example, the peer initiating the query could choose peers that have been "most recently used" or that have the "most files shared". Various policy pitfalls are identified. For example, good peers could be overloaded, victims of their own success. Alternatively, malicious peers could encourage the querying peer to try inactive peers. They conclude that a "most results" policy gives the best balance of robustness and efficiency. Like Castro, Costa, and Rowstron, they concentrated on the static network scenario. Cholvi, Felber, et al. very briefly describe how similar "least recently used" and "most often used" heuristics can be used by a peer to select peer 'acquaintances' [352]. They were motivated by the
更广泛的研究界最近一直在利用Gnutella设计的各个方面。Lv,Ratnasamy,et al.揭示了一些早期DHT工作中隐含的一个假设——设计“如Gnutella本身就不可扩展,因此应该放弃”[66]。他们认为,通过更好地利用更强大的对等点,Gnutella的可伸缩性问题可以得到缓解。他们使用随机游动来代替它的泛洪机制。他们将随机游动偏向高容量节点的初步设计没有达到ultrapeer的建议,因为索引没有移动到高容量节点。Chawathe、Ratnasamy等选择使用Gia系统扩展Gnutella设计,以应对第1.2节[61]中DHTs的缺陷。与早期的Gnutella设计相比,它们融合了一些新颖的功能。他们设计了一种拓扑自适应算法,使得大多数节点都与高度节点相连。他们使用随机游走搜索算法来代替泛洪,并将查询负载偏向于更高级别的对等方。对于“一跳复制”,它们要求所有节点保留指向相邻对等节点上内容的指针。要实现基于接收方控制的令牌流控制,对等方必须在向其发送查询之前拥有来自其相邻对等方的令牌。Chawathe,Ratnasamy等通过模拟表明,这些特性的组合提供了比Gnutella三到五个数量级的可伸缩性改进,“同时保持了显著的健壮性”。他们使用的主要健壮性指标是“折叠点”查询率(成功查询率低于90%的每个节点查询率)和折叠前的平均跃点计数。他们与Gnutella的比较没有考虑到上面的Gnutella增强——这是留给未来的工作。Castro、Costa和Rowstron认为,如果Gnutella构建在结构化覆盖之上,那么查询和覆盖维护流量都可以减少[259]。Yang,Vinograd,等。探索GUESS协议中的对等选择的各种策略,因为原始提案中的问题尚未解决[265]。例如,发起查询的对等方可以选择“最近使用过”或“共享文件最多”的对等方。确定了各种政策陷阱。例如,好的同龄人可能负担过重,成为自己成功的牺牲品。或者,恶意对等方可能会鼓励查询对等方尝试非活动对等方。他们得出的结论是,“最有效”的政策在稳健性和效率之间达到了最佳平衡。像卡斯特罗、科斯塔和罗斯特龙一样,他们专注于静态网络场景。Cholvi,Felber等人非常简要地描述了对等方如何使用类似的“最近最少使用的”和“最常用的”启发式方法来选择对等方的“熟人”[352]。他们的动机是
congestion associated with Gnutella's TTL-limited flooding. Recognizing that the busiest peers can quickly become overloaded central hubs for the entire network, they limit the number of acquaintances for any given peer to 25. They sketch a mechanism to decrement a query's TTL multiple times when it traverses "interested peers". In summary, these Gnutella-related investigations are characterized by a bias for high-degree peers and very short directed query paths, a disdain for flooding, and concern about excessive load on the 'better' peers. Generally, the robustness analysis for dynamic networks (content updates and node arrivals/departures) remains open.
与Gnutella的TTL有限洪水相关的拥堵。认识到最繁忙的节点可能很快成为整个网络的超负荷中心枢纽,它们将任何给定节点的熟人数量限制为25人。他们描绘了一种机制,当查询遍历“感兴趣的对等方”时,可以多次减少查询的TTL。总之,这些与Gnutella相关的调查的特点是对高度对等点和非常短的定向查询路径的偏见,对泛洪的蔑视,以及对“更好”对等点的过度负载的担忧。通常,动态网络(内容更新和节点到达/离开)的稳健性分析仍然是开放的。
One aspect of P2P keyword search systems has received particular attention: should the index be partitioned by document or by keyword? The issue affects scalability. To be partitioned by document, each node has a local index of documents for which it is responsible. Gnutella is a prime example. Queries are generally flooded in systems partitioned by document. On the other hand, a peer may assume responsibility for a set of keywords. The peer uses an inverted list to find a matching document, either locally or at another peer. If the query contains several keywords, inverted lists may need to be retrieved from several different peers to find the intersection [21]. The initial assessment by Li, Loo, et al. was that the partition-by-document approach was superior [210]. For one scenario of a full-text Web search, they estimated the communications costs to be about six times higher than the feasible budget. However, wanting to exploit prior work on inverted list intersection, they studied the partition-by-keyword strategy. They proposed several optimizations that put the communication costs for a partition-by-keyword system within an order of magnitude of feasibility. There had been a couple of prior papers that suggested partitioned-by-keyword designs incorporate DHTs to map keywords to peers [355, 361]. In Gnawali's Keyword-set Search System (KSS), the index is partitioned by sets of keywords [355]. Terpstra, Behnel, et al. point out that by keeping keyword pairs or triples, the number of lists per document in KSS is squared or tripled [362]. Shi, Guangwen, et al. interpreted the approximations of Li, Loo, et al. to mean that neither approach is feasible on its own [21]. Their Multi-Level Partitioning (MLP) scheme incorporates both partitioning approaches. They arrange nodes into a group hierarchy, with all nodes in the single 'level 0' group, and with the same nodes sub-divided into k logical subgroups on 'level 1'. The subgroups are again divided, level by level, until level l. The inverted index is partitioned by document between groups and by keyword within groups. MLP avoids the query flooding normally associated with systems partitioned by document, since a small number of nodes in each group
P2P关键字搜索系统的一个方面受到了特别的关注:索引应该按文档还是按关键字进行划分?这个问题会影响可伸缩性。要按文档进行分区,每个节点都有其负责的文档的本地索引。Gnutella就是一个很好的例子。在按文档分区的系统中,查询通常被淹没。另一方面,对等方可能负责一组关键字。对等方使用倒排列表查找本地或另一对等方的匹配文档。如果查询包含多个关键字,则可能需要从多个不同的对等方检索反向列表,以找到交叉点[21]。Li,Loo等人的初步评估是,按文档划分的方法优于[210]。对于全文网络搜索的一个场景,他们估计通信成本大约是可行预算的六倍。然而,为了利用先前关于倒排列表交集的工作,他们研究了按关键字划分的策略。他们提出了一些优化,将按关键字划分系统的通信成本控制在可行性的一个数量级之内。此前有几篇论文建议,按关键字划分的设计应包含DHT,以便将关键字映射到对等方[355361]。在Gnawali的关键字集搜索系统(KSS)中,索引按关键字集进行划分[355]。Terpstra、Behnel等人指出,通过保留关键字对或三元组,KSS中每个文档的列表数量是平方或三元组[362]。Shi、Guangwen等将Li、Loo等的近似值解释为这两种方法本身都不可行[21]。他们的多层分区(MLP)方案结合了这两种分区方法。它们将节点排列到一个组层次结构中,所有节点都位于单个“0级”组中,相同的节点在“1级”上分为k个逻辑子组。子组再次被逐级划分,直到l级。反向索引按组之间的文档和组内的关键字进行分区。MLP避免了通常与按文档分区的系统相关联的查询洪泛,因为每个组中只有少量节点
process the query. It reduces the bandwidth overheads associated with inverted list intersection in systems partitioned solely by keyword, since groups can calculate the intersection independently over the documents for which they are responsible. MLP was overlaid on SkipNet, per Section 3.5.6 [38]. Some initial analyses of communications costs and query latencies were provided.
处理查询。它减少了在仅按关键字划分的系统中与倒排列表交集相关的带宽开销,因为组可以在其负责的文档上独立计算交集。根据第3.5.6节[38],MLP覆盖在SkipNet上。对通信成本和查询延迟进行了一些初步分析。
Much of the research above addresses partial keyword search. Daswani, et al. highlighted the open problem of efficient, comprehensive keyword search [25]. How can exhaustive searches be achieved without flooding queries to every peer in the network? Terpstra, Behnel et al. couched the keyword search problem in rendezvous terms: dynamic keyword queries need to 'meet' with static document lists [362]. Their Bitzipper scheme is partitioned by document. They improved on full flooding by putting document metadata on 2sqrt(n) nodes and forwarding queries through only 6sqrt(n) nodes. They reported that Bitzipper nodes need only 1/166th of the bandwidth of full-flooding Gnutella nodes for an exhaustive search. An initial comparison of query load was given. There was little consideration of either static or dynamic resilience; that is, of nodes failing, of documents continually changing, or of nodes continually joining and leaving the network.
上面的大部分研究涉及部分关键字搜索。Daswani等人强调了高效、全面的关键词搜索的公开问题[25]。如何在不向网络中的每个对等方大量发送查询的情况下实现穷举搜索?Terpstra、Behnel等人用集合术语表述了关键词搜索问题:动态关键词查询需要与静态文档列表“相遇”[362]。他们的Bitzipper方案是按文档划分的。通过将文档元数据放在2sqrt(n)节点上,并仅通过6sqrt(n)节点转发查询,他们改进了完全泛洪。他们报告说,Bitzippers节点只需要完全泛洪Gnutella节点带宽的1/166即可进行彻底搜索。对查询负载进行了初步比较。很少考虑静态或动态弹性;也就是说,节点出现故障,文档不断更改,或者节点不断加入和离开网络。
The field of Information Retrieval (IR) has matured considerably since its inception in the 1950s [363]. A taxonomy for IR models has been formalized [262]. It consists of four elements: a representation of documents in a collection; a representation of user queries; a framework describing relationships between document representations and queries; and a ranking function that quantifies an ordering amongst documents for a particular query. Three main issues motivate current IR research -- information relevance, query response time, and user interaction with IR systems. The dominant IR trends for searching large text collections are also threefold [262]. The size of collections is increasing dramatically. More complicated search mechanisms are being found to exploit document structure, to accommodate heterogeneous document collections, and to deal with document errors. Compression is in favour -- it may be quicker to search compact text or retrieve it from external devices. In a distributed IR system, query processing has four parts. Firstly, particular collections are targeted for the search. Secondly, queries are sent to the targeted collections. Queries are then evaluated at the individual collections. Finally, results from the collections are collated.
自20世纪50年代成立以来,信息检索(IR)领域已经相当成熟[363]。IR模型的分类已经正式化[262]。它由四个元素组成:集合中文档的表示;用户查询的表示;描述文档表示和查询之间关系的框架;以及一个排名函数,用于量化特定查询文档之间的排序。三个主要问题推动了当前的IR研究——信息相关性、查询响应时间和用户与IR系统的交互。搜索大型文本集的主要IR趋势也是三重的[262]。收藏的规模正在急剧增加。人们发现了更复杂的搜索机制来利用文档结构、适应异构文档集合和处理文档错误。压缩是有利的——搜索压缩文本或从外部设备检索压缩文本可能会更快。在分布式IR系统中,查询处理分为四个部分。首先,搜索的目标是特定的收藏。其次,将查询发送到目标集合。然后在各个集合中计算查询。最后,整理收集的结果。
So how do P2P networks differ from distributed IR systems? Bawa, Manku, et al. presented four differences [62]. They suggested that a P2P network is typically larger, with tens or hundreds of thousands of nodes. It is usually more dynamic, with node lifetimes measured in hours. They suggested that a P2P network is usually homogeneous, with a common resource description language. It lacks the centralized "mediators" found in many IR systems that assume responsibility for selecting collections, for rewriting queries, and for merging ranked results. These distinctions are generally aligned with the peer characteristics in Section 1. One might add that P2P nodes display more symmetry -- peers are often both information consumers and producers. Daswani, Garcia-Molina, et al. pointed out that, while there are IR techniques for ranked keyword search at moderate scale, research is required so that ranking mechanisms are efficient at the larger scale targeted by P2P designs [25]. Joseph and Hoshiai surveyed several P2P systems using metadata techniques from the IR toolkit [60]. They described an assortment of IR techniques and P2P systems, including various metadata formats, retrieval models, bloom filters, DHTs, and trust issues.
那么,P2P网络与分布式IR系统有何不同呢?Bawa、Manku等提出了四个差异[62]。他们认为P2P网络通常更大,有几十个或几十万个节点。它通常更具动态性,节点寿命以小时为单位。他们认为P2P网络通常是同质的,具有通用的资源描述语言。它缺少许多IR系统中的集中式“中介”,这些系统负责选择集合、重写查询和合并排名结果。这些区别通常与第1节中的同行特征一致。有人可能会补充说,P2P节点显示出更多的对称性——节点通常既是信息消费者又是信息生产者。Daswani、Garcia Molina等指出,虽然有IR技术用于中等规模的排名关键词搜索,但需要进行研究,以便排名机制在P2P设计所针对的更大范围内有效[25]。Joseph和Hoshiai使用IR工具包中的元数据技术调查了几个P2P系统[60]。他们描述了各种IR技术和P2P系统,包括各种元数据格式、检索模型、bloom过滤器、DHT和信任问题。
In the ensuing paragraphs, we survey P2P work that has incorporated information retrieval models, particularly the Vector Model and the Latent Semantic Indexing Model. We omit the P2P work based on Bayesian models. Some have pointed to such work [60], but made no explicit mention of the model [364]. One early paper on P2P content-based image retrieval also leveraged the Bayesian model [365]. For the former two models, we briefly describe the design, then try to highlight robustness aspects. On robustness, we are again stymied for lack of prior work. Indeed, a search across all proceedings of the Annual ACM Conference on Research and Development in Information Retrieval for the words "reliable", "available", "dependable", or "adaptable" did not return any results at the time of writing. In contrast, a standard text on distributed database management systems [366] contains a whole chapter on reliability. IR research concentrates on performance measures. Common performance measures include recall, the fraction of the relevant documents that has been retrieved and precision, the fraction of the retrieved documents that is relevant [262]. Ideally, an IR system would have high recall and high precision. Unfortunately techniques favouring one often disadvantage the other [363].
在接下来的几段中,我们将介绍P2P的工作,这些工作结合了信息检索模型,特别是向量模型和潜在语义索引模型。我们省略了基于贝叶斯模型的P2P工作。一些人指出了这样的工作[60],但没有明确提到模型[364]。一篇关于P2P基于内容的图像检索的早期论文也利用了贝叶斯模型[365]。对于前两个模型,我们简要描述了设计,然后试图强调健壮性方面。在健壮性方面,我们再次因为缺乏先前的工作而受阻。事实上,在撰写本报告时,在ACM信息检索研究与开发年度会议的所有会议记录中搜索“可靠”、“可用”、“可靠”或“可适应”等词并没有返回任何结果。相比之下,关于分布式数据库管理系统的标准文本[366]包含了一整章关于可靠性的内容。IR研究集中于性能度量。常见的性能度量包括召回率、已检索相关文档的比例以及精确度、检索到的相关文档的比例[262]。理想情况下,红外系统将具有高召回率和高精度。不幸的是,有利于一方的技术往往会使另一方处于劣势[363]。
The vector model [367] represents both documents and queries as term vectors, where a term could be a word or a phrase. If a document or query has a term, the weight of the corresponding dimension of the vector is non-zero. The similarity of the document and query vectors gives an indication of how well a document matches a particular query.
向量模型[367]将文档和查询表示为术语向量,其中术语可以是单词或短语。如果文档或查询有一个术语,则向量的相应维度的权重为非零。文档和查询向量的相似性表示文档与特定查询的匹配程度。
The weighting calculation is critical across the retrieval models. Amongst the numerous proposals for the probabilistic and vector models, there are some commonly recurring weighting factors [363]. One is term frequency. The more a term is repeated in a document, the more important the term is. Another is inverse document frequency. Terms common to many documents give less information about the content of a document. Then there is document length. Larger documents can bias term frequencies, so weightings are sometimes normalized against document length. The expression "TFIDF weighting" refers to the collection of weighting calculations that incorporate term frequency and inverse document frequency, not just to one. Two weighting calculations have been particularly dominant -- Okapi [368] and pivoted normalization [369]. A distributed version of Google's Pagerank algorithm has also been devised for a P2P environment [370]. It allows incremental, ongoing Pagerank calculations while documents are inserted and deleted.
权重计算在检索模型中至关重要。在众多关于概率和向量模型的建议中,有一些常见的重复加权因子[363]。一个是术语频率。文档中重复的术语越多,该术语就越重要。另一个是逆文档频率。许多文档通用的术语提供的文档内容信息较少。然后是文档长度。较大的文档可能会影响术语频率,因此权重有时会根据文档长度进行标准化。表达式“TFIDF加权”指的是加权计算的集合,该集合包含术语频率和逆文档频率,而不仅仅是一个。两种加权计算尤其占主导地位——Okapi[368]和枢轴归一化[369]。谷歌Pagerank算法的分布式版本也被设计用于P2P环境[370]。它允许在插入和删除文档时进行增量、持续的Pagerank计算。
A couple of early P2P systems leveraged the vector model. Building on the vector model, PlanetP divided the ranking problem into two steps [215]. In the first, peers are ranked for the probability that they have matching documents. In the second, higher-priority peers are contacted and the matching documents are ranked. An Inverse Peer Frequency, analogous to the Inverse Document Frequency, is used to rank relevant peers. To further constrain the query traffic, PlanetP contacts only the first group of m peers to retrieve a relevant set of documents. In this way, it repeatedly contacts groups of m peers until the top k document rankings are stable. While the PlanetP designers first quantified recall and precision, they also considered reliability. Each PlanetP peer has a global index with a list of all other peers, their IP addresses, and their Bloom filters. This large volume of shared information needs to be maintained. Klampanos and Jose saw this as PlanetP's primary shortcoming [371]. Each Bloom filter summarized the set of terms in the local index of each peer. The time to propagate changes, be they new documents or peer arrivals/departures, was studied by simulation for up to 1000 peers. The reported propagation times were in the hundreds of seconds. Design workarounds were required for PlanetP to be viable across slower dial-up modem connections. For future work, the authors were
一些早期的P2P系统利用了向量模型。基于向量模型,PlanetP将排名问题分为两个步骤[215]。在第一种情况下,根据对等方拥有匹配文档的概率对其进行排名。在第二种方法中,联系优先级较高的对等方,并对匹配文档进行排序。反向对等频率(类似于反向文档频率)用于对相关对等点进行排序。为了进一步限制查询流量,PlanetP仅联系第一组m对等方以检索相关文档集。通过这种方式,它会反复联系m个对等组,直到前k个文档排名稳定为止。虽然PlanetP的设计者首先量化了召回率和准确率,但他们也考虑了可靠性。每个PlanetP对等点都有一个全局索引,其中包含所有其他对等点、其IP地址和Bloom筛选器的列表。这大量的共享信息需要维护。克拉姆帕诺斯和何塞认为这是PlanetP的主要缺点[371]。每个Bloom过滤器汇总了每个对等方的本地索引中的术语集。通过对多达1000个节点的模拟,研究了传播更改(无论是新文档还是节点到达/离开)的时间。报告的传播时间为数百秒。PlanetP在较慢的拨号调制解调器连接中可行需要设计变通方法。对于未来的工作,作者们
considering some sort of hierarchy to scale to larger numbers of peers.
考虑某种层次结构以扩展到更多的对等点。
A second early system using the vector model is the Fault-tolerant, Adaptive, Scalable Distributed (FASD) search engine [283], which extended the Freenet design (Section 2.3) for richer queries. The original Freenet design could find a document based on a globally unique identifier. Kronfol's design added the ability to search, for example, for documents about "apples AND oranges NOT bananas". It uses a TFIDF weighting scheme to build a document's term vector. Each peer calculates the similarity of the query vector and local documents and forwards the query to the best downstream peer. Once the best downstream peer returns a result, the second-best peer is tried, and so on. Simulations with 1000 nodes gave an indication of the query path lengths in various situations -- when routing queries in a network with constant rates of node and document insertion, when bootstrapping the network in a "worst-case" ring topology, or when failing randomly and specifically selected peers. Kronfol claimed excellent average-case performance -- less than 20 hops to retrieve the same top n results as a centralized search engine. There were, however, numerous cases where the worst-case path length was several hundred hops in a network of only 1000 nodes.
使用向量模型的第二个早期系统是容错、自适应、可伸缩分布式(FASD)搜索引擎[283],它扩展了Freenet设计(第2.3节),以实现更丰富的查询。最初的Freenet设计可以找到基于全局唯一标识符的文档。例如,Kronfol的设计增加了搜索“苹果和桔子而不是香蕉”文档的功能。它使用TFIDF加权方案来构建文档的术语向量。每个对等方计算查询向量和本地文档的相似性,并将查询转发给最佳下游对等方。一旦最佳下游对等点返回结果,将尝试第二个最佳对等点,依此类推。对1000个节点的模拟给出了各种情况下的查询路径长度指示——在节点和文档插入速率恒定的网络中路由查询时,在“最坏情况”环形拓扑中引导网络时,或在随机和特定选择的对等点失败时。Kronfol声称其出色的平均案例性能——检索与集中式搜索引擎相同的前n名结果的时间不到20跳。然而,在许多情况下,在只有1000个节点的网络中,最坏情况下的路径长度是几百跳。
In parallel, there have been some P2P designs based on the vector model from the University of Rochester -- pSearch [9, 372] and eSearch [373]. The early pSearch paper suggested a couple of retrieval models, one of which was the Vector Space Model, to search only the nodes likely to have matching documents. To obtain approximate global statistics for the TFIDF calculation, a spanning tree was constructed across a subset of the peers. For the m top terms, the term-to-document index was inserted into a Content-Addressable Network [334]. A variant that mapped terms to document clusters was also suggested. eSearch is a hybrid of the partition-by-document and partition-by-term approaches (Section 4.1.2) eSearch nodes are primarily partitioned by term. Each is responsible for the inverted lists for some top terms. For each document in the inverted list, the node stores the complete term list. To reduce the size of the index, the complete term lists for a document are only kept on nodes that are responsible for top terms in the document. eSearch uses the Okapi term weighting to select top terms. It relies on the Chord DHT [34] to associate terms with nodes storing the inverted lists. It also uses automatic query expansion. This takes the significant terms from the top document matches and automatically adds them to the user's query to find additional relevant documents. The eSearch performance was quantified in terms of search precision, the number of retrieved documents, and various load-balancing metrics. Compared to the more common proposals for partitioning by
并行地,有一些基于罗切斯特大学矢量模型的P2P设计——P搜索(9, 372)和EsReCH〔373〕。早期的pSearch论文提出了两种检索模型,其中一种是向量空间模型,只搜索可能有匹配文档的节点。为了获得TFIDF计算的近似全局统计信息,在对等节点的子集上构造了一个生成树。对于m个顶级术语,术语到文档索引被插入到内容寻址网络中[334]。还提出了一种将术语映射到文档集群的变体。eSearch是按文档划分和按术语划分方法的混合(第4.1.2节)eSearch节点主要按术语划分。每个人都负责一些顶级术语的倒排列表。对于反向列表中的每个文档,节点存储完整的术语列表。为了减小索引的大小,文档的完整术语列表仅保存在负责文档中最重要术语的节点上。eSearch使用Okapi术语权重选择顶级术语。它依赖于和弦DHT[34]将术语与存储反向列表的节点相关联。它还使用自动查询扩展。这将从最上面的文档匹配中获取重要术语,并自动将它们添加到用户的查询中,以查找其他相关文档。根据搜索精度、检索到的文档数量和各种负载平衡指标对eSearch性能进行了量化。与更常见的分区建议相比
keywords, eSearch consumed 6.8 times the storage space to achieve faster search times.
关键词,eSearch消耗了6.8倍的存储空间以实现更快的搜索时间。
Another retrieval model used in P2P proposals is Latent Semantic Indexing (LSI) [374]. Its key idea is to map both the document and query vectors to a concept space with lower dimensions. The starting point is a t*N weighting matrix, where t is the total number of indexed terms, N is the total number of documents, and the matrix elements could be TFIDF rankings. Using singular value decomposition, this matrix is reduced to a smaller number of dimensions, while retaining the more significant term-to-document mappings. Baeza-Yates and Ribeiro-Neto suggested that LSI's value is a novel theoretic framework, but that its practical performance advantage for real document collections had yet to be proven [262]. pSearch incorporated LSI [9]. By placing the indices for semantically similar documents close in the network, Tang, Xu, et al. touted significant bandwidth savings relative to the early full-flooding variant of Gnutella [372]. They plotted the number of nodes visited by a query. They also explored the trade-off with accuracy, the percentage match between the documents returned by the distributed pSearch algorithm and those from a centralized LSI baseline. In a more recent update to the pSearch work, Tang, Dwarkadas, et al. summarized LSI's shortcomings [375]. Firstly, for large document collections, its retrieval quality is inherently inferior to Okapi. Secondly, singular value decomposition consumes excessive memory and computation time. Consequently, the authors used Okapi for searching while retaining LSI for indexing. With Okapi, they selected the next node to be searched and selected documents on searched nodes. With LSI, they ensured that similar documents are clustered near each other, thereby optimizing the network search costs. When retrieving a small number of top documents, the precision of LSI+Okapi approached that of Okapi. However, if retrieving a large number of documents, the LSI+Okapi precision is inferior. The authors want to improve this in future work.
P2P提案中使用的另一种检索模型是潜在语义索引(LSI)[374]。它的关键思想是将文档和查询向量映射到一个低维的概念空间。起点是t*N加权矩阵,其中t是索引项的总数,N是文档的总数,矩阵元素可以是TFIDF。使用奇异值分解,该矩阵被减少到更小的维数,同时保留更重要的文档映射项。Baeza Yates和Ribeiro Neto认为LSI的价值是一个新的理论框架,但其在实际文档收集中的实际性能优势尚未得到证明[262]。pSearch公司LSI[9]。通过将语义相似文档的索引放在网络中,Tang,Xu,et al.吹嘘相对于Gnutella的早期全洪泛变体,带宽显著节省[372]。他们绘制了查询访问的节点数。他们还探讨了准确性的权衡,分布式pSearch算法返回的文档与集中LSI基线返回的文档之间的匹配百分比。在pSearch工作的最新更新中,Tang、Drawkadas等人总结了LSI的缺点[375]。首先,对于大型文档集,其检索质量本质上低于Okapi。其次,奇异值分解消耗了大量的内存和计算时间。因此,作者使用Okapi进行搜索,同时保留LSI进行索引。使用Okapi,他们选择下一个要搜索的节点,并在搜索的节点上选择文档。使用LSI,他们确保相似的文档彼此聚集在一起,从而优化网络搜索成本。在检索少量top文档时,LSI+Okapi的精度接近Okapi。但是,如果检索大量文档,LSI+Okapi的精度较低。作者希望在未来的工作中对此进行改进。
The "small world" concept originally described how people are interconnected by short chains of acquaintances [376]. Kleinberg was struck by the algorithmic lesson of the small world, namely "that individuals using local information are collectively very effective at constructing short paths between two points in a social network" [377]. Small world networks have a small diameter and a large clustering coefficient (a large number of connections amongst relevant nodes) [378].
“小世界”的概念最初描述了人们是如何通过短的熟人链相互联系的[376]。Kleinberg被小世界的算法教训所震惊,即“使用本地信息的个人在社交网络的两点之间构建短路径时集体非常有效”[377]。小世界网络具有较小的直径和较大的聚类系数(相关节点之间的大量连接)[378]。
The small world idea has had a limited impact on peer-to-peer algorithms. It has influenced only a few unstructured [62, 378-380] and structured [344, 381] algorithms. The most promising work on "small worlds" in P2P networks are those concerned with the information retrieval metrics, precision and recall [62, 378, 380].
小世界思想对对等算法的影响有限。它只影响了少数非结构化[62378-380]和结构化[344381]算法。关于P2P网络中“小世界”的最有希望的工作是那些与信息检索度量、精确性和召回率有关的工作[62378380]。
Database research suggests directions for P2P research. Hellerstein observed that, while work on fast P2P indexes is well underway, P2P query optimization remains a promising topic for future research [23]. Kossman reviewed the state of the art of distributed query processing, highlighting areas for future research: simulation and query optimization for networks of tens of thousands of servers and millions of clients; non-relational data types (e.g., XML, text, and images); and partial query responses since on the Internet, "failure is the rule rather than the exception" [19]. A primary motivation for the P2P system, PIER, was to scale from the largest database systems of a few hundred nodes to an Internet environment in which there are over 160 million nodes [22]. Litwin and Sahri have also considered ways to combine distributed hashing, more specifically the Scalable Distributed Data Structures, with SQL databases, claiming to be first to implement scalable distributed database partitioning [382]. Motivated by the lack of transparent distribution in current distributed databases, they measure query execution times for Microsoft SQL servers aggregated by means of an SDDS layer. One of their starting assumptions was that it is too challenging to change the SQL query optimizer.
数据库研究为P2P研究指明了方向。Hellerstein观察到,虽然快速P2P索引的工作正在顺利进行,但P2P查询优化仍然是未来研究的一个有希望的课题[23]。Kossman回顾了分布式查询处理的最新进展,强调了未来研究的领域:数万台服务器和数百万客户端网络的模拟和查询优化;非关系数据类型(例如,XML、文本和图像);部分查询响应,因为在互联网上,“失败是规则,而不是例外”[19]。P2P系统PIER的一个主要动机是从几百个节点的最大数据库系统扩展到超过1.6亿个节点的互联网环境[22]。Litwin和Sahri还考虑了将分布式哈希(更具体地说是可伸缩分布式数据结构)与SQL数据库相结合的方法,声称是第一个实现可伸缩分布式数据库分区的方法[382]。受当前分布式数据库中缺乏透明分布的影响,它们通过SDDS层来度量Microsoft SQL Server的查询执行时间。他们最初的一个假设是,更改SQL查询优化器太具有挑战性。
Database research also suggests the approach to P2P research. Researchers of database query optimization were divided between those looking for optimal solutions in special cases and those using heuristics to answer all queries [383]. Gribble, et al. cast query optimization in terms of the data placement problem, which is to "distribute data and work so the full query workload is answered with lowest cost under the existing bandwidth and resource constraints" [250]. They pointed out that even the static version of this problem is NP-complete in P2P networks. Consequently, research on massive, dynamic P2P networks will likely progress using both strategies of early database research - heuristics and special-case optimizations.
数据库研究也提出了P2P研究的方法。数据库查询优化的研究人员分为在特殊情况下寻找最优解决方案的研究人员和使用启发式方法回答所有查询的研究人员[383]。Gribble等人根据数据放置问题对查询进行优化,即“分配数据和工作,以便在现有带宽和资源限制下以最低成本回答完整的查询工作负载”[250]。他们指出,即使是这个问题的静态版本在P2P网络中也是NP完全的。因此,对大规模动态P2P网络的研究可能会使用早期数据库研究的两种策略——启发式和特例优化——取得进展。
If P2P networks are going to be adaptable, if they are to support a wide range of applications, then they need to accommodate many query types [72]. Up to this point, we have reviewed queries for keys (Section 3) and keywords (Sections 4.1. and 4.2). Unfortunately, a major shortcoming of the DHTs in Section 3.5 is that they primarily support exact-match, single-key queries. Skip Graphs support range and prefix queries, but not aggregation queries. Here we probe below
如果P2P网络要具有适应性,如果它们要支持广泛的应用,那么它们需要适应多种查询类型[72]。到目前为止,我们已经回顾了关键字查询(第3节)和关键字查询(第4.1节和第4.2节)。不幸的是,第3.5节中DHT的一个主要缺点是,它们主要支持精确匹配的单键查询。跳过图支持范围和前缀查询,但不支持聚合查询。下面我们来探讨一下
the language syntax to identify the open research issues associated with more expressive P2P queries [25]. Triantafillou and Pitoura observed the disparate P2P designs for different types of queries and so outlined a unifying framework [76]. To classify queries, they considered the number of relations (single or multiple), the number of attributes (single or multiple), and the type of query operator. They described numerous operators: equality, range, join, and "special functions". The latter referred to aggregation (like sum, count, average, minimum, and maximum), grouping and ordering. The following sections approximately fit their taxonomy -- range queries, multi-attribute queries, join queries and aggregation queries. There has been some initial P2P work on other query types -- continuous queries [20, 22, 73], recursive queries [22, 74], and adaptive queries [23, 75]. For these, we defer to the primary references.
识别与更具表现力的P2P查询相关的开放性研究问题的语言语法[25]。Triantafillou和Pitoura观察到针对不同类型查询的不同P2P设计,因此勾勒出一个统一的框架[76]。为了对查询进行分类,他们考虑了关系的数量(单个或多个)、属性的数量(单个或多个)以及查询运算符的类型。他们描述了许多操作符:相等、范围、连接和“特殊函数”。后者指的是聚合(如总和、计数、平均值、最小值和最大值)、分组和排序。以下部分大致符合它们的分类法——范围查询、多属性查询、连接查询和聚合查询。在其他查询类型上也有一些最初的P2P工作——连续查询[20,22,73]、递归查询[22,74]和自适应查询[23,75]。对于这些,我们遵循主要参考。
The support of efficient range predicates in P2P networks was identified as an important open research issue by Huebsch, et al. [22]. Range partitioning has been important in parallel databases to improve performance, so that a transaction commonly needs data from only one disk or node [22]. One type of range search, longest prefix match, is important because of its prevalence in routing schemes for voice and data networks alike. In other applications, users may pose broad, inexact queries, even though they require only a small number of responses. Consequently, techniques to locate similar ranges are also important [77]. Various proposals for range searches over P2P networks are summarized in Figure 4. Since the Scalable Distributed Data Structure (SDDS) has been an important influence on contemporary Distributed Hash Tables (DHTs) [49-51], we also include ongoing work on SDDS range searches.
Huebsch等人将P2P网络中有效范围谓词的支持确定为一个重要的开放研究问题[22]。在并行数据库中,范围分区对于提高性能非常重要,因此事务通常只需要来自一个磁盘或节点的数据[22]。最长前缀匹配是一种重要的范围搜索,因为它在语音和数据网络的路由方案中都很普遍。在其他应用程序中,用户可能会提出广泛、不精确的查询,即使它们只需要少量的响应。因此,定位类似范围的技术也很重要[77]。图4总结了P2P网络范围搜索的各种建议。由于可伸缩分布式数据结构(SDD)对当代分布式哈希表(DHT)产生了重要影响[49-51],我们还包括SDD范围搜索方面正在进行的工作。
PEER-TO-PEER (P2P) Locality Sensitive Hashing (Chord) [77] Prefix Hash Trees (unspecified DHT) [78, 79] Space Filling Curves (CAN) [80] Space Filling Curves (Chord) [81] Quadtrees (Chord) [82] Skip Graphs [38, 41, 83, 100] Mercury [84] P-Grid [85, 86]
PEER-TO-PEER (P2P) Locality Sensitive Hashing (Chord) [77] Prefix Hash Trees (unspecified DHT) [78, 79] Space Filling Curves (CAN) [80] Space Filling Curves (Chord) [81] Quadtrees (Chord) [82] Skip Graphs [38, 41, 83, 100] Mercury [84] P-Grid [85, 86]
SCALABLE DISTRIBUTED DATA STRUCTURES (SDDS) RP* [87, 88]
可扩展分布式数据结构(SDD)RP*[87,88]
Figure 4: Solutions for Range Queries on P2P and SDDS Indexes
图4:P2P和SDDS索引范围查询解决方案
The papers on P2P range search can be divided into those that rely on an underlying DHT (the first five entries in Figure 4) and those that do not (the subsequent three entries). Bharambe, Agrawal, et al. argued that DHTs are inherently ill-suited to range queries [84]. The very feature that makes for their good load balancing properties, randomized hash functions, works against range queries. One possible solution would be to hash ranges, but this can require a priori partitioning. If the partitions are too large, partitions risk overload. If they are too small, there may be too many hops.
关于P2P范围搜索的论文可以分为依赖底层DHT的论文(图4中的前五个条目)和不依赖底层DHT的论文(后面的三个条目)。Bharambe、Agrawal等人认为DHT天生不适合范围查询[84]。使其具有良好负载平衡特性的特性,即随机散列函数,适用于范围查询。一种可能的解决方案是散列范围,但这可能需要先验分区。如果分区太大,则分区有过载的风险。如果它们太小,可能会有太多的啤酒花。
Despite these potential shortcomings, there have been several range query proposals based on DHTs. If hashing ranges to nodes, it is entirely possible that overlapping ranges map to different nodes. Gupta, Agrawal, et al. rely on locality sensitive hashing to ensure that, with high probability, similar ranges are mapped to the same node [77]. They propose one particular family of locality sensitive hash functions, called min-wise independent permutations. The number of partitions per node and the path length were plotted against the total numbers of peers in the system. For a network with 1000 nodes, the hop count distribution was very similar to that of the exact-matching Chord scheme. Was it load-balanced? For the same network with 50,000 partitions, there were over two orders of magnitude variation in the number of partitions at each node (first and ninety-ninth percentiles). The Prefix Hash Tree is a trie in which prefixes are hashed onto any DHT. The preliminary analysis suggests efficient doubly logarithmic lookup, balanced load, and fault resilience [78, 79]. Andrzejak and Xu were perhaps the first to propose a mapping from ranges to DHTs [80]. They use one particular Space Filling Curve, the Hilbert curve, over a Content Addressable Network (CAN) construction (Section 3.5.3). They maintain two properties: nearby ranges map to nearby CAN zones; if a range is split into two sub-ranges, then the zones of the sub-ranges partition the zone of the primary range. They plot path length and load proxy measures (the total number of messages and nodes visited) for three algorithms to propagate range queries: brute force, controlled flooding, and directed controlled flooding. Schmidt and Parashar also advocated Space Filling Curves to achieve range queries over a DHT [81]. However, they point out that, while Andrzejak and Xu use an inverse Space Filling Curve to map a one-dimensional space to d-dimensional zones, they map a d-dimensional space back to a one-dimensional index. Such a construction gives the ability to search across multiple attributes (Section 5.2). Tanin, Harwood, et al. suggested quadtrees over Chord [82], and gave preliminary simulation results for query response times.
尽管存在这些潜在的缺点,但仍有一些基于DHT的范围查询建议。如果将范围散列到节点,则重叠的范围完全可能映射到不同的节点。Gupta、Agrawal等人依靠对位置敏感的哈希来确保类似的范围以高概率映射到同一节点[77]。他们提出了一类特殊的局部敏感哈希函数,称为最小独立排列。每个节点的分区数和路径长度与系统中的对等节点总数相对应。对于1000个节点的网络,跳数分布与精确匹配Chord方案非常相似。负载平衡吗?对于具有50000个分区的同一网络,每个节点上的分区数(第一个百分位数和第九十九个百分位数)的变化超过两个数量级。前缀散列树是一个trie,其中前缀散列到任何DHT上。初步分析表明,有效的双对数查找、平衡负载和故障恢复能力[78,79]。Andrzejak和Xu可能是第一个提出从范围到DHT映射的人[80]。他们在内容寻址网络(CAN)结构(第3.5.3节)上使用一种特殊的空间填充曲线,即希尔伯特曲线。它们维护两个属性:附近的范围映射到附近的CAN区域;如果将一个范围拆分为两个子范围,则子范围的分区将划分主范围的分区。它们为传播范围查询的三种算法绘制路径长度和负载代理度量(访问的消息和节点总数):蛮力、受控泛洪和定向受控泛洪。Schmidt和Parashar还主张通过空间填充曲线实现DHT上的范围查询[81]。然而,他们指出,虽然Andrzejak和Xu使用反向空间填充曲线将一维空间映射到d维区域,但他们将d维空间映射回一维索引。这种结构提供了跨多个属性搜索的能力(第5.2节)。Tanin,Harwood等提出了Chord上的四叉树[82],并给出了查询响应时间的初步模拟结果。
Because DHTs are naturally constrained to exact-match, single-key queries, researchers have considered other P2P indexes for range searches. Several were based on Skip Graphs [38, 41], which, unlike
因为DHT自然地受到精确匹配、单键查询的限制,研究人员考虑了范围搜索的其他P2P索引。其中一些是基于跳过图[38,41],这与
the DHTs, do not necessitate randomizing hash functions and are therefore capable of range searches. Unfortunately, they are not load balanced [83]. For example, in SkipNet [48], hashing was added to balance the load -- the Skip Graph could support range searches or load balancing, but not both. One solution for load-balancing relies on an increased number of 'virtual' servers [168] but, in their search for a system that can both search for ranges and balance loads, Bharambe, Agrawal, et al. rejected the idea [84]. The virtual servers work assumed load imbalance stems from hashing; that is, by skewed data insertions and deletions. In some situations, the imbalance is triggered by a skewed query load. In such circumstances, additional virtual servers can increase the number of routing hops and increase the number of pointers that a Skip Graph needs to maintain. Ganesan, Bawa, et al. devised an alternate method to balance load [83]. They proposed two Skip Graphs, one to index the data itself and the other to track load at each node in the system. Each node is able to determine the load on its neighbours and the most (least) loaded nodes in the system. They devise two algorithms: NBRADJUST balances load on neighbouring nodes; using REORDER, empty nodes can take over some of the tuples on heavily loaded nodes. Their simulations focus on skewed storage load, rather than on skewed query loads, but they surmise that the same approach could be used for the latter.
DHT不需要随机散列函数,因此能够进行范围搜索。不幸的是,它们不是负载平衡的[83]。例如,在SkipNet[48]中,添加了哈希来平衡负载——Skip图可以支持范围搜索或负载平衡,但不能同时支持两者。负载平衡的一种解决方案依赖于数量不断增加的“虚拟”服务器[168],但在寻找既能搜索范围又能平衡负载的系统时,Bharambe、Agrawal等人拒绝了这一想法[84]。虚拟服务器的工作假设负载不平衡源于散列;也就是说,通过倾斜的数据插入和删除。在某些情况下,不平衡是由倾斜的查询负载触发的。在这种情况下,额外的虚拟服务器可以增加路由跳数,并增加跳过图需要维护的指针数。Ganesan、Bawa等人设计了另一种平衡负载的方法[83]。他们提出了两个跳过图,一个用于索引数据本身,另一个用于跟踪系统中每个节点的负载。每个节点都能够确定其邻居的负载以及系统中负载最多(最少)的节点。他们设计了两种算法:平衡相邻节点上的负载;使用重新排序,空节点可以接管重载节点上的一些元组。他们的模拟侧重于倾斜的存储负载,而不是倾斜的查询负载,但他们推测后者也可以使用相同的方法。
Other proposals for range queries avoid both the DHT and the Skip Graph. Bharambe, Agrawal, et al. distinguish their Mercury design by its support for multi-attribute range queries and its explicit load balancing [84]. In Mercury, nodes are grouped into routing hubs, each of which is responsible for various query attributes. While it does not use hashing, Mercury is loosely similar to the DHT approaches: nodes within hubs are arranged into rings, like Chord [34]; for efficient routing within hubs, k long-distance links are used, like Symphony [381]. Range lookups require O(((log n)^2)/k) hops. Random sampling is used to estimate the average load on nodes and to find the parts of the overlay that are lightly loaded. Whereas Symphony assumed that nodes are responsible for ranges of approximately equal size, Mercury's random sampling can determine the location of the start of the range, even for non-uniform ranges [84]. P-Grid [42] does provide for range queries, by virtue of the key ordering in its tree structures. Ganesan, Bawa, et al. critiqued its capabilities [83]: P-Grid assumes fixed-capacity nodes; there was no formal characterization of imbalance ratios or balancing costs; every P-Grid periodically contacts other nodes for load information.
范围查询的其他建议避免了DHT和跳过图。Bharambe,Agrawal等。通过对多属性范围查询的支持和明确的负载平衡来区分Mercury设计[84]。在Mercury中,节点被分组到路由集线器中,每个集线器负责各种查询属性。虽然Mercury不使用散列,但它与DHT方法大致相似:集线器中的节点排列成环形,如Chord[34];为了在集线器内实现高效路由,使用了k条长途链路,如Symphony[381]。范围查找需要0((日志n)^2)/k个跃点。随机抽样用于估计节点上的平均负载,并查找覆盖中负载较轻的部分。Symphony假设节点负责大小大致相等的范围,而Mercury的随机抽样可以确定范围开始的位置,即使是非均匀范围[84]。P-Grid[42]确实通过其树结构中的键顺序提供了范围查询。Ganesan、Bawa等人对其能力进行了批评[83]:P-Grid假设节点容量固定;没有对失衡比率或平衡成本进行正式描述;每个P网格周期性地联系其他节点以获取负载信息。
The work on Scalable Distributed Data Structures (SDDSs) has progressed in parallel with P2P work and has addressed range queries. Like the DHTs above, the early SDDS Linear Hashing (LH*) schemes were not order-preserving [52]. To facilitate range queries, Litwin,
可伸缩分布式数据结构(SDDSs)的工作与P2P工作并行进行,并解决了范围查询问题。与上面的DHT一样,早期SDDS线性哈希(LH*)方案不是保序的[52]。为了方便范围查询,Litwin,
Niemat, et al. devised a Range Parititioning variant, RP* [87]. There are options to dispense with the index, to add indexes to clients, and to add them to servers. In the variant without an index, every query is issued via multicasting. The other variants also use some multicasting. The initial RP* paper suggested scalability to thousands of sites, but a more recent RP* simulation was capped at 140 servers [88]. In that work, Tsangou, Ndiaye, et al. investigated TCP and UDP mechanisms by which servers could return range query results to clients. The primary metrics were search and response times. Amongst the commercial parallel database management systems, they reported that the largest seems only to scale to 32 servers (SQL Server 2000). For future work, they planned to explore aggregation of query results, rather than establishing a connection between the client and every single server with a response.
Niemat等人设计了一种范围划分变体RP*[87]。可以选择不使用索引、将索引添加到客户端以及将它们添加到服务器。在没有索引的变体中,每个查询都是通过多播发出的。其他变体也使用一些多播。最初的RP*论文建议可扩展到数千个站点,但最近的RP*模拟限制为140台服务器[88]。在这项工作中,Tsangou、Ndiaye等研究了TCP和UDP机制,通过这些机制,服务器可以向客户端返回范围查询结果。主要指标是搜索和响应时间。在商业并行数据库管理系统中,他们报告说,最大的似乎只能扩展到32台服务器(SQL Server 2000)。在未来的工作中,他们计划探索查询结果的聚合,而不是通过响应在客户机和每个服务器之间建立连接。
All in all, it seems there are numerous open research questions on P2P range queries. How realistic is the maintenance of global load statistics considering the scale and dynamism of P2P networks? Simulations at larger scales are required. Proposals should take into account both the storage load (insert and delete messages) and the query load (lookup messages). Simplifying assumptions need to be attacked. For example, how well do the above solutions work in networks with heterogeneous nodes, where the maximum message loads and index sizes are node-dependent?
总而言之,关于P2P范围查询似乎有许多开放的研究问题。考虑到P2P网络的规模和动态性,维护全局负载统计有多现实?需要进行更大规模的模拟。建议应同时考虑存储负载(插入和删除消息)和查询负载(查找消息)。简化假设需要受到攻击。例如,在最大消息负载和索引大小依赖于节点的异构节点网络中,上述解决方案的工作情况如何?
There has been some work on multi-attribute P2P queries. As late as September 2003, it was suggested that there has not been an efficient solution [76].
已有一些关于多属性P2P查询的研究。直到2003年9月,有人认为还没有一个有效的解决方案[76]。
Again, an early significant work on multi-attribute queries over aggregated commodity nodes germinated amongst SDDSs. k-RP* [89] uses the multi-dimensional binary search tree (or k-d tree, where k indicates the number of dimensions of the search index) [384]. It builds on the RP* work from the previous section and inherits their capabilities for range search and partial match. Like the other SDDSs, k-RP* indexes can fit into RAM for very fast lookup. For future work, Litwin and Neimat suggested a) a formal analysis of the range search termination algorithm and the k-d paging algorithm, b) a comparison with other multi-attribute data structures (quad-trees and R-trees) and c) exploration of query processing, concurrency control, and transaction management for k-RP* files [89]. On the latter point, others have considered transactions to be inconsequential to the core problem of supporting more complex queries in P2P networks [72].
同样,关于聚合商品节点上的多属性查询的早期重要工作在SDDSs中萌芽。k-RP*[89]使用多维二叉搜索树(或k-d树,其中k表示搜索索引的维数)[384]。它基于上一节的RP*工作,继承了它们的范围搜索和部分匹配功能。与其他SDDSs一样,k-RP*索引可以放入RAM中进行非常快速的查找。对于未来的工作,Litwin和Neimat建议a)对范围搜索终止算法和k-d分页算法进行正式分析,b)与其他多属性数据结构(四叉树和R树)进行比较,c)探索k-RP*文件的查询处理、并发控制和事务管理[89]。关于后一点,其他人认为事务对于支持P2P网络中更复杂查询的核心问题无关紧要[72]。
In architecting their secure wide-area Service Discovery Service (SDS), Hodes, Czerwinski, et al. considered three possible designs for multi-criteria search -- Centralization, Mapping and Flooding [90]. These correlate to the index classifications of Section 2 -- Central, Distributed, and Local. They discounted the centralized, Napster-like index for its risk of a single point of failure. They considered the hash-based mappings of Section 3, but concluded that it would not be possible to adequately partition data. A document satisfying many criteria would be wastefully stored in many partitions. They rejected full flooding for its lack of scalability. Instead, they devised a query filtering technique, reminiscent of Gnutella's query routing protocol (Section 4.1). Nodes push proactive summaries of their data rather than waiting for a query. Summaries are aggregated and stored throughout a server hierarchy, to guide subsequent queries. Some initial prototype measurements were provided for total load on the system, but not for load distribution. They put several issues forward for future work. The indexing needs to be flexible to change according to query and storage workloads. A mesh topology might improve on their hierarchic topology since query misses would not propagate to root servers. The choice is analogous to BGP meshes and DNS trees.
在构建安全广域服务发现服务(SDS)时,Hodes、Czerwinski等人考虑了三种可能的多准则搜索设计——集中、映射和泛洪[90]。这些与第2节的索引分类相关——中心、分布和局部。他们对集中的、类似Napster的指数进行了单点失效风险贴现。他们考虑了第3节中基于散列的映射,但得出的结论是,不可能对数据进行充分的分区。满足许多条件的文档将被浪费地存储在许多分区中。他们拒绝了完全泛洪,因为它缺乏可伸缩性。相反,他们设计了一种查询过滤技术,让人想起Gnutella的查询路由协议(第4.1节)。节点主动推送数据摘要,而不是等待查询。摘要在整个服务器层次结构中聚合和存储,以指导后续查询。提供了系统总负载的一些初始原型测量值,但未提供负载分布的测量值。他们为今后的工作提出了几个问题。索引需要灵活地根据查询和存储工作负载进行更改。网状拓扑可能会改进其层次结构拓扑,因为查询未命中不会传播到根服务器。选择类似于BGP网格和DNS树。
More recently, Cai, Frank, et al. devised the Multi-Attribute Addressable Network (MAAN) [91]. They built on Chord to provide both multi-attribute and range queries, claiming to be the first to service both query types in a structured P2P system. Each MAAN node has O(log n) neighbours, where N is the number of nodes. MAAN multi-attribute range queries require O(log n+N*Smin) hops, where Smin is the minimum range selectivity across all attributes. Selectivity is the ratio of the query range to the entire identifier range. The paper assumed that a locality preserving hash function would ensure balanced load. Per Section 5.1, the arguments by Bharambe, Agrawal, et al. have highlighted the shortcomings of this assumption [84]. MAAN required that the schema must be fixed and known in advance -- adaptable schemas were recommended for subsequent attention. The authors also acknowledged that there is a selectivity breakpoint at which full flooding becomes more efficient than their scheme. This begs for a query resolution algorithm that adapts to the profile of queries. Cai and Frank followed up with RDFPeers [55]. They differentiate their work from other RDF proposals by a) guaranteeing to find query results if they exist and b) removing the requirement of prior definition of a fixed schema. They hashed <subject, predicate, object> triples onto the MAAN and reported routing hop metrics for their implementation. Load imbalance across nodes was reduced to less than one order of magnitude, but the specific measure was the number of triples stored per node - skewed query loads were not considered. They plan to improve load balancing with the virtual servers of Section 5.1 [168].
最近,Cai、Frank等人设计了多属性可寻址网络(MAAN)[91]。他们基于Chord提供多属性和范围查询,声称是第一个在结构化P2P系统中同时提供这两种查询类型的人。每个MAAN节点都有O(logn)个邻居,其中n是节点数。MAAN多属性范围查询需要O(logn+n*Smin)跳数,其中Smin是所有属性的最小范围选择性。选择性是查询范围与整个标识符范围的比率。本文假设保留局部性的散列函数可以确保负载平衡。根据第5.1节,Bharambe、Agrawal等人的论点突出了该假设的缺陷[84]。MAAN要求模式必须是固定的,并且必须提前知道——建议后续关注适应性模式。作者还承认,存在一个选择性断点,在该断点处,完全注水比他们的方案更有效。这就需要一种适合查询配置文件的查询解析算法。Cai和Frank与RDFPeers进行了跟进[55]。它们将自己的工作与其他RDF方案区分开来,其方法是a)保证查找存在的查询结果,以及b)消除对固定模式的预先定义的要求。他们将<subject,predicate,object>三元组散列到MAAN上,并报告实现的路由跃点度量。节点间的负载不平衡被减少到一个数量级以下,但具体的度量是每个节点存储的三元组的数量——不考虑倾斜的查询负载。他们计划改进第5.1节[168]中虚拟服务器的负载平衡。
Two research teams have done some initial work on P2P join operations. Harren, Hellerstein, et al. initially described a three-layer architecture -- storage, DHT and query processing. They implemented the join operation by modifying an existing Content Addressable Network (CAN) simulator, reporting "significant hot-spots in all dimensions: storage, processing, and routing" [72]. They progressed their design more recently in the context of PIER, a distributed query engine based on CAN [22, 385]. They implemented two equi-join algorithms. In their design, a key is constructed from the "namespace" and the "resource ID". There is a namespace for each relation and the resource ID is the primary key for base tuples in that relation. Queries are multicast to all nodes in the two namespaces (relations) to be joined. Their first algorithm is a DHT version of the symmetric hash join. Each node in the two namespaces finds the relevant tuples and hashes them to a new query namespace. The resource ID in the new namespace is the concatenation of join attributes. In the second algorithm, called "fetch matches", one of the relations is already hashed on the join attributes. Each node in the second namespace finds tuples matching the query and retrieves the corresponding tuples from the first relation. They leveraged two other techniques, namely the symmetric semi-join rewrite and the Bloom filter rewrite, to reduce the high bandwidth overheads of the symmetric hash join. For an overlay of 10,000 nodes, they simulated the delay to retrieve tuples and the aggregate network bandwidth for these four schemes. The initial prototype was on a cluster of 64 PCs, but it has more recently been expanded to PlanetLab.
两个研究团队已经在P2P连接操作方面做了一些初步工作。Harren、Hellerstein等人最初描述了三层体系结构——存储、DHT和查询处理。他们通过修改现有的内容寻址网络(CAN)模拟器来实现连接操作,报告“所有方面的重要热点:存储、处理和路由”[72]。最近,他们在PIER(一种基于CAN[22385]的分布式查询引擎)的环境中改进了设计。他们实现了两种等连接算法。在他们的设计中,密钥由“名称空间”和“资源ID”构成。每个关系都有一个名称空间,资源ID是该关系中基本元组的主键。查询多播到两个要联接的名称空间(关系)中的所有节点。他们的第一个算法是对称哈希连接的DHT版本。两个名称空间中的每个节点都会找到相关元组并将它们散列到新的查询名称空间。新命名空间中的资源ID是连接属性的串联。在第二个算法中,称为“获取匹配”,其中一个关系已经在连接属性上散列。第二个命名空间中的每个节点都会查找与查询匹配的元组,并从第一个关系中检索相应的元组。他们利用了另外两种技术,即对称半连接重写和布鲁姆过滤器重写,以减少对称哈希连接的高带宽开销。对于10000个节点的覆盖,他们模拟了这四种方案检索元组的延迟和聚合网络带宽。最初的原型是在64台PC的集群上,但最近已扩展到PlanetLab。
Triantafillou and Pitoura considered multicasting to large numbers of peers to be inefficient [76]. They therefore allocated a limited number of special peers, called range guards. The domain of the join attributes was divided, one partition per range guard. Join queries were sent only to range guards, where the query was executed. Efficient selection of range guards and a quantitive evaluation of their proposal were left for future work.
Triantafillou和Pitoura认为对大量对等点进行多播是低效的[76]。因此,他们分配了数量有限的特殊对等点,称为范围守卫。连接属性的域被划分,每个范围保护一个分区。联接查询仅发送到执行查询的range guards。有效地选择靶场守卫,并对他们的建议进行定量评估,留待今后的工作进行。
Aggregation queries invariable rely on tree-structures to combine results from a large number of nodes. Examples of aggregation queries are Count, Sum, Maximum, Minimum, Average, Median, and Top-K [92, 386, 387]. Figure 5 summarizes the tree and query characteristics that affect dependability.
聚合查询总是依赖于树结构来组合来自大量节点的结果。聚合查询的示例有Count、Sum、Maximum、Minimum、Average、Median和Top-K[92386387]。图5总结了影响可靠性的树和查询特征。
Tree type: Doesn't use DHT [92], use internal DHT trees [95], use independent trees on top of DHTs Tree repair: Periodic [93], exceptional [32] Tree count: One per key, one per overlay [56] Tree flexibility: Static [92], dynamic
树类型:不使用DHT[92],使用内部DHT树[95],在DHT树修复上使用独立树:周期[93],异常[32]树计数:每键一个,每覆盖一个[56]树灵活性:静态[92],动态
Query interface: install, update, probe [98] Query distribution: multicast [98], gossip [92] Query applications: leader election, voting, resource location, object placement and error recovery [98, 388] Query semantics Consistency: Best-effort, eventual [92], snapshot / interval / single-site validity [99] Timeliness [388] Lifetime: Continuous [97, 99], single-shot No. attributes: Single, multiple Query types: Count, sum, maximum, minimum, average, median, top k [92, 386, 387]
Query interface: install, update, probe [98] Query distribution: multicast [98], gossip [92] Query applications: leader election, voting, resource location, object placement and error recovery [98, 388] Query semantics Consistency: Best-effort, eventual [92], snapshot / interval / single-site validity [99] Timeliness [388] Lifetime: Continuous [97, 99], single-shot No. attributes: Single, multiple Query types: Count, sum, maximum, minimum, average, median, top k [92, 386, 387]
Figure 5: Aggregation Trees and Queries in P2P Networks
图5:P2P网络中的聚合树和查询
Key: Astrolabe [92]; Cone [93]; Distributed Approximative System Information Service (DASIS) [95]; Scalable Distributed Information
Key: Astrolabe [92]; Cone [93]; Distributed Approximative System Information Service (DASIS) [95]; Scalable Distributed Information
Management System (SDIMS) [98]; Self-Organized Metadata Overlay (SOMO) [56]; Wildfire [99]; Willow [32]; Newscast [97]
Management System (SDIMS) [98]; Self-Organized Metadata Overlay (SOMO) [56]; Wildfire [99]; Willow [32]; Newscast [97]
The fundamental design choices for aggregation trees relate to how the overlay uses DHTs, how it repairs itself when there are failures, how many aggregation trees there are, and whether the tree is static or dynamic (Figure 5). Astrolabe is one of the most influential P2P designs included in Figure 5, yet it makes no use of DHTs [92]. Other designs make use of the internal trees of Plaxton-like DHTs. Others build independent tree structures on top of DHTs. Most of the designs repair the aggregation tree with periodic mechanisms similar to those used in the DHTs themselves. Willow is an exception [32]. It uses a Tree Maintenance Protocol to "zip" disjoint aggregation trees together when there are major failures. Yalagandula and Dahlin found reconfigurations at the aggregation layer to be costly, suggesting more research on techniques to reduce the cost and frequency of such reconfigurations [98]. Many of the designs use multiple aggregation trees, each rooted at the DHT node responsible for the aggregation attribute. On the other hand, the Self-Organized Metadata Overlay [56] uses a single tree and is vulnerable to a single point of failure at its root.
聚合树的基本设计选择与覆盖如何使用DHT、发生故障时如何修复自身、有多少聚合树以及树是静态的还是动态的有关(图5)。Astrolabe是图5中最有影响力的P2P设计之一,但它没有使用DHTs[92]。其他设计利用了普拉克斯顿式DHT的内部树。其他人则在DHT之上构建独立的树结构。大多数设计都使用类似于DHT中使用的周期机制修复聚合树。Willow是个例外[32]。当出现重大故障时,它使用树维护协议将不相交的聚合树“压缩”在一起。Yalagandula和Dahlin发现聚合层的重新配置成本很高,这意味着需要对技术进行更多研究,以降低此类重新配置的成本和频率[98]。许多设计使用多个聚合树,每个树都根在负责聚合属性的DHT节点上。另一方面,自组织元数据覆盖[56]使用一棵树,并且容易在其根节点发生单点故障。
At the time of writing, researchers have just begun exploring the performance of queries in the presence of churn. Most designs are for best-effort queries. Bawa, et al. devised a better consistency model, called Single-Site Validity [99] to qualify the accuracy of results when there is churn. Its price was a five-fold increase in the message load, when compared to an efficient but best-effort Spanning Tree. Gossip mechanisms are resilient to churn, but they delay aggregation results and incur high message cost for aggregation attributes with small read-to-write ratios.
在撰写本文时,研究人员刚刚开始探索在存在客户流失的情况下查询的性能。大多数设计都是为了尽力而为的查询。Bawa等人设计了一个更好的一致性模型,称为单点有效性[99],用于在有客户流失时验证结果的准确性。与高效但尽力而为的生成树相比,它的价格是消息负载的五倍。流言机制对搅动具有弹性,但它们会延迟聚合结果,并且会为具有较小读写比的聚合属性带来较高的消息成本。
An initial list of references to research on P2P security is given in Figure 1, Section 1. This document addresses P2P search. P2P storage, security, and applications are recommended for further investigation in Section 8.
图1第1节给出了P2P安全研究的初始参考文献列表。本文档介绍P2P搜索。第8节建议进一步调查P2P存储、安全和应用程序。
Research on peer-to-peer networks can be divided into four categories -- search, storage, security and applications. This critical survey has focused on search methods. While P2P networks have been classified by the existence of an index (structured or unstructured) or the location of the index (local, centralized, and distributed), this survey has shown that most have evolved to have some structure, whether it is indexes at superpeers or indexes defined by DHT algorithms. As for location, the distributed index is most common. The survey has characterized indexes as semantic and semantic-free. It has also critiqued P2P work on major query types. While much of it addresses work from 2000 or later, we have traced important building blocks from the 1990s.
对等网络的研究可以分为四类——搜索、存储、安全和应用。这项批判性调查的重点是搜索方法。虽然P2P网络已根据索引的存在(结构化或非结构化)或索引的位置(本地、集中和分布式)进行分类,但这项调查表明,大多数P2P网络已演变为具有某种结构,无论是超级节点的索引还是DHT算法定义的索引。至于位置,分布式索引是最常见的。该调查将索引描述为语义索引和语义无关索引。它还批评了P2P在主要查询类型上的工作。虽然其中大部分内容涉及2000年或以后的工作,但我们追踪了20世纪90年代的重要组成部分。
The initial motivation in this survey was to answer the question, "How robust are P2P search networks?" The question is key to the deployment of P2P technology. Balakrishnan, Kaashoek, et al. argued that the P2P architecture is appealing: the startup and growth barriers are low; they can aggregate enormous storage and processing resources; "the decentralized and distributed nature of P2P systems gives them the potential to be robust to faults or intentional attacks" [18]. If P2P is to be a disruptive technology in applications other than casual file sharing, then robustness needs to be practically verified [20].
这项调查的最初动机是回答“P2P搜索网络有多强大?”这个问题是部署P2P技术的关键。Balakrishnan、Kaashoek等人认为P2P架构很有吸引力:启动和增长的壁垒很低;它们可以聚集巨大的存储和处理资源;“P2P系统的分散和分布式特性使其具有对故障或故意攻击具有鲁棒性的潜力”[18]。如果P2P要成为除临时文件共享以外的应用程序中的一种破坏性技术,那么健壮性需要实际验证[20]。
The best comparative research on P2P dependability has been done in the context of Distributed Hash Tables (DHTs) [291]. The entire body of DHT research can be distilled to four main observations about dependability (Section 3.2). Firstly, static dependability comparisons show that no O(log n) DHT geometry is significantly more
P2P可靠性的最佳比较研究是在分布式哈希表(DHT)的背景下进行的[291]。DHT研究的全部内容可归纳为关于可靠性的四个主要观察结果(第3.2节)。首先,静态可信性比较表明,无O(logn)DHT几何结构的可靠性明显更高
dependable than the other O(log n) geometries. Secondly, dynamic dependability comparisons show that DHT dependability is sensitive to the underlying topology maintenance algorithms (Figure 2). Thirdly, most DHTs use O(log n) geometries to suit ephemeral nodes, whereas the O(1) hop DHTs suit stable nodes - they deserve more research attention. Fourthly, although not yet a mature science, the study of DHT dependability is helped by recent simulation tools that support multiple DHTs [299].
比其他O(对数n)几何形状更可靠。其次,动态可信性比较表明,DHT可信性对底层拓扑维护算法非常敏感(图2)。第三,大多数DHT使用O(logn)几何结构来适应短暂节点,而O(1)跳DHT适合稳定节点——它们值得更多的研究关注。第四,尽管还不是一门成熟的科学,但DHT可信性的研究得到了支持多个DHT的最新模拟工具的帮助[299]。
We make the following four suggestions for future P2P research:
我们对未来的P2P研究提出以下四点建议:
1) Complete the companion P2P surveys for storage, security, and applications. A rough outline has been suggested in Figure 1, along with references. The need for such surveys was highlighted within the peer-to-peer research group of the Internet Research Task Force (IRTF) [17].
1) 完成有关存储、安全和应用程序的配套P2P调查。图1中给出了一个大致轮廓,以及参考文献。互联网研究工作队(IRTF)的对等研究小组强调了进行此类调查的必要性[17]。
2) P2P indexes are maturing. P2P queries are embryonic. Work on more expressive queries over P2P indexes started to gain momentum in 2003, but remains fraught with efficiency and load issues.
2) P2P索引正在成熟。P2P查询还处于萌芽阶段。在P2P索引上进行更具表现力的查询的工作在2003年开始获得动力,但仍然充满了效率和负载问题。
3) Isolate the low-level mechanisms affecting robustness. There is limited value in comparing robustness of DHT geometries (like rings versus de Bruijn graphs), when robustness is highly sensitive to underlying topology maintenance algorithms (Figure 2).
3) 隔离影响鲁棒性的低级机制。当鲁棒性对底层拓扑维护算法高度敏感时,比较DHT几何体(如环和de Bruijn图)的鲁棒性的价值有限(图2)。
4) Build consensus on robustness metrics and their acceptable ranges. This paper has teased out numerous measures that impinge on robustness, for example, the median query path length for a failure of x% of nodes, bisection width, path overlap, the number of alternatives available for the next hop, lookup latency, average live bandwidth (bytes/node/sec), successful routing rates, the number of timeouts (caused by a finger pointing to a departed node), lookup failure rates (caused by nodes that temporarily point to the wrong successor during churn), and clustering measures (edge expansion and node expansion). Application-level robustness metrics need to drive a consistent assessment of the underlying search mechanics.
4) 就稳健性指标及其可接受范围达成共识。本文梳理了许多影响健壮性的度量,例如,x%节点故障的查询路径长度中值、对分宽度、路径重叠、下一跳可用的备选方案数量、查找延迟、平均实时带宽(字节/节点/秒)、成功路由率、超时数(由手指指向离开的节点引起)、查找失败率(由搅动期间临时指向错误后续节点的节点引起)和群集度量(边缘扩展和节点扩展)。应用程序级健壮性度量需要驱动对底层搜索机制的一致性评估。
This document was adapted from a paper in Elsevier's Computer Networks:
本文件改编自爱思唯尔计算机网络上的一篇论文:
J. Risson & T. Moors, Survey of Research towards Robust Peer-to-Peer Networks: Search Methods, Computer Networks 51(7)2007.
J.Risson&T.Moors,《强健对等网络研究概况:搜索方法》,计算机网络51(7)2007。
We thank Bill Yeager, Ali Ghodsi, and several anonymous reviewers for thorough comments that significantly improved the quality of earlier versions of this document.
我们感谢Bill Yeager、Ali Ghodsi和几位匿名审稿人的透彻评论,这些评论大大提高了本文档早期版本的质量。
[1] M. Roussopoulos, M. Baker, D. Rosenthal, T. Guili, P. Maniatis, and J. Mogul, 2 P2P of Not 2 P2P?, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[1] M.Roussopoulos、M.Baker、D.Rosenthal、T.Guili、P.Maniatis和J.Mogul,2点对点,而不是2点对点?,第三届点对点系统国际研讨会,2004年2月26日至27日。
[2] A. Rowstron and P. Druschel, Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems, IFIP/ACM Middleware 2001, Nov 2001.
[2] A.Rowstron和P.Druschel,《糕点:大规模对等系统的可扩展分布式对象定位和路由》,IFIP/ACM中间件,2001年11月。
[3] B. Yeager and B. Bhattacharjee, Peer-to-Peer Research Group Charter, http://www.irtf.org/charters/p2prg.html (2003)
[3] B. Yeager and B. Bhattacharjee, Peer-to-Peer Research Group Charter, http://www.irtf.org/charters/p2prg.html (2003)
[4] T. Klingberg and R. Manfredi, Gnutella 0.6, (2002)
[4] T.Klingberg和R.Manfredi,Gnutella 0.6,(2002年)
[5] I. Clarke, A Distributed Decentralised Information Storage and Retrieval System, Undergraduate Thesis, 1999.
[5] I.Clarke,《分布式分散信息存储和检索系统》,本科论文,1999年。
[6] B. Zhao, J. Kubiatowicz, and A. Joseph, Tapestry: an infrastructure for fault-tolerant wide-area location and routing, Report No. UCB/CSD-01-1141 2001.
[6] B.Zhao,J.Kubiatowicz和A.Joseph,Tapestry:容错广域定位和路由的基础设施,报告编号:UCB/CSD-01-1141 2001。
[7] I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. Kaashoek, F. Dabek, and H. Balakrishnan, Chord: A scalable peer-to-peer lookup service for internet applications, Proc. ACM SIGCOMM 2001 2001, pp. 149-160.
[7] I.Stoica、R.Morris、D.Liben Nowell、D.Karger、M.Kaashoek、F.Dabek和H.Balakrishnan,Chord:一种可扩展的互联网应用程序对等查找服务,Proc。ACM SIGCOMM 2001,第149-160页。
[8] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, A scalable content-addressable network, Proc. of the conf. on Applications, technologies, architectures and protocols for computer communications, August 27-31 2001, pp. 161-172.
[8] S.Ratnasamy、P.Francis、M.Handley、R.Karp和S.Shenker,一个可扩展的内容寻址网络,Proc。2001年8月27日至31日,计算机通信应用、技术、体系结构和协议会议,第161-172页。
[9] C. Tang, Z. Xu, and M. Mahalingam, pSearch: information retrieval in structured overlays, First Workshop on Hot Topics in Networks. Also Computer Communication Review, Volume 33, Number 1, January 2003, Oct 28-29 2002.
[9] 唐,徐,和M.Mahalingam,pSearch:结构化覆盖中的信息检索,网络热点问题第一次研讨会。《计算机通信评论》,第33卷,第1期,2003年1月,2002年10月28-29日。
[10] W. Nejdl, S. Decker, and W. Siberski, Edutella Project, RDF-based Metadata Infrastructure for P2P Applications, http://edutella.jxta.org/ (2003)
[10] W.Nejdl、S.Decker和W.Siberski,Edutella项目,基于RDF的P2P应用元数据基础设施,http://edutella.jxta.org/ (2003)
[11] K. Aberer and M. Hauswirth, Peer-to-peer information systems: concepts and models, state-of-the-art, and future systems, ACM SIGSOFT Software Engineering Notes, Proc. 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on foundations of software engineering 26 (5) (2001)
[11] K.Aber和M.Hauswirth,对等信息系统:概念和模型,最新技术和未来系统,ACM SIGSOFT软件工程注释,Proc。第八届欧洲软件工程会议与第九届ACM SIGSOFT软件工程基础国际研讨会联合举行26(5)(2001)
[12] L. Zhou and R. van Renesse, P6P: a peer-to-peer approach to internet infrastructure, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[12] L.Zhou和R.van Renesse,P6P:互联网基础设施的点对点方法,第三届点对点系统国际研讨会,2004年2月26-27日。
[13] Citeseer, Citeseer Scientific Literature Digital Library, http://citeseer.ist.psu.edu/ (2004)
[13] Citeseer, Citeseer Scientific Literature Digital Library, http://citeseer.ist.psu.edu/ (2004)
[14] D. Milojicic, V. Kalogeraki, R. Lukose, K. Nagaraja, J. Pruyne, B. Richard, S. Rollins, and Z. Xu, Peer-to-Peer Computing, HP Technical Report, HPL-2002-57 2002.
[14] D.Milojicic、V.Kalogeraki、R.Lukose、K.Nagaraja、J.Pruyne、B.Richard、S.Rollins和Z.Xu,对等计算,惠普技术报告,HPL-2002-57。
[15] K. Aberer and M. Hauswirth, An overview on peer-to-peer information systems, Workshop on Distributed Data and Structures WDAS-2002 2002.
[15] K.Aber和M.Hauswirth,点对点信息系统概述,分布式数据和结构研讨会WDAS-2002。
[16] F. DePaoli and L. Mariani, Dependability in Peer-to-Peer Systems, IEEE Internet Computing 8 (4) (2004) 54-61.
[16] F.DePaoli和L.Mariani,对等系统的可靠性,IEEE互联网计算8(4)(2004)54-61。
[17] B. Yeager, Proposed research tracks, Email to the Internet Research Task Force IRTF P2P Research Group, Nov 10 2003.
[17] B.Yeager,提议的研究轨道,给互联网研究工作队IRTF P2P研究小组的电子邮件,2003年11月10日。
[18] H. Balakrishnan, M. F. Kaashoek, D. Karger, R. Morris, and I. Stoica, Looking up data in P2P systems, Communications of the ACM 46 (2) (2003) 43-48.
[18] H.Balakrishnan,M.F.Kaashoek,D.Karger,R.Morris和I.Stoica,在P2P系统中查找数据,ACM通信46(2)(2003)43-48。
[19] D. Kossmann, The state of the art in distributed query processing, ACM Computing Surveys 32 (4) (2000) 422-469.
[19] D.Kossmann,《分布式查询处理的现状》,ACM计算调查32(4)(2000)422-469。
[20] B. Gedik and L. Liu, Reliable peer-to-peer information monitoring through replication, Proc. 22nd Int'l Symp. on Reliable Distributed Systems, 6-8 Oct 2003, pp. 56-65.
[20] B.Gedik和L.Liu,通过复制进行可靠的对等信息监控,Proc。第22届国际研讨会。关于可靠的分布式系统,2003年10月6日至8日,第56-65页。
[21] S.-M. Shi, Y. Guangwen, D. Wang, J. Yu, S. Qu, and M. Chen, Making peer-to-peer keyword searching feasible using multi-level partitioning, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[21] 施S-M,Y.广文,D.Wang,J.Yu,曲S.和陈M.利用多级划分使点对点关键字搜索可行,第三届点对点系统国际研讨会,2004年2月26-27日。
[22] R. Huebsch, J. M. Hellerstein, N. Lanham, B. T. Loo, S. Shenker, and I. Stoica, Querying the Internet with PIER, Proc. 29th Int'l Conf. on Very Large Databases VLDB'03, September 2003.
[22] R.Huebsch,J.M.Hellerstein,N.Lanham,B.T.Loo,S.Shenker和I.Stoica,通过PIER查询互联网,Proc。第29届大型数据库国际会议VLDB'03,2003年9月。
[23] J. M. Hellerstein, Toward network data independence, ACM SIGMOD Record 32 (3) (2003) 34-40.
[23] J.M.Hellerstein,《走向网络数据独立》,ACM SIGMOD记录32(3)(2003)34-40。
[24] K. Gummadi, R. Gummadi, S. Gribble, S. Ratnasamy, S. Shenker, and I. Stoica, The impact of DHT routing geometry on resilience and proximity, Proc. 2003 conference on Applications, Technologies, Architectures and Protocols for Computer Communications 2003, pp. 381-394.
[24] K.Gummadi、R.Gummadi、S.Gribble、S.Ratnasamy、S.Shenker和I.Stoica,DHT布线几何结构对弹性和接近性的影响,程序。2003年计算机通信应用、技术、体系结构和协议会议,2003年,第381-394页。
[25] N. Daswani, H. Garcia-Molina, and B. Yang, Open Problems in Data- sharing Peer-to-peer Systems, The 9th Int'l Conf. on Database Theory (ICDT 2003), Siena, Italy, 8-10 January (2003)
[25] N.Daswani,H.Garcia Molina和B.Yang,数据共享对等系统中的开放问题,第九届国际数据库理论研讨会(ICDT 2003),意大利锡耶纳,2003年1月8日至10日
[26] B. Cooper and H. Garcia-Molina, Studying search networks with SIL, Second Int'l Workshop on Peer-to-Peer Systems IPTPS 03, 20- 21 February 2003.
[26] B.Cooper和H.Garcia Molina,与SIL一起研究搜索网络,第二届点对点系统国际研讨会IPTPS 03,2003年2月20日至21日。
[27] M. Bawa, Q. Sun, P. Vinograd, B. Yang, B. Cooper, A. Crespo, N. Daswani, P. Ganesan, H. Garcia-Molina, S. Kamvar, S. Marti, and M. Schlossed, Peer-to-peer research at Stanford, ACM SIGMOD Record 32 (3) (2003) 23-28.
[27] M.Bawa、Q.Sun、P.Vinograd、B.Yang、B.Cooper、A.Crespo、N.Daswani、P.Ganesan、H.Garcia Molina、S.Kamvar、S.Marti和M.Schlossed,斯坦福大学的同行研究,ACM SIGMOD记录32(3)(2003)23-28。
[28] B. Yang and H. Garcia-Molina, Improving search in peer-to-peer networks, Proc. 22nd IEEE Int'l Conf. on Distributed Computing Systems, July 2002.
[28] B.Yang和H.Garcia Molina,《改进点对点网络中的搜索》,Proc。第22届IEEE国际会议,关于分布式计算系统,2002年7月。
[29] B. Yang and H. Garcia-Molina, Efficient search in peer-to-peer networks, Proc. 22nd Int'l Conf. on Distributed Computing Systems, July 2-5 2002.
[29] B.Yang和H.Garcia Molina,《对等网络中的高效搜索》,Proc。第22届国际分布式计算系统会议,2002年7月2日至5日。
[30] C. Plaxton, R. Rajaraman, and A. Richa, Accessing nearby copies of replicated objects in a distributed environment, ACM Symp. on Parallel Algorithms and Architectures (1997)
[30] C.Plaxton、R.Rajaraman和A.Richa,访问分布式环境中复制对象的附近副本,ACM Symp。关于并行算法和体系结构(1997)
[31] B. Zhao, L. Huang, J. Stribling, S. Rhea, A. Joseph, and J. Kubiatowicz, Tapestry: A Resilient Global-Scale overlay for Service Deployment, IEEE Journal on Selected Areas in Communications 22 (1) (2004) 41-53.
[31] B.Zhao,L.Huang,J.Stripling,S.Rhea,A.Joseph和J.Kubiatowicz,《Tapestry:服务部署的弹性全球规模覆盖》,IEEE通信选定领域杂志22(1)(2004)41-53。
[32] R. van Renesse and A. Bozdog, Willow: DHT, aggregation and publish/subscribe in one protocol, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[32] R.van Renesse和A.Bozdog,Willow:DHT,《聚合和发布/订阅一个协议》,第三届对等系统国际研讨会,2004年2月26日至27日。
[33] P. Ganesan, G. Krishna, and H. Garcia-Molina, Canon in G Major: Designing DHTs with Hierarchical Structure, Proc. Int'l Conf. on Distributed Computing Systems ICDCS 2004 2004.
[33] P.Ganesan,G.Krishna和H.Garcia Molina,G大调经典:设计具有层次结构的DHT,Proc。分布式计算系统国际会议2004。
[34] I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. Kaashoek, F. Dabek, and H. Balakrishnan, Chord: a scalable peer-to-peer lookup protocol for Internet applications, IEEE/ACM Trans. on Networking 11 (1) (2003) 17-32.
[34] I.Stoica,R.Morris,D.Liben Nowell,D.Karger,M.Kaashoek,F.Dabek和H.Balakrishnan,Chord:一种可扩展的互联网应用对等查找协议,IEEE/ACM Trans。关于网络11(1)(2003)17-32。
[35] S. Rhea, T. Roscoe, and J. Kubiatowicz, Structured Peer-to-Peer Overlays Need Application-Driven Benchmarks, Proc. 2nd Int'l Workshop on Peer-to-Peer Systems IPTPS'03, February 20-21 2003.
[35] S.Rhea、T.Roscoe和J.Kubiatowicz认为结构化对等覆盖需要应用程序驱动的基准测试,Proc。2003年2月20日至21日,第二届点对点系统IPTPS国际研讨会'03。
[36] D. Loguinov, A. Kumar, and S. Ganesh, Graph-theoretic analysis of structured peer-to-peer systems: routing distances and fault resilience, Proc. 2003 conference on Applications, Technologies, Architectures and Protocols for Computer Communications, August 25-29 2003, pp. 395-406.
[36] D.Loguinov,A.Kumar和S.Ganesh,结构化对等系统的图论分析:路由距离和故障恢复能力,Proc。2003年计算机通信应用、技术、体系结构和协议会议,2003年8月25日至29日,第395-406页。
[37] F. Kaashoek and D. Karger, Koorde: A simple degree-optimal hash table, Second Int'l Workshop on Peer-to-Peer Systems IPTPS'03, 20-21 February 2003.
[37] F.Kaashoek和D.Karger,Koorde:《简单度最优哈希表》,第二届点对点系统IPTPS国际研讨会,2003年2月20-21日。
[38] N. Harvey, M. B. Jones, S. Saroiu, M. Theimer, and A. Wolman, SkipNet: A Scalable Overlay Network with Practical Locality Properties, Proc. Fourth USENIX Symp. on Internet Technologies and Systems USITS'03, March 2003.
[38] N.Harvey,M.B.Jones,S.Saroiu,M.Theimer和A.Wolman,SkipNet:一种具有实用局部性的可扩展覆盖网络,Proc。第四次USENIX研讨会。关于互联网技术和系统,USITS'03,2003年3月。
[39] I. Gupta, K. Birman, P. Linga, A. Demers, and R. Van Renesse, Kelips: Building an efficient and stable P2P DHT through increased memory and background overhead, Second Int'l Workshop on Peer-to-Peer Systems IPTPS 03, Feb 20-21 2003.
[39] I.Gupta,K.Birman,P.Linga,A.Demers和R.Van Renesse,Kelips:通过增加内存和后台开销构建高效稳定的P2P DHT,第二届点对点系统国际研讨会IPTPS 03,2003年2月20-21日。
[40] J. Cates, Robust and Efficient Data Management for a Distributed Hash Table, Master's Thesis, May 2003.
[40] J.Cates,《分布式哈希表的稳健高效数据管理》,硕士论文,2003年5月。
[41] J. Aspnes and G. Shah, Skip graphs, Proc. 14th annual ACM-SIAM symposium on discrete algorithms (2003) 384-393.
[41] J.Aspnes和G.Shah,跳过图,过程。第十四届ACM-SIAM离散算法年度研讨会(2003)384-393。
[42] K. Aberer, P. Cudre-Mauroux, A. Datta, Z. Despotovic, M. Hauswirth, M. Punceva, and R. Schmidt, P-Grid: a self-organizing structured P2P system, ACM SIGMOD Record 32 (3) (2003) 29-33.
[42] K.Aber,P.Cudre Mauroux,A.Datta,Z.Despotovic,M.Hauswirth,M.Punceva和R.Schmidt,P-Grid:一个自组织结构化P2P系统,ACM SIGMOD记录32(3)(2003)29-33。
[43] B. Zhao, Y. Duan, L. Huang, A. Joseph, and J. Kubiatowicz, Brocade: landmark routing on overlay networks, First Int'l Workshop on Peer-to-Peer Systems IPTPS'02, March 2002.
[43] B.Zhao,Y.Duan,L.Huang,A.Joseph和J.Kubiatowicz,Brocade:覆盖网络上的地标路由,第一届点对点系统IPTPS国际研讨会,2002年3月。
[44] S. Ratnasamy, S. Shenker, and I. Stoica, Routing algorithms for DHTs: some open questions, Proc. First Int'l Workshop on Peer to Peer Systems, IPTPS 2002, March 2002.
[44] S.Ratnasamy,S.Shenker和I.Stoica,《DHT的路由算法:一些开放性问题》,Proc。第一届点对点系统国际研讨会,IPTPS 2002,2002年3月。
[45] P. Maymounkov and D. Mazieres, Kademlia: A peer-to-peer information system based on the XOR metric, Proc. First Int'l Workshop on Peer to Peer Systems, IPTPS 2002, March 7-8 2002.
[45] P.Maymounkov和D.Mazieres,Kademlia:基于XOR度量的对等信息系统,Proc。第一届点对点系统国际研讨会,IPTPS 2002,2002年3月7-8日。
[46] D. Malkhi, M. Naor, and D. Ratajczak, Viceroy: a scalable and dynamic emulation of the butterfly, Proc. 21st annual symposium on principles of distributed computing PODC, July 21-24 2002, pp. 183-192.
[46] D.Malkhi,M.Naor和D.Ratajczak,总督:蝴蝶的可伸缩动态模拟,Proc。第21届分布式计算原理年度研讨会PODC,2002年7月21-24日,第183-192页。
[47] X. Li and C. Plaxton, On name resolution in peer to peer networks, Proc. ACM SIGACT Annual Workshop on Principles of Mobile Computing POMC'02 2002, pp. 82-89.
[47] 李克强和普拉克斯顿,关于对等网络中的名称解析,Proc。ACM SIGACT移动计算原理年度研讨会POMC'02 2002,第82-89页。
[48] N. Harvey, J. Dunagan, M. B. Jones, S. Saroiu, M. Theimer, and A. Wolman, SkipNet: A Scalable overlay Network with Practical Locality Properties, Microsoft Research Technical Report MSR-TR- 2002-92 (2002)
[48] N.Harvey,J.Dunagan,M.B.Jones,S.Saroiu,M.Theimer和A.Wolman,SkipNet:具有实际位置属性的可扩展覆盖网络,微软研究技术报告MSR-TR-2002-92(2002)
[49] D. Karger, E. Lehman, T. Leighton, R. Panigraphy, M. Levin, and D. Lewin, Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web, ACM Symp. on Theory of Computing (1997)
[49] D.Karger,E.Lehman,T.Leighton,R.Panigraphy,M.Levin和D.Lewin,《一致散列和随机树:缓解万维网热点的分布式缓存协议》,ACM Symp。关于计算理论(1997)
[50] W. Litwin, M. Neimat, and D. Schneider, LH* - a scalable, distributed data structure, ACM Trans. on Database Systems (TODS) 21 (4) (1996) 480-525.
[50] W.Litwin,M.Neimat和D.Schneider,LH*——一种可扩展的分布式数据结构,ACM Trans。关于数据库系统(TODS)21(4)(1996)480-525。
[51] R. Devine, Design and Implementation of DDH: A Distributed Dynamic Hashing Algorithm, Proc. 4th Int'l Conf. on Foundations of Data Organizations and Algorithms 1993.
[51] R.Devine,DDH的设计与实现:一种分布式动态哈希算法,Proc。第四届国际会议,数据组织和算法基础,1993年。
[52] W. Litwin, M.-A. Niemat, and D. Schneider, LH* - Linear Hashing for Distributed Files, Proc. ACM Int'l Conf. on Mngt. of Data SIGMOD, May 1993, pp. 327-336.
[52] W.Litwin,M.-A.Niemat和D.Schneider,LH*-分布式文件的线性哈希,Proc。关于Mngt的ACM国际配置。SIGMOD数据汇编,1993年5月,第327-336页。
[53] C. Tempich, S. Staab, and A. Wranik, Remindin': semantic query routing in peer-to-peer networks, Proc. 13th conference on World Wide Web, New York, NY, USA, May 17-20 (2004) 640-649.
[53] C.Tempich,S.Staab和A.Wranik,提醒:对等网络中的语义查询路由,Proc。第13届万维网会议,美国纽约州纽约市,2004年5月17-20日,第640-649页。
[54] B. T. Loo, R. Huebsch, I. Stoica, and J. M. Hellerstein, The case for a hybrid P2P search infrastructure, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[54] B.T.Loo,R.Huebsch,I.Stoica和J.M.Hellerstein,《混合P2P搜索基础设施案例》,第三届对等系统国际研讨会,2004年2月26-27日。
[55] M. Cai and M. Frank, RDFPeers: a scalable distributed RDF repository based on a structured peer-to-peer network, Proc. 13th conference on World Wide Web, May 17-20 2004, pp. 650-657.
[55] M.Cai和M.Frank,RDFPeers:一个基于结构化对等网络的可扩展分布式RDF存储库,Proc。第13届万维网会议,2004年5月17日至20日,第650-657页。
[56] Z. Zhang, S.-M. Shi, and J. Zhu, SOMO: Self-organized metadata overlay for resource management in P2P DHTs, Second Int'l Workshop on Peer-to-Peer Systems IPTPS'03, Feb 20-21 2003.
[56] Zhang,S.-M.Shi,和J.Zhu,SOMO:P2P DHTs中用于资源管理的自组织元数据覆盖,第二届点对点系统IPTPS国际研讨会,2003年2月20-21日。
[57] B. Yang and H. Garcia-Molina, Designing a super-peer network, Proc. 19th Int'l Conf. on Data Engineering ICDE, March 2003.
[57] B.Yang和H.Garcia Molina,设计超级对等网络,Proc。第19届数据工程国际会议,2003年3月。
[58] I. Tatarinov, P. Mork, Z. Ives, J. Madhavan, A. Halevy, D. Suciu, N. Dalvi, X. Dong, Y. Kadiyska, and G. Miklau, The Piazza peer data management project, ACM SIGMOD Record 32 (3) (2003) 47-52.
[58] I.塔塔里诺夫、P.莫克、Z.艾夫斯、J.马达万、A.哈雷维、D.苏丘、N.达尔维、X.东、Y.卡迪斯卡和G.米克劳,《Piazza对等数据管理项目》,ACM SIGMOD记录32(3)(2003)47-52。
[59] W. Nejdl, W. Siberski, and M. Sintek, Design Issues and Challenges for RDF- and schema-based peer-to-peer systems, ACM SIGMOD Record 32 (3) (2003) 41-46.
[59] W.Nejdl、W.Siberski和M.Sintek,基于RDF和模式的对等系统的设计问题和挑战,ACM SIGMOD记录32(3)(2003)41-46。
[60] S. Joseph and T. Hoshiai, Decentralized Meta-Data Strategies: Effective Peer-to-Peer Search, IEICE Trans. Commun. E86-B (6 June) (2003) 1740-1753.
[60] S.Joseph和T.Hoshiai,《分散元数据策略:有效的点对点搜索》,IEICE Trans。公社。E86-B(2003年6月6日)1740-1753。
[61] Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, and S. Shenker, Making gnutella-like P2P systems scalable, Proc. 2003 conference on Applications, Technologies, Architectures and Protocols for Computer Communications, August 25-29 2003, pp. 407-418.
[61] Y.Chawather、S.Ratnasamy、L.Breslau、N.Lanham和S.Shenker使类似gnutella的P2P系统具有可扩展性。2003年计算机通信应用、技术、体系结构和协议会议,2003年8月25日至29日,第407-418页。
[62] M. Bawa, G. S. Manku, and P. Raghavan, SETS: search enhanced by topic segmentation, Proc. 26th annual international ACM SIGIR conference on Research and Development in Information Retrieval 2003, pp. 306-313.
[62] M.Bawa,G.S.Manku和P.Raghavan,《集合:主题分割增强的搜索》,Proc。2003年第26届ACM SIGIR信息检索研究与开发国际年会,第306-313页。
[63] H. Sunaga, M. Takemoto, and T. Iwata, Advanced peer to peer network platform for various services - SIONet Semantic Information Oriented Network, Proc. Second Int'l Conf. on Peer to Peer Computing, Sept 5-7 2002, pp. 169-170.
[63] H.Sunaga、M.Takemoto和T.Iwata,用于各种服务的高级对等网络平台——SIONet语义信息导向网络,Proc。关于对等计算的第二次国际会议,2002年9月5日至7日,第169-170页。
[64] M. Schlosser, M. Sintek, S. Decker, and W. Nejdl, HyperCuP - Hypercubes, Ontologies and P2P Networks, Springer Lecture Notes on Computer Science, Agents and Peer-to-Peer Systems Vol. 2530 (2002)
[64] M.Schlosser、M.Sintek、S.Decker和W.Nejdl,《超立方体、本体论和P2P网络》,斯普林格计算机科学讲义,代理和对等系统第2530卷(2002年)
[65] M. Ripeanu, A. Iamnitchi, and P. Foster, Mapping the Gnutella network, IEEE Internet Computing 6 (1) (2002) 50-57.
[65] M.Ripeanu,A.Iamnitchi和P.Foster,绘制Gnutella网络图,IEEE互联网计算6(1)(2002)50-57。
[66] Q. Lv, S. Ratnasamy, and S. Shenker, Can Heterogeneity Make Gnutella Scalable?, Proc. 1st Int'l Workshop on Peer-to-Peer Systems IPTPS2002, March 7-8 2002.
[66] 问:Lv、S.Ratnasamy和S.Shenker的异质性能否使Gnutella具有可扩展性。第一届点对点系统国际研讨会IPTPS2002,2002年3月7日至8日。
[67] Q. Lv, P. Cao, E. Cohen, K. Li, and S. Shenker, Search and replication in unstructured peer to peer networks, Proc. 16th international conference on supercomputing, June 22-26 2002, pp. 84-95.
[67] Q.Lv,P.Cao,E.Cohen,K.Li和S.Shenker,非结构化对等网络中的搜索和复制,Proc。第16届超级计算国际会议,2002年6月22-26日,第84-95页。
[68] V. Kalogaraki, D. Gunopulos, and D. Zeinalipour-Yasti, XML schemas: integration and translation: A local search mechanism for peer to peer networks, Proc. 11th ACM international conference on Information and Knowledge management 2002, pp. 300- 307.
[68] V.Kalogaraki,D.Gunoupolos和D.Zeinalipour Yasti,《XML模式:集成和转换:对等网络的本地搜索机制》,Proc。2002年第11届ACM信息和知识管理国际会议,第300-307页。
[69] O. Babaoglu, H. Meling, and Montresor, Anthill: a framework for the development of agent-based peer-to-peer systems, Proc. IEEE Int'l Conf. on Distributed Computer systems 2002, pp. 15- 22.
[69] O.Babaoglu,H.Meling和Montresor,Anthill:基于代理的对等系统开发框架,Proc。《IEEE国际分布式计算机系统会议2002》,第15-22页。
[70] M. Jovanovic, Modeling large-scale peer-to-peer networks and a case study of Gnutella, Master's Thesis 2001.
[70] M.Jovanovic,大型对等网络建模和Gnutella案例研究,硕士论文2001。
[71] I. Clarke, O. Sandberg, B. Wiley, and T. Hong, Freenet: A Distributed Anonymous Information Storage and Retrieval System. Springer, New York, USA, 2001.
[71] I.Clarke,O.Sandberg,B.Wiley和T.Hong,Freenet:分布式匿名信息存储和检索系统。斯普林格,纽约,美国,2001年。
[72] J. Harren, J. Hellerstein, R. Huebsch, B. Loo, S. Shenker, and I. Stoica, Complex queries in DHT-based peer-to-peer networks, Proc. First Int'l Workshop on Peer to Peer Systems IPTPS 2002, March 2002.
[72] J.Harren,J.Hellerstein,R.Huebsch,B.Loo,S.Shenker和I.Stoica,基于DHT的对等网络中的复杂查询,Proc。2002年3月举办的第一届点对点系统IPTPS国际研讨会。
[73] B. Gedik and L. Liu, PeerCQ: A Decentralized and Self-Configuring Peer-to-Peer Information Monitoring System, Proc. 23rd Int'l Conf. on Distributed Computing Systems ICDCS2003, May 19-22 2003.
[73] B.Gedik和L.Liu,PeerCQ:一个分散和自配置的点对点信息监控系统,Proc。2003年5月19日至22日,第23届国际分布式计算系统会议ICDCS2003。
[74] B. T. Loo, R. Huebsch, J. M. Hellerstein, T. Roscoe, and I. Stoica, Analyzing P2P Overlays with Recursive Queries, Technical Report, CSD-04-1301, January 14 2004.
[74] B.T.Loo,R.Huebsch,J.M.Hellerstein,T.Roscoe和I.Stoica,《使用递归查询分析P2P覆盖》,技术报告,CSD-04-13012004年1月14日。
[75] R. Avnur and J. Hellerstein, Eddies: continuously adaptive query processing, Proc. 2000 ACM SIGMOD international conference on Management of Data 2000, pp. 261-272.
[75] R.Avnur和J.Hellerstein,Eddies:连续自适应查询处理,Proc。2000年ACM SIGMOD数据管理国际会议,2000年,第261-272页。
[76] P. Triantafillou and T. Pitoura, Towards a unifying framework for complex query processing over structured peer-to-peer data networks, Proc. First Int'l Workshop on Databases, Information Systems and Peer-to-Peer Computing DBISP2P, Sept 7-8 2003, pp. 169-183.
[76] P.Triantafillou和T.Pitoura,面向结构化对等数据网络上复杂查询处理的统一框架,Proc。关于数据库、信息系统和对等计算DBISP2P的第一次国际研讨会,2003年9月7-8日,第169-183页。
[77] A. Gupta, D. Agrawal, and A. E. Abbadi, Approximate range selection queries in peer-to-peer systems, Proc. First Biennial Conf. on Innovative Data Systems Research CIDR 2003 2003.
[77] A.Gupta,D.Agrawal和A.E.Abbadi,《点对点系统中的近似范围选择查询》,Proc。创新数据系统研究第一次两年期会议CIDR 2003。
[78] S. Ratnasamy, P. Francis, and M. Handley, Range queries in DHTs, Technical Report IRB-TR-03-009, July 2003.
[78] S.Ratnasamy、P.Francis和M.Handley,《DHTs中的范围查询》,技术报告IRB-TR-03-009,2003年7月。
[79] S. Ramabhadran, S. Ratnasamy, J. Hellerstein, and S. Shenker, Brief announcement: prefix hash tree, Proc. 23rd Annual ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, PODC 2004, July 25-28 2004, pp. 368-368.
[79] S.Ramabhadran,S.Ratnasamy,J.Hellerstein和S.Shenker,简短声明:前缀哈希树,程序。第23届ACM SIGACT-SIGOPS年度研讨会。《分布式计算原理》,PODC 2004,2004年7月25-28日,第368-368页。
[80] A. Andrzejak and Z. Xu, Scalable, efficient range queries for grid information services, Proc. Second IEEE Int'l Conf. on Peer to Peer Computing, September 2002.
[80] A.Andrzejak和Z.Xu,网格信息服务的可扩展、高效范围查询,Proc。第二届IEEE国际会议,关于点对点计算,2002年9月。
[81] C. Schmidt and M. Parashar, Enabling flexible queries with guarantees in P2P systems, IEEE Internet Computing 8 (3) (2004) 19-26.
[81] C.Schmidt和M.Parashar,在P2P系统中实现具有保证的灵活查询,IEEE Internet Computing 8(3)(2004)19-26。
[82] E. Tanin, A. Harwood, and H. Samet, Indexing distributed complex data for complex queries, Proc. National Conf. on Digital Government Research 2004, pp. 81-90.
[82] E.Tanin,A.Harwood和H.Samet,为复杂查询索引分布式复杂数据,Proc。2004年国家数字政府研究会议,第81-90页。
[83] P. Ganesan, M. Bawa, and H. Garcia-Molina, Online Balancing of Range-Partitioned Data with Applications to Peer-to-Peer Systems, Proc. 30th Int'l Conf. on Very Large Data Bases VLDB 2004, 29 August - 3 September 2004.
[83] P.Ganesan,M.Bawa和H.Garcia Molina,《范围分区数据与对等系统应用程序的在线平衡》,Proc。2004年8月29日至9月3日,第30次关于超大数据库VLDB的国际会议。
[84] A. Bharambe, M. Agrawal, and S. Seshan, Mercury: Supporting Scalable Multi-Attribute Range Queries, SIGCOMM'04, Aug 30-Sept 3 2004.
[84] A.Bharame,M.Agrawal和S.Seshan,Mercury:支持可扩展的多属性范围查询,SIGCOMM'042004年8月30日至9月3日。
[85] K. Aberer, Scalable Data Access in P2P Systems Using Unbalanced Search Trees, Workshop on Distributed Data and Structures WDAS-2002 2002.
[85] K.Aber,使用非平衡搜索树的P2P系统中的可伸缩数据访问,分布式数据和结构研讨会WDAS-2002。
[86] K. Aberer, A. Datta, and M. Hauswirth, The Quest for Balancing Peer Load in Structured Peer-to-Peer Systems, Technical Report IC/2003/32 2003.
[86] K.Aber,A.Datta和M.Hauswirth,《在结构化对等系统中平衡对等负载的探索》,技术报告IC/2003/32 2003。
[87] W. Litwin, M.-A. Neimat, and D. Schneider, RP*: a family of order-preserving scalable distributed data structures, Proc. 20th Int'l Conf. on Very Large Data Bases VLDB'94, September 12-15 1994.
[87] W.Litwin,M.-A.Neimat和D.Schneider,RP*:一系列保序可伸缩分布式数据结构,Proc。1994年9月12日至15日,VLDB'94超大数据库第20次国际会议。
[88] M. Tsangou, S. Ndiaye, M. Seck, and W. Litwin, Range queries to scalable distributed data structure RP*, Proc. Fifth Workshop on Distributed Data and Structures, WDAS 2003, June 2003.
[88] M.Tsangou,S.Ndiaye,M.Seck和W.Litwin,可扩展分布式数据结构的范围查询RP*,Proc。第五次分布式数据和结构研讨会,WDAS 2003,2003年6月。
[89] W. Litwin and M.-A. Neimat, k-RP*s: a scalable distributed data structure for high-performance multi-attributed access, Proc. Fourth Int'l Conf. on Parallel and Distributed Information Systems (1996) 120-131.
[89] W.Litwin和M.-A.Neimat,k-RP*s:用于高性能多属性访问的可扩展分布式数据结构,Proc。关于并行和分布式信息系统的第四次国际会议(1996年)120-131。
[90] T. Hodes, S. Czerwinski, B. Zhao, A. Joseph, and R. Katz, An architecture for secure wide-area service discovery, Wireless Networks 8 (2/3) (2002) 213-230.
[90] T.Hodes,S.Czerwinski,B.Zhao,A.Joseph和R.Katz,《安全广域服务发现体系结构》,无线网络8(2/3)(2002)213-230。
[91] M. Cai, M. Frank, J. Chen, and P. Szekely, MAAN: A Multi-Attribute Addressable Network for Grid Information Services, Proc. Int'l Workshop on Grid Computing, November 2003.
[91] 蔡M.Frank M.Chen J.和P.Szekely,MAAN:网格信息服务的多属性可寻址网络,Proc。国际网格计算研讨会,2003年11月。
[92] R. van Renesse, K. P. Birman, and W. Vogels, Astrolabe: A robust and scalable technology for distribute system monitoring, management and data mining, ACM Trans. on Computer Systems 21 (2) (2003) 164-206.
[92] R.van Renesse,K.P.Birman和W.Vogels,Astrolabe:一种用于分布式系统监控、管理和数据挖掘的健壮且可扩展的技术,ACM Trans。关于计算机系统21(2)(2003)164-206。
[93] R. Bhagwan, G. Varghese, and G. Voelker, Cone: Augmenting DHTs to support distributed resource discovery, Technical Report, CS2003- 0755, July 2003.
[93] R.Bhagwan,G.Varghese和G.Voelker,Cone:增强DHT以支持分布式资源发现,技术报告,CS2003-07552003年7月。
[94] K. Albrecht, R. Arnold, and R. Wattenhofer, Join and Leave in Peer-to-Peer Systems: The DASIS Approach, Technical Report 427, Department of Computer Science, November 2003.
[94] K.Albrecht、R.Arnold和R.Wattenhofer,加入和离开点对点系统:DASIS方法,技术报告427,计算机科学系,2003年11月。
[95] K. Albrecht, R. Arnold, and R. Wattenhofer, Aggregating information in peer-to-peer systems for improved join and leave, Proc. Fourth IEEE Int'l Conf. on Peer-to-Peer Computing, 25-27 August 2004.
[95] K.Albrecht、R.Arnold和R.Wattenhofer,在点对点系统中聚合信息以改进加入和离开,Proc。第四届IEEE国际会议,关于对等计算,2004年8月25日至27日。
[96] A. Montresor, M. Jelasity, and O. Babaoglu, Robust aggregation protocol for large-scale overlay networks, Technical Report UBLCS-2003-16, December 2003.
[96] A.Montresor,M.Jelasity和O.Babaoglu,《大规模覆盖网络的健壮聚合协议》,技术报告UBLCS-2003-16,2003年12月。
[97] M. Jelasity, W. Kowalczyk, and M. van Steen, An Approach to Aggregation in Large and Fully Distributed Peer-to-Peer Overlay Networks, Proc. 12th Euromicro Conf. on Parallel, Distributted and Network based Processing PDP 2004, February 2004.
[97] M.Jelasity、W.Kowalczyk和M.van Steen,大型完全分布式对等覆盖网络中的聚合方法,Proc。2004年2月,关于并行、分布式和基于网络的处理PDP的第12届Euromicro会议。
[98] P. Yalagandula and M. Dahlin, A scalable distributed information management system, SIGCOMM'04, Aug 30-Sept 3 2004.
[98] P.Yalagandula和M.Dahlin,一个可扩展的分布式信息管理系统,SIGCOMM'042004年8月30日至9月3日。
[99] M. Bawa, A. Gionis, H. Garcia-Molina, and R. Motwani, The price of validity in dynamic networks, Proc. 2004 ACM SIGMOD Int'l Conf. on the management of data 2004, pp. 515-526.
[99] M.Bawa,A.Gionis,H.Garcia Molina和R.Motwani,《动态网络中的有效性价格》,Proc。2004年ACM SIGMOD国际会议《2004年数据管理》,第515-526页。
[100] J. Aspnes, J. Kirsch, and A. Krishnamurthy, Load Balancing and Locality in Range-Queriable Data Structures, Proc. 23rd Annual ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing PODC 2004, July 25-28 2004.
[100]J.Aspnes,J.Kirsch和A.Krishnamurthy,《范围内可查询数据结构的负载平衡和局部性》,Proc。第23届ACM SIGACT-SIGOPS年度研讨会。《分布式计算原理》PODC 2004,2004年7月25-28日。
[101] G. On, J. Schmitt, and R. Steinmetz, The effectiveness of realistic replication strategies on quality of availability for peer-to-peer systems, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, Sept 1-3 2003, pp. 57-64.
[101]G.On,J.Schmitt和R.Steinmetz,《现实复制策略对对等系统可用性质量的影响》,Proc。第三届国际IEEE对等计算会议,2003年9月1-3日,第57-64页。
[102] D. Geels and J. Kubiatowicz, Replica management should be a game, Proc. SIGOPS European Workshop, September 2003.
[102]D.Geels和J.Kubiatowicz,副本管理应该是一个游戏,过程。SIGOPS欧洲研讨会,2003年9月。
[103] E. Cohen and S. Shenker, Replication strategies in unstructured peer to peer networks, Proc. 2002 conference on applications, technologies, architectures and protocols for computer communications 2002, pp. 177-190.
[103]E.Cohen和S.Shenker,非结构化对等网络中的复制策略,Proc。2002年计算机通信应用、技术、体系结构和协议会议,第177-190页。
[104] E. Cohen and S. Shenker, P2P and multicast: replication strategies in unstructured peer to peer networks, Proc. 2002 conference on applications, technologies, architectures and protocols for computer communications 2002, pp. 177-190.
[104]E.Cohen和S.Shenker,P2P和多播:非结构化对等网络中的复制策略,Proc。2002年计算机通信应用、技术、体系结构和协议会议,第177-190页。
[105] H. Weatherspoon and J. Kubiatowicz, Erasure coding vs replication: a quantative comparison, Proc. First Int'l Workshop on Peer to Peer Systems IPTPS'02, March 2002.
[105]H.Weatherspoon和J.Kubiatowicz,《擦除编码与复制:定量比较》,Proc。2002年3月举办的第一届点对点系统IPTPS’02国际研讨会。
[106] D. Lomet, Replicated indexes for distributed data, Proc. Fourth Int'l Conf. on Parallel and Distributed Information Systems, December 18-20 1996, pp. 108-119.
[106]D.Lomet,分布式数据的复制索引,Proc。关于并行和分布式信息系统的第四次国际会议,1996年12月18日至20日,第108-119页。
[107] V. Gopalakrishnan, B. Silaghi, B. Bhattacharjee, and P. Keleher, Adaptive Replication in Peer-to-Peer Systems, Proc. 24th Int'l Conf. on Distributed Computing Systems ICDCS 2004, March 23-26 2004.
[107]V.Gopalakrishnan,B.Silaghi,B.Bhattacharjee和P.Keleher,对等系统中的自适应复制,Proc。2004年3月23日至26日,第24届分布式计算系统国际会议。
[108] S.-D. Lin, Q. Lian, M. Chen, and Z. Zhang, A practical distributed mutual exclusion protocol in dynamic peer-to-peer systems, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[108]林胜德,丽安,陈M.和张Z.动态对等系统中的实用分布式互斥协议,第三届对等系统国际研讨会,2004年2月26-27日。
[109] A. Adya, R. Wattenhofer, W. Bolosky, M. Castro, G. Cermak, R. Chaiken, J. Douceur, J. Howell, J. Lorch, and M. Thiemer, Farsite: federated, available and reliable storage for an incompletely trusted environment, ACM SIGOPS Operating Systems Review, Special issue on Decentralized storage systems (2002) 1- 14.
[109]A.Adya,R.Wattenhofer,W.Bolosky,M.Castro,G.Cermak,R.Chaiken,J.Douceur,J.Howell,J.Lorch和M.Thiemer,Farsite:不完全信任环境中的联邦、可用和可靠存储,ACM SIGOPS操作系统评论,分散存储系统特刊(2002)1-14。
[110] A. Rowstron and P. Druschel, Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility, Proceedings ACM SOSP'01, October 2001, pp. 188-201.
[110]A.Rowstron和P.Druschel,《过去的存储管理和缓存》,一个大规模、持久的点对点存储实用程序,ACM SOSP'01会议记录,2001年10月,第188-201页。
[111] S. Rhea, C. Wells, P. Eaton, D. Geels, B. Zhao, H. Weatherspoon, and J. Kubiatowicz, Maintenance-Free Global Data Storage, IEEE Internet Computing 5 (5) (2001) 40-49.
[111]S.Rhea,C.Wells,P.Eaton,D.Geels,B.Zhao,H.Weatherspoon和J.Kubiatowicz,免维护全球数据存储,IEEE互联网计算5(5)(2001)40-49。
[112] J. Kubiatowicz, D. Bindel, Y. Chen, S. Czerwinski, P. Eaton, D. Geels, R. Gummadi, S. Rhea, H. Weatherspoon, W. Weimer, C. Wells, and B. Zhao, Oceanstore: An Architecture for global-scale persistent storage, Proc. Ninth Int'l Conf. on Architecture Support for Programming Languages and Operating Systems ASPLOS 2000, November 2000, pp. 190-201.
[112]J.Kubiatowicz,D.Bindel,Y.Chen,S.Czerwinski,P.Eaton,D.Geels,R.Gummadi,S.Rhea,H.Weatherspoon,W.Weimer,C.Wells和B.Zhao,Oceanstore:全球规模持久存储的体系结构,Proc。关于编程语言和操作系统体系结构支持的第九届国际会议ASPLOS 2000,2000年11月,第190-201页。
[113] K. Birman, The Surprising Power of Epidemic Communication, Springer-Verlag Heidelberg Lecture Notes in Computer Science Volume 2584/2003 (2003) 97-102.
[113]K.Birman,《流行病传播的惊人力量》,斯普林格·维拉格·海德堡《计算机科学》第2584/2003卷(2003)97-102讲稿。
[114] P. Costa, M. Migliavacca, G. P. Picco, and G. Cugola, Introducing reliability in content-based publish-subscribe through epidemic algorithms, Proc. 2nd international workshop on Distributed event-based systems 2003, pp. 1-8.
[114]P.Costa、M.Migliavacca、G.P.Picco和G.Cugola,通过流行算法引入基于内容的发布-订阅的可靠性,Proc。2003年第二届分布式事件系统国际研讨会,第1-8页。
[115] P. Costa, M. Migliavacca, G. P. Picco, and G. Cugola, Epidemic Algorithms for Reliable Content-Based Publish-Subscribe: An Evaluation, The 24th Int'l Conf. on Distributed Computing Systems (ICDCS-2004), Mar 23-26, Tokyo University of Technology, Hachioji, Tokyo, Japan (2004)
〔115〕P. Costa,M. Migliavacca,G. P. Picco,G. Cugola,可靠的基于内容的发布订阅的流行病算法:第二十四分布式计算系统国际学术会议(ICDCS-2004),日本东京Haoooji东京科技大学MAR 23-26(2004)损坏评估
[116] A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart, and D. Terry, Epidemic algorithms for replicated data management, Proc. Sixth ACM Symp. on Principles of Distributed Computing 1987, pp. 1-12.
[116]A.Demers,D.Greene,C.Hauser,W.Irish,J.Larson,S.Shenker,H.Sturgis,D.Swinehart和D.Terry,《复制数据管理的流行病算法》,Proc。第六届ACM研讨会。《分布式计算原理》,1987年,第1-12页。
[117] P. Eugster, R. Guerraoiu, A. Kermarrec, and L. Massoulie, Epidemic information dissemination in distributed systems, IEEE Computer 37 (5) (2004) 60-67.
[117]P.Eugster,R.Guerraoiu,A.Kermarrec和L.Massoulie,分布式系统中的流行病信息传播,IEEE Computer 37(5)(2004)60-67。
[118] W. Vogels, R. v. Renesse, and K. Birman, The power of epidemics: robust communication for large-scale distributed systems, ACM SIGCOMM Computer Communication Review 33 (1) (2003) 131-135.
[118]W.沃格斯,R.v。Renesse和K.Birman,《流行病的力量:大规模分布式系统的健壮通信》,ACM SIGCOMM计算机通信评论33(1)(2003)131-135。
[119] S. Voulgaris and M. van Steen, An epidemic protocol for managing routing tables in very large peer to peer networks, Proc. 14th IFIP/IEEE Workshop on Distributed Systems: Operations and Management, October 2003.
[119]S.Voulgaris和M.van Steen,一种用于管理大型对等网络中路由表的流行协议,Proc。第14届IFIP/IEEE分布式系统研讨会:运营和管理,2003年10月。
[120] I. Gupta, On the design of distributed protocols from differential equations, Proc. 23rd Annual ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing PODC 2004, July 25-28 2004, pp. 216-225.
[120]I.Gupta,《基于微分方程的分布式协议设计》,Proc。第23届ACM SIGACT-SIGOPS年度研讨会。《分布式计算原理》PODC 2004,2004年7月25-28日,第216-225页。
[121] I. Gupta, K. Birman, and R. van Renesse, Fighting fire with fire: using randomized gossip to combat stochastic scalability limits, Cornell University Dept of Computer Science Technical Report, March 2001.
[121]I.Gupta、K.Birman和R.van Renesse,《用火救火:使用随机流言蜚语对抗随机可伸缩性限制》,康奈尔大学计算机科学系技术报告,2001年3月。
[122] K. Birman and I. Gupta, Building Scalable Solutions to Distributed Computing Problems using Probabilistic Components, Submitted to the Int'l Conf. on Dependable Systems and Networks DSN-2004, Dependable Computing and Computing Symp. DCCS, June 28- July 1 2004.
[122]K.Birman和I.Gupta,利用概率组件构建分布式计算问题的可扩展解决方案,提交给可靠系统和网络国际会议DSN-2004,可靠计算和计算研讨会。DCCS,2004年6月28日至7月1日。
[123] A. Ganesh, A.-M. Kermarrec, and L. Massoulie, Peer-to-peer membership management for gossip-based protocols, IEEE Trans. on Computers 52 (2) (2003) 139-149.
[123]A.Ganesh,A.-M.Kermarrec和L.Massoulie,基于流言蜚语协议的点对点成员管理,IEEE Trans。关于计算机52(2)(2003)139-149。
[124] N. Bailey, Epidemic Theory of Infectious Diseases and its Applications, Second Edition ed. Hafner Press, 1975.
[124]N.Bailey,《传染病的流行病理论及其应用》,第二版,哈夫纳出版社,1975年。
[125] P. Eugster, R. Guerraoiu, S. Handurukande, P. Kouznetsov, and A.- M. Kermarrec, Lightweight probabilistic broadcast, ACM Trans. on Computer Systems 21 (4) (2003) 341-374.
[125]P.Eugster、R.Guerraoiu、S.Handurukande、P.Kouznetsov和A.-M.Kermarrec,轻型概率广播,ACM Trans。关于计算机系统21(4)(2003)341-374。
[126] H. Weatherspoon and J. Kubiatowicz, Efficient heartbeats and repair of softstate in decentralized object location and routing systems, Proc. SIGOPS European Workshop, September 2002.
[126]H.Weatherspoon和J.Kubiatowicz,《分散对象定位和路由系统中的有效心跳和软状态修复》,Proc。SIGOPS欧洲研讨会,2002年9月。
[127] G. Koloniari and E. Pitoura, Content-based Routing of Path Queries in Peer-to-Peer Systems, Proc. 9th Int'l Conf. on Extending DataBase Technology EDBT, March 14-18 2004.
[127]G.Kolonari和E.Pitoura,对等系统中基于内容的路径查询路由,Proc。2004年3月14日至18日,关于扩展数据库技术的第9次国际会议EDBT。
[128] A. Mohan and V. Kalogaraki, Speculative routing and update propagation: a kundali centric approach, IEEE Int'l Conf. on Communications ICC'03, May 2002.
[128]A.Mohan和V.Kalogaraki,《推测性路由和更新传播:以昆达利为中心的方法》,IEEE国际会议,通信ICC'03,2002年5月。
[129] G. Koloniari, Y. Petrakis, and E. Pitoura, Content-Based Overlay Networks for XML Peers Based on Multi-Level Bloom Filters, Proc. First Int'l Workshop on Databases, Information Systems and Peer-to-Peer Computing DBISP2P, Sept 7-8 2003, pp. 232-247.
[129]G.Kolonari,Y.Petrakis和E.Pitoura,基于多级Bloom过滤器的XML对等方基于内容的覆盖网络,Proc。关于数据库、信息系统和对等计算DBISP2P的第一次国际研讨会,2003年9月7-8日,第232-247页。
[130] G. Koloniari and E. Pitoura, Bloom-Based Filters for Hierarchical Data, Proc. 5th Workshop on Distributed Data and Structures (WDAS) (2003)
[130]G.Kolonari和E.Pitoura,基于Bloom的分层数据过滤器,Proc。第五届分布式数据和结构研讨会(2003年)
[131] B. Bloom, Space/time trade-offs in hash coding with allowable errors, Communications of the ACM 13 (7) (1970) 422-426.
[131]B.Bloom,《允许错误的哈希编码中的空间/时间权衡》,ACM 13(7)(1970)422-426通信。
[132] M. Naor and U. Wieder, A Simple Fault Tolerant Distributed Hash Table, Second Int'l Workshop on Peer-to-Peer Systems (IPTPS 03), Berkeley, CA, USA, 20-21 February (2003)
[132]M.Naor和U.Wieder,一个简单的容错分布式哈希表,第二届点对点系统国际研讨会(IPTPS 03),美国加利福尼亚州伯克利,2003年2月20-21日
[133] P. Maymounkov and D. Mazieres, Rateless codes and big downloads, Second Int'l Workshop on Peer-to-Peer Systems, IPTPS'03, February 20-21 2003.
[133]P.Maymounkov和D.Mazieres,《无速率代码和大下载》,第二届点对点系统国际研讨会,IPTPS'03,2003年2月20-21日。
[134] M. Krohn, M. Freedman, and D. Mazieres, On-the-fly verification of rateless erasure codes for efficient content distribution, Proc. IEEE Symp. on Security and Privacy, May 2004.
[134]M.Krohn、M.Freedman和D.Mazieres,用于高效内容分发的无速率擦除代码的动态验证,Proc。IEEE研讨会。关于安全和隐私,2004年5月。
[135] J. Byers, J. Considine, M. Mitzenmacher, and S. Rost, Informed content delivery across adaptive overlay networks, Proc. 2002 conference on applications, technologies, architectures and protocols for computer communications 2002, pp. 47-60.
[135]J.Byers,J.Considine,M.Mitzenmacher和S.Rost,《跨自适应覆盖网络的知情内容交付》,Proc。2002年计算机通信应用、技术、体系结构和协议会议,2002年,第47-60页。
[136] J. Plank, S. Atchley, Y. Ding, and M. Beck, Algorithms for High Performance, Wide-Area Distributed File Downloads, Parallel Processing Letters 13 (2) (2003) 207-223.
[136]J.Plank,S.Atchley,Y.Ding和M.Beck,高性能广域分布式文件下载算法,并行处理信函13(2)(2003)207-223。
[137] M. Castro, P. Rodrigues, and B. Liskov, BASE: Using abstraction to improve fault tolerance, ACM Trans. on Computer Systems 21 (3) (2003) 236-269.
[137]M.Castro,P.Rodrigues和B.Liskov,BASE:使用抽象提高容错性,ACM Trans。关于计算机系统21(3)(2003)236-269。
[138] R. Rodrigues, B. Liskov, and L. Shrira, The design of a robust peer-to-peer system, 10th ACM SIGOPS European Workshop, Sep 2002.
[138]R.Rodrigues,B.Liskov和L.Shrira,《健壮的点对点系统的设计》,第十届ACM SIGOPS欧洲研讨会,2002年9月。
[139] H. Weatherspoon, T. Moscovitz, and J. Kubiatowicz, Introspective failure analysis: avoiding correlated failures in peer-to-peer systems, Proc. Int'l Workshop on Reliable Peer-to-Peer Distributed Systems, Oct 2002.
[139]H.Weatherspoon,T.Moscovitz和J.Kubiatowicz,《内省故障分析:避免对等系统中的相关故障》,Proc。2002年10月,关于可靠的点对点分布式系统的国际研讨会。
[140] F. Dabek, R. Cox, F. Kaashoek, and R. Morris, Vivaldi: A Decentralized Network Coordinate System, SIGCOMM'04, Aug 30- Sept 3 2004.
[140]F.Dabek、R.Cox、F.Kaashoek和R.Morris,Vivaldi:分散网络坐标系,SIGCOMM'042004年8月30日至9月3日。
[141] E.-K. Lua, J. Crowcroft, and M. Pias, Highways: proximity clustering for massively scaleable peer-to-peer network routing, Proc. Fourth IEEE Int'l Conf. on Peer-to-Peer Computing, August 25-27 2004.
[141]E.-K.Lua,J.Crowcroft和M.Pias,《高速公路:大规模可扩展对等网络路由的邻近群集》,Proc。第四届IEEE国际会议,关于点对点计算,2004年8月25-27日。
[142] F. Fessant, S. Handurukande, A.-M. Kermarrec, and L. Massoulie, Clustering in Peer-to-Peer File Sharing Workloads, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[142]F.Fessant、S.Handurukande、A.-M.Kermarrec和L.Massoulie,《点对点文件共享工作负载中的集群》,第三届点对点系统国际研讨会,2004年2月26日至27日。
[143] T. S. E. Ng and H. Zhang, Predicting internet network distance with coordinates-based approaches, IEEE Infocom 2002, The 21st Annual Joint Conf. of the IEEE Computer and Communication Societies, June 23-27 2002.
[143]T.S.E.Ng和H.Zhang,使用基于坐标的方法预测互联网网络距离,IEEE Infocom 2002,IEEE计算机和通信协会第21届年度联合会议,2002年6月23-27日。
[144] K. Hildrum, R. Krauthgamer, and J. Kubiatowicz, Object Location in Realistic Networks, Proc. Sixteenth ACM Symp. on Parallel Algorithms and Architectures (SPAA 2004), June 2004, pp. 25-35.
[144]K.Hildrum,R.Krauthgamer和J.Kubiatowicz,《现实网络中的对象定位》,Proc。第十六届ACM研讨会。关于并行算法和体系结构(SPAA 2004),2004年6月,第25-35页。
[145] P. Keleher, S. Bhattacharjee, and B. Silaghi, Are Virtualized Overlay Networks Too Much of a Good Thing?, First Int'l Workshop on Peer-to-Peer Systems IPTPS, March 2002.
[145]P.Keleher、S.Bhattacharjee和B.Silaghi,虚拟化覆盖网络是不是太好了?,《第一届点对点系统IPTP国际研讨会》,2002年3月。
[146] A. Mislove and P. Druschel, Providing administrative control and autonomy in structured peer-to-peer overlays, The 3rd Int'l Workshop on Peer-to-Peer Systems, June 9-12 2004.
[146]A.Mislove和P.Druschel,在结构化对等覆盖中提供管理控制和自治,第三届对等系统国际研讨会,2004年6月9日至12日。
[147] D. Karger and M. Ruhl, Diminished Chord: A Protocol for Heterogeneous SubGroup Formation in Peer-to-Peer Networks, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[147]D.Karger和M.Ruhl,《减少的弦:对等网络中异构分组形成的协议》,第三届对等系统国际研讨会,2004年2月26-27日。
[148] B. Awerbuch and C. Scheideler, Consistent, order-preserving data management in distributed storage systems, Proc. Sixteenth ACM Symp. on Parallel Algorithms and Architectures SPAA 2004, June 27-30 2004, pp. 44-53.
[148]B.Awerbuch和C.Scheideler,《分布式存储系统中的一致、保序数据管理》,Proc。第十六届ACM研讨会。关于并行算法和体系结构,SPAA 2004,2004年6月27-30日,第44-53页。
[149] M. Freedman and D. Mazieres, Sloppy Hashing and Self-Organizing Clusters, Proc. 2nd Int'l Workshop on Peer-to-Peer Systems IPTPS
[149]M.Freedman和D.Mazieres,草率散列和自组织集群,Proc。第二届点对点系统IPTP国际研讨会
[150] F. Dabek, J. Li, E. Sit, J. Robertson, F. Kaashoek, and R. Morris, Designing a DHT for low latency and high throughput, Proc. First Symp. on Networked Systems Design and Implementation (NSDI'04), San Francisco, California, March 29-31 (2004) 85-98.
[150]F.Dabek,J.Li,E.Sit,J.Robertson,F.Kaashoek和R.Morris,设计低延迟和高吞吐量的DHT,Proc。第一交响乐团。网络系统设计与实现(NSDI’04),旧金山,加利福尼亚,3月29—31(2004)85-98。
[151] M. Ruhl, Efficient algorithms for new computational models, Doctoral Dissertation, September 2003.
[151]M.Ruhl,新计算模型的有效算法,博士论文,2003年9月。
[152] K. Sollins, Designing for scale and differentiation, Proc. ACM SIGCOMM workshop on Future Directions in network architecture, August 25-27 2003.
[152]K.Sollins,规模化和差异化设计,Proc。ACM SIGCOMM网络体系结构未来方向研讨会,2003年8月25日至27日。
[153] L. Massoulie, A. Kermarrec, and A. Ganesh, Network awareness and failure resilience in self-organizing overlay networks, Proc. 22nd Int'l Symp. on Reliable Distributed Systems, SRDS'03, Oct 6-8 2003, pp. 47-55.
[153]L.Massoulie,A.Kermarrec和A.Ganesh,自组织覆盖网络中的网络意识和故障恢复能力,Proc。第22届国际研讨会。关于可靠的分布式系统,SRDS'032003年10月6-8日,第47-55页。
[154] R. Cox, F. Dabek, F. Kaashoek, J. Li, and R. Morris, Practical,distributed network coordinates, ACM SIGCOMM Computer Communication Review 34 (1) (2004) 113-118.
[154]R.Cox,F.Dabek,F.Kaashoek,J.Li和R.Morris,实用分布式网络坐标,ACM SIGCOMM计算机通信评论34(1)(2004)113-118。
[155] K. Hildrum, J. Kubiatowicz, S. Rao, and B. Zhao, Distributed object location in a dynamic network, Proc. 14th annual ACM symposium on parallel algorithms and architectures 2002, pp. 41- 52.
[155]K.Hildrum,J.Kubiatowicz,S.Rao和B.Zhao,动态网络中的分布式对象定位,Proc。2002年第14届ACM年度并行算法和体系结构研讨会,第41-52页。
[156] X. Zhang, Q. Zhang, G. Song, and W. Zhu, A Construction of Locality-Aware Overlay Network: mOverlay and its Performance, IEEE Journal on Selected Areas in Communications 22 (1) (2004) 18-28.
[156]张学祥,张Q,宋国强,朱文伟,位置感知覆盖网络的构建:mOverlay及其性能,IEEE通信选择领域杂志22(1)(2004)18-28。
[157] N. Harvey, M. B. Jones, M. Theimer, and A. Wolman, Efficient recovery from organization disconnects in Skipnet, Second Int'l Workshop on Peer-to-Peer Systems IPTPS'03, Feb 20-21 2003.
[157]N.Harvey、M.B.Jones、M.Theimer和A.Wolman,《从Skipnet中的组织断开连接中进行有效恢复》,第二届点对点系统IPTP国际研讨会,2003年2月20日至21日。
[158] M. Pias, J. Crowcroft, S. Wilbur, T. Harris, and S. Bhatti, Lighthouses for scalable distributed location, Second Int'l Workshop on Peer-to-Peer Systems IPTPS'03, February 20-21 2003.
[158]M.Pias、J.Crowcroft、S.Wilbur、T.Harris和S.Bhatti,《可扩展分布式位置的灯塔》,第二届点对点系统国际研讨会IPTPS'03,2003年2月20-21日。
[159] K. Gummadi, S. Saroui, S. Gribble, and D. King, Estimating latency between arbitrary internet end hosts, Proc. SIGCOMM IMW 2002, November 2002.
[159]K.Gummadi,S.Saroui,S.Gribble和D.King,估算任意互联网终端主机之间的延迟,Proc。SIGCOMM IMW 2002,2002年11月。
[160] Y. Liu, X. Liu, L. Xiao, L. Ni, and X. Zhang, Location-aware topology matching in P2P systems, Proc. IEEE Infocomm, Mar 7-11 2004.
[160]刘耀勇,刘晓霞,肖磊,倪磊,张磊,P2P系统中的位置感知拓扑匹配,Proc。IEEE信息通信,2004年3月7日至11日。
[161] G. S. Manku, Balanced binary trees for ID management and load balance in distributed hash tables, Proc. 23rd Annual ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, PODC 2004, July 25-28 2004, pp. 197-205.
[161]G.S.Manku,分布式哈希表中用于ID管理和负载平衡的平衡二叉树,Proc。第23届ACM SIGACT-SIGOPS年度研讨会。《分布式计算原理》,PODC 2004,2004年7月25-28日,第197-205页。
[162] J. Gao and P. Steenkiste, Design and Evaluation of a Distributed Scalable Content Delivery System, IEEE Journal on Selected Areas in Communications 22 (1) (2004) 54-66.
[162]J.Gao和P.Steenkiste,分布式可扩展内容交付系统的设计和评估,IEEE通信选定领域杂志22(1)(2004)54-66。
[163] X. Wang, Y. Zhang, X. Li, and D. Loguinov, On zone-balancing of peer-to-peer networks: analysis of random node join, Proc. joint international conference on measurement and modeling of computer systems, June 2004.
[163]王旭,张彦,李旭和D.洛吉诺夫,关于点对点网络的区域平衡:随机节点连接分析,Proc。计算机系统测量和建模联合国际会议,2004年6月。
[164] D. Karger and M. Ruhl, Simple efficient load balancing algorithms for peer-to-peer systems, Proc. Sixteenth ACM Symp. on Parallel Algorithms and Architectures SPAA 2004, June 27-30 2004.
[164]D.Karger和M.Ruhl,用于对等系统的简单高效负载平衡算法,Proc。第十六届ACM研讨会。关于并行算法和体系结构,SPAA 2004,2004年6月27-30日。
[165] D. Karger and M. Ruhl, Simple efficient load balancing algorithms for peer-to-peer systems, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[165]D.Karger和M.Ruhl,《点对点系统的简单高效负载平衡算法》,第三届点对点系统国际研讨会,2004年2月26-27日。
[166] M. Adler, E. Halperin, R. Karp, and V. Vazirani, A stochastic process on the hypercube with applications to peer-to-peer networks, Proc. 35th ACM symposium on Theory of Computing 2003, pp. 575-584.
[166]M.Adler,E.Halperin,R.Karp和V.Vazirani,超立方体上的随机过程及其在对等网络中的应用,Proc。2003年第35届ACM计算理论研讨会,第575-584页。
[167] C. Baquero and N. Lopes, Towards peer to peer content indexing, ACM SIGOPS Operating Systems Review 37 (4) (2003) 90-96.
[167]C.Baquero和N.Lopes,《面向对等内容索引》,ACM SIGOPS操作系统评论37(4)(2003)90-96。
[168] A. Rao, K. Lakshminarayanan, S. Surana, R. Karp, and I. Stoica, Load balancing in structured P2P systems, Proc. 2nd Int'l Workshop on Peer-to-Peer Systems, IPTPS'03, February 20-21 2003.
[168]A.Rao,K.Lakshminarayanan,S.Surana,R.Karp和I.Stoica,《结构化P2P系统中的负载平衡》,Proc。第二届点对点系统国际研讨会,IPTPS'03,2003年2月20-21日。
[169] J. Byers, J. Considine, and M. Mitzenmacher, Simple Load Balancing for Distributed Hash Tables, Second Int'l Workshop on Peer-to-Peer Systems IPTPS 03, 20-21 February 2003.
[169]J.Byers、J.Considine和M.Mitzenmacher,《分布式哈希表的简单负载平衡》,第二届点对点系统国际研讨会IPTPS 03,2003年2月20-21日。
[170] P. Castro, J. Lee, and A. Misra, CLASH: A Protocol for Internet- Scale Utility-Oriented Distributed Computing, Proc. 24th Int'l Conf. on Distributed Computing Systems ICDCS 2004, March 23-26 2004.
[170]P.Castro,J.Lee和A.Misra,《冲突:面向互联网规模实用程序的分布式计算协议》,Proc。2004年3月23日至26日,第24届分布式计算系统国际会议。
[171] A. Stavrou, D. Rubenstein, and S. Sahu, A Lightwight, Robust P2P System to Handle Flash Crowds, IEEE Journal on Selected Areas in Communications 22 (1) (2004) 6-17.
[171]A.Stavrou,D.Rubenstein和S.Sahu,一个轻巧、健壮的P2P系统,用于处理闪电人群,IEEE通讯选定领域杂志22(1)(2004)6-17。
[172] A. Selcuk, E. Uzun, and M. R. Pariente, A reputation-based trust management system for P2P networks, Fourth Int'l Workshop on Global and Peer-to-Peer Computing, April 20-21 2004.
[172]A.Selcuk、E.Uzun和M.R.Pariente,《P2P网络基于声誉的信任管理系统》,第四届全球和对等计算国际研讨会,2004年4月20日至21日。
[173] T. Papaioannou and G. Stamoulis, Effective use of reputation in peer-to-peer environments, Fourth Int'l Workshop on Global and Peer-to-Peer Computing, April 20-21 2004.
[173]T.Papaioannou和G.Stamoulis,在点对点环境中有效利用声誉,第四届全球和点对点计算国际研讨会,2004年4月20日至21日。
[174] M. Blaze, J. Feigenbaum, and J. Lacy, Trust and Reputation in P2P networks, http://www.neurogrid.net/twiki/bin/view/Main/ReputationAndTrust (2003)
[174] M. Blaze, J. Feigenbaum, and J. Lacy, Trust and Reputation in P2P networks, http://www.neurogrid.net/twiki/bin/view/Main/ReputationAndTrust (2003)
[175] E. Damiani, D. C. di Vimercati, S. Paraboschi, P. Samarati, and F. Violante, A reputation-based approach for choosing reliable resources in peer to peer networks, Proc. 9th conference on computer and communications security 2002, pp. 207-216.
[175]E.Damiani,D.C.di Vimercati,S.Paraboschi,P.Samarati和F.Violante,一种基于声誉的方法,用于在对等网络中选择可靠资源,Proc。2002年第九届计算机和通信安全会议,第207-216页。
[176] S. Marti, P. Ganesan, and H. Garcia-Molina, DHT routing using social links, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[176]S.Marti,P.Ganesan和H.Garcia Molina,《使用社交链接的DHT路由》,第三届点对点系统国际研讨会,2004年2月26-27日。
[177] G. Caronni and M. Waldvogel, Establishing trust in distributed storage providers, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, 1-3 Sept 2003, pp. 128-133.
[177]G.Caronni和M.Waldvogel,《建立对分布式存储提供商的信任》,Proc。第三届国际IEEE对等计算会议,2003年9月1日至3日,第128-133页。
[178] B. Sieka, A. Kshemkalyani, and M. Singhal, On the security of polling protocols in peer-to-peer systems, Proc. Fourth IEEE Int'l Conf. on Peer-to-Peer Computing, 25-27 August 2004.
[178]B.Sieka、A.Kshemkalyani和M.Singhal,关于对等系统中轮询协议的安全性,Proc。第四届IEEE国际会议,关于对等计算,2004年8月25日至27日。
[179] M. Feldman, K. Lai, I. Stoica, and J. Chuang, Robust Incentive Techniques for Peer-to-Peer Networks, ACM E-Commerce Conf. EC'04, May 2004.
[179]M.Feldman,K.Lai,I.Stoica和J.Chuang,《点对点网络的稳健激励技术》,ACM电子商务会议,EC'04,2004年5月。
[180] K. Anagnostakis and M. Greenwald, Exchange-based Incentive Mechanism for Peer-to-Peer File Sharing, Proc. 24th Int'l Conf. on Distributed Computing Systems ICDCS 2004, March 23-26 2004.
[180]K.Anagnostakis和M.Greenwald,基于交换的对等文件共享激励机制,Proc。2004年3月23日至26日,第24届分布式计算系统国际会议。
[181] J. Schneidman and D. Parkes, Rationality and self-Interest in peer to peer networks, Second Int'l Workshop on Peer-to-Peer Systems IPTPS'03, February 20-21 2003.
[181]J.Schneidman和D.Parkes,《点对点网络中的理性和自利》,第二届点对点系统国际研讨会IPTPS'03,2003年2月20-21日。
[182] C. Buragohain, D. Agrawal, and S. Subhash, A game theoretic framework for incentives in P2P systems, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, 1-3 Sept 2003, pp. 48-56.
[182]C.Buragohain,D.Agrawal和S.Subhash,P2P系统激励的博弈论框架,Proc。第三届国际IEEE对等计算会议,2003年9月1日至3日,第48-56页。
[183] W. Josephson, E. Sirer, and F. Schneider, Peer-to-Peer Authentication with a Distributed Single Sign-On Service, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[183]W.Josephson,E.Sirer和F.Schneider,使用分布式单点登录服务的点对点身份验证,第三届点对点系统国际研讨会,2004年2月26日至27日。
[184] A. Fiat and J. Saia, Censorship resistant peer to peer content addressable networks, Proc. 13th annual ACM-SIAM symposium on discrete algorithms 2002, pp. 94-103.
[184]A.Fiat和J.Saia,抗审查的对等内容寻址网络,Proc。2002年第13届ACM-SIAM离散算法年度研讨会,第94-103页。
[185] N. Daswani and H. Garcia-Molina, Query-flood DoS attacks in gnutella, Proc. 9th ACM Conf. on Computer and Communications Security 2002, pp. 181-192.
[185]N.Daswani和H.Garcia Molina,gnutella中的查询洪水DoS攻击,Proc。2002年第九届ACM计算机和通信安全会议,第181-192页。
[186] A. Singh and L. Liu, TrustMe: anonymous management of trust relationships in decentralized P2P systems, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, Sept 1-3 2003.
[186]A.Singh和L.Liu,TrustMe:分散P2P系统中信任关系的匿名管理,Proc。第三届国际IEEE对等计算会议,2003年9月1日至3日。
[187] A. Serjantov, Anonymizing censorship resistant systems, Proc. Second Int'l Conf. on Peer to Peer Computing, March 2002.
[187]A.Serjantov,匿名审查抵抗系统,Proc。关于对等计算的第二次国际会议,2002年3月。
[188] S. Hazel and B. Wiley, Achord: A Variant of the Chord Lookup Service for Use in Censorship Resistant Peer-to-Peer Publishing Systems, Proc. Second Int'l Conf. on Peer to Peer Computing, March 2002.
[188]S.Hazel和B.Wiley,Achord:和弦查找服务的一种变体,用于抵制审查的对等发布系统,Proc。关于对等计算的第二次国际会议,2002年3月。
[189] M. Freedman and R. Morris, Tarzan: a peer-to-peer anonymizing network layer, Proc. 9th ACM Conf. on Computer and Communications Security (2002) 193-206.
[189]M.Freedman和R.Morris,泰山:对等匿名网络层,Proc。第九届ACM计算机和通信安全会议(2002年)193-206。
[190] M. Feldman, C. Papadimitriou, J. Chuang, and I. Stoica, Free-Riding and Whitewashing in Peer-to-Peer Systems, 3rd Annual Workshop on Economics and Information Security WEIS04, May 2004.
[190]M.Feldman,C.Papadimitriou,J.Chuang和I.Stoica,《点对点系统中的搭便车和粉饰》,第三届经济学和信息安全年度研讨会,2004年5月。
[191] L. Ramaswamy and L. Liu, FreeRiding: a new challenge for peer-to-peer file sharing systems, Proc. 2003 Hawaii Int'l Conf. on System Sciences, P2P Track, HICSS2003, January 6-9 2003.
[191]L.Ramaswamy和L.Liu,《搭便车:对等文件共享系统的新挑战》,Proc。2003年夏威夷国际系统科学会议,P2P跟踪,HICSS2003,2003年1月6-9日。
[192] T.-W. Ngan, D. Wallach, and P. Druschel, Enforcing fair sharing of peer-to-peer resources, Second Int'l Workshop on Peer-to-Peer Systems, IPTPS'03, 20-21 February 2003.
[192]T.-W.Ngan,D.Wallach和P.Druschel,强制公平共享点对点资源,第二届点对点系统国际研讨会,IPTPS'03,2003年2月20-21日。
[193] L. Cox and B. D. Noble, Samsara: honor among thieves in peer-to-peer storage, Proc. nineteenth ACM symposium on Operating System Principles 2003, pp. 120-132.
[193]L.考克斯和B.D.诺布尔,《轮回:点对点存储中盗贼的荣誉》,Proc。第十九届ACM操作系统原理研讨会,2003年,第120-132页。
[194] M. Surridge and C. Upstill, Grid security: lessons for peer-to-peer systems, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, Sept 1-3 2003, pp. 2-6.
[194]M.Surridge和C.Upstill,《网格安全:对等系统的经验教训》,Proc。第三届国际IEEE对等计算会议,2003年9月1-3日,第2-6页。
[195] E. Sit and R. Morris, Security considerations for peer-to-peer distributed hash tables, First Int'l Workshop on Peer-to-Peer Systems, March 2002.
[195]E.Sit和R.Morris,点对点分布式哈希表的安全考虑,第一次点对点系统国际研讨会,2002年3月。
[196] C. O'Donnel and V. Vaikuntanathan, Information leak in the Chord lookup protocol, Proc. Fourth IEEE Int'l Conf. on Peer-to-Peer Computing, 25-27 August 2004.
[196]C.O'Donnel和V.Vaikuntanathan,《和弦查找协议中的信息泄漏》,过程。第四届IEEE国际会议,关于对等计算,2004年8月25日至27日。
[197] K. Berket, A. Essiari, and A. Muratas, PKI-Based Security for Peer-to-Peer Information Sharing, Proc. Fourth IEEE Int'l Conf. on Peer-to-Peer Computing, 25-27 August 2004.
[197]K.Berket,A.Essiari和A.Muratas,基于PKI的对等信息共享安全,Proc。第四届IEEE国际会议,关于对等计算,2004年8月25日至27日。
[198] B. Karp, S. Ratnasamy, S. Rhea, and S. Shenker, Spurring adoption of DHTs with OpenHash, a public DHT service, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[198]B.Karp、S.Ratnasamy、S.Rhea和S.Shenker,推动采用带有OpenHash的DHT,公共DHT服务,第三届点对点系统国际研讨会,2004年2月26日至27日。
[199] J. Considine, M. Walfish, and D. G. Andersen, A pragmatic approach to DHT adoption, Technical Report,, December 2003.
[199]J.Considine,M.Walfish和D.G.Andersen,《DHT采用的务实方法》,技术报告,2003年12月。
[200] G. Li, Peer to Peer Networks in Action, IEEE Internet Computing 6 (1) (2002) 37-39.
[200]李国光,对等网络在行动,IEEE互联网计算6(1)(2002)37-39。
[201] A. Mislove, A. Post, C. Reis, P. Willmann, P. Druschel, D. Wallach, X. Bonnaire, P. Sens, J.-M. Busca, and L. Arantes-Bezerra, POST: A Secure, Resilient, Cooperative Messaging System, 9th Workshop on Hot Topics in Operating Systems, HotOS, May 2003.
[201]A.Mislave,A.Post,C.Reis,P.Willmann,P.Druschel,D.Wallach,X.Bonnaire,P.Sens,J.-M.Busca和L.Arantes Bezerra,Post:一个安全、弹性、协作的消息传递系统,第九届操作系统热点研讨会,HotOS,2003年5月。
[202] S. Saroiu, P. Gummadi, and S. Gribble, A measurement study of peer-to-peer file sharing systems, Proc. Multimedia Computing and Networking 2002 MMCN'02, January 2002.
[202]S.Saroiu,P.Gummadi和S.Gribble,对等文件共享系统的测量研究,Proc。多媒体计算和网络2002 MMCN'022002年1月。
[203] A. Muthitacharoen, R. Morris, T. Gil, and B. Chen, Ivy: a read/write peer-to-peer file system, ACM SIGOPS Operating Systems Review, Special issue on Decentralized storage systems, December 2002, pp. 31-44.
[203]A.Muthitacharoen,R.Morris,T.Gil和B.Chen,Ivy:读/写点对点文件系统,ACM SIGOPS操作系统评论,分散存储系统专刊,2002年12月,第31-44页。
[204] A. Muthitacharoen, R. Morris, T. Gil, and B. Chen, A read/write peer-to-peer file system, Proc. 5th Symp. on Operating System Design and Implementation (OSDI 2002), Boston, MA, December (2002)
[204]A.Muthitacharoen、R.Morris、T.Gil和B.Chen,读/写点对点文件系统,Proc。第五届研讨会。操作系统设计与实现(OSDI 2002),马萨诸塞州波士顿,2002年12月
[205] F. Annexstein, K. Berman, M. Jovanovic, and K. Ponnavaikko, Indexing techniques for file sharing in scalable peer to peer networks, 11th IEEE Int'l Conf. on Computer Communications and Networks (2002) 10-15.
[205]F.Annexstein,K.Berman,M.Jovanovic和K.Ponnavaikko,《可扩展对等网络中文件共享的索引技术》,第11届IEEE国际会议《计算机通信和网络》(2002)10-15。
[206] G. Kan and Y. Faybishenko, Introduction to Gnougat, First Int'l Conf. on Peer-to-Peer Computing 2001 2001, pp. 4-12.
[206]G.Kan和Y.Faybishenko,Gnougat简介,第一次关于点对点计算的国际会议,2001年,第4-12页。
[207] R. Gold and D. Tidhar, Towards a content-based aggregation network, Proc. First Int'l Conf. on Peer to Peer Compuuting 2001, pp. 62-68.
[207]R.Gold和D.Tidhar,面向基于内容的聚合网络,Proc。2001年关于点对点计算的第一次国际会议,第62-68页。
[208] F. Dabek, M. F. Kaashoek, D. Karger, R. Morris, and I. Stoica, Wide-area cooperative storage with CFS, Proc. 18th ACM symposium on Operating System Principles 2001, pp. 202-215.
[208]F.Dabek、M.F.Kaashoek、D.Karger、R.Morris和I.Stoica,与CFS的广域协作存储,Proc。2001年第18届ACM操作系统原理研讨会,第202-215页。
[209] M. Freedman, E. Freudenthal, and D. Mazieres, Democratizing content publication with coral, Proc. First Symp. on Networked Systems Design and Implementation NSDI'04, March 29-31 2004, pp. 239-252.
[209]M.Freedman、E.Freudenthal和D.Mazieres,《珊瑚内容出版的民主化》,Proc。第一交响乐团。关于网络化系统设计和实施NSDI'04,2004年3月29日至31日,第239-252页。
[210] J. Li, B. T. Loo, J. Hellerstein, F. Kaashoek, D. Karger, and R. Morris, On the Feasibility of Peer-to-Peer Web Indexing and Search, Second Int'l Workshop on Peer-to-Peer Systems IPTPS 03, 20-21 February 2003.
[210]Li J.B.T.Loo,J.Hellerstein,F.Kaashoek,D.Karger和R.Morris,关于点对点网络索引和搜索的可行性,第二届点对点系统国际研讨会IPTPS 03,2003年2月20-21日。
[211] S. Iyer, A. Rowstron, and P. Druschel, Squirrel: a decentralized peer-to-peer web cache, Proc. 21st annual symposium on principles of distributed computing 2002, pp. 213-222.
[211]S.Iyer,A.Rowstron和P.Druschel,《松鼠:一种分散的点对点web缓存》,Proc。2002年第21届分布式计算原理年度研讨会,第213-222页。
[212] M. Bawa, R. Bayardo, S. Rajagopalan, and E. Shekita, Make it fresh, make it quick: searching a network of personal webservers, Proc. 12th international conference on World Wide Web 2003, pp. 577-586.
[212]M.Bawa、R.Bayardo、S.Rajagopalan和E.Shekita,让它新鲜,让它快速:搜索个人Web服务器网络,Proc。2003年第12届万维网国际会议,第577-586页。
[213] B. T. Loo, S. Krishnamurthy, and O. Cooper, Distributed web crawling over DHTs, Technical Report, CSD-04-1305, February 9 2004.
[213]B.T.Loo、S.Krishnamurthy和O.Cooper,《DHT上的分布式网络爬行》,技术报告,CSD-04-13052004年2月9日。
[214] M. Junginger and Y. Lee, A self-organizing publish/subscribe middleware for dynamic peer-to-peer networks, IEEE Network 18 (1) (2004) 38-43.
[214]M.Junginger和Y.Lee,用于动态对等网络的自组织发布/订阅中间件,IEEE网络18(1)(2004)38-43。
[215] F. Cuenca-Acuna, C. Peery, R. Martin, and T. Nguyen, PlanetP: Using Gossiping to Build Content Addressable Peer-to-Peer Information Sharing Communities, Proc. 12th international symposium on High Performance Distributed Computing (HPDC), June 2002.
[215]F.Cuenca Acuna,C.Peery,R.Martin和T.Nguyen,PlanetP:利用闲聊建立内容寻址的点对点信息共享社区,Proc。第12届高性能分布式计算(HPDC)国际研讨会,2002年6月。
[216] M. Walfish, H. Balakrishnan, and S. Shenker, Untangling the web from DNS, Proc. First Symp. on Networked Systems Design and Implementation NSDI'04, March 29-31 2004, pp. 225-238.
[216]M.Walfish、H.Balakrishnan和S.Shenker,从DNS中解开网络,Proc。第一交响乐团。关于网络化系统设计和实施NSDI'04,2004年3月29日至31日,第225-238页。
[217] B. Awerbuch and C. Scheideler, Robust distributed name service, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[217]B.Awerbuch和C.Scheideler,鲁棒分布式名称服务,第三届对等系统国际研讨会,2004年2月26日至27日。
[218] A. Iamnitchi, Resource Discovery in Large Resource-Sharing Environments, Doctoral Dissertation 2003.
[218]A.Iamnitchi,大型资源共享环境中的资源发现,博士论文2003。
[219] R. Cox, A. Muthitacharoen, and R. Morris, Serving DNS using a Peer-to-Peer Lookup Service, First Int'l Workshop on Peer-to-Peer Systems (IPTPS), March 2002.
[219]R.Cox、A.Muthitacharoen和R.Morris,使用点对点查找服务为DNS服务,第一次点对点系统(IPTP)国际研讨会,2002年3月。
[220] A. Chander, S. Dawson, P. Lincoln, and D. Stringer-Calvert, NEVRLATE: scalable resource discovery, Second IEEE/ACM Int'l Symp. on Cluster Computing and the Grid CCGRID2002 2002, pp. 56-65.
[220]A.Chander,S.Dawson,P.Lincoln和D.Stringer Calvert,NEVRLATE:可扩展资源发现,第二届IEEE/ACM国际研讨会。关于集群计算和网格CCGRID2002,第56-65页。
[221] M. Balazinska, H. Balakrishnan, and D. Karger, INS/Twine: A scalable Peer-to-Peer architecture for Intentional Resource Discovery, Proc. First Int'l Conf. on Pervasive Computing (IEEE) (2002)
[221]M.Balazinska、H.Balakrishnan和D.Karger,INS/Twine:用于有意资源发现的可扩展对等体系结构,Proc。第一届普及计算国际会议(IEEE)(2002年)
[222] J. Kangasharju, K. Ross, and D. Turner, Secure and resilient peer-to-peer E-mail: design and implementation, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, 1-3 Sept 2003.
[222]J.Kangasharju,K.Ross和D.Turner,安全和弹性对等电子邮件:设计和实现,Proc。第三届国际IEEE对等计算会议,2003年9月1日至3日。
[223] V. Lo, D. Zappala, D. Zhou, Y. Liu, and S. Zhao, Cluster computing on the fly: P2P scheduling of idle cycles in the internet, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[223]V.Lo,D.Zappala,D.Zhou,Y.Liu和S.Zhao,动态集群计算:互联网中空闲周期的P2P调度,第三届对等系统国际研讨会,2004年2月26-27日。
[224] A. Iamnitchi, I. Foster, and D. Nurmi, A peer-to-peer approach to resource discovery in grid environments, IEEE High Performance Distributed Computing 2002.
[224]A.Iamnitchi,I.Foster和D.Nurmi,网格环境中资源发现的对等方法,IEEE高性能分布式计算2002。
[225] I. Foster and A. Iamnitchi, On Death, Taxes and the Convergence of Peer-to-Peer and Grid Computing, Second Int'l Workshop on Peer-to-Peer Systems IPTPS 03, 20-21 February 2003.
[225]I.Foster和A.Iamnitchi,《死亡、税收和点对点和网格计算的融合》,第二届点对点系统国际研讨会IPTPS 03,2003年2月20日至21日。
[226] W. Hoschek, Peer-to-Peer Grid Databases for Web Service Discovery, Concurrency - Practice and Experience (2002) 1-7.
[226]W.Hoschek,用于Web服务发现的对等网格数据库,并发-实践和经验(2002)1-7。
[227] K. Aberer, A. Datta, and M. Hauswirth, A decentralized public key infrastructure for customer-to-customer e-commerce, Int'l Journal of Business Process Integration and Management (2004)
[227]K.Aber,A.Datta和M.Hauswirth,《客户对客户电子商务的分散公钥基础设施》,国际业务流程集成与管理杂志(2004年)
[228] S. Ajmani, D. Clarke, C.-H. Moh, and S. Richman, ConChord: Cooperative SDSI Certificate Storage and Name Resolution, First Int'l Workshop on Peer-to-Peer Systems IPTPS, March 2002.
[228]S.Ajmani,D.Clarke,C.-H.Moh和S.Richman,ConChord:合作SDSI证书存储和名称解析,第一次点对点系统IPTP国际研讨会,2002年3月。
[229] E. Sit, F. Dabek, and J. Robertson, UsenetDHT: a low overhead Usenet server, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[229]E.Sit,F.Dabek和J.Robertson,UsenetDHT:低开销Usenet服务器,第三届对等系统国际研讨会,2004年2月26-27日。
[230] H.-Y. Hsieh and R. Sivakumar, On transport layer support for peer-to-peer networks, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[230]H.-Y.Xieh和R.Sivakumar,关于对等网络的传输层支持,第三届对等系统国际研讨会,2004年2月26-27日。
[231] I. Stoica, D. Adkins, S. Zhuang, S. Shenker, and S. Surana, Internet indirection infrastructure, Proc. 2002 conference on applications, technologies, architectures and protocols for computer communications, August 19-23 2002, pp. 73-86.
[231]I.Stoica,D.Adkins,S.Zhuang,S.Shenker和S.Surana,互联网间接寻址基础设施,Proc。2002年计算机通信应用、技术、体系结构和协议会议,2002年8月19日至23日,第73-86页。
[232] E. Halepovic and R. Deters, Building a P2P forum system with JXTA, Proc. Second IEEE Int'l Conf. on Peer to Peer Computing P2P'02, September 5-7 2002.
[232]E.Halepovic和R.Deters,使用JXTA构建P2P论坛系统,Proc。2002年9月5日至7日,第二届IEEE国际会议,关于点对点计算P2P'02。
[233] M. Wawrzoniak, L. Peterson, and T. Roscoe, Sophia: an Information Plane for networked systems, ACM SIGCOMM Computer Communication Review 34 (1) (2004) 15-20.
[233]M.Wawrzoniak,L.Peterson和T.Roscoe,Sophia:网络系统的信息平面,ACM SIGCOMM计算机通信评论34(1)(2004)15-20。
[234] D. Tran, K. Hua, and T. Do, A Peer-to-Peer Architecture for Media Streaming, IEEE Journal on Selected Areas in Communications 22 (1) (2004) 121-133.
[234]D.Tran,K.Hua和T.Do,媒体流的对等体系结构,IEEE通信选定领域杂志22(1)(2004)121-133。
[235] V. Padmanabhan, H. Wang, and P. Chou, Supporting heterogeneity and congestion control in peer-to-peer multicast streaming, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[235]V.Padmanabhan,H.Wang和P.Chou,支持对等多播流中的异构性和拥塞控制,第三届对等系统国际研讨会,2004年2月26-27日。
[236] A. Nicolosi and D. Mazieres, Secure acknowledgment of multicast messages in open peer-to-peer networks, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[236]A.Nicolosi和D.Mazieres,开放对等网络中多播消息的安全确认,第三届对等系统国际研讨会,2004年2月26-27日。
[237] R. Zhang and C. Hu, Borg: a hybrid protocol for scalable application-level multicast in peer-to-peer networks, Proc. 13th international workshop on network and operating systems for digital audio and video 2003, pp. 172-179.
[237]Zhang和C.Hu,Borg:对等网络中可扩展应用层组播的混合协议,Proc。2003年第13届数字音频和视频网络和操作系统国际研讨会,第172-179页。
[238] M. Sasabe, N. Wakamiya, M. Murata, and H. Miyahara, Scalable and continuous media streaming on peer-to-peer networks, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, Sept 1-3 2003, pp. 92-99.
[238]M.Sasabe、N.Wakamiya、M.Murata和H.Miyahara,《对等网络上的可扩展连续媒体流》,Proc。第三届国际IEEE对等计算会议,2003年9月1-3日,第92-99页。
[239] M. Hefeeda, A. Habib, B. Botev, D. Xu, and B. Bhargava, PROMISE: peer-to-peer media streaming using CollectCast, Proc. eleventh ACM international conference on multimedia 2003, pp. 45-54.
[239]M.Hefeeda,A.Habib,B.Botev,D.Xu和B.Bhargava,PROMISE:使用CollectCast的点对点媒体流,Proc。2003年第十一届ACM国际多媒体会议,第45-54页。
[240] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, and A. Singh, SplitStream: high-bandwidth multicast in cooperative environments, Proc. 19th ACM symposium on operating systems principles 2003, pp. 298-313.
[240]M.Castro,P.Druschel,A.-M.Kermarrec,A.Nandi,A.Rowstron和A.Singh,SplitStream:合作环境中的高带宽多播,Proc。第19届ACM操作系统原理研讨会,2003年,第298-313页。
[241] M. Castro, P. Druschel, A.-M. Kermarrec, and A. Rowstron, SCRIBE: a large-scale and decentralized application-level multicast infrastructure, IEEE Journal on Selected Areas in Communications 20 (8) (2002)
[241]M.Castro,P.Druschel,A.-M.Kermarrec和A.Rowstron,抄写员:大规模和分散的应用级多播基础设施,IEEE通信选定领域杂志20(8)(2002)
[242] S. Zhuang, B. Zhao, A. Joseph, R. Katz, and J. Kubiatowicz, Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination, Proc. 11th ACM international workshop on network and operating systems support for digital audio and video, Jan 2001.
[242]S.Zhuang,B.Zhao,A.Joseph,R.Katz和J.Kubiatowicz,Bayeux:一种可扩展和容错广域数据传播的体系结构,Proc。第11届ACM数字音频和视频网络和操作系统支持国际研讨会,2001年1月。
[243] R. Lienhart, M. Holliman, Y.-K. Chen, I. Kozintsev, and M. Yeung, Improving media services on P2P networks, IEEE Internet Computing 6 (1) (2002) 58-67.
[243]R.Lienhart,M.Holliman,Y.-K.Chen,I.Kozintsev和M.Yeung,改进P2P网络上的媒体服务,IEEE互联网计算6(1)(2002)58-67。
[244] S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu, Data Centric Storage in Sensornets with GHT, a geographic hash table, Mobile Networks and Applications 8 (4) (2003) 427-442.
[244]S.Ratnasamy,B.Karp,S.Shenker,D.Estrin,R.Govindan,L.Yin和F.Yu,带GHT的传感器网络中的数据中心存储,地理哈希表,移动网络和应用8(4)(2003)427-442。
[245] M. Demirbas and H. Ferhatosmanoglu, Peer-to-peer spatial queries in sensor networks, Proc. Third Int'l IEEE Conf. on Peer-to-Peer Computing, 1-3 Sept 2003, pp. 32-39.
[245]M.Demirbas和H.Ferhatosmanoglu,传感器网络中的点对点空间查询,Proc。第三届国际IEEE对等计算会议,2003年9月1日至3日,第32-39页。
[246] S. Ratnasamy, B. Karp, L. Yin, F. Yu, D. Estrin, R. Govindan, and S. Shenker, GHT: a geographic hash table for data-centric storage, Proc. First ACM Int'l Workshop on Wireless Sensor Networks and Applications (Mobicom) 2002, pp. 78-87.
[246]S.Ratnasamy,B.Karp,L.Yin,F.Yu,D.Estrin,R.Govindan和S.Shenker,GHT:数据中心存储的地理哈希表,Proc。第一届ACM无线传感器网络和应用国际研讨会(Mobicom),2002年,第78-87页。
[247] J. Hellerstein and W. Wang, Optimization of In-Network Data Reduction, Proc. First Workshop on Data Management for Sensor Networks DMSN 2004, August 30th 2004.
[247]J.Hellerstein和W.Wang,网络数据约简的优化,Proc。传感器网络数据管理第一次研讨会DMSN 2004,2004年8月30日。
[248] J. Li, J. Stribling, T. Gil, R. Morris, and F. Kaashoek, Comparing the performance of distributed hash tables under churn, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[248]李杰,斯特林,T.吉尔,R.莫里斯和F.卡肖克,比较搅拌下分布式哈希表的性能,第三届点对点系统国际研讨会,2004年2月26-27日。
[249] S. Shenker, The data-centric revolution in networking, Keynote Speech, 29th Int'l Conf. on Very Large Data Bases, September 9-12 2003.
[249]S.Shenker,《以数据为中心的网络革命》,主题演讲,第29届国际会议,关于超大数据库,2003年9月9日至12日。
[250] S. Gribble, A. Halevy, Z. Ives, M. Rodrig, and D. Suciu, What can databases do for P2P?, Proc. Fourth Int'l Workshop on Databases and the Web, WebDB2001, May 24-25 2001.
[250]S.Gribble、A.Halevy、Z.Ives、M.Rodrig和D.Suciu,《数据库能为P2P做些什么?》,Proc。第四期数据库和网络国际讲习班,WebDB2001,2001年5月24日至25日。
[251] D. Clark, The design philosophy of the DARPA internet protocols, ACM SIGCOMM Computer Communication Review, Symp. proceedings on communications architectures and protocols 18 (4) (1988)
[251]D.Clark,DARPA互联网协议的设计理念,ACM SIGCOMM计算机通信评论,Symp。通信体系结构和协议会议记录18(4)(1988年)
[252] J.-C. Laprie, Dependable Computing and Fault Tolerance: Concepts and Terminology, Twenty-Fifth Int'l Symp. on Fault-Tolerant Computing, Highlights from Twenty-Five Years 1995, pp. 2-13.
[252]J.-C.拉普利,《可靠计算和容错:概念和术语》,第二十五届国际研讨会。关于容错计算,1995年25年的亮点,第2-13页。
[253] D. Clark, J. Wroclawski, K. Sollins, and R. Braden, Tussle in cyberspace: defining tomorrow's internet, Conf. on Applications, Technologies, Architectures and Protocols for Computer Communications 2002, pp. 347-356.
[253]D.Clark,J.Wroclawski,K.Sollins和R.Braden,《网络空间中的争斗:定义未来的互联网》,计算机通信应用、技术、体系结构和协议配置,2002年,第347-356页。
[254] L. O. Alima, A. Ghodsi, and S. Haridi, "A framework for structured peer-to-peer overlay networks," in Global computing, vol. 3267, Lecture Notes in Computer Science: Springer Berlin / Heidelberg, 2005, pp. 223-249.
[254]L.O.Alima、A.Ghodsi和S.Haridi,“结构化对等重叠网络的框架”,载于全球计算,第3267卷,计算机科学课堂讲稿:柏林斯普林格/海德堡,2005年,第223-249页。
[255] Clip2, The Gnutella Protocol Specification, http://www.clip2.com (2000)
[255]Clip2,Gnutella协议规范,http://www.clip2.com (2000)
[256] Napster, http://www.napster.com (1999)
[256] Napster, http://www.napster.com (1999)
[257] J. Mishchke and B. Stiller, A methodology for the design of distributed search in P2P middleware, IEEE Network 18 (1) (2004) 30-37.
[257]J.Mishchke和B.Stiller,P2P中间件中分布式搜索的设计方法,IEEE网络18(1)(2004)30-37。
[258] J. Li and K. Sollins, Implementing aggregation and broadcast over distributed hash tables. Full report, http://krs.lcs.mit.edu/regions/docs.html (November) (2003)
[258] J. Li and K. Sollins, Implementing aggregation and broadcast over distributed hash tables. Full report, http://krs.lcs.mit.edu/regions/docs.html (November) (2003)
[259] M. Castro, M. Costa, and A. Rowstron, Should we build Gnutella on a structured overlay?, ACM SIGCOMM Computer Communication Review 34 (1) (2004) 131-136.
[259]M.Castro、M.Costa和A.Rowstron,我们是否应该在结构化覆盖上构建Gnutella?,《ACM SIGCOMM计算机通信评论》34(1)(2004)131-136。
[260] A. Singla and C. Rohrs, Ultrapeers: Another Step Towards Gnutella Scalability, http://groups.yahoo.com/group/the_gdf/files/Proposals/ Working%20Proposals/Ultrapeer/ Version 1.0, 26 November (2002)
[260] A. Singla and C. Rohrs, Ultrapeers: Another Step Towards Gnutella Scalability, http://groups.yahoo.com/group/the_gdf/files/Proposals/ Working%20Proposals/Ultrapeer/ Version 1.0, 26 November (2002)
[261] B. Cooper and H. Garcia-Molina, Ad hoc, Self-Supervising Peer-to-Peer Search Networks, Technical Report, http://www.cc.gatech.edu/~cooperb/odin/ 2003.
[261]B.Cooper和H.Garcia Molina,自监督点对点搜索网络,技术报告,http://www.cc.gatech.edu/~cooperb/odin/2003。
[262] R. Baeza-Yates and B. Ribeiro-Neto, Modern Information Retrieval. Addison Wesley, Essex, England, 1999.
[262]R.Baeza Yates和B.Ribeiro Neto,现代信息检索。艾迪生·韦斯利,埃塞克斯,英国,1999年。
[263] S. Sen and J. Wang, Analyzing peer-to-peer traffic across large networks, IEEE/ACM Trans. on Networking 12 (2) (2004) 219-232.
[263]S.Sen和J.Wang,分析大型网络中的点对点流量,IEEE/ACM Trans。关于网络12(2)(2004)219-232。
[264] H. Balakrishnan, S. Shenker, and M. Walfish, Semantic-Free Referencing in Linked Distributed Systems, Second Int'l Workshop on Peer-to-Peer Systems IPTPS 03, 20-21 February 2003.
[264]H.Balakrishnan,S.Shenker和M.Walfish,链接分布式系统中的语义自由引用,第二届点对点系统国际研讨会IPTPS 03,2003年2月20-21日。
[265] B. Yang, P. Vinograd, and H. Garcia-Molina, Evaluating GUESS and non-forwarding peer-to-peer search, The 24th Int'l Conf. on Distributed Computing Systems ICDCS'04, Mar 23-26 2004.
[265]B.Yang,P.Vinograd和H.Garcia Molina,《评估猜测和非转发对等搜索》,第24届国际分布式计算系统大会,2004年3月23-26日。
[266] A. Gupta, B. Liskov, and R. Rodrigues, One Hop Lookups for Peer-to-Peer Overlays, 9th Workshop on Hot Topics in Operating Systems (HotOS), 18-21 May 2003.
[266]A.Gupta、B.Liskov和R.Rodrigues,点对点覆盖的一跳查找,第九届操作系统热点问题研讨会(HotOS),2003年5月18-21日。
[267] A. Gupta, B. Liskov, and R. Rodrigues, Efficient routing for peer-to-peer overlays, First symp. on Networked Systems Design and Implementation (NSDI), Mar 29-31 2004, pp. 113-126.
[267]A.Gupta,B.Liskov和R.Rodrigues,《点对点覆盖的有效路由》,第一届研讨会。关于网络系统设计与实施(NSDI),2004年3月29-31日,第113-126页。
[268] A. Mizrak, Y. Cheng, V. Kumar, and S. Savage, Structured superpeers: leveraging heterogeneity to provide constant-time lookup, IEEE Workshop on Internet Applications, June 23-24 2003.
[268]A.Mizrak,Y.Cheng,V.Kumar和S.Savage,结构化超级工程师:利用异质性提供恒定时间查找,IEEE互联网应用研讨会,2003年6月23-24日。
[269] L. Adamic, R. Lukose, A. Puniyani, and B. Huberman, Search in power-law networks, Physical review E, The American Physical Society 64 (046135) (2001)
[269]L.Adamic、R.Lukose、A.Puniyani和B.Huberman,幂律网络搜索,物理评论E,美国物理学会64(046135)(2001)
[270] F. Banaei-Kashani and C. Shahabi, Criticality-based analysis and design of unstructured peer-to-peer networks as "complex systems", Proc. 3rd IEEE/ACM Int'l Symp. on Cluster Computing and the Grid 2003, pp. 351-358.
[270]F.Banaei Kashani和C.Shahabi,《作为“复杂系统”的非结构化对等网络的基于临界性的分析和设计》,Proc。第三届IEEE/ACM国际研讨会。关于集群计算和网格2003,第351-358页。
[271] KaZaa, KaZaa Media Desktop, www.kazaa.com (2001)
[271]KaZaa,KaZaa媒体桌面,www.KaZaa.com(2001年)
[272] S. Sen and J. Wang, Analyzing peer-to-peer traffic across large networks, Proc. second ACM SIGCOMM workshop on Internet measurement, November 06-08 2002, pp. 137-150.
[272]S.Sen和J.Wang,分析大型网络中的点对点流量,Proc。第二届ACM SIGCOMM互联网测量研讨会,2002年11月6日至8日,第137-150页。
[273] DirectConnect, http:www.neo-modus.com (2001)
[273]DirectConnect,http:www.neo-modus.com(2001年)
[274] S. Saroiu, K. Gummadi, R. Dunn, S. Gribble, and H. Levy, An analysis of Internet content delivery systems, ACM SIGOPS Operating Systems Review 36 (2002) 315-327.
[274]S.Saroiu,K.Gummadi,R.Dunn,S.Gribble和H.Levy,《互联网内容交付系统分析》,ACM SIGOPS操作系统评论36(2002)315-327。
[275] A. Loo, The Future or Peer-to-Peer Computing, Communications of the ACM 46 (9) (2003) 56-61.
[275]A.Loo,未来或对等计算,ACM通信46(9)(2003)56-61。
[276] B. Yang and H. Garcia-Molina, Comparing Hybrid Peer-to-Peer Systems (extended), 27th Int'l Conf. on Very Large Data Bases, September 11-14 2001.
[276]B.Yang和H.Garcia Molina,《比较混合对等系统》(扩展版),第27届国际会议,基于大型数据库,2001年9月11日至14日。
[277] D. Scholl, OpenNap Home Page, http://opennap.sourceforge.net/ (2001)
[277] D. Scholl, OpenNap Home Page, http://opennap.sourceforge.net/ (2001)
[278] S. Ghemawat, H. Gobioff, and S.-T. Leung, The Google file system, Proc. 19th ACM symposium on operating systems principles 2003, pp. 29-43.
[278]S.Ghemawat,H.Gobioff和S.-T.Leung,谷歌文件系统,Proc。第19届ACM操作系统原理研讨会,2003年,第29-43页。
[279] I. Clarke, S. Miller, T. Hong, O. Sandberg, and B. Wiley, Protecting Free Expression Online with Freenet, IEEE Internet Computing 6 (1) (2002)
[279]I.Clarke、S.Miller、T.Hong、O.Sandberg和B.Wiley,利用Freenet保护在线自由表达,IEEE互联网计算6(1)(2002)
[280] J. Mache, M. Gilbert, J. Guchereau, J. Lesh, F. Ramli, and M. Wilkinson, Request algorithms in Freenet-style peer-to-peer systems, Proc. Second IEEE Int'l Conf. on Peer to Peer Computing P2P'02, September 5-7 2002.
[280]J.Mache、M.Gilbert、J.Guchereau、J.Lesh、F.Ramli和M.Wilkinson,自由网式对等系统中的请求算法,Proc。2002年9月5日至7日,第二届IEEE国际会议,关于点对点计算P2P'02。
[281] C. Rohrs, Query Routing for the Gnutella Networks, http://www.limewire.com/developer/query_routing/ keyword%20routing.htm Version 1.0 (2002)
[281] C. Rohrs, Query Routing for the Gnutella Networks, http://www.limewire.com/developer/query_routing/ keyword%20routing.htm Version 1.0 (2002)
[282] I. Clarke, Freenet's Next Generation Routing Protocol, http://freenetproject.org/index.php?page=ngrouting, 20th July 2003.
[282]I.Clarke,Freenet的下一代路由协议,http://freenetproject.org/index.php?page=ngrouting,2003年7月20日。
[283] A. Z. Kronfol, FASD: A fault-tolerant, adaptive scalable distributed search engine, Master's Thesis http://www.cs.princeton.edu/~akronfol/fasd/ 2002.
[283]A.Z.Kronfol,FASD:一个容错、自适应可伸缩的分布式搜索引擎,硕士论文http://www.cs.princeton.edu/~akronfol/fasd/2002。
[284] S. Gribble, E. Brewer, J. M. Hellerstein, and D. Culler, Scalable, Distributed Data Structures for Internet Service Construction, Proc. 4th Symp. on Operating Systems Design and Implementation OSDI 2000, October 2000.
[284]S.Gribble、E.Brewer、J.M.Hellerstein和D.Culler,《互联网服务构建的可扩展分布式数据结构》,Proc。第四交响乐团。关于操作系统设计和实现的OSDI 2000,2000年10月。
[285] K. Aberer, Efficient Search in Unbalanced, Randomized Peer-to-Peer Search Trees, EPFL Technical Report IC/2002/79 (2002)
[285]K.Aber,非平衡随机对等搜索树中的有效搜索,EPFL技术报告IC/2002/79(2002)
[286] R. Honicky and E. Miller, A fast algorithm for online placement and reorganization of replicated data, Proc. 17th Int'l Parallel and Distributed Processing Symp., April 2003.
[286]R.Honicky和E.Miller,在线放置和重组复制数据的快速算法,Proc。第17届国际并行和分布式处理研讨会,2003年4月。
[287] G. S. Manku, Routing networks for distributed hash tables, Proc. 22nd annual ACM Symp. on Principles of Distributed Computing, PODC 2003, July 13-16 2003, pp. 133-142.
[287]G.S.Manku,分布式哈希表的路由网络,Proc。第22届ACM年会。《分布式计算原理》,PODC 2003,2003年7月13-16日,第133-142页。
[288] D. Lewin, Consistent hashing and random trees: algorithms for caching in distributed networks, Master's Thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology (1998)
[288]D.Lewin,一致散列和随机树:分布式网络中的缓存算法,硕士论文,麻省理工学院电气工程和计算机科学系(1998年)
[289] S. Lei and A. Grama, Extended consistent hashing: a framework for distributed servers, Proc. 24th Int'l Conf. on Distributed Computing Systems ICDCS 2004, March 23-26 2004.
[289]S.Lei和A.Grama,《扩展一致性哈希:分布式服务器框架》,Proc。2004年3月23日至26日,第24届分布式计算系统国际会议。
[290] W. Litwin, Re: Chord & LH*, Email to Ion Stoica, March 23 2004a.
[290]W.Litwin,回复:Chord&LH*,电邮至Ion Stoica,2004a年3月23日。
[291] J. Li, J. Stribling, R. Morris, F. Kaashoek, and T. Gil, A performance vs. cost framework for evaluating DHT design tradeoffs under churn, Proc. IEEE Infocom, Mar 13-17 2005.
[291]J.Li,J.Stripling,R.Morris,F.Kaashoek和T.Gil,一个在客户流失情况下评估DHT设计权衡的性能与成本框架,Proc。IEEE信息通信,2005年3月13-17日。
[292] S. Zhuang, D. Geels, I. Stoica, and R. Katz, On failure detection algorithms in overlay networks, Proc. IEEE Infocomm, Mar 13-17 2005.
[292]S.Zhuang,D.Geels,I.Stoica和R.Katz,关于覆盖网络中的故障检测算法,Proc。IEEE信息通信,2005年3月13-17日。
[293] X. Li, J. Misra, and C. G. Plaxton, Active and Concurrent Topology Maintenance, The 18th Annual Conf. on Distributed Computing (DISC 2004), Trippenhuis, Amsterdam, the Netherlands, October 4 - October 7 (2004)
[293]X.Li,J.Misra和C.G.Plaxton,《主动和并发拓扑维护》,第18届分布式计算年度会议(DISC 2004),荷兰阿姆斯特丹Trippenhuis,2004年10月4日至10月7日
[294] K. Aberer, L. O. Alima, A. Ghodsi, S. Girdzijauskas, M. Hauswirth, and S. Haridi, The essence of P2P: a reference architecture for overlay networks, Proc. of the 5th international conference on peer-to-peer computing, Aug 31-Sep 2 2005.
[294]K.Aber,L.O.Alima,A.Ghodsi,S.Girdzijauskas,M.Hauswirth和S.Haridi,《P2P的本质:覆盖网络的参考体系结构》,Proc。第五届对等计算国际会议,2005年8月31日至9月2日。
[295] C. Tang, M. Buco, R. Chang, S. Dwarkadas, L. Luan, E. So, and C. Ward, Low traffic overlay networks with large routing tables, Proc. of ACM Sigmetrics Int'l Conf. on Measurement and Modeling of Comp. Sys., Jun 6-10 2005, pp. 14-25.
[295]Tang C.M.Buco,R.Chang,S.Dwarkadas,L.Luan,E.So和C.Ward,具有大型路由表的低流量覆盖网络,Proc。ACM Sigmetrics国际会议关于Comp测量和建模的会议。《系统》,2005年6月6日至10日,第14-25页。
[296] S. Rhea, D. Geels, T. Roscoe, and J. Kubiatowicz, Handling churn in a DHT, Proc. of the USENIX Annual Technical Conference, June 2004.
[296]S.Rhea、D.Geels、T.Roscoe和J.Kubiatowicz,在DHT中处理搅拌,过程。2004年6月,USENIX年度技术会议。
[297] C. Blake and R. Rodrigues, High Availability, Scalable Storage, Dynamic Peer Networks: Pick Two, 9th Workshop on Hot Topics in Operating Systems (HotOS), Lihue, Hawaii, 18-21 May (2003)
[297]C.Blake和R.Rodrigues,《高可用性、可扩展存储、动态对等网络:选择二》,第九期操作系统热门话题研讨会,夏威夷利休,2003年5月18日至21日
[298] S. Rhea, B. Godfrey, B. Karp, J. Kubiatowicz, S. Ratnasamy, S. Shenker, I. Stoica, and H. Yu, OpenDHT: a public DHT service and its uses, Proc. of the conf. on Applications, technologies, architectures and protocols for computer communications, Aug 22-26 2005, pp. 73-84.
[298]S.Rhea、B.Godfrey、B.Karp、J.Kubiatowicz、S.Ratnasamy、S.Shenker、I.Stoica和H.Yu,OpenDHT:一种公共DHT服务及其使用,Proc。2005年8月22日至26日,计算机通信应用、技术、体系结构和协议会议,第73-84页。
[299] T. Gil, F. Kaashoek, J. Li, R. Morris, and J. Stribling, p2psim, a simulator for peer-to-peer protocols, http://www.pdos.lcs.mit.edu/p2psim/ (2003)
[299] T. Gil, F. Kaashoek, J. Li, R. Morris, and J. Stribling, p2psim, a simulator for peer-to-peer protocols, http://www.pdos.lcs.mit.edu/p2psim/ (2003)
[300] K. Hildrum, J. D. Kubiatowicz, S. Rao, and B. Y. Zhao, Distributed object location in a dynamic network, Theory of Computing Systems (2004)
[300]K.Hildrum,J.D.Kubiatowicz,S.Rao和B.Y.Zhao,动态网络中的分布式对象定位,计算系统理论(2004)
[301] N. Lynch, D. Malkhi, and D. Ratajczak, Atomic data access in distributed hash tables, Proc. Int'l Peer-to-Peer Symp., March 7-8 2002.
[301]N.Lynch,D.Malkhi和D.Ratajczak,《分布式哈希表中的原子数据访问》,Proc。国际点对点研讨会,2002年3月7日至8日。
[302] S. Gilbert, N. Lynch, and A. Shvartsman, RAMBO II: Rapidly Reconfigurable Atomic Memory for Dynamic Networks, Technical Report, MIT-CSAIL-TR-890 2004.
[302]S.Gilbert,N.Lynch和A.Shvartsman,RAMBO II:用于动态网络的快速可重构原子存储器,技术报告,MIT-CSAIL-TR-890 2004。
[303] N. Lynch and I. Stoica, MultiChord: A resilient namespace management algorithm, Technical Memo MIT-LCS-TR-936 2004.
[303]N.Lynch和I.Stoica,MultiChord:弹性名称空间管理算法,技术备忘录MIT-LCS-TR-936 2004。
[304] J. Risson, K. Robinson, and T. Moors, Fault tolerant active rings for structured peer-to-peer overlays, Proc. of the 30th Annual IEEE Conf. on Local Computer Networks, Nov 15-17 2005, pp. 18-25.
[304]J.Risson,K.Robinson和T.Moors,结构化对等覆盖的容错主动环,Proc。2005年11月15-17日,第30届IEEE本地计算机网络年会,第18-25页。
[305] B. Awerbuch and C. Scheideler, Peer-to-peer systems for prefix search, Proc. 22nd annual ACM Symp. on Principles of Distributed Computing 2003, pp. 123-132.
[305]B.Awerbuch和C.Scheideler,前缀搜索的对等系统,Proc。第22届ACM年会。《分布式计算原理2003》,第123-132页。
[306] F. Dabek, B. Zhao, P. Druschel, J. Kubiatowicz, and I. Stoica, Towards a common API for structured P2P overlays, Proc. Second Int'l Workshop on Peer to Peer Systems IPTPS 2003, February 2003.
[306]F.Dabek,B.Zhao,P.Druschel,J.Kubiatowicz和I.Stoica,面向结构化P2P覆盖的通用API,Proc。2003年2月,第二届点对点系统IPTPS国际研讨会。
[307] N. Feamster and H. Balakrishnan, Towards a logic for wide-area Internet routing, Proc. ACM SIGCOMM workshop on Future Directions in Network Architecture, August 25-27 2003, pp. 289-300.
[307]N.Feamster和H.Balakrishnan,《面向广域互联网路由的逻辑》,Proc。ACM SIGCOMM网络架构未来方向研讨会,2003年8月25-27日,第289-300页。
[308] B. Ahlgren, M. Brunner, L. Eggert, R. Hancock, and S. Schmid, Invariants: a new design methodology for network architectures, Proc. ACM SIGCOMM workshop on Future Direction in Network Architecture, August 30 2004, pp. 65-70.
[308]B.Ahlgren、M.Brunner、L.Eggert、R.Hancock和S.Schmid,《不变量:网络架构的新设计方法》,Proc。ACM SIGCOMM网络架构未来方向研讨会,2004年8月30日,第65-70页。
[309] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, 2nd Edition. MIT Press, McGraw-Hill, Cambridge, London, England, 2003.
[309]T.Cormen、C.Leiserson、R.Rivest和C.Stein,《算法导论》,第二版。麻省理工学院出版社,麦格劳·希尔,剑桥,伦敦,英国,2003年。
[310] I. Abraham, D. Malkhi, and O. Dubzinski, LAND:Stretch (1+epsilon) Locality Aware Networks for DHTs, Proc. ACM-SIAM Symp. on Discrete Algorithms SODA-04 2004.
[310]I.Abraham,D.Malkhi和O.Dubzinski,土地:DHT的伸展(1+ε)位置感知网络,Proc。暹罗交流会。关于离散算法SODA-04 2004。
[311] S. Jain, R. Mahajan, and D. Wetherall, A study of the performance potential of DHT-based overlays, Proc. of the 4th Usenix symposium on internet technologies and systems (USITS), Mar 2003.
[311]S.Jain,R.Mahajan和D.Wetheral,关于DHT覆盖层性能潜力的研究,Proc。第四届Usenix互联网技术和系统研讨会(USITS),2003年3月。
[312] J. Risson, A. Harwood, and T. Moors, Stable high-capacity one-hop distributed hash tables, Proc. of the IEEE Symposium on Computers and Communications (ISCC'06), Jun 26-29 2006.
[312]J.Risson、A.Harwood和T.Moors,稳定的高容量单跳分布式哈希表,Proc。2006年6月26日至29日,参加IEEE计算机与通信研讨会(ISCC'06)。
[313] V. Ramasubramanian and E. Sirer, Beehive: O(1) Lookup Performance for Power-Law Query Distributions in Peer-to-Peer Overlays, Proc. First Symp. on Networked Systems Design and Implementation (NSDI'04), San Francisco, California, March 29-31 (2004) 99-112.
[313]V.Ramasubramanian和E.Sirer,Beehive:O(1)对等覆盖中幂律查询分布的查找性能,Proc。第一交响乐团。网络系统设计与实现(NSDI’04),旧金山,加利福尼亚,三月29—31(2004)99-112。
[314] I. Abraham, A. Badola, D. Bickson, D. Malkhi, S. Maloo, and S. Ron, Practical locality-awareness for large scale information sharing, Proc. 4th International Workshop on Peer-to-Peer Systems, Feb 24-25 2005.
[314]I.Abraham、A.Badola、D.Bickson、D.Malkhi、S.Maloo和S.Ron,《大规模信息共享的实用位置感知》,Proc。第四届对等系统国际研讨会,2005年2月24日至25日。
[315] B. Leong, B. Liskov, and E. Demaine, Epichord: parallelizing the Chord lookup algorithm with reactive routing state management, Proc. of the 12th International Conference on Networks, Nov 2004.
[315]B.Leong,B.Liskov和E.Demaine,Epichord:将和弦查找算法与反应式路由状态管理并行化,Proc。第12届国际网络会议,2004年11月。
[316] J. Li, J. Stribling, R. Morris, and F. Kaashoek, Bandwidth-efficient management of DHT routing tables, Proc. 2nd Symposium on Networked Systems Design and Implementation, May 2-4 2005.
[316]李杰,斯特林,R.莫里斯和F.卡肖克,DHT路由表的带宽有效管理,Proc。第二届网络系统设计与实现研讨会,2005年5月2日至4日。
[317] S. Rhea, B.-G. Chun, J. Kubiatowicz, and S. Shenker, Fixing the embarrassing slowness of OpenDHT on PlanetLab, Proc. of the Second USENIX Workshop on Real, Large Distributed Systems, Dec 13 2005.
[317]S.Rhea,B.-G.Chun,J.Kubiatowicz和S.Shenker,修复PlanetLab上OpenDHT令人尴尬的缓慢,Proc。2005年12月13日,第二届USENIX大型分布式系统研讨会。
[318] M. Costa, M. Castro, A. Rowstron, and P. Key, PIC: Practical Internet coordinates for distance estimation, Proc. of the 24th international conference on distributed computing systems, Mar 2004.
[318]M.Costa,M.Castro,A.Rowstron和P.Key,图片:用于距离估计的实用互联网坐标,Proc。第24届分布式计算系统国际会议,2004年3月。
[319] M. Castro, M. B. Jones, A.-M. Kermarrec, A. Rowstron, M. Theimer, H. Wang, and A. Wolman, An evaluation of scalable application- level multicast built using peer-to-peer overlays, Proc. of the 22nd Annual Joint Conf. of the IEEE Comp. and Comm. Soc. (INFOCOM), 30 Mar - 3 Apr 2003, pp. 1510-1520.
[319]M.Castro、M.B.Jones、A.-M.Kermarrec、A.Rowstron、M.Theimer、H.Wang和A.Wolman,对使用对等覆盖构建的可伸缩应用程序级多播的评估,Proc。IEEE公司第22届年度联合会议。和通信Soc。(信息网),2003年3月30日至4月3日,第1510-1520页。
[320] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker, Application-level multicast using content-addressable networks, Proc. of the Third International Workshop on Networked Group Communication, Nov 7-9 2001.
[320]S.Ratnasamy,M.Handley,R.Karp和S.Shenker,使用内容寻址网络的应用程序级多播,Proc。2001年11月7日至9日,第三届网络化群体传播国际研讨会。
[321] S. El-Ansary, L. Alima, P. Brand, and S. Haridi, Efficient broadcast in structured P2P networks, Second Int'l Workshop on Peer-to-Peer Systems (IPTPS 03), Berkeley, CA, USA, 20-21 February (2003)
[321]S.El-Ansary,L.Alima,P.Brand和S.Haridi,《结构化P2P网络中的高效广播》,第二届点对点系统国际研讨会(IPTPS 03),美国加利福尼亚州伯克利,2003年2月20-21日
[322] J. Li, K. Sollins, and D.-Y. Lim, Implementing aggregation and broadcast over Distributed Hash Tables, ACM Computer Communication Reviews 35 (1) (2005) 81-92.
[322]李杰,K.索林斯和D.-Y.林,在分布式哈希表上实现聚合和广播,ACM计算机通信评论35(1)(2005)81-92。
[323] V. Pai, K. Tamilmani, V. Sambamurthy, K. Kumar, and A. Mohr, Chainsaw: eliminating trees from overlay multicast, Proc. 4th Int'l Workshop on Peer-to-Peer Systems, February 24-25 2005.
[323]V.Pai,K.Tamilmani,V.Sambamurthy,K.Kumar和A.Mohr,电锯:从覆盖多播中消除树,Proc。第四届点对点系统国际研讨会,2005年2月24日至25日。
[324] K. Birman, M. Hayden, O. Ozkasap, Z. Xiao, and M. Budiu, Bimodal Multicast, ACM Trans. on Computer Systems 17 (2) (1999) 41-88.
[324]K.Birman,M.Hayden,O.Ozkasap,Z.Xiao和M.Budiu,双模多播,ACM Trans。关于计算机系统17(2)(1999)41-88。
[325] Z. Zhang, S. Chen, Y. Ling, and R. Chow, Resilient capacity-aware multicasting based on overlay networks, Proc. of the 25th IEEE Int'l Conf. on Distributed Computing Systems, 6-10 June 2005, pp. 565-574.
[325]Zhang,S.Chen,Y.Ling和R.Chow,基于覆盖网络的弹性容量感知多播,Proc。第25届IEEE国际分布式计算系统会议,2005年6月6日至10日,第565-574页。
[326] A. Bharambe, S. Rao, V. Padmanabhan, S. Seshan, and H. Zhang, The impact of heterogeneous bandwidth constraints on DHT-based multicast protocols, Proc. 4th Int'l Workshop on Peer-to-Peer Systems, February 24-25 2005.
[326]A.Bharambe,S.Rao,V.Padmanabhan,S.Seshan和H.Zhang,异构带宽限制对基于DHT的多播协议的影响,Proc。第四届点对点系统国际研讨会,2005年2月24日至25日。
[327] A. Ghodsi, L. O. Alima, S. El-Ansary, P. Brand, and S. Haridi, Self-correcting broadcast in distributed hash tables, Proc. of the 15th IASTED International Conf. on Parallel and Distributed Computing and Systems, Nov 2003.
[327]A.Ghodsi,L.O.Alima,S.El Ansary,P.Brand和S.Haridi,分布式哈希表中的自校正广播,Proc。2003年11月,第15届IASTED并行和分布式计算与系统国际会议。
[328] R. Mahajan, M. Castro, and A. Rowstron, Controlling the cost of reliability in peer-to-peer overlays, Second Int'l Workshop on Peer-to-Peer Systems IPTPS'03, February 20-21 2003.
[328]R.Mahajan、M.Castro和A.Rowstron,控制点对点覆盖的可靠性成本,第二届点对点系统IPTPS国际研讨会,2003年2月20日至21日。
[329] S. Rhea, D. Geels, T. Roscoe, and J. Kubiatowicz, Handling churn in a DHT, Report No. UCB/CSD-03-1299, University of California, also Proc. USENIX Annual Technical Conference, June 2003.
(329)S. Rhea,D. Geels,T. Roscoe和J. Kubiatowicz,处理DHT中的搅动,报告UCb/CSD-03-1299,加利福尼亚大学,也PROC。USENIX年度技术会议,2003年6月。
[330] M. Castro, M. Costa, and A. Rowstron, Performance and dependability of structured peer-to-peer overlays, Microsoft Research Technical Report MSR-TR-2003-94, December. Also 2004 Int'l Conf. on Dependable Systems and Networks, June 28-July 1 2003.
[330]M.Castro、M.Costa和A.Rowstron,《结构化点对点覆盖的性能和可靠性》,微软研究技术报告MSR-TR-2003-94,12月。2004年可靠系统和网络国际会议,2003年6月28日至7月1日。
[331] D. Liben-Nowell, H. Balakrishnan, and D. Karger, Analysis of the evolution of peer-to-peer systems, Annual ACM Symp. on Principles of Distributed Computing 2002, pp. 233-242.
[331]D.Liben Nowell、H.Balakrishnan和D.Karger,《对等系统演化分析》,年度ACM研讨会。《分布式计算原理》,2002年,第233-242页。
[332] L. Alima, S. El-Ansary, P. Brand, and S. Haridi, DKS(N,k,f): a family of low communication, scalable and fault-tolerant infrastructures for P2P applications, Proc. 3rd IEEE/ACM Int'l Symp. on Cluster Computing and the Grid (2003) 344-350.
[332]L.Alima,S.El Ansary,P.Brand和S.Haridi,DKS(N,k,f):一系列用于P2P应用程序的低通信、可扩展和容错基础设施,Proc。第三届IEEE/ACM国际研讨会。关于集群计算和网格(2003)344-350。
[333] D. Karger and M. Ruhl, Finding nearest neighbours in growth-restricted metrics, Proc. 34th annual ACM symposium on Theory of computing 2002, pp. 741-750.
[333]D.Karger和M.Ruhl,《在增长受限指标中寻找最近邻》,Proc。2002年第34届ACM计算理论年会,第741-750页。
[334] S. Ratnasamy, A Scalable Content-Addressable Network, Doctoral Dissertation 2002.
[334]S.Ratnasamy,《可扩展内容寻址网络》,博士论文2002年。
[335] S. McCanne and S. Floyd, The LBNL/UCB Network Simulator.
[335]S.McCanne和S.Floyd,LBNL/UCB网络模拟器。
[336] M. Naor and U. Wieder, Novel architectures for P2P applications: the continuous-discrete approach, Proc. fifteenth annual ACM Symp. on Parallel Algorithms and Architectures, SPAA 2003, June 7-9 2003, pp. 50-59.
[336]M.Naor和U.Wieder,P2P应用的新架构:连续离散方法,Proc。第十五届ACM年会。关于并行算法和体系结构,SPAA2003,2003年6月7-9日,第50-59页。
[337] N. D. de Bruijn, A combinatorial problem, Koninklijke Netherlands: Academe Van Wetenschappen 49 (1946) 758-764.
[337]N.D.de Bruijn,一个组合问题,荷兰:Van Wetenschappen学院49(1946)758-764。
[338] J.-W. Mao, "The Coloring and Routing Problems on de Bruijn Interconnection Networks," in Doctoral Dissertation, National Sun Yat-sen University, 2003.
[338]J.-W.Mao,“de Bruijn互连网络上的着色和路由问题”,国立中山大学博士论文,2003年。
[339] M. L. Schlumberger, De Bruijn communication networks, Doctoral Dissertation 1974.
[339]M.L.斯伦贝谢,德布鲁因通信网络,博士论文,1974年。
[340] M. Imase and M. Itoh, Design to minimize diameter on building-block network, IEEE Trans. on Computers C-30 (6) (1981) 439- 442.
[340]M.Imase和M.Itoh,《在构建块网络上最小化直径的设计》,IEEE Trans。关于计算机C-30(6)(1981)439-442。
[341] S. M. Reddy, D. K. Pradhan, and J. G. Kuhl, Direct graphs with minimal and maximal connectivity, Technical Report, School of Engineering, Oakland University (1980)
[341]S.M.Reddy,D.K.Pradhan和J.G.Kuhl,《具有最小和最大连通性的直接图》,奥克兰大学工程学院技术报告(1980年)
[342] R. A. Rowley and B. Bose, Fault-tolerant ring embedding in de Bruijn networks, IEEE Trans. on Computers 42 (12) (1993) 1480- 1486.
[342]R.A.Rowley和B.Bose,嵌入在de Bruijn网络中的容错环,IEEE Trans。关于计算机42(12)(1993)1480-1486。
[343] K. Y. Lee, G. Liu, and H. F. Jordan, Hierarchical networks for optical communications, Journal of Parallel and Distributed Computing 60 (2000) 1-16.
[343]K.Y.Lee,G.Liu和H.F.Jordan,光通信分层网络,并行和分布式计算杂志60(2000)1-16。
[344] M. Naor and U. Wieder, Know thy neighbor's neighbor: better routing for skip-graphs and small worlds, The 3rd Int'l Workshop on Peer-to-Peer Systems, February 26-27 2004.
[344]M.Naor和U.Wieder,《了解你邻居的邻居:跳过图和小世界的更好路由》,第三届点对点系统国际研讨会,2004年2月26-27日。
[345] P. Fraigniaud and P. Gauron, The content-addressable networks D2B, Technical Report 1349, Laboratoire de Recherche en Informatique, January 2003.
[345]P.Fraiginaud和P.Gauron,内容寻址网络D2B,技术报告1349,信息研究实验室,2003年1月。
[346] A. Datta, S. Girdzijauskas, and K. Aberer, On de Bruijn routing in distributed hash tables: there and back again, Proc. Fourth IEEE Int'l Conf. on Peer-to-Peer Computing, , 25-27 August 2004.
[346]A.Datta、S.Girdzijauskas和K.Aber,关于分布式哈希表中的de Bruijn路由:来回,过程。第四届IEEE国际会议,关于对等计算,2004年8月25日至27日。
[347] W. Pugh, Skip lists: a probabilistic alternative to balanced trees, Proc. Workshop on Algorithms and Data Structures, August 17-19 1989, pp. 437-449.
[347]W.Pugh,跳过列表:平衡树的概率替代,Proc。算法和数据结构研讨会,1989年8月17日至19日,第437-449页。
[348] W. Pugh, Skip lists: a probabilistic alternative to balanced trees, Communications of the ACM 33 (6) (1990) 668-676.
[348]W.Pugh,跳过列表:平衡树的概率替代,ACM通讯33(6)(1990)668-676。
[349] J. Gray, The transaction concept: Virtues and limitations, Proc. VLDB, September 1981.
[349]J.Gray,《交易概念:优点和局限性》,程序。VLDB,1981年9月。
[350] B. T. Loo, J. M. Hellerstein, R. Huebsch, S. Shenker, and I. Stoica, Enhancing P2P file-sharing with internet-scale query processor, Proc. 30th Int'l Conf. on Very Large Data Bases VLDB 2004, 29 August-3 September 2004.
[350]B.T.Loo,J.M.Hellerstein,R.Huebsch,S.Shenker和I.Stoica,利用互联网规模的查询处理器增强P2P文件共享,Proc。2004年8月29日至9月3日,第30次关于超大数据库VLDB的国际会议。
[351] M. Stonebraker, P. Aoki, W. Litwin, A. Pfeffer, A. Sah, J. Sidell, C. Staelin, and A. Yu, Mariposa: a wide-area distributed database system, THE VLDB Journal - The Int'l Journal of Very Large Data Bases (5) (1996) 48-63.
[351]M.Stonebraker,P.Aoki,W.Litwin,A.Pfeffer,A.Sah,J.Sidell,C.Staelin和A.Yu,Mariposa:广域分布式数据库系统,VLDB期刊-国际大型数据库期刊(5)(1996)48-63。
[352] V. Cholvi, P. Felber, and E. Biersack, Efficient Search in Unstructured Peer-to-Peer Networks, Proc. Symp. on Parallel Algorithms and Architectures, July 2004.
[352]V.Cholvi,P.Felber和E.Biersack,《非结构化对等网络中的高效搜索》,Proc。交响乐团。关于并行算法和体系结构,2004年7月。
[353] S. Daswani and A. Fisk, Gnutella UDP Extension for Scalable Searches (GUESS) v0.1, http://www.limewire.org/fisheye/viewrep/~raw,r=1.2/limecvs/ core/guess_01.html (2002)
[353] S. Daswani and A. Fisk, Gnutella UDP Extension for Scalable Searches (GUESS) v0.1, http://www.limewire.org/fisheye/viewrep/~raw,r=1.2/limecvs/ core/guess_01.html (2002)
[354] A. Fisk, Gnutella Dynamic Query Protocol v0.1, Gnutella Developer Forum (2003)
[354]A.Fisk,Gnutella动态查询协议v0.1,Gnutella开发者论坛(2003年)
[355] O. Gnawali, A Keyword Set Search System for Peer-to-Peer Networks, Master's Thesis 2002.
[355]O.Gnawali,对等网络关键字集搜索系统,硕士论文2002。
[356] Limewire, Limewire Host Count, http://www.limewire.com/english/content/netsize.shtml (2004)
[356] Limewire, Limewire Host Count, http://www.limewire.com/english/content/netsize.shtml (2004)
[357] A. Fisk, Gnutella Ultrapeer Query Routing, http://groups.yahoo.com/group/the_gdf/files/Proposals/ Working%20Proposals/search/Ultrapeer%20QRP/ v0.1 (2003)
[357] A. Fisk, Gnutella Ultrapeer Query Routing, http://groups.yahoo.com/group/the_gdf/files/Proposals/ Working%20Proposals/search/Ultrapeer%20QRP/ v0.1 (2003)
[358] A. Fisk, Gnutella Dynamic Query Protocol, http://groups.yahoo.com/group/the_gdf/files/Proposals/ Working%20Proposals/search/Dynamic%20Querying/ v0.1 (2003)
[358] A. Fisk, Gnutella Dynamic Query Protocol, http://groups.yahoo.com/group/the_gdf/files/Proposals/ Working%20Proposals/search/Dynamic%20Querying/ v0.1 (2003)
[359] S. Thadani, Meta Data searches on the Gnutella Network (addendum), http://www.limewire.com/developer/MetaProposal2.htm (2001)
[359] S. Thadani, Meta Data searches on the Gnutella Network (addendum), http://www.limewire.com/developer/MetaProposal2.htm (2001)
[360] S. Thadani, Meta Information Searches on the Gnutella Networks, http://www.limewire.com/developer/metainfo_searches.html (2001)
[360] S. Thadani, Meta Information Searches on the Gnutella Networks, http://www.limewire.com/developer/metainfo_searches.html (2001)
[361] P. Reynolds and A. Vahdat, Efficient peer-to-peer keyword searching, ACM/IFP/USENIX Int'l Middleware Conference, Middleware 2003, June 16-20 2003.
[361]P.Reynolds和A.Vahdat,高效对等关键字搜索,ACM/IFP/USENIX国际中间件会议,中间件2003,2003年6月16-20日。
[362] W. Terpstra, S. Behnel, L. Fiege, J. Kangasharju, and A. Buchmann, Bit Zipper Rendezvous, optimal data placement for general P2P queries, Proc. First Int'l Workshop on Peer-to-Peer Computing and Databases, March 14 2004.
[362]W.Terpstra,S.Behnel,L.Fiege,J.Kangasharju和A.Buchmann,比特拉链会合,一般P2P查询的最佳数据放置,Proc。第一届点对点计算和数据库国际研讨会,2004年3月14日。
[363] A. Singhal, Modern Information Retrieval: A Brief Overview, IEEE Data Engineering Bulletin 24 (4) (2001) 35-43.
[363]A.Singhal,《现代信息检索:简要概述》,IEEE数据工程公告24(4)(2001)35-43。
[364] E. Cohen, A. Fiat, and H. Kaplan, Associative Search in Peer to Peer Networks: Harnessing Latent Semantics, IEEE Infocom 2003, The 22nd Annual Joint Conf. of the IEEE Computer and Communications Societies, March 30-April 3 2003.
[364]E.Cohen,A.Fiat和H.Kaplan,《对等网络中的关联搜索:利用潜在语义》,IEEE Infocom 2003,IEEE计算机和通信协会第22届年度联合会议,2003年3月30日至4月3日。
[365] W. Muller and A. Henrich, Fast retrieval of high-dimensional feature vectors in P2P networks using compact peer data summaries, Proc. 5th ACM SIGMM international workshop on Multimedia Information Retrieval, November 7 2003, pp. 79-86.
[365]W.Muller和A.Henrich,使用紧凑的对等数据摘要快速检索P2P网络中的高维特征向量,Proc。第五届ACM SIGMM多媒体信息检索国际研讨会,2003年11月7日,第79-86页。
[366] M. T. Ozsu and P. Valduriez, Principles of Distributed Database Systems, 2nd edition ed. Prentice Hall, 1999.
[366]M.T.Ozsu和P.Valduriez,《分布式数据库系统原理》,第二版,普伦蒂斯霍尔出版社,1999年。
[367] G. Salton, A. Wong, and C. S. Yang, A vector space model for automatic indexing, Communications of the ACM 18 (11) (1975) 613- 620.
[367]G.Salton,A.Wong和C.S.Yang,自动索引的向量空间模型,ACM 18(11)(1975)613-620的通信。
[368] S. E. Robertson, S. Walker, and M. Beaulieu, Okapi at TREC-7: automatic ad hoc, filtering, VLC and filtering tracks, Proc. Seventh Text REtrieval Conference, TREC-7, NIST Special Publication 500-242, July 1999, pp. 253-264.
[368]S.E.Robertson、S.Walker和M.Beaulieu,Okapi在TREC-7上:自动特设、过滤、VLC和过滤轨道,程序。第七届文本检索会议,TREC-7,NIST特别出版物500-242,1999年7月,第253-264页。
[369] A. Singhal, J. Choi, D. Hindle, D. Lewis, and F. Pereira, AT&T at TREC-7, Proc. Seventh Text REtrieval Conf. TREC-7, July 1999, pp. 253-264.
[369]A.Singhal,J.Choi,D.Hindle,D.Lewis和F.Pereira,美国电话电报公司TREC-7,Proc。第七次文本检索会议,TREC-7,1999年7月,第253-264页。
[370] K. Sankaralingam, S. Sethumadhavan, and J. Browne, Distributed Pagerank for P2P Systems, Proc. 12th international symposium on High Performance Distributed Computing HPDC, June 22-24 2003.
[370]K.Sankaralingam,S.Sethumadhavan和J.Browne,P2P系统分布式Pagerank,Proc。第12届高性能分布式计算HPDC国际研讨会,2003年6月22日至24日。
[371] I. Klampanos and J. Jose, An architecture for information retrieval over semi-collaborated peer-to-peer networks, Proc. 2004 ACM symposium on applied computing 2004, pp. 1078-1083.
[371]I.Klampanos和J.Jose,半协作对等网络上的信息检索架构,Proc。2004年ACM应用计算研讨会,第1078-1083页。
[372] C. Tang, Z. Xu, and S. Dwarkadas, Peer-to-peer information retrieval using self-organizing semantic overlay networks, Proc. 2003 conference on Applications, Technologies, Architectures and Protocols for Computer Communications, August 25-29 2003, pp. 175-186.
[372]C.Tang,Z.Xu和S.Dwarkadas,使用自组织语义覆盖网络的对等信息检索,Proc。2003年计算机通信应用、技术、体系结构和协议会议,2003年8月25日至29日,第175-186页。
[373] C. Tang and S. Dwarkadas, Hybrid global-local indexing for efficient peer-to-peer information retrieval, Proc. First Symp. on Networked Systems Design and Implementation NSDI'04, March 29-31 2004, pp. 211-224.
[373]C.Tang和S.Dwarkadas,高效对等信息检索的混合全局-局部索引,Proc。第一交响乐团。关于网络化系统设计和实施NSDI'04,2004年3月29日至31日,第211-224页。
[374] G. W. Furnas, S. Deerwester, S. T. Dumais, T. K. Landauer, R. A. Harshman, L. A. Streeter, and K. E. Lochbaum, Information retrieval using a singular value decomposition model of latent semantic structure, Proc. 11th Annual Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval 1988, pp. 465-480.
[374]G.W.Furnas,S.Deerwester,S.T.Dumais,T.K.Landauer,R.A.Harshman,L.A.Streeter和K.E.Lochbaum,利用潜在语义结构的奇异值分解模型进行信息检索,Proc。第11届国际ACM SIGIR信息检索研究与发展年会,1988年,第465-480页。
[375] C. Tang, S. Dwarkadas, and Z. Xu, On scaling latent semantic indexing for large peer-to-peer systems, The 27th Annual Int'l ACM SIGIR Conf. SIGIR'04, ACM Special Interest Group on Information Retrieval, July 2004.
[375]Tang,S.Dwarkadas和Z.Xu,关于大型对等系统潜在语义索引的扩展,第27届国际ACM SIGIR Conf.SIGIR'04年会,ACM信息检索特别兴趣小组,2004年7月。
[376] S. Milgram, The small world problem, Psychology Today 1 (61) (1967)
[376]S.Milgram,《小世界问题》,今日心理学1(61)(1967)
[377] J. Kleinberg, The small-world phenonemon: An algorithmic perspective, Proc. 32nd ACM Symp. on Theory of Computing (2000)
[377]J.Kleinberg,《小世界现象:算法透视》,Proc。第32届ACM研讨会。关于计算理论(2000)
[378] Y. Petrakis and E. Pitoura, "On constructing small worlds in unstructured peer-to-peer systems," in Current trends in database technology (Proc. First Int'l Workshop on Peer-to-Peer Computing and Databases, Heraklion, Crete, Greece, March 14), vol. 3268, Lecture Notes in Computer Science: Springer, 2004, pp. 415-424.
[378]Y.Petrakis和E.Pitoura,“关于在非结构化对等系统中构建小世界”,载于《数据库技术的当前趋势》(Proc.First International Workshop On peer-to-peer Computing and database,Heraklion,Crete,Greece,3月14日),第3268卷,《计算机科学课堂讲稿:Springer,2004年》,第415-424页。
[379] A. Iamnitchi, M. Ripeanu, and I. Foster, Locating Data in (Small World?) P2P Scientific Collaborations, First Int'l Workshop on Peer-to-Peer Systems (IPTPS), Cambridge, MA, March (2002)
[379]A.Iamnitchi,M.Ripeanu和I.Foster,《在(小世界?)P2P科学合作中定位数据》,第一届点对点系统国际研讨会,马萨诸塞州剑桥,2002年3月
[380] Y. Ren, C. Sha, W. Qian, A. Zhou, B. Ooi, and K. Tan, Explore the "small world phenomena" in pure P2P information sharing systems, Proc. 3rd IEEE/ACM Int'l Symp. on Cluster Computing and the Grid (2003) 232-239.
[380]任毓骏、沙长青、钱文伟、周亚萍、吴斌和谭克强,探索纯P2P信息共享系统中的“小世界现象”,Proc。第三届IEEE/ACM国际研讨会。关于集群计算和网格(2003)232-239。
[381] G. S. Manku, M. Bawa, and P. Raghavan, Symphony: Distributed Hashing in a Small World, Proc. 4th USENIX Symp. on Internet Technologies and Systems, March 26-28 2003.
[381]G.S.Manku、M.Bawa和P.Raghavan,《交响乐:小世界中的分布式哈希》,Proc。第四届USENIX研讨会。关于因特网技术和系统,2003年3月26日至28日。
[382] W. Litwin and S. Sahri, Implementing SD-SQL Server: a Scalable Distributed Database System, CERIA Research Rerpot 2004-04-02, April 2004.
[382]W.Litwin和S.Sahri,实现SD-SQL Server:一个可扩展的分布式数据库系统,CERIA Research Rerpot 2004-04-022004年4月。
[383] M. Jarke and J. Koch, Query Optimization in Database Systems, ACM Computing Surveys 16 (2) (1984) 111-152.
[383]M.Jarke和J.Koch,数据库系统中的查询优化,ACM计算调查16(2)(1984)111-152。
[384] J. L. Bentley, Multidimensional binary search trees used for associative searching, Communications of the ACM 18 (9) (1975) 509-517.
[384]J.L.Bentley,用于关联搜索的多维二元搜索树,ACM通信18(9)(1975)509-517。
[385] B. Chun, I. Stoica, J. Hellerstein, R. Huebsch, S. Jeffery, B. T. Loo, S. Mardanbeigi, T. Roscoe, S. Rhea, and S. Schenker, Querying at Internet Scale, Proc. 2004 ACM SIGMOD international conference on management of data, demonstration session 2004, pp. 935-936.
[385]B.Chun、I.Stoica、J.Hellerstein、R.Huebsch、S.Jeffery、B.T.Loo、S.Mardanbeigi、T.Roscoe、S.Rhea和S.Schenker,在互联网规模上进行查询,过程。2004年ACM SIGMOD数据管理国际会议,2004年示范会议,第935-936页。
[386] P. Cao and Z. Wang, Efficient top-K query calculation in distributed networks, Proc. 23rd Annual ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing PODC 2004, July 25-28 2004, pp. 206-215.
[386]曹平,王志强,分布式网络中的高效top-K查询计算,Proc。第23届ACM SIGACT-SIGOPS年度研讨会。《分布式计算原理》PODC 2004,2004年7月25-28日,第206-215页。
[387] D. Psaltoulis, I. Kostoulas, I. Gupta, K. Birman, and A. Demers, Practical algorithms for size estimation in large and dynamic groups, Proc. Twenty-Third Annual ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, PODC 2004, July 25-28 2004.
[387]D.Psaltoulis,I.Kostoulas,I.Gupta,K.Birman和A.Demers,大型动态群中尺寸估计的实用算法,Proc。第二十三届ACM SIGACT-SIGOPS年度研讨会。《分布式计算原理》,PODC 2004,2004年7月25-28日。
[388] R. van Renesse, The importance of aggregation, Springer-Verlag Lecture Notes in Computer Science "Future Directions in Distributed Computing". A. Schiper, A. A. Shvartsman, H. Weatherspoon, and B. Y. Zhao, editors. Springer-Verlag, Heidelberg volume 2584 (2003)
[388]R.van Renesse,《聚合的重要性》,Springer Verlag《计算机科学的未来方向——分布式计算》课堂讲稿。A.A.Schiper、A.A.Shvartsman、H.Weatherspoon和B.Y.Zhao,编辑。斯普林格·维拉格,海德堡,第2584卷(2003年)
Author's Addresses
作者地址
John Risson School of Elec Eng and Telecommunications University of New South Wales Sydney NSW 2052 Australia
约翰.里逊新南威尔士大学电子与通信学院悉尼新南威尔士2052澳大利亚
EMail: jr@tuffit.com
EMail: jr@tuffit.com
Tim Moors School of Elec Eng and Telecommunications University of New South Wales Sydney NSW 2052 Australia
提姆莫尔斯新南威尔士大学电子与通信学院,悉尼新南威尔士2052澳大利亚
EMail: t.moors@unsw.edu.au
EMail: t.moors@unsw.edu.au
Full Copyright Statement
完整版权声明
Copyright (C) The IETF Trust (2007).
版权所有(C)IETF信托基金(2007年)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
Intellectual Property
知识产权
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.