--- 1/draft-ietf-p2psip-self-tuning-09.txt 2014-02-02 08:14:32.680865404 -0800 +++ 2/draft-ietf-p2psip-self-tuning-10.txt 2014-02-02 08:14:32.728866581 -0800 @@ -1,19 +1,19 @@ P2PSIP Working Group J. Maenpaa Internet-Draft G. Camarillo Intended status: Standards Track Ericsson -Expires: February 11, 2014 August 10, 2013 +Expires: August 6, 2014 February 2, 2014 Self-tuning Distributed Hash Table (DHT) for REsource LOcation And Discovery (RELOAD) - draft-ietf-p2psip-self-tuning-09.txt + draft-ietf-p2psip-self-tuning-10.txt Abstract REsource LOcation And Discovery (RELOAD) is a peer-to-peer (P2P) signaling protocol that provides an overlay network service. Peers in a RELOAD overlay network collectively run an overlay algorithm to organize the overlay, and to store and retrieve data. This document describes how the default topology plugin of RELOAD can be extended to support self-tuning, that is, to adapt to changing operating conditions such as churn and network size. @@ -26,67 +26,67 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on February 11, 2014. + This Internet-Draft will expire on August 6, 2014. Copyright Notice - Copyright (c) 2013 IETF Trust and the persons identified as the + Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Introduction to Stabilization in DHTs . . . . . . . . . . . . 5 3.1. Reactive vs. Periodic Stabilization . . . . . . . . . . . 5 3.2. Configuring Periodic Stabilization . . . . . . . . . . . 6 3.3. Adaptive Stabilization . . . . . . . . . . . . . . . . . 7 - 4. Introduction to Chord . . . . . . . . . . . . . . . . . . . . 7 + 4. Introduction to Chord . . . . . . . . . . . . . . . . . . . . 8 5. Extending Chord-reload to Support Self-tuning . . . . . . . . 9 - 5.1. Update Requests . . . . . . . . . . . . . . . . . . . . . 9 + 5.1. Update Requests . . . . . . . . . . . . . . . . . . . . . 10 5.2. Neighbor Stabilization . . . . . . . . . . . . . . . . . 10 5.3. Finger Stabilization . . . . . . . . . . . . . . . . . . 11 5.4. Adjusting Finger Table Size . . . . . . . . . . . . . . . 11 5.5. Detecting Partitioning . . . . . . . . . . . . . . . . . 11 - 5.6. Leaving the Overlay . . . . . . . . . . . . . . . . . . . 11 + 5.6. Leaving the Overlay . . . . . . . . . . . . . . . . . . . 12 6. Self-tuning Chord Parameters . . . . . . . . . . . . . . . . 12 6.1. Estimating Overlay Size . . . . . . . . . . . . . . . . . 12 6.2. Determining Routing Table Size . . . . . . . . . . . . . 13 6.3. Estimating Failure Rate . . . . . . . . . . . . . . . . . 13 6.3.1. Detecting Failures . . . . . . . . . . . . . . . . . 14 6.4. Estimating Join Rate . . . . . . . . . . . . . . . . . . 15 6.5. Estimate Sharing . . . . . . . . . . . . . . . . . . . . 15 6.6. Calculating the Stabilization Interval . . . . . . . . . 16 7. Overlay Configuration Document Extension . . . . . . . . . . 17 - 8. Security Considerations . . . . . . . . . . . . . . . . . . . 17 + 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 9.1. Message Extensions . . . . . . . . . . . . . . . . . . . 18 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 - 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 11.1. Normative References . . . . . . . . . . . . . . . . . . 19 11.2. Informative References . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 1. Introduction REsource LOcation And Discovery (RELOAD) [I-D.ietf-p2psip-base] is a peer-to-peer signaling protocol that can be used to maintain an overlay network, and to store data in and retrieve data from the overlay. For interoperability reasons, RELOAD specifies one overlay @@ -690,24 +692,30 @@ contain a SelfTuningData structure: struct { uint32 network_size; uint32 join_rate; uint32 leave_rate; } SelfTuningData; The contents of the SelfTuningData structure are as follows: + network_size + The latest network size estimate calculated by the sender. + join_rate + The latest join rate estimate calculated by the sender. + leave_rate + The latest leave rate estimate calculated by the sender. The join and leave rates are expressed as joins or failures per 24 hours. As an example, if the global join rate estimate a peer has calculated is 0.123 peers/s, it would include in the join_rate field the ceiling of the value 10627.2 (24*60*60*0.123 = 10627.2), that is, the value 10628. The 'type' field of the MessageExtension structure MUST be set to contain the value 'self_tuning_data'. The 'critical' field of the