DECADE Z. Huang Internet-Draft X. Chen Intended status: Informational HUAWEI Technologies Expires: April 21, 2011 October 18, 2010 An integration example of DECADE system draft-huang-decade-integration-example-00 Abstract This document represents an integration experiment of DECADE. In the experiment, we use Vuze as the application which uses DECADE server for content distribution. This document describes the framework, message flow, environment settings and test steps. We also analyze the performance benefit of the experiment. 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 21, 2011. Copyright Notice Copyright (c) 2010 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. Huang & Chen Expires April 21, 2011 [Page 1] Internet-Draft Integration example of DECADE system October 2010 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Vuze Client Design . . . . . . . . . . . . . . . . . . . . . . 4 3.1. DECADE-Enabled Vuze architecture Design . . . . . . . . . 4 3.2. DECADE-Enabled Vuze Communication Procedure . . . . . . . 5 4. Test Environment Setting . . . . . . . . . . . . . . . . . . . 6 4.1. Test Platforms . . . . . . . . . . . . . . . . . . . . . . 7 4.1.1. DECADE Server . . . . . . . . . . . . . . . . . . . . 7 4.1.2. Vuze Client with DECADE Plugin . . . . . . . . . . . . 7 4.1.3. Remote Controller . . . . . . . . . . . . . . . . . . 8 4.1.4. Tracker . . . . . . . . . . . . . . . . . . . . . . . 8 4.1.5. PL Manager . . . . . . . . . . . . . . . . . . . . . . 8 4.1.6. HTTP Server . . . . . . . . . . . . . . . . . . . . . 8 4.2. Benchmark Setting . . . . . . . . . . . . . . . . . . . . 8 4.3. Test Steps . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Performance Analysis . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1. Informative References . . . . . . . . . . . . . . . . . . 11 9.2. References . . . . . . . . . . . . . . . . . . . . . . . . 11 9.3. references . . . . . . . . . . . . . . . . . . . . . . . . 11 9.4. References . . . . . . . . . . . . . . . . . . . . . . . . 11 9.5. References . . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Huang & Chen Expires April 21, 2011 [Page 2] Internet-Draft Integration example of DECADE system October 2010 1. Introduction DECADE [draft-ietf-decade-problem-statement-00]is an architecture that provides applications with access and resource control to in- network storage. This draft introduces an integration example of DECADE architecture. In our DECADE example system, the core component includes DECADE server and DECADE client. DECADE server running at Linux platform is designed to support data reading and writing for DECADE clients. For DECADE client, we choose an open source P2P client software named Vuze[Vuze] which supports the user defining plugin to extend software function. We designed a plugin named DECADE plugin to realize the DECADE function. Test Environment and performance of DECADE-Enable Vuze are described in the draft after introducing the system architecture and main message flow. Please note that Vuze presented in this draft is only one of many P2P applications. DECADE can support other applications, for example live streaming.Certainly, we only show Vuze Integration experiment in the document. 2. Terminology 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. Vuze: 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. DECADE Plugin:A plugin built into Vuze to realize DECADE functions including getting/putting data from/to DECADE server and redirection . DECADE-Enabled Vuze: A Vuze client that is compatible with DECADE by implementing DECADE plugin and DECADE plugin is enabled. Native Vuze: A Vuze client without DECADE plugin or with DECADE plugin but DECADE function is disabled. Remote Controller: An controller which can control every Vuze client to start or stop downloading tasks It also has the function of collecting statistics information of each Vuze client.It is a main operating platform. Huang & Chen Expires April 21, 2011 [Page 3] Internet-Draft Integration example of DECADE system October 2010 3. Vuze Client Design Before showing the trial procedure we must illustrate Vuze Client design procedure first. Note that Vuze client is classified into two different kinds - Native Vuze and DECADE-Enabled Vuze. When users run Native Vuze,it behaves as usual BitTorrent client.When using DECADE-Enabled Vuze, the communication and data exchange process is different.That is a very significant change,it means that uplink traffic can be reduced sharply and download performance can be improved. It is beneficial for ISPs to save the last-mile uplink bandwidth. 3.1. DECADE-Enabled Vuze architecture Design DECADE plugin is one core part 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 the 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 the 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 task, 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 task through DECADE plugins. The system architecture is as follow: Huang & Chen Expires April 21, 2011 [Page 4] Internet-Draft Integration example of DECADE system October 2010 _____________ _____________ | DACADE | | DECADE | | Server |<------------->| Server | |____________| |____________| ^ ^ | | ______|______ ______|______ | | | | | | | P2P | Peer | | P2P | Peer | | | | | | | _____________ | ____v____ | | ____v____ | | Remote | | |DECADE | | | | DECADE | | | Controller | | |Plugin |<|-------------- |>| Plugin |<|----------------|____________| | |________| | | |________| | | | ^ ^ | | ^ | | | | |__|_______________|_____|______|______________________| | PluginAPI | | PluginAPI | | | | | | | | ____v____ | | ____v____ | | | | | | | | | | | Vuze |<|-------------- |>| Vuze | | | |________| | | |________| | |____________| |____________| 3.2. 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 DDECADE server's address, authorization token,and etc 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; O When a DECADE server receives a "Remote Get" message, it will check the server IP address in the messge, Case 1: if the address equals to its own IP address, then it will send the data to the requester from Huang & Chen Expires April 21, 2011 [Page 5] Internet-Draft Integration example of DECADE system October 2010 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 | | Server | | Server | |_________| |_________| |_________| |________| |_________| |_________| | | | | | | | | HandShake | | | | |<-----------|--------------------|---------->| | | | | Azureus HandShake | | | | |<-----------|--------------------|---------->| | | | | BT_BitField | | | | |<-----------|--------------------|---------->| | | | | BT_Request | | | | |------------|------------------->| | | | | | | | | | | | Redirect | | | | | |<-------------------| | | | | | DACADE RemoteGet | | | |--------------------------------------------------->| | | | | | | DACADE Get | | | | | |------------->| | | | | | DACADE Data | | | | | |<-------------| | | DACADE Data | | | |<---------------------------------------------------| | | | | | | | | BT_Piece | | | | | |<-----------| | | | | | | | | | | 4. Test Environment Setting Test environment includes Vuze client, tracker, DECADE Plugin, DECADE Servers and other supportive components such as HTTP Server, FTP Server and Remote Controller. For performance comparison of Native Vuze and DECADE-Enabled Vuze, we set the same amount of total network bandwidth resource in these two test cases. It means the total Huang & Chen Expires April 21, 2011 [Page 6] Internet-Draft Integration example of DECADE system October 2010 uplink bandwidth of all the Vzue clients in the native Vuze test case is equal to the bandwidth of DECADE server in DECADE-Enabled Vuze test case. 4.1. Test Platforms +-------------+ +-------------+ | | | | |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 | | | | | | | | | +-------------+ +-------------+ +-------------+ +-------------+ 4.1.1. DECADE Server DECADE Server runs at Amazon EC2 [Amazon-EC2]small instances. 4.1.2. Vuze Client with DECADE Plugin Vuze clients include seeding client and leechers.Leechers run at PlanetLab[PlanetLab] and the seeding client runs at Window 2003 server. DECADE Plugin will be automatically loaded and run after Vuze client starts up. Huang & Chen Expires April 21, 2011 [Page 7] Internet-Draft Integration example of DECADE system October 2010 4.1.3. Remote Controller Remote controller can list all the Vuze clients in user interface and control them to download the specific BitTorrent file. It runs at Window 2003 server. 4.1.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 the tracker. 4.1.5. 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. 4.1.6. 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. 4.2. Benchmark Setting For the performance comparison of Native Vuze and DECADE-Enabled Vuze, the same system bandwidth is provided through some parameter settings. In the 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. Huang & Chen Expires April 21, 2011 [Page 8] Internet-Draft Integration example of DECADE system October 2010 4.3. Test Steps Test steps of DECADE-Enabled Vuze is as follows: O Start DECADE Server, Remote Controller and all the Vuze clients. O One of DECADE Vuze clients seeds, generates the torrent file. DECADE Plugin automatically uploads the data to DECADE Server. O Manually put the torrent file into home directory of HTTP server. If the default directory of torrent file in Vuze client is set to the home directory of HTTP server, this step can be ignored. O Remote Controller sends the download command to other DECADE- Enabled Vuze clients (leechers). O Leechers fetch torrent file from HTTP server. O Leechers request and get peer list from the tracker. O Leechers send BT_Request message to peers and get Redirect messages from peers. O Leechers get objects from DECADE Servers and finish the download. O Collecting and analyzing the log from all the Vuze clients. Test steps of Native Vuze is similar to DECADE-Enabled Vuze.The difference Is that Native Vuze client does not use DECADE server to put and get data. 5. Performance Analysis 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 same as download data traffic. Bandwidth resource is reduced in the last mile in the DECADE-Enabled Vuze experiment. 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 Huang & Chen Expires April 21, 2011 [Page 9] Internet-Draft Integration example of DECADE system October 2010 is illustrated in the following figure. | | | 88% | | +-------+ | | | | 65% | | | | | | +-------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +------+-------+---------+-------+-------- Native Vuze DECADE-Enabled Vuze 6. Security Considerations This draft does not introduce any security considerations. 7. IANA Considerations This document does not have any IANA Considerations. 8. Acknowledgments The authors would like to thank Haibin Song and Ning Zong for comments and contributions to this document, and also thanks Paul Gardner, Yudong Kang, Tao Jiang, Jinglong Liu and Cixiang Lei for programming support. 9. References Huang & Chen Expires April 21, 2011 [Page 10] Internet-Draft Integration example of DECADE system October 2010 9.1. Informative References [draft-ietf-decade-problem-statement-00] Song, H., Zong, N., Yang, Y., and R. Alimi, "DECoupled Application Data Enroute (DECADE) Problem Statement", August 2010. 9.2. References [PlanetLab] "PlanetLab", http://www.Planet-lab.org. 9.3. references [PlanetLab-experiment-manager] Computer Science and Engineering, University of Washington, "PlanetLab experiment manager", http://www.cs.washington.edu/research/networking/cplane/. 9.4. References [Amazon-EC2] Amazon, "Amazon Elastic Compute Cloud", http://aws.amazon.com/ec2/. 9.5. References [Vuze] "Vuze", http://www.vuze.com. Authors' Addresses Z Huang HUAWEI Technologies Email: hpanda@huawei.com X Chen HUAWEI Technologies Email: chen.xiaohui@huawei.com Huang & Chen Expires April 21, 2011 [Page 11]