Internet DRAFT - draft-chung-dtn-extension-prophet-icn

draft-chung-dtn-extension-prophet-icn



Delay-Tolerant Networking                                  Y. W. Chung
Internet-Draft                                              M. W. Kang
Intended status: Informational                                  Y. Kim
Expires: April 27, 2021                            Soongsil University
                                                      October 28, 2020



        Extension of Probabilistic Routing Protocol using History of
        Encounters and Transitivity for Information Centric Network
               draft-chung-dtn-extension-prophet-icn-06.txt


Abstract

   This document proposes extension of probabilistic routing protocol
   using history of encounters and transitivity (PRoPHET) for
   information centric network.

Status of This memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on April 27, 2021.

Copyright Notice

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

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



Chung, et al.          Expires April 27, 2021                 [Page 1]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   Section 4.e of the Trust Legal Provisions and are provided without
   warranty as described in the Simplified BSD License.

Table of Contents


   1. Introduction ................................................. 2
   2. Conventions and Terminology .................................. 3
      2.1. Conventions ............................................. 3
      2.2. Terminology ............................................. 3
   3. Forwarding of Interest and Data for ICN ...................... 3
      3.1. Delivery predictability of PRoPHET ...................... 3
      3.2. Extension for Interest forwarding ....................... 4
      3.3. Extension for Data forwarding ........................... 4
      3.4. Extension for caching ................................... 5
      3.5. Operation of the proposed extension ..................... 7
      3.6. Extension for overload control ......................... 13
      3.7. Overload control based on context information .......... 17
      3.8. Extension for forwarding priority ...................... 18
   4. Security Considerations ..................................... 19
   5. IANA Considerations ......................................... 19
   6. References .................................................. 19
      6.1. Normative References ................................... 19
      6.2. Informative References ................................. 19


1. Introduction

   In Information centric network (ICN), a node requests Data by
   sending Interest packet and this Interest packet is forwarded
   through ICN routers. A router with the requested Data replies to the
   Interest to the requester and the Interest is delivered through a
   reverse path of the forwarded Interest. ICN router manages content
   store (CS), pending interest table (PIT), and forwarding information
   base (FIB) [George2014]. In CS, cached data is stored for future use.
   In PIT, the information of Interest, the incoming and outgoing faces
   of the Interest are stored, and this information is used to deliver
   Data to the requester using the reverse path of forwarded Interest.
   FIB is used to forward Interest to appropriate faces.

   ICN is considered important for communication of urgent messages in
   disaster situations [Edo2014]. In disaster situations, communication
   infrastructure is destroyed and networks are fragmented. In
   fragmented networks where connectivity between the nodes at
   different fragmented networks is not possible, opportunistic network
   such as delay tolerant networks (DTN) can be used to deliver
   messages. In DTN, a message is delivered to a destination node via


Chung, et al.          Expires April 27, 2021                 [Page 2]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   opportunistic contacts between intermediate nodes in a store-carry-
   forward way.

   Since forwarding of Interest and Data should be carried out
   opportunistically using DTN in fragmented networks, forwarding
   schemes of Interest and Data in connected ICN networks should be
   extended to accommodate the disruptive characteristics of DTN. In
   this draft, we consider probabilistic routing protocol using history
   of encounters and transitivity (PRoPHET)[RFC6693] for extension.
   Then, we propose forwarding schemes for Interest and Data of ICN.

2. Conventions and Terminology

2.1. Conventions

   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].

2.2. Terminology

   TBD

3. Forwarding of Interest and Data for ICN

3.1. Delivery predictability of PRoPHET

   In PRoPHET, delivery predictability is defined between any two nodes.
   The delivery predictability between node A and node B i.e., P(A,B),
   increases whenever node A and node B contact as follows:

      P(A,B)=P(A,B)_old+(1-delta-P(A,B)_old)*P_encounter,(1)

   where delta sets an upper bound for P(A,B) and P_encounter is a
   scaling factor to control the rate of increase [RFC6693].

   Also, it decreases as time elapses since the last contact as
   follows:

      P(A,B)=P(A,B)_old*gamma^K,(2)

   where 0<=gamma<=1 is an aging constant and K is the elapsed time.

   Finally, the delivery predictability has a transitive property i.e.,
   if node A and B encounter frequently, and node B and node C
   encounter frequently, then node A probably encounters node C as
   follows:


Chung, et al.          Expires April 27, 2021                 [Page 3]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


       P(A,C)=MAX(P(A,C)_old,P(A,B)*P(B,C)*beta),(3)

3.2. Extension for Interest forwarding

   Conventional DTN routing protocol is based on push model and the
   destination of a message is a specific node. However, pull model is
   used in ICN and Interest is forwarded based on content name, rather
   than node ID. In order to forward Interest to appropriate nodes
   which have the requested Data in its CS, the delivery predictability
   of a node A for the Interest i corresponding to the requested Data
   is defined as P(A,N(d_i)), similar to Eq. (1) as follows:

      P(A,N(d_i))

      =P(A,N(d_i))_old+(1-delta-P(A,N(d_i)_old)*P_encounter,(4)

   where N(d_i) represents a set of nodes with the Data corresponding
   to Interest i in its CS.

   In Eq. (4), P(A,N(d_i)) increases whenever node A contacts another
   node which has d_i in its CS, where the number of nodes having Data
   d_i is generally larger than 1, since d_i can be cached in multiple
   nodes by adopting the ICN approach. Similar to Eq. (2), the delivery
   predictability of a node to a node set N(d_i) decreases as time
   elapses since the last contact. We note that if node A has Data d_i,
   P(A,N(d_i))=1.

   When node A and node B contact, Interest i stored in node A is
   forwarded to node B, if P(A,N(d_i)) < P(B,N(d_i)), since node B is a
   more probable node to deliver Interest i to a node having d_i than
   node A. In this case, the information of requester nodes for
   Interest i is also delivered to node B. The information of requester
   nodes for the same Interest i stored in both node A and node B is
   shared, irrespective of the comparison of delivery predictabilities.
   For example, if node A has Interest i with requester R1 and if node
   B has Interest i with requester R2, both node A and node B have
   information of requesters R1 and R2 for Interest i after contact.

3.3. Extension for Data forwarding

   For the delivery of Data in DTN, there is no known reverse path like
   the one using PIT in ICN. Therefore, Data also should be delivered
   using DTN routing protocol, too. In the proposed extension, the
   information of requesters for the considered Data is used to forward
   the Data. If the number of requesters for the Data corresponding to
   Interest i is only one, the forwarding scheme of conventional
   PRoPHET can be applied directly since the destination of the Data is


Chung, et al.          Expires April 27, 2021                 [Page 4]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   a requester node and forwarding is carried out based on node ID.
   That is, if P(B,R(d_i)) is larger than P(A,R(d_i)), the Data d_i is
   forwarded to node B, where R(d_i) is defined as the requester node
   for the Data corresponding to Interest i.

   If there are multiple requesters for the Data corresponding to
   Interest i, current forwarding scheme of PRoPHET should be extended,
   too, based on the delivery predictability relationship of two
   contact nodes for each requester. In this draft, three forwarding
   schemes for multiple requesters are presented in as examples. If
   node A and B contact and node A has Data with multiple requesters,
   the Data can be forwarded to node B if any of the following
   condition is met depending on the selected policy:

   1) if the delivery predictability between node B and a requester is
   larger than that between node A and the corresponding requester for
   any requester,

   2) if the delivery predictability between node B and a requester is
   larger than that between node A and the corresponding requester for
   all requesters,

   3) if the average of the delivery predictabilities of node B and
   requesters are larger than that between node A and the corresponding
   requesters.

   For example, if node A has Data d_i with requesters R1 and R2 and if
   node B does not have Data d_i already when node A and node B contact,
   Data d_i in node A will be forwarded to node B depending on a Data
   forwarding policy as follows:

   1) if P(A,R1(d_i))<P(B,R1(d_i)) or if P(A,R2(d_i))<P(B,R2(d_i));(5)

   2) if P(A,R1(d_i))<P(B,R1(d_i)) and if P(A,R2(d_i))<P(B,R2(d_i));(6)

   3) if Average(P(A,R1(d_i)),P(A,R2(d_i)))

      < Average(P(B,R2(d_i)),P(B,R2)(d_i)).(7)

   Information on requesters is also delivered if Data is forwarded. If
   both node A and node B have the same Data, the information of
   requesters is shared between node A and node B.

3.4. Extension for caching

   In ICN, Data can be cached at the CS of nodes for future use.
   However, due to the limited memory size of CS of mobile nodes, it is


Chung, et al.          Expires April 27, 2021                 [Page 5]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   necessary to restrict the lifetime of the cached Data. In this draft,
   a TTL(time-to-live) value is defined for each cached Data. For
   simplicity, TTL of cached Data can be defined as a predefined
   constant value. For performance enhancement, however, the value of
   TTL can be defined as a dynamic value. For example, the value of TTL
   of cached Data can be determined depending on the delivery
   predictability to the requester node. If the number of requesters
   for the Data corresponding to Interest i is only one, the TTL value
   can be defined based on the delivery predictability of a node to the
   requester node. If the delivery predictability of a node to a
   requester node is higher, the node should cache the Data longer for
   a better delivery, and a higher value of TTL should be set. On the
   other hand, if the delivery predictability is lower, the TTL value
   should be set as a lower value. Therefore, TTL value can be a
   function of delivery predictability and various functions can be
   defined. For example, a linear function for TTL can be defined based
   on the delivery predictability as shown in Eq. (8) when the Data is
   initially cached:

      TTL_init=(TTL_max-TTL_min)*P(A,requester)+TTL_min,(8)

   where TTL_max and TTL_min are predefined maximum TTL value and
   minimum TTL value, respectively.

   As time elapses, the value of TTL decreases and if it expires, the
   cached Data are removed from the CS. Since the delivery
   predictability increases according to Eqns. (1) and (3), we need to
   increase the current TTL value depending on the current delivery
   predictability value. This is because if the delivery predictability
   increases according to Eqns. (1) and (3), it is more probable to
   deliver the cached Data to the destination and thus, TTL should be
   extended for better delivery. The amount of increased TTL value can
   be defined in various ways. For example, if

      TTL_new=TTL_current

      +(TTL_max-TTL_min)*(P(A,requester)_new-P(A,requester)_old),(9)

   where TTL_new and TTL_current are updated TTL value and current TTL
   value, respectively, and P(A,requester)_new and P(A,requester)_old
   are updated delivery predictability value and current delivery
   predictability value, respectively. We note that since TTL value
   naturally decreases as time elapses, the effect of decreasing
   delivery predictability based on Eq. (2) on TTL value is not
   considered to additionally decrease the current TTL value.




Chung, et al.          Expires April 27, 2021                 [Page 6]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   If the number of requesters for the Data corresponding to Interest i
   is multiple, the TTL value can be determined based on the delivery
   predictability of a node to the requester nodes. In this draft,
   three schemes are proposed to determine the TTL value using delivery
   predictability in Eq. (9) for multiple requesters are presented as
   follows:

   1) TTL value is defined based on the minimum value of delivery
   predictabilities to the requester nodes,

   2) TTL value is defined based on the maximum value of delivery
   predictabilities to the requester nodes,

   3) TTL value is defined based on the average value of delivery
   predictabilities to the requester nodes,

   The TTL value for multiple requesters can be updated corresponding
   to the varying values of delivery predictability in the selected
   scheme, too, similar to the case where the requester node is only
   one.

3.5. Operation of the proposed extension

   In the proposed forwarding scheme, whenever node A and node B
   contact, they exchange Interest list and Data list. Interest list
   contains all the Interests that they receive from other nodes, where
   information for the requesters for Interest i is also managed in
   Interest list. Data list contains all Data that they cache in their
   CS for future delivery. Also, the information for the destination
   nodes of the Data, i.e., requesters, is also managed in Data list.
   Then, node A compares its Interest list with node B's Interest list
   and forwards Interest i to Node B if node B does not have the
   Interest and P(B,N(d_i)) is larger than P(A,N(d_i)). The information
   of requester nodes for the same Interest i stored in both node A and
   node B is shared between both node A and node B after the contact.














Chung, et al.          Expires April 27, 2021                 [Page 7]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |  Interest List in Node A   |  |  Interest List in Node B   |  |
   |  +============================+  +============================+  |
   |  |  ID  | Data ID | Requester |  |  ID  | Data ID | Requester |  |
   |  +======+=========+===========+  +======+=========+===========+  |
   |  |  i_1 |   d_1   |    R1     |  |  i_3 |   d_1   |    R3     |  |
   |  +------+---------+-----------+  +============================+  |
   |  |  i_2 |   d_2   |    R2     |  +============================+  |
   |  +------+---------+-----------+  |    Data List in Node B     |  |
   |  |  i_4 |   d_4   |    R1     |  +============================+  |
   |  +============================+  |  ID  |      Requester      |  |
   |                                  +======+=====================+  |
   |                                  |  d_3 |          R4         |  |
   |                                  +============================+  |
   |                            ___  ___                              |
   |                           /   \/   \                             |
   |                          (  A () B  )                            |
   |                           \___/\___/                             |
   |                                                                  |
   |                     <Node A contacts node B>                     |
   +------------------------------------------------------------------+
               Fig 1. Interest Forwarding Procedure (at time t)

   Each node has a table for delivery predictability to a set of nodes
   with Data corresponding to Interest in each node, as shown in Tables
   1 and 2.

   Table 1. Delivery predictability to a set of nodes with Data
   corresponding to Interest in node A(at time t)
   +==============================+
   |  Node  |       Delivery      |
   |  set   |    Predictability   |
   +========+=====================+
   | N(d 1) |         0.5         |
   +--------+---------------------+
   | N(d_2) |         0.6         |
   +--------+---------------------+
   | N(d_4) |         0.8         |
   +==============================+

   Table 2. Delivery predictability to a set of nodes with Data
   corresponding to Interest in node B(at time t)
   +==============================+
   |  Node  |       Delivery      |
   |  set   |    Predictability   |
   +========+=====================+


Chung, et al.          Expires April 27, 2021                 [Page 8]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   | N(d_1) |         0.3         |
   +--------+---------------------+
   | N(d_2) |         0.7         |
   +==============================+

   After the contact of node A and node B, the requester information
   for the same Data ID in Interest table is shared and thus requesters
   R1 and R3 are stored in both node A and node B. Since the delivery
   predictability of N(d_2) of node B is higher than that of node A,
   requester information R2 is forwarded to node B.

   Since node A contacts with node B which has Data d_3 in its cache,
   delivery predictability of node A is updated, as shown in Table 3.
   Since node B does not have delivery predictability to a node set
   N(d_4) before contact, the delivery predictability of node B to a
   node set is updated using transitivity property.

   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |  Interest List in Node A   |  |  Interest List in Node B   |  |
   |  +============================+  +============================+  |
   |  |  ID  | Data ID | Requester |  |  ID  | Data ID | Requester |  |
   |  +======+=========+===========+  +======+=========+===========+  |
   |  |  i_1 |   d_1   |  R1, R3   |  |  i_3 |   d_1   |  R1, R3   |  |
   |  +------+---------+-----------+  +------+---------+-----------+  |
   |  |  i_2 |   d_2   |    R2     |  |  i_2 |   d_2   |    R2     |  |
   |  +------+---------+-----------+  +============================+  |
   |  |  i_4 |   d_4   |    R1     |  +============================+  |
   |  +============================+  |       Data List in B       |  |
   |                                  +============================+  |
   |                                  |  ID  |      Requester      |  |
   |                                  +======+=====================+  |
   |                                  |  d_3 |          R4         |  |
   |                                  +============================+  |
   |                        ___          ___                          |
   |                       /   \        /   \                         |
   |                      (  A  )      (  B  )                        |
   |                       \___/        \___/                         |
   |                                                                  |
   |                   <Node A disconnects node B>                    |
   +------------------------------------------------------------------+
             Fig 2. Interest Forwarding Procedure (at time t+dt)







Chung, et al.          Expires April 27, 2021                 [Page 9]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   Table 3. Delivery predictability to a set of nodes with Data
   corresponding to Interest in node A(at time t+dt)
   +==============================+
   |  Node  |       Delivery      |
   |  set   |    Predictability   |
   +========+=====================+
   | N(d_1) |         0.5         |
   +--------+---------------------+
   | N(d_2) |         0.6         |
   +--------+---------------------+
   | N(d_4) |         0.8         |
   +--------+---------------------|
   | N(d_3) |         0.5         |
   +==============================+

   Table 4. Delivery predictability to a set of nodes with Data
   corresponding to Interest in node B(at time t+dt)
   +==============================+
   |  Node  |       Delivery      |
   |  set   |    Predictability   |
   +========+=====================+
   | N(d_1) |         0.3         |
   +--------+---------------------+
   | N(d_2) |         0.7         |
   +--------+---------------------+
   | N(d_4) |         0.36        |
   +==============================+

   For Data forwarding, node A checks Data list. If node A has only one
   requester information for the considered Data, node A forwards Data
   d_i, which corresponds to Interest i, if node B does not have the
   Data and P(B,R(d_i)) is larger than P(A,R(d_i)). If node A has
   multiple requesters information for the considered Data, Data can be
   forwarded to node B if any of forwarding condition for multiple
   requesters defined in this draft is met, as proposed in Eqns. (4)-
   (6). Information on requesters is delivered if Data is forwarded. If
   both node A and node B have the same Data, the information of
   requesters is shared between node A and node B after the contact.

   Figures 3 and 4 show an example of the proposed Data forwarding
   procedure. Each node has a Data list table, where the information of
   Data and requester who requested the Data is stored.







Chung, et al.          Expires April 27, 2021                [Page 10]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |      Data List in Node C   |  |    Data List in Node D     |  |
   |  +============================+  +============================+  |
   |  |  ID  |      Requester      |  |  ID  |      Requester      |  |
   |  +======+=====================+  +======+=====================+  |
   |  |  d_1 |       R1, R3        |  |  d_2 |         R4          |  |
   |  +------+---------------------+  +============================+  |
   |  |  d_2 |         R2          |                                  |
   |  +============================+                                  |
   |                            ___  ___                              |
   |                           /   \/   \                             |
   |                          (  C () D  )                            |
   |                           \___/\___/                             |
   |                                                                  |
   |                     <Node C contacts node D>                     |
   +------------------------------------------------------------------+
                Fig 3. Data Forwarding Procedure (at time t)

   Table 5 and Table 6 show delivery predictability to requester node
   for corresponding data in each node.

   Table 5. Delivery predictability to requester node for corresponding
   Data in node C (at time t)
   +==============================+
   |  Node  |       Delivery      |
   |   ID   |    Predictability   |
   +========+=====================+
   |   R1   |          0.9        |
   +--------+---------------------+
   |   R2   |          0.6        |
   +--------+---------------------+
   |   R3   |          0.2        |
   +--------+---------------------+
   |   R4   |          0.7        |
   +==============================+

   Table 6. Delivery predictability to requester node for corresponding
   Data in node D (at time t)
   +==============================+
   |  Node  |       Delivery      |
   |   ID   |    Predictability   |
   +========+=====================+
   |   R1   |          0.7        |
   +--------+---------------------+
   |   R2   |          0.7        |
   +--------+---------------------+


Chung, et al.          Expires April 27, 2021                [Page 11]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   |   R3   |          0.6        |
   +--------+---------------------+
   |   R4   |          0.9        |
   +==============================+

   As shown in Figure 4, requester information is shared between two
   nodes. Thus requester information for Data d_2 is shared as R2 and
   R4 and the requester information for Data d_1 of node A is
   transferred to node B.

   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |    Data List in Node C     |  |    Data List in Node D     |  |
   |  +============================+  +============================+  |
   |  |  ID  |      Requester      |  |  ID  |      Requester      |  |
   |  +======+=====================+  +======+=====================+  |
   |  |  d_1 |       R1, R3        |  |  d_2 |       R4, R2        |  |
   |  +------+---------------------+  +------+---------------------+  |
   |  |  d_2 |       R2, R4        |  |  d_1 |       R1, R3        |  |
   |  +============================+  +============================+  |
   |                        ___          ___                          |
   |                       /   \        /   \                         |
   |                      (  C  )      (  D  )                        |
   |                       \___/        \___/                         |
   |                                                                  |
   |                   <Node C disconnects node D>                    |
   +------------------------------------------------------------------+
               Fig 4. Data Forwarding Procedure (at time t+dt)

   Table 7 and Table 8 show delivery predictability to requester node
   for corresponding data in node A and node B, respectively after the
   contact, where the delivery predictability is updated.

   Table 7. Delivery Predictability to requester node for corresponding
   data in node C (at time t+dt)
   +==============================+
   |  Node  |       Delivery      |
   |   ID   |    Predictability   |
   +========+=====================+
   |   R1   |          0.9        |
   +--------+---------------------+
   |   R2   |          0.6        |
   +--------+---------------------+
   |   R3   |          0.27       |
   +--------+---------------------+
   |   R4   |          0.7        |
   +--------+---------------------+


Chung, et al.          Expires April 27, 2021                [Page 12]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   |   D    |          0.5        |
   +==============================+

   Table 8. Delivery Predictability to requester node for corresponding
   data in node D (at time t+dt)
   +==============================+
   |  Node  |       Delivery      |
   |   ID   |    Predictability   |
   +========+=====================+
   |   R1   |          0.7        |
   +--------+---------------------+
   |   R2   |          0.7        |
   +--------+---------------------+
   |   R3   |          0.6        |
   +--------+---------------------+
   |   R4   |          0.9        |
   +--------+---------------------+
   |   C    |          0.5        |
   +==============================+

3.6. Extension for overload control

   In the proposed forwarding scheme, a requester node which issues an
   Interest message does not know whether the Interest message has been
   delivered to a node which has the requested Data until it receives a
   requested Data. Therefore, unnecessary Interest messages may be
   forwarded further even though it has been successfully delivered to
   a node which has the requested Data already. Also, unnecessary Data
   may be forwarded further even though it has been delivered to a
   requester node already. Therefore, it is necessary to limit this
   unnecessary overload of Interest and Data efficiently. In this
   draft, we propose an extension for overload control, which is
   basically based on the schemes proposed in the work in [Hass2006].

   In the proposed overload control, we manage delivered Interest and
   Data list in the pending anti-Interest and Data (PAID) table. If
   node A forwards an Interest message i_1 to a node B which has the
   requested Data d_1, we can apply one of the following three schemes
   to limit the forwarding of the satisfied Interest message
   efficiently as follows:

   1) Scheme A: the node A removes the delivered Interest i_1 from its
      Interest list and sets anti-Interest flag for the Interest message
      i_1 in PAID table. Then, node A does not accept the i_1 again.

   2) Scheme B: the node A removes the delivered Interest i_1 from its
      Interest list and sets anti-Interest flag for the Interest


Chung, et al.          Expires April 27, 2021                [Page 13]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


      message i_1 in PAID table, and does not accept the i_1 again.
      Further, if node A contacts another node C which has the same
      Interest i_1, it shares anti-Interest flag with node C. Then, node
      C removes the Interest i_1 from the Interest list and sets anti-
      Interest flag for the Interest message i_1 in PAID table. The node
      C does not accept the i_1 again.

   3) Scheme C: the node A removes the delivered Interest i_1 from its
      Interest list and sets anti-Interest flag for the Interest message
      i_1 in PAID table, and does not accept the i_1 again. Further, if
      node A contacts any node, it shares anti-Interest flag with the
      contact node. If the contact node has the Interest i_1 already, it
      removes the Interest i_1 from the Interest list and sets anti-
      Interest flag for the Interest message i_1 in PAID table, and does
      not accept the Interest i_1 again. Otherwise, it just sets anti-
      Interest flag for the Interest message i_1 in PAID table and does
      not accept the i_1 again.

   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |  Interest List in Node A   |  |  Interest List in Node C   |  |
   |  +============================+  +============================+  |
   |  |  ID  | Data ID | Requester |  |  ID  | Data ID | Requester |  |
   |  +======+=========+===========+  +======+=========+===========+  |
   |  |  i_1 |   d_1   |    R1     |  |  i_3 |   d_1   |    R3     |  |
   |  +============================+  +============================+  |
   |  +============================+  +============================+  |
   |  |    PAID table in Node A    |  |    PAID table in Node C    |  |
   |  +============================+  +============================+  |
   |  |Data ID| Requester ID| Flag |  |Data ID| Requester ID| Flag |  |
   |  +============================+  +============================+  |
   |  |  d_1  |     R1      |  0   |  |  d_1  |     R1      |  1   |  |
   |  +============================+  +       +-------------+------+  |
   |                                  |       |     R3      |  0   |  |
   |                                  +============================+  |
   |                        ___          ___                          |
   |                       /   \        /   \                         |
   |                      (  A  )      (  C  )                        |
   |                       \___/        \___/                         |
   |                                                                  |
   |                     <Node A contacts node C>                     |
   +------------------------------------------------------------------+
             Fig 5. Overload control for Interest (at time t)






Chung, et al.          Expires April 27, 2021                [Page 14]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |  Interest List in Node A   |  |  Interest List in Node C   |  |
   |  +============================+  +============================+  |
   |  |  ID  | Data ID | Requester |  |  ID  | Data ID | Requester |  |
   |  +======+=========+===========+  +======+=========+===========+  |
   |  |  i_1 |   d_1   |    R3     |  |  i_3 |   d_1   |    R3     |  |
   |  +============================+  +============================+  |
   |  +============================+  +============================+  |
   |  |    PAID table in Node A    |  |    PAID table in Node C    |  |
   |  +============================+  +============================+  |
   |  |Data ID| Requester ID| Flag |  |Data ID| Requester ID| Flag |  |
   |  +============================+  +============================+  |
   |  |  d_1  |     R1      |  1   |  |  d_1  |     R1      |  1   |  |
   |  +       +-------------+------+  +       +-------------+------+  |
   |  |       |     R3      |  0   |  |       |     R3      |  0   |  |
   |  +============================+  +============================+  |
   |                        ___          ___                          |
   |                       /   \        /   \                         |
   |                      (  A  )      (  C  )                        |
   |                       \___/        \___/                         |
   |                                                                  |
   |                   <Node A disconnects node C>                    |
   +------------------------------------------------------------------+
             Fig 6. Overload control for Interest (at time t+dt)

   Similar approaches can be applied to delivered Data, too. If Data
   d_2 is delivered to a node E from a node D, which requested the Data
   d_2 before, we can apply one of the following three schemes to limit
   the forwarding of the delivered Data efficiently as follows:

   1) Scheme D: the node D removes the delivered Data d_2 from its Data
      list and sets anti-Data flag for the Data d_2 in PAID table. Then,
      node D does not accept the d_2 again.

   2) Scheme E: the node D removes the delivered Data d_2 from its Data
      list and sets anti-Data flag for the Data d_2 in PAID table, and
      does not accept the d_2 again. Further, if node D contacts another
      node F which has the same Data d_2, it shares anti-Data flag with
      node F. Then, node F removes the Data d_2 from the Data list and
      sets anti-Data flag for the Data d_2 in PAID table. The node F
      does not accept the d_2 again.

   3) Scheme F: the node D removes the delivered Data d_2 from its Data
      list and sets anti-Data flag for the Data d_2 in PAID table, and
      does not accept the d_2 again. Further, if node D contacts any
      node, it shares anti-Data flag with the contact node. If the


Chung, et al.          Expires April 27, 2021                [Page 15]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


      contact node has the Data d_2 already, it removes the Data d_2
      from Data list and sets anti-Data flag for the Data d_2 in PAID
      table, and does not accept the Data d_2 again. Otherwise, it just
      sets anti-Data flag for the Data d_2 in PAID table and does not
      accept the d_2 again.

   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |    Data List in Node D     |  |    Data List in Node F     |  |
   |  +============================+  +============================+  |
   |  |  ID  |      Requester      |  |  ID  |      Requester      |  |
   |  +======+=====================+  +======+=====================+  |
   |  |      |                     |  |  d_2 |         D           |  |
   |  +------+---------------------+  +============================+  |
   |  +============================+  +============================+  |
   |  |    PAID table in Node D    |  |    PAID table in Node F    |  |
   |  +============================+  +============================+  |
   |  |Data ID| Requester ID| Flag |  |Data ID| Requester ID| Flag |  |
   |  +============================+  +============================+  |
   |  |  d_2  |      D      |  0   |  |  d_2  |     D       |  0   |  |
   |  +============================+  +       +-------------+------+  |
   |                                  |       |     R4      |  1   |  |
   |                                  +============================+  |
   |                        ___          ___                          |
   |                       /   \        /   \                         |
   |                      (  D  )      (  F  )                        |
   |                       \___/        \___/                         |
   |                                                                  |
   |                     <Node D contacts node F>                     |
   +------------------------------------------------------------------+
             Fig 7. Overload control for Data (at time t)


















Chung, et al.          Expires April 27, 2021                [Page 16]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   +------------------------------------------------------------------+
   |  +============================+  +============================+  |
   |  |    Data List in Node D     |  |    Data List in Node F     |  |
   |  +============================+  +============================+  |
   |  |  ID  |      Requester      |  |  ID  |      Requester      |  |
   |  +======+=====================+  +======+=====================+  |
   |  |      |                     |  |      |                     |  |
   |  +------+---------------------+  +============================+  |
   |  +============================+  +============================+  |
   |  |    PAID table in Node D    |  |    PAID table in Node F    |  |
   |  +============================+  +============================+  |
   |  |Data ID| Requester ID| Flag |  |Data ID| Requester ID| Flag |  |
   |  +============================+  +============================+  |
   |  |  d_2  |      D      |  1   |  |  d_2  |     D       |  1   |  |
   |  +       +-------------+------+  +       +-------------+------+  |
   |  |       |     R4      |  1   |  |       |     R4      |  1   |  |
   |  +============================+  +============================+  |
   |                        ___          ___                          |
   |                       /   \        /   \                         |
   |                      (  D  )      (  F  )                        |
   |                       \___/        \___/                         |
   |                                                                  |
   |                   <Node D disconnects node F>                    |
   +------------------------------------------------------------------+
             Fig 8. Overload control for Data (at time t+dt)

3.7. Overload control based on context information

   The overload control schemes in Section 3.6 can be applied
   dynamically, depending on the context information of Interest and
   Data, since forwarding of Interest and Data should be treated
   efficiently by considering context information. In the proposed
   scheme, a non-overload control scheme is basically applied and if a
   condition is met, overload control scheme proposed in Section 3.6 is
   applied. Although numerous context information can be used, we
   consider the number of hop counts, TTL, and the number of requester
   nodes as examples as follows:

   1) Number of hop counts: If the number of hop counts of Interest and
      Data are not larger than threshold values, an overload control
      scheme is not applied. Otherwise, an overload control scheme is
      applied. The threshold value of Interest and Data can be defined
      differently depending on the urgency of the Interest and Data.

   2) TTL: If the TTL values of Interest and Data are not lager than
      threshold values, an overload control scheme is not applied.
      Otherwise, an overload control scheme is applied. This is because


Chung, et al.          Expires April 27, 2021                [Page 17]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


      if TTL of Interest and Data is larger, it means that it has been
      forwarded more, and thus overload control scheme is needed to
      avoid unnecessary forwarding.

   3) Number of requester nodes: If the number of requester nodes of
      Interest and Data are not larger than threshold values, an
      overload control scheme is not applied. Otherwise, an overload
      control scheme is applied. This is because if the number of
      request nodes is smaller, more message dissemination is favorable
      and thus, overload control scheme should not be applied.

3.8. Extension for forwarding priority

   In PRoPHET protocol, if there are multiple messages to be forwarded
   to a contact node, the messages are sorted based on the delivery
   predictability of the contact node to the destination node of those
   messages, and messages are forwarded in descending order of delivery
   predictability of a contact node to the destination nodes. In ICN,
   there may be multiple requester nodes for a requested Data, and thus,
   Interest should be forwarded in descending order of delivery
   predictability of a contact node B to the set of nodes with the Data
   d_i corresponding to the Interest i, i.e., P(B,N(d_i)).

   Also, since the number of requesters for Interest i, i.e., NR(i),
   may be different for each Interest i, this information can be used
   for determining forwarding priority. In this case, it is reasonable
   to assume that Interest with more number of requesters has a higher
   forwarding priority.

   Since Interest may have different priority depending on the urgency
   of the Interest, urgency priority can be defined and it can be used
   for determining forwarding priority, too. For example, Interest
   requesting rescue in disaster environment may have higher priority
   than general content request. Urgency priority of Interest i, i.e.,
   UP(i), can be defined for each Interest request appropriately with
   values from 0 to 1, depending on the urgency of the Interest, where
   higher value has higher urgency priority. It is reasonable to assume
   that Interest with higher Interest priority has a higher forwarding
   priority.

   The above mentioned delivery predictability of a contact node to the
   set of nodes with the requested Data for Interest, the number of
   requesters for Interest, and the urgency priority can be used
   separately for determining forwarding priority, depending on the
   policy. Also, they can be used together by combining them
   appropriately. For example, forwarding priority for Interest i,
   FP(i) to a contact node B can be defined as follows:


Chung, et al.          Expires April 27, 2021                [Page 18]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


      FP(i)=P(B,N(d_i))*(NR(i)/NR_threshold)*UP(i),(10)

   where NR_thereshold is an adjustment constant to control the effect
   of NR(i) appropriately, compared to P(B,N(d_i)) and UP(i), which
   have values between 0 and 1.

4. Security Considerations

   TBD

5. IANA Considerations

   TBD

6. References

   6.1. Normative References

   [RFC6693] Lindgren, A., Doria, A., Davies, E., Grasic, S,
             "Probabilistic routing protocol for intermittently
             connected networks", RFC 6693, August 2012.

   6.2. Informative References

   [George2014]
             Xylomenos, G. Ververidis, C. N., Siris, V. A., Fotiou, N.,
             Tsilopoulos, C., Vasilakos, X., Katsaros, K. V. Polyzos, G.
             C., "A Survey of Information-Centric Networking Research",
             IEEE Communications Surveys and Tutorials, Vol. 16, No. 2,
             2014.

   [Edo2014] Monticelli, E., Schubert, B. M., Arumaithurai, M., Fu, X.,
             Ramakrishnan, K. K., "An Information Centric Approach for
             Communications in Disaster Situations," Proceedings of
             IEEE Local & Metropolitan Area Networks, USA, May 2014.

   [Hass2006]
             Hass, Z. J., Small, T., "A new networking model for
             biological applications of ad hoc sensor networks",
             IEEE/ACM Transactions on Networking, Vol. 14, No. 1, pp.
             27-40, Feb.,2006.








Chung, et al.          Expires April 27, 2021                [Page 19]

Internet-Draft      Extension of PRoPHET for ICN          October 2020


   Authors' Addresses

   Yun Won Chung
   Soongsil University
   369, Sangdo-ro, Dongjak-gu,
   Seoul, 06978, Korea

   Email: ywchung@ssu.ac.kr


   Min Wook Kang
   Soongsil University
   369, Sangdo-ro, Dongjak-gu,
   Seoul, 06978, Korea

   Email: goodlookmw@gmail.com


   Younghan Kim
   Soongsil University
   369, Sangdo-ro, Dongjak-gu,
   Seoul, 06978, Korea

   Email: younghak@ssu.ac.kr
























Chung, et al.          Expires April 27, 2021                [Page 20]