Internet DRAFT - draft-wang-decade-alto-integration
draft-wang-decade-alto-integration
ALTO D. Wang
Internet-Draft H. Song
Intended status: Standards Track N. Zong
Expires: April 18, 2013 Huawei
Oct 15, 2012
DECADE and ALTO Integration
draft-wang-decade-alto-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]