<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC5201 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5201.xml">
<!ENTITY RFC4423 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4423.xml">
<!ENTITY RFC3411 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3411.xml">
<!ENTITY RFC3414 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3414.xml">
<!ENTITY RFC5953 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5953.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-jin-cdni-content-deduplication-optimization-00" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="CDNi Content De-duplication Optimization">CDNi Content De-duplication Optimization</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="WeiYi Jin" initials="W." 
            surname="Jin">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city>Nanjing</city>

          <region></region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <phone>+86 025-52871364</phone>

        <email>jin.weiyi@zte.com.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>


	<author fullname="Wei Wang" initials="W." 
            surname="Wang">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city>Nanjing</city>

          <region></region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <phone>+86 025-88014631</phone>

        <email>wang.wei108@zte.com.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>


	<author fullname="ZhenWu Hao" initials="Z." 
            surname="Hao">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city>Nanjing</city>

          <region></region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <phone>+86 025-52871304</phone>

        <email>hao.zhenwu@zte.com.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    
	<author fullname="Yu Meng" initials="Y." 
            surname="Meng">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city>Nanjing</city>

          <region></region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <phone>+86 025-88014632</phone>

        <email>meng.yu@zte.com.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

   
    <date day='2' month='February' year="2012"/>

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Transport Area </area>

    <workgroup>CDNI</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>DEDUPLICATION,OPTIMIZATION</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>Some CDNi deployments are likely to lead to content repetition in the same dCDN. This document gives the cases and then discusses the optimization approach to de-duplicate of the repeated content in CDNi network. To implement the optimization, the enhancement to CDNi metadata model and interface is required.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
	   <t>In some CDNi deployments, the dCDN may be required to cache the same content copy from the same Content Service Provider (CSP). For example, the CSP has the agreement with two Authoritative CDNs, and both are the upstream CDN of the same dCDN. Another example appears in the cascaded mode. The top-layer uCDN establishes connection with two intermediate-layer uCDNs, and both connect to the same bottom-layer dCDN. In such scenarios, the dCDN may be requested to download the content from one uCDN, then be requested to deliver the same content from another uCDN. Content repetition wastes the dCDN's the memory or storage resource, and wastes bandwidth to deliver the repeated content. So it is necessary to avoid delivering the repeated content from separated uCDNs to dCDN. In this draft, we list scenarios where content repetition may happen. And a solution named content de-duplication is discussed.</t>
	   <t>To address the content repetition problem, several issues may need to be considered.</t>
       <t>* How to detect content repetition by dCDN, and a content naming mechanism is required for CDNi network.</t>
	   <t>* How to avoid content repetition, when one or more uCDNs selects one dCDN to deliver the same content to multiple User Agents.</t>
	   <t>This document provides detailed analysis for the issues of content de-duplication.</t>
    <section title="Terminology">
    <t>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].</t>
    <t>This document reuses the terminology defined in [I-D.jenkins-cdni-problem-statement].</t>
	<t>Resource Id: a metadata object (e.g. URL) which identifies the resource on a specific CDNi interface associated with a particular Authoritative CDN.</t>
	<t>Content Id: a metadata object (e.g. URN) which uniquely identifies the content in the scope of CDNi.</t>
    </section>
	</section>
    <section title="Deployment Scenarios">
	<t>This section shows several CDNi deployments that typically lead to content repetition.</t>
	<section title="Scenarios 1">
    <t>As depicted in Figure 1, two interconnected CDN-A(uCDN) and CDN-B(dCDN) both have contracts with CSP. CDN-B play two roles at the same time: down streaming CDN of CDN-A and Authoritative CDN of CSP. When an end-user of CDN-A initiate content acquisition from the CSP, CDN-A decides CDN-B as the serving CDN. Then CDN-A redirects the request to CDN-B, and indicate CDN-B to retrieve the content from it. Normally CDN-B as Authoritative CDN is very likely to have cached the content from original server. If CDN-B cannot identify the said contents are the same content, the same content will be repeatedly cached.</t>
   <t>As the location of the content in a CDN is normally planned by CDN itself, the URLs of the same content are likely different between CDNs. So it is not enough to decide whether the content to be cached is the same only by URL.</t>
    <figure align="center" > 
        <preamble></preamble>

        <artwork align="center"><![CDATA[
                +-------+
                |  CSP  |
                +-------+
               /         \
    ,--,--,--./           \,--,--,--.
 ,-'          `-.       ,-'          `-.
( CDN Provider A )=====( CDN Provider B )
 `-.  (CDN-A) ,-'       `-. (CDN-B)  ,-'
    `--'--'--'             `--'--'--'
                              |
                      +------------+
                      | User Agent |
                      +------------+
=== CDN Interconnect

				 Figure 1
            ]]></artwork>

        <postamble></postamble>
    </figure>
	<t></t>
	</section>
	<section title="Scenarios 2">
    <t>As depicted in Figure 2, both CDN-A and CDN-B establish interconnections with CDN-C which acts as a dCDN. Thus, CDN-C will cache the content for CDN-A and CDN-B. When both CDN provider A and CDN provider B have agreements with the same CSP for content delivery at the same time, CDN-C may be required by CDN-A and CDN-B separately to cache the same content of CSP. Similar to Scenario 1, CDN-C is also likely to suffer from content repetition troubles.</t>
    <t></t>
	<figure align="center" > 
        <preamble></preamble>

        <artwork align="center"><![CDATA[
                +-------+
                |  CSP  |
                +-------+
               /         \
    ,--,--,--./           \,--,--,--.
 ,-'          `-.       ,-'          `-.
( CDN Provider A )     ( CDN Provider B )
 `-.  (CDN-A) ,-'       `-. (CDN-B)  ,-'
    `--'--'--'             `--'--'--'
             \\            //
              \\,--,--,--.//
             ,-'          `-.
            ( CDN Provider C )
             `-. (CDN-C)  ,-'
                `--'--'--'
                     |
              +------------+
              | User Agent |
              +------------+
=== CDN Interconnect
	
	          Figure 2
            ]]></artwork>

        <postamble></postamble>
    </figure>
	<t></t>
	</section>
	<section title="Scenarios 3">
	<t>Now we consider the case of cascaded CDNs, as depicted in Figure 3, wherein the top-layer Upstream CDN-A directly relate to CSP and interconnects with two middle-layer CDNs (CDN-B and CDN-C) which have the same bottom-layer Downstream CDN-D interconnected. So there are two possible delivery paths for CDN-D to cache the contents of CSP, CDN-A -> CDN-B -> CDN-D or CDN-A -> CDN-C -> CDN-D. CDN-D may be required to cache the same content by upstream CDNs(CDN-B and CDN-C) on different paths. If the URL of the content is changed by CDN-B or CDN-C, CDN-D cannot be aware of the contents to be cached and therefore this likely leads to content repetition.</t>
	<figure align="center" > 
        <preamble></preamble>

        <artwork align="center"><![CDATA[                                       
                ,--,--,--.
             ,-'          `-.     +-------+
            ( CDN Provider A )----|  CSP  |
             `-. (CDN-A)  ,-'     +-------+
               //-'--'-\\
    ,--,--,--.//         \\,--,--,--.
 ,-'          `-.       ,-'          `-.
( CDN Provider B )     ( CDN Provider C )
 `-.  (CDN-B) ,-'       `-. (CDN-C)  ,-'
    `--'--'--'             `--'--'--'
             \\            //
              \\,--,--,--.//
             ,-'          `-.
            ( CDN Provider D )
             `-. (CDN-D)  ,-'
                `--'--'--'
                     |
              +------------+
              | User Agent |
              +------------+
=== CDN Interconnect
	
	          Figure 3
            ]]></artwork>

        <postamble></postamble>
    </figure>
	<t></t>
	</section>
    </section>	   
    <section title="Content Naming for CDNi"> 
	<t></t>
     <t>It is well known that CDNs have their own content naming mechanisms most of which are independent and separated from each other due to the use of different algorithms such as Hash algorithms. It implies that for the same content distributed by two CDNs, the corresponding content identifiers are likely to be quite different. [I-D.lefaucheur-cdni-requirements] treats the information regarding CDN content naming as intra-CDN information and the CDNI solution MUST not require intra-CDN information to be exposed to other CDNs for effective and efficient delivery of the content. Therefore, establishing a uniform content naming mechanism is urgently needed for CDNi network. This mechanism which can be implemented by CDNI Metadata Distribution Protocol may possess the following properties below.</t>
    <section title="Uniqueness">  		
		<t>CDNi content naming mechanism must guarantee the uniqueness of content identification. URL is widely used for identifying network resource, but it is not quite suitable for content identification in CDNi network where content de-duplication is needed. Although the method of URL match is usually used by many cache systems to detect the repetitive files with same name in order to avoid content repetition, it is probably failed for CDNi due to different forwarding mechanisms that is the user-originated requests are always snooped by devices like DPI before transmitted to the original server, whereas the requests received by dCDN are always redirected by one or more uCDNs. Since there is no guarantee of unchanged URLs through the redirected process, some other object need to be defined to represent the uniqueness of content identification.</t>
		<t>For the CSP's content distributed into different interconnected CDNs, the related metadata objects may be somewhat different in many cases. Taking the example in Figure 2, when both CDN-A and CDN-B delegate the delivery of the same CSP's content, the content metadata such as content description, access policy and security policy may be not quite similar to each other. Obviously, such metadata information is not suitable for content identification. Thus, we need to define some other metadata object that uniquely identifies the same content.</t>
	  </section>
    <section title="Ownership">
		<t>CDNi content naming mechanism should embody the ownership of content identification. Typically, a CDN provider has contracts with many CSPs for delivering their content, as well as operates its own content. However, lots of contents published by these CSPs are usually highly resembled, and part of them are even exactly the same. So the problem is whether these identical copies originated from the same CSP or how the interconnected CDNs know they are identical. (Note: Such copies are pointed by the same content identification only if they are from the same content source.) For a traditional (non-interconnected) CDN, there is no problem to distinguish them via its intra content naming mechanism. While a CDN interconnects with other CDNs, the condition becomes more complicated due to the lack of awareness of CSP's content when the CDN acts as a dCDN.</t>
	  </section>
    </section>
	
    <section title="CDNi Content De-duplication Optimization Implementation">
		<section title="Constant URL">
		<t>Of course, URL can be used to implement content de-duplication in CDNi network. As refered in section 2, the URL is different from uCDN to uCDN and is likely changed in the redirection process. There is an usage of agreement of configuration URL between a pair of interconnected CDN in [I-D.davie-cdni-framework], however it is difficult to expand to the complex CDNi network. So a feasible proposal is a mechanism for CDNi network to guarantee CSP's contents cached in different uCDNs are identified by the same URL and the URL is unchanged or at least the path part is remained unchanged in the redirection process. The main problem of this mechanism is lack of resilience and we prefer an alternative mechanism to be introduced in section 4.2.</t>
		</section>
		<section title="Content Naming Mechanism">
		<t>This section provides detailed implementation of CDNi content naming mechanism using CDNi Metadata Protocol.</t>
		<t>CSP's content as well as its copies cached in interconnected CDNs are delivered to numerous End-Users. [I-D.davie-cdni-framework] assigns each copy identifiers in terms of URLs embedded with "CDN-Domain" used to distinguish a download request from an end-user or an uCDN. We use the term Resource Identifier to represent the URLs pointing to the content copies in interconnected CDNs. However, unlike to the usage in [I-D.davie-cdni-framework], in this document CDNi content naming mechanism makes Resource Identifiers are only related to contents in uCDNs and cannot be changed during the forwarding process. Taking the example in section 2.3, we use Resource Identifier A point to content originated through uCDN A. When two users acquire the same content from uCDN D, with two different request forwarding paths, CDN A->CDN B->CDN D and CDN A->CDNC->CDN D,respectively, uCDN D is able to find out that the visited content and the related metadata are originally distributed from uCDN A using the Resource Identifier A.
</t>
		<t>Although the Resource Identifier is able to indentify content, uniqueness of content identification can't be guaranteed, as CSP may have contracts with different uCDNs. In order to resolve it, we introduce the term Content Identifier which is assigned to associate with Resource Identifier to uniquely identifies the content and is similar to the URN usage. (Note: The Content Identifier MUST be globally unique.) A metadata model depicted in Figure 4 shows the relationship between the two kinds of Identifier. Depending upon this model, dCDN is able to be aware of such requests towards the same targeted content. </t>
	<figure align="center" >
        <preamble></preamble>

        <artwork align="center"><![CDATA[
              +----------------------+
              |  Content Identifier  |
              +----------------------+
              /          |          \
             /           |           \
+--------------+  +--------------+     +--------------+
| Resouce      |  | Resouce      |     | Resouce      |
| Indentifier 1|  | Indentifier 2| ... | Indentifier n|
+--------------+  +--------------+     +--------------+

					Figure 4
            ]]></artwork>

        <postamble>
		</postamble>
    </figure>
		<t>Note: Who is responsible for creating and maintaining the Content Identifier needs to further study.</t>
		</section>
		<section title="Details for Content De-duplication">
		<t>This section details the solution making use of CDNi Content Naming mechanism for content de-duplication.</t>
		<t>Using the content identification model included in content metadata, an interconnected CDN is able to detect content repetition. The content status must be synchronously updated by the interconnected CDN. According to content status, the interconnected CDN can judge the resource copy is cached or not.</t>
		<t>We present several procedures below to illustrate how to implement optimization for CDNi content de-duplication.</t>
		<section title="Pre-Positioned Content Acquisition ">
		<t>The following flow illustrates how the two uCDNs successively pre-position the same content in the dCDN. In this flow, the content to be re-positioned in the dCDN is identified by different Resource Identifiers corresponding to the uCDN A and uCDN B.</t>
		<figure align="center" >
        <preamble></preamble>
        <artwork align="center"><![CDATA[
   +--------+                 +--------+                 +--------+
   |  dCDN  |                 | uCDN A |                 | uCDN B |
   +--------+                 +--------+                 +--------+
       |   Pre-position Request   |                           |
       |<-------------------------|                           |
+--------------+                  |                           |
| Detection of |                  |                           |
| content rep- |                  |                           |(1)
| etition      |                  |                           |
+--------------+                  |                           |
       |          OK              |                           |
       |------------------------->|                           |
       |                          |                           |
       |   Acquisition Request    |                           |
       |------------------------->|                           |
       |                          |                           |
       |     Content Data         |                           |(2)
       |<-------------------------|                           |
+--------------+                  |                           |
| Update cont- |                  |                           |
| ent status   |                  |                           |
+--------------+                  |                           |
       |                Pre-position Request                  |
       |<-----------------------------------------------------|
+--------------+                  |                           |
| Detection of |                  |                           |
| content rep- |                  |                           |(3)
| etition      |                  |                           |
+--------------+                  |                           |
       |                         OK                           |
       |----------------------------------------------------->|
       |                          |                           |
 

                                  Figure 5
            ]]></artwork>
        <postamble></postamble>
    </figure>
		
		<t>The steps illustrated in the figure are as follows:</t>
		<t>1.   The uCDN A requests that the dCDN pre-positions a particular content item identified by its Resource Identifier and Content Identifier. Receiving the message, the dCDN uses the Content Identifier to look up target metadata to see whether the same content item is cached. With the result that the metadata does not exist, the dCDN then replies to uCDN A with a OK message to notify that no such copy has been cached and content pre-position is required.</t> 
		<t>2.   The dCDN acquires the item of content from uCDN A. Once the content is pre-positioned, dCDN updates the content status and maintains the content identification metadata.</t>
		<t>3.   The uCDN B requests that dCDN pre-positions the same content item identified by its Resource Identifier and Content Identifier. Receiving the message, the dCDN uses the Content Identifier to look up target metadata. Because such metadata exists, dCDN determines that the content is already cached. Then, dCDN replies to uCDN A with a OK message to notify that the same copy has been cached and pre-position should be canceled.</t>
		</section>
		<section title="Dynamic Content Acquisition">
		<t>The following flows illustrate how the dCDN performs content de-duplication in cases of a cache miss and a cache hit without content pre-positioning.</t>
		<figure align="center" >        
        <preamble></preamble>
        <artwork align="center"><![CDATA[
+----------+                 +------+                     +------+
| end-user |                 | dCDN |                     | uCDN |
+----------+                 +------+                     +------+
   |      Content Request      |                            |
   |------------------------------------------------------->|
   |      Content Redirection  |                            |
   |<-------------------------------------------------------|(1)
   |      Content Request      |                            |
   |-------------------------->|                            |
   |                           |    Content id Acquisition  |
   |                           |<-------------------------->|
   |                    +--------------+                    |
   |                    | Detection of |                    |
   |                    | content rep- |                    |(2)
   |	                | etition      |                    |
   |                    +--------------+                    |
   |                           |    Acquisition Request     |
   |                           |--------------------------->|
   |                           |    Content Data            |
   |                           |<---------------------------|
   |                    +--------------+                    |(3)
   |                    | Update cont- |                    |
   |                    | ent status   |                    |
   |                    +--------------+                    |
   |       Content Data        |                            |
   |<--------------------------|                            |
   |	                       |                            |


                                    Figure 6
            ]]></artwork>
        <postamble></postamble>
    </figure>
		<t>The steps illustrated in the figure are as follows:</t>
		<t>1.   A content request originated by a end-user arrives at uCDN. The uCDN processes the request and recognizes that the end-user is best served by dCDN. So uCDN redirects the request to dCDN by sending redirection response to the end-user who then requests the content from dCDN.</t>
		<t>2.   Receiving the request, the dCDN uses the Resource Identifier pointing to the requested resource to fetch the corresponding Content Identifier from the uCDN. The dCDN then uses the Content Identifier to look up target metadata indicates whether the content item is cached. With the result that such metadata does not exist, the case of a cache miss is decided by the dCDN so that the content needs to be downloaded from the uCDN before delivered to the end-user.</t>
		<t>3.   The dCDN acquires the requested content from uCDN A. Once the content cached, dCDN updates the content status and maintains the content identification metadata. The dCDN then delivers content data to the end-user.</t>
		<figure align="center" >        
        <preamble></preamble>
        <artwork align="center"><![CDATA[
+----------+                 +------+                    +------+
| end-user |                 | dCDN |                    | uCDN |
+----------+                 +------+                    +------+
   |      Content Request      |                            |
   |------------------------------------------------------->|
   |      Content Redirection  |                            |                                   
   |<-------------------------------------------------------|(1)
   |      Content Request      |                            |  
   |-------------------------->|                            |
   |                           |    Content id Acquisition  |
   |                           |<-------------------------->|
   |                    +--------------+                    |
   |                    | Detection of |                    |
   |                    | content rep- |                    |(2)
   |	                | etition      |                    |
   |                    +--------------+                    |
   |       Content Data        |                            |
   |<--------------------------|                            |
   |	                       |                            |


                                    Figure 7
            ]]></artwork>
        <postamble></postamble>
    </figure>
	    <t>The steps illustrated in the figure are as follows:</t>
		<t>Steps 1 and 2 are exactly the same as steps 1 and 2 of Figure 5, only in this time dCDN deciding the case of a cache hit according to the existence of such a content identification metadata.</t>
        <t>This flow differs from the one in Figure 5 only without triggering dynamic content acquisition (step 3), since the
   content has been cached by dCDN.</t>
		</section>
		<section title="Content Removal">
		<t>The following flow illustrates how the dCDN removes the content resource under the control of the uCDN.</t>
		<figure align="center" >        
        <preamble></preamble>
        <artwork align="center"><![CDATA[
+----------+                 +------+                     +------+
| end-user |                 | dCDN |                     | uCDN |
+----------+                 +------+                     +------+
   |                           |       Content Removal      |
   |                           |<---------------------------|
   |                    +--------------+                    |
   |                    |  Removal of  |                    |
   |                    |    content   |                    |(1)
   |                    +--------------+                    |
   |                           |                            |
   |                    +--------------+                    |
   |	                |  Removal of  |                    |
   |                    | conjunction  |                    |
   |                    |   metadata   |                    |(2)
   |                    +--------------+                    |
   |                           |           OK               |
   |                           |--------------------------->|
   |                           |                            |


                                    Figure 8
            ]]></artwork>
        <postamble></postamble>
    </figure>
		<t>A premise is that the content resource to be removed is cached in the dCDN from the uCDN. The steps illustrated in the figure are as follows:</t>
		<t>1.   The uCDN requests that the dCDN removes some content resource identified by the Content Identifier due to the deployment policy or expiration of life-time. The dCDN then removes the resource.</t>
		<t>2.   Once removal of the content resource, the dCDN updates the content status as well as removes the content identification metadata, and then replies a OK response to the uCDN.</t>
		</section>
	  </section>
	</section>
    <section title="Security Considerations">
    
    <t>TBD</t>
 
    </section>
    <section title="IANA Considerations">
    
    <t>This document has no IANA Considerations.</t>
    
    </section>
    
        
    
    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

    <?rfc needLines="8" ?>

    <section anchor="Acknowledgments" title="Acknowledgments">

      <t>TBD</t>

	</section>
    <!-- Possibly a 'Contributors' section ... -->
	
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC2119;

   </references>
  
    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

      &RFC2629;

      &RFC3552;

      &I-D.narten-iana-considerations-rfc2434bis;

      <!-- A reference written by by an organization not a person. -->

      <reference anchor="I-D.davie-cdni-framework">
        <!-- the following is the minimum to make xml2rfc happy -->

        <front>
          <title>Framework for CDN Interconnection
			 </title>

          <author initials="B." surname="Davie">
          
            <organization></organization>
          </author>
          <author initials="L." surname="Peterson">          
            <organization></organization>
          </author>
          <date year="2011" month="July"/>
        </front>
      </reference>
	  <reference anchor="I-D.jenkins-cdni-problem-statement">
        <!-- the following is the minimum to make xml2rfc happy -->

        <front>
          <title>Content Distribution Network Interconnection (CDNI) Problem Statement
			 </title>

          <author initials="B." surname=" Niven-Jenkins">
          
            <organization></organization>
          </author>
          <author initials="F." surname="Faucheur">          
            <organization></organization>
          </author>
		  <author initials="N." surname="Bitar">          
            <organization></organization>
          </author>
          <date year="2011" month="March"/>
        </front>
      </reference>
	  <reference anchor="I-D.lefaucheur-cdni-requirements">
        <!-- the following is the minimum to make xml2rfc happy -->

        <front>
          <title>Content Distribution Network Interconnection (CDNI) Requirements
			 </title>

          <author initials="K." surname="Leung">
          
            <organization></organization>
          </author>
          <author initials="F." surname="Lee">          
            <organization></organization>
          </author>
		  <author initials="F." surname="Faucheur">          
            <organization></organization>
          </author>
		  <author initials="M." surname="Viveganandhan">          
            <organization></organization>
          </author>
		  <author initials="G." surname="Watson">          
            <organization></organization>
          </author>
          <date year="2011" month="July"/>
        </front>
      </reference>
     </references>

    <section anchor="app-additional" title="Additional Stuff">
      <t></t>
    </section>

    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
</rfc>

