This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-200875, filed on Oct. 12, 2016, the entire contents of which are incorporated herein by reference.
This invention relates to a technique for transferring data in a network.
The Internet was originally designed for transmitting and receiving end-to-end data, but recently the Internet has been used as a delivery system for content (for example, videos, music, or the like) from a server to terminals. Therefore, researches on ICN (Information Centric Networking), which is a network technique focusing on information delivery, are actively conducted. ICN is also referred to as CCN (Content Centric Networking) or NDN (Named Data Networking).
As for ICN, a certain document discloses the following techniques. Specifically, each of plural nodes that transfer a packet with an identifier of content transfers a request packet for the content by using at least one of plural multicast trees, and receives a response packet that includes the requested content as a response to the request packet. As a result, an increase in the network load is suppressed.
However, there is a case where a network in which ICN communication occurs includes not only nodes compliant with the ICN communication, but also nodes noncompliant with the ICN communication. Then, this causes a case where bandwidth is not efficiently used for transferring content. The aforementioned technique does not focus on such a problem. In other words, there is no technique to efficiently use bandwidth in a network in which content is transferred.
A disclosed communication method relating to one aspect includes: transferring, to a first apparatus, one request packet of plural request packets for first content, upon receiving the plural request packets from a second apparatus; identifying a first multicast address that is allocated to the first content; transmitting, to the first apparatus and the second apparatus, identification information of the first content and the first multicast address; and transferring, to the second apparatus, the first content by the first multicast address, upon receiving the first content from the first apparatus.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
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 embodiment, as claimed.
Firstly, content transfer using ICN will be briefly explained with reference to
Each ICN node identifies a face (that is, an interface in ICN. Here, “Next Face”) that corresponds to the content ID included in the interest packet from a FIB (Forwarding Information Base) 3001, and transfers the interest packet through the identified face. The FIB 3001 is generated in advance in each ICN node by advertising a content name by a content server 11s. In addition, each ICN node registers information of a face that received the interest packet in a PIT (Pending Interest Table) 3002.
The interest packet is transferred via a route that passes through an ICN node 16i, an ICN node 15i, an ICN node 14i, an ICN node 13i, an ICN node 12i and an ICN node 11i, and reaches the content server 11s. The content server 11s transmits content that has the content ID included in the interest packet to the ICN node 11i.
The content is transferred via a route that passes through the ICN node 11i, the ICN node 12i, the ICN node 13i, the ICN node 14i, the ICN node 15i and the ICN node 16i, and reaches the terminal 11t. Here, each ICN node identifies, from the PIT 3002, a face (here, “Requested Face”) that corresponds to the content ID of the transferred content, and transfers the content through the identified face. In addition, each ICN node stores a cache of the content according to a cache algorithm. In the following embodiments, “cache” mainly means data that is stored in a cache memory as a copy of the content. From then on, as illustrated in
In a network where the ICN communication occurs, not all relay nodes are necessarily ICN nodes, and the network is expanded in an overlay structure on an existing IP (Internet Protocol)/L3 (Layer 3) network (ICN Over IP). For example, in
As illustrated in
Therefore, in the following, a method of transferring content so as to efficiently use the bandwidth will be explained.
Program 1001 is, by the CPU 101, loaded into the memory 100 and executed, and realizes plural types of functions illustrated in
The interest management unit 10011 generates and transfers an interest packet. The address determination unit 10012 determines a multicast address that corresponds to the received content. The content transfer unit 10013 transfers, by the ICN communication, the content that has been transmitted by the content server 1s. The correspondence relationship management unit 10014 manages a correspondence relationship between content and multicast addresses. The multicast management unit 10015 executes processing such as processing to join in a multicast tree. The unicast transfer unit 10016 transfers data by IP unicast communication. The multicast transfer unit 10017 transfers data by multicast communication.
The correspondence relationship data 10021 includes data that represents a correspondence relationship between a content ID and a multicast address. The cache 10022 includes a cache of content. As described above, the FIB 10023 stores a content ID in association with a face through which an interest packet is outputted. As described above, the PIT 10024 stores a content ID in association with a face that has received an interest packet.
The program 2001 is, by the CPU 201, loaded into the memory 200 and executed, and realizes plural types of functions illustrated in
The interest management unit 20011 generates and transmits an interest packet. The content reception unit 20013 receives the content transmitted by the content server 1s. The correspondence relationship management unit 20014 manages a correspondence relationship between content and multicast addresses. The multicast management unit 20015 executes processing such as processing to issue an IGMP (Internet Group Management Protocol) Join message. The unicast communication unit 20016 transmits and receives data by unicast communication. The multicast communication unit 20017 receives content transmitted by multicast communication.
The correspondence relationship data 20021 includes data representing a correspondence relationship between a content ID and multicast address.
An outline of the first embodiment will be explained with reference to
As illustrated in
As a result, as illustrated in
Next, with reference to
First, the interest management unit 20011 of the terminal 1t transmits an interest packet that includes a content ID to the ICN node 3i (
The ICN node 3i transfers the interest packet received from the terminal 1t to the ICN node 2i (step S3).
The interest management unit 20011 of the terminal 2t transmits an interest packet that includes the same content ID as the content ID transmitted by the terminal 1t to the ICN node 4i (step S5).
The interest management unit 20011 of the terminal 3t transmits an interest packet that includes the same content ID as the content ID transmitted by the terminal 1t to the ICN node 4i (step S7).
The interest management unit 10011 of the ICN node 4i aggregates the interest packet received from the terminal 2t and the interest packet received from the terminal 3t (step S9). The aggregation is processing to aggregate plural interest packets into one interest packet. Then, the interest management unit 10011 of the ICN node 4i transfers one interest packet to the ICN node 2i (step S11). In step S11, a transfer destination is determined according to information stored in the FIB 10023. In addition, identification information of a face that received the interest packet is registered in the PIT 10024 in association with the content ID included in the interest packet. The same applies to the aforementioned step S3 and the following.
Incidentally, whether or not to execute the aggregation is determined depending on whether or not plural “Requested Face” for the same content ID is registered in the PIT 10024. This determination is made by the interest management unit 10011. The same applies to the following.
The interest management unit 10011 of the ICN node 2i receives interest packets from the ICN node 3i and the ICN node 4i. Then, the interest management unit 10011 of the ICN node 2i aggregates the two received interest packets (step S13), and transfers one interest packet to the ICN node 1i (step S15).
The interest management unit 10011 of the ICN node 1i transfers the interest packet received from the ICN node 2i to the content server is (step S17).
The content server 1s receives the interest packet from the ICN node 1i and reads out content that correspond to the content ID included in the received interest packet from a storage device, for example. Then, the content server 1s transmits the content to the ICN node 1i by unicast (step S19).
The content transfer unit 10013 of the ICN node 1i transfers the content received from the content server 1s to the ICN node 2i by unicast (namely, by using the unicast transfer unit 10016) (step S21). Moreover, the content transfer unit 10013 stores a cache of the content in the memory 100. When transferring the content, the face of the transfer destination is determined by referring to PIT 10024. The same applies to the following.
The content transfer unit 10013 of the ICN node 2i receives the content from the ICN node 1i and stores a cache of the content in the memory 100. Since the ICN node 2i is an aggregate node and correspondence relationship data for the received content is not stored in the memory 100, it is determined that processing to determine an address is to be executed. Therefore, the address determination unit 10012 determines a multicast address that corresponds to the received content (step S23). For example, the multicast address is determined based on a hash function by using an ID of the ICN node and information of time at the processing of step S23 as input.
Then, the correspondence relationship management unit 10014 of the ICN node 2i generates correspondence relationship data that represents a correspondence relationship between the received content and the multicast address (step S25). In addition, the correspondence relationship management unit 10014 stores the generated correspondence relationship data in the memory 100. The processing shifts to step S27 of
Shifting to an explanation of
The correspondence relationship management unit 10014 of the ICN node 1i transfers the correspondence relationship data received from the ICN node 2i to the content server 1s (step S29). In addition, the correspondence relationship management unit 10014 stores the received correspondence relationship data in the memory 100.
The correspondence relationship management unit 10014 of the ICN node 2i transmits the generated correspondence relationship data to the ICN nodes 3i and 4i that correspond to previous-hop relay nodes which is an inverse, when it is assumed that a direction towards content server 1s is a forward direction (steps S31 and S35).
The correspondence relationship management unit 10014 of the ICN node 3i transfers the correspondence relationship data received from the ICN node 2i to the terminal 1t (step S33). In addition, the correspondence relationship management unit 10014 stores the generated correspondence relationship data in the memory 100.
The correspondence relationship management unit 20014 of the terminal 1t receives the correspondence relationship data from the ICN node 3i and stores the received correspondence relationship data in the memory 200.
The correspondence relationship management unit 10014 of the ICN node 4i transmits the correspondence relationship data received from the ICN node 2i to the terminal 2t and the terminal 3t (steps S37 and S39). In addition, the correspondence relationship management unit 10014 stores the generated correspondence relationship data in the memory 100.
The correspondence relationship management unit 20014 of the terminal 2t receives the correspondence relationship data from the ICN node 4i and stores the received correspondence relationship data in the memory 200. The correspondence relationship management unit 20014 of the terminal 3t receives the correspondence relationship data from the ICN node 4i and stores the received correspondence relationship data in the memory 200.
The multicast management unit 20015 of the terminal 1t, the terminal 2t and the terminal 3t, and the multicast management unit 10015 of the ICN node 3i and the ICN node 4i execute the multicast tree join processing based on the multicast address allocated to the target content (step S41). In addition, the ICN node 1i and the ICN node 2i execute the multicast tree join processing based on the multicast address allocated to the target content (step S43). The multicast tree join processing will be described later.
In response to this, the content transfer unit 10013 of the ICN node 2i transmits the content received from the ICN node 1i to the IP router 1r by multicast (namely, by using the multicast transfer unit 10017) (step S45).
The IP router 1r copies the content received from the ICN node 2i and transmits the content to the ICN node 3i and the ICN node 4i by multicast (steps S47 and S51).
The content transfer unit 10013 of the ICN node 3i receives the content from the IP router 1r and stores the cache of the content in the memory 100. Then, the content transfer unit 10013 transfers the received content to the terminal 1t by multicast (step S49).
The content transfer unit 10013 of the ICN node 4i receives the content from the IP router 1r and stores a cache of the content in the memory 100. Although the ICN node 4i is an aggregate node, since correspondence relationship data for the received content is stored in the memory 100, it is determined that the processing to determine an address is not to be executed. Then, the content transfer unit 10013 transfers the received content to the terminal 2t and the terminal 3t by multicast (step S53 and step S55).
As described above, the ICN node 2i initially transfers, by multicast, content received by unicast, and subsequently transfers, by multicast, content received by multicast. Depending on a relationship between a timing of transmitting correspondence relationship data to the content server 1s and a timing in which the content server 1s transmits content, also the ICN node 1i initially transfers, by multicast, content received by unicast, and subsequently transfers, by multicast, content received by multicast.
When the live content is delivered, the content server 1s further delivers the content by multicast (step S57).
The content transfer unit 10013 of the ICN node 1i receives the content from the content server 1s and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the ICN node 2i by multicast (step S59).
The content transfer unit 10013 of the ICN node 2i receives the content from the ICN node 1i and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the IP router 1r by multicast (step S61).
The IP router 1r copies the content received from the ICN node 2i and transmits, by multicast, the content to the ICN node 3i and the ICN node 4i (steps S63 and S64).
The content transfer unit 10013 of the ICN node 3i receives the content from the IP router 1r and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transfers the received content to the terminal 1t by multicast (step S65).
The content transfer unit 10013 of the ICN node 4i receives the content from the IP router 1r and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transfers the received content to the terminal 2t and the terminal 3t by multicast (step S67 and step S69).
By using multicast as described above, it becomes possible to efficiently use the bandwidth when transferring content, even in a network in which not only ICN nodes but also IP routers are arranged.
The multicast tree join processing will be explained with reference to
First, the processing of RPF (Reverse Path Forwarding) will be explained with reference to
The IP router 1r receives the content transmitted by multicast. Then, the IP router 1r transfers the content by multicast through interfaces other than the interface that received the content (steps S75 and S76). As a result, as illustrated in
The content transfer unit 10013 of the ICN node 3i receives the content transmitted by multicast and stores a cache of the received content in the memory 100. Then, the ICN node 3i transfers the content by multicast through interfaces other than the interface that received the content (steps S77 and S79). As a result, as illustrated in
The IP router 2r receives the content transmitted by multicast. Then, the IP router 2r transfers the content by multicast through interfaces other than the interface that received the content (step S81). As a result, as illustrated in
Here, the IP router 2r determines an uplink stream interface and a downlink stream interface (step S83). In the example of
Similarly, the multicast management unit 10015 of the ICN node 3i determines the uplink stream interface and the downlink stream interface as illustrated in
After the RPF processing, according to designation of a network administrator, the processing in the case of PIM-SM or the processing in the case of PIM-DM is executed.
With reference to
The multicast management unit 20015 of the terminal 1t transmits, to the IP router 2r, an IGMP join message that includes a multicast address included in the correspondence relationship data stored in the memory 200 (
When the IP router 2r receives the IGMP Join message from the terminal 1t, the IP router 2r transmits, through the uplink stream interface, a Join message to the IP router 1r that is a rendezvous point (step S93).
The multicast management unit 10015 of the ICN node 3i transmits, through the uplink stream interface, a Join message that includes the multicast address included in the correspondence relationship data stored in the memory 200 to the IP router 1r that is the rendezvous point (step S94). Although there is no terminal that requests the content under the ICN node 3i, since the ICN node 3i itself needs to cache the content, the ICN node 3i transmits a Join message to the IP router 1r.
The content transfer unit 10013 of the ICN node 2i receives the content transmitted by unicast (step S95), and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 of the ICN node 2i transfers the received content to the IP router 1r by multicast (step S97).
The IP router 1r receives the Join messages from the IP router 2r and the ICN node 3i. In addition, as illustrated in
The IP router 2r receives the content from the IP router 1r. Then, the IP router 2r transmits the received content to the terminal 1t by multicast (step S101).
In
With reference to
The multicast management unit 20015 of the terminal 1t transmits, to the IP router 2r, an IGMP Join message that includes the multicast address included in the correspondence relationship data stored in the memory 200 (
The IP router 2r transmits an IGMP prune message through a face which is not the downlink stream interface and the uplink stream interface (in this case, the face for transferring the data to the ICN node 3i) (step S113). The prune message is a message representing refusal to receive data by multicast.
The multicast management unit 10015 of the ICN node 5i transmits an IGMP prune message through a face which is not the downlink stream interface and the uplink stream interface (in this case, a face for transferring data to the ICN node 3i) (step S115).
When the ICN node 3i receives the prune messages from the two downlink stream interfaces of the ICN node 3i and the ICN node 3i does not have to join the multicast tree, the ICN node 3i transmits a prune message through the uplink stream interface to the IP router 1r. In this way, the IP router 1r does not deliver the content to the ICN node 3i.
Under the ICN node 3i, there is no terminal that requests the content, but since the ICN node 3i itself needs to cache the content, the ICN node 3i does not transmit the prune message in
The content transfer unit 10013 of the ICN node 2i receives the content transmitted by unicast (step S119), and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 of the ICN node 2i transfers the received content to the IP router 1r by multicast (step S121).
The IP router 1r receives the content transmitted by multicast from the ICN node 2i. Then, the IP router 1r transmits the content to the IP router 2r by multicast (step S123). In addition, the IP router 1r transmits the content to the ICN node 3i by multicast (step S126). Furthermore, the IP router 1r transmits the content to the ICN node 4i by multicast.
The IP router 2r receives the content from the IP router 1r. Then, the IP router 2r transmits the received content to the terminal 1t by multicast (step S125).
In
In this embodiment, aggregation of interest packets is a trigger for starting communication by multicast. Therefore, it is preferable that there is a sufficient time for the interest packets to be aggregated. A case where plural interest packets are issued at completely different timings and delivery of content is completed in a short time is not suitable for this embodiment. On the other hand, for example, a case where live broadcast of sports (namely, live delivery) is scheduled to start at a specific time and each terminal issues an interest packet so as not to be late for the specific time is suitable for this embodiment.
By the way, a method for determining a multicast address that corresponds to content in advance regardless of the situation of the aggregation of interest packets may be considered. However, in such a case, multicast addresses are unnecessarily secured, even in a situation in which interest packets are not aggregated and communication efficiency is not improved even when delivering by multicast. On the other hand, according to this embodiment, a multicast address is secured in a situation where multicast delivery causes communication efficiency to be improved.
An overview of a second embodiment will be explained with reference to
Then, as illustrated in
Next, with reference to
The content server 1s transmits content to the ICN node 1i by multicast (
The content transfer unit 10013 of the ICN node 1i receives the content from the content server 1s and stores a cache of the received content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the ICN node 2i by multicast (namely, by using the multicast transfer unit 10017) (step S203).
The content transfer unit 10013 of the ICN node 2i receives the content from the ICN node 1i and stores a cache of the received content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the IP router 1r by multicast (step S205).
The IP router 1r copies the content received from the ICN node 2i and transmits the content to the ICN node 3i and the ICN node 4i by multicast (steps S207 and S211).
The content transfer unit 10013 of the ICN node 3i receives the content from the IP router 1r and stores a cache of the received content in the memory 100. Then, the content transfer unit 10013 transfers the received content to the terminal 1t by multicast (step S209).
The content transfer unit 10013 of the ICN node 4i receives the content from the IP router 1r and stores a cache of the received content in the memory 100. Then, the content transfer unit 10013 transfers the received content to the terminal 2t and the terminal 3t by multicast (steps S213 and S215).
Thereafter, the interest management unit 20011 of the terminal 4t transmits an additional interest packet to the ICN node 1i (step S217).
In response to this, the correspondence relationship management unit 10014 of the ICN node 1i transmits, to the terminal 4t, correspondence relationship data that includes the content ID included in the additional interest packet and the multicast address allocated to the content (step S219).
The correspondence relationship management unit 20014 of the terminal 4t receives the correspondence relationship data and stores it in the memory 200. Then, the multicast management unit 20015 executes the multicast tree join processing based on the multicast address included in the received correspondence relationship data (step S221). Specifically, the multicast management unit 20015 sends an IGMP Join message to the ICN node 1i.
The content server 1s transmits live data of the content (hereinafter referred to as live content) to the ICN node 1i by multicast (step S223).
The content transfer unit 10013 of the ICN node 1i receives the live content from the content server 1s and stores a cache of the received live content in the memory 100. Then, the content transfer unit 10013 of the ICN node 1i transmits the received live content and the cache 10022 (that is, cache content) stored in the memory 100 to the terminal 4t by multicast (step S225). The terminal 4t may align the received cache content and live content in order based on information (for example, number or time information) included in the content, to playback the content in chronological order and playback with a faster speed.
By executing the aforementioned processing, it becomes possible to browse both the cache content and the live content at the terminal 4t.
An overview of a third embodiment will be explained with reference to
As a result, it is possible for not only the terminals 1t to 3t but also the terminals 5t and 6t to receive live content as illustrated in
Next, the third embodiment will be explained in more detail with reference to
The content server 1s transmits content to the ICN node 1i by multicast (
The content transfer unit 10013 of the ICN node 1i receives the content from the content server 1s and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the ICN node 2i by multicast (step S303).
The content transfer unit 10013 of the ICN node 2i receives the content from the ICN node 1i and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the IP router 1r by multicast (step S305).
The IP router 1r transmits the content received from the ICN node 2i to the ICN node 3i by multicast (step S307).
Here, the interest management unit 20011 of the terminal 5t transmits the additional interest packet to the ICN node 5i (step S309), and the interest management unit 20011 of the terminal 6t transmits the additional interest packet to the ICN node 5i (step S311).
The interest management unit 10011 of the ICN node 5i aggregates the additional interest packet transmitted by the terminal 5t and the additional interest packet transmitted by the terminal 6t (step S313) and transfers one additional interest packet to the ICN node 3i (step S315).
The interest management unit 10011 of the ICN node 3i receives the additional interest packet. In response to this, the address determination unit 10012 determines a multicast address (in this case, the multicast address B) that corresponds to cache content (step S317). The correspondence relationship management unit 10014 generates correspondence relationship data that includes the content ID, information representing that it is the cache content and the multicast address B (step S319), and stores in memory 100. The correspondence relationship management unit 10014 transmits, to the ICN node 5i, the correspondence relationship data generated in step S319 and the correspondence relationship data that is stored in the memory 100 and includes the multicast address A (step S321).
The correspondence relationship management unit 10014 of the ICN node 5i receives, from the ICN node 3i, the correspondence relationship data that includes the multicast address A and the correspondence relationship data that includes the multicast address B, and transfers to the terminal 5t (step S323). In addition, the correspondence relationship management unit 10014 transmits, to the terminal 6t, the correspondence relationship data that includes the multicast address A and the correspondence relationship data that includes the multicast address B (step S325), and stores in the memory 100. Then, the processing shifts to step S327 of
Shifting to the explanation of
The content transfer unit 10013 of the ICN node 3i transmits, to the ICN node 5i, the cache 10022 (in other words, cache content) stored in the memory 100 of the ICN node 3i by multicast using the multicast address B (step S331).
The content transfer unit 10013 of the ICN node 5i receives the cache content from the ICN node 3i. Then, the content transfer unit 10013 of the ICN node 5i transmits the received cache content to the IP router 3r by multicast using the multicast address B (step S333).
The IP router 3r receives the cache content from the ICN node 5i. Then, the IP router 3r transmits the received cache content to the terminal 5t and the terminal 6t by multicast using the multicast address B (steps S335 and S337).
After that, the content server 1s transmits content to the ICN node 1i by multicast (step S339). The content transmitted in step S339 is live content.
The content transfer unit 10013 of the ICN node 1i receives the live content from content server 1s and stores a cache of the live content in memory 100. Then, the content transfer unit 10013 transmits the received live content to the ICN node 2i by multicast (step S341).
The content transfer unit 10013 of the ICN node 2i receives the live content from the ICN node 1i and stores a cache of the live content in the memory 100. Then, the content transfer unit 10013 transmits the received live content to the IP router 1r by multicast (step S343).
The IP router 1r transfers the live content received from the ICN node 2i to the ICN node 3i by multicast (step S345).
The content transfer unit 10013 of the ICN node 3i receives the live content from the IP router 1r and stores a cache of the live content in the memory 100. Then, the content transfer unit 10013 transmits the received live content to the ICN node 5i by multicast using the multicast address A (step S347).
The content transfer unit 10013 of the ICN node 5i receives the live content from the ICN node 3i and stores a cache of the live content in the memory 100. Then, the content transfer unit 10013 transmits the received live content to the IP router 3r by multicast using the multicast address A (step S349).
The IP router 3r receives the live content from the ICN node 5i. Then, the IP router 3r transmits the received live content to the terminal 5t and the terminal 6t by multicast using the multicast address A (steps S351 and S353). As well as the second embodiment, the terminal 5t and the terminal 6t may align the received cache content and live content in order based on information included in the content, to playback the content in chronological order and playback with a faster speed.
As illustrated in
As described above, by using a multicast address for live content and a multicast address for cache content, it becomes possible to prevent wasteful delivery of the cache content when the network is complicated.
An overview of the fourth embodiment will be explained with reference to
The ICN node 5i receives the correspondence relationship data that includes the multicast address A and the cache content. Since the ICN node 5i is an aggregate node for the cache content, the ICN node 5i determines the multicast address B to be allocated to the cache content. Then, the ICN node 5i generates correspondence relationship data that includes the content ID and the multicast address B. The ICN node 5i transmits the received correspondence relationship data and the generated correspondence relation data to the terminals 5t and 6t. In addition, the ICN node 5i transmits the generated correspondence relation data to the ICN node 3i. In response to this, the terminals 5t and 6t execute the multicast tree join processing with respect to the multicast address included in the correspondence relationship data. Specifically, the terminals 5t and 6t transmit an IGMP Join message to the ICN node 5i with respect to the multicast address A to be allocated to the live content, and also transmit an IGMP Join message to the ICN node 5i with respect to the multicast address B to be allocated to the cache content. In addition, the ICN node 5i transmits a Join message to the ICN node 3i.
As a result, as illustrated in
Next, the fourth embodiment will be explained in more detail with reference to
The content server 1s transmits content to the ICN node 1i by multicast (
The content transfer unit 10013 of the ICN node 1i receives the content from the content server 1s and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the ICN node 2i by multicast (step S403).
The content transfer unit 10013 of the ICN node 2i receives the content from the ICN node 1i and stores a cache of the content in the memory 100. Then, the content transfer unit 10013 transmits the received content to the IP router 1r by multicast (step S405).
The IP router 1r transmits the content received from the ICN node 2i to the ICN node 3i by multicast (step S407).
Here, the interest management unit 20011 of the terminal 5t transmits an additional interest packet to the ICN node 5i (step S409), and the interest management unit 20011 of the terminal 6t transmits an additional interest packet to the ICN node 5i (step S411).
The interest management unit 10011 of the ICN node 5i aggregates the additional interest packet transmitted by the terminal 5t and the additional interest packet transmitted by the terminal 6t (step S413), and transfers one additional interest packet to the ICN node 3i (Step S415).
The interest management unit 10011 of the ICN node 3i receives the additional interest packet. The address determination unit 10012 does not determine the multicast address that corresponds to the cache content since the ICN node 3i is not an aggregate node for the cache content. Therefore, the correspondence relationship management unit 10014 transmits, to the ICN node 5i, correspondence relationship data stored in the memory 100 and includes the multicast address A (step S417). In addition, the content transfer unit 10013 transmits the cache content stored in the memory 100 to the ICN node 5i by unicast (step S419). The processing shifts to step S421 in
Shifting to the explanation of
The correspondence relationship management unit 10014 of the ICN node 5i transmits, to the terminals 5t and 6t, correspondence relationship data that includes the multicast address A and correspondence relationship data that includes the multicast address B (steps S425 and S427).
The multicast management unit 20015 of the terminal 5t and the multicast management unit 20015 of the terminal 6t execute the multicast tree join processing with respect to the multicast address A and the multicast address B (step S429). In addition, the multicast management unit 10015 of the ICN node 5i executes the multicast tree join processing with respect to the multicast address A and the multicast address B (step S431).
The content transfer unit 10013 of the ICN node 5i transmits the cache content received from the ICN node 3i to the IP router 3r by multicast using the multicast address B (step S433).
The IP router 3r receives the cache content from the ICN node 5i. Then, the IP router 3r transmits the received cache content to the terminal 5t and the terminal 6t by multicast using the multicast address B (steps S435 and S437). The processing shifts to step S439 of
Shifting to the explanation of
The content transfer unit 10013 of the ICN node 5i transmits the cache content received from the ICN node 3i to the IP router 3r by multicast using the multicast address B (step S441).
The IP router 3r receives the cache content from the ICN node 5i. Then, the IP router 3r transmits the received cache content to the terminal 5t and the terminal 6t by multicast using the multicast address B (steps S443 and S445).
After that, the content server 1s transmits content to the ICN node 1i by multicast (step S447). The content transmitted in step S447 is live content.
The content transfer unit 10013 of the ICN node 1i receives the live content from content server 1s and stores a cache of the live content in memory 100. Then, the content transfer unit 10013 transmits the received live content to the ICN node 2i by multicast (step S449).
The content transfer unit 10013 of the ICN node 2i receives the live content from the ICN node 1i and stores a cache of the live content in the memory 100. Then, the content transfer unit 10013 transmits the received live content to the IP router 1r by multicast (step S451).
The IP router 1r transfers the live content received from the ICN node 2i to the ICN node 3i by multicast (step S453).
The content transfer unit 10013 of the ICN node 3i receives the live content from the IP router 1r and stores a cache of the live content in the memory 100. Then, the content transfer unit 10013 transmits the received live content to the ICN node 5i by multicast using the multicast address A (step S455).
The content transfer unit 10013 of the ICN node 5i receives the live content from the ICN node 3i and stores a cache of the live content in the memory 100. Then, the content transfer unit 10013 transmits the received live content to the IP router 3r by multicast using the multicast address A (step S457).
The IP router 3r receives the live content from the ICN node 5i. Then, the IP router 3r transmits the received live content to the terminal 5t and the terminal 6t by multicast using the multicast address A (steps S459 and S461). As well as the second embodiment, the terminal 5t and the terminal 6t may align the received cache content and live content in order based on information included in the content, to playback the content in chronological order and playback with a faster speed.
As described above, use of a multicast address for live content and a multicast address for cache content enables to prevent wasteful delivery of the cache content when a network is complicated. In addition, since multicast is not performed and forwarding is performed by unicast when there is no aggregate node for cache content, it becomes possible to prevent wasteful use of multicast addresses.
Although the embodiments of this invention were explained above, this invention is not limited to those. For example, the functional block configuration of the ICN nodes and the terminals, which are explained above, does not always correspond to actual program module configuration.
Moreover, the aforementioned data configuration is a mere example, and may be changed. Furthermore, as for the processing flow, as long as the processing results do not change, the turns of the steps may be exchanged or the steps may be executed in parallel.
In addition, aforementioned IP router, as illustrated in
In addition, the aforementioned terminals and content server are computer apparatuses as illustrated in
The aforementioned embodiments of this invention may be summarized as follows.
A communication apparatus relating to a first aspect of embodiments includes: a memory; and a processor coupled to the memory and configured to: transfer, to a first apparatus, one request packet of plural request packets for first content, upon receiving the plural request packets from a second apparatus; identify a first multicast address that is allocated to the first content; transmit, to the first apparatus and the second apparatus, identification information of the first content and the first multicast address; and transfer, to the second apparatus, the first content by the first multicast address, upon receiving the first content from the first apparatus.
Since it is possible to respond to plural request packets and transfer the content by multicast, bandwidth is not wastefully consumed, and it becomes possible to use the bandwidth efficiently.
Moreover, the processor may further be configured to: transmit, to a third apparatus, the identification information of the first content and the first multicast address, upon receiving a request packet for the first content from the third apparatus after transfer of the first content by the first multicast address has started; and transfer, to the third apparatus, a cache of the first content and live data of the first content by the first multicast address. It becomes possible for a user of the third apparatus to browse the first content delivered to the first apparatus in the past.
Moreover, the processor may further be configured to: identify a second multicast address that is allocated to a cache of the first content, upon receiving a request packet for the first content from a fourth apparatus after transfer of the first content by the first multicast address has started; transmit, to the fourth apparatus, first information that includes the identification information of the first content and the first multicast address, and second information that includes identification information of the cache of the first content and the second multicast address; transfer, to the fourth apparatus, the live data of the first content by the first multicast address; and transfer, to the fourth apparatus, the cache of the first content by the second multicast address. If the live data and the cache are transferred by the same multicast address, there is a possibility that the cache is transferred to a route for which the cache is not necessary. Therefore, by performing the aforementioned processing, it becomes possible to prevent wastefully transfer the cache and suppress consumption of bandwidth.
Moreover, the processor may further be configured to: identify a third multicast address that is allocated to a cache of the first content, upon receiving request packets for the first content from a fifth apparatus and a sixth apparatus after transfer of the first content by the first multicast address has started; transmit, to the fifth apparatus and the sixth apparatus, third information that includes the identification information of the first content and the first multicast address, and fourth information that includes identification information of the cache of the first content and the third multicast address; transfer, to the fifth apparatus and the sixth apparatus, the live data of the first content by the first multicast address; and transfer, to the fifth apparatus and the sixth apparatus, the cache of the first content by the third multicast address. It becomes possible for a multicast address to be determined when the communication apparatus corresponds to an aggregate node for a cache. This enables to suppress wasteful use of multicast addresses.
Moreover, the processor may further be configured to: perform processing to join a multicast group that corresponds to the first multicast address, upon receiving, from the second apparatus, a packet to request for joining the multicast group that corresponds to the first multicast address. It becomes possible to transfer content to the first apparatus by multicast.
Moreover, the processor may further be configured to: generate the first multicast address based on a hash function whose input is identification information of the communication apparatus and time information. It becomes possible to generate a multicast address in the communication apparatus.
Moreover, the communication apparatus may be a communication apparatus that performs ICN (Information Centric Networking) communication.
A communication method relating to a second aspect of the embodiments includes: transferring, to a first apparatus, one request packet of plural request packets for first content, upon receiving the plural request packets from a second apparatus; identifying a first multicast address that is allocated to the first content;
transmitting, to the first apparatus and the second apparatus, identification information of the first content and the first multicast address; and transferring, to the second apparatus, the first content by the first multicast address, upon receiving the first content from the first apparatus.
Incidentally, it is possible to create a program causing a processor to execute the aforementioned processing, and such a program is stored in a computer readable storage medium or storage device such as a flexible disk, CD-ROM, DVD-ROM, magneto-optic disk, a semiconductor memory, and hard disk. In addition, the intermediate processing result is temporarily stored in a storage device such as a main memory or the like.
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 a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions 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.
Number | Date | Country | Kind |
---|---|---|---|
2016-200875 | Oct 2016 | JP | national |