WO2015133055A1 - Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法 - Google Patents

Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法 Download PDF

Info

Publication number
WO2015133055A1
WO2015133055A1 PCT/JP2015/000349 JP2015000349W WO2015133055A1 WO 2015133055 A1 WO2015133055 A1 WO 2015133055A1 JP 2015000349 W JP2015000349 W JP 2015000349W WO 2015133055 A1 WO2015133055 A1 WO 2015133055A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
ack
node
list
summary vector
Prior art date
Application number
PCT/JP2015/000349
Other languages
English (en)
French (fr)
Inventor
正人 工藤
尚志 水本
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to CN201580006033.XA priority Critical patent/CN105940717B/zh
Priority to EP15759187.6A priority patent/EP3116263A4/en
Priority to JP2016506103A priority patent/JP6183536B2/ja
Priority to US15/109,482 priority patent/US9985751B2/en
Priority to KR1020167018480A priority patent/KR20160099610A/ko
Publication of WO2015133055A1 publication Critical patent/WO2015133055A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list

Definitions

  • This application relates to a communication node used in Disruption / Delay / Disconnect Tolerant Network and its communication method.
  • Disruption Tolerant Network is a wireless multi-hop network that includes multiple communication nodes.
  • Disruption Tolerant Network can also be called Delay Tolerant Network or DisconnectDisTolerant Network.
  • DTN Disruption / Delay / Disconnect Tolerant Network
  • DTN nodes a plurality of communication nodes
  • One or both of the source node and the destination node may be a node belonging to the DTN (DTN node) or belong to another network (for example, the Internet, a public cellular network, or a wireless local area network (LAN)). It may be a node. If one or both of the source node and the destination node are nodes belonging to another network, any DTN node operates as a router or gateway that relays messages between the DTN and the other network.
  • DTN node DTN node
  • another network for example, the Internet, a public cellular network, or a wireless local area network (LAN)
  • LAN wireless local area network
  • DTN is premised on temporary or intermittent communication interruptions due to movement of DTN nodes and shielding of radio signals by obstacles.
  • the DTN assumes that there is no stable communication path between the source node and the destination node at least at a certain point in time.
  • Each DTN node performs a store-and-forward operation to deal with temporary or intermittent communication interruptions. Therefore, DTN can also be called a store-and-forward wireless multi-hop network.
  • some or all of the plurality of DTN nodes constituting the DTN may be mobile terminals having mobility. In this sense, the DTN can also be called a store-and-forward wireless ad hoc network.
  • the DTN is assumed to be applied to, for example, emergency communication at the time of disaster, and vehicle-to-vehicle communication and road-to-vehicle communication in an intelligent transportation system (ITS).
  • ITS intelligent transportation system
  • the DTN node performs a store-and-forward operation. That is, the DTN node temporarily stores a message addressed to a destination node received from a certain DTN node in a memory (hereinafter referred to as a message buffer). When communication with another DTN node becomes possible, the DTN node determines the message forwarding destination and the message to forward according to the routing protocol, and sends the message stored in the message buffer to the other DTN node. Forward.
  • each DTN node stores a history of past communication (contact), and this history is used to determine a message forward destination.
  • Epidemimic routing is an improvement of the primitive flooding mechanism. Specifically, each DTN node that supports epidemic routing manages information called “summary vector”. The summary vector indicates the identifier of the message stored in the message buffer of each DTN node. Each DTN node exchanges a summary vector with each other in communication with an adjacent DTN node, specifies a message that the DTN node does not have, and acquires the specified message from the adjacent DTN node.
  • Spray and Wait is an improvement of Epidemic routing. Similar to Epidemic routing, each DTN node exchanges summary vectors with each other in communication with an adjacent node, and acquires a message that it does not have from the adjacent node.
  • Spray and Wait the number of times a message is duplicated in the entire DTN is specified when a message is generated at the source node. In the spray phase, message duplicates are generated until the specified number of duplicates is reached, and the DTN node holding the message passes the message duplicates to the DTN node encountered.
  • the DTN node holding the message keeps the duplication of the message without passing it on to other DTN nodes and only when the final destination node is encountered To the final destination node.
  • each DTN node exchanges a metric called Delivery Predictability in addition to the summary vector.
  • Delivery Predictability, P (A, B) indicates the probability that DTN node A can deliver a message to DTN node B. For example, when node A and node B communicate with each other, only when node B maintains greater Delivery Predictability than node A with respect to destination node D (ie, P (B, D) is greater than P (A, D)) Node A sends the message addressed to destination node D to node B.
  • Patent Document 1 discloses an improvement in message delivery between DTN nodes.
  • Patent Document 2 discloses improvement of routing in DTN.
  • one of the objects of the present invention is to provide a node device, a communication method, and a program capable of suppressing a duplicate having the same content as the message that has reached the final destination node from being spread in the DTN. Is to provide.
  • the node device used in the Disruption / Delay / Disconnect Tolerant Network includes a communication unit and a first message buffer.
  • the communication unit is configured to communicate with an adjacent DTN node in the DTN.
  • the message buffer is configured to store a plurality of messages transferred in the DTN.
  • the communication unit is configured to manage a first summary vector and a first acknowledgment (ACK) list, and in communication with the adjacent node, a second ACK list managed by the adjacent node And updating the first ACK list and the first summary vector based on the second ACK list.
  • ACK acknowledgment
  • the first summary vector indicates one or a plurality of stored messages stored in the first message buffer, and is transmitted to the adjacent node prior to transmission of the stored message in the communication with the adjacent node.
  • the first ACK list indicates one or a plurality of ACK messages recognized by the node device.
  • the second ACK list indicates one or more ACK messages recognized by the neighboring node. Each of the one or more ACK messages indicates a reached message that has already reached the final destination node via the DTN.
  • the communication method of the node device used in the Disruption / Delay / Disconnect Tolerant Network is (a) a second ACK list managed by the neighboring node in communication with the neighboring node. And (b) updating the first ACK list and the first summary vector managed in the node device based on the second ACK list.
  • the first summary vector indicates one or a plurality of stored messages stored in the first message buffer, and is transmitted to the adjacent node prior to transmission of the stored message in the communication with the adjacent node.
  • the first ACK list indicates one or a plurality of ACK messages recognized by the node device.
  • the second ACK list indicates one or more ACK messages recognized by the neighboring node. Each of the one or more ACK messages indicates a reached message that has already reached the final destination node via the DTN.
  • the program includes a group of instructions for causing a computer to perform the communication method according to the second aspect described above.
  • FIG. 1 shows a configuration example of a Disruption / Delay / Disconnect Tolerant Network (DTN) 100 according to the present embodiment.
  • the DTN 100 includes a plurality of DTN nodes 1.
  • the plurality of DTN nodes 1 autonomously relay messages (data bundles or data packets) to realize message distribution between the transmission source node and the destination node.
  • Each DTN node 1 may be a mobile terminal having mobility (for example, a mobile phone, a smartphone, a tablet computer, a personal computer (PC), etc.). Further, each DTN node 1 may be a communication terminal mounted on a transport device such as an automobile, an aircraft, a railway vehicle, and a ship. However, some of the plurality of DTN nodes 1 may be fixed wireless terminals such as wireless LAN access points.
  • Each DTN node 1 performs a store and forward operation. That is, each DTN node 1 has a message buffer for storing messages transferred in the DTN 100. The DTN node 1 temporarily stores messages received from other DTN nodes in a message buffer. When communication with another DTN node becomes possible, the DTN node 1 determines a message forward destination and a forward message according to the routing protocol, and transmits the message stored in the message buffer.
  • the routing protocol used in the present embodiment may be any protocol that uses a “summary vector”, and may be, for example, Epidemic routing, Spray and Wait, or PROPHET, or improvements thereof.
  • the summary vector indicates an identifier of a message managed by each DTN node and stored in the message buffer of each DTN node 1.
  • the summary vector is transmitted prior to transmission of the message stored in the message buffer of each DTN node 1 in communication with the adjacent DTN node. That is, each DTN node 1 exchanges summary vectors with each other in communication with an adjacent DTN node, specifies a message that it does not have, and acquires the specified message from the adjacent DTN node.
  • Fig. 2 shows an example of the summary vector structure.
  • the summary vector 20 shown in FIG. 2 includes a node ID 200 and N message IDs 201.
  • the node ID 200 indicates an identifier of the DTN node 1 that manages the summary vector 20, for example, an Internet Protocol (IP) address.
  • IP Internet Protocol
  • Each of the N message IDs 201 indicates an identifier of a message stored in the message buffer of the DTN node 1 that manages the summary vector 20.
  • Each message ID 201 may be specified by, for example, a combination of a source node address, a destination node address, and a message sequence number. Further, in order to reduce the data size, each message ID 201 may be a hash value calculated from the address of the transmission source node, the address of the destination node, and the sequence number of the message.
  • each DTN node 1 manages an Acknowledgment (ACK) list in addition to the summary vector.
  • the ACK list indicates one or a plurality of ACK messages recognized by each DTN node 1.
  • the ACK message indicates a reached message that has already reached the final destination node via the DTN 100.
  • ACK message is generated by the final destination node in principle.
  • the DTN node 1 In response to receiving the message designated as the final destination via the DTN 100, the DTN node 1 generates an ACK message corresponding to the message and adds it to its ACK list. May be.
  • the destination of a message transferred on the DTN 100 may be a node belonging to another network (for example, the Internet, a public cellular network, or a wireless Local Area Network (LAN)).
  • a DTN server that relays messages between a plurality of geographically separated DTNs may also be used.
  • any DTN node 1 operates as a router or gateway that relays messages between the DTN 100 and another network, or between the DTN 100 and the DTN server. Therefore, in these cases, when a message to be transmitted to another network or DTN server reaches itself, the DTN node 1 operating as a router or a gateway may generate an ACK message for the message.
  • the DTN node 1 operating as a router or gateway can be regarded as a “final destination node”.
  • FIG. 3 shows a configuration example of the ACK list.
  • the ACK list 30 shown in FIG. 3 includes a node ID 300 and M message IDs 301.
  • the node ID 300 indicates an identifier of the DTN node 1 that manages the ACK list 30, for example, an Internet protocol (IP) address.
  • IP Internet protocol
  • Each of the M message IDs 301 corresponds to an identifier of an ACK message known by the DTN node 1 that manages the ACK list 30.
  • Each message ID 301 may be defined similarly to the message ID 201 in the summary vector 20.
  • the ACK list 30 may include information for determining the expiration date of each ACK message, for example, a Time-To-Live (TTL) value or a Times-To-Send (TTS) value for each ACK message.
  • TTL Time-To-Live
  • TTS Times-To-Send
  • the Time-To-Live (TTL) value defines an upper limit value (so-called hop number) of the number of forwards when an ACK message is forwarded between DTN nodes 1.
  • the TTS value defines an upper limit value of the number of times each DTN node 1 forwards an ACK message to another DTN node 1 (that is, the number of times of ACK message duplication in each DTN node 1).
  • the information for determining the expiration date of the ACK message may be a combination of information indicating the generation time of the ACK message (time stamp) and information indicating the effective period (lifetime) in seconds or minutes. .
  • the ACK list 30 may include only information (time stamp) indicating the generation time of the ACK message in order to determine the validity period of the ACK message.
  • Information for determining the expiration date of these ACK messages includes the expiration date of the message stored in the message buffer of the DTN node 1 (for example, the TTL value, TTS value, message generation time, Or a combination of message generation time and its lifetime).
  • Each DTN node 1 exchanges not only the summary vector but also the ACK list when communicating with the adjacent DTN node. Then, each DTN node 1 updates the ACK list held by itself based on the ACK list received from the adjacent DTN node. Specifically, each DTN node 1 may merge the ACK list held by itself and the ACK list received from the adjacent DTN node. In other words, according to the set theory, each DTN node 1 may obtain the union of the ACK list held by itself and the ACK list received from the adjacent DTN node.
  • each DTN node 1 updates the summary vector held by itself based on the ACK list received from the adjacent DTN node. Specifically, each DTN node 1 may exclude a message having the same identifier as the reached message shown in the ACK list received from the adjacent DTN node from its summary vector. As a result, each DTN node 1 does not forward a message that has reached the final destination node to adjacent nodes. This is because the message that has reached the final destination node is not presented to the adjacent DTN node because the message that has reached the final destination node is excluded from the summary vector. Therefore, it is possible to prevent the copy of the message that has reached the final destination node from being spread in the DTN 100.
  • each DTN node 1 may update its message buffer based on the ACK list received from the adjacent DTN node. Specifically, each DTN node 1 may delete a message having the same identifier as the reached message shown in the ACK list received from the adjacent DTN node from its message buffer. Here, the message may be deleted by overwriting (updating) the message data stored in the message buffer of the DTN node 1 with empty data having a data size of zero. Thereby, each DTN node 1 can improve the utilization efficiency of a message buffer, and can contribute to the improvement of the message delivery rate of DTN100. This is because messages that no longer need to be forwarded can be deleted from the message buffer and the message buffer can be used for another message to be forwarded.
  • FIG. 4 shows a configuration example of the DTN node 1.
  • the wireless communication unit 11 performs wireless communication with other DTN nodes 1 in the DTN 100. That is, the wireless communication unit 11 has a transceiver corresponding to the physical layer of the wireless communication technology used in the DTN 100, and includes protocol suites of the data link layer, the network layer, and the transport layer of the wireless communication technology used in the DTN 100. to support. Further, the wireless communication unit 11 supports a bundle layer protocol. The bundle layer protocol is located between the application layer and the transport layer, and provides store-and-forward communication necessary for the DTN. A Protocol Data Unit (PDU) in the bundle layer is sometimes called a message or a data bundle.
  • PDU Protocol Data Unit
  • the wireless communication unit 11 manages the above-described summary vector and ACK list based on the bundle layer protocol. Further, the wireless communication unit 11 exchanges summary vectors and ACK lists and transmits / receives messages in communication with adjacent DTN nodes based on the bundle layer protocol.
  • the data buffer 12 can store a plurality of messages transferred in the DTN 100.
  • the data buffer 12 may be a volatile memory such as Dynamic Random Access Memory (DRAM) and Static Random Access Memory (SRAM), or a non-volatile memory such as a hard disk drive and a flash memory, or a combination thereof.
  • DRAM Dynamic Random Access Memory
  • SRAM Static Random Access Memory
  • non-volatile memory such as a hard disk drive and a flash memory, or a combination thereof.
  • the sequence diagram of FIG. 5 shows an example of the communication procedure of the DTN node 1 in this embodiment.
  • the example of FIG. 5 shows a case where two DTN nodes 1 (1A and 1B) approach and start communication.
  • the DTN nodes 1A and 1B exchange ACK lists. That is, the DTN node 1A transmits its own ACK list A to the DTN node 1B (step S101).
  • the DTN node 1B transmits its own ACK list B to the DTN node 1A (step S102).
  • step S103 the DTN node 1A updates its own ACK list A and summary vector A based on the ACK list B received from the DTN node 1B.
  • step S104 the DTN node 1B updates its ACK list B and summary vector B based on the ACK list A.
  • the procedure for updating the ACK list and summary vector is as described above.
  • Each of the DTN nodes 1A and 1B may further update the message buffer.
  • the DTN nodes 1A and 1B exchange the updated summary vectors based on the ACK list of the communication partner. That is, the DTN node 1A transmits the summary vector A updated based on the ACK list B of the communication partner to the DTN node 1B (step S105). The DTN node 1B transmits the summary vector B updated based on the ACK list A of the communication partner to the DTN node 1A (step S106).
  • step S107 the DTN node 1A compares the summary vector B of the communication partner with its own summary vector A, and requests the DTN node 1B to transmit a message not included in the summary vector A.
  • step S108 the DTN node 1B compares the summary vector A of the communication partner with its own summary vector B, and requests the DTN node 1A to transmit a message not included in the summary vector B.
  • step S109 the DTN nodes 1A and 1B transmit the message requested by the communication partner. Each of the DTN nodes 1A and 1B stores the message received from the communication partner in its message buffer.
  • DTN nodes 1A and 1B update summary vectors A and B, respectively, according to the result of step S109.
  • step S105 and S106 the updated summary vectors are exchanged based on the ACK list of the adjacent DTN node. Therefore, the size of the summary vector can be reduced, and there is an advantage that information on messages that are not necessary for the adjacent DTN node is not presented to the adjacent DTN node. This is because the message information corresponding to the ACK message known by the adjacent DTN node is excluded from the summary vector to be exchanged.
  • the sequence diagram of FIG. 6 shows an example of the communication procedure of the DTN node 1 in this embodiment. Comparing the procedure of FIG. 6 with the procedure of FIG. 5, the procedure of FIG. 6 is that the summary vector before being updated based on the ACK list of the adjacent DTN node is transmitted to the adjacent DTN node, and messages are exchanged. Different from the procedure of FIG.
  • DTN nodes 1A and 1B exchange ACK lists and summary vectors. That is, the DTN node 1A transmits its own ACK list A and summary vector A to the DTN node 1B (step S201). The DTN node 1B transmits its own ACK list B and summary vector B to the DTN node 1A (step S202).
  • step S203 the DTN node 1A transmits to the DTN node 1B a message that is not shown in either its own summary vector A or its own ACK list A among the messages shown in the summary vector B of the DTN node 1B. Request.
  • step S204 the DTN node 1B transmits a message not shown in either its own summary vector B or its own ACK list B among the messages shown in the summary vector A of the DTN node 1A. Request to node 1A.
  • step S205 the DTN nodes 1A and 1B transmit a message requested by the communication partner.
  • Each of the DTN nodes 1A and 1B stores the message received from the communication partner in its message buffer.
  • step S206 the DTN node 1A updates the ACK list A according to the ACK list B received in step S201.
  • the DTN node 1A may obtain the union of the ACK list A and the ACK list B.
  • the DTN node 1A updates the summary vector A according to the ACK list B received in step S201 and the result of the message exchange in step S205.
  • the DTN node 1A may delete the message identifier shown in the ACK list B from the summary vector A and add the message identifier received in step S205 to the summary vector A.
  • step S207 as in step S206, the DTN node 1B updates the ACK list B according to the ACK list A received in step S202. Further, the DTN node 1B updates the summary vector B according to the ACK list A received in step S202 and the result of the message exchange in step S205.
  • each of the DTN nodes 1A and 1B may further update the message buffer.
  • the possible communication time between adjacent DTN nodes 1 may be limited. Therefore, it is desirable to reduce the time required to complete message exchange. This is because message exchange failures can be reduced.
  • message exchange (steps S203 to S205) can be performed without waiting for completion of the process of updating the summary vector based on the ACK list of the adjacent DTN node. Therefore, the procedure shown in FIG. 6 can be expected to shorten the time required to complete the message exchange as compared with the procedure shown in FIG.
  • the communication procedure of the DTN node 1 described in the first and second embodiments is merely an example, and various modifications are possible.
  • the exchange of the ACK list between adjacent DTN nodes 1 may be performed by a procedure different from the summary vector exchange and the message transmission / reception.
  • the communication procedure related to the ACK list may include only one-way transmission, not ACK list exchange (that is, bidirectional transmission).
  • FIG. 7 is a simple sequence showing one-way reception of the ACK list B from the adjacent DTN node 1B and updating of the summary vector A and the ACK list A based on this reception.
  • the DTN node 1A receives the ACK list B from the DTN node 1B.
  • the DTN node 1A updates its own ACK list A and summary vector A based on the ACK list B received from the DTN node 1B.
  • the DTN node 1A may exclude a message having the same identifier as the reached message shown in the ACK list B received from the adjacent DTN node 1B from its summary vector A. As a result, the DTN node 1A does not forward a message that has reached the final destination node to the adjacent nodes. This is because the message that has reached the final destination node is excluded from the summary vector A, so that the DTN node 1A does not present the message that has reached the final destination node to the adjacent DTN node. Therefore, it is possible to prevent the copy of the message that has reached the final destination node from being spread in the DTN 100.
  • each entry of the summary vector includes information for distinguishing whether the entry relates to a message stored in a message buffer or an ACK message. This information may be, for example, an ACK flag indicating whether it is an ACK message. This information may also indicate whether summary vector entries are associated with valid data. In this case, when the summary vector entry is associated with invalid data (for example, empty data with a data size of zero), the entry may mean an ACK message.
  • FIG. 8 shows one configuration example of a summary vector including ACK according to the present embodiment.
  • the summary vector 40 shown in FIG. 8 includes a node ID field 200, L message ID fields 401, and L ACK flag fields 402.
  • the L ACK flag fields 402 correspond to the L message ID fields 401.
  • Each ACK flag field 402 distinguishes whether the value of the corresponding message ID field 401 relates to a message stored in the message buffer or an ACK message. For example, when the value of the ACK flag field 402 is “0”, it means that the value of the corresponding message ID field 401 is the ID of the message stored in the message buffer. In this case, when the value of the ACK flag 402 is “1”, it means that the value of the corresponding message ID field 401 is the message ID of the ACK message, that is, the message ID that has reached the final destination node. .
  • FIG. 9 shows another configuration example of the summary vector including the ACK according to the present embodiment.
  • the summary vector 41 shown in FIG. 9 includes a node ID field 200, L message ID fields 401, and L data size fields 403.
  • the L data size fields 403 correspond to the L message ID fields 401.
  • Each data size field 403 distinguishes whether the value of the corresponding message ID field 401 relates to a message stored in the message buffer or an ACK message. Specifically, a value in the data size field 403 being a valid value (a valid data size greater than zero) indicates an entry corresponding to a message stored in the message buffer. On the other hand, the value of the data size field 403 being zero or an invalid value indicates an entry corresponding to the ACK message.
  • the procedure for exchanging the ACK list is not required in the communication procedure between adjacent DTN nodes 1. Just replace it.
  • the DTN node 1 can spread an ACK message (that is, a notification indicating that the message has reached the final destination) using a message spreading mechanism based on epidemic routing using a summary vector. No additional mechanism (procedure for exchanging ACK lists) for spreading ACK messages is required. Therefore, the communication procedure between adjacent DTN nodes 1 can be simplified.
  • the DTN node 1 may operate as follows.
  • the DTN node 1 includes an entry having the same message ID as the summary vector received from the adjacent DTN node and the own summary vector, but the data size indicated in the own summary vector is a valid value, whereas the adjacent DTN node
  • the DTN node 1 overwrites (updates) the data size field 403 of the data in its summary vector with zero or an invalid value. By such a message update operation, it is possible to spread the ACK message and delete the arrived message from the data buffer 12.
  • the DTN node 1 can use the expiration date of the message, for example, a lifetime based on a time stamp, a Time-To-Live (TTL) value, or a Times- There is also an advantage that the To-Send (TTS) value can be updated or reset. Therefore, the summary vector entry indicating that the data size is zero or an invalid value (that is, the entry corresponding to the ACK message) is erased by expiration of the expiration date before it is sufficiently spread in the DTN 100. Can be prevented. Therefore, it is possible to facilitate that the ACK message is sufficiently spread in the DTN 100 and the reached message that has already reached the final destination node is deleted from the DTN 100.
  • TTL Time-To-Live
  • TTS To-Send
  • using the data size information in the summary vector for the purpose of indicating whether or not it is ACK is particularly effective when the data size information is included in the summary vector.
  • the data size information included in the summary vector can be used as a part of the message identifier or for the purpose of indicating whether the message has been updated. Further, the example of FIG. 9 is also used for the purpose of indicating whether or not the data size information is ACK, and therefore there is an advantage that a new summary vector structure such as the ACK flag field of FIG. .
  • the communication procedure by the DTN node 1 described in the above-described embodiments may be realized by causing a computer system to execute a program.
  • a program including a group of instructions for causing the computer system to execute the algorithm described using the sequence diagram and the like in this specification may be created and the program may be supplied to the computer system .
  • Non-transitory computer readable media include various types of tangible storage media (tangible storage medium). Examples of non-transitory computer-readable media are magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CompactComp Disc Read Only Memory (CD-ROM), CD-ROM Includes R, CD-R / W, semiconductor memory (eg mask ROM, Programmable ROM (PROM), Erasable PROM (EPROM), flash ROM, Random Access Memory (RAM)).
  • the program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

ノード装置(1A)は、隣接ノード(1B)との交信において第2のACKリストを受信し、第1のACKリスト及び第1のサマリベクタを第2のACKリストに基づいて更新する。第1のサマリベクタは、ノード装置(1A)のメッセージバッファに保存されたメッセージを示し、隣接ノード(1B)との交信においてメッセージの送信に先立って隣接ノード(1B)に送信される。第1のACKリストは、ノード装置(1A)によって認識されているACKメッセージを示す。第2のACKリストは、隣接ノード(1B)によって認識されているACKメッセージを示す。各ACKメッセージは、DTN(100)を経由して最終的な宛先ノードに到達済みのメッセージを示す。これにより、例えば、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDisruption Tolerant Network(DTN)内に拡散されることを抑制する。

Description

Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法
 本出願は、Disruption/Delay/Disconnect Tolerant Networkで使用される通信ノード及びその通信方法に関する。
 Disruption Tolerant Networkは、複数の通信ノードを含む無線マルチホップ・ネットワークである。Disruption Tolerant Networkは、Delay Tolerant Networkと呼ぶこともでき、Disconnect Tolerant Networkと呼ぶこともできる。本明細書では、Disruption/Delay/Disconnect Tolerant Network を総称してDTNと表記する。DTNは、複数の通信ノード(以下、DTNノードと呼ぶ)が自律的にメッセージ(データバンドル、又はデータパケット)を中継し合うことで、送信元ノードと宛先ノードの間でのメッセージ配信を実現する。送信元ノード及び宛先ノードの一方又は両方は、DTNに属するノード(DTNノード)であってもよいし、他のネットワーク(例えば、インターネット、公衆セルラネットワーク、又は無線Local Area Network(LAN))に属するノードであってもよい。送信元ノード及び宛先ノードの一方又は両方が他のネットワークに属するノードである場合、いずれかのDTNノードは、DTNと他のネットワークの間でメッセージを中継するルータ又はゲートウェイとして動作する。
 DTNは、DTNノードの移動および障害物による無線信号の遮蔽などによって、一時的な又は断続的な通信途絶が発生することを前提としている。言い換えると、DTNは、少なくともある時点において、送信元ノードと宛先ノードの間に安定した通信パスが存在しないことを前提としている。一時的な又は断続的な通信途絶に対処するために、各DTNノードはストア・アンド・フォワード動作を行う。したがって、DTNは、ストア・アンド・フォワード型の無線マルチホップ・ネットワークと呼ぶこともできる。また、DTNを構成する複数のDTNノードの一部又は全部は、移動性を有するモバイル端末であってもよい。この意味で、DTNは、ストア・アンド・フォワード型の無線アドホック・ネットワークと呼ぶこともできる。DTNは、例えば、災害時の非常用通信、並びに高度交通システム(Intelligent Transport Systems(ITS))における車々間通信および路車間通信への適用が想定されている。
 上述したように、DTNノードは、ストア・アンド・フォワード動作を行う。つまり、DTNノードは、あるDTNノードから受信した宛先ノード宛てのメッセージをメモリ(以下、メッセージバッファと呼ぶ)に一時的に蓄積する。そして、他のDTNノードとの通信が可能になったときに、DTNノードは、メッセージのフォワード先及びフォワードするメッセージをルーティングプロトコルに従って決定し、メッセージバッファに蓄積されているメッセージを他のDTNノードにフォワードする。
 DTNに適したルーティングプロトコルに関して様々な提案がなされている。DTNのための代表的なルーティングプロトコルとして、Epidemic routing、 Spray and Wait、及びPROPHETが知られている。PROPHETは、Probabilistic Routing Protocol using History of Encounters and Transitivityの略である。Epidemic routing及びSpray and Waitは、ネットワーク状態に関する情報を利用しない。これに対して、PROPHETは、各DTNノードが過去の交信(コンタクト)の履歴を記憶し、この履歴をメッセージのフォワード先の決定に利用する。
 Epidemic routingは原始的なフラッディング・メカニズムの改良である。具体的には、Epidemic routingをサポートする各DTNノードは、「サマリベクタ」と呼ばれる情報を管理する。サマリベクタは、各DTNノードのメッセージバッファに保存されているメッセージの識別子を示す。各DTNノードは、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを特定し、特定したメッセージを隣接DTNノードから取得する。
 Spray and Waitは、Epidemic routingの改良である。各DTNノードは、Epidemic routingと同様に、隣接ノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを隣接ノードから取得する。Spray and Waitでは、送信元ノードにおけるメッセージの生成時に、DTN全体でのメッセージの複製回数が規定される。Spray段階ででは、規定の複製回数に到達するまでメッセージの複製が生成され、メッセージを保有するDTNノードは遭遇したDTNノードにメッセージの複製を渡していく。規定の複製回数に到達すると(Wait段階)、メッセージを保持するDTNノードは、そのメッセージの複製を他のDTNノードに渡すこと無く保持し続け、最終的な宛先ノードに遭遇した場合にだけ当該メッセージを最終的な宛先ノードに渡す。
 PROPHETでは、各DTNノードは、サマリベクタに加えて、Delivery Predictability、と呼ばれるメトリックを交換する。Delivery Predictability,P(A,B)は、DTNノードAがDTNノードBにメッセージを配送できる確率を示す。例えば、ノードAとノードBが交信する場合、宛先ノードDに関してノードBがノードAよりも大きなDelivery Predictabilityを保つ場合に限って(すなわち、P(B,D)がP(A,D)より大きい場合に限って)、ノードAは宛先ノードD宛てのメッセージをノードBに送信する。
 特許文献1は、DTNノード間でのメッセージ配信の改良について開示している。特許文献2は、DTNにおけるルーティングの改良について開示している。
国際公開第2011/071045号 国際公開第2013/076912号
 以上に述べたEpidemic routing、Spray and Wait、及びPROPHETと同様に、DTNのための多くのルーティングプロトコルは、多数のメッセージの複製を生成して、多数のメッセージの複製をDTN内に拡散することを特徴としている。したがって、1つのメッセージの複製が最終的な宛先ノードに到達した後も、同じ内容を持つその他の多くのメッセージの複製がさらにDTN内に拡散されてしまう。そうすると、最終的な宛先ノードに到達したメッセージの複製が各DTNノードのメッセージバッファに残ってしまう。DTNでのメッセージ配達率を高めるためには、宛先ノードに到達したメッセージと同じ内容を持つ複製は、DTN内で拡散されずに削除されることが好ましい。特許文献1及び2は、この問題に対処するための技術を開示していない。
 したがって、本件発明の目的の1つは、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDTN内に拡散されることを抑制することが可能なノード装置、通信方法、及びプログラムを提供することである。
 第1の態様では、Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置は、通信部及び第1のメッセージバッファを含む。前記通信部は、前記DTNにおいて隣接DTNノードと通信するよう構成されている。前記メッセージバッファは、前記DTNにおいて転送される複数のメッセージを保存するよう構成されている。さらに、前記通信部は、第1のサマリベクタ及び第1のAcknowledgement(ACK)リストを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信し、前記第2のACKリストに基づいて前記第1のACKリスト及び前記第1のサマリベクタを更新するよう構成されている。前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信される。前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示す。前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示す。前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
 第2の態様では、Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置の通信方法は、(a)隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信すること、及び(b)前記第2のACKリストに基づいて、前記ノード装置において管理されている第1のACKリスト及び第1のサマリベクタを更新すること、を含む。前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信される。前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示す。前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示す。前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
 第3の態様では、プログラムは、上述した第2の態様に係る通信方法をコンピュータに行わせるための命令群を含む。
 上述の態様によれば、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDTN内に拡散されることを抑制することが可能なノード装置、通信方法、及びプログラムを提供できる。
第1の実施形態に係るDTNの構成例を示す図である。 第1の実施形態に係るDTNノードの構成例を示すブロック図である。 サマリベクタの構成例を示す図である。 ACKリストの構成例を示す図である。 第1の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。 第2の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。 第3の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。 第4の実施形態に係るACKを含むサマリベクタの構成例を示す図である。 第4の実施形態に係るACKを含むサマリベクタの構成例を示す図である。
 以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
<第1の実施形態>
 図1は、本実施形態に係るDisruption/Delay/Disconnect Tolerant Network(DTN)100の構成例を示している。DTN100は、複数のDTNノード1を含む。複数のDTNノード1は、自律的にメッセージ(データバンドル、又はデータパケット)を中継し合うことで、送信元ノードと宛先ノードの間でのメッセージ配信を実現する。
 各DTNノード1は、移動性を有するモバイル端末(例えば、携帯電話、スマートフォン、タブレットコンピュータ、Personal Computer(PC)等)であってもよい。また、各DTNノード1は、自動車、航空機、鉄道車両、及び船舶などの輸送機器に搭載される通信端末であってもよい。しかしながら、複数のDTNノード1の一部は、無線LANアクセスポイントのように固定された無線端末であってもよい。
 各DTNノード1は、ストア・アンド・フォワード動作を行う。すなわち、各DTNノード1は、DTN100において転送されるメッセージを蓄積するためのメッセージバッファを有する。DTNノード1は、他のDTNノードから受信したメッセージをメッセージバッファに一時的に蓄積する。そして、さらに別のDTNノードとの通信が可能になったときに、DTNノード1は、メッセージのフォワード先及びフォワードするメッセージをルーティングプロトコルに従って決定し、メッセージバッファに蓄積されているメッセージを送信する。
 本実施形態で使用されるルーティングプロトコルは、「サマリベクタ」を使用するプロトコルであればよく、例えば、Epidemic routing、 Spray and Wait、若しくはPROPHET又はこれらの改良であってもよい。サマリベクタは、各DTNノードによって管理され、各DTNノード1のメッセージバッファに保存されているメッセージの識別子を示す。サマリベクタは、隣接DTNノードとの交信において、各DTNノード1のメッセージバッファに保存されているメッセージの送信に先立って送信される。すなわち、各DTNノード1は、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを特定し、特定したメッセージを隣接DTNノードから取得する。
 図2は、サマリベクタの構成例を示している。図2に示されたサマリベクタ20は、ノードID200及びN個のメッセージID201を含む。ノードID200は、サマリベクタ20を管理するDTNノード1の識別子、例えばInternet Protocol(IP)アドレス、を示す。N個のメッセージID201の各々は、サマリベクタ20を管理するDTNノード1のメッセージバッファに保存されたメッセージの識別子を示す。各メッセージID201は、例えば、送信元ノードのアドレス、宛先ノードのアドレス、及びメッセージのシーケンス番号の組合せによって特定されてもよい。また、データサイズを小さくするために、各メッセージID201は、送信元ノードのアドレス、宛先ノードのアドレス、及びメッセージのシーケンス番号から計算されたハッシュ値であってもよい。
 さらに本実施形態では、各DTNノード1は、サマリベクタに加えて、Acknowledgement(ACK)リストを管理する。ACKリストは、各DTNノード1によって認識されている1又は複数のACKメッセージを示す。ACKメッセージは、DTN100を経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
 ACKメッセージは、原則として、最終的な宛先ノードによって生成される。DTNノード1は、自身が最終的な宛先に指定されたメッセージをDTN100を経由して受信したことに応答して、当該メッセージに対応するACKメッセージを生成し、これを自身のACKリストに追加してもよい。
 しかしながら、DTN100上で転送されるメッセージの宛先は、他のネットワーク(例えば、インターネット、公衆セルラネットワーク、又は無線Local Area Network(LAN))に属するノードであるかもしれない。また、地理的に離間した複数のDTN間でメッセージを中継するDTNサーバが用いられるかもしれない。これらの場合には、いずれかのDTNノード1は、DTN100と他のネットワーク、又は、DTN100とDTNサーバの間でメッセージを中継するルータ又はゲートウェイとして動作する。したがって、これらの場合には、ルータ又はゲートウェイとして動作するDTNノード1は、他のネットワーク又はDTNサーバに送信するメッセージが自身に到達した場合に、当該メッセージに対するACKメッセージを生成してもよい。言い換えると、ルータ又はゲートウェイとして動作するDTNノード1は、「最終的な宛先ノード」とみなすことができる。
 図3は、ACKリストの構成例を示している。図3に示されたACKリスト30は、ノードID300及びM個のメッセージID301を含む。ノードID300は、ACKリスト30を管理するDTNノード1の識別子、例えばInternet Protocol(IP)アドレス、を示す。M個のメッセージID301の各々は、ACKリスト30を管理するDTNノード1が把握しているACKメッセージの識別子に相当する。各メッセージID301は、サマリベクタ20におけるメッセージID201と同様に定義されればよい。
 さらに、ACKリスト30は、各ACKメッセージの有効期限を定めるための情報、例えば、Time-To-Live(TTL)値又はTimes-To-Send(TTS)値、をACKメッセージ毎に有してもよい。Time-To-Live(TTL)値は、ACKメッセージがDTNノード1間でフォワードされる際のフォワード回数の上限値(いわゆるホップ数)を定める。TTS値は、各DTNノード1が他のDTNノード1にACKメッセージをフォワードする回数の上限値(つまり、各DTNノード1でのACKメッセージの複製回数)を定める。また、ACKメッセージの有効期限を定めるための情報は、ACKメッセージの生成時刻を示す情報(タイムスタンプ)と、秒単位又は分単位での有効期間(寿命)を示す情報の組み合わせであってもよい。ACKメッセージの有効期間(寿命)が全てのACKメッセージに共通である場合、ACKリスト30は、ACKメッセージの有効期限を定めるためにACKメッセージの生成時刻を示す情報(タイムスタンプ)のみを含んでもよい。これらのACKメッセージの有効期限を定めるための情報は、DTNノード1のメッセージバッファに保存されたメッセージの有効期限(例えば、サマリベクタ20に保持されるメッセージに関するTTL値、TTS値、メッセージの生成時刻、又はメッセージの生成時刻及びその寿命の組み合わせ)とは独立に定義される。
 各DTNノード1は、隣接DTNノードとの交信において、互いのサマリベクタだけでなくACKリストも交換する。そして、各DTNノード1は、隣接DTNノードから受信したACKリストに基づいて、自身が保持していたACKリストを更新する。具体的には、各DTNノード1は、自身が保持していたACKリストと隣接DTNノードから受信したACKリストを合併すればよい。集合論に従って言い換えると、各DTNノード1は、自身が保持していたACKリストと隣接DTNノードから受信したACKリストの和集合を求めればよい。
 さらに、各DTNノード1は、隣接DTNノードから受信したACKリストに基づいて、自身が保持していたサマリベクタを更新する。具体的には、各DTNノード1は、隣接DTNノードから受信したACKリストに示された到達済みメッセージと同じ識別子を持つメッセージを自身のサマリベクタから除外すればよい。これにより、各DTNノード1は、最終的な宛先ノードに到達済みのメッセージを隣接ノードにフォワードしなくなる。なぜなら、最終的な宛先ノードに到達済みのメッセージがサマリベクタから除外されることで、最終的な宛先ノードに到達済みのメッセージが隣接DTNノードに提示されないためである。したがって、最終的な宛先ノードに到達済みのメッセージの複製がDTN100内に拡散されることを防ぐことができる。
 さらに、各DTNノード1は、隣接DTNノードから受信したACKリストに基づいて、自身のメッセージバッファを更新してもよい。具体的には、各DTNノード1は、隣接DTNノードから受信したACKリストに示された到達済みメッセージと同じ識別子を持つメッセージを、自身のメッセージバッファから削除すればよい。ここで、メッセージの削除は、DTNノード1のメッセージバッファに保存されていたメッセージデータをデータサイズがゼロの空データによって上書き(更新)することによって行われてもよい。これにより、各DTNノード1は、メッセージバッファの利用効率を高めることができ、DTN100のメッセージ配達率の向上に寄与できる。なぜなら、もはやフォワードされる必要のないメッセージをメッセージバッファから削除し、別のフォワードされるべきメッセージのためにメッセージバッファを利用できるためである。
 続いて以下では、DTNノード1の構成例及びその動作についてさらに詳細に説明する。図4は、DTNノード1の構成例を示している。無線通信部11は、DTN100において他のDTNノード1と無線通信を行う。すなわち、無線通信部11は、DTN100において利用される無線通信技術の物理層に対応したトランシーバを有し、DTN100において利用される無線通信技術のデータリンク層、ネットワーク層及びトランスポート層のプロトコルスイートをサポートする。さらに、無線通信部11は、バンドル層プロトコルをサポートする。バンドル層プロトコルは、アプリケーション層とトランスポート層の間に位置し、DTNに必要なストア・アンド・フォワード方式の通信を提供する。バンドル層のProtocol Data Unit(PDU)は、メッセージ又はデータバンドルと呼ばれることがある。
 無線通信部11は、バンドル層プロトコルに基づいて、上述したサマリベクタ及びACKリストを管理する。無線通信部11は、さらに、バンドル層プロトコルに基づいて、隣接DTNノードとの交信において、サマリベクタ及びACKリストを交換し、メッセージを送受信する。
 データバッファ12は、DTN100において転送される複数のメッセージを保存することができる。データバッファ12は、Dynamic Random Access Memory(DRAM)及びStatic Random Access Memory(SRAM)等の揮発性メモリでもよく、若しくはハードディスクドライブ及びフラッシュメモリ等の不揮発性メモリでもよく、又はこれらの組合せでもよい。
 図5のシーケンス図は、本実施形態におけるDTNノード1の通信手順の一例を示している。図5の例は、2つのDTNノード1(1A及び1B)が接近し、交信を開始するケースを示している。ステップS101及びS102では、DTNノード1A及び1Bは、ACKリストを交換する。すなわち、DTNノード1Aは、自身のACKリストAをDTNノード1Bに送信する(ステップS101)。DTNノード1Bは、自身のACKリストBをDTNノード1Aに送信する(ステップS102)。ステップS103では、DTNノード1Aは、DTNノード1Bから受信したACKリストBに基づいて、自身のACKリストA及びサマリベクタAを更新する。ステップS104では、DTNノード1Bが、ACKリストAに基づいて、自身のACKリストB及びサマリベクタBを更新する。ACKリスト及びサマリベクタの更新手順は、既に述べた通りである。なお、DTNノード1A及び1Bの各々は、さらに、メッセージバッファの更新を行ってもよい。
 ステップS105及びS106では、DTNノード1A及び1Bは、通信相手のACKリストに基づいて更新済みのサマリベクタを交換する。すなわち、DTNノード1Aは、通信相手のACKリストBに基づいて更新されたサマリベクタAをDTNノード1Bに送信する(ステップS105)。DTNノード1Bは、通信相手のACKリストAに基づいて更新されたサマリベクタBをDTNノード1Aに送信する(ステップS106)。
 ステップS107では、DTNノード1Aは、通信相手のサマリベクタBと自身のサマリベクタAを比較し、サマリベクタAに含まれていないメッセージの送信をDTNノード1Bに要求する。ステップS108では、DTNノード1Bは、通信相手のサマリベクタAと自身のサマリベクタBを比較し、サマリベクタBに含まれていないメッセージの送信をDTNノード1Aに要求する。ステップS109では、DTNノード1A及び1Bは、通信相手から要求されたメッセージを送信し合う。DTNノード1A及び1Bの各々は、通信相手から受信したメッセージを自身のメッセージバッファに保存する。
 ステプS110及びS111では、ステップS109の結果に従って、DTNノード1A及び1Bは、サマリベクタA及びBをそれぞれ更新する。
 図5の手順によれば、ステップS105及びS106において、隣接DTNノードのACKリストに基づいて更新されたサマリベクタが交換される。従って、サマリベクタのサイズを小さくすることができ、隣接DTNノードにとって必要のないメッセージに関する情報が、隣接DTNノードに提示されないという利点がある。なぜなら、隣接DTNノードが把握しているACKメッセージに対応するメッセージの情報は、交換されるサマリベクタから除外されているためである。
 DTNノード1の通信手順の他の例は、後述する第2及び第3の実施形態において説明される。
<第2の実施形態>
 本実施形態では、DTNノード1の通信手順の具体例の1つを説明する。本実施形態では、DTN100の構成例は図1と同様であり、DTNノード1の構成例は図4と同様である。
 図6のシーケンス図は、本実施形態におけるDTNノード1の通信手順の一例を示している。図6の手順を図5の手順と比較すると、図6の手順は、隣接DTNノードのACKリストに基づいて更新される前のサマリベクタが隣接DTNノードに送信され、メッセージの交換が行われる点が図5の手順と異なる。
 ステップS201及びS202では、DTNノード1A及び1Bは、ACKリスト及びサマリベクタを交換する。すなわち、DTNノード1Aは、自身のACKリストA及びサマリベクタAをDTNノード1Bに送信する(ステップS201)。DTNノード1Bは、自身のACKリストB及びサマリベクタBをDTNノード1Aに送信する(ステップS202)。
 ステップS203では、DTNノード1Aは、DTNノード1BのサマリベクタBに示されたメッセージのうち、自身のサマリベクタA及び自身のACKリストAのいずれにも示されていないメッセージを送信するようDTNノード1Bに要求する。同様に、ステップS204では、DTNノード1Bは、DTNノード1AのサマリベクタAに示されたメッセージのうち、自身のサマリベクタB及び自身のACKリストBのいずれにも示されていないメッセージを送信するようDTNノード1Aに要求する。
 ステップS205では、DTNノード1A及び1Bは、通信相手から要求されたメッセージを送信し合う。DTNノード1A及び1Bの各々は、通信相手から受信したメッセージを自身のメッセージバッファに保存する。
 ステップS206では、DTNノード1Aは、ステップS201で受信したACKリストBに従ってACKリストAを更新する。DTNノード1Aは、ACKリストAとACKリストBの和集合を求めればよい。さらに、DTNノード1Aは、ステップS201で受信したACKリストB、及びステップS205でのメッセージ交換の結果に従って、サマリベクタAを更新する。DTNノード1Aは、ACKリストBに示されたメッセージの識別子をサマリベクタAから削除し、ステップS205で受信したメッセージの識別子をサマリベクタAに追加すればよい。
 ステップS207では、ステップS206と同様に、DTNノード1Bは、ステップS202で受信したACKリストAに従ってACKリストBを更新する。さらに、DTNノード1Bは、ステップS202で受信したACKリストA、及びステップS205でのメッセージ交換の結果に従って、サマリベクタBを更新する。
なお、ステップS206及びS207において、DTNノード1A及び1Bの各々は、さらに、メッセージバッファの更新を行ってもよい。
 隣接するDTNノード1間で通信が可能な時間は限られているかもしれない。したがって、メッセージ交換を完了するまでに要する時間を短くできることが望ましい。メッセージ交換の失敗を減らすことができるためである。図6の手順によれば、隣接DTNノードのACKリストに基づいてサマリベクタを更新する処理の完了を待つこと無く、メッセージの交換(ステップS203~S205)を行うことができる。したがって、図6の手順は、図5の手順に比べて、メッセージ交換を完了するまでに要する時間を短くすることが期待できる。
<第3の実施形態>
 第1及び第2の実施形態で説明されたDTNノード1の通信手順は一例に過ぎず様々な変形が可能である。例えば、隣接するDTNノード1間でのACKリストの交換は、サマリベクタの交換及びメッセージの送受信とは別個の手順で行われてもよい。また、ACKリストに関する通信手順は、ACKリストの交換(つまり、双方向の送信)ではなく、片方向の送信のみを含んでもよい。
 図7は、隣接DTNノード1BからのACKリストBの片方向の受信と、これに基づく自身のサマリベクタA及びACKリストAの更新を示す簡潔なシーケンスである。ステップS301では、DTNノード1Aは、DTNノード1BからACKリストBを受信する。ステップS302では、DTNノード1Aは、DTNノード1Bから受信したACKリストBに基づいて、自身のACKリストA及びサマリベクタAを更新する。
 具体的には、DTNノード1Aは、隣接DTNノード1Bから受信したACKリストBに示された到達済みメッセージと同じ識別子を持つメッセージを自身のサマリベクタAから除外すればよい。これにより、DTNノード1Aは、最終的な宛先ノードに到達済みのメッセージを隣接ノードにフォワードしなくなる。なぜなら、最終的な宛先ノードに到達済みのメッセージがサマリベクタAから除外されることで、DTNノード1Aは、最終的な宛先ノードに到達済みのメッセージを隣接DTNノードに提示しないためである。したがって、最終的な宛先ノードに到達済みのメッセージの複製がDTN100内に拡散されることを防ぐことができる。
<第4の実施形態>
 本実施形態では、サマリベクタ及びACKリストのデータ構造の変形例について説明する。具体的には、本実施形態は、ACKリストをサマリベクタに統合する例を示す。つまり、本実施形態では、ACKリストは、サマリベクタにピギーバックされている。言い換えると、本実施形態では、サマリベクタ及びACKリストは、DTNノードにおいて共通のリストとして管理される。具体的には、本実施形態では、サマリベクタの各エントリは、メッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む。この情報は、例えば、ACKメッセージであるか否かを示すACKフラグでもよい。また、この情報は、サマリベクタのエントリが有効なデータで対応付けられているか否かを示してもよい。この場合、サマリベクタのエントリが無効なデータ(例えば、データサイズがゼロの空データ)に対応付けられている場合、そのエントリはACKメッセージを意味してもよい。
 図8は、本実施形態に係るACKを含むサマリベクタの1つの構成例を示している。図8に示されたサマリベクタ40は、ノードIDフィールド200、L個のメッセージIDフィールド401、及びL個のACKフラグフィールド402を含む。L個のACKフラグフィールド402は、L個のメッセージIDフィールド401と対応している。各ACKフラグフィールド402は、対応するメッセージIDフィールド401の値がメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別する。例えば、ACKフラグフィールド402の値が「0」であるとき、対応するメッセージIDフィールド401の値が、メッセージバッファに格納されたメッセージのIDであることを意味する。この場合、ACKフラグ402の値が「1」であるとき、対応するメッセージIDフィールド401の値が、ACKメッセージのメッセージID、つまり最終的な宛先ノードに到達済みのメッセージIDであることを意味する。
 図9は、本実施形態に係るACKを含むサマリベクタの他の構成例を示している。図9に示されたサマリベクタ41は、ノードIDフィールド200、L個のメッセージIDフィールド401、及びL個のデータサイズ・フィールド403を含む。L個のデータサイズ・フィールド403は、L個のメッセージIDフィールド401と対応している。各データサイズ・フィールド403は、対応するメッセージIDフィールド401の値がメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別する。具体的には、データサイズ・フィールド403の値が有効値(ゼロより大きい有効なデータサイズ)であることは、メッセージバッファに保存されたメッセージに対応するエントリであることを示す。一方、データサイズ・フィールド403の値がゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す。
 ACKリストをサマリベクタに統合することによって、言い換えると、サマリベクタに付加された(piggybacked)ACKメッセージを用いることによって、隣接するDTNノード1間の交信手順では、ACKリストを交換する手順が不要となり、サマリベクタを交換するだけでよい。言い換えると、DTNノード1は、サマリベクタを用いたEpidemic routing等に基づくメッセージ拡散の仕組みを利用してACKメッセージ(つまり、メッセージが最終的な宛先に到達したことを示す通知)を拡散することができ、ACKメッセージを拡散するための追加の仕組み(ACKリストを交換する手順)を必要としない。したがって、隣接するDTNノード1間の交信手順を簡略化できる。
 具体的には、DTNノード1は、以下のように動作すればよい。DTNノード1は、隣接のDTNノードから受け取ったサマリベクタ及び自身のサマリベクタが同じメッセージIDのエントリを含むが、自身のサマリベクタに示されたデータサイズが有効値であるのに対して隣接のDTNノードのサマリベクタに示されたデータサイズがゼロ又は無効値である場合、データバッファ12に保存されていたメッセージデータを削除する。さらに、DTNノード1は、自身のサマリベクタにおける当該データのデータサイズ・フィールド403をゼロ又は無効値によって上書き(更新)する。このようなメッセージの更新動作によって、ACKメッセージの拡散と、到達済みメッセージのデータバッファ12からの削除を行うことができる。
 また、メッセージの更新(空データによる更新)の仕組みを利用することで、DTNノード1は、そのメッセージの有効期限、例えばタイムスタンプに基づく寿命、Time-To-Live(TTL)値、又はTimes-To-Send(TTS)値、を更新又はリセットすることができる利点もある。したがって、データサイズがゼロ又は無効値であることを示すサマリベクタのエントリ(つまり、ACKメッセージに相当するエントリ)が、DTN100内に十分に拡散される前に有効期限の満了によって消去されてしまうことを防止できる。よって、ACKメッセージがDTN100内に十分に拡散され、最終的な宛先ノードに既に到達した到達済みメッセージがDTN100内から削除されることを促進できる。
 図9に示したように、サマリベクタ内のデータサイズ情報をACKであるか否かを示す用途に兼用することは、サマリベクタにデータサイズ情報が含まれている場合に特に有効である。サマリベクタに含まれるデータサイズ情報は、メッセージの識別子の一部として、又はメッセージの更新の有無を示す用途として利用できる。さらに、図9の例では、データサイズ情報がACKであるか否かを示す用途にも利用されるため、図8のACKフラグフィールド等の新たなサマリベクタ構造を導入しなくてもよい利点がある。
<その他の実施形態>
 上述した複数の実施形態で説明されたDTNノード1による通信手順は、コンピュータシステムにプログラムを実行させることによって実現されてもよい。具体的には、本明細書においてシーケンス図等を用いて説明したアルゴリズムをコンピュータシステムに行わせるための命令群を含む一つ又は複数のプログラムを作成し、当該プログラムをコンピュータシステムに供給すればよい。
 このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(e.g. フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(e.g. 光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(e.g. マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 さらに、上述した実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
 この出願は、2014年3月4日に出願された日本出願特願2014-041474を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 Disruption/Delay/Disconnect Tolerant Network(DTN)ノード
11 無線通信部
12 データバッファ
20 サマリベクタ
30 ACKリスト
40 ACKを含むサマリベクタ
100 Disruption/Delay/Disconnect Tolerant Network(DTN)

Claims (37)

  1.  Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置であって、
     前記DTNにおいて隣接ノードと通信する通信手段と、
     前記DTNにおいて転送される複数のメッセージを保存することが可能な第1のメッセージバッファと、
    を備え、
     前記通信手段は、第1のサマリベクタ及び第1のACKリストを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信し、前記第2のACKリストに基づいて前記第1のACKリスト及び前記第1のサマリベクタを更新するよう構成され、
     前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信され、
     前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示し、
     前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示し、
     前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す、
    ノード装置。
  2.  前記通信手段は、前記隣接ノードとの前記交信において、前記隣接ノードが管理している第2のサマリベクタと共に前記第2のACKリストを受信し、
     前記第2のサマリベクタは、前記隣接ノードが有する第2のメッセージバッファに保存された1又は複数の保存メッセージを示し、
     前記第1のACKリスト及び前記第1のサマリベクタの更新は、前記第2のサマリベクタを受信した後に行われる、
    請求項1に記載のノード装置。
  3.  前記通信手段は、前記第2のサマリベクタに示された前記1又は複数の保存メッセージのうち、前記第1のACKリスト及び第1のサマリベクタのいずれにも示されていないメッセージを送信するよう前記隣接ノードに要求する、請求項2に記載のノード装置。
  4.  前記通信手段は、前記隣接ノードとの前記交信において、前記第2のACKリストを受信し且つ前記第1のサマリベクタを更新した後に、更新された前記第1のサマリベクタを前記隣接ノードに送信する、請求項1に記載のノード装置。
  5.  前記第1のACKリストは、前記第1のサマリベクタにピギーバックされている、請求項1~3のいずれか1項に記載のノード装置。
  6.  前記第1のサマリベクタと前記第1のACKリストは、前記ノード装置において第1の共通のリストとして管理される、請求項1~3のいずれか1項に記載のノード装置。
  7.  前記第1の共通のリストの各エントリは、前記第1のメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む、請求項6に記載のノード装置。
  8.  前記情報は、ACKフラグを含む、請求項7に記載のノード装置。
  9.  前記情報は、メッセージのデータサイズを示すデータサイズ情報を含み、
     前記データサイズ情報が有効値であることは、前記第1のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
     前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す、
    請求項7に記載のノード装置。
  10.  前記隣接ノードが管理している第2のサマリベクタ及び前記第2のACKリストは第2の共通のリストとして定義されており、
     前記第2の共通のリストの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
     前記第2の共通のリストにおいて前記データサイズ情報が有効値であることは、前記隣接ノードが有する第2のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
     前記第2の共通のリストにおいて前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示し、
     前記通信手段は、前記隣接ノードから受信した前記第2の共通のリストにおいてデータサイズがゼロ又は無効値と示されているメッセージを、前記第1のメッセージバッファから削除する、
    請求項9に記載のノード装置。
  11.  前記通信手段は、前記ノード装置が最終的な宛先に指定された第1のメッセージを前記DTNを経由して受信したことに応答して、前記第1のメッセージに対応するACKメッセージを前記第1のACKリストに追加する、請求項1~10のいずれか1項に記載のノード装置。
  12.  前記通信手段は、前記隣接ノードとの前記交信において、前記第1のACKリストを前記隣接ノードに送信する、請求項1~11のいずれか1項に記載のノード装置。
  13.  前記第1のACKリストの更新は、前記第1のACKリストと前記隣接ノードから受信された前記第2のACKリストを合併することによって行われる、請求項1~12のいずれか1項に記載のノード装置。
  14.  前記第1のサマリベクタの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のサマリベクタから除外することにより行われる、請求項1~13のいずれか1項に記載のノード装置。
  15.  前記通信手段は、前記第2のACKリストに基づいて、前記第1のメッセージバッファを更新する、請求項1~14のいずれか1項に記載のノード装置。
  16.  前記第1のメッセージバッファの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のメッセージバッファから削除することにより行われる、請求項15に記載のノード装置。
  17.  前記1又は複数のACKメッセージの各々は、前記宛先ノードによって生成される、請求項1~16のいずれか1項に記載のノード装置。
  18.  Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置の通信方法であって、
     隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信すること、及び
     前記第2のACKリストに基づいて、前記ノード装置において管理されている第1のACKリスト及び第1のサマリベクタを更新すること、
    を備え、
     前記第1のサマリベクタは、前記ノード装置が有する第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信され、
     前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示し、
     前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示し、
     前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す、
    通信方法。
  19.  前記第2のACKリストを受信することは、前記隣接ノードとの前記交信において、前記隣接ノードが管理している第2のサマリベクタと共に前記第2のACKリストを受信することを含み、
     前記第2のサマリベクタは、前記隣接ノードが有する第2のメッセージバッファに保存された1又は複数の保存メッセージを示し、
     前記第1のACKリスト及び前記第1のサマリベクタの更新は、前記第2のサマリベクタを受信した後に行われる、
    請求項18に記載の通信方法。
  20.  前記第2のサマリベクタに示された前記1又は複数の保存メッセージのうち、前記第1のACKリスト及び第1のサマリベクタのいずれにも示されていないメッセージを送信するよう前記隣接ノードに要求することをさらに備える、請求項19に記載の通信方法。
  21.  前記隣接ノードとの前記交信において、前記第2のACKリストを受信し且つ前記第1のサマリベクタを更新した後に、更新された前記第1のサマリベクタを前記隣接ノードに送信することをさらに備える、請求項18に記載の通信方法。
  22.  前記第1のACKリストは、前記第1のサマリベクタにピギーバックされている、請求項18~20のいずれか1項に記載の通信方法。
  23.  前記第1のサマリベクタと前記第1のACKリストは、前記ノード装置において第1の共通のリストとして管理される、請求項18~20のいずれか1項に記載の通信方法。
  24.  前記第1の共通のリストは、各エントリが前記第1のメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む、請求項23に記載の通信方法。
  25.  前記情報は、ACKフラグを含む、請求項24に記載の通信方法。
  26.  前記情報は、メッセージのデータサイズを示すデータサイズ情報を含み、
     前記データサイズ情報が有効値であることは、前記第1のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
     前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す、
    請求項24に記載の通信方法。
  27.  前記隣接ノードが管理している第2のサマリベクタ及び前記第2のACKリストは第2の共通のリストとして定義されており、
     前記第2の共通のリストの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
     前記第2の共通のリストにおいて前記データサイズ情報が有効値であることは、前記隣接ノードが有する第2のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
     前記第2の共通のリストにおいて前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示し、
     前記隣接ノードから受信した前記第2の共通のリストにおいてデータサイズがゼロ又は無効値と示されているメッセージを、前記第1のメッセージバッファから削除することをさらに備える、
    請求項26に記載の通信方法。
  28.  前記ノード装置が最終的な宛先に指定された第1のメッセージを前記DTNを経由して受信したことに応答して、前記第1のメッセージに対応するACKメッセージを前記第1のACKリストに追加することをさらに備える、請求項18~27のいずれか1項に記載の通信方法。
  29.  前記隣接ノードとの前記交信において、前記第1のACKリストを前記隣接ノードに送信することをさらに備える、請求項18~28のいずれか1項に記載の通信方法。
  30.  前記第1のACKリストの更新は、前記第1のACKリストと前記隣接ノードから受信された前記第2のACKリストを合併することによって行われる、請求項18~29のいずれか1項に記載の通信方法。
  31.  前記第1のサマリベクタの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のサマリベクタから除外することにより行われる、請求項18~30のいずれか1項に記載の通信方法。
  32.  前記第2のACKリストに基づいて、前記第1のメッセージバッファを更新することをさらに備える、請求項18~31のいずれか1項に記載の通信方法。
  33.  前記第1のメッセージバッファの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のメッセージバッファから削除することにより行われる、請求項32に記載の通信方法。
  34.  前記1又は複数のACKメッセージの各々は、前記宛先ノードによって生成される、請求項18~33のいずれか1項に記載の通信方法。
  35.  請求項18~34のいずれか1項に記載の通信方法をコンピュータに行わせるためのプログラムを格納した非一時的なコンピュータ可読媒体。
  36.  Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置であって、
     前記DTNにおいて隣接ノードと通信する通信手段と、
     前記DTNにおいて転送される複数のメッセージを保存することが可能な第1のメッセージバッファと、
    を備え、
     前記通信手段は、第1のサマリベクタを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第2のサマリベクタを受信し、前記第2のサマリベクタに基づいて前記第1のサマリベクタ及び前記第1のメッセージバッファを更新するよう構成され、
     前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、
     前記第2のサマリベクタは、前記隣接ノードが有する第2のメッセージバッファに保存された1又は複数の保存メッセージを示し、
     前記第1及び前記第2のサマリベクタの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
     前記データサイズ情報が有効値であることは、前記第1又は前記第2のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
     前記データサイズ情報がゼロ又は無効値であることは、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージに対応するエントリであることを示し、
     前記通信手段は、前記第2のサマリベクタにおいてデータサイズがゼロ又は無効値と示されている到達済みメッセージに関して、前記第1のメッセージバッファに保持されているメッセージデータを削除するとともに、前記第1のサマリベクタのエントリ内のデータサイズ情報をゼロ又は無効値によって上書きする、
    ノード装置。
  37.  前記通信手段は、前記第1のサマリベクタのエントリ内のデータサイズ情報をゼロ又は無効値によって上書きすることに応じて、当該エントリの有効期限を更新又はリセットする、請求項36に記載のノード装置。
PCT/JP2015/000349 2014-03-04 2015-01-27 Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法 WO2015133055A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201580006033.XA CN105940717B (zh) 2014-03-04 2015-01-27 容断/容迟/容中断网络中使用的节点设备和通信方法
EP15759187.6A EP3116263A4 (en) 2014-03-04 2015-01-27 Node device and communication method used in disruption/delay/disconnect tolerant network
JP2016506103A JP6183536B2 (ja) 2014-03-04 2015-01-27 Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法
US15/109,482 US9985751B2 (en) 2014-03-04 2015-01-27 Node device used in disruption/delay/disconnect tolerant network and communication method
KR1020167018480A KR20160099610A (ko) 2014-03-04 2015-01-27 DTN(Disruption/Delay/Disconnect Tolerant Network)에서 이용되는 노드 장치 및 통신 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-041474 2014-03-04
JP2014041474 2014-03-04

Publications (1)

Publication Number Publication Date
WO2015133055A1 true WO2015133055A1 (ja) 2015-09-11

Family

ID=54054876

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/000349 WO2015133055A1 (ja) 2014-03-04 2015-01-27 Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法

Country Status (8)

Country Link
US (1) US9985751B2 (ja)
EP (1) EP3116263A4 (ja)
JP (1) JP6183536B2 (ja)
KR (1) KR20160099610A (ja)
CN (1) CN105940717B (ja)
AR (1) AR099578A1 (ja)
TW (1) TWI606734B (ja)
WO (1) WO2015133055A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2548798A (en) * 2016-03-17 2017-10-04 Virtuosys Ltd Wireless communication unit and method for sharing delay tolerant content
JP2017184113A (ja) * 2016-03-31 2017-10-05 カシオ計算機株式会社 情報提供システム、情報提供装置、情報提供方法及びプログラム
JP2019517213A (ja) * 2016-05-18 2019-06-20 ヴェニアム,インコーポレーテッド 移動物体のネットワークにおいてダウンロード方向におけるデータのルーティングおよび複製を管理するためのシステムならびに方法
JP2019521579A (ja) * 2016-05-18 2019-07-25 ヴェニアム,インコーポレーテッド 移動物体のネットワークにおいてアップロード方向におけるデータのルーティングおよび複製を管理するためのシステムならびに方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694362B2 (en) * 2015-05-07 2020-06-23 Univeristy Of Florida Research Foundation, Incorporated Ad-hoc social network (AHSN) system, AHSN-enabled device, and methods of use
CN111343281B (zh) * 2020-03-16 2022-02-01 中国联合网络通信集团有限公司 数据传输方法、装置、终端设备及存储介质
KR102387124B1 (ko) 2020-10-26 2022-04-15 숭실대학교 산학협력단 지연 허용 네트워크 기반 정보 중심 네트워크에서 전달 우선순위를 이용한 메시지 전달 방법, 이를 수행하기 위한 기록 매체 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080165692A1 (en) * 2007-01-04 2008-07-10 Motorola, Inc. Method and system for opportunistic data communication
WO2011071045A1 (ja) * 2009-12-09 2011-06-16 日本電気株式会社 情報共有システム、通信装置、制御方法、及びプログラム
WO2013076912A1 (ja) * 2011-11-21 2013-05-30 日本電気株式会社 経路情報交換方法、通信端末および経路情報交換プログラムを格納した非一時的なコンピュータ可読媒体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5331673A (en) * 1992-03-30 1994-07-19 International Business Machines Corporation Integrity of data objects used to maintain state information for shared data at a local complex
JP3377994B2 (ja) * 2000-11-14 2003-02-17 三菱電機株式会社 データ配信管理装置およびデータ配信管理方法
CN1295917C (zh) * 2002-08-23 2007-01-17 国际商业机器公司 可以感知用户周围环境的消息传递系统和方法
KR100552509B1 (ko) 2003-10-13 2006-02-14 삼성전자주식회사 이동 애드 혹 네트워크에서의 브로드캐스트 데이터 처리방법
US8050247B2 (en) * 2005-09-29 2011-11-01 Samsung Electronics Co., Ltd. Method and apparatus for retransmitting packet in a mobile communication system, and system thereof
US8149716B2 (en) * 2007-08-20 2012-04-03 Raytheon Bbn Technologies Corp. Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
US8787257B2 (en) * 2008-10-23 2014-07-22 Nec Corporation Network communication system, node device, routing method and routing program
CN101414965B (zh) * 2008-12-04 2011-05-18 天津大学 用于容迟网络和间歇连接网络的节省节点能量的方法
US8352558B2 (en) * 2009-02-10 2013-01-08 Microsoft Corporation Transport high availability via acknowledge management
CN101667885A (zh) * 2009-09-29 2010-03-10 天津大学 Dtn或icn网络上利用网络编码技术减少冗余消息的方法
CN104702331B (zh) * 2009-10-30 2018-01-16 谷歌技术控股有限责任公司 将数据分组的递送通信至用户设备的方法和装置
KR101196818B1 (ko) * 2010-10-29 2012-11-06 (주) 엠엠씨 테크놀로지 지연 허용 네트워크에서의 메시지 전송장치 및 방법
CN102006237B (zh) * 2010-12-13 2012-03-07 西安电子科技大学 用于容迟网络的路由决策方法
EP2903347A1 (en) * 2012-09-27 2015-08-05 NEC Corporation Network, network node, distribution method, and network node program
EP2911420B1 (en) * 2012-10-16 2019-11-06 Nec Corporation Content delivery
JPWO2014076878A1 (ja) * 2012-11-19 2017-01-05 日本電気株式会社 データ共有システム
CN102970722B (zh) * 2012-12-10 2015-07-15 北京科技大学 一种低时延的容迟容断传感器网络的组播路由算法
JP6281561B2 (ja) * 2013-02-22 2018-02-21 日本電気株式会社 データ共有システム
JP2014192811A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd 中継装置及び通信方法
WO2014186614A2 (en) * 2013-05-17 2014-11-20 Raytheon Bbn Technologies Corp. Disrupted adaptive routing
WO2015037857A1 (ko) * 2013-09-10 2015-03-19 엘지전자 주식회사 Bbu의 rru 정보 획득 방법 및 bbu
US10375605B2 (en) * 2014-07-24 2019-08-06 Nec Corporation Apparatus and method for data delivery in delay-tolerant network (DTN)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080165692A1 (en) * 2007-01-04 2008-07-10 Motorola, Inc. Method and system for opportunistic data communication
WO2011071045A1 (ja) * 2009-12-09 2011-06-16 日本電気株式会社 情報共有システム、通信装置、制御方法、及びプログラム
WO2013076912A1 (ja) * 2011-11-21 2013-05-30 日本電気株式会社 経路情報交換方法、通信端末および経路情報交換プログラムを格納した非一時的なコンピュータ可読媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3116263A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2548798A (en) * 2016-03-17 2017-10-04 Virtuosys Ltd Wireless communication unit and method for sharing delay tolerant content
US10230637B2 (en) 2016-03-17 2019-03-12 Virtuosys Limited Wireless communication unit and method for sharing delay tolerant content
JP2017184113A (ja) * 2016-03-31 2017-10-05 カシオ計算機株式会社 情報提供システム、情報提供装置、情報提供方法及びプログラム
JP2019517213A (ja) * 2016-05-18 2019-06-20 ヴェニアム,インコーポレーテッド 移動物体のネットワークにおいてダウンロード方向におけるデータのルーティングおよび複製を管理するためのシステムならびに方法
JP2019521579A (ja) * 2016-05-18 2019-07-25 ヴェニアム,インコーポレーテッド 移動物体のネットワークにおいてアップロード方向におけるデータのルーティングおよび複製を管理するためのシステムならびに方法
US11122492B2 (en) 2016-05-18 2021-09-14 Veniam, Inc. Systems and methods for managing the routing and replication of data in the upload direction in a network of moving things

Also Published As

Publication number Publication date
TWI606734B (zh) 2017-11-21
TW201603603A (zh) 2016-01-16
JPWO2015133055A1 (ja) 2017-04-06
KR20160099610A (ko) 2016-08-22
US20160329991A1 (en) 2016-11-10
US9985751B2 (en) 2018-05-29
AR099578A1 (es) 2016-08-03
EP3116263A4 (en) 2017-11-08
JP6183536B2 (ja) 2017-08-23
EP3116263A1 (en) 2017-01-11
CN105940717B (zh) 2019-04-05
CN105940717A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
JP6183536B2 (ja) Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法
US10111056B2 (en) Server and communication method thereof
JP5287622B2 (ja) 通信システム、ノード、通信制御方法、およびプログラム
KR20080053872A (ko) 무선 네트워크 시스템 및 그의 ip 핸드오프 처리 방법
US10122540B2 (en) Device and method for managing multicast group in wireless network
TWI594588B (zh) 無線終端機裝置及其控制方法
JP6200364B2 (ja) 通信装置およびプログラム
JP6196564B2 (ja) 中継装置及びその制御方法、プログラム
JP2011142456A (ja) 通信装置、通信方法及び通信システム
KR101414973B1 (ko) 지연 허용 네트워크에서의 메모리 관리 장치 및 방법
CN105722172A (zh) 无线链状网下的快速路由恢复方法
JP2006121464A (ja) データバッファリング方法、データバッファリング装置およびデータバッファリングプログラム
JP6301215B2 (ja) 中継装置及びその制御方法、プログラム
KR101639041B1 (ko) 완전 분산형 무선 네트워크
JP2010068236A (ja) 無線通信システム及び無線通信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15759187

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016506103

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15109482

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20167018480

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015759187

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015759187

Country of ref document: EP