INTERNET-DRAFT                                                 Rong Wang
Intended Status: Informational                              Chunfeng Yao
Expires: August 21, 2013                                     Zhefeng Yan
                                                                  Huawei
                                                       February 17, 2013


                   Container Resolution System in ICN
             draft-wang-icnrg-container-resolution-system-00


Abstract

   We illustrate the architecture and mechanism of container resolution
   system, and to the protocol of resolving containers in ICN. The
   fundamental characters are:1)Use Interest and Data packet as the
   communication primitives, 2)Every routing node has FIB, CS, PIT
   tables to do packet routing and caching. Current NDN/CCN architecture
   does not require a resolution system. The routing is totally based on
   prefixes of content names, which causes scalability and mobility
   issues described in [Cisco-Name]. This draft addresses the
   aforementioned issues.

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

Copyright and License Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors. All rights reserved.



Wang, et al.            Expires August 21, 2013                 [Page 1]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.



Table of Contents

   1  Container Name System . . . . . . . . . . . . . . . . . . . . .  3
     1.1  Introduction  . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2. System Architecture . . . . . . . . . . . . . . . . . . . .  3
     1.3. System Components of CNS  . . . . . . . . . . . . . . . . .  4
   2  Container Name Scheme . . . . . . . . . . . . . . . . . . . . .  5
     2.1  Content Name Composition  . . . . . . . . . . . . . . . . .  5
     2.2. Container name Registration . . . . . . . . . . . . . . . .  5
     2.3 Unregister Container name  . . . . . . . . . . . . . . . . .  7
     2.4. Resolve Container name  . . . . . . . . . . . . . . . . . .  7
     2.5. Packet flow in network  . . . . . . . . . . . . . . . . . .  9
   3 Implementation of CNS  . . . . . . . . . . . . . . . . . . . . . 11
   4 Execution Engine Process Logic . . . . . . . . . . . . . . . . . 13
   5  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 14
   6 Conclusions  . . . . . . . . . . . . . . . . . . . . . . . . . . 14
   7  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     7.1  Normative References  . . . . . . . . . . . . . . . . . . . 14
     7.2  Informative References  . . . . . . . . . . . . . . . . . . 14
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16



















Wang, et al.            Expires August 21, 2013                 [Page 2]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


1  Container Name System

1.1  Introduction This draft is the companion to [Huawei-name] and
   illustrats the container resolution system (hereinafter referred to
   as NRS) . The NRS assists the routing requirement of the container
   name, which is the extension  of conventional Information Centric
   Networking (hereinafter referred to as ICN) naming.

1.2. System Architecture

   An NRS is composed by a number of distributed container name systems
   (hereinafter referred to as CNS) deployed in an ICN network. CNS
   maintains the mapping from containers to its access containers. The
   concept of container, container name, container set , container
   assisted routing, resolvable container name, and access container are
   described in [Huawei-name]. The following figure illustrates the high
   level CNS architecture.

                                Network/Container A
                                   _.----------.
                              /        +------+     \
                             (         | CNS  |      )
                              \        +------+     /
                                   `----------''
                                      _.--------. Network/Container C
          Network/Container B     ,-''           `--.
           _ _.--------.        /        +-----+    \
         /     +------+      \ (          | CNS |      )
        /      | CNS  |       \ \         +-----+     /
        \      +------+       /   `--.`--------''_.-'
              `--------''
                                Figure 1

   For each container name, there is an authoritative CNS (hereinafter
   referred to as A-CNS) acting as its final name resolution provider
   and usually residing within the container (network). One container
   can have an A-CNS for multiple containers.  Other CNS can identify
   the A-CNS of its container via the container name, e.g., with one of
   the following methods:

   -Use category tree hierarchy similar to current DNS, and configure an
   A-CNS for each container.

   -Leverage container assisted ICN routing mechanism to identify the A-
   CNS of the container.

   Since containers are part of the hierarchical tree or DAG of a
   content name, they have to know their predecessor and successor(s) in



Wang, et al.            Expires August 21, 2013                 [Page 3]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   the tree or DAG [Huawei-name]. Thus CNS within a container has the
   similar knowledge of its predecessor and successor(s). If a CNS of a
   container cannot locate the A-CNS of its container, it asks the help
   from its upper level CNS.

   Registration and unregistration operation of a container has to be
   done on its A-CNS. Other CNS, for example the CNS for the local
   access container, proxies the registration and unregisration requests
   to the A-CNS. In other words, the final resolution result of a
   container name must come from its A-CNS. For any resolution request,
   if an intermediate CNS has the result cached, then it can reply
   directly, otherwise this CNS has to forward the request to its A-CNS,
   and caches the resolution result according to the predefined policy.

1.3. System Components of CNS

   CNS has 3 components, DataBase (hereinafter referred to as DB),
   Execution Engine, and Network interfaces.

                      +----------------------------------+
                      |            +------------------+  |
                      | Container  | Database         |  |
                      |  Name      +------------------+  |
                      |  System    | Execution Engine |  |
                      |            +------------------+  |
                      |            | Network Interface|  |
                      |            +/--|-------------+  |
                      +-----------/----|----------------+
                        ________/      |
                     /                 |
     +------------/---+    +-----------|----+    +---------------+
     |  Customer      |    |  Network       |    | Other          |
     |  Client        |    |  Device/       |    | Container      |
     |  End User      |    |  Network       |    | Name           |
     |  Device        |    |  Services      |    | Systems        |
     +----------------+    +----------------+    +----------------+
                                Figure 2

   Database stores resolution related data. Implementation details can
   leverage current DB technologies or file systems.

   Execution engine is responsible for processing resolution related
   logic. It analyzes packet from network interface, operates on DB, and
   sends operation result out of Network interfaces.

   Network interfaces sends/receives ICN packets according to ICN
   protocols. It receives Interest packet from client, end device,
   network node, service or other CNS, and sends packet to the execution



Wang, et al.            Expires August 21, 2013                 [Page 4]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   engine for further processing. It forwards Data packet by following
   the instruction from execution engine.

2  Container Name Scheme

2.1  Content Name Composition

   We propose to reserve a few keywords in ICN for the container name
   resolution operations. They are RESOLVE\REGISTER\UNREGISTER,
   representing 3 primitive operations: as inquiry, registration and
   unregistration, respectively. Keywords are configured automatically
   or manually during ICN joining into the network.

   Once a CNS with resolution capability joins into ICN, it publishes
   aforementioned keywords(RESOLVE\ REGISTER \ UNREGISTER) according to
   the ICN rules. Any ICN node who receives the published packet will
   add table entries associated with those keywords to its FIB. All
   those entries point to the CNS.

   We then prefix resolution keyword to the content ID required
   resolution to be the new content ID of ICN packet (Interest/Data).
   Since each node in ICN use LPM to lookup FIB for forwarding, any
   match of the keyword will route the resolution request to the
   aforementioned CNS.

   We can also use container assisted resolution to route packet to a
   CNS. In this case, CNS publishes the name of the container that it
   resides in [super container] to ICN according to ICN rules. Any node
   in ICN will add routes accordingly. We can use the routing protocol
   described in draft [Huawei-name] to route interest to CNS by adding
   super container name as the suffix to aforementioned Content ID.

   For example, CNS has published that it resides in the super container
   named RESOLVER to the ICN. The interest to inquiry
   "chinamobile/johndoe" can be composed as
   "RESOLVE/chinamobile/johndoe|RESOLVER".

2.2. Container name Registration

   The registration operation utilizes ICN protocol's Interest packet to
   carry the request, and uses Data packet to carry the reply
   (resolution result).

   In details, information of container A registration includes:
   "replace (Yes/No){access provider Container B/Container set C with
   its properties (attributes)}", for example: "( replace=yes;){cn/gd/sz
   ; TTL =100 | hostsrv.com;  resolvable=yes; TTL =5000; }". Where:
   -Value of Replace field can be Yes or No (True/False?) If container A



Wang, et al.            Expires August 21, 2013                 [Page 5]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   exists in CNS,
   --If Replace value is No: Insert the new resolution result to the
   front of result list. If container B or container set C has already
   existed in CNS, then delete the old result.
   --If replace value is Yes: Directly replace the existing resolution
   result with the new one.
   --By default, "replace=no", even with the absence of REPLACE field.
   --Example: "Register /chinamobile/johndoe" ->"(
   replace=yes;){cn/gd/sz ; TTL =100 | hostsrv.com;  resolvable=yes; TTL
   =5000; }"  For now, original resolution result of
   "chinamobile/johndoe" will be invalid and will be replaced by
   "cn/gd/sz" and "hostsrv.com"
   -Resolvable value (Yes/No): Whether the resolution result (container
   B/container set C) can be resolved again. The operation of recursive
   resolution can be seen as the expansion of resolution results. The
   expansion resolution can be done when writing to Database, or when
   resolution system idling, or when receiving a resolution request.
   -(Optional) TTL (Unit Second): Time of the resolution result can be
   cached. The result will not be cached if this value is 0.

   Registration information can be put into Selector field. A new
   property, RESOLVE is added to represent name solution (see Figure 3)
   to hold register and unregister information.

   In the Data packet, it also carries the success or failure
   information of the registration operation. In this reply Data packet,
   the "signed info" field has to set as "no caching" (This is
   implementation dependent), this setting ensures upcoming Interest
   requests will not be replied by the intermediaries but the CNS.

   Aforementioned content name register and unregister information , it
   can be put directly into content name field rather than in Selector
   field. The whole content name will be composed of content ID and
   content name register/unregister information. As illustrated in
   Figure 4.

       Interest Packet
      +--------------+    +----------+     +-----------------------+
      | REGISTER     |    |  Content |     | resolve=(replace=yes) |
      | /chinamobile |===>|  Name    |     | {|cn/gd/sz ; TTL =100 |
      | /johndoe     |    +----------+     | | hostsrv.com;        |
      | |  RESOLVER  |    | Selector |<====| resolvable=yes;       |
      +--------------+    +----------+     | TTL =5000}            |
                          |  Nonce   |     +-----------------------+
                          +----------+
                                Figure 3





Wang, et al.            Expires August 21, 2013                 [Page 6]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


    +-------------------------+            Interest Packet
    | REGISTER/chinamobile/   | \      +-------------------------+
    | johndoe=(replace=yes)   |  \     |  Content Name           |
    | {| cn/gd/sz ; TTL =100  |   /===>+-------------------------+
    | | hostsrv.com;          |  /     |  Selector               |
    | resolvable=yes;         | /      | (Order Preference,...)  |
    | TTL =5000} | RESOLVER   |/       +-------------------------+
    +-------------------------+        |  Nonce                  |
                                       +-------------------------+
                                Figure 4

2.3 Unregister Container name

   The purpose of this operation is to unregister the access container
   B/container set C for container A. In other words, container
   B/container set C is removed or voided from container A's resolution
   result list. This operation piggybacks on ICN protocol's Interest
   packet to carry the request, and leverages Data packet to carry the
   reply.

   In details, the unregistration information of a container name looks
   like: "{access provider container B/container set C}". For example,
   "{cn/gd/sz ; | hostsrv.com;}". This information is in the new added
   properties in Selector field similar to that of registration
   operation.

   -If container A does not exist in CNS, or there is no aforementioned
   container B/container set C as the resolution result of container A,
   then CNS replies failure status.
   -If there are resolution results, remove them from CNS.
   -If all resolution results are removed successfully, then reply
   "total success", otherwise, reply "partial success" with failed
   portions and reasons. The common reason is "non-exist".
   -If resolution result of container A does not exist, then remove
   container A from CNS. The operation result will be carried back by
   Data Packet similar to that of registration. The Data Packet will be
   set as uncacheable.

2.4. Resolve Container name

   The purpose of this operation is to obtain container B/container set
   C which provides access service for container A. This operation
   utilizes ICN protocol Interest Packet to carry the request, and Data
   packet to carry the resolution result.

   In details, the carried packet has to include content name A. For
   example "chinamobile/johndoe"




Wang, et al.            Expires August 21, 2013                 [Page 7]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   The resolution result is carried back by Data packet in the Data
   field, for example, "airchina/ca1314; resolvable=yes;ttl=5000; |||
   cn/beijing; ttl=1000;||hostsrv.com ||| cn/gd ||| cn/beijjing |||
   us/ca", CNS will do the following:
   -If content name A does not exist in the CNS, then replies "failed"
   or NULL.
   -Return the resolution result of container A in order. If the result
   container name has the "resolvable=yes" property, then it can be
   further resolved. The resolution results can be inserted in the
   original result by following the method described in [Huawei-name]
   -If the result has TTL property, the caching timer at Signed Info
   field of Data packet (implementation details may be different, for
   example, in CCN, it is FreshnessSecond, in NDN it is staletime) will
   be set as the minimum of TTL (in previous example, it is 1000)
   -The intermediaries ICN nodes can cache the resolution results in its
   Content Store (hereinafter referred to as CS). Cache Time can be
   processed according to ICN rules. Request packet is shown in Figure
   5.
       +------------------------------------------+
       | {johndoe.com/blog/2012/June01/main.html  |
       | | chinamobile/johndoe; resolvable=yes}   |
       +------------------------------------------+
                           | First iteration of resolution
                           V
      +-----------------------------------------------+
      | {johndoe.com/blog/2012/June01/main.html       |
      |  | chinamobile/johndoe; resolvable=yes        |
      | || airchina/ca1314 ; resolvable=yes; ttl=5000 |
      | || hostsrv.com; resolvable=yes; ttl=1000}   |
      +-----------------------------------------------+
                           | Second iteration of resolution
                           V
      +-----------------------------------------------+
      | {johndoe.com/blog/2012/June01/main.html       |
      | | chinamobile/johndoe; resolvable=yes         |
      | || airchina/ca1314; resolvable=yes; ttl=5000  |
      | ||| cn/beijing; ttl=1000                      |
      | ||hostsrv.com                                 |
      | ||| cn/gd ||| cn/beijjing ||| us/ca}          |
      +-----------------------------------------------+
     +--------------+    Interest Packet
     | REGISTER     |    +-------------------------------+
     | /chinamobile }===>|  Content Name Container(s)    |
     | /johndoe     |    +-------------------------------+
     | |  RESOLVER  |    |  Selector                     |
     +--------------+    +-------------------------------+
                         |  Nonce                        |
                         +-------------------------------+



Wang, et al.            Expires August 21, 2013                 [Page 8]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


       Data Packet        +-----------------------------+
     +---------------+    | RESOLVE/chinamobile/johndoe |
     |  Content      |<===+-----------------------------+
     |  Name         |    +-----------------------------------+
     +---------------+    | |airchina/ca1314; resolvable=yes; |
     |  Signature    |    | ttl=5000                          |
     +---------------+    | || cn/beijing; ttl=1000           |
     |  Signed Info  |<===| |hostsrv.com; resolvable=yes;     |
     +---------------+    | ttl=1000                          |
     |  Data         |    | || cn/gd || cn/beijing  || us/ca  |
     +---------------+    +-----------------------------------+
                                Figure 5

2.5. Packet flow in network

   Packet flow of a client/request node requesting container
   registration/unregistration is shown in Figure 6.

                      ,-----.
                 ,---'       `-.
                ;  +----------+
                :  |  A-CNS   |  `.
                  +--------=-+    )    Interest
                  `+-      `YO.   /     +--------------+
     Data           `---'^`--`OL-'      |REGISER       |
     +------------+           `Ob       |/chinamobile  |
     |REGISER     |            `Ob      |/johndoe|CMCC |
     |/chinamobile|             `OL     +--------------+
     |/johndoe    |        ,-.  ,OP
     +------------+   _.--'   `-dO'-.
           _.-------''        +--'--++-.
       ,-''                dOP| CNS |   |Interest
      (       +------+ ,ooOP' +-----+   |+------------+
       \      | ICN  |(O'               ;|REGISER     |
        \     | Node |               ,-' |/chinamobile|
         `.   +----do+         ,----'    |/johndoe    |
           +--.    `YO.       /          +------------+
                   _:Oo.----'
                ++''   'YOo.
       Data               7O[
       +------------+   +-`"---+   +--------+
       |REGISER     |   | ICN  ,oooo End    |
       |/chinamobile|   | Node |'''' Device |
       |/johndoe    |   +------+   +--------+
       +------------+
             Figure 6 container registration/unregistration
   -Utilize Interest Packet to request name resolution to ICN.
   -Local CNS processes the Interest Packet first.



Wang, et al.            Expires August 21, 2013                 [Page 9]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   -If the local CNS is the aforementioned A-CNS of this container, then
   registration will be done. A Data packet with result will be sent
   back.
   -If not, the Interest packet will be routed out to the next level CNS
   or A-CNS (for example, CMCC) of container A, per the preset rules,
   until the registration/unregistration operation can be done on A-CNS.
   -The intermediaries CNS will forward the Data packet to the original
   requester once it receives the Data packet from next level CNS or A-
   CNS.
   -Data packet of Register/Unregister does not allow to cache by
   intermediaries. This can be done by set "no-caching" in Data packet
   in ICN protocol.

   Packet flow of a client/a node requesting a resolution of container
   is shown in Figure 7.
                  Data
               +-------------+
               |RESOLVE      |            +-----+
               |/chinamobile |            |A-CNS|
               |/johndoe     |            +-----+  Interest
               +-------------+  +------+ /        +-------------+
                   Data         |Local |/         |RESOLVE      |
                +-------------+ |CNS   |          |/chinamobile |
                |RESOLVE      | +-+----+          |/johndoe     |
                |/chinamobile |   |               |  | CMCC     |
                |/johndoe     |   |               +-------------+
                +-------------+   |
       Content Store            +-+--+
   +----------+----------+      |ICN |      +----+     Interest
   |  Name    |   Data   |      |Node|------|ICN |    +-------------+
   +----------+----------+      +-+--+     .'Node|    |RESOLVE      |
   | RESOLVE  | airchina |       /      .-' +----+   |/chinamobile |
   | /china   | /ca1314; |      /     .'             |/johndoe     |
   | mobile   | resolved | +---++  .-'Interest       |  | RESOLVER |
   | /johndoe | =yes;    | |ICN |.'  +-------------+ +-------------+
   |          | ...      | |Node|    |RESOLVE      |
   +----------+----------+ +-+--+    |/chinamobile |
                             |       |/johndoe     |
                             |       |  | RESOLVER |
                         +---+-----+ +-------------+   +--+------+
                         |requester|                   |requester|
                         +---------+      Data         +---------+
                                       +-------------+
                                       |RESOLVE      |
                                       |/chinamobile |
                                       |/johndoe     |
                                       +-------------+
                    Figure 7 resolution of container



Wang, et al.            Expires August 21, 2013                [Page 10]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   -Utilize Interest Packet to request name resolution to ICN.
   -Local CNS processes the Interest Packet first.
   -If local CNS can resolve the request, it returns a Data packet with
   resolution result.
   -If it cannot be resolved, then appends the name of next level CNS or
   the name of A-CNS (for example, CMCC) of container A by following the
   preset rules. Route the Interest packet accordingly.
   -After gets Data packet back from next level CNS or A-CNS, then it
   inserts the resolution result into its Database. It generates a new
   Data Packet.
   -The intermediaries passed by Data packet will forward the Data
   packet as well as cache it in its CS table, according to the content
   forwarding rule.
   -If the same request comes into this intermediary, then Data packet
   will be fetched from cache and return back to requester, according to
   the content forwarding rule.


3 Implementation of CNS

   Aforementioned CNS is based on ICN node (support ICN protocol at
   lower level). It is responsible for name registration and resolution.
   It can be part of a resolution system together with other CNS'.

   Any end device/network device/service can register its access
   container/container set in the CNS to enable other devices and
   services to inquiry them. Meanwhile, it has the capability to work
   seamlessly with other CNS.

   As illustrated by Figure 8, John Doe applied a personal domain name
   "chinamobile/johndoe", China Mobile provides access service for him.
   Current access location is Shenzhen, Guangdong. Thus he registered
   the container as "cn/gd/sz"; the same user applied a third party
   (Hostsrv) to provide him with service. The name of the specific
   access container of the service can be obtained via resolution lookup
   (For example, Hostsrv provides 3 DCs for John Doe at "cn/gd",
   "cn/Beijing", and "us/ca"). Thus the container is registered as
   "hostsrv.com resolvable=yes". Once ICN receives Interest packet with
   name "chinamobile/johndoe", it sends resolution request to CNS. After
   two iterations of resolutions, NRS returns the resolution results.

                                                   Interest
                                            +-----------------------+
                                            |Content Name =         |
      +------------------+                  |{johndoe.com/blog      |
      |Register          |                  |/2012/June01           |
      |/chinamobile      |                  |/main.html             |
      |/johndoe  -->     |                  | |chinamobile/johndoe; |



Wang, et al.            Expires August 21, 2013                [Page 11]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


      |(replace = yes)   |----------+       | resolvable=yes}       |
      |{| cn/gd/sz ;     |          |       +-----------------------+
      |  TTL =100        |          |
      |  |hostsrv.com;   |          |
      |  resolvable=yes; |          v       +---------------------+
      |  TTL =5000}      |         +----+   |RESOLVE              |
      +------------------+         |CNS |   |/chinamobile/johndoe |
                                   +----+   +---------------------+
      +--------------------+        ^
      |Register            |        |       +-----------------------+
      |/hostsrv.com -->    |        |       |{|cn/gd/sz ; TTL =100  |
      |{|cn/gd ;           |        |       |  |hostsrv.com;        |
      | TTL =10000         |--------+       |  resolvable=yes;      |
      | |cn/beijing ;      |                |  TTL =5000}           |
      | TTL =10000         |                +-----------------------+
      | |us/ca; TTL =5000} |                           |
      +--------------------+                           V

                                            +-----------------------+
                                            |{|cn/gd/sz ;           |
                                            | TTL =100              |
                                            | |hostsrv.com;         |
                                            | resolvable=yes;       |
                                            | TTL =5000             |
                                            | ||cn/gd ; TTL =10000  |
                                            | ||cn/beijing ;        |
                                            | TTL =10000            |
                                            | ||us/ca; TTL =5000}   |
                                            +-----------------------+
                                Figure 8

   Another implementation method is to return the direct resolution
   result. If client wants to resolve the resolvable container, then it
   can send another resolution request. Figure 9 illustrates the
   procedure.
                                                 Interest
                                            +-----------------------+
                                            |Content Name =         |
      +------------------+                  |{johndoe.com/blog      |
      |Register          |                  |/2012/June01           |
      |/chinamobile      |                  |/main.html             |
      |/johndoe  -->     |                  | |chinamobile/johndoe; |
      |(replace = yes)   |----------+       | resolvable=yes}       |
      |{| cn/gd/sz ;     |          |       +-----------------------+
      |  TTL =100        |          |
      |  |hostsrv.com;   |          |
      |  resolvable=yes; |          v       +---------------------+
      |  TTL =5000}      |         +----+   |RESOLVE              |



Wang, et al.            Expires August 21, 2013                [Page 12]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


      +------------------+         |CNS |   |/chinamobile/johndoe |
                                   +----+   +---------------------+
      +--------------------+        ^
      |Register            |        |       +-----------------------+
      |/hostsrv.com -->    |        |       |{|cn/gd/sz ; TTL =100  |
      |{|cn/gd ;           |        |       |  |hostsrv.com;        |
      | TTL =10000         |--------+       |  resolvable=yes;      |
      | |cn/beijing ;      |                |  TTL =5000}           |
      | TTL =10000         |                +-----------------------+
      | |us/ca; TTL =5000} |
      +--------------------+                +---------------------+
                                            |RESOLVE              |
                                            |/hostsrv.com         |
                                            +---------------------+

                                            +-----------------------+
                                            |{||cn/gd ; TTL =10000  |
                                            | ||cn/beijing ;        |
                                            | TTL =10000            |
                                            | ||us/ca; TTL =5000}   |
                                            +-----------------------+
                                Figure 9

4 Execution Engine Process Logic

   Detailed steps:
   1.Is the receiving packet Interest packet or Data packet? If it is
   interest packet, go to step 2, otherwise, go to step 10.
   2.Check operation type. If it is "register/unregister" type, then go
   to step 3. If it is "resolve" type, then go to step 8
   3.Use this node as A-CNS? Yes, go to step 4, otherwise go to step 9.
   4.If it is "register" type, go to step 5, otherwise remove container
   names identified by Interest packet from the result list, go to step
   12.
   5.If container name about to register exists, go to step 6,
   otherwise, add new container name and associated resolution results
   to Table. Generate Data packet with successful status, go to step 7.
   6.
   i.If "replace=true", then replace the existing resolution results
   with the ones carried from interest packet, generate Data packet with
   successful status, go to step 7.
   ii.If "replace=false" or no replace property, then insert resolution
   results from interest packet to the front of the container list. If
   container name in interest packet is the same as of old resolution
   results, remove original associated table entry. Generate Data packet
   with successful status, go to step 7.
   7.(This optional step can be skipped and directly go to step 12).
   Traverse resolution results; index all resolvable containers. If a



Wang, et al.            Expires August 21, 2013                [Page 13]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


   resolvable container can't be resolved locally, then route Interest
   packet to the next level CNS or A-CNS of the container name. Wait for
   result carried back by Data packet. If the result is NULL, this
   container name cannot be resolved. Return failure status in Data
   packet, otherwise, create index to the next level resolution.
   Generate a complete Data packet with resolution results from all
   iterations, go to step 12.
   8.
     i.Does container name exist in the table? If not, then go to step
   9. If yes, then traverse all resolution results, insert generated
   Data packet. Go to step 12 after all results have been checked.
     ii.(Optional Step) If some of the results are resolvable
   ("resolvable=yes"), then resolve the container recursively by using
   this step. If the same result has been resolved (the same container
   name has been packaged into Data Packet), then ignore the result, and
   keep the traverse the next item (container name).
   9.Append container name of next level CNS or A-CNS to the content ID
   in Interest Packet per preset policy. If there is a container name
   associated to the node, remove it. Generate a new Interest packet and
   route it out, and waiting for the returning Data packet.
   10.If the reply Data packet is for register/unregister request,
   forward Data packet to the original requester, go to step 12. If the
   reply Data packet is for resolution request, go to 11.
   11.Create table entry per the content ID (container name in this
   context) and resolution result within the Data packet, If the same
   container name exists, replace or remove it from the table per the
   preset rules. Generate Data packet based on local table results. If
   resolution result is NULL then no table entry is created. If this
   resolution is triggered by previous REGISTER resolution, go to step
   7, otherwise, it is caused by RESOLVE resolution, go to step 6.
   12.Call network interface module to forward Interest or Data packet.

5  IANA Considerations

   No IANA consideration for this draft.

6 Conclusions

7  References

7.1  Normative References

7.2  Informative References

   [Cisco-Name]
              NDN and IP Routing, Can it Scale?
              http://trac.tools.ietf.org/group/irtf/trac/raw-
              attachment/wiki/icnrg/IRTF%20-



Wang, et al.            Expires August 21, 2013                [Page 14]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


              %20CCN%20And%20IP%20Routing%20-%202.pdf

   [CCN]      V. Jacobson et al. Networking named content. Proceedings
              of the 5th ACM International Conference on Emerging
              Networking Experiments and Technologies (CoNEXT 2009). NY:
              ACM; 2009; 1-12.

   [ICN-name] Ali Ghodsi et al. Naming in Content-Oriented
              Architectures. In ACM ICN workshop, 2011.

   [SCN]      D. Smetters and V. Jacobson. Securing Network Content.
              Technical report, PARC, October 2009.

   [Huawei-Name]
              Draft-ietf-icnrg-icn-naming-and-routing-00.txt.




































Wang, et al.            Expires August 21, 2013                [Page 15]


INTERNET DRAFT             ICN-Naming-Routing          February 17, 2013


Authors' Addresses


   Rong Wang
   Huawei Technologies
   Huawei Building,
   BanTian, LongGang District
   Shenzhen, GuangDong 518129
   P.R.CHINA

   EMail: WANG.RONG@huawei.com

   Chunfeng Yao
   Huawei Technologies
   Huawei Building,
   No.156, BeiQing Rd., Haidian District
   Beijing, 100095
   P.R. CHINA

   EMail: chunfengyao@huawei.com

   Zhefeng Yan
   Huawei Technologies
   Huawei Building,
   BanTian, LongGang District
   Shenzhen, GuangDong 518129
   P.R.CHINA

   EMail: yanzhefeng@huawei.com






















Wang, et al.            Expires August 21, 2013                [Page 16]