ALTO WG S. Chen Internet-Draft X. Lin Intended status: Informational Tongji University Expires: January 3, 2019 D. Lachos Unicamp Y. Yang Tongji/Yale University C. Rothenberg Unicamp July 2, 2018 ALTO Implementations and Use Cases: A Brief Survey draft-chen-alto-survey-00 Abstract This document provides a comprehensive survey of ALTO, including current ALTO implementations and ALTO used in the literature work. This document identifies possible challenges and future opportunities of ALTO. Requirements Language 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]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. 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 January 3, 2019. Chen, et al. Expires January 3, 2019 [Page 1] Internet-Draft ALTO Survey July 2018 Copyright Notice Copyright (c) 2018 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. ALTO Background . . . . . . . . . . . . . . . . . . . . . 3 1.2. Goals and Scope . . . . . . . . . . . . . . . . . . . . . 3 1.3. Document Organization . . . . . . . . . . . . . . . . . . 3 2. ALTO Implementations . . . . . . . . . . . . . . . . . . . . 3 2.1. Services Implemented in Projects . . . . . . . . . . . . 3 2.2. ALTO in Software Defined Mobile Networks . . . . . . . . 4 2.3. Recognized Issues and Future Work . . . . . . . . . . . . 4 3. ALTO in Literature/Use Cases . . . . . . . . . . . . . . . . 5 3.1. Peer Selection . . . . . . . . . . . . . . . . . . . . . 6 3.1.1. Peer Selection in P2P . . . . . . . . . . . . . . . . 6 3.1.2. Surrogate Selection in CDN . . . . . . . . . . . . . 6 3.1.3. Downstream CDN Selection in CDNI . . . . . . . . . . 6 3.1.4. Cache Selection in Hybrid CDN-P2P System . . . . . . 6 3.1.5. Mobile Edge Caching . . . . . . . . . . . . . . . . . 7 3.2. Path Selection . . . . . . . . . . . . . . . . . . . . . 7 3.2.1. Path Selection in MPTS-AR . . . . . . . . . . . . . . 7 3.3. Resource Placement . . . . . . . . . . . . . . . . . . . 8 3.3.1. Virtualized Service Function Chain Placement . . . . 8 3.3.2. Intelligent Virtual Machine Placement . . . . . . . . 8 3.3.3. Service Placement in IoT . . . . . . . . . . . . . . 8 3.4. Measure Results Interface . . . . . . . . . . . . . . . . 8 3.4.1. An Interface to Query on the LMAP measure results . . 8 4. Challenges and Research Opportunities . . . . . . . . . . . . 9 4.1. Possible New Address Format . . . . . . . . . . . . . . . 9 4.2. Mistrust between entities . . . . . . . . . . . . . . . . 9 4.3. Bidirectional Network/Application collaboration . . . . . 9 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.1. Normative References . . . . . . . . . . . . . . . . . . 10 Chen, et al. Expires January 3, 2019 [Page 2] Internet-Draft ALTO Survey July 2018 7.2. Informative References . . . . . . . . . . . . . . . . . 10 Appendix A. Questionnaire . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction 1.1. ALTO Background The Application-Layer Traffic Optimization (ALTO) protocol [RFC7285] is a client/server protocol operating between an ALTO client and an ALTO server. An ALTO server provides network related information to ALTO clients so that ALTO clients can make better decisions. ALTO is initially proposed to help distributed applications (P2P and client/ server used for file sharing, real-time communication, etc.) to choose a better resource from multiple replicas. Recently, as new use cases like Content Delivery Network (CDN), Software-Define Network (SDN) and Datacenter Network (DCN) in single and multi domain environments emerge to utilize ALTO, they will bring forth new requirements and challenges on ALTO protocol. 1.2. Goals and Scope This document aims to provide a comprehensive survey of ALTO, it covers: 1) ALTO implementations in different companies/institutions; 2) Application scenarios of ALTO in literature work through a lot of paper reading. With the survey of above topics, we want to explore: 1) The system architecture of ALTO implementation and possible issues in realizing the system; 2) Current use cases and future uses cases of ALTO; 3) Possible ALTO extensions to support future use cases. 1.3. Document Organization The document is organized as below: In Section 2, we present the survey of ALTO implementation and its results. In Section 3, we collect ALTO use cases in literature work and classified them based on ??? criteria. Finally, based on the ALTO use cases in literature work, we will show possible ALTO extensions and research opportunities of ALTO in Section 4. 2. ALTO Implementations 2.1. Services Implemented in Projects Abbreviations: o NM: network map Chen, et al. Expires January 3, 2019 [Page 3] Internet-Draft ALTO Survey July 2018 o CM: cost map o FM: filtered map o MC: multi-cost o CC: cost calendar o PV: path vector o SDMN: software defined mobile networks 2.2. ALTO in Software Defined Mobile Networks ALTO in software defined mobile networks (SDMN) project is a sub- project of Celtic-Plus SIGMONA, and it is implemented by Budapest University of Technology and Economics. As the elasticity and portability of network functions becomes reality, the significance of service endpoint selection increases. ALTO is a standard protocol, which can provide guidance in service endpoint selection. So ALTO is very suitable for this case. This project has implemented network map and cost map, and it introduced two new interfaces namely ALTO client-to-redirect server interface and ALTO network-to-server interface. For cost calculation, this project regarded the number of switches between end hosts as "num-routing" and the average utilization of the path in the last 5 seconds as "num-delay". The ALTO server in this project is standalone, and the ALTO client in this project is embedded into a SDN controller. 2.3. Recognized Issues and Future Work Extension of dynamic network and cost map information provision: o From non-SDN network segments o From multiple network controllers (merging information in ALTO server) ALTO protocol applies abstract network and cost maps: o Pros: privacy of topology information o Cons: sometimes not enough fine grained Chen, et al. Expires January 3, 2019 [Page 4] Internet-Draft ALTO Survey July 2018 o Rank aggregation: which method should we select o Support of non reactive packet forwarding methods 3. ALTO in Literature/Use Cases We make a comprehensive survey of ALTO used in literature work. We collect *** ALTO related papers, study the use cases and we have make an initial classification of use cases. The taxonomy of all the use cases is below. Application-Layer Traffic Optimization | +---> Peer Selection | | | +---> Peer Selection in P2P | | | +---> Surrogate Selection in CDN | | | +---> Cache Selection in Hybrid CDN-P2P System | | | +---> Mobile Edge Caching | +---> Path Selection | | | +---> Path Selection in MPTS-AR | +---> Content Placement | | | +---> Virtualized Service Function Chain Placement | | | +---> Intelligent Virtual Machine Placement | | | +---> Service Placement in IoT | +---> Measurement Figure 1: Taxonomy of ALTO Literature: Version A the use cases are already mentioned in [RFC7971]. In the following sections, we will describe each use cases one by one. Some of the use cases are already mentioned in [RFC7971]. We classified all the related work into 4 categories and will describe each in the following. Chen, et al. Expires January 3, 2019 [Page 5] Internet-Draft ALTO Survey July 2018 3.1. Peer Selection 3.1.1. Peer Selection in P2P 3.1.1.1. Usage Scenario Without little knowledge of the underlying network informtion, users in P2P system retrieve data from a random peer. Such a random peer selection mechanism have some disadvantages: 1. It causes an extra burden in the internet traffic. 2. It reduces the system performance. 3.1.2. Surrogate Selection in CDN Content Delivery Networks (CDNs) have been used to deliver some Internet services such as video stream, websites or software updates because they provide numerous benefits including reduced delivery cost for cacheable content, improved QoS for end users and increased robustness of delivery. The primary use case for ALTO in a CDN context is to improve the selection of a surrogate, cache or origin. By providing cost maps and network maps, ALTO can help a CDN to optimize selection of its surrogate, cache or origin. 3.1.3. Downstream CDN Selection in CDNI Above section mainly talks about the surrogate selection in the CDN from a single administrative domain. However, some CDNs from different administrative domains may collaborate together to provide a broader coverage area. In such case, an upstream CDN needs to select the best downstream CDN For each content request it intends to redirect. There are two tasks need to be done when an upstream CDN selects a downstream CDN. The first one is which dCDN is willing to accept a delegated request, and the second one is which dCDN is the most proper for redirecting the content request. For the first task, ALTO CDNI FCI Map can be used by uCDN to actively or passively gather dCDNs information such as footprints. For the second task, ALTO cost map can be used by uCDN to select the best surrogate with the smallest cost. 3.1.4. Cache Selection in Hybrid CDN-P2P System Hybrid CDN-P2P system propose a two-tier topologies. The first level (CDN-L1) is composed by high capacity servers strategically placed in order to increase network backbone capacity. A second level (CDN-L0) Chen, et al. Expires January 3, 2019 [Page 6] Internet-Draft ALTO Survey July 2018 consists of Level-0 Entry Point (L0-EP). These node are equipped with some caching functionalities and placed geographically closer to end users. The L0-EP includes a standard HTTP proxy frontend used to optimally redirect the HTTP GET requests of the users to the best content location in CDN-L0 or CDN-L1. The decision logic module residing in L0-EP considers 3 factors (the availability of the content in the L0-EP local cache, the list of cache nodes that can contribute to retrieve the content and the locality awareness) to make its final decision. The locality information here is provided through ALTO interface from the network monitors. 3.1.5. Mobile Edge Caching 3.1.5.1. Usage Scenario Mobile Edge Caching is regarded to be possible to reduce the latency for users to retrieve content, thus improving the perveived Quality of Experience. The main technique in mobile edge caching is to equip edge network elements with cache capabilities. Popular contents can be stored at several caching servers at edge. 3.1.5.2. Applicability of ALTO In the context of mobile edge caching, the information that a User Equipment (UE) tries to access, such as a document or a video, is referred to a s a Named Data Object (NDO). [MEC] proposes that ALTO can perform like a DNS server. It can be used to discover the caching servers that host the desired resource . To leverage ALTO for resource discovery, ALTO will regard each resource a PID. The IP addresses that a PID contains are the caching servers holding specific NDO. As response to the ALTO query, ALTO server will return a network map with a list of PIDs, each with IP addresses of cache servers. Such discovery mechanism allows the operator to inform the UE about all the cache servers that contain the required NDO in single operation. Second, the UE can use additional ALTO features (such as cost maps) to inquire which cache-server is preferred in terms of data routing costs (i.e., availble bandwidth, network load and others). 3.2. Path Selection 3.2.1. Path Selection in MPTS-AR Chen, et al. Expires January 3, 2019 [Page 7] Internet-Draft ALTO Survey July 2018 3.3. Resource Placement 3.3.1. Virtualized Service Function Chain Placement 3.3.2. Intelligent Virtual Machine Placement 3.3.2.1. Usage Scenario The cloud management system can optimize resource placement by taking into account the network performance as well as the compute and storage resources. 3.3.2.2. Applicability of ALTO 3.3.2.3. Challenges and Opportunities 3.3.3. Service Placement in IoT 3.3.3.1. Usage Scenario With the cutting-edge paradigms like Internet of Things and Smart Cities develop, new services have special requirements, one of which is low latency levels. A delayed reply could render to chaos for applications such as eHealth and public safety. One of the solutions is a smart service placement system that facilitates the location of services in the proper position according to specific needs. Locating the services just on wireless hop away from the users is not as simple as it sounds, since the service could be wrongfully placed in a congested location, or even farther from the users, which would lead to a greater latency. Thus, efficient service placement mechanisms are needed in order to take advantage of the current conditions of the network while minimizing the service latency. 3.3.3.2. Applicability of ALTO 3.3.3.3. Challenges of ALTO/ Opportunities of ALTO 3.4. Measure Results Interface 3.4.1. An Interface to Query on the LMAP measure results In the context of LMAP, measurement results are made available to the public either at the finest granularity level, or in a very high level human-readable format. ALTO can provide an intermediate way to access large-scale network measurement result, and it can be used to tweak the aggregation-level of measurement results. Chen, et al. Expires January 3, 2019 [Page 8] Internet-Draft ALTO Survey July 2018 Controller sends instructions to measurement agent to do the measurement. And then measurement result will be transferred to the collector by report protocol. Just providing finest granularity level or providing a very high level human-readable format are not enough. ALTO can provide an intermediate way to access large-scale network measurement result, and it can be used to tweak the aggregation-level of measurement results. 4. Challenges and Research Opportunities 4.1. Possible New Address Format Some scenarios may require new address format. 4.2. Mistrust between entities Application developers and network operators are natural mistrust, with both parties reluctant to share what they consider sensitive information. 4.3. Bidirectional Network/Application collaboration ALTO is originally designed to provide network information to applications so that applications can achieve better performance while the cost of the network can be reduced. Exposing non-critical information from application providers to network providers may potentially bring more benefits. A paper named "Bidirectional Network Collaboration Interface for CDNs and Clouds Services Traffic Optimization" describes this idea, and it proposes the constraint map which provides application needs and constraints to network providers. 5. Acknowledgments ... 6. Security Considerations This draft is a survey of existing literature on ALTO implementations and use cases, it does not introduce any new security considerations to be taken into account beyond what is already discussed in each paper surveyed. 7. References Chen, et al. Expires January 3, 2019 [Page 9] Internet-Draft ALTO Survey July 2018 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., Previdi, S., Roome, W., Shalunov, S., and R. Woundy, "Application-Layer Traffic Optimization (ALTO) Protocol", RFC 7285, DOI 10.17487/RFC7285, September 2014, . [RFC7971] Stiemerling, M., Kiesel, S., Scharf, M., Seidel, H., and S. Previdi, "Application-Layer Traffic Optimization (ALTO) Deployment Considerations", RFC 7971, DOI 10.17487/RFC7971, October 2016, . 7.2. Informative References [MEC] Poderys, Justas. and Matteo. Artuso, "Caching at the Mobile Edge: A Practical Implementation", 2018. [SDN] Diego, Kreutz. and Ramos. Fernando MV, "Software-defined networking: A comprehensive survey", 2015. [VPN] Scharf, Michael., "Dynamic VPN Optimization by ALTO Guidance", 2013. Appendix A. Questionnaire Chen, et al. Expires January 3, 2019 [Page 10] Internet-Draft ALTO Survey July 2018 Company/Organization Name: Project Name: Motivation: System Architecture: What map services that you have implemented: Map Service | +---> Cost Map | +---> Network Map Map Filtering Service Endpoint Cost Service Endpoint Property Service Unified Property Service Multi-cost Cost Calendar Path Vector Four Entites in ALTO Implementation | +---> Source of network informaton | +---> ALTO Server | | | +---> Who oeperates the ALTO server? | | | | | +---> network operator | | | | | +---> third parties | | | | | +---> user communities | | | +---> How ALTO server groups endpoints (PID) | | | +---> How ALTO server calculates costs | +---> ALTO client | | | +---> network management entity | | | +---> peer (endpoint) entity | +---> Information Consumer Main Benefits of Using ALTO (System and Service Performance) Recognized Issues Chen, et al. Expires January 3, 2019 [Page 11] Internet-Draft ALTO Survey July 2018 Authors' Addresses Shiwei Dawn Chen Tongji University 4800 Cao'an Road Shanghai 201804 China Email: dawn_chen_f@hotmail.com X.S. Lin Tongji University 4800 Cao'an Road Shanghai 201804 China Email: x.shawn.lin@gmail.com Danny Alex Lachos Perez University of Campinas Av. Albert Einstein 400 Campinas, Sao Paulo 13083-970 Brazil Email: dlachosp@dca.fee.unicamp.br URI: https://intrig.dca.fee.unicamp.br/danny-lachos/ Y. Richard Yang Tongji/Yale University 51 Prospect Street New Haven, CT 06511 USA Email: yry@cs.yale.edu Christian Esteve Rothenberg University of Campinas Av. Albert Einstein 400 Campinas, Sao Paulo 13083-970 Brazil Email: chesteve@dca.fee.unicamp.br URI: https://intrig.dca.fee.unicamp.br/christian/ Chen, et al. Expires January 3, 2019 [Page 12]