Internet DRAFT - draft-petithuguenin-vipr-proportional-quota

draft-petithuguenin-vipr-proportional-quota






VIPR                                                   M. Petit-Huguenin
Internet-Draft                                                 Stonyfish
Intended status: Standards Track                            J. Rosenberg
Expires: April 25, 2012                                      jdrosen.net
                                                             C. Jennings
                                                                   Cisco
                                                        October 23, 2011


     Proportional Quota in REsource LOcation And Discovery (RELOAD)
             draft-petithuguenin-vipr-proportional-quota-00

Abstract

   This document defines an extension to RELOAD [I-D.ietf-p2psip-base]
   that limits the number of a specific kind element that can be stored
   by one RELOAD peer.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.  This document may not be modified,
   and derivative works of it may not be created, except to format it
   for publication as an RFC or to translate it into languages other
   than English.

   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 April 25, 2012.

Copyright Notice

   Copyright (c) 2011 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



Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 1]

Internet-Draft             Proportional Quota               October 2011


   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  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Quota Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 3
   4.  Overlay Configuration Document Extension  . . . . . . . . . . . 4
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     8.2.  Informative References  . . . . . . . . . . . . . . . . . . 5
   Appendix A.  Release notes  . . . . . . . . . . . . . . . . . . . . 5
     A.1.  Modifications between
           draft-petithuguenin-vipr-proportional-quota-00 and
           draft-petithuguenin-p2psip-proportional-quota-01  . . . . . 6
     A.2.  Modifications between
           draft-petithuguenin-p2psip-proportional-quota-01 and
           draft-petithuguenin-p2psip-proportional-quota-00  . . . . . 6
     A.3.  Modifications between
           draft-petithuguenin-p2psip-proportional-quota-00 and
           draft-petithuguenin-vipr-reload-usage-00  . . . . . . . . . 6
     A.4.  Running Code Considerations . . . . . . . . . . . . . . . . 6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 6





















Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 2]

Internet-Draft             Proportional Quota               October 2011


1.  Introduction

   The base specification of RELOAD defines two variables to set the
   storage quota.  The first one is the maximum size of an element of a
   specific kind, the second one is the maximum number of elements of a
   specific kind that can be stored on a specific peer.  The combination
   of the two variables permits to limit the quantity of data that a
   peer have to store.

   For kinds that are used with an access control policy that does not
   restrict the Resource-IDs, a different algorithm is needed to force
   storing nodes to behave.  This document describes a quota algorithm
   that limits the number of elements of a specific kind that a node can
   store in the overlay, independently of the Resource-ID used.  Another
   way to look at this quota algorithm is that an entity must provide a
   number of peers that is proportional to the number of elements of a
   specific kind that this entity wants to store.

   It is important to understand that this quota works only for an
   overlay comprising only peers, and so with a configuration file
   containing a <clients-permitted> element set to false.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].


3.  Quota Algorithm

   A peer responsible for storing kinds using the quota algorithm
   described in this document MUST maintain a count of the number of
   unique entries being stored per signer for each kind.  This operation
   does not require to add a field containing the Node-ID as the Node-ID
   of the signer is always available indirectly from the signature field
   of each element stored.

   For example if a peer is storing 5 Resource-IDs and at each of those
   5 there are two entries, all signed by the same Node-ID, it means
   this node is currently storing 10 unique entries for that Node-ID.

   When performing the quota checks for an entry, the peer starts by
   verifying that the size of the entry is consistent.  If the entry if
   not for a replica, it then takes the <max-count> configuration
   parameter for this overlay, which measures the amount of entries of a
   specific kind a particular node can store when a <max-count-



Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 3]

Internet-Draft             Proportional Quota               October 2011


   per>SIGNER</max-count-per> configuration parameter is also present.
   That value is divided by the fraction of the overlay owned by this
   peer.  If the result is less than one, it is rounded up to two.  This
   is the maximum number of unique entries that can be stored for this
   signer.  If the peer is not yet storing this many entries for that
   Node-ID, the store is allowed.

   Note that when evaluating a Store Request containing multiple entries
   per kind, the count of unique entries used for the evaluation is
   incremented after each successful check, but the count will be reset
   to its initial value if one of the check fails.

   The algorithm does not apply to the replicas created by the topology
   plugin.  If another level of replication is done at the application
   level, the <max-count> value must be adjusted accordingly.

   Note that because of imperfect distribution of Resource-IDs across
   the ring, new entries can be rejected even if the total count is
   under the limit.  It is the responsibility of the storing entity to
   calculate the maximum acceptable probability of rejection and to
   increase the number of peers accordingly.

   [[Note: Add here the equation that can be used to calculate the
   probability of rejection, so applications using this quota mechanism
   can recommend a multiplier coefficient]]


4.  Overlay Configuration Document Extension

   This document extends the overlay configuration document by defining
   a new element in the "urn:ietf:params:xml:ns:p2p:quota" namespace.

   The <max-count-per> element changes the meaning of the <max-count>
   variable.  The value "PEER" forces the <max-count> to be interpreted
   as been per storing peer, which is the default quota algorithm when
   this extension is not used.  The value "SIGNER" forces the <max-
   count> to be interpreted as been per signer, which is the algorithm
   defined by this document.

   The Compact Relax NG Grammar for this element is:

   namespace pqt = "urn:ietf:params:xml:ns:p2p:quota"

   kind-parameter &= element pqt:max-count-per { max-count-per-type }
   max-count-per-type |= "PEER"
   max-count-per-type |= "SIGNER"
   max-count-per-type |= xsd:string # extensions




Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 4]

Internet-Draft             Proportional Quota               October 2011


5.  Security Considerations

   TBD


6.  IANA Considerations

   This document adds the following URN to the "XML Namespaces" class of
   the "IETF XML Registry":

   urn:ietf:params:xml:ns:p2p:quota


7.  Acknowledgements

   Thanks to Hakim Mehmood and Mark Hendrickson for their explanations
   on the implementation of the quota algorithm.

   This document was written with the xml2rfc tool described in
   [RFC2629].


8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [I-D.ietf-p2psip-base]
              Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and
              H. Schulzrinne, "REsource LOcation And Discovery (RELOAD)
              Base Protocol", draft-ietf-p2psip-base-18 (work in
              progress), August 2011.

8.2.  Informative References

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.


Appendix A.  Release notes

   This section must be removed before publication as an RFC.







Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 5]

Internet-Draft             Proportional Quota               October 2011


A.1.  Modifications between
      draft-petithuguenin-vipr-proportional-quota-00 and
      draft-petithuguenin-p2psip-proportional-quota-01

   o  The quota does not apply to replicas.
   o  Draft moved to VIPR WG.
   o  Nits.

A.2.  Modifications between
      draft-petithuguenin-p2psip-proportional-quota-01 and
      draft-petithuguenin-p2psip-proportional-quota-00

   o  Changed "storing peer" to "signer" as this works also for replica
      peers.
   o  The default quota algorithm is per storing peer, not per
      Resource-ID.
   o  Changed the constants in the XML extension accordingly.
   o  Added running code considerations for reference implementation.

A.3.  Modifications between
      draft-petithuguenin-p2psip-proportional-quota-00 and
      draft-petithuguenin-vipr-reload-usage-00

   o  Instead of having a StorageQuota parameter that gives the maximum
      number of entries, reused the max-count parameter (that is
      mandatory anyway) and changes its meaning.
   o  Removed the 3x multiplier to account for the application layer
      COPY, as it is application specific.
   o  Removed the additional 3x multiplier to compensate for imperfect
      distribution, and moved the responsibility to the storing nodes.

A.4.  Running Code Considerations

   o  Reference Implementation
      (<http://debian.implementers.org/testing/source/reload.tar.gz>).
      Marc Petit-Huguenin.  Implements version vipr-00.


Authors' Addresses

   Marc Petit-Huguenin
   Stonyfish

   Email: marc@stonyfish.com







Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 6]

Internet-Draft             Proportional Quota               October 2011


   Jonathan Rosenberg
   jdrosen.net
   Monmouth, NJ
   US

   Email: jdrosen@jdrosen.net
   URI:   http://www.jdrosen.net


   Cullen Jennings
   Cisco
   170 West Tasman Drive
   San Jose, CA  95134
   USA

   Phone: +1 408 421-9990
   Email: fluffy@cisco.com


































Petit-Huguenin, et al.   Expires April 25, 2012                 [Page 7]