draft-ietf-decade-problem-statement-03.txt   draft-ietf-decade-problem-statement-04.txt 
DECADE H. Song DECADE H. Song
Internet-Draft N. Zong Internet-Draft N. Zong
Intended status: Informational Huawei Intended status: Informational Huawei
Expires: September 15, 2011 Y. Yang Expires: April 14, 2012 Y. Yang
Yale University Yale University
R. Alimi R. Alimi
Google Google
March 14, 2011 October 12, 2011
DECoupled Application Data Enroute (DECADE) Problem Statement DECoupled Application Data Enroute (DECADE) Problem Statement
draft-ietf-decade-problem-statement-03 draft-ietf-decade-problem-statement-04
Abstract Abstract
Peer-to-peer (P2P) applications have become widely used on the Peer-to-peer (P2P) applications have become widely used on the
Internet today and make up a large portion of the traffic in many Internet today and make up a large portion of the traffic in many
networks. In P2P applications, one technique for reducing the networks. In P2P applications, one technique for reducing the
transit and uplink P2P traffic is to introduce storage capabilities transit and uplink P2P traffic is to introduce storage capabilities
within the network (the download traffic may increase because the in- within the network (the download traffic may increase because the in-
network storage is likely much better connected). Traditional P2P network storage is likely much better connected). Traditional caches
and Web caches provide such storage, but they are complex (due to (e.g., P2P and Web caches) provide such storage, but they are complex
explicitly supporting individual P2P application protocols and cache (due to explicitly supporting individual P2P application protocols
refreshing mechanisms) and they do not allow users to manage access and cache refreshing mechanisms) and they do not have the feature to
to content in the cache. For example, content providers cannot allow users to manage access to content in the cache. For example,
easily control cache access and resource usage policies to satisfy Content Providers cannot easily control cache access and resource
their own requirements, in the case when the content provider is also usage policies to satisfy their own requirements. In this document,
the user of in-network storage. This document discusses the a content provider is also the user of in-network storage. This
introduction of in-network storage for P2P applications, shows the document discusses the introduction of in-network storage for P2P
need for a standard protocol for accessing this storage, and applications, and shows the need for a standard protocol for
identifies the scope of this protocol. The access protocol can also accessing this storage. It can also be used by other applications
be used by other applications with similar requirements. with similar requirements.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This Internet-Draft will expire on April 14, 2012.
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 15, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology and Concepts . . . . . . . . . . . . . . . . . . . 5 2. Terminology and Concepts . . . . . . . . . . . . . . . . . . . 5
3. The Problems . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. The Problems . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. P2P infrastructural stress and inefficiency . . . . . . . 6 3.1. P2P infrastructural stress and inefficiency . . . . . . . 6
3.2. P2P cache: a complex in-network storage . . . . . . . . . 7 3.2. P2P cache: a complex in-network storage . . . . . . . . . 6
3.3. Ineffective integration of P2P applications . . . . . . . 7 3.3. Ineffective integration of P2P applications . . . . . . . 7
4. DECADE as an In-network Storage Capability . . . . . . . . . . 8 4. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Data access . . . . . . . . . . . . . . . . . . . . . . . 9 5. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Authorization . . . . . . . . . . . . . . . . . . . . . . 10 5.1. BitTorrent . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3. Resource control . . . . . . . . . . . . . . . . . . . . . 10 5.2. Content Publisher . . . . . . . . . . . . . . . . . . . . 9
5. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 10 5.3. CDN/P2P hybrid . . . . . . . . . . . . . . . . . . . . . . 10
5.1. BitTorrent . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
5.2. Content Publisher . . . . . . . . . . . . . . . . . . . . 12 6.1. Denial of Service Attacks . . . . . . . . . . . . . . . . 11
5.3. CDN/P2P hybrid . . . . . . . . . . . . . . . . . . . . . . 12 6.2. Copyright and Legal Issues . . . . . . . . . . . . . . . . 11
5.4. Data Transfer Scenarios . . . . . . . . . . . . . . . . . 13 6.3. Privacy issue . . . . . . . . . . . . . . . . . . . . . . 11
5.4.1. Both Sender and Receiver Accounts are Used . . . . . . 13 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
5.4.2. Only Sender's Storage Account is Used . . . . . . . . 14 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11
5.4.3. Only Receiver's Storage Account is Used . . . . . . . 14 9. Informative References . . . . . . . . . . . . . . . . . . . . 12
5.4.4. No Storage Accounts are Used . . . . . . . . . . . . . 15 Appendix A. Other Related Work in IETF . . . . . . . . . . . . . 13
6. Security Considerations . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14
6.1. Denial of Service Attacks . . . . . . . . . . . . . . . . 15
6.2. Copyright and Legal Issues . . . . . . . . . . . . . . . . 15
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16
9. Informative References . . . . . . . . . . . . . . . . . . . . 16
Appendix A. Other Related Work in IETF . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
P2P applications, including both P2P streaming and P2P filesharing P2P applications, including both P2P streaming and P2P filesharing
applications, make up a large fraction of the traffic in many ISP applications, make up a large fraction of the traffic in many ISP
networks today. One way to reduce bandwidth usage by P2P networks today. One way to reduce bandwidth usage by P2P
applications is to introduce storage capabilities in the networks. applications is to introduce storage capabilities in the networks.
Allowing P2P applications to store and retrieve data from inside Allowing P2P applications to store and retrieve data from inside
networks can reduce traffic on the last-mile uplink, as well as networks can reduce traffic on the last-mile uplink, as well as
backbone and transit links [I-D.weaver-alto-edge-caches]. backbone and transit links.
P2P caches provide in-network storage and have been deployed in some P2P caches provide in-network storage and have been deployed in some
networks. But the current P2P caching architecture poses challenges networks. But the current P2P caching architecture poses challenges
to both P2P cache vendors and P2P application developers. For P2P to both P2P cache vendors and P2P application developers. For P2P
cache vendors, it is challenging to support a number of continuously cache vendors, it is challenging to support a number of continuously
evolving P2P application protocols, due to lack of documentation, evolving P2P application protocols, due to lack of documentation,
ongoing protocol changes, and rapid introduction of new features by ongoing protocol changes, and rapid introduction of new features by
P2P applications. For P2P applications, closed P2P caching systems P2P applications. For P2P applications, closed P2P caching systems
limit P2P applications to effectively utilize in-network storage. In limit P2P applications from effectively utilizing in-network storage.
particular, P2P caches typically do not allow users to explicitly In particular, P2P caches typically do not allow users to explicitly
store content into in-network storage. They do not allow users to store content into in-network storage. They do not allow users to
implement control over the content that has been placed into the in- implement control over the content that has been placed into the in-
network storage either. network storage either.
Both of these challenges can be effectively addressed by using open, Both of these challenges can be effectively addressed by using an
standard protocols to access in-network storage. P2P applications open, standard protocol to access in-network storage. P2P
can store and retrieve content in the in-network storage, as well as applications can store and retrieve content in the in-network
control resources (e.g., network access, connections) consumed by storage, as well as control resources (e.g., bandwidth, connections)
peers in a P2P application. As a simple example, a peer of a P2P consumed by peers in a P2P application. As a simple example, a peer
application may upload to other peers through its in-network storage, of a P2P application may upload to other peers through its in-network
saving its usage of last-mile uplink bandwidth. storage, saving its usage of last-mile uplink bandwidth.
This document uses DECADE to refer to the protocol(s) developed or
employed by the DECADE Working Group to provide these capabilities.
In this document, we distinguish between two functional components of In this document, we distinguish between two functional components of
the native P2P application protocol: signaling and data access. the native P2P application protocol: signaling and data access.
Signaling includes operations such as handshaking and discovering Signaling includes operations such as handshaking and discovering
peer and content availability. The data access component transfers peer and content availability. The data access component transfers
content from one peer to another. content from one peer to another.
This document introduces DECADE, a standard interface for various P2P
applications to access storage and data transport services in the
network to improve their efficiency and reduce load on the network
infrastructure.
With DECADE, P2P applications can still use their native protocols With DECADE, P2P applications can still use their native protocols
for signaling and data transport. However, they may use a standard for signaling and data transport. However, they may use a standard
protocol for data access incorporating in-network storage, and fall protocol for data access incorporating in-network storage, and fall
back to their native data transport protocols if in-network storage back to their native data transport protocols if in-network storage
is not available or not used. is not available or not used.
In essence, an open, standard protocol to access in-network storage In essence, an open, standard protocol to access in-network storage
provides an alternative mechanism for P2P application data access provides an alternative mechanism for P2P application data access
that is decoupled from P2P application control and signaling. This that is decoupled from P2P application control and signaling. This
decoupling leads to many advantages, which is explained further in decoupling leads to many advantages, which is explained further in
skipping to change at page 5, line 18 skipping to change at page 5, line 21
And further, either the existing P2P cache or any new type of in- And further, either the existing P2P cache or any new type of in-
network storage should be deployed near the edge of the ISP's network network storage should be deployed near the edge of the ISP's network
so as to gain better performance. so as to gain better performance.
2. Terminology and Concepts 2. Terminology and Concepts
The following terms have special meaning in the definition of the in- The following terms have special meaning in the definition of the in-
network storage system. network storage system.
In-network Storage: A service inside a network that provides In-network Storage: A service inside a network that provides
storage and network access to read/write data to applications. storage and bandwidth to network applications. In-network storage
In-network storage may reduce upload/transit/backbone traffic and may reduce upload/transit/backbone traffic and improve network
improve network application performance. application performance.
IAP (In-network storage Access Protocol): a standard protocol that
is spoken between P2P applications and in-network storage. The
protocol may also be used between entities implementing the in-
network storage service. IAP may be a new protocol or existing
protocol with extensions.
P2P Cache (Peer to Peer Cache): a kind of in-network storage that P2P Cache (Peer to Peer Cache): a kind of in-network storage that
understands the signaling and transport of specific P2P understands the signaling and transport of specific P2P
application protocols. It caches the content for those specific application protocols, it caches the content for those specific
p2p applications in order to serve peers and reduce traffic on P2P applications in order to serve peers and reduce traffic on
certain links. certain links.
Content Publisher: An entity that originates content. Content Publisher: An entity that originates content.
3. The Problems 3. The Problems
The emergence of peer-to-peer (P2P) as a major type of network The emergence of peer-to-peer (P2P) as a major network application
application (esp. P2P file sharing and streaming apps) has led to (esp. P2P file sharing and streaming apps) has led to substantial
substantial opportunities. The P2P paradigm can be utilized in opportunities. The P2P paradigm can be utilized in designing highly
designing highly scalable and robust applications at low cost, scalable and robust applications at low cost, compared with
compared with traditional client-server paradigms. For example, CNN traditional client-server paradigms. For example, CNN reported that
reported that P2P streaming by Octoshape played a major role in its P2P streaming by Octoshape played a major role in its distribution of
distribution of the historical inauguration address of President the historic inauguration address of President Obama[Octoshape].
Obama[Octoshape]. PPLive, one of the largest P2P streaming vendors, PPLive, one of the largest P2P streaming vendors, is able to
is able to distribute large-scale, live streaming programs to more distribute large-scale, live streaming programs to more than 2
than 2 million users with only a handful of servers[PPLive]. million users with only a handful of servers[PPLive].
However, P2P applications also face substantial design challenges. A However, P2P applications also face substantial design challenges. A
particular problem facing P2P applications is the substantial stress particular problem facing P2P applications is the substantial stress
that they place on the network infrastructure. Also, lack of that they place on the network infrastructure. Also, lack of
infrastructure support can lead to unstable P2P application infrastructure support can lead to unstable P2P application
performance during peer churns and flash crowds. During a flash performance during peer churns and flash crowd. Here flash crowds
crowd, a large group of application users begin to access the same means a large group of application users begin to access the same
service during a very short period of time, which is a challenge to service during a very short period of time, which is a challenge to
the system. Below we elaborate on the problems in more detail. the system. Below we elaborate on the problems in more detail.
3.1. P2P infrastructural stress and inefficiency 3.1. P2P infrastructural stress and inefficiency
A particular problem of the P2P paradigm is the stress that P2P A particular problem of the P2P paradigm is the stress that P2P
application traffic places on the infrastructure of Internet service application traffic places on the infrastructure of Internet service
providers (ISP). Multiple measurements (e.g., [ipoque.com]) have providers (ISPs). Multiple measurements (e.g., [ipoque]) have shown
shown that P2P traffic has become a major type of traffic on some that P2P traffic has become a major type of traffic on some networks.
networks. Furthermore, network-agnostic peering (P2P transmission Furthermore, network-agnostic peering (P2P transmission level) leads
level) leads to unnecessary traversal across network domains or to unnecessary traversal across network domains or spanning the
spanning the backbone of a network, leading to network inefficiency backbone of a network, leading to network inefficiency [RFC5693].
[RFC5693].
Recently, the IETF Application Layer Traffic Optimization (ALTO) An ALTO (Application Layer Traffic Optimization) server provides P2P
Working Group was formed to provide P2P applications with network applications with network information so that they can perform
information so that they can perform better-than-random initial peer better-than-random initial peer selection [RFC5693]. However, there
selection [RFC5693]. However, there are limitations on what ALTO can are limitations on what ALTO can achieve alone. For example, network
achieve alone. For example, network information alone cannot reduce information alone cannot reduce P2P traffic in access networks, as
P2P traffic in access networks, as the total access upload traffic is the total access upload traffic is equal to the total access download
equal to the total access download traffic in a pure P2P system. On traffic in a pure P2P system. On the other hand, it is reported that
the other hand, it is reported that P2P traffic is becoming the P2P traffic is becoming the dominant traffic on the access networks
dominating traffic on the access networks of some networks, reaching of some networks, reaching as high as 50-60% at the down-links and
as high as 50-60% at the down-links and 60-90% at the uplinks 60-90% at the uplinks ([DCIA], [ICNP], [ipoque.P2P_survey.],
([DCIA], [ICNP], [ipoque.P2P_survey.], [P2P_file_sharing]). [P2P_file_sharing]). Consequently, it becomes increasingly important
Consequently, it becomes increasingly important to complement the to complement the ALTO effort and reduce upload access traffic, in
ALTO effort and reduce upload access traffic, in addition to cross- addition to cross-domain and backbone traffic.
domain and backbone traffic.
The IETF Low Extra Delay Background Transport (LEDBAT) Working Group The IETF Low Extra Delay Background Transport (LEDBAT) Working Group
is focusing on techniques that allow large amounts of data to be is focusing on techniques that allow large amounts of data to be
consistently transmitted without substantially affecting the delays consistently transmitted without substantially affecting the delays
experienced by other users and applications. It is expected that experienced by other users and applications. It is expected that
some P2P applications would start using such techniques, thereby some P2P applications would start using such techniques, thereby
somewhat alleviating the perceivable impact (at least on other somewhat alleviating the perceivable impact (at least on other
applications) of their high volume traffic. However, such techniques applications) of their high volume traffic. However, such techniques
may not be adopted by all P2P applications. Also, when adopted, may not be adopted by all P2P applications. Also, when adopted,
these techniques do not remove all inefficiencies, such as those these techniques do not remove all inefficiencies, such as those
associated with traffic being sent upstream as many times as there associated with traffic being sent upstream as many times as there
are remote peers interested in getting the corresponding information. are remote peers interested in getting the corresponding information.
For example, the P2P application transfer completion times remain For example, the P2P application transfer completion times remain
affected by potential (relatively) slow upstream transmission. affected by potentially (relatively) slow upstream transmission.
Similarly, the performance of real-time P2P applications may be Similarly, the performance of real-time P2P applications may be
affected by potential (relatively) higher upstream latencies. affected by potentially (relatively) higher upstream latencies.
3.2. P2P cache: a complex in-network storage 3.2. P2P cache: a complex in-network storage
An effective technique to reduce P2P infrastructural stress and An effective technique to reduce P2P infrastructural stress and
inefficiency is to introduce in-network storage. For example, in inefficiency is to introduce in-network storage.
[I-D.weaver-alto-edge-caches], the author demonstrates clearly the
potential benefits of introducing in-network storage to improve
network efficiency and thus reduce network infrastructure stress.
In the current Internet, in-network storage is introduced as P2P In the current Internet, in-network storage is introduced as P2P
caches, either transparently or explicitly as a P2P peer. To provide caches, either transparently or explicitly as a P2P peer. To provide
service to a specific P2P application, the P2P cache server must service to a specific P2P application, the P2P cache server must
support the specific signaling and transport protocols of the support the specific signaling and transport protocols of the
specific P2P application. This can lead to substantial complexity specific P2P application. This can lead to substantial complexity
for the P2P cache vendor. for the P2P Cache vendor.
First, there are many P2P applications on the Internet (e.g., First, there are many P2P applications on the Internet (e.g.,
BitTorrent, eMule, Flashget, and Thunder for file sharing; Abacast, BitTorrent, eMule, Flashget, and Thunder for file sharing; Abacast,
Kontiki, Octoshape, PPLive, PPStream, and UUSee for P2P streaming). Kontiki, Octoshape, PPLive, PPStream, and UUSee for P2P streaming).
Consequently, a P2P cache vendor faces the challenge of supporting a Consequently, a P2P cache vendor faces the challenge of supporting a
large number of P2P application protocols, leading to product large number of P2P application protocols, leading to product
complexity and increased development cost. complexity and increased development cost.
Furthermore, a specific P2P application protocol may be evolving Furthermore, a specific P2P application protocol may be evolving
continuously, to add new features or fix bugs. This forces a P2P continuously, to add new features or fix bugs. This forces a P2P
skipping to change at page 8, line 8 skipping to change at page 7, line 47
maintain a stable system. maintain a stable system.
A requirement by some P2P applications in using in-network A requirement by some P2P applications in using in-network
infrastructural resources, however, is flexibility in implementing infrastructural resources, however, is flexibility in implementing
resource allocation policies. A major competitive advantage of many resource allocation policies. A major competitive advantage of many
successful P2P systems is their substantial expertise in how to most successful P2P systems is their substantial expertise in how to most
efficiently utilize peer and infrastructural resources. For example, efficiently utilize peer and infrastructural resources. For example,
many live P2P systems have specific algorithms to select those peers many live P2P systems have specific algorithms to select those peers
that behave as stable, higher bandwidth sources. They continue to that behave as stable, higher bandwidth sources. They continue to
fine-tune such algorithms. In other words, in-network storage should fine-tune such algorithms. In other words, in-network storage should
export basic mechanisms and allow as much flexibility as possible to expose basic mechanisms and allow as much flexibility as possible to
P2P applications to implement specific policies. This conforms to P2P applications to implement specific policies. This conforms to
the end-to-end systems principle and allows innovation and the end-to-end systems principle and allows innovation and
satisfaction of specific business goals. Existing techniques for P2P satisfaction of specific business goals. Existing techniques for P2P
application in-network storage lack these capabilities. application in-network storage lack these capabilities.
4. DECADE as an In-network Storage Capability 4. Motivation
The objective of this working group is to design DECADE, which
primarily consists of an in-network storage access protocol (IAP) to
address the problems discussed in the preceding section.
DECADE will provide access to storage and data transport services in DECADE aims to provide access to storage and data transport services
the network to P2P applications to improve their efficiency and in the network to P2P applications to improve their efficiency and
reduce the stress on the network infrastructure. Unlike the existing reduce the stress on the network infrastructure. Unlike the existing
P2P caching architecture, DECADE is a standard interface for various P2P caching architecture, DECADE aims to provide a standard interface
P2P applications (both content publishers and end users) to access for various P2P applications (both content publishers and end users)
in-network storage. This decoupling of P2P data access from P2P to access in-network storage. This decoupling of P2P data access
application control and signaling reduces the complexity of in- from P2P application control and signaling reduces the complexity of
network storage services. Furthermore, DECADE provides basic access in-network storage services. Furthermore, DECADE is aimed to provide
mechanisms and allows P2P applications to implement flexible policies basic access mechanisms and allows P2P applications to implement
to create an ecosystem for application innovation and various flexible policies to create an ecosystem for application innovation
business goals. Besides that, it also improves the availability of and various business goals. Besides that, it also improves the
P2P contents because the in-network storage is always-on. availability of P2P contents because the in-network storage is
always-on.
IAP
-----------+ -----------+
| | | DECADE |
| v | v
+--------------------+ +--------------------+
| In-network Storage | | In-network Storage |
+--------------------+ +--------------------+
^ ^ DECADE ^ DECADE ^
IAP | IAP | | |
+-------------v-+ +-v-------------+ +-------------v-+ +-v-------------+
| P2P | | Content | | P2P | | Content |
| application | | publishers | | application | | publishers |
| clients | +---------------+ | clients | +---------------+
+---------------+ +---------------+
| ^ | ^
| | | |
+-------------+ +-------------+
P2P application P2P application
native protocol native protocol
Figure 1 Overview of protocol interaction between DECADE elements Figure 1 Overview
Specifically, the main component of DECADE is the in-network storage
access protocol (IAP), which is a standard, P2P-application-agnostic
protocol for different P2P applications to access in-network storage.
IAP defines a set of commands that P2P application elements can issue
to in-network storage to store and retrieve data. IAP includes the
following functionality:
(1) Data access provides read/write by users (e.g., P2P application
clients and content publishers) to the corresponding in-network
storage and between entities implementing the in-network storage;
(2) Authorization implements access control to resources provided by
in-network storage;
(3) Resource control allows users to implement application policies
for the corresponding in-network storage.
While DECADE will focus on P2P applications, the solution is expected
to be applicable in other contexts with similar requirements.
4.1. Data access
P2P application clients use the IAP protocol to read data from an in-
network storage, store data to an in-network storage, or remove data
from an in-network storage. The data could be of various types.
Existing protocols will be used wherever possible and appropriate to
support DECADE's requirements. In particular, data storage,
retrieval, and management may be provided by existing IETF protocols.
The WG will not limit itself to a single data transport protocol
since different protocols may have varying implementation costs and
performance tradeoffs. However, to keep interoperability manageable,
a small number of specific, targeted, data transport protocols will
be identified and used. If a protocol is found to be suitable but
does not fully meet the requirements, then the protocol may need to
be extended. The following considerations should be taken into
account, although there might be trade-offs among these
considerations.
o The protocol(s) should support deployments with a very large
number of users without substantial increase to operational
complexity for the storage provider.
o The protocol(s) should be easy for application integration,
whether they want to use it for P2P applications (e.g. file-
sharing or streaming) or for other content distribution
applications.
4.2. Authorization
DECADE ensures that access to a user's in-network storage is subject
to authorization by that user. The authorization can take into
account the user trying to access, the content, the time period, etc.
4.3. Resource control
A user uses the IAP protocol to manage the resources on in-network
storage that can be used by other peers, e.g., network access to the
storage or network connections themselves. The resource control
policies could be based on individual remote peers or a whole
application.
5. Usage Scenarios 5. Usage Scenarios
Usage scenarios are described from two perspectives. First, we Usage scenarios are presented to illustrate how DECADE in-network
introduce high-level use cases showing how P2P applications may storage may be used in both CDN and P2P scenarios. Interactions with
utilize in-network storage. Second, we show how in more detail how in-network storage are described at an abstract level so as not to
users exchange data using IAP. constrain future protocol development.
5.1. BitTorrent 5.1. BitTorrent
BitTorrent may be integrated with DECADE to be more network efficient BitTorrent may be integrated with DECADE to be more network efficient
and reduce the bandwidth consumed on ISP networks. When a BitTorrent and reduce the bandwidth consumed on ISP networks. When a BitTorrent
client uploads a block to peers, the block traverses the last-mile client uploads a block to peers, the block traverses the last-mile
uplink once for each peer. With DECADE, however, the BitTorrent uplink once for each peer. With DECADE, however, the BitTorrent
client may upload the block to its in-network storage. Peers may client may upload the block to its in-network storage. Peers may
retrieve the block from the in-network storage, reducing the amount retrieve the block from the in-network storage, reducing the amount
of data on the last-mile uplink. of data on the last-mile uplink.
We now describe in more detail how BitTorrent can utilize DECADE. We now describe in more detail how BitTorrent can utilize DECADE.
For illustration, we assume that both the BitTorrent client (A) and For illustration, we assume that both the BitTorrent client (A) and
its peer (B) utilize in-network storage. When A requests a block, it its peer (B) utilize in-network storage. When A requests a block,
indicates that it would like the block stored in its in-network peer B replies with a 'redirect' message indicating that the content
storage and provides the necessary access control. Instead of should be retrieved from in-network storage. If the peer B had not
sending the 'piece' message with the desired block, peer B replies previously stored the content in in-network storage, it uploads the
with a 'redirect' message indicating that the content should be block before A retrieves it. If there is support, A may first copy
retrieved from its own in-network storage and provides the necessary the block to in-network storage that is nearer to it before
access control. If the peer B had not previously stored the content retrieving it.
in its in-network storage, it uploads the block. A instructs its in-
network storage to download the block from B's in-network storage,
and finally A itself retrieves the block.
Note that this requires extensions to the BitTorrent protocol. While Note that this requires extensions to the BitTorrent protocol. While
there are multiple ways to do so, this example assumes the native there are multiple ways to do so, this example assumes the native
BitTorrent 'request' message is extended to carry additional BitTorrent 'request' message is extended to carry additional
information and that a new 'redirect' message is added. Upload and information and that a new 'redirect' message is added. Upload and
download to/from in-network storage uses the standard IAP protocol. download to/from in-network storage uses a standard protocol.
This example has illustrated how utilizing DECADE can increase This example has illustrated how utilizing DECADE can increase
BitTorrent's network efficiency. First, notice that peer B does not BitTorrent's network efficiency. First, notice that peer B does not
utilize any uplink bandwidth if the block was already present in its utilize any uplink bandwidth if the block was already present in its
in-network storage. Second, notice that the block is downloaded in-network storage. Second, notice that the block may be copied to
directly into A's in-network storage. When A wishes to share the in-network storage nearer to A. When A wishes to share the block with
block with another peer (say, peer C) that supports DECADE, it may another peer (say, peer C) that supports DECADE, it may upload
upload directly from its in-network storage, again avoiding usage of directly from its in-network storage, again avoiding usage of the
the last-mile uplink. last-mile uplink.
Redirection to a DECADE server does not only need to come from a
peer. In this case, in order to avoid the connectivity issue brought
by NATs, B can also attach its in-network storage address in the
message to its tracker. When A sends the content request message
with the content ID to the tracker, the tracker replies with B's in-
network storage address and the BitMap info. Then A sends a request
using IAP protocol to B's in-network storage for the pieces of this
content, with the unique identity of the content in the storage.
This technique can be applied to other P2P applications as well. This technique can be applied to other P2P applications as well.
Since P2P applications use a standard for communicating with in- Since P2P applications use a standard for communicating with in-
network storage, they no longer require in-network storage to network storage, they no longer require in-network storage to
explicitly support their protocol. P2P applications retain the explicitly support their protocol. P2P applications retain the
ability to explicitly manage which content is placed in in-network ability to explicitly manage which content is placed in in-network
storage, as well as access and resource control polices. storage, as well as access and resource control polices.
5.2. Content Publisher 5.2. Content Publisher
Content publishers may also utilize in-network storage. For example, Content Publishers may also utilize in-network storage. For example,
consider a P2P live streaming application. A content publisher consider a P2P live streaming application. A Content Publisher
typically maintains a small number of sources, each of which typically maintains a small number of sources, each of which
distributes blocks in the current play buffer to a set of the P2P distributes blocks in the current play buffer to a set of the P2P
peers. peers.
Consider a case where the content publisher owns an in-network Consider a case where the Content Publisher owns an in-network
storage account within ISP A. If there are multiple P2P peers within storage account within ISP A. If there are multiple P2P peers within
ISP A, the content publisher may utilize DECADE to distribute content ISP A, the Content Publisher may utilize DECADE to distribute content
to the peers. to the peers.
First, the content publisher stores a block in the in-network First, the Content Publisher stores a block in the in-network
storage, and then sends to each peer in ISP A the block's identifier storage, configures necessary access control, and notifies peers in
and necessary access control. Second, each peer may then download ISP A. Second, each peer may then download from the Content
from the content publisher's in-network storage. Publisher's in-network storage.
In this example, the block is distributed in a more network efficient In this example, the block is distributed in a more network efficient
way (the content only traverses the ISP's interdomain link once), way (the content only traverses the ISP's interdomain link once),
while the content publisher retains explicit control over access to while the Content Publisher retains explicit control over access to
the content placed in its own storage. The content publisher can the content placed in its own storage. The Content Publisher can
remove content from its in-network storage when it is stale or needs remove content from its in-network storage when it is stale or needs
to be replaced, and grant access and resources to only the desired to be replaced, and grant access and resources to only the desired
peers. peers.
Note that content publishers and individual peers can each use in- Note that Content Publishers and individual peers can each use in-
network storage. For example, after downloading content from the network storage. For example, after downloading content from the
content publisher's in-network storage, peers may each utilize their Content Publisher's in-network storage, peers may each utilize their
own in-networks storage similar to the usage scenario in Section 5.1. own in-networks storage similar to the usage scenario in Section 5.1.
This can have the benefit of increased network efficiency, while This can have the benefit of increased network efficiency, while
content publishers and peers still retain control over content placed Content Publishers and peers still retain control over content placed
in their own in-network storage. in their own in-network storage.
If it desires, a content publisher may still apply DRM to the If it desires, a content publisher may still apply DRM to the
payload. This is independent of any authentication or authorization payload. This is independent of any authentication or authorization
provided by DECADE. provided by DECADE.
5.3. CDN/P2P hybrid 5.3. CDN/P2P hybrid
Some applications use a hybrid content distribution approach Some applications use a hybrid content distribution approach
incorporating both P2P and CDN modes. As an example, Internet TV may incorporating both P2P and CDN modes. As an example, Internet TV may
be implemented as a hybrid CDN/P2P application by distributing be implemented as a hybrid CDN/P2P application by distributing
content from central servers via a CDN, and also incorporating a P2P content from central servers via a CDN, and also incorporating a P2P
mode amongst endhosts and set-top boxes. mode amongst endhosts and set-top boxes.
DECADE may be beneficial to hybrid CDN/P2P applications as well. DECADE may be beneficial to hybrid CDN/P2P applications as well.
However, if only the endhost can store content in the DECADE server, However, if only the endhost can store content in the DECADE server,
the content must be downloaded and then uploaded over the last-mile the content must be downloaded and then uploaded over the last-mile
access link before another peer may retrieve it from a DECADE server. access link before another peer may retrieve it from a DECADE server.
Thus, in this deployment scenario, it may be advantageous for a Thus, in this deployment scenario, it may be advantageous for a
content publisher or CDN provider to store content on DECADE servers. Content Publisher or CDN provider to store content to DECADE servers.
5.4. Data Transfer Scenarios
The previous usage scenarios have utilized the ability for peers to
transfer data by storing and retrieving from in-network storage.
This section describes in further detail an example solution of how
DECADE can provide this capability. It is important to note that
this example is provided to illustrate more concretely the
capabilities provided by DECADE, and is not intended to reflect any
particular solution methodology or protocol(s) developed by the
DECADE Working Group.
In this section, we consider the case of a user B (the receiver)
requesting data from user A (the sender). We use Sa to denote User
A's storage account, and Sb to denote User B's storage account. Each
user independently decides if its in-network storage account is used,
so there are four cases.
When a user indicates that it wishes to use its in-network storage,
it provides an access control token the other user. The token is
sent using the application's protocol. To simplify the illustration,
we omit details of the access control from the detailed scenarios
below.
5.4.1. Both Sender and Receiver Accounts are Used
This scenario is illustrated in Figure 2. B first requests an object
from A using the application protocol indicating it wishes the object
to be stored in Sb. A responds using the application protocol
indicating that B should download the object from Sa. B sends a IAP
request to Sb indicating that the object should be downloaded from
Sa. Sb uses IAP to download from Sa, and finally, B downloads the
object from Sb (also using IAP).
+-------+ 4. IAP Get +-------+
| Sa | <----------+ Sb |
+-------+ *********>+-------+
5. data transfer ^ *
3. IAP Get \ * 6. data transfer
1. App request \ v
+-------+<-------------------+-------+
|User A | |User B |
+-------+------------------->+-------+
2. App response
Figure 2: Usage Scenario 1 (Sender and receiver Accounts used)
5.4.2. Only Sender's Storage Account is Used
This scenario is illustrated in Figure 3. B requests an object from
A using the application protocol. A responds using the application
protocol indicating that B should download the object from Sa.
Finally, B sends a IAP request to Sa to download the object.
+-------+
| Sa |
+-------+ < *
\ *
\ *
\ * 4. data transfer
3. IAP Get \ *
\ *
1. App request \ v
+-------+<-------------------+-------+
|User A | |User B |
+-------+------------------->+-------+
2. App response
Figure 3: Usage Scenario 2 (Sender account used)
5.4.3. Only Receiver's Storage Account is Used
This scenario is illustrated in Figure 4. B requests an object from
A using the application protocol indicating that it wishes the object
to be stored in Sb. A stores the object in Sb (using IAP), and
responds to B (using the application protocol) that it should
download from Sb. B uses IAP to download the object from Sb.
+---------+
> | Sb |
2. / +---------+
IAP Store / ^ *
/ 4. IAP Get \ * 5. data transfer
/ 1. App request \ v
+-------+<---------------+-------+
|User A | |User B |
+-------+--------------->+-------+
3. App response
Figure 4: Usage Scenario 3 (Receiver account used)
5.4.4. No Storage Accounts are Used
This scenario is illustrated in Figure 5. In this scenario, the
application protocol is used directly to send data. This scenario
applies with one of the peers does not support IAP, or neither of the
peers are using in-network storage.
1. App request
+-------+<-------------------+-------+
|User A | ... ... ... |User B |
+-------+*******************>+-------+
2. data transfer
Figure 5: Usage Scenario 4 ( No storage accounts used)
6. Security Considerations 6. Security Considerations
There are multiple security considerations. We focus on two in this There are multiple security considerations. We can not enumerate all
section. of them but focus on three main concerns in this section.
6.1. Denial of Service Attacks 6.1. Denial of Service Attacks
Without access control or resource control, an attacker can try to An attacker can try to consume a large portion of the in-network
consume a large portion of the in-network storage, or exhaust the storage, or exhaust the connections of the in-network storage through
connections of the in-network storage to commit a Denial of Service a Denial of Service (DoS) attack.
(DoS) attack. Thus, access control and resource control mechanisms
are mandatory. A resource control mechanism should be used to allow
a user to allocate the resource in its in-network storage account to
be utilized by other clients.
6.2. Copyright and Legal Issues 6.2. Copyright and Legal Issues
Copyright and other laws may prevent the distribution of certain Copyright and other laws may prevent the distribution of certain
content in various localities. While in-network storage operators content in various localities. While in-network storage operators
may adopt system-wide ingress or egress filters to implement may adopt system-wide ingress or egress filters to implement
necessary policies for storing or retrieving content, and necessary policies for storing or retrieving content, and
applications may still apply DRM to the data stored in the network applications may still apply DRM to the data stored in the network
storage, the specification and implementation of such policies (e.g., storage, the specification and implementation of such policies (e.g.,
filtering and DRM) is outside of the scope of this working group. filtering and DRM) is outside of the scope of this working group.
6.3. Privacy issue
If the content stored in the provider-based in-network storage, there
may be a privacy risk that the provider can correlate the people who
are accessing the same data object using the same object identity.
7. IANA Considerations 7. IANA Considerations
There is no IANA consideration with this document. There are no IANA considerations in this document.
8. Acknowledgments 8. Acknowledgments
We would like to thank the following people for contributing to this We would like to thank the following people for contributing to this
document: document:
David Bryan David Bryan
Kar Ann Chew Kar Ann Chew
skipping to change at page 17, line 10 skipping to change at page 12, line 30
9. Informative References 9. Informative References
[ipoque.com] [ipoque.com]
"http://www.ipoque.com/resources/internet-studies/ "http://www.ipoque.com/resources/internet-studies/
internet-study-2008_2009". internet-study-2008_2009".
[RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic [RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic
Optimization (ALTO) Problem Statement", RFC 5693, Optimization (ALTO) Problem Statement", RFC 5693,
October 2009. October 2009.
[I-D.weaver-alto-edge-caches] [I-D.ietf-p2psip-base]
Weaver, N., "Peer to Peer Localization Services and Edge Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and
Caches", draft-weaver-alto-edge-caches-00 (work in H. Schulzrinne, "REsource LOcation And Discovery (RELOAD)
progress), March 2009. Base Protocol", draft-ietf-p2psip-base-18 (work in
progress), August 2011.
[I-D.ietf-ppsp-problem-statement]
Zhang, Y., Zong, N., Camarillo, G., Seng, J., and Y. Yang,
"Problem Statement of P2P Streaming Protocol (PPSP)",
draft-ietf-ppsp-problem-statement-01 (work in progress),
January 2011.
[DCIA] http://www.dcia.info, "Distributed Computing Industry [DCIA] http://www.dcia.info, "Distributed Computing Industry
Association". Association".
[ipoque.P2P_survey.] [ipoque.P2P_survey.]
"Emerging Technologies Conference at MIT", Sept. 2007. "Emerging Technologies Conference at MIT", Sept. 2007.
[P2P_file_sharing] [P2P_file_sharing]
Parker, A., "The true picture of peer-to-peer Parker, A., "The true picture of peer-to-peer
filesharing", July 2004. filesharing", July 2004.
skipping to change at page 17, line 41 skipping to change at page 13, line 10
[Octoshape] [Octoshape]
"http://www.octoshape.com/?page=company/about". "http://www.octoshape.com/?page=company/about".
[PPLive] "http://www.synacast.com/products/". [PPLive] "http://www.synacast.com/products/".
[ICNP] Wu, H., "Challenges and opportunities of Internet [ICNP] Wu, H., "Challenges and opportunities of Internet
developments in China, ICNP 2007 Keynote", Oct. 2007. developments in China, ICNP 2007 Keynote", Oct. 2007.
Appendix A. Other Related Work in IETF Appendix A. Other Related Work in IETF
Note that DECADE is independent of current IETF work on P2P, e.g. Note that DECADE is independent of current IETF work on P2P. The ALTO
P2PSIP, ALTO, and PPSP. For example, peers discovered by either work as described above is aimed for better peer selection and the
RELOAD or ALTO can all use DECADE to share data. RELOAD [I-D.ietf-p2psip-base] protocol is used for P2P overlay
maintenance and resource discovery.
The Peer to Peer Streaming Protocol effort in the IETF is The Peer to Peer Streaming Protocol effort in the IETF is
investigating specification of signaling protocols (called PPSP investigating the specification of signaling protocols (called the
protocols) for multiple types of entities (e.g. intelligent PPSP tracker protocol and peer protocol) for multiple entities (e.g.
endpoints, caches, content distribution network nodes, and/or other intelligent endpoints, caches, content distribution network nodes,
edge devices) to participate in P2P streaming systems in both fixed and/or other edge devices) to participate in P2P streaming systems in
and mobile Internet. As discussed in the PPSP problem statement both fixed and mobile Internet. As discussed in the PPSP problem
document [I-D.ietf-ppsp-problem-statement], one important PPSP use statement, one important PPSP use case is the support of an in-
case is the support of an in-network edge cache for P2P streaming. network edge cache for P2P Streaming. However, this approach to
However, this approach to providing in-network cache has different providing in-network cache has different applicability, different
applicability, different objectives and different implications for objectives and different implications for the in-network cache
the in-network cache operator. A DECADE service can be used for any operator. A DECADE service can be used for any application
application transparently to the DECADE in-network storage operator: transparently to the DECADE in-network storage operator: it can be
it can be used for any P2P streaming application (whether it supports used for any P2P Streaming application (whether it supports PPSP
PPSP protocols or not), for any other P2P application, and for non protocols or not), for any other P2P application, and for non P2P
P2P applications that simply want to benefit from in-network storage. applications that simply want to benefit from in-network storage. So
So with DECADE the operator is providing a generic in-network storage with DECADE the operator is providing a generic in-network storage
service that can be used by any application without application service that can be used by any application without application
involvement or awareness by the operator; in the PPSP cache use case, involvement or awareness by the operator; in the PPSP cache use case,
the cache operator is participating in the specific P2P streaming the cache operator is participating in the specific P2P streaming
service. service.
DECADE and PPSP can both contribute independently, and (where DECADE and PPSP can both contribute independently, and (where
appropriate) simultaneously, to making content available closer to appropriate) simultaneously, to making content available closer to
peers. Here are a number of example scenarios: peers. Here are a number of example scenarios:
A given network supports DECADE in-network storage, and its CDN A given network supports DECADE in-network storage, and its CDN
nodes do not participate as PPSP peers for a given "stream" (e.g. nodes do not participate as PPSP Peers for a given "stream" (e.g.
because no CDN arrangement has been put in place between the because no CDN arrangement has been put in place between the
content provider and the considered network provider). In that Content Provider and the particular network provider). In that
case, PPSP Peers will all be "off-net" but will be able to use case, PPSP Peers will all be "off-net" but will be able to use
DECADE in-network storage to exchange chunks. DECADE in-network storage to exchange chunks.
A given network does not support DECADE in-network storage, and A given network does not support DECADE in-network storage, and
(some of) its CDN nodes participate as PPSP peers for a given (some of) its CDN nodes participate as PPSP Peers for a given
"stream" (e.g. say because an arrangement has been put in place "stream" (e.g. say because an arrangement has been put in place
between the content provider and the considered network provider). between the Content Provider and the particular network provider).
In that case, the CDN nodes will participate as in-network PPSP In that case, the CDN nodes will participate as in-network PPSP
peers. The off-net PPSP peers (i.e., end users) will be able to Peers. The off-net PPSP Peers (i.e., end users) will be able to
get chunks from the in-network CDN nodes (using PPSP protocols get chunks from the in-network CDN nodes (using PPSP protocols
with the CDN nodes). with the CDN nodes).
A given network supports DECADE in-network storage, and (some of) A given network supports DECADE in-network storage, and (some of)
its CDN nodes participate as PPSP Peers for a given "stream" (e.g. its CDN nodes participate as PPSP Peers for a given "stream" (e.g.
say because an arrangement has been put in place between the say because an arrangement has been put in place between the
content provider and the considered network provider). In that Content Provider and the particular network provider). In that
case, the CDN nodes will participate as in-network PPSP Peers. case, the CDN nodes will participate as in-network PPSP Peers.
The off-net PPSP Peers (i.e., end users) will be able to get The off-net PPSP Peers (i.e., end users) will be able to get
chunks from the in-network CDN nodes (using PPSP protocols with chunks from the in-network CDN nodes (using PPSP protocols with
the CDN nodes) as well as be able to get chunks /share chunks the CDN nodes) as well as be able to get chunks / share chunks
using DECADE in-network storage populated (using IAP protocol) by using DECADE in-network storage populated by PPSP Peers (both off-
PPSP peers (both off-net end-users and in-network CDN nodes). net end-users and in-network CDN Nodes).
PPSP and DECADE jointly to provide P2P streaming service for PPSP and DECADE jointly to provide P2P streaming service for
heterogeneous networks including both fixed and mobile connections heterogeneous networks including both fixed and mobile connections
and enables the mobile nodes to use DECADE. In this case there and enables the mobile nodes to use DECADE. In this case there
may be some solutions to require more information in PPSP tracker may be some solutions to require more information in PPSP tracker
protocol, e.g., the mobile node can indicate its DECADE in-network protocol, e.g., the mobile node can indicate its DECADE in-network
proxy to PPSP tracker and the following requesting peer can finish proxy to PPSP tracker and the following requesting peer can finish
its data transfer with the DECADE proxy with IAP. data transfer with the DECADE proxy.
Authors' Addresses Authors' Addresses
Haibin Song Haibin Song
Huawei Huawei
101 Software Avenue, Yuhua District, 101 Software Avenue, Yuhua District,
Nanjing, Jiangsu Province 210012 Nanjing, Jiangsu Province 210012
China China
Phone: +86-25-56624792 Phone: +86-25-56624792
 End of changes. 60 change blocks. 
391 lines changed or deleted 185 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/