DECADE X. Chen
Internet-Draft Z. Huang
Intended status: Informational HUAWEI Technologies
Expires: May 3, 2012 L. Chen
H. Liu
Yale University
Oct 31, 2011
Integration Examples of DECADE System
draft-ietf-decade-integration-example-02
Abstract
DECADE is an in-network storage infrastructure which is under
discussions and constructions. It can be integrated into Peer-to-
Peer (P2P) applications to achieve more efficient content
distributions. This document represents two detailed examples of how
to integrate DECADE into P2P applications (live streaming and file
sharing). Specifically, it describes mainly about: 1) a preliminary
DECADE client API; 2) a P2P live streaming integration with DECADE;
3) a P2P file sharing integration with DECADE; 4)ALTO+DECADE based
file distribution platform; 5) tests on our DECADE integrarions and
6) an application performance analysis from the tests.
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 May 3, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
Chen, et al. Expires May 3, 2012 [Page 1]
Internet-Draft Integration Examples of DECADE System Oct 2011
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.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Chen, et al. Expires May 3, 2012 [Page 2]
Internet-Draft Integration Examples of DECADE System Oct 2011
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. P2P . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. DECADE Server . . . . . . . . . . . . . . . . . . . . . . 4
2.3. DECADE Module . . . . . . . . . . . . . . . . . . . . . . 5
2.4. P2P LiveStreaming Client (P2PLS Client) . . . . . . . . . 5
2.5. DECADE Client . . . . . . . . . . . . . . . . . . . . . . 5
2.6. Vuze . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.7. DECADE Plugin . . . . . . . . . . . . . . . . . . . . . . 5
2.8. DECADE-Enabled Vuze . . . . . . . . . . . . . . . . . . . 5
2.9. Remote Controller . . . . . . . . . . . . . . . . . . . . 5
3. DECADE Client API . . . . . . . . . . . . . . . . . . . . . . 6
4. DECADE Integration of P2P LiveStreaming Client . . . . . . . . 6
4.1. DECADE Integration Architecture . . . . . . . . . . . . . 7
4.1.1. Data Access . . . . . . . . . . . . . . . . . . . . 7
4.1.2. Message Control . . . . . . . . . . . . . . . . . . 7
4.2. Challenges in DECADE Integration . . . . . . . . . . . . 8
4.2.1. Limited Connection Slot . . . . . . . . . . . . . . 8
4.2.2. Additional Control Latency . . . . . . . . . . . . . 8
5. DECADE Integration of P2P Filesharing Client . . . . . . . . . 9
5.1. Vuze Client Design . . . . . . . . . . . . . . . . . . . 9
5.2. DECADE-Enabled Vuze architecture Design . . . . . . . . . 9
5.3. DECADE-Enabled Vuze Communication Procedure . . . . . . . 11
6. ALTO+DECADE based file distribution platform . . . . . . . . . 11
6.1. File distribution platform architecture Design . . . . . 11
6.2. CP Uploading and Publishing Communication Procedure . . . 11
6.3. User Downloading Communication Procedure . . . . . . . . 11
7. Test Environment and Settings . . . . . . . . . . . . . . . . 12
7.1. Test Settings . . . . . . . . . . . . . . . . . . . . . . 13
7.2. Platforms and Components of P2PLS . . . . . . . . . . . . 13
7.2.1. EC2 DECADE Server . . . . . . . . . . . . . . . . . 14
7.2.2. PlanetLab P2P LiveStreaming Client . . . . . . . . 14
7.2.3. Tracker . . . . . . . . . . . . . . . . . . . . . . 14
Chen, et al. Expires May 3, 2012 [Page 3]
Internet-Draft Integration Examples of DECADE System Oct 2011
7.2.4. Source Server . . . . . . . . . . . . . . . . . . . 14
7.2.5. Test Controller . . . . . . . . . . . . . . . . . . 15
7.3. Platforms and Components of Vuze . . . . . . . . . . . . 15
7.3.1. EC2 DECADE Server . . . . . . . . . . . . . . . . . 16
7.3.2. Vuze Client with DECADE Plugin . . . . . . . . . . . 16
7.3.3. Remote Controller . . . . . . . . . . . . . . . . . 16
7.3.4. Tracker . . . . . . . . . . . . . . . . . . . . . . 16
7.3.5. HTTP Server . . . . . . . . . . . . . . . . . . . . 16
7.3.6. PL Manager . . . . . . . . . . . . . . . . . . . . . 16
8. Performance Analysis . . . . . . . . . . . . . . . . . . . . . 17
8.1. Performance Metrics . . . . . . . . . . . . . . . . . . . .17
8.1.1. P2P Live Streaming . . . . . . . . . . . . . . . . .17
8.1.2. Vuze . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1.3. ALTO+DECADE based file distribution platform . . . . 17
8.2. Result and Analysis . . . . . . . . . . . . . . . . . . . 17
8.2.1. P2P Live Streaming . . . . . . . . . . . . . . . . . 17
8.2.2. Vuze . . . . . . . . . . . . . . . . . . . . . . . . 18
8.2.3. ALTO+DECADE based file distribution platform . . . . 18
9. Security Considerations . . . . . . . . . . . . . . . . . . . 20
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
11. Normative References . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20
Chen, et al. Expires May 3, 2012 [Page 4]
Internet-Draft Integration Examples of DECADE System Oct 2011
1. Introduction
DECADE is an in-network storage infrastructure under discussions and
constructions. It can be integrated into Peer-to-Peer (P2P)
applications to achieve more efficient content distributions.
This draft introduces an instance of application integration with
DECADE. In our example system, the core component includes DECADE
servers and DECADE-enabled P2P live streaming clients. A DECADE
server provides data storage and transport service with interactive
control to DECADE clients. We extended a P2P live streaming
application, P2PLS (P2P LiveStreaming), to leverage DECADE service
provided by the servers. P2PLS clients are DECADE-enabled. For our
implementation, we used a preliminary API (Application Programming
Interface) set, which is supposed to be provided by DECADE, to enable
P2PLS clients to use DECADE in their data transmission. In this
draft, we introduce the design of the DECADE-P2PLS integration
system, the main control flow for DECADE-enabled data transmission,
and the testing performance with this system.
Please note that P2PLS in this draft only represents the usage case
of "live streaming" out of a large number of P2P applications, while
DECADE itself can support other applications. The API set used in
this system is an experimental design and implementation. It is not
a standard and is still under development. Currently, DECADE in this
draft is only a preliminary framework of in-network storage for P2P.
It is designed to test the pros and cons of in-network storage
utilized by P2P applications rather than to reach a final solution.
Chen, et al. Expires May 3, 2012 [Page 5]
Internet-Draft Integration Examples of DECADE System Oct 2011
2. Concepts
2.1. P2P
Peer-to-Peer computing or networking is a distributed application
architecture that partitions tasks or work loads between peers.
Peers are equally privileged, equipotent participants in the
application.
2.2. DECADE Server
A DECADE server is implemented with DECADE protocols, management
mechanism and storage strategies. It is an important element to
provide DECADE services. In a DECADE server, we have a number of
Data Lockers each of which is a virtual account and private STORAGE
space for applications.
2.3. DECADE Module
DECADE module is a functional component for application clients to
utilize DECADE. This component serves as an application-specific
interface between a particular application and DECADE servers. It
can be a simple implementation of basic DECADE access APIs, or a
smart realization which integrates application-specific control
strategies with DECADE APIs.
2.4. P2P LiveStreaming Client (P2PLS Client)
P2P LiveStreaming Client (P2PLS Client) is our self-maintained
version of a native P2P live streaming application. It is one
example out of a large number of P2P applications.
2.5. DECADE Client
DECADE client is an integration of a native P2P client and a DECADE
module. It is not required to embed DECADE module into native P2P
clients, since it can also be an independent conponent running at a
remote server.
2.6. Vuze
Vuze is an open source P2P application, which uses BitTorrent
protocol for message and data exchanging. Vuze provides a set of
interfaces which support users to develop particular extensions.
Chen, et al. Expires May 3, 2012 [Page 6]
Internet-Draft Integration Examples of DECADE System Oct 2011
2.7. DECADE Plugin
A plugin built into Vuze to implement DECADE functions including
getting/putting data from/to DECADE server and redirection
2.8. DECADE-Enabled Vuze
A Vuze client that is enabled by DECADE plugin.
2.9. Remote Controller
A controller which can control every Vuze client to start or stop
downloading tasks. It also has a function of collecting statistic
information of each Vuze client. It is a major operating platform.
Chen, et al. Expires May 3, 2012 [Page 7]
Internet-Draft Integration Examples of DECADE System Oct 2011
3. DECADE Client API
In order to simplify the DECADE integration with P2P clients, we
provide an API set which covers the communications with DECADE
servers and token-generation. On top of this API, a P2P client can
develop its own application-specific control and data distribution
policies.
There are five basic interfaces:
o Get_Object: to get an object from a DECADE server with an
authorized token. The get operation can be classified into two
categories: Local Get and Remote Get. Local Get is to get an object
from a local DECADE server. Remote Get is to use a client's local
DECADE server to indirectly get an object from a remote DECADE
server. The object will be firstly passed to the local DECADE
server, then returned to the application client.
o Put_Object: to store an object into a DECADE server with an
authorized token. A client can either store an object into its local
DECADE server or into other clients' DECADE servers, if it has an
authorized token. Both of the operations are direct, for we don't
provide indirectly storing (i.e. remote put).
o Delete_Object: to delete an object in a DECADE server explicitly
with an authorized token. Note that an object can also be deleted
implicitly by setting an expired time or a specific TTL.
o Status_Query: to query current status of an application itself,
including listing stored objects, resource usage, etc.. Such
information is private.
o Generate_Token: to generate an authorized token. The token can be
used to access an application client's local DECADE server, or passed
to other clients to allow them to access the client's local DECADE
server.
Chen, et al. Expires May 3, 2012 [Page 8]
Internet-Draft Integration Examples of DECADE System Oct 2011
4. DECADE Integration of P2P LiveStreaming Client
We integrate a DECADE module into a P2P live streaming application--
P2PLS, in order that clients of this application can easily leverage
4.1. DECADE Integration Architecture
The architecture of the P2PLS application and DECADE integration is
shown in Figure 1:
+---------------+ +---------------+
| DECADE | | DECADE |
| Peer | | Peer |
|+-------------+| +---------------+ |+-------------+|
||DECADE Module||---| DECADE Server |---||DECADE Module||
|+------^------+| +---------------+ |+------^------+|
| API | | | API | |
|+------v------+| +---------------+ |+------v------+|
||Native Client||---| Tracker |---||Native Client||
|+-------------+| +---------------+ |+-------------+|
+---------------+ +---------------+
Figure 1
A DECADE-integrated P2PLS client uses DECADE module to communicate
with its DECADE server and transmit data between itself and its
DECADE server. It is compatible with its original P2P protocol,
while it also uses a DECADE protocol to exchange DECADE related
messages with other peers.
4.1.1. Data Access
DECADE module is called whenever a client wants to get data objects
from (or put data objects into) its DECADE server. Each data object
transferred between a client and its DECADE server should go through
DECADE module. Neither the DECADE server and the original client
knows each other. A data object is a data transfer unit between
DECADE servers and application clients. Its size can be application-
customized, according to variable requirements of performance or
sensitive factors (e.g. low latency, high bandwidth utilization).
4.1.2. Message Control
Control and data plane decoupling is a design principle of DECADE.
Control messages are propagated in an original P2P way. DECADE only
introduces an additional control message between DECADE module which
carries DECADE authorized token. By exchanging DECADE authorized
tokens, P2P live streaming clients can retrieve or store data objects
into or from others' DECADE servers.
Chen, et al. Expires May 3, 2012 [Page 9]
Internet-Draft Integration Examples of DECADE System Oct 2011
4.2. Challenges in DECADE Integration
One essential objective of DECADE integration is to improve (or at
least not to hurt) the application performance. However, as a brand
new architecture, DECADE has some inherit challenges which will
potentially be harmful to application performance. In our P2P live
streaming case, we met mainly two such limitations of DECADE:
4.2.1. Limited Connection Slot
Limited Connection Slot: In native P2P systems, a peer can establish
tens or hunderds of concurrent connections with other peers.
However, this situation can hardly be ture when it is integrated with
DECADE because it is too expensive for DECADE servers to maintain so
many connections for each peer. Typically, each DECADE peer only
have m connection slots, which means it can only at most have m
active connections with its DECADE server simultaneously. A
potential "side effect" of limited connection slot is that the
content availability and downloading rate might be impacted
negatively by fewwer connections carrying data traffic. This
requests us to adjust the peer's behavior in resource allocation,
downloading/uploading scheduling, etc. to fully utilize the
connection slots to archieve a satisfying and robust data
downloading.
o Batch Request: In order to fully utilize the connection bandwidth
of a DECADE server and reduce overhead, a P2PLS client may combine
multiple requests in a single request to DECADE server. Note that
for the sake of improving data transfer efficiency in P2P live
streaming, we may combine multiple data requests into a batch
request. Generally, a batch may consist of different kinds of access
requests.
o Data Object Size: In typical P2P live streaming application, the
size of a data block is relatively small, considering to reduce end-
to-end transport latency. However, existing data size may incur
large control overhead and low transport utilization. A larger data
object size may be needed to utilize DECADE more efficiently.
4.2.2. Additional Control Latency
Addtional Control Latency: In native P2P systems, when an uploader
decides to reply a request for a piece, it sends the piece out
directly. Nevertheless, in DECADE-aware P2P systems, the uploader
typically only replies with a token of the piece. And then the
downloader will leverage this token to fetch the piece from the
uploader's DECADE server. This process obviously introduces
additional control latency compared with native P2P systems. It is
Chen, et al. Expires May 3, 2012 [Page 10]
Internet-Draft Integration Examples of DECADE System Oct 2011
even more serious in latency sensitive applications such as P2P live
streaming. We need to consider how to reduce such additional delay
or how to compensate the lose with other inherit advantages of
DECADE.
o Range Token: One way to reduce request latency is to use range
token. A P2PLS client may piggyback a range token when it propagates
its bitmap to its neighbors, to indicate that all available pieces in
the bitmap are accassable by this range token. Then instead of
requesting specific pieces from this client and waiting for response,
the neighbors can directly use this range token to access data in
DECADE servers. Note that this method not only reduce request
latency, but also reduce message overhead.
With these adjustments and strategies, DECADE clients' performance
was not impacted by the liminations of DECADE and was even better
than native clients' as we will see in following sections.
Chen, et al. Expires May 3, 2012 [Page 11]
Internet-Draft Integration Examples of DECADE System Oct 2011
5. DECADE Integration of P2P Filesharing Client
We integrate DECADE with a popular P2P file-sharing application--
Vuze.
5.1. Vuze Client Design
Note that Vuze client is classified into two different kinds - Native
Vuze and DECADE-Enabled Vuze. When running Native Vuze, it behaves
as ordinary BitTorrent client: some Vuze clients upload data for
others to download. When using DECADE-Enabled Vuze, the
communication and data exchange processes are changed. The uploader
uploads data to its DECADE server, and downloaders download data from
DECADE servers. By this means, uplink traffic can be reduced sharply
and download performance can be improved. It is beneficial for ISPs
to save the last-mile uplink bandwidth.
5.2. DECADE-Enabled Vuze architecture Design
DECADE plugin is a key component of our demo system. It has several
interfaces with other components as following:
Interface between DECADE plugin and DECADE server: DECADE plugin can
upload and download data from DECADE server. It also includes other
functions such as user registration, application registration etc.
Interface between DECADE plugin and Vuze client: DECADE plugin can
register a listener to intercept the BitTorrent message such AS
"BT_Request" message from or to Vuze client, encapsulate the data
from DECADE server into "BT_Piece" message and put the "BT_Piece"
message into incoming message queue, read the block/piece data from
the disk when seeding (to upload the data to DECADE server), and
start or stop the download tasks, all these functions are supported
in the Plugin API provided by Vuze.
Interface between DECADE plugins: When DECADE plugin intercepts the
"BT_Request" message from other Vuze clients, local DECADE plugin
sends "Redirect" message to remote DECADE plugin to authorize it to
download the piece data from the DECADE server.
Interface between DECADE plugin and Remote Controller: DECADE plugin
registers with Remote Controller after starting up, Remote Controller
can control all the Vuze clients to start, stop or resume the
download tasks through DECADE plugins.
The system architecture is as follow:
Chen, et al. Expires May 3, 2012 [Page 12]
Internet-Draft Integration Examples of DECADE System Oct 2011
_____________ _____________
| DACADE | | DECADE |
| Server |------------| Server |
|____________| |____________|
^ ^
| |
______|______ ______|______
| | | | | |
| P2P | Peer | | P2P | Peer |
| | | | | | _____________
| ____v____ | | ____v____ | | Remote |
| |DECADE | | | | DECADE | | | Controller |
| |Plugin | |----------- | | Plugin | |-------------|____________|
| |________| | | |________| | |
| ^ ^ | | ^ | |
| | |__|____________|_____|______|___________________|
| PluginAPI | | PluginAPI |
| | | | | |
| ____v____ | | ____v____ |
| | | | | | | |
| | Vuze | |----------- | | Vuze | |
| |________| | | |________| |
|____________| |____________|
Figure 2
5.3. DECADE-Enabled Vuze Communication Procedure
A DECADE plugin can change the data path of BitTorrent download by
using a "Redirect" message.
The detailed communication procedure is as following:
o When each client starts the download task ,it will try to connect
the tracker to get peer list and then send "BT_Request" message to
other peers in peer list.
o If the DECADE plugin is enabled, then it will intercept the
incoming "BT_Request" message from other Vuze clients, and then reply
with a "Redirect" message which includes DECADE server's address,
authorization token and so on to the requester.
o When a DECADE plugin receives a "Redirect" message, it will connect
to the DECADE server according to message context and send "Remote
Get" message to the DECADE server to request the data, then wait for
response.
Chen, et al. Expires May 3, 2012 [Page 13]
Internet-Draft Integration Examples of DECADE System Oct 2011
o When a DECADE server receives a "Remote Get" message, it will check
the server IP address in the message, Case 1: if the address equals
to its own IP address, then it will send the data to the requester
from its local disk/memory; Case 2: if the address is not equal to
its own IP address, then it will send the "Remote Get" message to
that address, to fetch the data, and then send the data to the
requester. The data will be cached in the server locally for use by
other requesters.
o When a DECADE plugin obtains the data, it will encapsulate the data
into a standard "BT_Piece" message and send to Vuze client, then the
client can write the data block into storage.
The detailed communication diagram is as follow:
________ __________ __________ ________ _________ _________
| | | DACADE | | DACADE | | | | DECADE | | DECADE |
| Vuze1 | | Plugin1 | | Plugin2 | | Vuze2 | | Server1 | | Server2|
|_______| |_________| |_________| |_______| |_________| |________|
| | | | | |
| | HandShake | | | |
|k----------|------------|---------->| | |
| Azureus HandShake | | |
|k----------|------------|---------->| | |
| | BT_BitField| | | |
|k----------|------------|---------->| | |
| | BT_Request | | | |
|-----------|----------->| | | |
| | | | | |
| | Redirect | | | |
| |k-----------| | | |
| | DACADE RemoteGet | |
| |----------------------------------->| |
| | | | | DACADE Get |
| | | | |----------->|
| | | | | DACADE Data|
| | | | |k-----------|
| | DACADE Data | |
| |k-----------------------------------| |
| | | | | |
| BT_Piece | | | | |
|k----------| | | | |
| | | | | |
Figure 3
Chen, et al. Expires May 3, 2012 [Page 14]
Internet-Draft Integration Examples of DECADE System Oct 2011
6. ALTO+DECADE based file distribution platform
We integate DECADE with a file distribution platform based on the
ALTO+DECADE architecture
6.1. File distribution platform architecture Design
Note that This Integration is a file distribution platform based on
the ALTO+DECADE architecture. It allows content providers (CP) to
upload files to DECADE servers, and end users to download files from
optimal DECADE source servers.Specifically, three components in this
trial are provided:
o DECADE Servers:store files.
o DECADEs Portal: offers content publishers a portal site to upload
files; it also includes ALTO service to direct end users to an
optimal DECADE Server to download files.
o Content Publisher's Portal: A simulated portal for a content
publisher TO offer a web portal to publish download URL and for its
END users TO download from DECADE.
The system architecture is as follow:
Chen, et al. Expires May 3, 2012 [Page 15]
Internet-Draft Integration Examples of DECADE System Oct 2011
_________ _________
| DECADE | | DECADE |
| Client1 | | Client2 |
|_________| |_________|
\ /
\ /
\ _____________ /
| Content |
| Publisher's |
| Portal |
|_____________|
|
|
|
______________________|______________________
| ____________ |
| | DECADEs | ISP |
| | Portal | |
| /|____________| \ |
| / | | \ |
| ________/ _____|__ _|______ \________ |
|| DECADE | | DECADE | | DECADE | | DECADE | |
||Server1 | |Server2 | |Server3 | |Servern | |
||________| |________| |________| |________| |
|____________________________________________|
Figure 4
6.2. CP Uploading and Publishing Communication Procedure
Publisher (CP) should upload his file into DECADE Servers first and
get the URLs of the files then can publish the download hyperlink on
his official homepage.
The detailed communication procedure is as following:
o CP upload any files what he wants to publish via logon DECADE
Portal site and send data objects via HTTP flow.
o DECADE Portal can cache the file uploaded by publisher and
distribute the file to specified DECADE Sever Zones, DECADE Server
will divide the file into many slides as long as the length of file,
and save them in different folder.
o When a file has been uploaded successfully, DECADE Portal will list
the URL of this file on homepage, publisher can find it easily, and
use the URL for publishing.
Chen, et al. Expires May 3, 2012 [Page 16]
Internet-Draft Integration Examples of DECADE System Oct 2011
The detailed communication diagram is as follow:
_________ _________ _________
| | | DECADE | | DECADE |
|Publisher| | Portal | | ServerX |
|_________| |_________| |_________|
| | |
| PUT Data | |
|------------------>| |
| | Distribute data |
| |----------------->|
| | Response |
| |<-----------------|
| URLs & Token | |
|<------------------| |
| | |
Figure 5
6.3. User Downloading Communication Procedure
When publisher have put file URLs on his publishing homepage, users
can visit his downloading page and click hyperlink to download
files.Users should visit CP's download list page, and find out which
file he is interested in, and then click the hyperlink to download.
The detailed communication procedure is as following:
o User visits publisher's homepage, finds a file download link.
o User clicks the hyper link, homepage returns chunk {URLs & Tokens}
to the User, and the user uses those URLs & Tokens to redirect to
DECADE Portal's download page.
o DECADE Portal help the user to find an optimal DECADE Server as
long as user's IP, and return it to the user.
o user connect to this DECADE Server to get data via HTTP flow.
The detailed communication diagram is as follow:
Chen, et al. Expires May 3, 2012 [Page 17]
Internet-Draft Integration Examples of DECADE System Oct 2011
_________ ____________ _________ _________ _________
| | |Publisher's | | DECADE | | ALTO | | DECADE |
|Publisher| | Portal | | Portal | | Server | | Server |
|_________| |____________| |_________| |_________| |_________|
| | | | |
|Download Req | | | |
|------------->| | | |
| URLs&Tokens | | | |
|<-------------| | | |
| | | | |
| Download Require(Tokens) | | |
|------------------------------>| | |
| | |Route Search | |
| | |------------>| |
| | |Route Result | |
| | |<------------| |
| optimal DECADE Server address | | |
|<------------------------------| | |
| | | | |
| | Get Data | |
|---------------------------------------------------------->|
| | | | |
| | Send Data | |
|<----------------------------------------------------------|
| | | | |
| | | | |
Figure 6
Chen, et al. Expires May 3, 2012 [Page 18]
Internet-Draft Integration Examples of DECADE System Oct 2011
7. Test Environment and Settings
In order to demonstrate the performance of our DECADE implementation
and DECADE-integrated P2P live streaming and file-sharing
applications, we conduct some experimental tests in Amazon EC2 and
PlanetLab. We perform a pair of comparative experiments: DECADE
integrated P2P application v.s. native P2P application, in the same
environment using the same settings.
7.1. Test Settings
Our tests ran on a wide-spread area and diverse platforms, including
a famous commercial cloud platform, Amazon EC2 and a well-known
testbed, PlanetLab. The environment settings are as following:
o EC2 Regions: we setup DECADE servers in Amazon EC2 cloud, including
all four regions around the world, US east, US west, Europe and Asia.
o PlanetLab: we run our P2P live streaming clients and P2P file-
sharing clients (both DECADE integrated and native clients) on
PlanetLab of a wild-spread area.
o Arrival pattern: we made all the clients join into the system
within a short duration to simulate a flash crowd scenario.
o Total Bandwidth: for a fair comparison, we set the system's total
supply bandwidth to be exact the same in both test.
7.2. Platforms and Components of P2PLS
In the tests, we have different functional components running in
different platforms, including DECADE servers, P2P live streaming
clients(DECADE integrated or Native), Tracker, Source server and Test
Controller, as shown in Figure 7.
Chen, et al. Expires May 3, 2012 [Page 19]
Internet-Draft Integration Examples of DECADE System Oct 2011
+----------+ +------------+ +------------+
| P2PLS | /| DECADE |----| DECADE |
| Manager | / | Server | | Server |
+--------^\+ / +-----|------+ +------|-----+ EC2
___________\/_________|__________________|_______
/\ | |
+---------/+ \ +-----|------+ +------|-----+
| P2PLS ^ \ | P2PLS ^ ^ P2PLS |
| Source |\ \| Client |\ /| Client |
+-----|----+ \ \------^-----+ \/ +------^-----+ Planetlab
______|_______\__\_____|_______/\________|_______
| \ \ | / \ |
+-----|----+ v--v---v-----v v------v-----+
| Streaming| | P2PLS | | Test |
| Files | | Tracker | | Controller |
+----------+ +------------+ +------------+ Yale Lab
P2PLS represents to P2P LiveStreaming.
Figure 7
7.2.1. EC2 DECADE Server
DECADE Servers ran on Amazon EC2 small instances, with bandwidth
constraint.
7.2.2. PlanetLab P2P LiveStreaming Client
Both DECADE integrated and Native P2P live streaming clients ran on
planetlab which spreads in various locations around the world. The
DECADE integrated P2P live streaming clients connect to the closest
DECADE server according to its Geo-location distance to the servers.
DECADE integrated P2P live streaming clients use their DECADE servers
to upload to neighbors, instead of their own "last-mile" bandwidth.
7.2.3. Tracker
A native P2P live streaming tracker ran at Yale's laboratory and
served both DECADE integrated clients and native clients during the
test.
7.2.4. Source Server
A native P2P live streaming source server ran at Yale's laboratory
and serve both DECADE integrated clients and native clients during
the test. The capacity of source is equivalently constrain for both
cases.
Chen, et al. Expires May 3, 2012 [Page 20]
Internet-Draft Integration Examples of DECADE System Oct 2011
7.2.5. Test Controller
Test Controller is a manager to control all machines' behaviors in
both EC2 and PlanetLab during the test.
7.3. Platforms and Components of Vuze
Test platforms includes Vuze client, tracker, DECADE Plugin, DECADE
Servers and other supportive components such as HTTP Server, FTP
Server and Remote Controller.
+-------------+ +-------------+
| | | |
|DECADE Server| ... |DECADE Server|
| | | |
+-------------+ +-------------+
/ \ \
/ \ \
/ \ \
/ \ \
/ \ \
/ \ \
/ \ \
+-------------+ +-------------+ +-------------+ +-------------+
| Vuze client | | Vuze client | | Vuze client | | |
| with DECADE | | with DECADE | ... | with DECADE |--| Tracker |
| plugin | | plugin | | plugin | | |
+-------------+ +-------------+ +-------------+ +-------------+
\ | /
\ | /
\ | /
\ | /
\ | /
\ | /
\ | /
\ | /
\ | /
+-------------+ +-------------+ +-------------+ +-------------+
| | | Remote | | | | |
| PL Manager | | Controller | | HTTP Server | | FTP Server |
| | | | | | | |
+-------------+ +-------------+ +-------------+ +-------------+
Figure 8
7.3.1. EC2 DECADE Server
DECADE Servers ran on Amazon EC2 small instances, with bandwidth
constraint.
Chen, et al. Expires May 3, 2012 [Page 21]
Internet-Draft Integration Examples of DECADE System Oct 2011
7.3.2. Vuze Client with DECADE Plugin
Vuze clients are divided into one seeding client and multiple
leechers. Leechers run at PlanetLab, while the seeding client runs
at the Window 2003 server. DECADE Plugin will be automatically
loaded and run after Vuze client starts up.
7.3.3. Remote Controller
Remote controller can list all the Vuze clients in user interface and
control them to download a specific BitTorrent file. It runs at the
same Window 2003 server with the seeding client.
7.3.4. Tracker
Vuze client provides tracker capability, so we did not deploy our own
tracker. Vuze embedded tracker is enabled when making a torrent
file, the seeding client is also a tracker in this test.
7.3.5. HTTP Server
Torrent file will be put in the HTTP Server and the leechers will
retrieve the torrent file from HTTP Server after receiving the
download command from Remote Controller. We use Apache Tomcat which
is an open source software as HTTP Server.
7.3.6. PL Manager
PL Manager (PlanetLab experiment Manager)is a tool developed by
University of Washington, which presents a simple GUI to control
PlanetLab nodes and perform common tasks such as:
o Selecting nodes for your slice.
o Choosing nodes for your experiment based on CoMon information about
the nodes.
o Reliably deploying you experiment files.
o Executing commands / sets of commands on every node in parallel.
o Monitoring the progress of the experiment as a whole, as well as
viewing console output from the nodes.
Chen, et al. Expires May 3, 2012 [Page 22]
Internet-Draft Integration Examples of DECADE System Oct 2011
8. Performance Analysis
During the test, Both DECADE integrated P2P live streaming clients
and DECADE integrated P2P file-sharing clients achieved impressively
better performance than native clients.
8.1. Performance Metrics
8.1.1. P2P Live Streaming
To measure the performance of a P2P live streaming client, we employ
mainly four metrics:
o Startup Delay: the duration from a peer joins the channel to the
moment it starts to play.
o Piece Missed Rate: the number of pieces a peer loses when playing
over the total number of pieces.
o Freeze Times: the number of times a peer re-buffers during playing.
o Average Peer Uploading Rate: Average uploading bandwidth of a peer.
8.1.2. Vuze
For the performance comparison of Native Vuze and DECADE-Enabled
Vuze, the same system bandwidth is provided through some parameter
settings. In Native Vuze, the system bandwidth is defined as the
amount of the uplink bandwidth from all the Vuze clients. The
maximum upload bandwidth (Bu) is configured to every Vuze client
before the test. Suppose the number of the Vuze clients is N, the
system bandwidth is Bu * N. In the DECADE-Enabled Vuze case, the same
bandwidth (Bu * N) is configured to the corresponding Ethernet port
of DECADE Server.
8.1.3. ALTO+DECADE based file distribution platform
In ALTO+DECADE based file distribution platform, the system bandwidth
is defined as the amount of the download bandwidth from all clients.
The maximum upload bandwidth is configured to every client before the
test. The maximum online users IS defined as the amount of the
clients downloading simultaneously.
8.2. Result and Analysis
Chen, et al. Expires May 3, 2012 [Page 23]
Internet-Draft Integration Examples of DECADE System Oct 2011
8.2.1. P2P Live Streaming
o Startup Delay: In the test, DECADE integrated P2P live streaming
clients startup around 35~40 seconds. some of them startup at about
10 seconds. Native P2P live streaming clients startup around 110~120
seconds. less than 20% of them startup within 100 seconds.
o Piece Missed Rate: In the test, both DECADE integrated P2P live
streaming clients and native P2P live streaming clients achieved a
good performance in pieces missed rate. Only about 0.02% of total
pieces missed in both cases.
o Freeze Times: In the test, native P2P live streaming clients
suffered from more freezing than DECADE Integrated P2P live streaming
clients by 40%.
o Average Peer Uploading Rate: In the test, according to our
settings, DECADE integrated P2P live streaming clients had no upload
in their "last-mile" access network. While in the native P2P live
streaming system, more than 70% of peers uploaded in a rate that is
much more than streaming rate. In another word, DECADE can shift
uploading traffic from clients' "last-mile" to in-network devices,
which saves a lot of expensive bandwidth on access links..
8.2.2. Vuze
Performance advantage is shown according to the test result of
experiment:
o There is no upload data traffic from Vuze clients in the DECADE-
Enabled Vuze experiment, but in the Native Vuze experiment, the
upload data traffic from Vuze clients is the same as download data
traffic. Bandwidth resource is reduced in the last mile in the
DECADE-Enabled Vuze experiment. The test result is illustrated in
the following table. The download traffic and upload traffic include
data traffic and signal traffic. For the upload traffic in the
DECADE-enable Vuze, the data traffic is zero so the all traffic is
signal overhead. Though we used the same torrent file in those two
cases, the number of Vuze client was not the same because the nodes
in the Planet-lab are not always stable. Therefore, the download
traffic is a little different in two cases.
Chen, et al. Expires May 3, 2012 [Page 24]
Internet-Draft Integration Examples of DECADE System Oct 2011
+--------------------+--------------------+--------------------+
| | | |
| | Download traffic | Upload traffic |
| | | |
+--------------------+--------------------+--------------------+
| | | |
| DECADE-Enabled Vuze| 480MB | 12MB
| | | |
+--------------------+--------------------+--------------------+
| | | |
| Native Vuze | 430MB | 430MB
| | | |
+--------------------+--------------------+--------------------+
Figure 9
o Higher system resource efficiency in the DECADE-Enabled Vuze
experiment, system resource efficiency is defined as the ratio of
system download rate to the total system bandwidth. The test result
is illustrated in the following figure.
|
|
| 88%
|
| +-------+
| | |
| 65% | |
| | |
| +-------+ | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
+------+-------+---------+-------+--------
Native Vuze DECADE-Enabled Vuze
Figure 10
Chen, et al. Expires May 3, 2012 [Page 25]
Internet-Draft Integration Examples of DECADE System Oct 2011
8.2.3. ALTO+DECADE based file distribution platform
o Each DECADE Server can supply transmit bandwidth the same as at
most 94% of network interface card (e.g. 1000M interface card server
can supply bandwidth of 940Mbps at most).
o Each DECADE Server can support about 400 users online download
simultaneously as designed.
Chen, et al. Expires May 3, 2012 [Page 26]
Internet-Draft Integration Examples of DECADE System Oct 2011
9. Security Considerations
This document does not contain any security considerations.
Chen, et al. Expires May 3, 2012 [Page 27]
Internet-Draft Integration Examples of DECADE System Oct 2011
10. IANA Considerations
This document does not have any IANA considerations.
Chen, et al. Expires May 3, 2012 [Page 28]
Internet-Draft Integration Examples of DECADE System Oct 2011
11. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Chen, et al. Expires May 3, 2012 [Page 29]
Internet-Draft Integration Examples of DECADE System Oct 2011
Authors' Addresses
Xiaohui Chen
HUAWEI Technologies
Email: risker.chen@huawei.com
Zhigang Huang
HUAWEI Technologies
Email: hpanda@huawei.com
Lijiang Chen
Yale University
Email: lijiang.chen@yale.edu
Hongqiang Liu
Yale University
Email: hongqiang.liu@yale.edu
Chen, et al. Expires May 3, 2012 [Page 30]