ALTO D. Wang Internet-Draft H. Song Intended status: Standards Track N. Zong Expires: April 18, 2013 Huawei Oct 15, 2012 ALTO and DECADE Integration draft-wang-alto-decade-integration-00 Abstract While DECADE architecture is going to provide a framework to use in- network storage with standard interface for content distribution, there are still cases when many in-network storage servers provide the same content. Then traffic optimization mechanism is needed to select one best replica for the user request. This document is going to discuss the integration of Application Layer Traffic Optimization (ALTO) protocol into DECADE so as to optimize network traffic. 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 April 18, 2013. Copyright Notice Copyright (c) 2012 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 Wang, et al. Expires April 18, 2013 [Page 1] Internet-Draft ALTO integration Oct 2012 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. Integration Architecture . . . . . . . . . . . . . . . . . . . 3 3.1. Function Entity . . . . . . . . . . . . . . . . . . . . . 3 3.2. Integration Architecture . . . . . . . . . . . . . . . . . 3 3.3. Process Flow . . . . . . . . . . . . . . . . . . . . . . . 5 4. Use cases . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. P2P File Sharing . . . . . . . . . . . . . . . . . . . . . 6 4.2. Offline P2P live streaming . . . . . . . . . . . . . . . . 7 5. ALTO Protocol Considerations . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8.1. Normative References . . . . . . . . . . . . . . . . . . . 11 8.2. Informative Reference . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Wang, et al. Expires April 18, 2013 [Page 2] Internet-Draft ALTO integration Oct 2012 1. Introduction In-network storage is popular for content distribution, but existing framework either keeps applications out of the control loop or need to support variety of application protocol and implementations. DECADE architecture provides the general content distribution framework with standard interface for resource control and data transport. But either using the DECADE compatible in-network storage servers as personal storage or using it as content distribution platform for applications, there are possibilities that multiple servers provide the same content, which would a good scenario to consider using Application Traffic Optimization (ALTO) Protocol to select a better-than-random server. 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 RFC-2119 [RFC2119].. This document reuses the terminology defined in [I-D.draft-alto-problem-statement] and [I-D.draft-decade-problem-statement]. 3. Integration Architecture 3.1. Function Entity ALTO Server: The logical entity that provides interfaces to the queries to the ALTO service [RFC5693]. DECADE Server: A DECADE Server stores DECADE data inside the network, and thereafter manages both the stored data and access to that data [I-D.ietf-decade-arch-02]. DECADE Client: A DECADE Client stores and retrieves data at DECADE Servers [I-D.ietf-decade-arch-02]. App Tracker: Index Server that stores current peer list which is sharing certain network resource, such as movies or music, and so on. 3.2. Integration Architecture Figure 1 shows the basic integration architecture framework of integrating DECADE and ALTO. It indicates that integrating DECADE and ALTO can provide optimized network traffic by selecting serving Wang, et al. Expires April 18, 2013 [Page 3] Internet-Draft ALTO integration Oct 2012 peers in a better-than-random model. +----------+ +----------+ +----------+ | DECADE | | DECADE | | DECADE | | Client A | | Client B | | Client C | +----------+ +----------+ +----------+ | |^ | | 4.Request for|| 7.Return chosen | | resource X || serving peer | | V| | +----------+ +----------+ +----------+ | DECADE | | DECADE | | DECADE | | Server A | | Server B | | Server C | +----------+ +----------+ +----------+ | 5.Request for|^ 6.Return chosen | | resource X || serving peer | | (carry identifier|| | | of Client B) || | | V| | | +----------+ | --------------->| App |<--------------- 1.Add A into the peer list | Tracker | 2.Add C into the peer list holding resource X +----------+ holding resource X ^ 3.Download | Cost map | | +----------+ | ALTO | | Server | +----------+ Figure 1 ALTO and DECADE Integration Architecture Framework In this framework, DECADE Client requests certain network resources from its in-network storage (DECADE Server). If its DECADE Server contains such resources, the request would be satisfied immediately and DECADE Client can download the resource directly. Otherwise, its DECADE Server will query the App Tracker for the best serving peer which contains those resources, carrying the identifier of the requesting DECADE Client in the request. Each time when App Tracker receives DECADE Server's request for certain resources, it queries for all current serving peers that contain such resources. It then looks up the network map it already downloaded from the ALTO Server in advance. The cost between the requesting DECADE Client and each serving peer in the peer list will be calculated. Finally, the best serving replica at the lowest cost will be returned and the requesting resources can be downloaded from it. This scheme embodies the idea of integration of DECADE and ALTO, which may bring many Wang, et al. Expires April 18, 2013 [Page 4] Internet-Draft ALTO integration Oct 2012 benefits, such as saving network bandwidth. In this framework, the cost between every two serving peers can be looked up from ALTO Server, however, the cost between a DECADE Client and any other Client's DECADE Server cannot be obtained. Therefore, it'd better to pre-store network map with cost between each DECADE Client and its DECADE Server in App Tracker. In this way, combining with cost map provided by ALTO Server, the cost between a DECADE Client and any other Client's DECADE Server can be calculated, and the lowest cost can be decided. 3.3. Process Flow Figure 2 shows the process flow of integrating DECADE and ALTO . DECADE Server-x ALTO Server DECADE Client App Tracker DECADE Server-y | | | Pre | | | | |<-----------| | | 1 | | | | |---------->| | | | | | 2 | | | | |---------->| | | | | | | | | | 3 | | | | |<----------| | | | | | 4 | | | |<---------------------------------->| | 5 | | | | |<----------| | | | | | | | | Figure 2 Process Flow of Integrating DECADE and ALTO Pre: App Tracker downloads cost map from ALTO Server in advance. This step can happens any time before step 3. 1. DECADE Client requests for certain network resources from its DECADE Server (here we name it DECADE Server-x). 2. If DECADE Server-x doesn't include the requested resources, it will ask for App Tracker's suggestion. The identifier of DECADE Client will be sent to the App Tracker. 3. APP Tracker looks up all current serving peers that contain such resources. It then calculate the cost between the requesting Client and each serving peers based on the cost map it downloaded from ALTO Server in advance and the pre-stored network map with cost between each DECADE Client and its DECADE Server. Finally, the most suitable serving peer (here we name it DECADE Server-y) at the lowest cost Wang, et al. Expires April 18, 2013 [Page 5] Internet-Draft ALTO integration Oct 2012 will be picked up and returned to DECADE Server-x. 4. DECADE Server-x downloads the data object from DECADE Server-y. 5. DECADE Client downloads the data object from its DECADE Server (DECADE Server-x). 4. Use cases 4.1. P2P File Sharing Related Applications: There are many P2P file sharing applications, e.g., BitTorrent, Shareaza, Ares. The most widely used is BitTorrent. Original setting: In BitTorrent without DECADE and ALTO, a client uploads to other clients using its last mile. This consumes expensive last-mile uplink bandwidth. BitTorrent with DECADE: A client first uploads files to a DECADE Server, who can then serve other clients. BitTorrent with DECADE and ALTO: While two DECADE Servers hold the same file that a client wants, integration DECADE with ALTO can help the client decide which DECADE Server is the best replica to get this file. And in this scheme, it may bring many benefits, such as saving network bandwidth. Figure 3 shows an example. In this example, DECADE Client B wants to get a file which both DECADE Server A and DECADE Server C hold. In the original setting without integrating DECADE with ALTO, DECADE Client B could randomly get the file by its DECADE Server (DECADE Server B) from either DECADE Server A or DECADE Server C. In this case, DECADE Client B would consult App Server which DECADE Sever is the most suitable serving peer. In this process, ALTO Server provides cost map, and the network map with cost between each DECADE Client and its DECADE Server is pre-stored in App Tracker. Based on those two maps, the cost between each serving DECADE Server and the requesting DECADE Client can be calculated, finally the serving peer at the lowest cost would be selected. Wang, et al. Expires April 18, 2013 [Page 6] Internet-Draft ALTO integration Oct 2012 +----------+ +----------+ +----------+ | DECADE | | DECADE | | DECADE | | Client A | | Client B | | Client C | +----------+ +----------+ +----------+ | ^ | | | | | | | | | | | +----------+ | | | DECADE | | | ^ | Server B |^ | | / +----------+ \ | V / || \ V +----------+ / || \ +----------+ | DECADE |/ || \| DECADE | | Server A | || | Server C | +----------+ || +----------+ +----------+ | App | | Tracker | +----------+ || || || +----------+ | ALTO | | Server | +----------+ Figure 3 P2P File Sharing Benefits: DECADE Client can get file by its DECADE Sever from a serving peer at the lowest cost, which may saving traffic. Of course, last mile uplink bandwidth is saved, which is expensive. 4.2. Offline P2P live streaming Related Applications: There are many P2P live streaming applications, e.g., PPLive, PPStream. Original setting: In P2P live streaming without DECADE and ALTO, clients may get a bad user experience when they watch the streaming after broadcasting at a later time, since there will be not enough audiences to watch it after living broadcast. PPLive with DECADE: By using DECADE, a client can watch a live streaming at a later time, and still have a good video quality. PPLive with DECADE and ALTO: While a client wants to watch a live Wang, et al. Expires April 18, 2013 [Page 7] Internet-Draft ALTO integration Oct 2012 streaming at a later time, integrating DECADE and ALTO can help it decide a DECADE Server which hold the content and also at the lowest cost. The client can also enjoy a good user experience, instead of having a bad video quality. Figure 4 shows an example. In this example, Client B is broadcasting a live streaming. Client A is online and watching the live streaming, and DECADE Server A downloads this streaming from DECADE Server B in real time. Client C is offline and wants to watch this streaming at a later time. DECADE Server C can download this streaming from DECADE Server A and DECADE Server B after comparing their cost by consulting App Tracker and ALTO Server. Then DECADE Server C will hold the living streaming data for Client C. After Client C once is online, it can get the streaming directly for its DECADE Server C. Wang, et al. Expires April 18, 2013 [Page 8] Internet-Draft ALTO integration Oct 2012 +----------+ +----------+ +----------+ | DECADE | | DECADE | | DECADE | | Client A | | Client B | | Client C | +----------+ +----------+ +----------+ ^ | ^ | | | | | . | | | | | . | | | +----------+ | +----------+ | DECADE |---------------------->| DECADE | | Server A | | | Server C | +----------+ | +----------+ ^ | ^ \ | / \ V / \ +----------+ / \ | DECADE |/ | Server B | +----------+ || || +----------+ | App | | Tracker | +----------+ || || +----------+ | ALTO | | Server | +----------+ Figure 4 Offline P2P Live Streaming Benefits: In original setting, clients missed live streaming broadcast, may get a bad video quality when they watch it at a later time. While in integrating DECADE with ALTO, the video quality is also good since Client C downloads it directly from it DECADE Server. Also, the new setting can help save network traffic as well as last mile uplink bandwidth in this use case. 5. ALTO Protocol Considerations In this context, App Tracker may currently need a variety of information to perform serving peer selection, for example, ALTO Cost Map from ALTO Server. Via embedding ALTO Client in App Tracker, App Wang, et al. Expires April 18, 2013 [Page 9] Internet-Draft ALTO integration Oct 2012 Tracker can obtain and locally store ALTO Cost Map from ALTO Server by ALTO Protocol, and benefit from this ALTO information to enable network-efficient traffic patterns and improve serving performance. Figure 5 shows the interactions among the main entities in our integration framework where App Tracker is an ALTO Client and applies cost map when selecting the best serving peer. +------------+ +-------------+ | ALTO |<---------------> | App Tracker | | Server | 1.Get Cost Map |(ALTO Client)| +------------+ (ALTO Protocol) +-------------+ ^ | 2.Get best | | 3.Return best serving Peer | | serving peer | | | V +-------------+ | DECADE | | Server | +-------------+ Figure 5 ALTO Client Embedded in App Tracker 1. The App Tracker requests the Cost Map amongst all PIDs from the ALTO Server by ALTO Protocol. 2. A DECADE Server requests current serving peer at lowest cost from the App Tracker. 3. The App Tracker returns current best serving peer, which is computed based on the ALTO Cost Map as well as other information pre- stored in the App Tracker. Since App Tracker acts as the ALTO Client in our scheme, while applying ALTO Protocol, "Endpoint" in the protocol is used to carry/ define information of the App Tracker, `including address type, address of App Tracker, et, al. ALTO Cost Map is obtained from ALTO Server via an HTTP GET method without any input parameters. The media type is "application/alto-costmap+json". And ALTO Server would return cost map or an error code to the App Tracker after receiving such request. 6. Security Considerations This document does not consider security issues. Security will be considered in further version of this draft. Wang, et al. Expires April 18, 2013 [Page 10] Internet-Draft ALTO integration Oct 2012 7. IANA Considerations There is no IANA consideration for this document. 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", March 1997. [RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic Optimization (ALTO) Problem Statement", October 2009. 8.2. Informative Reference [I-D.ietf-decade-arch] Alimi , R., Yang, Y., Rahman, A., Kutscher, D., and H. Liu, "DECADE Architecture", July 2011. [I-D.ietf-decade-problem-statement] Song, H., Zong, N., Yang, Y., and R. Alimi, "DECoupled Application Data Enroute (DECADE) Problem Statement". [I-D.draft-alto-problem-statement] Seedorf, J. and E. Burger, "Application-Layer Traffic Optimization (ALTO) Problem Statement", March 2009. Authors' Addresses Danhua Wang Huawei Email: wangdanhua@huawei.com Haibin Song Huawei Email: haibin.song@huawei.com Wang, et al. Expires April 18, 2013 [Page 11] Internet-Draft ALTO integration Oct 2012 Ning Zong Huawei Email: zongning@huawei.com Wang, et al. Expires April 18, 2013 [Page 12]