P2PSIP Working Group L. Li
Internet-Draft J. Wang
Intended status: BCP J. Shen
Expires: September 2, 2010 Y. Meng
ZTE Corporation
March 1, 2010
A P2P CDN based Content Sharing System using PPSP and RELOAD
draft-li-ppsp-p2p-cdn-00
Abstract
This document defines a P2P CDN (Content Delivery Network) based
content sharing system using PPSP (Peer to Peer Streaming Protocol)
and RELOAD (REsource LOcation And Discovery). The P2P CDN provides a
unified platform for service/content providers and content sharing
users to share content efficiently and safely. The shared contents
may include streaming media, files, etc. This content sharing system
uses PPSP as signaling protocol for P2P content distributing, and
uses RELOAD to improve reliability and scalability. More
specifically, RELOAD is used to construct P2P overlays storing of
massive contents and locating contents reliably.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 2, 2010.
Copyright Notice
Li, et al. Expires September 2, 2010 [Page 1]
Internet-Draft Content Sharing System March 2010
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 BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. CDN Provider . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Content/Service Provider . . . . . . . . . . . . . . . . . 6
3.3. Content Sharing Client . . . . . . . . . . . . . . . . . . 6
4. Message Flows . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Publishing/unpublishing Content Location in the
Tracker Overlay . . . . . . . . . . . . . . . . . . . . . 7
4.2. Storing Content in the Storage Overlay . . . . . . . . . . 7
4.3. CSC Downloading Content . . . . . . . . . . . . . . . . . 8
4.4. Pushing Content to Cacher . . . . . . . . . . . . . . . . 9
5. Deployment Options . . . . . . . . . . . . . . . . . . . . . . 11
6. Protocol Detail . . . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
10. Normative References . . . . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17
Li, et al. Expires September 2, 2010 [Page 2]
Internet-Draft Content Sharing System March 2010
1. Introduction
This document defines a P2P CDN (Content Delivery Network) based
content sharing system using PPSP (Peer to Peer Streaming Protocol)
[I-D.zhang-ppsp-problem-statement] and RELOAD (REsource LOcation And
Discovery) [I-D.ietf-p2psip-base]. The content sharing system allows
content/service providers to publish their shared contents such as
streaming media, files, etc. to a peer-to-peer CDN. The P2P CDN
provides the services of tracking and distributing shared content
with RELOAD and PPSP protocols. The overlay tracks the shared
contents' locations and distributes contents to the edge of network.
At the edge of network, CSCs(Content Sharing Client) download
contents from nearby CDN nodes and other CSCs.
Li, et al. Expires September 2, 2010 [Page 3]
Internet-Draft Content Sharing System March 2010
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].
We use the terminology and definitions from "Concepts and Terminology
for Peer to Peer SIP" [I-D.ietf-p2psip-concepts] and "Problem
Statement of P2P Streaming Protocol"
[I-D.zhang-ppsp-problem-statement] extensively in this document.
RELOAD and PPSP both use the term "peer". In this document, the term
"peer" refers to PPSP peer if not specified. Other terms used in
this document are defined below.
CSC (Content Sharing Client): The client that is running in a user
device for downloading shared contents. User devices includes mobile
device, laptop, PC etc. A CSC is a PPSP peer.
Chunk: A chunk is a piece of partitioned content. A large content
can be partitioned into multiple chunks based on size, time, etc. A
small content MAY only have one chunk. Chunk is the unit for
storing, advertising and locating content. A node MAY store only
some chunks of a content, and report only the chunks it has to
tracker. The unit of transferring content SHOULD be chunk or smaller
piece.
Content portal: a content portal is a server that provides CSCs the
list of shared content and some information about each content.
Content source: a content source is a server that publishes shared
content to the content sharing system. A content source is PPSP peer
and MAY also be a RELOAD client.
Storage overlay: a RELOAD overlay storing contents. Storage overlay
provides reliable massive storage service.
Tracker overlay: a RELOAD overlay storing content locations. Each
node in the overlay is a PPSP tracker.
Storer: the server in the storage overlay. A storer is both a RELOAD
peer and PPSP peer.
Cacher: a cacher is a dedicated server that downloads and caches
contents for nearby CSCs. Cacher can optimze network traffic and
reduce the latency of CSC downloading content. Cacher is PPSP peer.
Li, et al. Expires September 2, 2010 [Page 4]
Internet-Draft Content Sharing System March 2010
3. Architecture
Usually, there are three kinds of participators in a P2P CDN based
content sharing system: content/service provider, CDN provider and
user. The content sharing system defined in this document is shown
in Figure 1. In the system, user nodes are CSCs, and the other nodes
are servers provided by content/service provider and CDN provider.
Usually, content/service provider provides two kinds of servers:
content portal and content source, while the CDN provider provides
tracker overlay, storage overlay and cachers. This MAY varies in
different scenarios.
+------------+ +------------+
| Content |__| Content +-----------------------------------------------+
+---------------| Portal | | Source +-----------------------------------+ |
| +------------+ +-----+------+ | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +-----------------------+--------+ +-----------------------+--------+ |
| |Tracker overlay(RELOAD)| | |Storage overlay(RELOAD)| | |
| | +--------+ +---+----+ | | +--------+ +---+----+ | |
| | |Tracker |------|Tracker | | | | Storer |------| Storer | | |
| | +--------+ +--------+ | | +--------+ +--------+ | |
| | | | | | | | | |
| | +--------+ +--------+ | | +--------+ +--------+ | |
| | |Tracker |------|Tracker |---+---------+---| Storer |------| Storer | | |
| | +------+-+ +-----+--+ | | +--+-----+ +--------+ | |
| +----------+--------------+------+ +------+-------------------------+ |
| | | | |
| | | | |
| | +---+----+ +---+----+ |
| | | Cacher |--------------+ Cacher +-----------------------+
| | +--------+ +----+---+
| | |
| | |
| +---+----+ +---+----+
+--------------------+ CSC |------------------------------+ CSC |
+--------+ +--------+
Figure 1: Content Sharing System using PPSP and RELOAD
Li, et al. Expires September 2, 2010 [Page 5]
Internet-Draft Content Sharing System March 2010
3.1. CDN Provider
The CDN provider provides cachers and two RELOAD overlays: tracker
overlay and storage overlay. The tracker overlay acts as distributed
tracker providing the service of storing/fetching the content
location efficiently and safely. The storage overlay acts as storage
cloud providing the services of storing massive content safely and
reliably. Cachers are deployed near CSCs, and cache the hot contents
for CSCs. With PPSP protocol, tracker overlay, storage overlay and
cachers efficiently distribute content from content source to the
edge of network near CSCs.
Content and content location are stored in the unit of chunk. A
large content can be divided into multiple chunks based on size,
time, etc. Take a streaming media named gone_with_the_wind as an
example, we can define a rule of slicing the streaming media by 1
minute of time, and the naming rule can be file name plus 1 minute
plus series number, then the chunks name can be
gone_with_the_wind_1minute_1, gone_with_the_wind_1minute_2, etc.
3.2. Content/Service Provider
Content/service provider is the original owner of the shared content
in the content sharing system. Content/service provider provides
content source and content portal. It is assumed that the digital
right management (DRM) issues are addressed appropriately.
The content portal provides CSCs the list of the shared contents and
information about each content. The information of a shared content
may include content name, content size, the rule for slicing the
shared content, the rule for naming the content chunks, etc.
Alternately, some information may be stored in the tracker overlay.
The content source stores content in storage overlay and/or publishes
content location in tracker overlay. To publish content location in
tracker overlay, the content source acts as PPSP peer. To store
content in the storage overlay, the content source acts as a RELOAD
client.
3.3. Content Sharing Client
Content Sharing Client is the user node downloading and consuming the
shared content. A CSC MAY also uploading other CSCs contents it has
downloaded. CSC can query content portal for the list of shared
contents and some content information. CSC can query content
location from tracker overlay, and report the content it has to
tracker overlay.
Li, et al. Expires September 2, 2010 [Page 6]
Internet-Draft Content Sharing System March 2010
4. Message Flows
4.1. Publishing/unpublishing Content Location in the Tracker Overlay
The tracker overlay provides the function of tracking content
location. Content source, storer, cacher, CSC can report the
contents they have/delete to the tracker overlay with PPSP tracker
protocol.
Content location is stored in the tracker overlay in the unit of
chunk. RELOAD protocol defines three data models: single value,
array and dictionary. [I-D.zong-ppsp-chunk-discovery] proposes to
use dictionary to store chunk location. Using dictionary model,
locations of the same content's chunks share the same Resource-ID,
which reduces the messages of storing/fetching chunk location. This
document follows [I-D.zong-ppsp-chunk-discovery] and adopts the
dictionary model. Each content has a unique Resource-ID, which may
be generated by hashing content, hashing content name or other ways.
Each chunk has a dictionary key, which can be the same as chunk name.
content source/CSC/storer/cacher tracker overlay
| |
| |
| report content availability/unavailability |
|-------------------------------------------->|
| |
| +----------+------------------+
| |Store/delete content location|
| +----------+------------------+
| report answer |
|<--------------------------------------------|
| |
| |
Figure 2: Publishing Content Location
4.2. Storing Content in the Storage Overlay
The storage overlay provides the function of long-term storing
content in RELOAD's P2P algorithms such as DHT algorithms. With this
function, content source can store massive contents in the storage
overlay reliably, which reduces the overhead of maintaining content
sources.
As shown in Figure 3, content source stores content in the storage
overlay with the RELOAD Store method. Content is stored in the unit
Li, et al. Expires September 2, 2010 [Page 7]
Internet-Draft Content Sharing System March 2010
of chunk. The storage overlay stores multiple copies of each chunk.
The storer responsible for storing chunk SHOULD report to the tracker
overlay. Then the tracker overlay stores chunk location.
RELOAD protocol defines three data models: single value, array and
dictionary. This document proposes to use single value model to
store chunk. Single value model distributes a content's chunks over
the RELOAD overlay, which results in better load distribution. Each
chunk has a unique Resource-ID, which may be generated by hashing
chunk name or other ways.
Content Portal Content Source storage overlay tracker overlay
| | | |
| | | |
| | | |
| |Store content chunk req | |
| |----------------------->| |
| | | |
| | | |
| | +----------+---------+ |
| | | store content chunk| |
| | +----------+---------+ |
| | | |
| | |report content availability|
| | |-------------------------->|
| | Store answer | |
| |<-----------------------| +----------+-----------+
| | | |Store chunk location|
| | | +----------+-----------+
|Content Info | | report answer |
|<---------------| |<--------------------------|
| | | |
Figure 3: Storing Content
4.3. CSC Downloading Content
Figure 4 shows an example of a CSC downloading content. The CSC
first gets some content information from content portal. With the
information, the CSC can generate content chunk ID. Some content
information required for generating chunk ID can be stored in the
tracker overlay alternatively. In that case, the CSC SHALL use
RELOAD Fetch method to fetch the content information from the
overlay. Then the CSC queries chunk location from the tracker
overlay with PPSP tracker protocol. After getting the chunk
location, the CSC uses PPSP peer protocol to negotiate with content
Li, et al. Expires September 2, 2010 [Page 8]
Internet-Draft Content Sharing System March 2010
owner(s). Finally it downloads content from content owner(s).
cacher/CSC/storer/content source CSC Content Portal tracker overlay
| | | |
| | | |
| | | |
| |Content Info Req| |
| |--------------->| |
| | | |
| | | |
| |Content Info | |
| |<---------------| |
| | | |
| | | |
| | query peer list of a chunk |
| |-------------------------------->|
| | | |
| | | +-----------+----------+
| | | | Fetch chunk location |
| | | +-----------+----------+
| | Return chunk location |
| |<--------------------------------|
| | | |
| negotiate for transfer | | |
|<---------------------------->| | |
| | | |
| Transfer chunk | | |
|----------------------------->| | |
| | | |
Figure 4: CSC Downloading Content
4.4. Pushing Content to Cacher
Figure 5 shows an example of pushing content to a cacher. First a
tracker instructs the cacher to download specified chunk from a list
of content owners. Then the cacher negotiates with content owners
and downloads chunk.
Li, et al. Expires September 2, 2010 [Page 9]
Internet-Draft Content Sharing System March 2010
tracker overlay cacher content source/storage/cacher
| | |
| | |
|download chunk instruct | |
|----------------------->| |
| | |
| instruct answer | |
|<-----------------------| |
| | |
| | negotiate for transfer |
| |<------------------------->|
| | transfer chunk |
| |<--------------------------|
| | |
| +-----+-----+ |
| |cache chunk| |
| +-----+-----+ |
| | |
| | |
| | |
| | |
Figure 5: Pushing Content
Li, et al. Expires September 2, 2010 [Page 10]
Internet-Draft Content Sharing System March 2010
5. Deployment Options
The content sharing system architecture shown in Figure 1 MAY varies
in different scenarios. In a very large network, the P2P CDN in a
content sharing system MAY extend to multiple layers or multiple
domains having multiple tracker overlays and storage overlays. In a
small network, a CDN node can be both a storer and cacher at the same
time. Also, as shown in Figure 6, one RELOAD overlay MAY performs as
both a tracker overlay and storage overlay.
+------------+ +------------+
| Content |__| Content +-----------------------------------------------+
+---------------| Portal | | Source +-----------------------------------+ |
| +------------+ +-----+------+ | |
| | | |
| | | |
| | | |
| +-----------------------+------------------------------------------+--------+ |
| | | Tracker/Storage overlay(RELOAD) | | |
| | +-----------------------+ +-----------------------+ | |
| | | Tracker/Storer |-----------------| Tracker/Storer | | |
| | +-----------------------+ +-----------------------+ | |
| | | | | | | |
| | +-----------------------+ +-----------------------+ | |
| | | Tracker/Storer |-----------------| Tracker/Storer | | |
| | +-----------------------+ +-----------------------+ | |
| +----------+--------------+-----------------------+-------------------------+ |
| | | | |
| | | | |
| | +---+----+ +---+----+ |
| | | Cacher |--------------+ Cacher +-----------------------+
| | +--------+ +----+---+
| | |
| | |
| +---+----+ +---+----+
+--------------------+ CSC |------------------------------+ CSC |
+--------+ +--------+
Figure 6: One RELOAD Overlay Architecture
Li, et al. Expires September 2, 2010 [Page 11]
Internet-Draft Content Sharing System March 2010
6. Protocol Detail
This section describes the protocol detail of the content sharing
system including content slicing rules, chunk naming rules, RELOAD
data model, etc.
Todo: Need detail analysis.
Li, et al. Expires September 2, 2010 [Page 12]
Internet-Draft Content Sharing System March 2010
7. Security Considerations
Todo: The content of this section need further input.
Li, et al. Expires September 2, 2010 [Page 13]
Internet-Draft Content Sharing System March 2010
8. IANA Considerations
Some new data Kind-ID may be needed to be defined in RELOAD protocol
for storing chunk and chunk location.
Todo: Need complete this section further.
Li, et al. Expires September 2, 2010 [Page 14]
Internet-Draft Content Sharing System March 2010
9. Acknowledgments
This draft is based on the works of PPSP and P2PSIP workgroup. The
authors would like to thank the people of these two workgroups for
what we learned from the drafts and maillists.
Li, et al. Expires September 2, 2010 [Page 15]
Internet-Draft Content Sharing System March 2010
10. Normative References
[I-D.ietf-p2psip-base]
Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and
H. Schulzrinne, "REsource LOcation And Discovery
(RELOAD)Base Protocol", draft-ietf-p2psip-base-06 (work in
progress), November 2009.
[I-D.ietf-p2psip-concepts]
Bryan, D., Matthews, P., Shim, E., Willis, D., and S.
Dawkins, "Concepts and Terminology for Peer to Peer SIP",
draft-ietf-p2psip-concepts-02 (work in progress),
July 2008.
[I-D.zhang-ppsp-problem-statement]
Zhang, Y., Zong, N., Camarillo, G., Seng, J., and R. Yang,
"Concepts and Terminology for Peer to Peer SIP",
draft-zhang-ppsp-problem-statement-05 (work in progress),
October 2009.
[I-D.zong-ppsp-chunk-discovery]
Zong, N., "Chunk Discovery for P2P Streaming",
draft-zong-ppsp-chunk-discovery-00 (work in progress),
June 2009.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Li, et al. Expires September 2, 2010 [Page 16]
Internet-Draft Content Sharing System March 2010
Authors' Addresses
Lichun Li
ZTE Corporation
4F,RD Building 2,Zijinghua Road No.68
Yuhuatai District,Nanjing 210012
P.R.China
Phone: +86-025-5287-7648
Email: li.lichun1@zte.com.cn
Jun Wang
ZTE Corporation
4F,RD Building 2,Zijinghua Road No.68
Yuhuatai District,Nanjing 210012
P.R.China
Phone: +86-025-5287-7648
Email: wang.jun17@zte.com.cn
Jiong Shen
ZTE Corporation
4F,RD Building 2,Zijinghua Road No.68
Yuhuatai District,Nanjing 210012
P.R.China
Phone: +86-025-5287-7648
Email: shen.jiong@zte.com.cn
Yu Meng
ZTE Corporation
C1-04,RD Building 1,Zijinghua Road No.68
Yuhuatai District,Nanjing 210012
P.R.China
Phone: +86-025-5287-2045
Email: meng.yu@zte.com.cn
Li, et al. Expires September 2, 2010 [Page 17]