Abstract:
There is provided a relay apparatus including a memory, and a processor coupled to the memory and the processor configured to receive a first packet including an identifier for indicating a content, determine whether or not the content indicated by the identifier included in the first packet is saved in a cache, transmit a second packet including a source address of the first packet and the identifier when it is determined that the content is not saved in the cache, and transmit a third packet including an address of the relay apparatus and the identifier when it is determined that the content is saved in the cache.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-141695, filed on Jul. 19, 2016, the entire contents of which are incorporated herein by reference. 
       FIELD 
       [0002]    The embodiments discussed herein are related to a relay apparatus and a relay method. 
       BACKGROUND 
       [0003]    In recent years, for example, a network technology called content centric networking (CCN) has been known for distributing contents such as videos and audios. CCN is also called, for example, information centric networking (ICN) or named data networking (NDN). CCN allows a user to acquire desired contents by using a contents name indicating the desired contents as a key without being conscious of the location of a server in which the desired contents are stored. 
         [0004]    A user terminal transfers an Interest packet including the content name indicating the desired contents to the server via a relay node in a network. The relay node relays the Interest packet by Hop-by-Hop communication. Then, when the Interest packet is received, the server acquires the contents corresponding to the contents name in the Interest packet from a storage destination. The server transfers the contents to each relay node on a path through which the Interest packet is transferred. When the contents are received, each relay node stores the received contents in a cache. Then, the relay node transfers the contents stored in the cache to the user terminal. 
         [0005]    Related technologies are disclosed in, for example, Japanese Laid-Open Patent Publication No. 2013-179482 and Japanese Laid-Open Patent Publication No. 2015-136098. 
       SUMMARY 
       [0006]    According to an aspect of the invention, a relay apparatus includes a memory, and a processor coupled to the memory and the processor configured to receive a first packet including an identifier for indicating a content, determine whether or not the content indicated by the identifier included in the first packet is saved in a cache, transmit a second packet including a source address of the first packet and the identifier when it is determined that the content is not saved in the cache, and transmit a third packet including an address of the relay apparatus and the identifier when it is determined that the content is saved in the cache. 
         [0007]    The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
         [0008]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0009]      FIG. 1  is an explanatory view illustrating an example of a CCN system according to a first embodiment; 
           [0010]      FIG. 2  is an explanatory view illustrating an example of a relay node; 
           [0011]      FIG. 3  is an explanatory view illustrating an example of the entry configuration of FIB; 
           [0012]      FIG. 4  is an explanatory view illustrating an example of the entry configuration of PIT; 
           [0013]      FIG. 5  is an explanatory view illustrating an example of the entry configuration of a conversion table; 
           [0014]      FIG. 6  is an explanatory view illustrating an example of a processing operation in a CCN system related to contents request processing; 
           [0015]      FIG. 7  is an explanatory view illustrating an example of a processing operation in a CCN system related to contents transfer processing; 
           [0016]      FIG. 8  is a sequence diagram illustrating an example of a series of processing operations in a CCN system from contents request to contents acquisition; 
           [0017]      FIG. 9  is a flowchart illustrating an example of a processing operation of a relay node related to reception processing; 
           [0018]      FIG. 10  is a flowchart illustrating an example of a processing operation of a relay node related to relay processing; 
           [0019]      FIG. 11  is an explanatory view illustrating an example of a processing operation from contents request to contents acquisition in a CCN system according to a second embodiment; and 
           [0020]      FIG. 12  is an explanatory view illustrating an example of a processing operation from contents request to contents acquisition of a CCN system according to a third embodiment. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0021]    Each relay node in a CCN system may set whether or not a cache is required, that is, whether or not to save received contents in a cache, based on a predetermined algorithm. That is, in a relay node on a path through which an Interest packet is transferred, received contents are saved in a cache when the cache is required, but the received contents are not saved in a cache when the cache is not required. Therefore, it is unnecessary to transfer the received contents to a relay node in which the cache is not required among a plurality of relay nodes on the path through which the Interest packet is transferred. 
         [0022]    However, since the received contents are also transferred to the relay node in which the cache is not required, the time required for transferring the received contents becomes long, and the transfer rate of the received contents is lowered. Therefore, an optimal routing may be performed to increase the transfer rate of the received contents. 
         [0023]    Embodiments of a relay apparatus and a relay method capable of increasing a transfer rate will be described in detail below with reference to accompanying drawings. However, the disclosed technology is not limited by these embodiments. Further, these embodiments may be appropriately combined with each other within a scope that does not cause inconsistency. 
       First Embodiment 
       [0024]      FIG. 1  is an explanatory view illustrating an example of a CCN system  1  according to a first embodiment. The CCN system  1  illustrated in  FIG. 1  includes a user terminal  2 , a server  3 , a plurality of relay nodes  4 , and a plurality of IP routers  5 . The user terminal  2  is a communication terminal used by a user, for example, a personal computer, a smartphone or the like. The server  3  is a server that stores contents. The relay nodes  4  are CCN-compliant relay nodes that connect between the user terminal  2  and the server  3 . For convenience of explanation, the relay nodes  4  illustrated in  FIG. 1  are assumed as six relay nodes  4  of # 1  to # 6 . The IP routers  5  are IP-compliant routers that connect between the user terminal  2  and the server  3 . For convenience of explanation, the IP routers  5  illustrated in  FIG. 1  are assumed as three IP routers  5  of #a to #c. Not only the relay nodes  4  but also the IP routers  5  are in a state of being mixed between the user terminal  2  and the server  3 . The relay nodes  4  relay signals by Hop-by-Hop communication. 
         [0025]      FIG. 2  is an explanatory view illustrating an example of a relay node  4 . As illustrated in  FIG. 2 , the relay node  4  includes a network interface (NWIF)  11 , a memory  12 , a control processing unit (CPU)  13 , and a bus  14 . The NWIF  11  is, for example, an IF responsible for communication with the user terminal  2 , the server  3 , the relay nodes  4 , the IP routers  5  and so on. The memory  12  is an area storing various programs and information related to the relay nodes  4 . The CPU  13  controls the entire relay nodes  4 . The bus  14  is a bus that mutually communicates data between the NWIF  11 , the memory  12 , and the CPU  13 . The relay node is an example of a relay apparatus. 
         [0026]    In addition, the functions executed by the CPU  13  in the memory  12  include a CCN layer function  13 A, a transport layer function  13 B, and an IP layer function  13 C. The CCN layer function  13 A is a function executed with the protocol of the CCN layer. The transport layer function  13 B is a function executed with the protocol of the transport layer. The IP layer function  13 C is a function executed with the protocol of the IP layer. 
         [0027]    The CCN layer function  13 A includes an Interest control unit  21 , a cache control unit  22 , a contents transfer unit  23 , and a path setting unit  24 . The Interest control unit  21  generates an Interest packet for requesting the server  3  to provide contents. The cache control unit  22  includes a determination unit  22 A. The determination unit  22 A determines whether or not to cache received contents, based on a predetermined algorithm. The “predetermined algorithm” used herein refers to an algorithm for estimating popular contents from the number of times of contents request to determine whether or not a cache is required. Therefore, the cache control unit  22  may decide whether to cache the contents corresponding to a contents name in the Interest packet, based on the contents name. When it is determined by the determination unit  22 A that a cache is required, the cache control unit  22  saves the received contents in a cache  31 . The contents transfer unit  23  transfers the received contents. The path setting unit  24  sets a short cut path based on a pending information table (PIT) and a conversion table to be described later. 
         [0028]    The transport layer function  13 B includes a transmission control protocol (TCP) control unit  25  and a user datagram protocol (UDP) control unit  26 . When the quality of service (QoS) of a section path set by the path setting unit  24  has no bandwidth guarantee, the TCP control unit  25  establishes, as the protocol of the transport layer, for example, a TCP connection that executes congestion control, retransmission control, etc., on the section path. When the QoS of the section path set by the path setting unit  24  has any bandwidth guarantee, the UDP control unit establishes, as the protocol of the transport layer, for example, a UDP connection with small processing load, on the section path without executing congestion control, retransmission control, etc. The IP layer function  13 C has an IP control unit  27  that executes the IP protocol. 
         [0029]    Further, an area in the memory for storing various data includes a cache  31 , a forwarding information base (FIB)  32 , a PIT  33 , and a conversion table  34 . The cache  31  is an area for caching received contents. The FIB  32  is a table for storing Face when transferring the Interest packet corresponding to the content name to the next hop. The “Face” used herein is equivalent to IF in the CCN technology.  FIG. 3  is an explanatory view illustrating an example of the entry configuration of the FIB  32 .  FIG. 3  illustrates a # 3  FIB  32  in a # 3  relay node  4 . The # 3  FIB  32  illustrated in  FIG. 3  is an area for storing a contents name  32 A and a transfer destination Face  32 B in association with each other. The contents name  32 A is an identifier for identifying contents. The transfer destination Face  32 B is Face of a transfer destination to which the received Interest packet is transferred. 
         [0030]    The PIT  33  is a table used when the received contents are transferred.  FIG. 4  is an explanatory view illustrating an example of the entry configuration of a # 3  PIT  33 .  FIG. 4  illustrates the # 3  PIT  33  in the # 3  relay node  4 . The # 3  PIT  33  illustrated in  FIG. 4  is an area for storing a contents name  33 A and a request source Face  33 B in association with each other. The contents name  33 A is an identifier for identifying contents. The request source Face  33 B is a request source Face of the Interest packet, that is, a transfer destination Face when the received contents are transferred. 
         [0031]    The conversion table  34  is a Face-IP conversion table used when the request source Face and the IP address are converted.  FIG. 5  is an explanatory view illustrating an example of the entry configuration of the conversion table  34 .  FIG. 5  illustrates the conversion table  34  in the # 3  relay node  4 . The # 3  conversion table  34  illustrated in  FIG. 5  is an area for storing a Face  34 A and an IP address  34 B in association with each other. The Face  34 A is a transfer destination Face when the received contents are transferred. The IP address  34 B is an IP address corresponding to the transfer destination Face. 
         [0032]    Each of the relay nodes  4  divides the received contents into, for example, a predetermined number of divided data, sequentially stores the divided data in a payload within an IP packet, and sequentially transfers a predetermined number of IP packets to the relay node  4  of the next hop. The transport layer function  13 B in the relay node  4  uses the IP layer function  13 C to sequentially receive a predetermined number of IP packets from the relay node  4  and acknowledges delivery of the predetermined number of IP packets. Then, after the acknowledgment of delivery of the IP packets, the CCN layer function  13 A in the relay node  4  aggregates the divided data in the predetermined number of IP packets, as received contents, and stores the received contents in the cache  31 . On the other hand, even when the IP router  5  of the IP layer is used on a path on which the received contents are transferred, it is possible to suppress the transfer rate of the received contents from being decreased. The reason for that is because the IP router  5  transfers the IP packets without aggregation or division. 
         [0033]    The Interest control unit  21  includes a receiving unit  21 A, a transmitting unit  216 , and a control unit  21 C. The receiving unit  21 A receives an Interest packet from the previous hop. When it is determined that a cache is not required, that is the received contents are not saved in the cache, the transmitting unit  21 B determines whether or not a shortcut IP in the Interest packet is added. When it is determined that the shortcut IP is not added, the transmitting unit  21 B adds an IP address of the previous hop to an additional area of the shortcut IP and transmits the Interest packet with the IP address added thereto to the next hop. When it is determined that the shortcut IP is added, the transmitting unit  21 B transmits the Interest packet as it is to the next hop without changing the shortcut IP. When it is determined that a cache is required, that is the received contents are saved in the cache, the transmitting unit  21 B deletes the shortcut IP in the Interest packet, adds the IP address of its own device to a source address in the Interest packet, and transmits the Interest packet with the IP address as the source address to the next hop. 
         [0034]    The control unit  21 C activates an aging timer at a timing referring to the PIT  33  and the request source Face in the conversion table  34 . When the aging timer is timed-up (i.e., expires), the control unit  21 C deletes the entry of the request source Face from the PIT  33 . Further, when the aging timer is timed-up, the control unit  21 C deletes the entry of the IP address corresponding to the request source Face from the conversion table  34 . As a result, since the entries which are not used for a long time in the PIT  33  and the conversion table  34  are deleted, the memory capacity in the PIT  33  and the conversion table  34  may be saved. When the request source Face is referred to again during the counting of the aging timer, the control unit  21 C resets the counting aging timer. 
         [0035]    Next, the operation of the CCN system  1  according to the first embodiment will be described.  FIG. 6  is an explanatory view illustrating an example of a processing operation in the CCN system  1  related to contents request processing. A user terminal  2 _# 0  transmits an Interest packet including a contents name “Kawasaki” to a relay node  4 _# 1 . Upon receiving the Interest packet from the user terminal  2 _# 0 , since the relay node  4 _# 1  determines that a cache is required, the relay node  4 _# 1  sets the request source Face  33 B corresponding to the contents name  33 A in the Interest packet as “Face_# 0 ” to update a PIT  33 _# 1 . Here, Face_# 0  is a Face addressed to the user terminal  2 _# 0 . Then, the relay node  4 _# 1  refers to “Face_# 2 ” of a transfer destination Face  32 B corresponding to a contents name  32 A of the Interest packet in a FIB  32 _# 1  to transfer the Interest packet to a relay node  4 _# 2 . The source address in the Interest packet includes “Face_# 1 ” of the relay node  4 _# 1 . 
         [0036]    Upon receiving the Interest packet from the relay node  4 _# 1 , since the relay node  4 _# 2  determines that no cache is required, the relay node  4 _# 2  adds an IP address corresponding to “Face_# 1 ” of the relay node  4 _# 1  to the shortcut IP in the Interest packet without updating a PIT  33 _# 2 . Then, the relay node  4 _# 2  refers to “Face_# 3 ” as the transfer destination Face  32 B corresponding to the contents name  32 A of the Interest packet in the FIB  32 _# 2  to transfer the Interest packet to the relay node  4 _# 3 . The shortcut IP in the Interest packet contains the IP address corresponding to “Face_# 1 ” of the relay node  4 _# 1 . 
         [0037]    Upon receiving the Interest packet from the relay node  4 _# 2 , since the relay node  4 _# 3  determines that a cache is required, the relay node  4 _# 3  acquires an IP address corresponding to “Face_# 1 ” from the shortcut IP in the Interest packet. The relay node  4 _# 3  sets the request source Face  33 B corresponding to the contents name  33 A in the Interest packet as “Temp Face_# 1 ” and updates the PIT  33 _# 3 . Further, the relay node  4 _# 3  deletes the shortcut IP from the Interest packet. Then, the relay node  4 _# 3  refers to “Face_# 4 ” as the transfer destination Face  326  corresponding to the contents name  32 A of the Interest packet in the FIB  32 _# 3  to transfer the Interest packet to a relay node  4 _# 4 . The source address in the Interest packet contains “Face_# 3 ” of the relay node  4 _# 3 . 
         [0038]    Upon receiving the Interest packet from the relay node  4 _# 3 , since the relay node  4 _# 4  determines that no cache is required, the relay node  4 _# 4  does not update a PIT  33 _# 4  and determines whether or not there is a shortcut IP in the Interest packet. Since there is no shortcut IP in the Interest packet, the relay node  4 _# 4  adds an IP address corresponding to “Face_# 3 ,” which is the address of the relay node  4 _# 3 , to the shortcut IP in the Interest packet. Then, the relay node  4 _# 4  refers to “Face_# 5 ” as the transfer destination Face  32 B corresponding to the contents name  32 A of the Interest packet in the FIB  32 _# 4  to transfer the Interest packet to a relay node  4 _# 5 . The shortcut IP in the Interest packet contains the IP address corresponding to “Face_# 3 ” of the relay node  4 _# 3 . 
         [0039]    Upon receiving the Interest packet from the relay node  4 _# 4 , since the relay node  4 _# 5  determines that no cache is required, the relay node  4 _# 5  does not update a PIT  33 _# 5  and determines whether or not there is a shortcut IP in the Interest packet. Since there is a shortcut IP in the Interest packet, the relay node  4 _# 5  maintains the IP address corresponding to “Face_# 3 ” of the shortcut IP in the Interest packet. Then, the relay node  4 _# 5  refers to “Face_# 6 ” as the transfer destination Face  32 B corresponding to the contents name  32 A of the Interest packet in the FIB  32 _# 5  to transfer the Interest packet to a relay node  4 _# 6 . The shortcut IP in the Interest packet contains the IP address corresponding to “Face_# 3 ” of the relay node  4 _# 3 . 
         [0040]    Upon receiving the Interest packet from the relay node  4 _# 5 , since the relay node  4 _# 6  determines that a cache is required, the relay node  4 _# 6  determines whether or not there is a shortcut IP in the Interest packet. Since there is a shortcut IP in the Interest packet, the relay node  4 _# 6  acquires an IP address corresponding to “Face_# 3 ” of the shortcut IP. Further, the relay node  4 _# 6  sets the request source Face  33 B corresponding to the contents name  33 A in the Interest packet as “Temp Face_# 3 ” and updates the PIT  33 _# 6 . Further, the relay node  4 _# 6  deletes the shortcut IP from the Interest packet. Then, the relay node  4 _# 6  refers to “Face_# 7 ” as the transfer destination Face  32 B corresponding to the contents name  32 A of the Interest packet in the FIB  32 _# 6  to transfer the Interest packet to the server  3 . Here, Face_# 7  is a Face addressed to the server  3 . The source address in the Interest packet contains “Face_# 6 ” of the relay node  4 _# 6 . As a result, the server  3  may receive Interest packets from the user terminal  2 _# 0 . 
         [0041]      FIG. 7  is an explanatory view illustrating an example of a processing operation in the CCN system  1  related to contents transfer processing. Upon receiving the Interest packet from the relay node  4 _# 6 , the server  3  illustrated in  FIG. 7  transfers request contents of the Interest packet to the relay node  4 _# 6 . 
         [0042]    Upon receiving the request contents of the Interest packet from the server  3 , since the relay node  4 _# 6  determines that a cache is required, the relay node  4 _# 6  saves the received contents in the cache  31 . Further, the relay node  4 _# 6  refers to the PIT  33 _# 6  to acquire “Temp Face_# 3 ” as the request source Face  33 B corresponding to the contents name  33 A of the received contents. Further, the relay node  4 _# 6  refers to a conversion table  34 _# 6  to convert “Temp Face_# 3 ” of the acquired Face  34 A into an IP address  34 B “192.168.3.1”. 
         [0043]    Further, the relay node  4 _# 6  forms a shortcut path for the relay node  4 _# 3  based on the IP address  346  corresponding to the Face  34 A. In this case, the shortcut path is a path of relay node  4 _# 6 →IP router  5 _#c→relay node  4 _# 3 . The relay node  4 _# 6  transfers the IP packet of the received contents to the IP router  5 _#c at the IP layer. Further, the IP router  5 _#c transfers the IP packet of the received contents to the relay node  4 _# 3 . 
         [0044]    Upon receiving the received contents from the IP router  5 _#c, since the relay node  4 _# 3  determines that a cache is required, the relay node  4 _# 3  caches the received contents in the cache  31 . Further, the relay node  4 _# 3  refers to the PIT  33 _# 3  to acquire “Temp Face_# 1 ” as the request source Face  33 B corresponding to the contents name  33 A of the received contents. Further, the relay node  4 _# 3  refers to the conversion table  34 _# 3  to convert “Temp Face_# 1 ” of the Face  34 A into an IP address  34 B “192.168.1.1.” Further, the relay node  4 _# 3  forms a shortcut path for the relay node  4 _# 1  based on the IP address corresponding to “Temp Face_# 1 ” corresponding to the request source Face  33 B. In this case, the shortcut path is a path of relay node  4 _# 3 →IP layer function  13 C in relay node_# 2 →relay node  4 _# 1 . The relay node  4 _# 3  transfers the received contents to the IP layer function  13 C in the relay node  4 _# 2  at the IP layer. 
         [0045]    The IP layer function  13 C in the relay node  4 _# 2  relays the received contents to the relay node  4 _# 1  at the IP layer. Upon receiving the received contents, the relay node  4 _# 1  refers to the PIT  33 _# 1  and also refers to “Face_# 0 ” as the request source Face  33 B corresponding to the contents name  33 A of the received contents to transfer the received contents to the user terminal  2 _# 0 . As a result, the user terminal  2 _# 0  may acquire desired received contents specified by the Interest packet. 
         [0046]    The relay node  4 _# 6  deletes the relay nodes  4 _# 4  and # 5  requiring no cache on a path through which Interest packets are transferred, from the Hop-by-Hop communication and forms a shortcut path to the relay node  4 _# 3 . The relay node  4 _# 6  uses this shortcut path to transfer the received contents to the IP layer. In other words, as a result of eliminating the need to pass through the relay nodes  4 _# 4  and # 5 , a path between the relay node  4 _# 6  and the relay node  4 _# 3  goes through the IP router  5 _#c without going through the relay nodes  4 _# 4  and # 5  and the IP routers  5 _#a and #b. If this shortcut path is not used, the IP routers  5 _#a transfers the IP packets between the relay nodes  4 _# 3  and the relay nodes  4 _# 4 . If it is not also used, the IP routers  5 _#b transfers the IP packets between the relay nodes  4 _# 5  and the relay nodes  4 _# 6 . The IP router  5 _#c does not terminate the communication and gets away with only IP relaying of the IP packet. In addition, when the QoS allowing the performance of a path of relay node  4 _# 6 →IP router  5 _#c→relay node  4 _# 3  is set to no bandwidth guarantee, a TCP is selected as a transport protocol. Then, the TCP control unit  25  in the relay node  4 _# 6  establishes a TCP connection in the shortcut path to the relay node  4 _# 3  and uses the TCP connection to transfer the received contents. 
         [0047]    The relay node  4 _# 3  deletes the relay node  4 _# 2  requiring no cache on a path through which Interest packets are transferred, from the Hop-by-Hop communication and forms a shortcut path to the relay node  4 _# 1 . The relay node  4 _# 3  uses this shortcut path to transfer the received contents to the IP layer. In other words, as a result of eliminating the need to pass through the CCN layer function  13 A of the relay node  4 _# 2 , a path between the relay node  4 _# 3  and the relay node  4 _# 1  goes through the IP layer function  13 C of the relay node  4 _# 2  without going through the CCN layer function  13 A of the relay node  4 _# 2 . Moreover, when using the CCN layer function  13 A in the relay node  4 _# 2 , it is necessary to terminate the communication once and replace it with a new communication. That is, the CCN layer function  13 A utilizes the IP layer function  13 C to collect IP packets storing the divided data of the received contents, forms the received contents with the divided data in the collected IP packets, and saves the received contents in the cache  31 . In contrast, the IP layer function  13 C does not terminate the communication and gets away with only IP relaying of the IP packet storing the divided data of the received contents to the next hop with the same granularity. When the QoS allowing the performance of a path of relay node  4 _# 3 →IP layer function  13 C of relay node  4 _# 2 →relay node  4 _# 1  is set to be a bandwidth guarantee, a UDP is selected as a transport protocol. Then, the UDP control unit  26  in the relay node  4 _# 3  establishes a UDP connection in the shortcut path to the relay node  4 _# 1  and uses the UDP connection to transfer the received contents. 
         [0048]      FIG. 8  is a sequence diagram illustrating an example of a processing operation of the CCN system  1  from contents request to contents acquisition. The user terminal  2 _# 0  illustrated in  FIG. 8  notifies an Interest packet to the relay node  4 _# 1  (operation S 11 ). The Interest control unit  21  in the relay node  4 _# 1  receives the Interest packet from the user terminal  2 . Then, the cache control unit  22  in the relay node  4 _# 1  determines whether or not a cache is required, based on a contents name in the Interest packet. When it is determined that a cache is required (operation S 12 ), the Interest control unit  21  in the relay node  4 _# 1  transfers the Interest packet to the relay node  4 _# 2  (operation S 13 ). 
         [0049]    The cache control unit  22  in the relay node  4 _# 2  receives the Interest packet from the relay node  4 _# 1  and determines whether or not a cache is required, based on a contents name in the Interest packet. When it is determined that no cache is required (operation S 14 ), the Interest control unit  21  in the relay node  4 _# 2  adds an IP address corresponding to “Face_# 1 ” of the relay node  4 _# 1 , which is the previous hop, to a shortcut IP in the Interest packet (operation S 15 ). The Interest control unit  21  in the relay node  4 _# 2  transfers the Interest packet with the IP address corresponding to “Face_# 1 ” added to the shortcut IP to the relay node  4 _# 3  (operation S 16 ). 
         [0050]    The cache control unit  22  in the relay node  4 _# 3  receives the Interest packet from the relay node  4 _# 2  and determines whether or not a cache is required, based on a contents name in the Interest packet. When it is determined that a cache is required (operation S 17 ), the Interest control unit  21  in the relay node  4 _# 3  updates an IP address corresponding to “Face_# 1 ” of the shortcut IP to the PIT  33 _# 3  and the conversion table  34 _# 3  (operation S 18 ). The PIT  33 _# 3  updates the contents name “Kawasaki” and the request source Face “Temp Face_# 1 .” The conversion table  34 _# 3  updates the IP address of the shortcut IP and “Temp Face_# 1 .” The Interest control unit  21  in the relay node  4 _# 3  deletes the shortcut IP from the Interest packet (operation S 19 ) and transfers the Interest packet to the relay node  4 _# 4  (operation S 20 ). 
         [0051]    The cache control unit  22  in the relay node  4 _# 4  receives the Interest packet from the relay node  4 _# 3  and determines whether or not a cache is required, based on a contents name in the Interest packet. When it is determined that no cache is required (operation S 21 ), the Interest control unit  21  in the relay node  4 _# 4  adds an IP address corresponding to “Face_# 3 ” of the relay node  4 _# 3 , which is the previous hop, to the shortcut IP in the Interest packet (Operation S 22 ). The Interest control unit  21  in the relay node  4 _# 4  transfers the Interest packet with the IP address corresponding to “Face_# 3 ” added to the shortcut IP to the relay node  4 _# 5  (operation S 23 ). 
         [0052]    The cache control unit  22  in the relay node  4 _# 5  receives the Interest packet from the relay node  4 _# 4  and determines whether or not a cache is required, based on a contents name in the Interest packet. When it is determined that no cache is required (operation S 24 ), the Interest control unit  21  in the relay node  4 _# 5  does not update the shortcut IP in the Interest packet (operation S 25 ) and transfers the Interest packet to the relay node  4 _# 6  (operation S 26 ). The cache control unit  22  in the relay node  4 _# 6  receives the Interest packet from the relay node  4 _# 5  and determines whether or not a cache is required, based on a contents name in the Interest packet. When it is determined that a cache is required (operation S 27 ), the Interest control unit  21  in the relay node  4 _# 6  updates an IP address corresponding to “Face_# 3 ” of the shortcut IP to the PIT  33 _# 6  and the conversion table  34 _# 6  (operation S 28 ). The PIT  33 _# 6  updates the contents name “Kawasaki” and the request source Face “Temp Face_# 3 .” The conversion table  34 _# 6  updates the IP address of the shortcut IP and “Temp Face_# 3 .” The relay node  4 _# 6  deletes the shortcut IP from the Interest packet (operation S 29 ) and transfers the Interest packet to the server  3  (operation S 30 ). 
         [0053]    Upon receiving the Interest packet, the server  3  acquires contents corresponding to the contents name in the Interest packet from a storage destination and transfers the acquired contents to the relay node  4 _# 6  (operation S 31 ). Upon receiving the contents, the path setting unit  24  in the relay node  4 _# 6  sets a shortcut path for the relay node  4 _# 3  based on the PIT  33 _# 6  and the conversion table  34 _# 6  (operation S 32 ). As for the shortcut path, a path of relay node  4 _# 6 →IP router  5 _#c→relay node  4 _# 3  is set, and a TCP is selected since a bandwidth guarantee is absent in the shortcut path. 
         [0054]    The contents transfer unit  23  in the relay node  4 _# 6  uses the set path to transfer the received contents to the relay node  4 _# 3  (operation S 33 ). At this time, upon receiving the received contents from the relay node  4 _# 6 , the IP router  5 _#c on the shortcut path refers to a routing table of the IP layer to pass the IP packet of the received contents and transfers the passed IP packet to the relay node  4 _# 3  (operation S 34 ). 
         [0055]    Upon receiving the received contents, the path setting unit  24  in the relay node  4 _# 3  sets a shortcut path for the relay node  4 _# 1  based on the PIT  33 _# 3  and the conversion table  34 _# 3  (operation S 35 ). As for the shortcut path, a path of relay node  4 _# 3 →IP layer function  13 C in relay node  4 _# 2 →relay node  4 _# 1  is set, and a UDP is selected since a bandwidth guarantee is present in the shortcut path. The IP layer function  13 C in the relay node  4 _# 2  passes the IP packet of the received contents from the relay node  4 _# 3  and transfers the passed IP packet of the received contents to the relay node  4 _# 1  (operation S 36 ). 
         [0056]    Further, the content transfer unit  23  in the relay node  4 _# 1  receives the received contents from the IP layer function  13 C in the relay node  4 _# 2  and transfers the received contents to the user terminal  2  (operation S 37 ). 
         [0057]      FIG. 9  is a flowchart illustrating an example of a processing operation of the relay node  4  related to reception processing. The Interest control unit  21  in the relay node  4  illustrated in  FIG. 9  determines whether or not an Interest packet has been received (operation S 41 ). When it is determined that an Interest packet has been received (“Yes” in operation S 41 ), the Interest control unit  21  in the relay node  4  determines whether or not contents are saved in the cache  31  (operation S 42 ). 
         [0058]    When it is determined that no contents are saved in the cache  31  (“No” in operation S 42 ), the cache control unit  22  in the relay node  4  determines whether or not a cache is required (operation S 43 ). When it is determined the no cache is required (“Not required” in operation S 43 ), the Interest control unit  21  in the relay node  4  determines whether or not a shortcut IP is added to the Interest packet (operation S 44 ). When it is determined that a shortcut IP is not added to the Interest packet (“No” in operation S 44 ), the Interest control unit  21  in the relay node  4  adds a shortcut IP of the previous hop to the Interest packet (operation S 45 ). The Interest control unit  21  transfers the Interest packet to the next hop (operation S 46 ). Then, the Interest control unit  21  in the relay node  4  transfers the Interest packet to the next hop and then ends the processing operation illustrated in  FIG. 9 . When it is determined that a shortcut IP is added to the Interest packet (“Yes” in operation S 44 ), the Interest control unit  21  in the relay node  4  proceeds to the operation S 46  so as to transfer the Interest packet to the next hop without changing the shortcut IP. 
         [0059]    When it is determined that a cache is required (“Required” in operation S 43 ), the Interest control unit  21  in the relay node  4  determines whether or not a shortcut IP is added to the Interest packet (operation S 47 ). When it determined that no shortcut IP is added to the Interest packet (“No” in operation S 47 ), the relay node  4  updates the PIT  33  with a Face of the previous hop as a request source Face (operation S 48 ). Then, the relay node  4  proceeds to the operation S 46  so as to transfer the Interest packet to the next hop. 
         [0060]    When it is determined that the shortcut IP is added to the Interest packet (“Yes” in operation S 47 ), the Interest control unit  21  updates the PIT  33  with a Face corresponding to an IP address added to the shortcut IP as a request source Face (operation S 49 ). Further, the Interest control unit  21  in the relay node  4  updates the conversion table  34  (operation S 50 ), deletes the shortcut IP of the Interest packet (operation S 51 ), and proceeds to the operation S 46  so as to transfer the Interest packet to the next hop. 
         [0061]    When it is determined that contents are saved in the cache  31  (“Yes” in operation S 42 ), the Interest control unit  21  in the relay node  4  determines whether or not a shortcut IP is added to the Interest packet (operation S 52 ). When it is determined that a shortcut IP is added to the Interest packet (“Yes” in operation S 52 ), the Interest control unit  21  in the relay node  4  updates the conversion table  34  (operation S 53 ). Furthermore, the path setting unit  24  in the relay node  4  sets a shortcut path based on the contents of the conversion table  34  (operation S 54 ). The contents transfer unit  23  in the relay node  4  distributes the received contents after setting the path (operation S 55 ), and ends the processing operation illustrated in  FIG. 9 . 
         [0062]    When it is determined that no shortcut IP is added to the Interest packet (“No” in operation S 52 ), the path setting unit  24  in the relay node  4  proceeds to operation S 54  so as to set a shortcut path based on the contents of the conversion table  34 . 
         [0063]      FIG. 10  is a flowchart illustrating an example of a processing operation of the relay node  4  related to contents relay processing. The cache control unit  22  in the relay node  4  illustrated in  FIG. 10  determines whether or not contents have been received (operation S 61 ). When it is determined that contents have been received (“Yes” in operation S 61 ), the cache control unit  22  in the relay node  4  saves the received contents in the cache  31  (operation S 62 ). Further, when the received contents are saved in the cache  31 , the path setting unit  24  in the relay node  4  refers to the contents of the PIT  33  and the conversion table  34  to set a shortcut path for transferring the received contents (operation S 63 ). 
         [0064]    The contents transfer unit  23  in the relay node  4  updates the contents of the PIT  33  (operation S 64 ), transfers the received contents to the request source Face (operation S 65 ), and ends the processing operation illustrated in  FIG. 10 . When it is determined that no contents have been received (“No” in operation S 61 ), the relay node  4  ends the processing operation illustrated in  FIG. 10 . 
         [0065]    Upon receiving the contents, the relay node  4  saves the received contents in the cache  31 . The relay node  4  sets a shortcut path of the received contents based on a request source Face corresponding to the received contents in the PIT  33  and the conversion table  34  and an IP address corresponding to the request source Face. Further, the relay node  4  transfers the received contents via the shortcut path. 
         [0066]    In the CCN system  1  according to the first embodiment, among relay nodes  4  on a path through which Interest packets are transferred, a relay node  4  requiring no cache is deleted to form a shortcut path. As a result, it is possible to execute optimal routing from the server  3  or a relay node  4  that stores the received contents in the cache  31  to the user terminal  2 , thereby increasing the transfer rate of the received contents. 
         [0067]    In the CCN system  1 , since the received contents are transferred to the IP layer even under the condition that relay nodes  4  and IP routers  5  are mixed in a shortcut path, the transfer rate of the received contents may be increased. 
         [0068]    Further, in the CCN system  1 , when QoS of the shortcut path for transferring the received contents has no bandwidth guarantee, a TCP connection is established on the shortcut path. As a result, the congestion control and retransmission control may be ensured on the shortcut path for transferring the received contents. 
         [0069]    Further, in the CCN system  1 , when the QoS of the shortcut path for transferring the received contents has bandwidth guarantee, a UDP connection is established on the shortcut path. As a result, it is unnecessary to execute congestion control and retransmission control on the shortcut path for transferring the received contents, thereby suppressing the processing load. 
       Second Embodiment 
       [0070]      FIG. 11  is an explanatory view illustrating an example of a processing operation from contents request to contents acquisition of a CCN system  1 A according to a second embodiment. In  FIG. 11 , the same components as those of the CCN system  1  of the first embodiment will be denoted by the same reference numerals as used in the first embodiment, and explanation thereof will be omitted. 
         [0071]    It is assumed that the relay nodes  4 _# 1  to # 6  in the CCN system  1 A illustrated in  FIG. 11  have saved contents including the contents name “Kawasaki” in their respective caches  31 . In the CCN system  1 A, an Interest packet including the contents name “Kawasaki” is transmitted from a user terminal  2 _# 100  to a relay node  4 _# 10 . 
         [0072]    Upon receiving the Interest packet from the user terminal  2 _# 100 , since the relay node  4 _# 10  determines that no cache is required, a CCN layer function  13 A in the relay node  4 _# 10  does not update a PIT  33 _# 10 . Further, the CCN layer function  13 A adds an IP address corresponding to “Face_# 100 ” of the user terminal  2 _# 100  to a shortcut IP in the Interest packet. Then, the relay node  4 _# 10  refers to “Face_# 2 ” as a transfer destination Face  32 B corresponding to a contents name  32 A of the Interest packet in a FIB  32 _# 10  to transfer the Interest packet to the relay node  4 _# 2 . 
         [0073]    Upon receiving the Interest packet including the IP address corresponding to “Face_# 100 ” as the shortcut IP, the relay node  4 _# 2  determines whether or not the contents of the contents name has been saved in the cache  31 , based on the contents name in the Interest packet. When it is determined that the contents have been saved in the cache  31 , the relay node  4 _# 2  determines whether or not a shortcut IP is added to the Interest packet. When it is determined that a shortcut IP is added, the relay node  4 _# 2  updates the IP address corresponding to “Face_# 100 ” of the shortcut IP to the PIT  33  and the conversion table  34 . The PIT  33 _# 2  updates the contents name “Kawasaki” and “Face_# 100 .” The conversion table  34 _# 2  updates the shortcut IP and “Face_# 100 .” The relay node  4 _# 2  acquires from the cache  31  the received contents corresponding to the contents name in the Interest packet. Further, the relay node  4 _# 2  forms a shortcut path to the user terminal  2 _# 100  based on an IP address corresponding to a request source Face (Face_# 100 ) corresponding to the contents name in the PIT  33 . In this case, the shortcut path is a path of relay node  4 _# 2 →IP layer function  13 C of relay node  4 _# 10 →user terminal  2 _# 100 . When QoS on the shortcut path of relay node  4 _# 2 →IP layer function  13 C of relay node  4 _# 10 →user terminal  2 _# 100  has no bandwidth guarantee, the relay node  4 _# 2  establishes a TCP connection in the shortcut path. The relay node  4 _# 2  transfers the IP packet of the received contents to the IP layer function  13 C of the relay node  4 _# 10  at the IP layer. 
         [0074]    The IP layer function  13 C of the relay node  4 _# 10  transfers the received contents from the relay node  4 _# 2  to the user terminal  2 _# 100  at the IP layer. As a result, since the IP layer function  13 C of the relay node  4 _# 10  does not pass through the CCN layer function  13 A, the IP layer function  13 C gets away with only IP relaying of the IP packet of the received contents to the IP layer. Then, the user terminal  2 _# 100  may acquire the received contents from the relay node  4 _# 2  via the IP layer function  13 C of the relay node  4 _# 10 . 
         [0075]    In the CCN system  1 A according to the second embodiment, under the condition that a relay node  4  on a path from the user terminal  2 _# 100  to the server  3  caches contents, the CCN layer function  13 A of the relay node  4 _# 10  requiring no cache is excluded from Hop-by-Hop communication. Then, the CCN system  1 A may increase the transfer rate of the contents while selecting a suitable transport protocol according to the set contents of the QoS allowing the performance of the shortcut path. 
       Third Embodiment 
       [0076]      FIG. 12  is an explanatory view illustrating an example of a processing operation from contents request to contents acquisition of a CCN system  1 B according to a third embodiment. In  FIG. 12 , the same components as those of the CCN system  1  of the first embodiment will be denoted by the same reference numerals as used in the first embodiment, and explanation thereof will be omitted. 
         [0077]    The CCN system  1 B illustrated in  FIG. 12  replaces the server  3  storing contents with a temperature sensor node  3 A that detects a temperature as contents and stores temperature data as a result of the detection. The temperature sensor node  3 A is a node capable of communicating with the relay nodes  4  and the IP routers  5 . 
         [0078]    It is assumed that the user terminal  2 # 0  desires data such as the latest temperature detected by the temperature sensor node  3 A, rather than the contents stored in the caches  31  in the relay nodes  4 . 
         [0079]    The user terminal  2 _# 0  adds an express flag to an Interest packet including a contents name “/sensor/temperature” and transmits the Interest packet to the relay node  4 _# 1 . Upon receiving the Interest packet, the relay node  4 _# 1  determines that no contents cache is required, based on the express flag in the Interest packet. Further, the relay node  4 _# 1  adds an IP address corresponding to Face_# 0  of the user terminal  2 _# 0  to the shortcut IP in the Interest packet and transfers the Interest packet to the relay node  4 _# 2  of the next hop. 
         [0080]    Upon receiving the Interest packet from the relay node  4 _# 1 , the relay node  4 _# 2  determines that no contents cache is required, based on the express flag in the Interest packet. Further, the relay node  4 _# 2  determines whether or not a shortcut IP in the Interest packet is added. When it is determined that a shortcut IP is added, the relay node  4 _# 2  transfers the Interest packet to the relay node  4 _# 3 , which is the next hop, without changing the shortcut IP (IP address corresponding to Face_# 0 ). 
         [0081]    Upon receiving the Interest packet from the relay node  4 _# 2 , the relay node  4 _# 3  determines that no contents cache is required, based on the express flag in the Interest packet. Further, the relay node  4 _# 3  determines whether or not a shortcut IP in the Interest packet is added. When it is determined that a shortcut IP is added, the relay node  4 _# 3  transfers the Interest packet to the relay node  4 _# 4 , which is the next hop, without changing the shortcut IP (IP address corresponding to Face_# 0 ). 
         [0082]    Upon receiving the Interest packet from the relay node  4 _# 3 , the relay node  4 _# 4  determines that no contents cache is required, based on the express flag in the Interest packet. Further, the relay node  4 _# 4  determines whether or not a shortcut IP in the Interest packet is added. When it is determined that a shortcut IP is added, the relay node  4 _# 4  transfers the Interest packet to the relay node  4 _# 5 , which is the next hop, without changing the shortcut IP (IP address corresponding to Face_# 0 ). 
         [0083]    Upon receiving the Interest packet from the relay node  4 _# 4 , the relay node  4 _# 5  determines that no contents cache is required, based on the express flag in the Interest packet. Further, the relay node  4 _# 5  determines whether or not a shortcut IP in the Interest packet is added. When it is determined that a shortcut IP is added, the relay node  4 _# 5  transfers the Interest packet to the relay node  4 _# 6 , which is the next hop, without changing the shortcut IP (IP address corresponding to Face_# 0 ). 
         [0084]    Upon receiving the Interest packet from the relay node  4 _# 5 , the relay node  4 _# 6  determines that no contents cache is required, based on the express flag in the Interest packet. Further, the relay node  4 _# 6  determines whether or not a shortcut IP in the Interest packet is added. When it is determined that a shortcut IP is added, the relay node  4 _# 6  transfers the Interest packet to the temperature sensor node  3 A, which is the next hop, without changing the shortcut IP (IP address corresponding to Face_# 0 ). 
         [0085]    Upon receiving the Interest packet, the temperature sensor node  3 A determines whether or not temperature data corresponding to a contents name has been saved in the cache, based on the contents name in the Interest packet. When it is determined that temperature data corresponding to a content name has been stored in the cache, the temperature sensor node  3 A forms a shortcut path based on a shortcut IP in the Interest packet, that is, an IP address of the user terminal  2 _# 0 . In this case, the shortcut path is a path of temperature sensor node  3 A→IP router  5 _#d→user terminal  2 _# 0 . Further, the QoS allowing the performance of the shortcut path is assumed to have a bandwidth guarantee. 
         [0086]    The temperature sensor node  3 A establishes a UDP connection on the shortcut path and transfers the temperature data to the IP router  5 _#d with the UDP connection. Further, the IP router  5 _#d uses the UDP connection to transfer the received temperature data to the user terminal  2 _# 0 . 
         [0087]    In the CCN system  1 B according to the third embodiment, by adding the express flag to the Interest packet, the relay nodes  4  on a path through which Interest packets are transferred is instructed not to require a cache. In the CCN system  1 B, the relay nodes  4 _# 1  to # 6  on a path between the user terminal  2 _# 0  and the temperature sensor node  3 A are deleted to form a shortcut path. The temperature sensor node  3 A transfers the temperature data to the user terminal  2 _# 0  via the IP router  5 _#d on the shortcut path. As a result, the user terminal  2 _# 0  may increase the transfer rate when transferring the latest temperature data from the temperature sensor node  3 A. 
         [0088]    In addition, each component of the respective illustrated units is not necessarily required to be configured physically as illustrated in the drawings. That is, specific forms of distribution and integration of the individual units are not limited to those illustrated in the drawings, and all or some of the units may be configured to be distributed or integrated functionally or physically in arbitrary units according to various loads, usage conditions, etc. 
         [0089]    Furthermore, all or some of the various processing functions performed in each device may be executed on a CPU (or a microcomputer such as a micro processing unit (MPU) or a micro controller unit (MCU)). In addition, it is to be understood that all or some of the various processing functions may be executed on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or an MCU), or on hardware by wired logic. 
         [0090]    All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to an illustrating of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.