US20160013857A9 - Communication method for relay node and next node of the relay node for network coding - Google Patents

Communication method for relay node and next node of the relay node for network coding Download PDF

Info

Publication number
US20160013857A9
US20160013857A9 US12/984,714 US98471411A US2016013857A9 US 20160013857 A9 US20160013857 A9 US 20160013857A9 US 98471411 A US98471411 A US 98471411A US 2016013857 A9 US2016013857 A9 US 2016013857A9
Authority
US
United States
Prior art keywords
relay node
nodes
node
packet
previous
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US12/984,714
Other versions
US20110164621A1 (en
US9231738B2 (en
Inventor
In Sun Lee
Chan Soo HWANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020100078697A external-priority patent/KR101645980B1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HWANG, CHAN SOO, LEE, IN SUN
Publication of US20110164621A1 publication Critical patent/US20110164621A1/en
Application granted granted Critical
Publication of US9231738B2 publication Critical patent/US9231738B2/en
Publication of US20160013857A9 publication Critical patent/US20160013857A9/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15521Ground-based stations combining by calculations packets received from different stations before transmitting the combined packets as part of network coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • 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/1635Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the following description relates to a communication method of a relay node and a next node of the relay node for network coding.
  • a unicast communication may be enabled between the nodes.
  • network coding may be employed.
  • the following description relates to a method of determining a relay node included in a mesh network along with nodes in the mesh network capable of participating in network coding performed by the relay node.
  • a communication method of a relay node for network coding including determining one of a plurality of nodes included in a mesh network as a relay node to perform network coding, determining, by the relay node among the plurality of nodes, nodes capable of participating in the network coding, and performing, by the relay node, the network coding with respect to the nodes capable of participating in the network coding.
  • the performing may include requesting next nodes of the relay node among the nodes capable of participating in the network coding to overhear packets broadcast from previous nodes of the relay node, and performing the network coding based on the overheard packets.
  • the determining of the relay node may include determining whether at least two unicast sessions are executed in one of the plurality of nodes, and determining, as the relay node, the one node in which the at least two unicast sessions are executed.
  • the determining of the nodes capable of participating in network coding may include verifying whether next nodes of the relay node among the plurality of nodes are neighbors of previous nodes of the relay node, and determining, as the nodes capable of participating into the network coding, the next nodes of the relay node and the previous nodes of the relay node in response to the next nodes of the relay node being the neighbors of the previous nodes of the relay node.
  • Each of the previous nodes of the relay node and the next nodes of the relay node may generate a neighbor list containing information associated with neighbor nodes.
  • the verifying may include requesting, by the relay node, the previous nodes of the relay node to transmit the neighbor list, and verifying, by the relay node using the neighbor lists, whether the next nodes of the relay node are the neighbors of the previous nodes of the relay node.
  • Each of the previous nodes of the relay node and the next nodes of the relay node may generate a neighbor list containing information associated with neighbor nodes.
  • the verifying may include periodically receiving, by the relay node from each of the previous nodes of the relay node, the neighbor list of each corresponding previous node, and verifying, by the relay node using the neighbor lists, whether the next nodes of the relay node are the neighbors of the previous nodes of the relay node.
  • the performing may include receiving, from each of the next nodes of the relay node, an acknowledgement with respect to each of the overheard packets, and determining a packet to which the network coding is to be performed based on the received acknowledgement.
  • the communication method may further include determining whether an execution state of the at least two unicast sessions is changed, and changing the nodes capable of participating in the network coding, or terminating the network coding in response to the execution state of the at least two unicast sessions being changed.
  • the determining whether the execution state is changed may include determining whether the at least two unicast sessions passing through the relay node remain, requesting nodes of which the at least two unicast sessions are terminated among the next nodes of the relay node to suspend overhearing, based on the remaining at least two at least two unicast sessions, updating the previous nodes of the relay node and the next nodes of the relay node based on the remaining at least two unicast sessions, and performing the network coding using packets overheard by the updated next nodes of the relay node.
  • the communication method may further include generating at least one queue with respect to each of previous nodes of the relay node and next nodes of the relay node.
  • a header of the packet may include a first area including information associated with the network coding, a second area including information associated with the packet overheard by a next node of the relay node, and a flag indicating whether the network coding is enabled with respect to the packet or whether an acknowledgement is enabled with respect to the packet.
  • the first area may include a number of network coded packets, an address of a previous node of the relay node receiving the overheard packet, and an identification number of a network coded packet.
  • the second area may include a number of packets overheard by the next node of the relay node, an address of a previous node broadcasting a packet overheard by a corresponding next node, and an identification number of the overheard packet.
  • a communication method of a next node of a relay node for network coding including receiving an overhear request from the relay node that is one of a plurality of nodes included in a mesh network, overhearing, by the next node of the relay node in response to the overhear request, a packet broadcast from a corresponding previous node of the relay node, and transmitting, by the next node of the relay node, an acknowledgement with respect to the overheard packet based on a time offset used to overhear the packet and a number of to overheard packets.
  • the transmitting may include comparing the time offset with a predetermined duration, and generating the acknowledgment with respect to the overheard packet in response to the time offset being greater than the predetermined duration.
  • the transmitting may include counting, by the next node of the relay node, the number of overheard packets, and generating the acknowledgment with respect to the overheard packet in response to the number of overheard packets being greater than a predetermined threshold.
  • the generating may include generating a header of the packet for the acknowledgment using a bitmap.
  • a non-transitory computer-readable medium including a program for instructing a computer to perform a communication method of a relay node for network coding, the method including determining one of a plurality of nodes included in a mesh network as a relay node to perform network coding, determining, by the relay node among the plurality of nodes, nodes capable of participating in the network coding, and performing, by the relay node, the network coding with respect to the nodes capable of participating in the network coding.
  • overhearing and broadcasting of a packet may be performed using only nodes capable of participating into network coding based on a neighbor list. Accordingly, it is possible to prevent network flooding.
  • a network throughput may be enhanced.
  • FIG. 1 is a diagram illustrating an example of network coding in a relay node.
  • FIG. 2 is a diagram illustrating an example of a communication method of a relay node for network coding.
  • FIG. 3 is a diagram illustrating an example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • FIG. 4 is a diagram illustrating another example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • FIG. 5 is a diagram illustrating an example of a method of changing nodes capable of participating into network coding in response to a state of unicast sessions being changed.
  • FIG. 6 is a diagram illustrating an example of a format of a packet header used in a communication method for network coding.
  • FIG. 7 is a diagram illustrating an example of a mesh network including a relay node.
  • FIG. 8 is a diagram illustrating a method of managing, by the relay node of FIG. 7 , at least one queue.
  • FIG. 9 is a diagram illustrating an example of a method of dequeuing packets present in a non-coding queue and a coding queue.
  • FIG. 10 is a diagram illustrating an example of transmitting, by a next node of a relay node, a cumulative acknowledgment (ACK) to the relay node based on a length of time.
  • ACK cumulative acknowledgment
  • FIG. 11 is a diagram illustrating an example of a method of transmitting, by a next node of a relay node, a cumulative ACK to the relay node based on a number of overheard packets.
  • FIG. 12 is a diagram illustrating an example of a header of a packet to transmit a cumulative ACK using a bitmap.
  • FIG. 13 is a diagram illustrating an example of a header format of 802.11 for a cumulative ACK using a bitmap.
  • FIG. 1 illustrates an example of network coding in a relay node.
  • XOR based network coding may be employed to enhance a network throughput.
  • a route for at least two unicast sessions in the mesh network includes a single common node, it is possible to enhance the network throughput by performing network coding in the common node.
  • the predetermined node may correspond to a relay node.
  • a node A i 110 and a node A j 120 correspond to previous nodes of a relay node 130
  • a node A ji ′ 140 and a node A ij ′ 150 correspond to next nodes of the relay node 130 .
  • one or more of the plurality of nodes may be mobile terminals.
  • the node A i 110 has a packet al. and the node A j 120 has a packet b.
  • the packet a may be transferred from the previous node A i 110 to the next node A ij ′ 150 via the relay node 130 .
  • the packet b may be transferred from the previous node A j 120 to the next node A ji ′ 140 via the relay node 130 .
  • the next node A ji ′ 140 adjacent to the previous node A i 110 may overhear the packet al.
  • the next node A ij ′ 150 adjacent to the previous node A j 120 may overhear the packet b.
  • the relay node 130 may broadcast the packets a and b through network coding using XOR.
  • the next node A ji ′ 140 and the next node A ij ′ 150 receiving the respective network coded packets may decode the received network coded packets using a corresponding overheard packet to restore the packets a and b.
  • the relay node 130 may perform network coding.
  • next nodes of the relay node 130 do not perform decoding, a packet desired to be received by a corresponding next node may not be properly transferred.
  • a single unicast session including previous node A i 110 ->relay node 130 ->next node A ij ′ 150 may communicate with another unicast session including previous node A j 120 ->relay node 130 ->next node A ji ′ 140 by employing the relay node 130 as an intersecting point.
  • Each of the nodes described above may have information associated with neighbor nodes.
  • each of the nodes may have information associated with the neighbor nodes according to 802.11s peering management.
  • Each of the nodes may express two unicast sessions formed by a routing protocol, or a portion of the two unicast sessions.
  • the next node A ji ′ 140 may verify that a node broadcasting the packet corresponds to the previous node A i 110 , and may perform overhearing.
  • the next node A ji ′ 140 may verify that the node broadcasting the packet corresponds to the previous node A i 110 by verifying a sender address of the packet.
  • the next node A ji ′ 140 may transmit an acknowledgement (ACK) with respect to the overheard packet to inform the relay node 130 about the overheard packet.
  • ACK acknowledgement
  • the relay node 130 may receive the ACK from the next node A ji ′ 140 , and may verify which packet needs to be network coded, so that the next node A ji ′ 140 of the relay node 130 may perform decoding.
  • FIG. 2 illustrates an example of a communication method of a relay node for network coding.
  • the communication method of the relay node for network coding may determine one of a plurality of nodes included in a mesh network as a relay node having an opportunity of network coding.
  • the relay node may be determined depending on whether at least two unicast sessions are executed in one of the plurality of nodes.
  • the corresponding node may be determined as the relay node.
  • the node in a case in which a unicast session is open in the node and at least two unicast sessions pass through the node, the node may correspond to the relay node.
  • the node may wait to receive a packet in operation 280 .
  • the relay node may determine nodes capable of participating in network coding among the plurality of nodes.
  • the nodes capable of participating into network coding may be determined as described below.
  • the relay node may verify whether next nodes of the relay node among the plurality of nodes are neighbors of previous nodes of the relay node.
  • the relay node may determine the next nodes and the previous nodes as the nodes capable of participating in network coding.
  • the relay node may determine the nodes capable of participating in network coding by verifying whether next nodes of each unicast session are neighbors of previous nodes of another unicast session.
  • the relay node 130 may determine whether the previous node A i 110 and the next node A ji ′ 140 correspond to nodes capable of participating in network coding by verifying whether the next node A ji ′ 140 of another unicast session is a neighbor of the previous node A i 110 in a single unicast session including previous node A i 110 ->relay node 130 ->next node A ij ′ 150 .
  • the relay node 130 may determine whether the previous node A j 120 and the next node A ij ′ 150 correspond to nodes capable of participating in network coding by verifying whether the next node A ij ′ 150 of the single unicast session is a neighbor of the previous node A j 120 in the other unicast session including previous node A j 120 ->relay node 130 ->next node A ji ′ 140 .
  • a comparison may not be performed to determine whether corresponding nodes may participate in network coding. In addition, whether the nodes are neighbors may not be verified.
  • a method of verifying, by a relay node, whether next nodes of the relay node among a plurality of nodes are neighbors of previous nodes of the relay node will be described later with reference to FIG. 3 and FIG. 4 .
  • the relay node may perform network coding with respect to the determined nodes.
  • the nodes capable of participating in network coding may vary based on a state of unicast sessions. A method of changing the nodes capable of participating in network coding in response to the state of the unicast sessions being changed will be described later with reference to FIG. 5 .
  • the relay node may request next nodes of the relay node among the nodes capable of participating in network coding to overhear packets broadcast from previous nodes of the relay node.
  • the relay node may receive the overheard packets from the next nodes.
  • a format of a packet header used in a communication method for network coding according to an example embodiment will be described later with reference to FIG. 6 .
  • the relay node may generate at least one queue with respect to each of the previous nodes and the next nodes. Attendant to initiating network coding, the relay node may generate at least one virtual queue with respect to each of the previous nodes and the next nodes. A sequence of generating the at least one queue is not limited to that illustrated in FIG. 2 .
  • the relay node may receive an ACK with respect to each of the overheard packets from each of the next nodes.
  • the relay node may determine a packet to which network coding is to be performed, based on the received ACK, and perform the network coding.
  • a method of generating, by the relay node, at least one queue, and performing network coding using the at least one queue will be described later with reference to FIGS. 7 through 9 .
  • the corresponding node in response to the at least two unicast sessions not being executed in one of the plurality of nodes, the corresponding node may not correspond to the relay node, and thus simply receives a packet.
  • FIG. 3 illustrates an example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • the relay node may request previous nodes A i and A j to transmit a neighbor list in operation 310 .
  • the relay node may receive a neighbor list of a corresponding previous node from each of the previous nodes A i and A j .
  • Each of the previous nodes and the next nodes may include the neighbor list containing information associated with neighbor nodes of a corresponding node, and thus may inform the relay node about information associated with the neighbor nodes.
  • the neighbor list may be a list containing information associated with a 2-hop neighbor.
  • the relay node may determine nodes capable of participating in network coding by verifying whether the next nodes are neighbors of the previous nodes using the neighbor lists.
  • the relay node may request the nodes determined to be capable of participating in network coding, for example, a next node A ji ′, to overhear the neighboring previous node A.
  • the next node A ji ′ may overhear a packet broadcast from the previous node A.
  • FIG. 4 illustrates another example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • the relay node may periodically receive a neighbor list of a corresponding previous node from each of previous nodes A i and A j in operations 410 and 420 .
  • the relay node may determine nodes capable of participating in network coding by verifying whether the next nodes are neighbors of the previous nodes using the neighbor lists.
  • the relay node may request the nodes capable of participating in network coding, for example, a next node A ji ′ to overhear the neighboring previous node A.
  • the next node may overhear the packet broadcast from the previous node A.
  • each of a plurality of nodes may transmit a corresponding neighbor list to a relay node so that the relay node may verify neighbor nodes of the respective nodes transmitting the neighbor lists.
  • a neighbor list of the previous node A i is N Ai
  • a neighbor list of the previous node A j is N Aj .
  • the relay node may receive the neighbor lists N Ai and N Aj , and may verify whether corresponding next nodes A ij ′ and A ji ′ are neighbors of the previous nodes A i and A j .
  • the relay node may verify whether the next node A ji ′ is included in the neighbor list N Ai of the previous node A i .
  • the relay node may request the next node A ji ′ to overhear some or all of the data from node A i , that is, some or all of the packets transmitted from the previous node A i .
  • the next node A ji ′ may overhear data transmitted from the previous node A i , and may broadcast a packet by including the overheard data in the packet.
  • nodes unverified by the relay node regarding whether the nodes are included in the neighbor list may not perform overhearing.
  • FIG. 5 illustrates an example of a method of changing nodes capable of participating in network coding in response to a state of unicast sessions being changed.
  • a relay node may determine whether an execution state of at least two unicast sessions executed in one of a plurality of nodes is changed. In response to the execution state being changed, the relay node may change nodes capable of participating in network coding, or may terminate network coding.
  • the relay node may determine whether at least two unicast sessions remain in operation 510 .
  • the relay node may perform communication without performing network coding in operations 570 through 590 , which will be described later.
  • the relay node may perform network coding with respect to the remaining at least two unicast sessions in operations 520 through 560 .
  • the relay node may request nodes of which unicast sessions are terminated to suspend overhearing, based on the remaining at least two unicast sessions in operation 520 .
  • the relay node may request nodes of which the unicast sessions are terminated and which do not need to overhear a packet to suspend overhearing.
  • the relay node may have a neighbor list containing information associated with neighbor nodes of each node and thus, may have no need to request a separate neighbor list.
  • the relay node may update previous nodes and next nodes based on the remaining at least two unicast sessions.
  • the relay node may generate at least one queue with respect to each of the previous nodes and the next nodes.
  • the relay node may generate a virtual queue, which is similar to a case in which a new session starts. At least one queue generated by the relay node will be described later with reference to FIG. 8 .
  • the relay node may receive packets overheard by the updated next nodes.
  • the relay node may perform network coding using the packets overheard by the updated next nodes.
  • FIG. 6 illustrates an example of a format of a packet header used in a communication method for network coding.
  • the packet header may include a first region Encoded 610 , a second region ACK 630 , and a flag region Mesh Flags 650 .
  • the first region Encoded 610 may be used to transmit information associated with network coding.
  • the first region Encoded 610 may include ENCODED_NUM 613 , Source add. 615 , and Packet # 617 .
  • ENCODED_NUM 613 indicates a number of network coded packets.
  • Source add. 615 indicates an address of each of one or more previous nodes transmitting the overheard packet.
  • Packet # 617 indicates an identification number of a network coded packet.
  • a corresponding value may increase when each of one or more nodes of each unicast session generates a packet.
  • the second region ACK 630 may be used to report to the relay node about information associated with a packet overheard by a next node.
  • the second region ACK 630 may include Ack_NUM 633 , Source add. 635 , and Packet # 637 .
  • Ack_NUM 633 indicates a number of overheard packets when the next node informs the relay node about the overheard packet.
  • Source add. 635 indicates that the next node has overheard a packet broadcast from which node, that is, an address of a previous node having broadcasted the packet overheard by the next node.
  • Packet # 637 indicates an identification number of the packet overheard by the next node.
  • the flag region Mesh flags 650 may indicate whether network coding is enabled with respect to the packet, or whether ACK is enabled.
  • the packet header may be configured using a bit of a mesh flag.
  • FIG. 7 illustrates an example of a mesh network including a relay node.
  • FIG. 8 illustrates a method of managing, by the relay node of FIG. 7 , at least one queue.
  • the relay node may include a receiving queue (Rx_queue), an ACK queue (Ack_queue), a non-coding queue, a coding queue, and a transmitting queue (Tx_queue).
  • Each queue may operate based on a first in first out (FIFO) scheme.
  • Rx_queue and Ack_queue may be managed for each of a previous node and a next node.
  • the relay node may verify a sender address and transmit a corresponding packet to a corresponding Rx_queue.
  • an indication that the ACK is received from the next node may be stored in a corresponding Ack_queue.
  • the Ack_queue may manage information indicating that a corresponding ACK is received from which next node. Accordingly, the Ack_queue may be managed for each next node corresponding to each Rx_queue.
  • the relay node may verify the Ack_queue with respect to next nodes. In response there being no ACK corresponding to a corresponding packet, the relay node may transmit the corresponding packet to the non-coding queue.
  • the relay node may transmit the corresponding packet to the coding queue.
  • the coding queue may be managed for each of all the probable coding combinations.
  • a queue of a previous node may exist in a queue of each of the generated four queues.
  • a previous node A 1 and a next node A 21 ′ or A 31 ′ may constitute a single pair
  • a previous node A 2 and a next node A 12 ′ or A 32 ′ may constitute a single pair
  • a previous node A 3 and a next node A 13 ′ or A 23 ′ may constitute a pair.
  • the relay node may verify an address of a node having transmitted the packet, and may store the packet in the Rx_queue corresponding to the verified node.
  • P 12 may indicate a packet secondly transmitted from the previous node A 1
  • a 21 may indicate an ACK transmitted when reporting to the relay node information indicating that the next node A 21 ′ overheard P 11 .
  • the relay node may store the received ACK in the Ack_queue corresponding to the node having transmitted the ACK.
  • the Ack_queue may be a queue for managing information indicating which next node among a plurality of next nodes, for example, A 21 ′ and A 31 ′ has overheard a packet transmitted from each previous node, for example, A 1 and then transmitted an ACK.
  • an Ack_queue may be managed for each of the next nodes corresponding to each of the previous nodes.
  • the relay node may transmit the packet P 11 to the Rx_queue corresponding to the previous node A 1 .
  • the relay node may store the ACK A 21 in the Ack_queue of the next node A 21 ′.
  • the relay node may verify the Ack_queue of the next nodes. When an ACK corresponding to a corresponding packet is not stored, the relay node may transmit the corresponding packet to the non-coding queue.
  • the relay node may transmit the corresponding packet to a coding queue.
  • an ACK A 21 and ACK A 31 are transmitted from the next nodes A 21 ′ and A 31 ′ of the previous node A 1 , and are stored in Ack_queue. Accordingly, the relay node may transmit the packet P 11 to the coding queue.
  • the relay node may transmit the packet P 12 to the non-coding queue.
  • the relay node may store and manage a packet for each of all the probable coding combinations. For example, in a case in which three unicast sessions S 1 , S 2 , and S 3 pass the relay node, the relay node may generate four queues corresponding to C 12 , C 13 , . . . , C 123 , and may combine queues of the previous nodes A 1 , A 2 , and A 3 and then store the combined queues within each of the generated four queues.
  • an ACK A 21 and ACK A 31 with respect to the packet P 11 stored in the Rx_queue of the previous node A 1 are stored in the Ack_queue of the next nodes A 21 ′ and A 31 ′. Accordingly, the relay node may transmit the packet P 11 to the Rx_queue of C 123 of the coding queue.
  • C 123 indicates a queue capable of coding packets of all the previous nodes A 1 , A 2 , and A 3 .
  • the packet P 11 may be network coded together with the packets P 22 and P 31 .
  • a packet may arrive late at the Rx_queue corresponding to the previous nodes A 2 and A 3 of C 123 .
  • the packet P 11 may not be coded, and thus may not be transmitted to a destination node.
  • the relay node may also transmit the packet 11 to other coding queues, for example, queues corresponding to C 12 and C 13 .
  • the packet P 21 may be transmitted to only corresponding coding queues, for example, C 12 .
  • the relay node may transmit the packet P 12 to the non-coding queue.
  • FIG. 9 illustrates an example of a method of dequeuing packets present in a non-coding queue and a coding queue.
  • packets dequeued in the non-coding queue and the coding queue may be transmitted to a Tx_queue.
  • packets present in the non-coding queue may be transmitted to the Tx_queue according to a FIFO scheme.
  • a relay node may transmit a packet present in the non-coding queue, for example, P 12 , to the Tx_queue according to the FIFO scheme.
  • a method of dequeuing packets present in the coding queue may include operations as described below.
  • a priority may be assigned to a queue containing a largest number of packets for coding.
  • the relay node may perform an XOR operation with respect to corresponding packets and then transmit the operation result to the Tx_queue.
  • the relay node may perform an XOR operation of the packets P 11 , P 22 , and P 31 and then transmit the operation result to the Tx_queue.
  • the relay node may delete the packets P 11 , P 22 , and P 31 from other queues of the coding queue, for example, C 12 and C 13 .
  • the relay node may perform coding based on a priority.
  • the relay node may transmit a packet from the Tx_queue to a destination node according to a FIFO scheme.
  • a next node of the relay node may overhear a packet broadcast from each of previous nodes of the relay node in response to the overhear request.
  • the next node of the relay node may transmit an ACK with respect to the overheard packet based on a time offset used to overhear the packet and a number of overheard packets.
  • FIG. 10 illustrates an example of transmitting, by a next node of a relay node, a cumulative ACK to the relay node based on a length of time.
  • the next node of the relay node may set a time offset to “0” in operation 1010 , and may overhear a packet transmitted from a previous node of the relay node for a predetermined period of time in operation 1030 .
  • the next node of the relay node may transmit, to the relay node, an ACK with respect to the overheard packet.
  • the next node of the relay node may compare the time offset with a predetermined duration in operation 1050 .
  • the next node of the relay node may generate the ACK with respect to the overheard packet and transmit the generated ACK to the relay node in operation 1070 .
  • the next node of the relay node may transmit the ACK to the relay node and then reset the time offset to “0”.
  • FIG. 11 illustrates an example of a method of transmitting, by a next node of a relay node, a cumulative ACK to the relay node based on a number of overheard packets.
  • the next node of the relay node may set an offset count to “0”.
  • the offset count is used to count a number of packets overheard from a single relay node.
  • next node of the relay node may overhear a packet.
  • next node of the relay node may increase the offset count by one for each overheard packet.
  • the next node of the relay node may generate an ACK with respect to the overheard packets and transmit the ACK to the relay node in operation 1190 .
  • the next node of the relay node may continue to overhear packets from the relay node while continuously increasing the offset count.
  • the next node of the relay node may form a header of the packet for the ACK using a bitmap, which will be further described with reference to FIG. 12 .
  • FIG. 12 illustrates an example of a header of a packet to transmit a cumulative ACK using a bitmap
  • FIG. 13 illustrates an example of a header format of 802.11 for a cumulative ACK using a bitmap.
  • a header format using a bitmap for transmitting a cumulative ACK may be utilized as described below.
  • the cumulative ACK of FIGS. 10 and 11 may be managed in a relay node for each source address of each previous node as illustrated in Source add. 1233 .
  • First Packet # 1235 indicates a first packet transmitting ACK for each source address.
  • Last Packet # 1237 indicates a last packet transmitting ACK for each source address.
  • Whether each of packets is received may be expressed using the bitmap by including the first packet number and the last packet number.
  • header format may refer to the descriptions made above with reference to FIG. 6 .
  • FIG. 13 illustrates an example of applying a header of the above cumulative ACK to a header of 802.11.
  • the processes, functions, methods and/or software described above including a communication method of a relay node for network coding may be recorded, stored, or fixed in one or more non-transitory computer-readable storage media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions.
  • the media may also include, alone or in combination with the program instructions, data files, data structures, and the like.
  • the media and program instructions may be those specially designed and constructed, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • non-transitory computer-readable media examples include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like.
  • program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
  • the described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa.
  • a non-transitory computer-readable storage medium may be distributed among computer systems connected through a network and non-transitory computer-readable codes or program instructions may be stored and executed in a decentralized manner.

Abstract

Provided is a communication method of a relay node for network coding, including determining one of a plurality of nodes included in a mesh network as a relay node to perform network coding; determining, by the relay node among the plurality of nodes, nodes capable of participating in the network coding; and performing the network coding with respect to the nodes capable of participating in the network coding.

Description

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • This application claims the benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 10-2010-0003824, filed on Jan. 5, 2010, and Korean Patent Application No. 10-2010-0078697, filed on Aug. 16, 2010, in the Korean Intellectual Property Office, the entire disclosures of which are incorporated herein by reference for all purposes.
  • BACKGROUND
  • 1. Field
  • The following description relates to a communication method of a relay node and a next node of the relay node for network coding.
  • 2. Description of Related Art
  • In a mesh network generally including terminals, for example, nodes without using an infrastructure, a unicast communication may be enabled between the nodes. In particular, when at least two unicast communications are enabled between nodes, network coding may be employed.
  • SUMMARY
  • The following description relates to a method of determining a relay node included in a mesh network along with nodes in the mesh network capable of participating in network coding performed by the relay node.
  • The foregoing and/or other features and aspects may be achieved by providing a communication method of a relay node for network coding, the method including determining one of a plurality of nodes included in a mesh network as a relay node to perform network coding, determining, by the relay node among the plurality of nodes, nodes capable of participating in the network coding, and performing, by the relay node, the network coding with respect to the nodes capable of participating in the network coding.
  • The performing may include requesting next nodes of the relay node among the nodes capable of participating in the network coding to overhear packets broadcast from previous nodes of the relay node, and performing the network coding based on the overheard packets.
  • The determining of the relay node may include determining whether at least two unicast sessions are executed in one of the plurality of nodes, and determining, as the relay node, the one node in which the at least two unicast sessions are executed.
  • The determining of the nodes capable of participating in network coding may include verifying whether next nodes of the relay node among the plurality of nodes are neighbors of previous nodes of the relay node, and determining, as the nodes capable of participating into the network coding, the next nodes of the relay node and the previous nodes of the relay node in response to the next nodes of the relay node being the neighbors of the previous nodes of the relay node.
  • Each of the previous nodes of the relay node and the next nodes of the relay node may generate a neighbor list containing information associated with neighbor nodes. The verifying may include requesting, by the relay node, the previous nodes of the relay node to transmit the neighbor list, and verifying, by the relay node using the neighbor lists, whether the next nodes of the relay node are the neighbors of the previous nodes of the relay node.
  • Each of the previous nodes of the relay node and the next nodes of the relay node may generate a neighbor list containing information associated with neighbor nodes. The verifying may include periodically receiving, by the relay node from each of the previous nodes of the relay node, the neighbor list of each corresponding previous node, and verifying, by the relay node using the neighbor lists, whether the next nodes of the relay node are the neighbors of the previous nodes of the relay node.
  • The performing may include receiving, from each of the next nodes of the relay node, an acknowledgement with respect to each of the overheard packets, and determining a packet to which the network coding is to be performed based on the received acknowledgement.
  • The communication method may further include determining whether an execution state of the at least two unicast sessions is changed, and changing the nodes capable of participating in the network coding, or terminating the network coding in response to the execution state of the at least two unicast sessions being changed.
  • The determining whether the execution state is changed may include determining whether the at least two unicast sessions passing through the relay node remain, requesting nodes of which the at least two unicast sessions are terminated among the next nodes of the relay node to suspend overhearing, based on the remaining at least two at least two unicast sessions, updating the previous nodes of the relay node and the next nodes of the relay node based on the remaining at least two unicast sessions, and performing the network coding using packets overheard by the updated next nodes of the relay node.
  • The communication method may further include generating at least one queue with respect to each of previous nodes of the relay node and next nodes of the relay node.
  • In response to the relay node performing network coding with respect to a packet, a header of the packet may include a first area including information associated with the network coding, a second area including information associated with the packet overheard by a next node of the relay node, and a flag indicating whether the network coding is enabled with respect to the packet or whether an acknowledgement is enabled with respect to the packet.
  • The first area may include a number of network coded packets, an address of a previous node of the relay node receiving the overheard packet, and an identification number of a network coded packet.
  • The second area may include a number of packets overheard by the next node of the relay node, an address of a previous node broadcasting a packet overheard by a corresponding next node, and an identification number of the overheard packet.
  • The foregoing and/or other features and aspects may also be achieved by providing a communication method of a next node of a relay node for network coding, the method including receiving an overhear request from the relay node that is one of a plurality of nodes included in a mesh network, overhearing, by the next node of the relay node in response to the overhear request, a packet broadcast from a corresponding previous node of the relay node, and transmitting, by the next node of the relay node, an acknowledgement with respect to the overheard packet based on a time offset used to overhear the packet and a number of to overheard packets.
  • The transmitting may include comparing the time offset with a predetermined duration, and generating the acknowledgment with respect to the overheard packet in response to the time offset being greater than the predetermined duration.
  • The transmitting may include counting, by the next node of the relay node, the number of overheard packets, and generating the acknowledgment with respect to the overheard packet in response to the number of overheard packets being greater than a predetermined threshold.
  • The generating may include generating a header of the packet for the acknowledgment using a bitmap.
  • The foregoing and/or other features and aspects may also be achieved by providing a non-transitory computer-readable medium including a program for instructing a computer to perform a communication method of a relay node for network coding, the method including determining one of a plurality of nodes included in a mesh network as a relay node to perform network coding, determining, by the relay node among the plurality of nodes, nodes capable of participating in the network coding, and performing, by the relay node, the network coding with respect to the nodes capable of participating in the network coding.
  • According to an aspect, in a wireless mesh environment including terminals, overhearing and broadcasting of a packet may be performed using only nodes capable of participating into network coding based on a neighbor list. Accordingly, it is possible to prevent network flooding.
  • According to an aspect, by directly transmitting an acknowledgment with respect to an overheard packet to a relay node, it is possible to reduce a deterioration of a decoding probability in a next node that may occur due to a delay between a previous node of the relay node and a next node of the relay or a packet loss. Accordingly, a network throughput may be enhanced.
  • According to an aspect, by transmitting a cumulative acknowledgement with respect to a packet overheard by a next node of a relay node, it is possible to decrease overhead occurring due to transmission of the acknowledgement.
  • Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and/or other aspects will become apparent and more readily appreciated from the following description of various example embodiments, taken in conjunction with the accompanying drawings briefly described below.
  • FIG. 1 is a diagram illustrating an example of network coding in a relay node.
  • FIG. 2 is a diagram illustrating an example of a communication method of a relay node for network coding.
  • FIG. 3 is a diagram illustrating an example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • FIG. 4 is a diagram illustrating another example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • FIG. 5 is a diagram illustrating an example of a method of changing nodes capable of participating into network coding in response to a state of unicast sessions being changed.
  • FIG. 6 is a diagram illustrating an example of a format of a packet header used in a communication method for network coding.
  • FIG. 7 is a diagram illustrating an example of a mesh network including a relay node.
  • FIG. 8 is a diagram illustrating a method of managing, by the relay node of FIG. 7, at least one queue.
  • FIG. 9 is a diagram illustrating an example of a method of dequeuing packets present in a non-coding queue and a coding queue.
  • FIG. 10 is a diagram illustrating an example of transmitting, by a next node of a relay node, a cumulative acknowledgment (ACK) to the relay node based on a length of time.
  • FIG. 11 is a diagram illustrating an example of a method of transmitting, by a next node of a relay node, a cumulative ACK to the relay node based on a number of overheard packets.
  • FIG. 12 is a diagram illustrating an example of a header of a packet to transmit a cumulative ACK using a bitmap.
  • FIG. 13 is a diagram illustrating an example of a header format of 802.11 for a cumulative ACK using a bitmap.
  • Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.
  • DETAILED DESCRIPTION
  • The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be suggested to those of ordinary skill in the art. The progression of processing operations described is an example; however, the sequence of operations is not limited to that set forth herein and may be changed as is known in the art, with the exception of operations necessarily occurring in a certain order. Also, description of well-known functions and constructions may be omitted for increased clarity and conciseness.
  • FIG. 1 illustrates an example of network coding in a relay node.
  • In a case in which a mesh network is configured using terminals, for example, nodes without using an infrastructure, XOR based network coding may be employed to enhance a network throughput. In particular, in a case in which a route for at least two unicast sessions in the mesh network includes a single common node, it is possible to enhance the network throughput by performing network coding in the common node.
  • When the route for the at least two unicast sessions is commonly included in a predetermined node, the predetermined node may correspond to a relay node.
  • Referring to FIG. 1, in a mesh network including a plurality of nodes, a node A i 110 and a node A j 120 correspond to previous nodes of a relay node 130, and a node Aji140 and a node Aij150 correspond to next nodes of the relay node 130.
  • In one example configuration, one or more of the plurality of nodes may be mobile terminals.
  • In this example, it is assumed that the node A i 110 has a packet al. and the node A j 120 has a packet b. The packet a may be transferred from the previous node A i 110 to the next node Aij150 via the relay node 130. Similarly, the packet b may be transferred from the previous node A j 120 to the next node Aji140 via the relay node 130.
  • In this example, when the previous node A i 110 broadcasts the packet a, the next node Aji140 adjacent to the previous node A i 110 may overhear the packet al.
  • When the previous node A j 120 broadcasts the packet b, the next node Aij150 adjacent to the previous node A j 120 may overhear the packet b.
  • The relay node 130 may broadcast the packets a and b through network coding using XOR. The next node Aji140 and the next node Aij150 receiving the respective network coded packets may decode the received network coded packets using a corresponding overheard packet to restore the packets a and b.
  • In a case in which next nodes of the relay node 130, for example, the nodes Aji140 and Aij150, are capable of decoding the network coded packet, the relay node 130 may perform network coding.
  • In a case in which the next nodes of the relay node 130 do not perform decoding, a packet desired to be received by a corresponding next node may not be properly transferred.
  • In a network coding method according to an example embodiment, a single unicast session including previous node Ai 110->relay node 130->next node Aij150 may communicate with another unicast session including previous node Aj 120->relay node 130->next node Aji140 by employing the relay node 130 as an intersecting point.
  • Each of the nodes described above may have information associated with neighbor nodes. For example, in an 802.11 system, each of the nodes may have information associated with the neighbor nodes according to 802.11s peering management. Each of the nodes may express two unicast sessions formed by a routing protocol, or a portion of the two unicast sessions.
  • With respect to a packet broadcast from the previous node A i 110, the next node Aji140 may verify that a node broadcasting the packet corresponds to the previous node A i 110, and may perform overhearing.
  • The next node Aji140 may verify that the node broadcasting the packet corresponds to the previous node A i 110 by verifying a sender address of the packet.
  • The next node Aji140, having overheard the packet, may transmit an acknowledgement (ACK) with respect to the overheard packet to inform the relay node 130 about the overheard packet.
  • The relay node 130 may receive the ACK from the next node Aji140, and may verify which packet needs to be network coded, so that the next node Aji140 of the relay node 130 may perform decoding.
  • Hereinafter, an example of a relay node and nodes capable of participating in network coding in a case in which a plurality of nodes are included in a mesh network will be described with reference to FIG. 2.
  • FIG. 2 illustrates an example of a communication method of a relay node for network coding.
  • Referring to FIG. 2, the communication method of the relay node for network coding may determine one of a plurality of nodes included in a mesh network as a relay node having an opportunity of network coding.
  • In operation 210, the relay node may be determined depending on whether at least two unicast sessions are executed in one of the plurality of nodes.
  • In the case in which the at least two unicast sessions are executed in one of the plurality of nodes, the corresponding node may be determined as the relay node.
  • For example, in an aspect of a node, in a case in which a unicast session is open in the node and at least two unicast sessions pass through the node, the node may correspond to the relay node.
  • In a case in which the node does not correspond to the relay node, in other words, the node is not determined to be the relay node, the node may wait to receive a packet in operation 280.
  • When the node is determined to be the relay node in operation 210, in operation 220 the relay node may determine nodes capable of participating in network coding among the plurality of nodes.
  • The nodes capable of participating into network coding may be determined as described below.
  • The relay node may verify whether next nodes of the relay node among the plurality of nodes are neighbors of previous nodes of the relay node.
  • In a case in which the next nodes are neighbors of the previous nodes, the relay node may determine the next nodes and the previous nodes as the nodes capable of participating in network coding.
  • For example, the relay node may determine the nodes capable of participating in network coding by verifying whether next nodes of each unicast session are neighbors of previous nodes of another unicast session.
  • For example, referring to FIG. 1, the relay node 130 may determine whether the previous node A i 110 and the next node Aji140 correspond to nodes capable of participating in network coding by verifying whether the next node Aji140 of another unicast session is a neighbor of the previous node A i 110 in a single unicast session including previous node Ai 110->relay node 130->next node Aij150.
  • Similarly, the relay node 130 may determine whether the previous node A j 120 and the next node Aij150 correspond to nodes capable of participating in network coding by verifying whether the next node Aij150 of the single unicast session is a neighbor of the previous node A j 120 in the other unicast session including previous node Aj 120->relay node 130->next node Aji140.
  • Since a direct communication between a previous node and a next node in the same unicast session is enabled, a comparison may not be performed to determine whether corresponding nodes may participate in network coding. In addition, whether the nodes are neighbors may not be verified.
  • A method of verifying, by a relay node, whether next nodes of the relay node among a plurality of nodes are neighbors of previous nodes of the relay node will be described later with reference to FIG. 3 and FIG. 4.
  • In response to the nodes capable of participating in network coding being determined, the relay node may perform network coding with respect to the determined nodes.
  • The nodes capable of participating in network coding may vary based on a state of unicast sessions. A method of changing the nodes capable of participating in network coding in response to the state of the unicast sessions being changed will be described later with reference to FIG. 5.
  • In operation 230, the relay node may request next nodes of the relay node among the nodes capable of participating in network coding to overhear packets broadcast from previous nodes of the relay node.
  • In operation 240, the relay node may receive the overheard packets from the next nodes.
  • A format of a packet header used in a communication method for network coding according to an example embodiment will be described later with reference to FIG. 6.
  • In operation 250, the relay node may generate at least one queue with respect to each of the previous nodes and the next nodes. Attendant to initiating network coding, the relay node may generate at least one virtual queue with respect to each of the previous nodes and the next nodes. A sequence of generating the at least one queue is not limited to that illustrated in FIG. 2.
  • In operation 260, the relay node may receive an ACK with respect to each of the overheard packets from each of the next nodes.
  • In operation 270, the relay node may determine a packet to which network coding is to be performed, based on the received ACK, and perform the network coding.
  • A method of generating, by the relay node, at least one queue, and performing network coding using the at least one queue will be described later with reference to FIGS. 7 through 9.
  • As previously described, in operation 280, in response to the at least two unicast sessions not being executed in one of the plurality of nodes, the corresponding node may not correspond to the relay node, and thus simply receives a packet.
  • FIG. 3 illustrates an example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • Referring to FIG. 3, to verify whether the next nodes are neighbors of the previous nodes, the relay node may request previous nodes Ai and Aj to transmit a neighbor list in operation 310.
  • In operations 320 and 330, in response to the request from the request from the relay node, the relay node may receive a neighbor list of a corresponding previous node from each of the previous nodes Ai and Aj.
  • Each of the previous nodes and the next nodes may include the neighbor list containing information associated with neighbor nodes of a corresponding node, and thus may inform the relay node about information associated with the neighbor nodes. For example, the neighbor list may be a list containing information associated with a 2-hop neighbor.
  • In operation 340, the relay node may determine nodes capable of participating in network coding by verifying whether the next nodes are neighbors of the previous nodes using the neighbor lists.
  • In operation 350, the relay node may request the nodes determined to be capable of participating in network coding, for example, a next node Aji′, to overhear the neighboring previous node A. In response to the request, the next node Aji′ may overhear a packet broadcast from the previous node A.
  • FIG. 4 illustrates another example of a method of verifying whether next nodes of a relay node are neighbors of previous nodes of the relay node.
  • Referring to FIG. 4, to verify whether the next nodes are neighbors of the previous nodes, the relay node may periodically receive a neighbor list of a corresponding previous node from each of previous nodes Ai and Aj in operations 410 and 420.
  • In operation 430, the relay node may determine nodes capable of participating in network coding by verifying whether the next nodes are neighbors of the previous nodes using the neighbor lists.
  • In operation 440, the relay node may request the nodes capable of participating in network coding, for example, a next node Aji′ to overhear the neighboring previous node A. In response to the request, the next node may overhear the packet broadcast from the previous node A.
  • As described above with reference to FIG. 3 and FIG. 4, each of a plurality of nodes may transmit a corresponding neighbor list to a relay node so that the relay node may verify neighbor nodes of the respective nodes transmitting the neighbor lists.
  • For example, it may be assumed that a neighbor list of the previous node Ai is NAi, and a neighbor list of the previous node Aj is NAj.
  • The relay node may receive the neighbor lists NAi and NAj, and may verify whether corresponding next nodes Aij′ and Aji′ are neighbors of the previous nodes Ai and Aj.
  • For example, the relay node may verify whether the next node Aji′ is included in the neighbor list NAi of the previous node Ai. In response to the next node Aji′ being included in the neighbor list NAi, the relay node may request the next node Aji′ to overhear some or all of the data from node Ai, that is, some or all of the packets transmitted from the previous node Ai.
  • The next node Aji′ may overhear data transmitted from the previous node Ai, and may broadcast a packet by including the overheard data in the packet. In this example, nodes unverified by the relay node regarding whether the nodes are included in the neighbor list may not perform overhearing.
  • FIG. 5 illustrates an example of a method of changing nodes capable of participating in network coding in response to a state of unicast sessions being changed.
  • A relay node may determine whether an execution state of at least two unicast sessions executed in one of a plurality of nodes is changed. In response to the execution state being changed, the relay node may change nodes capable of participating in network coding, or may terminate network coding.
  • Referring to FIG. 5, in response to a unicast session passing through the relay node being terminated, the relay node may determine whether at least two unicast sessions remain in operation 510.
  • In response to only a single unicast session remaining in operation 510, the relay node may perform communication without performing network coding in operations 570 through 590, which will be described later.
  • Conversely, in response to the at least two unicast sessions remaining in operation 510, the relay node may perform network coding with respect to the remaining at least two unicast sessions in operations 520 through 560.
  • In response to the at least two unicast sessions remaining in operation 510, the relay node may request nodes of which unicast sessions are terminated to suspend overhearing, based on the remaining at least two unicast sessions in operation 520.
  • For example, in operation 520, the relay node may request nodes of which the unicast sessions are terminated and which do not need to overhear a packet to suspend overhearing. The relay node may have a neighbor list containing information associated with neighbor nodes of each node and thus, may have no need to request a separate neighbor list.
  • In operation 530, the relay node may update previous nodes and next nodes based on the remaining at least two unicast sessions.
  • In operation 540, the relay node may generate at least one queue with respect to each of the previous nodes and the next nodes. In response to a single session including the relay node being terminated, and at least two sessions remaining, the relay node may generate a virtual queue, which is similar to a case in which a new session starts. At least one queue generated by the relay node will be described later with reference to FIG. 8.
  • In operation 550, the relay node may receive packets overheard by the updated next nodes.
  • In operation 560, the relay node may perform network coding using the packets overheard by the updated next nodes.
  • FIG. 6 illustrates an example of a format of a packet header used in a communication method for network coding.
  • Referring to FIG. 6, the packet header may include a first region Encoded 610, a second region ACK 630, and a flag region Mesh Flags 650.
  • In response to a relay node performing network coding with respect to a packet, the first region Encoded 610 may be used to transmit information associated with network coding. In this example, the first region Encoded 610 may include ENCODED_NUM 613, Source add. 615, and Packet # 617.
  • ENCODED_NUM 613 indicates a number of network coded packets.
  • Source add. 615 indicates an address of each of one or more previous nodes transmitting the overheard packet.
  • Packet # 617 indicates an identification number of a network coded packet.
  • In Packet # 617, a corresponding value may increase when each of one or more nodes of each unicast session generates a packet.
  • The second region ACK 630 may be used to report to the relay node about information associated with a packet overheard by a next node. The second region ACK 630 may include Ack_NUM 633, Source add. 635, and Packet # 637.
  • Ack_NUM 633 indicates a number of overheard packets when the next node informs the relay node about the overheard packet.
  • Source add. 635 indicates that the next node has overheard a packet broadcast from which node, that is, an address of a previous node having broadcasted the packet overheard by the next node.
  • Packet # 637 indicates an identification number of the packet overheard by the next node.
  • The flag region Mesh flags 650 may indicate whether network coding is enabled with respect to the packet, or whether ACK is enabled.
  • For example, in the case of 802.11s, the packet header may be configured using a bit of a mesh flag.
  • FIG. 7 illustrates an example of a mesh network including a relay node.
  • FIG. 8 illustrates a method of managing, by the relay node of FIG. 7, at least one queue.
  • Hereinafter, an example of managing, by a relay node, a queue in a case in which three unicast sessions S1, S2, and S3 intersect the single relay node will be described with reference to FIG. 7 and FIG. 8.
  • According to an example embodiment, the relay node may include a receiving queue (Rx_queue), an ACK queue (Ack_queue), a non-coding queue, a coding queue, and a transmitting queue (Tx_queue). Each queue may operate based on a first in first out (FIFO) scheme.
  • Rx_queue and Ack_queue may be managed for each of a previous node and a next node.
  • In response to the relay node receiving a packet, the relay node may verify a sender address and transmit a corresponding packet to a corresponding Rx_queue.
  • In response to the relay node receiving an ACK from a next node, an indication that the ACK is received from the next node may be stored in a corresponding Ack_queue.
  • With respect to each of previous nodes, the Ack_queue may manage information indicating that a corresponding ACK is received from which next node. Accordingly, the Ack_queue may be managed for each next node corresponding to each Rx_queue.
  • With respect to packets present in the Rx_queue, the relay node may verify the Ack_queue with respect to next nodes. In response there being no ACK corresponding to a corresponding packet, the relay node may transmit the corresponding packet to the non-coding queue.
  • When the ACK does exist, the relay node may transmit the corresponding packet to the coding queue.
  • The coding queue may be managed for each of all the probable coding combinations.
  • In response to three unicast sessions existing, four queues may be generated. A queue of a previous node may exist in a queue of each of the generated four queues.
  • For example, in the case of a mesh network of FIG. 7, a previous node A1 and a next node A21′ or A31′ may constitute a single pair, a previous node A2 and a next node A12′ or A32′ may constitute a single pair, and a previous node A3 and a next node A13′ or A23′ may constitute a pair.
  • In response to a packet being received from one of the previous nodes A1, A2, and A3, the relay node may verify an address of a node having transmitted the packet, and may store the packet in the Rx_queue corresponding to the verified node.
  • For example, P12 may indicate a packet secondly transmitted from the previous node A1, and A21 may indicate an ACK transmitted when reporting to the relay node information indicating that the next node A21′ overheard P11.
  • When an ACK is received from one of the next nodes, for example, the next nodes A12′, A21′, and A31′, the relay node may store the received ACK in the Ack_queue corresponding to the node having transmitted the ACK.
  • Accordingly, the Ack_queue may be a queue for managing information indicating which next node among a plurality of next nodes, for example, A21′ and A31′ has overheard a packet transmitted from each previous node, for example, A1 and then transmitted an ACK.
  • As illustrated in FIG. 8, with respect to Rx_queue corresponding to each of previous nodes, for example, A1, A2, and A3, an Ack_queue may be managed for each of the next nodes corresponding to each of the previous nodes.
  • For example, the relay node may transmit the packet P11 to the Rx_queue corresponding to the previous node A1. When an ACK A21 indicating that the next node A21′ has overheard the packet P11 is received from the next node A21′, the relay node may store the ACK A21 in the Ack_queue of the next node A21′.
  • With respect to packets present in the Rx_queue, the relay node may verify the Ack_queue of the next nodes. When an ACK corresponding to a corresponding packet is not stored, the relay node may transmit the corresponding packet to the non-coding queue.
  • Conversely, when an ACK corresponding to the packet is stored, the relay node may transmit the corresponding packet to a coding queue.
  • For example, in the case of the packet P11, an ACK A21 and ACK A31 are transmitted from the next nodes A21′ and A31′ of the previous node A1, and are stored in Ack_queue. Accordingly, the relay node may transmit the packet P11 to the coding queue.
  • In the case of the packet P12, since no ACK is transmitted from the next nodes A21′ and A31′ of the previous node A1 in this example, an ACK corresponding to the packet P12 may not be stored in Ack_queue. Accordingly, the relay node may transmit the packet P12 to the non-coding queue.
  • The relay node may store and manage a packet for each of all the probable coding combinations. For example, in a case in which three unicast sessions S1, S2, and S3 pass the relay node, the relay node may generate four queues corresponding to C12, C13, . . . , C123, and may combine queues of the previous nodes A1, A2, and A3 and then store the combined queues within each of the generated four queues.
  • Hereinafter, a dequeuing process of the Rx_queue and Ack_queue is described.
  • Referring to FIG. 8, an ACK A21 and ACK A31 with respect to the packet P11 stored in the Rx_queue of the previous node A1 are stored in the Ack_queue of the next nodes A21′ and A31′. Accordingly, the relay node may transmit the packet P11 to the Rx_queue of C123 of the coding queue. C123 indicates a queue capable of coding packets of all the previous nodes A1, A2, and A3. Accordingly, when packets, for example, P22 and P31 are stored in the Rx_queue corresponding to the previous nodes A2 and A3 of C123, the packet P11 may be network coded together with the packets P22 and P31.
  • However, due to a difference, a change, and the like of a channel state, a packet may arrive late at the Rx_queue corresponding to the previous nodes A2 and A3 of C123. In this example, the packet P11 may not be coded, and thus may not be transmitted to a destination node. Accordingly, when the relay node transmits the packet 11 from the Rx_queue to the coding queue, the relay node may also transmit the packet 11 to other coding queues, for example, queues corresponding to C12 and C13.
  • In a case in which an ACK corresponding to a packet stored in an Rx_queue, for example, a packet P21, does not exist with respect to all the next nodes, and only an ACK All with respect to a portion of the next nodes, for example, A12′, is stored, the packet P21 may be transmitted to only corresponding coding queues, for example, C12.
  • In a case in which an ACK corresponding to the packet, for example, the packet P12, does not exist, the relay node may transmit the packet P12 to the non-coding queue.
  • FIG. 9 illustrates an example of a method of dequeuing packets present in a non-coding queue and a coding queue.
  • Referring to FIG. 9, packets dequeued in the non-coding queue and the coding queue may be transmitted to a Tx_queue. In this case, packets present in the non-coding queue may be transmitted to the Tx_queue according to a FIFO scheme.
  • A relay node may transmit a packet present in the non-coding queue, for example, P12, to the Tx_queue according to the FIFO scheme.
  • A method of dequeuing packets present in the coding queue may include operations as described below.
  • Initially, among a plurality of queues C12, C13, . . . , C123 belonging to the coding queue, a priority may be assigned to a queue containing a largest number of packets for coding.
  • In a case in which an entity exists in each Rx_queue of C123, the relay node may perform an XOR operation with respect to corresponding packets and then transmit the operation result to the Tx_queue.
  • For example, when a number of packets P11, P22, and P31 stored in the Rx_queue of C123 corresponding to A1, A2, and A3 is as large as three, the relay node may perform an XOR operation of the packets P11, P22, and P31 and then transmit the operation result to the Tx_queue.
  • To prevent XOR operated packets P11, P22, and P31 from being coded with other packets again in the relay node, the relay node may delete the packets P11, P22, and P31 from other queues of the coding queue, for example, C12 and C13. As described above, in a case in which a plurality of communication sessions intersect, and a relatively large number of packets can be coded, the relay node may perform coding based on a priority. The relay node may transmit a packet from the Tx_queue to a destination node according to a FIFO scheme.
  • In a case in which an overhear request is received from a relay node that is one of a plurality of nodes constituting a mesh network, a next node of the relay node may overhear a packet broadcast from each of previous nodes of the relay node in response to the overhear request. The next node of the relay node may transmit an ACK with respect to the overheard packet based on a time offset used to overhear the packet and a number of overheard packets.
  • Hereinafter, a method of transmitting, by the next node of the relay node, an ACK with respect to the overheard packet based on the time offset will be described with reference to FIG. 10, and a method of transmitting, by the next node of the relay node, an ACK with respect to the overheard packet based on the number of overheard packets will be described with reference to FIG. 11.
  • FIG. 10 illustrates an example of transmitting, by a next node of a relay node, a cumulative ACK to the relay node based on a length of time.
  • Referring to FIG. 10, the next node of the relay node may set a time offset to “0” in operation 1010, and may overhear a packet transmitted from a previous node of the relay node for a predetermined period of time in operation 1030. The next node of the relay node may transmit, to the relay node, an ACK with respect to the overheard packet.
  • In operation 1050, the next node of the relay node may compare the time offset with a predetermined duration in operation 1050.
  • In a case in which the time offset is greater than the predetermined duration in operation 1050, the next node of the relay node may generate the ACK with respect to the overheard packet and transmit the generated ACK to the relay node in operation 1070.
  • In a case in which the time offset increases to be greater than the predetermined duration while generating the ACK, the next node of the relay node may transmit the ACK to the relay node and then reset the time offset to “0”.
  • FIG. 11 illustrates an example of a method of transmitting, by a next node of a relay node, a cumulative ACK to the relay node based on a number of overheard packets.
  • Referring to FIG. 11, in operation 1110, the next node of the relay node may set an offset count to “0”. In this example, the offset count is used to count a number of packets overheard from a single relay node.
  • In operation 1130, the next node of the relay node may overhear a packet. In operation 1150, the next node of the relay node may increase the offset count by one for each overheard packet.
  • In operation 1170, it is determined whether the number of overheard packets is greater than a predetermined threshold value max_count. If it is determined that the offset count is greater than the predetermined treshold value max_count, the next node of the relay node may generate an ACK with respect to the overheard packets and transmit the ACK to the relay node in operation 1190.
  • Conversely, if it is determined that the number of overheard packets, i.e., the offset count, is less than or equal to the predetermined threshold value max_count, the next node of the relay node may continue to overhear packets from the relay node while continuously increasing the offset count.
  • Attendant to generating the ACK, the next node of the relay node may form a header of the packet for the ACK using a bitmap, which will be further described with reference to FIG. 12.
  • FIG. 12 illustrates an example of a header of a packet to transmit a cumulative ACK using a bitmap, and FIG. 13 illustrates an example of a header format of 802.11 for a cumulative ACK using a bitmap.
  • Referring to FIG. 12 and FIG. 13, a header format using a bitmap for transmitting a cumulative ACK may be utilized as described below.
  • The cumulative ACK of FIGS. 10 and 11 may be managed in a relay node for each source address of each previous node as illustrated in Source add.1233.
  • First Packet # 1235 indicates a first packet transmitting ACK for each source address.
  • Last Packet # 1237 indicates a last packet transmitting ACK for each source address.
  • Whether each of packets is received may be expressed using the bitmap by including the first packet number and the last packet number.
  • For example, when it is assumed that First Packet #=5, Last Packet #=10, and bitmap=101011, it is indicated that packets # 5, 7, 9 and 10 are received, and packets # 6 and 8 are not received.
  • Further descriptions related to the header format may refer to the descriptions made above with reference to FIG. 6.
  • FIG. 13 illustrates an example of applying a header of the above cumulative ACK to a header of 802.11.
  • The processes, functions, methods and/or software described above including a communication method of a relay node for network coding may be recorded, stored, or fixed in one or more non-transitory computer-readable storage media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The media and program instructions may be those specially designed and constructed, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa. In addition, a non-transitory computer-readable storage medium may be distributed among computer systems connected through a network and non-transitory computer-readable codes or program instructions may be stored and executed in a decentralized manner.
  • A number of examples have been described above. Nevertheless, it should be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.

Claims (18)

What is claimed is:
1. A communication method of a relay node for network coding, the method comprising:
determining one of a plurality of nodes included in a mesh network to be a relay node to perform network coding;
determining, by the relay node among the plurality of nodes, nodes capable of participating in the network coding; and
performing, by the relay node, the network coding with respect to the nodes capable of participating in the network coding.
2. The communication method of claim 1, wherein the performing comprises:
requesting next nodes of the relay node among the nodes capable of participating in the network coding to overhear packets broadcast from previous nodes of the relay node; and
performing the network coding based on the overheard packets.
3. The communication method of claim 1, wherein the determining of the relay node comprises:
determining whether at least two unicast sessions are executed in one of the plurality of nodes; and
determining, as the relay node, the one node in which the at least two unicast sessions are executed.
4. The communication method of claim 1, wherein the determining of the nodes capable of participating in network coding comprises:
verifying whether next nodes of the relay node among the plurality of nodes are neighbors of previous nodes of the relay node; and
determining, as the nodes capable of participating into the network coding, the next nodes of the relay node and the previous nodes of the relay node in response to the next nodes of the relay node being the neighbors of the previous nodes of the relay node.
5. The communication method of claim 4, wherein:
each of the previous nodes of the relay node and the next nodes of the relay node generates a neighbor list containing information associated with neighbor nodes, and
the verifying comprises:
requesting, by the relay node, the previous nodes of the relay node to transmit the neighbor list, and
verifying, by the relay node using the neighbor lists, whether the next nodes of the relay node are the neighbors of the previous nodes of the relay node.
6. The communication method of claim 4, wherein:
each of the previous nodes of the relay node and the next nodes of the relay node generates a neighbor list containing information associated with neighbor nodes, and
the verifying comprises:
periodically receiving, by the relay node from each of the previous nodes of the relay node, the neighbor list of each corresponding previous node, and
verifying, by the relay node using the neighbor lists, whether the next nodes of the relay node are the neighbors of the previous nodes of the relay node.
7. The communication method of claim 2, wherein the performing comprises:
receiving, from each of the next nodes of the relay node, an acknowledgement with respect to each of the overheard packets; and
determining a packet to which the network coding is to be performed based on the received acknowledgement.
8. The communication method of claim 3, further comprising:
determining whether an execution state of the at least two unicast sessions is changed; and
changing the nodes capable of participating in the network coding, or terminating the network coding in response to the execution state of the at least two unicast sessions being changed.
9. The communication method of claim 8, wherein the determining whether the execution state is changed comprises:
determining whether the at least two unicast sessions passing through the relay node remain;
requesting nodes of which the at least two unicast sessions are terminated among the next nodes of the relay node to suspend overhearing, based on the remaining at least two at least two unicast sessions;
updating the previous nodes of the relay node and the next nodes of the relay node based on the remaining at least two unicast sessions; and
performing the network coding using packets overheard by the updated next nodes of the relay node.
10. The communication method of claim 1, further comprising:
generating at least one queue with respect to each of previous nodes of the relay node and next nodes of the relay node.
11. The communication method of claim 1, wherein, in response to the relay node performing network coding with respect to a packet, a header of the packet includes a first area including information associated with the network coding, a second area including information associated with the packet overheard by a next node of the relay node, and a flag indicating whether the network coding is enabled with respect to the packet or whether an acknowledgement is enabled with respect to the packet.
12. The communication method of claim 11, wherein the first area includes a number of network coded packets, an address of a previous node of the relay node receiving the overheard packet, and an identification number of a network coded packet.
13. The communication method of claim 11, wherein the second area includes a number of packets overheard by the next node of the relay node, an address of a previous node broadcasting a packet overheard by a corresponding next node, and an identification number of the overheard packet.
14. A communication method of a next node of a relay node for network coding, the method comprising:
receiving an overhear request from the relay node that is one of a plurality of nodes included in a mesh network;
overhearing, by the next node of the relay node in response to the overhear request, a packet broadcast from a corresponding previous node of the relay node; and
transmitting, by the next node of the relay node, an acknowledgement with respect to the overheard packet based on a time offset used to overhear the packet and a number of overheard packets.
15. The communication method of claim 14, wherein the transmitting comprises:
comparing the time offset with a predetermined duration; and
generating the acknowledgment with respect to the overheard packet in response to the time offset being greater than the predetermined duration.
16. The communication method of claim 14, wherein the transmitting comprises:
counting, by the next node of the relay node, the number of overheard packets; and
generating the acknowledgment with respect to the overheard packet in response to the number of overheard packets being greater than a predetermined threshold.
17. The communication method of claim 16, wherein the generating includes generating a header of the packet for the acknowledgment using a bitmap.
18. A non-transitory computer-readable medium comprising a program for instructing a computer to perform the method of claim 1.
US12/984,714 2010-01-15 2011-01-05 Communication method for relay node and next node of the relay node for network coding Active 2032-04-25 US9231738B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2010-0003824 2010-01-15
KR20100003824 2010-01-15
KR10-2010-0078697 2010-08-16
KR1020100078697A KR101645980B1 (en) 2010-01-15 2010-08-16 Method of communication for relay node and next node of the relay node for network coding

Publications (3)

Publication Number Publication Date
US20110164621A1 US20110164621A1 (en) 2011-07-07
US9231738B2 US9231738B2 (en) 2016-01-05
US20160013857A9 true US20160013857A9 (en) 2016-01-14

Family

ID=44224662

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/984,714 Active 2032-04-25 US9231738B2 (en) 2010-01-15 2011-01-05 Communication method for relay node and next node of the relay node for network coding

Country Status (1)

Country Link
US (1) US9231738B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020014348A1 (en) * 2018-07-12 2020-01-16 Qualcomm Incorporated Relaying vehicular communications using network coding

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8773975B2 (en) * 2010-01-21 2014-07-08 Lg Electronics Inc. Network coding enhancements
KR20130007775A (en) * 2011-07-11 2013-01-21 삼성전기주식회사 Network apparauts and frame retransmission method using thereof
CN102970689B (en) * 2011-08-31 2017-10-24 索尼公司 wireless network coding management method and system
CN103095439A (en) * 2013-01-10 2013-05-08 周亚建 Method and device of two-way cooperation relay transmission data based on network coding
WO2014134276A1 (en) 2013-02-28 2014-09-04 Aalborg Universitet Method, apparatus, and protocol for improving performance in a wireless network
EP2974087B1 (en) 2013-03-14 2019-01-09 Aalborg Universitet Method to enhance routing protocols in wireless mesh networks
US9736118B2 (en) * 2013-07-17 2017-08-15 Cisco Technology, Inc. Session initiation protocol denial of service attack throttling
CN103560966B (en) * 2013-11-13 2016-08-31 重庆邮电大学 Opportunistic network mixed logic dynamic method based on network code and duplication
US9007984B1 (en) * 2013-11-19 2015-04-14 The Aerospace Corporation Network coding for satellite communications
CN103746775B (en) * 2014-01-23 2017-04-05 电子科技大学 A kind of caching mechanism for lifting radio machine meeting net coding gain
WO2015138914A1 (en) * 2014-03-14 2015-09-17 Interdigital Patent Holdings, Inc. Method and apparatus for dual-band mesh operations
KR20150130628A (en) * 2014-05-13 2015-11-24 한국전자통신연구원 Method for transmitting packet in low power wireless network
CN104780582A (en) * 2015-01-30 2015-07-15 杭州电子科技大学 Multi-package flooding method using network coding and link correlation
CN105187326B (en) * 2015-08-25 2018-01-05 湖南大学 A kind of network code in double bounce wireless network topology structure intercepts management method
US10367708B2 (en) * 2017-08-04 2019-07-30 Dell Products Lp Network coding aware nodes in a distributed network
CN110971350B (en) * 2018-09-28 2021-10-26 华为技术有限公司 Data transmission method, equipment and system
US20230111372A1 (en) * 2021-10-08 2023-04-13 Qualcomm Incorporated Feedback from network coding (nc) encoding device to transmitting device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8040836B2 (en) * 2006-05-26 2011-10-18 Microsoft Corporation Local network coding for wireless networks
JP2009049617A (en) 2007-08-17 2009-03-05 Niigata Univ Data transmission/reception system and method
KR20090024313A (en) 2007-09-04 2009-03-09 장성철 Cost management method and device and system for preventing illegal cable laying
US8077658B2 (en) * 2007-10-01 2011-12-13 Microsoft Corporation Packet forwarding in multi-radio multi-hop wireless networks
KR100919052B1 (en) 2007-11-27 2009-09-24 한국전자통신연구원 Network coding system of the Multicast member node
KR100929235B1 (en) 2007-12-17 2009-12-01 한국전자통신연구원 Dynamic Reconfiguration Method of Wireless Sensor Network and Its System
US8542634B2 (en) * 2008-01-31 2013-09-24 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing mobility to a mobile node
US8005033B2 (en) * 2008-01-31 2011-08-23 Intel Corporation Device, system, and method of bidirectional wireless communication
US8068426B2 (en) * 2008-05-29 2011-11-29 Massachusetts Institute Of Technology Feedback-based online network coding
US20090323580A1 (en) * 2008-06-27 2009-12-31 Feng Xue Frame structure and sequencing for enabling network coding for wireless relaying

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020014348A1 (en) * 2018-07-12 2020-01-16 Qualcomm Incorporated Relaying vehicular communications using network coding
CN112425188A (en) * 2018-07-12 2021-02-26 高通股份有限公司 Relaying vehicle communications using network coding
US10986525B2 (en) 2018-07-12 2021-04-20 Qualcomm Incorporated Relaying vehicular communications using network coding

Also Published As

Publication number Publication date
US20110164621A1 (en) 2011-07-07
US9231738B2 (en) 2016-01-05

Similar Documents

Publication Publication Date Title
US9231738B2 (en) Communication method for relay node and next node of the relay node for network coding
US9544126B2 (en) Joint use of multi-packet reception and network coding for performance improvement
US8595359B2 (en) Efficient message distribution for directed acyclic graphs
US8081641B2 (en) Methods and apparatus for network coding
JP5252150B2 (en) Method and system for setting up a cooperative route in a wireless network
KR100664953B1 (en) Method for multicast routing system and in mobile ad-hoc network environment
US9509447B2 (en) Method and apparatus for improved network coding in wireless communication system
JP2004328749A (en) Apparatus and method for data packet retransmission in mobile ad hoc network environment
CN111131179B (en) Service processing method, device, network equipment and storage medium
Zeng et al. Dynamic segmented network coding for reliable data dissemination in delay tolerant networks
KR101109658B1 (en) Multicast routing method using network coding scheme in wireless mobile multihop network system
CN115633314A (en) Distributed edge computing information scheduling method based on information priority
Angelakis et al. Probabilistic routing in opportunistic ad hoc networks
US10278233B2 (en) Communication apparatus and communication method
US9282522B2 (en) Communication apparatus and communication method
WO2022218516A1 (en) Devices and methods for collaborative learning of a transmission policy in wireless networks
US11943106B2 (en) Supervised traffic management in SigMesh networks
CN115915024A (en) Data transmission method, electronic device and computer readable storage medium
EP3393092B1 (en) Controller coordination system for software defined networking in a wireless network with partitions
KR101645980B1 (en) Method of communication for relay node and next node of the relay node for network coding
US11153803B2 (en) Method and device for updating the number of retransmissions in a wireless mesh network
CN107959985B (en) Hybrid mesh network construction method, data transmission method and device
Campolo et al. Performance of network coding for ad hoc networks in realistic simulation scenarios
Thubert et al. Root initiated routing state in RPL draft-ietf-roll-dao-projection-03
JP5137806B2 (en) Communication control method and communication apparatus

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, IN SUN;HWANG, CHAN SOO;REEL/FRAME:025887/0186

Effective date: 20110301

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8