Internet DRAFT - draft-despotovic-alto-feedback-cp

draft-despotovic-alto-feedback-cp



ALTO Working Group                            Z. Despotovic, W. Kellerer
Internet Draft                                          DOCOMO Euro-Labs
Intended status: Standards Track                               S. Spirou
Expires: January 2010                                   Intracom Telecom
                                                              D. Staehle
                                                 University of Wuerzburg
                                                      M. A. C. Rodriguez
                                                          Telefonica I+D
                                                             I. Papafili
                                                                    AUEB
                                                            July 6, 2009


     ALTO-FCP: Application Layer Traffic Optimization Feedback-Based
                              Client Protocol
                     draft-despotovic-alto-feedback-cp-00.txt


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on January 6, 2009.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of



Despotovic, et al.     Expires January 6, 2010                [Page 1]

Internet-Draft                ALTO-FCP                       July 2009


   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.













































Despotovic, et al.     Expires January 6, 2010                [Page 2]

Internet-Draft                ALTO-FCP                       July 2009


Abstract

   In some networked applications, such as peer-to-peer file sharing,
   the same resource (e.g., a file or a server process) is available at
   several potential resource providers. Resource consumers typically
   try to select providers so that application performance is improved,
   establishing an overlay topology of direct logical links in the
   process. However, lack of reliable information about the underlying
   network can lead to poor choices and suboptimal application
   performance. In addition, resulting application traffic is largely
   oblivious to technical, economical, and political constraints at the
   network level, causing problems for network operators.

   This document describes a protocol that facilitates the exchange of
   information between an overlay and the underlying network. Such
   information can be used at each layer to make decisions that are not
   detrimental to the other layer or, ideally, are beneficial to both.































Despotovic, et al.     Expires January 6, 2010                [Page 3]

Internet-Draft                ALTO-FCP                       July 2009


Table of Contents


   1. Introduction ................................................ 5
   2. Conventions ................................................. 7
   3. Architecture ................................................ 8
   4. Protocol ................................................... 10
      4.1. Messages .............................................. 10
         4.1.1. Capabilities ..................................... 10
         4.1.2. Guidance ......................................... 11
         4.1.3. Evaluation........................................ 12
      4.2. Additional capabilities of an ALTO server ............. 13
   5. Security Considerations .................................... 14
   6. IANA Considerations ........................................ 15
   7. References ................................................. 16
      7.1. Normative References .................................. 16
      7.2. Informative References ................................ 16
   8. Acknowledgments ............................................ 17






























Despotovic, et al.     Expires January 6, 2010                [Page 4]

Internet-Draft                ALTO-FCP                       July 2009


1. Introduction

   Overlay Applications such as P2P file sharing and video streaming
   generate a significant portion of today's Internet traffic and will
   most likely remain dominant consumers of network resources in the
   Future Internet as well. Such applications pose a problem for the
   network operators (equivalently, Internet service providers - ISPs)
   as they do not take into account the underlying network topology in
   their overlay connection establishment and overlay routing decisions.
   The continuous change of P2P traffic matrices renders such traffic
   very expensive for ISPs, since it affects the interconnection
   relations with other ISPs. Traditional traffic management approaches
   usually fail for P2P traffic, since overlays establish multiple
   connections between peers, change their structure dynamically, span
   across several ISPs, and masquerade their presence. Facing these
   facts, ISPs do whatever they can to lower the costs imposed by P2P
   applications. Some of these attempts are not efficient and also not
   well received by the public.

   Operating an overlay network unaware of the underlying network has
   also negative impact on the users of overlay applications. For
   example, users of P2P file distribution applications might experience
   shorter download times if overlay network connections are established
   with the physical network topology in mind. Users of P2P video
   streaming applications might experience shorter stall times if
   overlay network connections are established along physical links with
   shorter delays.

   This document assumes a framework where an ALTO Service running in
   the network allows both overlay application users and ISPs to benefit
   from exchanging relevant information they own. It further proposes
   that ISPs should operate an ALTO Service through which they should
   increase both the performance of P2P applications and the efficiency
   of their own operation. As suggested in [I-D.ietf-alto-problem-
   statement], revealing (at least in part) the underlying network
   information to the P2P overlay applications allows a range of
   operating points in which both ISPs and overlay application users are
   better off than before, i.e., when overlay applications operate
   oblivious of the underlying network.

   This document describes a protocol that facilitates the exchange of
   information between overlay application entities and the ISPs. Such
   information can be used at each side to make decisions that are
   beneficial to both, or at least do not harm the other one.

   The key aspects of the protocol are the following:



Despotovic, et al.     Expires January 6, 2010                [Page 5]

Internet-Draft                ALTO-FCP                       July 2009


   o Negotiation between the ALTO Client and the ALTO Server allowing
      the two parties to gradually reveal more information and find
      their best tradeoffs between the revealed information and
      performance gains.

   o Feedback submission from an ALTO Client to an ALTO Server with the
      goal of improving the ALTO Server's operation in the future. More
      precisely, performance reporting from the ALTO Client to the ALTO
      Server should give the Server an opportunity to learn about
      conditions in remote parts of the Internet and thus improve its
      recommendations with time. Equally important, the ALTO Server can
      through these performance reports learn about new applications,
      i.e., how to guide the Clients running these applications.

   The rest of the document is structured as follows: section 3 provides
   the architectural context and section 4 discusses the protocol.
































Despotovic, et al.     Expires January 6, 2010                [Page 6]

Internet-Draft                ALTO-FCP                       July 2009


2. Conventions

   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 RFC-2119 [RFC2119].

   Several terms used in this document have special meaning in the
   context of ALTO. These terms are defined in [I-D.ietf-alto-problem-
   statement].







































Despotovic, et al.     Expires January 6, 2010                [Page 7]

Internet-Draft                ALTO-FCP                       July 2009


3. Architecture

   In order to provide information about the underlying network, the
   ALTO Service can access and expose to ALTO Clients (parts of) the
   routing information available for example within the BGP routing
   protocol executed by the ISP running the service. This is what [I-
   D.bgp-based-alto-service], an informational draft accompanying this
   document, proposes. BGP routing tables can be used to provide
   locality indications to the Peers. Other policies found in the BGP
   tables are also used. In summary, [I-D.bgp-based-alto-service] uses
   all information available in BGP routing tables to rate IP addresses
   sent by the ALTO Client and guide the overlay connection
   establishment so that both the ISP and the overlay application
   benefit. Extensions that further use intra-domain information
   available in the BGP protocol are also possible, although they are
   not considered at the moment.

                         ALTO               +------+
                         SERVER 1         +-----+  |  Peers
         +-----+        +------+    +=====|     |--+
         |     |........|      |====+     +--*--+
         +-----+        +------+    |        *
       Source 1 of          /       |        *
       topological          /       |     +--*--+
       information          /       +=====|     | Resource Directory
                            /             +-----+ (Tracker, proxy)
                            /
                            /               +------+
                            /             +-----+  |  Peers
         +-----+        +------+    +=====|     |--+
         |     |........|      |====+     +--*--+
         +-----+        +------+    |        *
       Source 2 of       ALTO       |        *
       topological       SERVER 2   |     +--*--+
       information                  +=====|     | Resource Directory
                                          +-----+ (Tracker, proxy)
         Legend:
        === ALTO Client protocol
        *** Application protocol (out of scope)
        ... Provisioning or initialization (out of scope)
        /// Inter-ALTO Server protocol
                   Figure 1: ALTO Protocol Architecture



Despotovic, et al.     Expires January 6, 2010                [Page 8]

Internet-Draft                ALTO-FCP                       July 2009


   Figure 1 illustrates the architecture that this document follows.
   Apart from proposing a specific ALTO Client-Server protocol, a side
   goal of this document is to also emphasize the importance of
   communication between ALTO Servers. From this perspective, the
   information BGP and other IGP routing protocols provide can be seen
   here as an important ingredient of such a future inter-ALTO Server
   protocol.

   The introduction of the ALTO Service requires the voluntary
   participation of both the overlay application user and the ALTO
   Service provider. As pointed out in Section 1, the ISP's incentive to
   run an ALTO service is an optimized traffic pattern that reduces
   costs for inter-domain and maybe also for intra-domain traffic. A
   user's incentive to install an ALTO Client is an improved application
   performance. However, studies [ChBu08, BiCa06] show that the
   advantages of an ALTO Service are more on the ISP than on the Client
   side. In case of BitTorrent, a significant improvement in the Client
   performance is only observed if the bottleneck is in the inter-domain
   links. However, when this is not the case, ISPs must look for
   alternative sources of incentives for the users to follow the
   guidance suggested by the ALTO Service. One such source might be the
   ISP's promise to prioritize the traffic of those users who follow the
   ALTO Service guidance. As such, the ALTO Service can be used not only
   for providing information about the underlying network (closest
   resources, congested links, etc.) but it could also enforce different
   policies in the network in order to improve the network performance
   guarantees for specific flows or for intra-domain traffic. The
   principle idea is to have a normal ALTO Server that assists the users
   in choosing their resource providers (Peers or mirror servers) such
   that the selection is better than random and also in the interest of
   the ISP running the ALTO Service. In exchange for the Client's
   following the suggested guidance, the ISP may introduce a traffic
   class "compliant best effort" which comprises all the traffic that
   follows the guidance of the ALTO Server and is prioritized versus
   best effort traffic or it could provide more bandwidth. For these
   purposes, the ALTO Server could be enhanced by interfacing with the
   Network Management Systems (NMS) of the ISP's network that are
   usually able to enforce such policies.










Despotovic, et al.     Expires January 6, 2010                [Page 9]

Internet-Draft                ALTO-FCP                       July 2009


4. Protocol

   The main contribution of this draft is an ALTO Client-Server
   protocol, termed Application Layer Traffic Optimization Feedback-
   Enhanced Client Protocol (ALTO-FCP) and specifically designed to fit
   the architecture just presented and fulfill the goals set in the
   Introduction. ALTO-FCP follows the request/response message exchange
   pattern between ALTO Clients and ALTO Servers. The eight main ALTO-
   FCP messages are: the Capabilities Query, the Capabilities Response,
   the Guidance Query, the Guidance Response, the Evaluation Request,
   the Evaluation Offer, the Evaluation Query, and the Evaluation
   Report.

   Given a choice of ALTO Services, an ALTO Client MAY send a
   Capabilities Query to each Service for discovering how much it can
   assist in Resource Provider selection. ALTO Servers which are in a
   position to reply MAY send back a Capabilities Response, providing
   details of their rating skills. The Client selects an appropriate
   subset of Servers and MUST then send a Guidance Query to each for
   requesting ratings on a set of HLAs (Host Location Attribute, see [I-
   D.ietf-alto-problem-statement]) transmitted with the Query. The
   Client MAY also submit information that could guide the Server in
   generating more specific ratings. Each Server considers the request
   and SHOULD reply with a Guidance Response that mainly includes
   ratings on the HLAs. A Server MAY send an Evaluation Request to a
   subset of previously guided Clients for discovering if and how they
   can provide feedback. Contacted Clients SHOULD respond to the Server
   with Evaluation Offers, detailing their feedback skills in terms of
   application performance metrics. A Server SHOULD then respond with an
   Evaluation Query, specifying the interesting performance metrics.
   Clients SHOULD send back an Evaluation Report with the measured
   performance metrics for previously rated HLAs.

4.1. Messages

   4.1.1. Capabilities

   Capabilities Query (CQ):

     An ALTO Client seeking guidance in Resource Provider selection
     sends a CQ to one or more ALTO Servers to discover which rating
     criteria are supported and at which accuracy level. Each contacted
     Server SHOULD belong to a different ALTO Service. Servers belonging
     to the same Service SHOULD be contacted through the ALTO Service.
     ALTO Services and Servers are discovered through mechanisms
     external to ALTO-FCP (e.g., [I-D.song-alto-server-discovery]). A CQ



Despotovic, et al.     Expires January 6, 2010               [Page 10]

Internet-Draft                ALTO-FCP                       July 2009


     MAY include desired rating criteria and accuracy levels, so that
     the ALTO Client can make a more informed selection among Servers.

   Capabilities Response (CR):

     An ALTO Server sends a CR to an ALTO Client as a normal response to
     an earlier CQ. If the CQ was minimal, the CR SHOULD include all
     supported rating criteria and maximum accuracy levels. If the CQ
     identified options, the CR MUST NOT include supported rating
     criteria that were not identified in the CQ options. Similarly, the
     CR MUST NOT include supported rating criteria with maximum accuracy
     levels that are below those identified in the CQ options.

   4.1.2. Guidance

   Guidance Query (GQ):

     An ALTO Client sends a GQ to an ALTO Server to request guidance in
     Resource Provider selection. A GQ MUST include a set of HLAs (Host
     Location Attribute, see [I-D.ietf-alto-problem-statement]) that the
     Client has obtained through Application mechanisms. This HLA set
     represents potential Resource Providers for which the Client seeks
     ratings. To direct the Server in generating the ratings, a GQ MAY
     include a set of rating criteria. In this case, a GQ MAY in
     addition identify the desired accuracy level and the relative
     importance of each criterion.

     A Client MAY also request rating criteria values to be provided for
     each HLA, so that Resource Provider selection can be more informed.

     In further assistance of rating generation, a GQ MAY include the
     Application type, e.g., file sharing, media streaming, etc.

     A Client MAY send a GQ for the same HLA set to a subset of the
     Servers identified earlier through a Capabilities Query/Response
     conversation, but possibly with different options.

     A Client MAY also request the Server to rate HLAs for each of the
     provided rating criteria separately. In that case the Server MUST
     send back a list of ratings for each criterion. The Client's
     rationale for doing so can be better optimization or to keep the
     application objective shielded from the Server.

     When an ALTO Client is not satisfied with the response from an ALTO
     Server and it believes that the source of problem was too broad
     HLAs or missing options, the Client MAY send a refinement of the
     previously sent GQ. This can lead to a sequence of GQ/GR messages.


Despotovic, et al.     Expires January 6, 2010               [Page 11]

Internet-Draft                ALTO-FCP                       July 2009


   Guidance Response (GR):

     A GR is sent from an ALTO Server to an ALTO Client as a normal
     response to an earlier GQ. A GR SHOULD provide a rating for each
     HLA in the associated GQ. If the Server is unable to provide a
     rating for an HLA then any information about that HLA MUST be
     omitted from the GR. A Server MAY include in the GR the values of
     the rating criteria used during rating generation in order to
     further assist the Client in using the guidance.

   4.1.3. Evaluation

   Client evaluation reporting is an OPTIONAL part of ALTO-FCP. The
   intention is to allow the ALTO Server to obtain feedback on the rated
   HLAs. This feedback is in the form of performance metrics (e.g.,
   bandwidth estimates, round trip times, connection stability, etc.)
   that the Client measures while communicating with Peers at rated
   HLAs. The ALTO Server obtains evaluation reports from different
   Clients and can aggregate them to get a picture of HLA-HLA
   communication performance as seen by the Clients. The ALTO Server may
   then offer these HLA-HLA performance metrics as additional rating
   criteria to the ALTO Clients.

   The Client evaluation reporting messages are:

   Evaluation Request (ERQ):

     Possibly after a successful exchange of GQ/GR messages, an ALTO
     Server MAY send an ERQ to an ALTO Client requesting information on
     the Client's evaluation reporting capabilities.

   Evaluation Offer (EO):

     An ALTO Client SHOULD send an EO message to an ALTO Server as a
     normal response to an ERQ message. The EO identifies performance
     metrics that the Client can evaluate. An empty EO indicates that
     the Client does not support or is not willing to provide any
     performance metrics.

   Evaluation Query (EQ):

     An ALTO Server SHOULD send an EQ message as a normal response to a
     non-empty EO message. The ALTO Server MUST NOT send an EQ message
     following an empty EO message. The EQ identifies those performance
     metrics that the Server is actually interested in. The requested
     performance metrics MUST be a subset of the performance metrics
     offered in the EO message.


Despotovic, et al.     Expires January 6, 2010               [Page 12]

Internet-Draft                ALTO-FCP                       July 2009


   Evaluation Report (ER):

     An ALTO Client SHOULD send an ER to an ALTO Server as a normal
     response to an earlier EQ message.  The ER contains a list of HLAs
     and each HLA entry is associated with the evaluation of one or more
     performance metrics. The ALTO Server SHALL only consider the HLAs
     contained in earlier GRs. The reported performance metrics MUST be
     a subset of the performance metrics requested in the prior EQ.

4.2. Additional capabilities of an ALTO Server

     In case the ALTO Server also provides additional capabilities by
     interfacing the NMS (as explained in section 3) to, e.g., enforce a
     specific policy in the network, the ALTO server will build the GR
     considering the policies already applied in the network and it can
     also include an additional tag to show them. Moreover, the ALTO
     could offer all those capabilities as an additional service.
     Therefore, a new query-response transaction should be defined in
     order to allow the ALTO Client to identify the selected HLAs and
     the requested capacities and the ALTO Server should provide a
     response to show the result of the application of the new policies
     in the network (e.g., bandwidth available and guaranteed for the
     HLA-HLA connection).

























Despotovic, et al.     Expires January 6, 2010               [Page 13]

Internet-Draft                ALTO-FCP                       July 2009


5. Security Considerations

   Queries, such as the CQ and the GQ, sent from ALTO Clients to ALTO
   Servers can become the vehicle for Denial of Service attacks. This
   may also hold for the EQ, sent from Servers to Clients. The ALTO
   Service and Application providers should consider these possibilities
   and strive for appropriate measures at each end.

   To prevent such attacks or also to ease privacy concerns that
   Applications and ISPs might have in revealing information, protocols
   such as SSL/TLS could be used orthogonally to ALTO-FCP, for security,
   integrity, and bilateral authentication. This might though require
   agreements and mechanisms at the business level.



































Despotovic, et al.     Expires January 6, 2010               [Page 14]

Internet-Draft                ALTO-FCP                       July 2009


6. IANA Considerations

   None yet.













































Despotovic, et al.     Expires January 6, 2010               [Page 15]

Internet-Draft                ALTO-FCP                       July 2009


7. References

7.1. Normative References

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

7.2. Informative References

   [I-D.ietf-alto-problem-statement] Seedorf, J. and E. Burger,
             "Application-Layer Traffic Optimization (ALTO) Problem
             Statement", draft-ietf-alto-problem-statement-01 (work in
             progress), May 2009.

   [I-D.ietf-alto-reqs] Kiesel, S., Popkin, L., Previdi, S., Woundy, R.,
             and Y. Yang, "Application-Layer Traffic Optimization (ALTO)
             Requirements", draft-ietf-alto-reqs-00 (work in progress),
             April 2009.

   [I-D.song-alto-server-discovery] Song, H., Even, R., Pascual, V., and
             R. Zhang, "Application-Layer Traffic Optimization (ALTO):
             Discover ALTO Servers", draft-song-alto-server-discovery-00
             (work in progress), March 2009.

   [I-D.bgp-based-alto-service] Racz, P. and Z. Despotovic, "An ALTO
             Service based on BGP Routing Information", draft-racz-bgp-
             based-alto-service-00.txt (work in progress), May 2009.

   [BiCa06] Ruchir Bindal, Pei Cao, William Chan, Jan Medval, George
             Suwala, Tony Bates, and Amy Zhang, Improving Traffic
             Locality in BitTorrent via Biased Neighbor Selection,
             Proceedings of the 26th IEEE International Conference on
             Distributed Computing Systems, 2006

   [ChBu08] David R. Choffnes and Fabian E. Bustamante, Taming the
             torrent: a practical approach to reducing cross-ISP traffic
             in Peer-to-Peer systems, SIGCOMM Comput. Commun. Rev., vol
             38(4), 2008










Despotovic, et al.     Expires January 6, 2010               [Page 16]

Internet-Draft                ALTO-FCP                       July 2009


8. Acknowledgments

   The authors are partially supported by the European Commission with
   the research project SmoothIT (Simple Economic Management Approaches
   of Overlay Traffic in Heterogeneous Internet Topologies) under the
   7th Framework Programme.

   The authors are grateful to Fabio Hecht, Marcin Niemiec, and
   Krzysztof Wajda for their contribution and comments during the early
   stages of this work.

   Spiros Spirou would like to thank Michalis Makidis for fruitful
   discussions on the protocol messages.

   This document was prepared using 2-Word-v2.0.template.dot.

































Despotovic, et al.     Expires January 6, 2010               [Page 17]

Internet-Draft                ALTO-FCP                       July 2009


Authors' Addresses

   Zoran Despotovic
   DOCOMO Euro-Labs
   Landsberger Strasse 312
   Munich
   Germany

   Email: despotovic@docomolab-euro.com
   
   Wolfgang Kellerer
   DOCOMO Euro-Labs
   Landsberger Strasse 312
   Munich
   Germany

   Email: kellerer@docomolab-euro.com
   
   Spiros Spirou
   Intracom Telecom
   19.7 km Markopoulou Avenue
   19002 Peania
   Greece

   Email: spis@intracom.com

   Dirk Staehle
   University of Wuerzburg
   Chair of Distributed Systems
   Am Hubland
   Wuerzburg 97074
   Germany

   Email: dstaehle@informatik.uni-wuerzburg.de

   Maria Rodriguez
   Telefonica Investigacion y Desarrollo
   Emilio Vargas 6
   28043 Madrid
   Spain

   Email: macr@tid.es

   Ioanna Papafili
   Athens University of Economics and Business
   Patission str. 76
   10434 Athens
   Greece

   Email: iopapafi@aueb.gr







Despotovic, et al.     Expires January 6, 2010               [Page 18]