Method for propagating network management data for energy-efficient IoT network management and energy-efficient IoT node apparatus
09794122 · 2017-10-17
Assignee
Inventors
- Hyung gon Park (Goyang, KR)
- Jung min Kwon (Goyang, KR)
- Min hae Kwon (Seoul, KR)
- Soon young Kim (Seoul, KR)
- Min ji Lee (Seoul, KR)
- Ye seul Jo (Seoul, KR)
Cpc classification
International classification
Abstract
A method for propagating network management data for energy-efficient internet of things network management and an energy-efficient internet of things node apparatus are disclosed herein. The method includes dividing a plurality of sub-nodes into at least two terminal sub-nodes and the remaining intermediate sub-nodes, and determining a transmission path so that the terminal sub-nodes and the intermediate sub-nodes satisfy an acyclic graph condition, dividing the plurality of pieces of data of network management information into at least two data groups, and transmitting one of the at least two data groups to one of the terminal sub-nodes respectively, transmitting the data of the received data group to adjacent intermediate sub-nodes, performing network coding on selected two pieces of data, transmitting the network-coded data to the at least two intermediate adjacent sub-nodes, and decoding the received network-coded data using previously held data.
Claims
1. A method for propagating network management data for energy-efficient management of an Internet of Things (IoT) network including a main node and a plurality of sub-nodes, the method comprising the steps of: (a) dividing, by the main node, the plurality of sub-nodes into at least two terminal sub-nodes and remaining intermediate sub-nodes, and determining, by the main node, a transmission path so that the at least two terminal sub-nodes locate at end points, respectively, and the terminal sub-nodes and the intermediate sub-nodes satisfy an acyclic graph condition; (b) dividing, by the main node, a plurality of pieces of data of network management information into at least two data groups, and transmitting, by the main node, one of the at least two data groups to one of the terminal sub-nodes, respectively; (c) transmitting, by each of the terminal sub-nodes, data of the received data group to adjacent intermediate sub-nodes on the transmission path on a per-unit basis; (d) performing, by each of the intermediate sub-nodes, network coding on at least two pieces of data selected for network coding transmission for at least two adjacent intermediate sub-nodes or for at least one adjacent intermediate sub-node and one of the terminal sub-nodes, and transmitting, by the intermediate sub-node, the network-coded data to the at least two intermediate adjacent sub-nodes or to the at least one adjacent intermediate sub-node and the terminal sub-node; and (e) decoding, by the intermediate sub-node, the received network-coded data using previously held data, wherein step (d) comprises the step of selecting, by the intermediate sub-node, among data which are held by the intermediate sub-node, data which are present only at any one of the at least two adjacent sub-nodes, as the at least two pieces of data for network coding transmission, and wherein: the at least two pieces of data for network coding transmission are selected for two intermediate sub-nodes s.sub.n−1 and s.sub.n+1 adjacent to an intermediate sub-node s.sub.n according to the following equation:
d.sub.iε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n+1
d.sub.jε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n−1 where d.sub.i is data common to a to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group {circumflex over (N)}.sub.n+1 of the intermediate sub-node s.sub.n+1, and d.sub.j is data common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group {circumflex over (N)}.sub.n−1 of the intermediate sub-node s.sub.n−1; and the to-be-transmitted data group {circumflex over (N)}.sub.n is defined by the following equations:
{circumflex over (N)}.sub.n=N.sub.n−Y.sub.n
Y.sub.n=(N.sub.n−1∩N.sub.n∩N.sub.n+1) where N.sub.n−1, N.sub.n and N.sub.n+1 are respectively a data group that includes pieces of data that are held by each of the intermediate sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1.
2. The method of claim 1, wherein at step (a), number of the terminal sub-nodes is two, and the acyclic graph condition is a condition in which all sub-nodes are present on a single linear graph.
3. The method of claim 1, further comprising the step of, if the at least two pieces of data for network coding transmission have not been selected at step (d), relaying, by the intermediate sub-node, data from its adjacent previous sub-node to its adjacent subsequent sub-node on the transmission path.
4. A computer-readable non-transitory storage medium storing a program written to implement the method for propagating network management data set forth in claim 1.
5. A method for propagating network management data for energy-efficient management of an Internet of Things (IoT) network including a main node and a plurality of sub-nodes, the method comprising the steps of: (a) dividing, by the main node, the plurality of sub-nodes into at least two terminal sub-nodes and remaining intermediate sub-nodes, and determining, by the main node, a transmission path so that the at least two terminal sub-nodes locate at end points, respectively, and the terminal sub-nodes and the intermediate sub-nodes satisfy an acyclic graph condition; (b) dividing, by the main node, a plurality of pieces of data of network management information into at least two data groups, and transmitting, by the main node, one of the at least two data groups to one of the terminal sub-nodes, respectively; (c) transmitting, by each of the terminal sub-nodes, data of the received data group to adjacent intermediate sub-nodes on the transmission path on a per-unit basis; (d) performing, by each of the intermediate sub-nodes, network coding on at least two pieces of data selected for network coding transmission for at least two adjacent intermediate sub-nodes or for at least one adjacent intermediate sub-node and one of the terminal sub-nodes, and transmitting, by the intermediate sub-node, the network-coded data to the at least two intermediate adjacent sub-nodes or to the at least one adjacent intermediate sub-node and the terminal sub-node; and (e) decoding, by the intermediate sub-node, the received network-coded data using previously held data, wherein step (d) comprises the step of selecting, by the intermediate sub-node, among data which are held by the intermediate sub-node, data which are present only at any one of the at least two adjacent sub-nodes, as the at least two pieces of data for network coding transmission, and wherein: the at least two pieces of data for network coding transmission are selected for two intermediate sub-nodes s.sub.n−1 and s.sub.n+1 adjacent to an intermediate sub-node s.sub.n according to the following equation:
d.sub.iε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n+1
d.sub.jε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n−1 where d.sub.i is data common to a to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group N.sub.n+1 of the intermediate sub-node s.sub.n+1, and d.sub.j is data common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group N.sub.n−1 of the intermediate sub-node s.sub.n−1; and the to-be-transmitted data group {circumflex over (N)}.sub.n is defined by the following equations:
{circumflex over (N)}.sub.n=N.sub.n−Y.sub.n
Y.sub.n=(N.sub.n−1∩N.sub.n∩N.sub.n+1) where N.sub.n−1, N.sub.n and N.sub.n+1 are respectively a data group that includes pieces of data that are held by each of the intermediate sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1.
6. The method of claim 5, wherein step (d) comprises the steps of: performing, by the intermediate sub-node, network coding on the selected two pieces of data d.sub.i and d.sub.j according to the following equation:
{circumflex over (d)}=d.sub.i⊕d.sub.j; and transmitting, by the intermediate sub-node, the network-coded data {circumflex over (d)} to at least two adjacent intermediate sub-nodes or to an adjacent intermediate sub-node and an adjacent terminal sub-node.
7. The method of claim 6, wherein step (e) comprises the steps of: obtaining, by the intermediate sub-node s.sub.n−1, having received the network-coded data {circumflex over (d)} from the intermediate sub-node s.sub.n, data d.sub.i based on the data d.sub.j being held according to the following equation:
d.sub.i={circumflex over (d)}⊕d.sub.j, where d.sub.jεN .sub.n−1; and obtaining, by the intermediate sub-node s.sub.n+1, having received the network-coded data {circumflex over (d)} from the intermediate sub-node s.sub.n, data d.sub.j based on the data d.sub.i being held according to the following equation:
d.sub.j={circumflex over (d)}⊕d.sub.i, where d.sub.iεN.sub.n+1.
8. An energy-efficient Internet of Things (IoT) node device that functions as any one of a main node or a sub-node and that constitutes part of an energy-efficient IoT network, wherein: if the energy-efficient IoT node device functions as the main node, the energy-efficient IoT node device is operative to: divide a plurality of sub-nodes of the energy-efficient IoT network into at least two terminal sub-nodes and remaining intermediate sub-nodes, and determine a transmission path so that the at least two terminal sub-nodes locate at end points, respectively, and the terminal sub-nodes and the intermediate sub-nodes satisfy an acyclic graph condition; and divide a plurality of pieces of data of network management information into at least two data groups, and transmit the at least two data groups to the terminal sub-nodes, respectively, wherein the intermediate sub-node is operative to select data, among data which are held by the intermediate sub-node, data which are present only at any one of the at least two adjacent sub-nodes, as the at least two pieces of data for network coding transmission, and wherein the at least two pieces of data for network coding transmission are selected for two intermediate sub-nodes s.sub.n−1 and s.sub.n+1 adjacent to an intermediate sub-node s.sub.n according to the following equation:
d.sub.iε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n+1
d.sub.jε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n−1 where d.sub.i is data common to a to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group {circumflex over (N)}.sub.n+1 of the intermediate sub-node s.sub.n+1, and d.sub.j is data common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group {circumflex over (N)}.sub.n−1 of the intermediate sub-node s.sub.n−1; and the to-be-transmitted data group {circumflex over (N)}.sub.n is defined by the following equations:
{circumflex over (N)}.sub.n=N.sub.n−Y.sub.n
Y.sub.n=(N.sub.n−1∩N.sub.n∩N.sub.n+1) where N.sub.n −1, N.sub.n and N.sub.n+1 are each a data group that includes pieces of data that are held by each of the intermediate sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1, respectively.
9. The energy-efficient IoT node device of claim 8, wherein: if the energy-efficient IoT node device functions as the sub-node, the energy-efficient IoT node device is operative to: transmit data of the data group, received from the main node, to adjacent intermediate sub-nodes on the transmission path on a per-unit basis; perform network coding on at least two pieces of data selected for network coding transmission with respect to at least two adjacent intermediate sub-nodes or to at least one adjacent intermediate sub-node and one of the terminal sub-nodes, and transmit the network-coded data to the at least two intermediate adjacent sub-nodes or to the at least one adjacent intermediate sub-node and the terminal sub-node; and decode the received network-coded data using previously held data.
10. The energy-efficient IoT node device of claim 8, wherein the terminal sub-nodes are two in number, and the acyclic graph condition is a condition in which all sub-nodes are present on a single linear graph.
11. The energy-efficient IoT node device of claim 8, wherein if the at least two pieces of data for network coding transmission have not been selected, the energy-efficient IoT node device that functions as the sub-node is operative to relay data from its adjacent previous sub-node to its adjacent subsequent sub-node on the transmission path.
12. An energy-efficient Internet of Things (IoT) node device that functions as any one of a main node or a sub-node and that constitutes part of an energy-efficient IoT network, wherein: if the energy-efficient IoT node device functions as the main node, the energy-efficient IoT node device is operative to: divide a plurality of sub-nodes of the energy-efficient IoT network into at least two terminal sub-nodes and remaining intermediate sub-nodes, and determine a transmission path so that the at least two terminal sub-nodes locate at end points, respectively, and the terminal sub-nodes and the intermediate sub-nodes satisfy an acyclic graph condition; and divide a plurality of pieces of data of network management information into at least two data groups, and transmit the at least two data groups to the terminal sub-nodes, respectively, wherein the intermediate sub-node is operative to select data, among data which are held by the intermediate sub-node, data which are present only at any one of the at least two adjacent sub-nodes, as the at least two pieces of data for network coding transmission, and wherein: the at least two pieces of data for network coding transmission are selected for two intermediate sub-nodes s.sub.n−1 and s.sub.n+1 adjacent to an intermediate sub-node s.sub.n according to the following equation:
d.sub.iε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n+1
d.sub.jε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n−1 where d.sub.i is data common to a to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group N.sub.n+1 of the intermediate sub-node s.sub.n+1, and d.sub.j is data common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the intermediate sub-node s.sub.n and a to-be-transmitted data group N.sub.n−1 of the intermediate sub-node s.sub.n−1; and the to-be-transmitted data group {circumflex over (N)}.sub.n is defined by the following equations:
{circumflex over (N)}.sub.n=N.sub.n−Y.sub.n
Y.sub.n=(N.sub.n−1∩N.sub.n∩N.sub.n+1) where N.sub.n −1, N.sub.n and N.sub.n+1 are respectively a data group that includes pieces of data that are held by each of the intermediate sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1.
13. The energy-efficient IoT node device of claim 12, wherein the intermediate sub-node is operative to: perform network coding on the selected two pieces of data d.sub.i and d.sub.j according to the following equation:
{circumflex over (d)}=d.sub.i⊕d.sub.j; and transmit the network-coded data {circumflex over (d)} to at least two adjacent intermediate sub-nodes or an adjacent intermediate sub-node and an adjacent terminal sub-node.
14. The energy-efficient IoT node device of claim 13, wherein: the intermediate sub-node s.sub.n−1 having received the network-coded data {circumflex over (d)} from the intermediate sub-node s.sub.n is operative to obtain data d.sub.i based data d.sub.j being held according to the following equation:
d.sub.i={circumflex over (d)}⊕d.sub.j, where d.sub.jεN.sub.n−1; and the intermediate sub-node s.sub.n+1, having received the network-coded data {circumflex over (d)} from the intermediate sub-node s.sub.n, obtains data d.sub.j based on the data d.sub.i being held according to the following equation:
d.sub.j={circumflex over (d)}⊕d.sub.i, where d.sub.iεN .sub.n+1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects, features and advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) This work was supported by the National Research Foundation of KOREA (NRF) and Center for Women In Science, Engineering and Technology (WISET).
(7) With regard to embodiments of the present invention disclosed herein, specific structural and functional descriptions are given merely for the purpose of illustrating the embodiments of the present invention.
(8) Embodiments of the present invention may be practiced in various forms, and the present invention should not be construed as being limited to embodiments disclosed herein.
(9) Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The same reference numerals will be used to denote the same components throughout the accompanying drawings, and redundant descriptions of the same components will be omitted.
(10) Throughout the specification, IoT node devices and main node devices may be referred to as sub-nodes and a main node unless they are used in a clearly different technical context.
(11)
(12) Referring to
(13) The upper layer network 110 is a network connected to the external Internet or an external IoT platform server via a backbone. The upper layer network 110 may include a central hub 111 connected to the outside via the backbone, and main node devices 112 (or a main node), selected (voted) from IoT sub-node devices 121, 122, 123 and 124 (or sub-nodes) to function as a gateway, or previously set as a main device.
(14) The lower layer network 120 may include the IoT node devices 121, 122, 123 and 124 attached to things, respectively, and configured to collect information about the things and exchange data with the upper layer network 110.
(15) In an embodiment, the main node 112 of the upper layer network 110 has the substantially identical hardware and principal functions as the sub-nodes 121, 122, 123 and 124, but may be selected to function as a gateway between the upper layer network 110 and the lower layer network 120 or may be manually designated.
(16) In another embodiment, the main node 112 of the upper layer network 110 may be based on powerful hardware than the sub-nodes 121, 122, 123 and 124 to further function as a gateway, or may be specialized for gateway functionality.
(17) The central hub 111, the main node 112 and the sub-nodes 121, 122, 123 and 124 may constitute an IoT network system.
(18) Meanwhile, it is preferred that in a method for propagating network management data for energy-efficient IoT network management according to the present invention, the sub-nodes 121, 122, 123 and 124 of the lower layer network 120 can form a transmission path, satisfying an acyclic graph condition in which there exist no internal cycle, at least during the propagation of network management information. For example, the sub-nodes 121, 122, 123 and 124 may form a transmission path that can be arranged as a string. However, this condition is not required for transmission and reception of information other than the network management information of the present invention.
(19) The main node 112 may divide the data of the network management information into a plurality of data groups, for example, two data groups, and may transmit one of the plurality of data groups, for example, one of the two data groups, to one of a plurality of sub-nodes, for example, one of two sub-nodes 121 and 124, respectively, corresponding to the end points of the transmission path formed by the sub-nodes 121, 122, 123 and 124 of the lower layer network 120. Thereafter, the sub-nodes 121 and 124 corresponding to the end points transmit the data of their received data groups to the sub-nodes 122 and 123 adjacent over the transmission path, using a network coding technique. In the same manner, the sub-nodes 122 or 123 also transmit their received data to other sub-nodes adjacent over the transmission path using the network coding technique.
(20) Referring to
(21) The method for propagating network management data for energy-efficient IoT network management according to the embodiment of the present invention illustrated in
(22) As illustrated in
(23) Although each of the sub-nodes s.sub.1 and s.sub.N present at two end points of the transmission path is connected to a single adjacent sub-node s.sub.2 or s.sub.N−1, respectively, n-th sub-nodes s.sub.n, other than the sub-nodes s.sub.1 and s.sub.N at end points, transmit and receive data to and from two adjacent sub-nodes s.sub.n−1 and s.sub.n+1 using a network coding technique.
(24) In this context, a method for propagating network management data for energy-efficient IoT network management according to an embodiment of the present invention may start from step S21.
(25) At step S21, the main node 112 may classify the N sub-nodes s.sub.1, s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , s.sub.N−1, s.sub.N into at least two terminal sub-nodes s.sub.1 and s.sub.N and the remaining intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1, and determines a transmission path such that the at least two terminal sub-nodes s.sub.1 and s.sub.N place at respective end points of the transmission path and all of the terminal sub-nodes s.sub.1 and s.sub.N and the intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1 satisfy an acyclic graph condition.
(26) In this case, the main node 112 may be one of the sub-nodes and be selected as a gateway from the sub-nodes, or may be a node specialized for a main node different from the sub-nodes.
(27) At step S22, the main node 112 divides a plurality of pieces of data, constituting network management information, into at least two data groups, and transmits each of the plurality of data groups N.sub.1 and N.sub.N to each of the terminal sub-nodes s.sub.1 and s.sub.N present at a plurality of end points on the transmission path.
(28) More specifically, the main node 112 divides L pieces of data d.sub.1, d.sub.2, . . . , d.sub.L, constituting network management information, received from the central hub 111 into two data groups N.sub.1={d.sub.1, . . . , d.sub.┌L/2┐} and N.sub.N={d.sub.┌L/2┐+1, . . . , d.sub.L}, and transmits the data groups N.sub.1 and N.sub.N to the terminal sub-nodes s.sub.1 and s.sub.N, respectively.
(29) At step S23, each of the terminal sub-nodes s.sub.1 and s.sub.N at a plurality of end points on the transmission path receives one of the plurality of data groups N.sub.1 and N.sub.N from the main node 112.
(30) At step S24, the terminal sub-node s.sub.1 or s.sub.N transmits data of the received data group N.sub.1 or N.sub.N piece by piece to an adjacent intermediate sub-node s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , or s.sub.N−1 on the transmission path.
(31) At step S25, an intermediate sub-node s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , or s.sub.N−1 selects two pieces of data d.sub.i and d.sub.j appropriate for network coding transmission to at least two adjacent sub-nodes of the intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1 or to at least one intermediate sub-node s.sub.3 or s.sub.N−2 and the terminal sub-node s.sub.1 or s.sub.N.
(32) If the two pieces of data d.sub.i and d.sub.j have been selected, the process proceeds to step S26. If there is no appropriate data, the process proceeds to step S28 of performing transmission without network coding. For example, in the early stage of the propagation of network management data, each of the intermediate sub-nodes may have only a few pieces of data, not enough for network coding. In this case, a sub-node on the transmission path may relay data to another adjacent sub-node without network coding using a common method.
(33) More specifically, at step S25, each of the intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1 may select the two pieces of data d.sub.i and d.sub.j, appropriate for network coding transmission, among data received by the corresponding intermediate sub-node, such that each piece of data d.sub.i and d.sub.j is present only at any one of at least two adjacent sub-nodes, not both of the adjacent sub-nodes.
(34) Referring additionally to
(35) In this case, as shown in the following Equation 1, the three sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1 do not need to transmit the data group Y.sub.n of data common to the data groups N.sub.n−1, N.sub.n and N.sub.n+1:
Y.sub.n=(N.sub.n−1∩N.sub.n∩N.sub.n+1) (1)
(36) Accordingly, data, which is appropriate for the network coding by the intermediate sub-node s.sub.n to transmit to adjacent sub-nodes s.sub.n−1 and s.sub.n+1, is data from the data group N.sub.n of the data held by the intermediate sub-node s.sub.n, exclusive of the data group Y.sub.n.
(37) In this case, it should be noted that to determine the data group Y.sub.n that the intermediate sub-node s.sub.n does not need to transmit, the adjacent intermediate sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1 do not need to notify one another beforehand the data held by themselves.
(38) Data d.sub.j and d.sub.k belonging to the data group N.sub.1 are sequentially transmitted from the terminal sub-node s.sub.1 to the right, and data d.sub.i belonging to the data group N.sub.n is sequentially transmitted from the terminal sub-node s.sub.N to the left. Assume that an intermediate sub-node s.sub.n holds data d.sub.i, d.sub.j and d.sub.k at a specific time. The intermediate sub-nod s.sub.n has not yet transmitted the data d.sub.i, which is received from the intermediate sub-node s.sub.n+1, to the intermediate sub-node s.sub.n−1 yet, and has not yet transmitted the data d.sub.j, which is received from the intermediate sub-node s.sub.n−1, to the intermediate sub-node s.sub.n+1 yet. If the intermediate sub-node s.sub.n has transmitted the data d.sub.k, which is received from the intermediate sub-node s.sub.n−1, to the intermediate sub-node s.sub.n+1 already, it may be logically determined that the data held in common by the three intermediate sub-nodes s.sub.n−1, s.sub.n and s.sub.n+1 is only data d.sub.k.
(39) Accordingly, a to-be-transmitted data group {circumflex over (N)}.sub.n may be constructed, as shown in the following Equation 2:
{circumflex over (N)}=N.sub.n−Y.sub.n (2)
(40) The intermediate sub-node s.sub.n may select at least two pieces of data, which are data present at the intermediate sub-node s.sub.n, and which are only present at any one of at least two adjacent sub-nodes s.sub.n−1 and s.sub.n+1 and are not present at the other sub-node s.sub.n+1 or s.sub.n−1, from the data of the to-be-transmitted data group {circumflex over (N)}.sub.n, as data d.sub.i and d.sub.j appropriate for network coding transmission.
(41) More specifically, the intermediate sub-node s.sub.n may select the two pieces of data d.sub.i and d.sub.j appropriate for network coding transmission according to Equation 3:
d.sub.iε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n+1
d.sub.jε{circumflex over (N)}.sub.n∩{circumflex over (N)}.sub.n−1 (3)
(42) According to Equation 3, selected are the data d.sub.i common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the n-th intermediate sub-node s.sub.n and the to-be-transmitted data group {circumflex over (N)}.sub.n+1 of the (n+1)-th intermediate sub-node s.sub.n+1, and the data d.sub.j common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the n-th intermediate sub-node s.sub.n and the to-be-transmitted data group {circumflex over (N)}.sub.n−1 of the (n−1)-th intermediate sub-node s.sub.n−1. The data d.sub.i is not present at the (n−1)-th intermediate sub-node s.sub.n−1 but is present both at the n-th intermediate sub-node s.sub.n and the (n+1)-th intermediate sub-node s.sub.n+1. In contrast, the data d.sub.j is not present at the (n+1)-th intermediate sub-node s.sub.n+1, but is present both at the n-th intermediate sub-node s.sub.n and the (n−1)-th intermediate sub-node s.sub.n−1.
(43) As for such an embodiment in which the intermediate sub-node s.sub.n takes into account not only its own not-requiring-transmission data group Y.sub.n but also the not-requiring-transmission data groups Y.sub.n+1 and Y.sub.n−1 of the adjacent intermediate sub-nodes s.sub.n+1 and s.sub.n−1, the n-th intermediate sub-node s.sub.n must further take into account the to-be-transmitted data group {circumflex over (N)}.sub.n+1 and the to-be-transmitted data group {circumflex over (N)}.sub.n−1 of the respective adjacent sub-nodes s.sub.n+1 and s.sub.n−1 in order to select the two pieces of data d.sub.i and d.sub.j appropriate for network coding transmission according to Equation 3.
(44) For example, since, in order to take into account the to-be-transmitted data group {circumflex over (N)}.sub.n+1 of the intermediate sub-node s.sub.n+1, the intermediate sub-node s.sub.n must take into account the data groups N.sub.1 and N.sub.n+1 of the intermediate sub-nodes s.sub.n and s.sub.n+2 adjacent to the intermediate sub-node s.sub.n+1 according to Equations 1 and 2, an additional computational or transmission load may be required.
(45) In contrast, in another embodiment, the intermediate sub-node s.sub.n may take into account only its own not-requiring-transmission data group Y.sub.n.
(46) More specifically, the intermediate sub-node s.sub.n may select the two pieces of data d.sub.i and d.sub.j appropriate for network coding transmission according to Equation 4:
d.sub.iε{circumflex over (N)}.sub.n∩N.sub.n+1
d.sub.jε{circumflex over (N)}.sub.n∩N.sub.n−1 (4)
(47) According to Equation 4, selected are the data d.sub.i common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the n-th intermediate sub-node s.sub.n and the to-be-transmitted data group N.sub.n+1 of the (n+1)-th intermediate sub-node s.sub.n+1, and the data d.sub.j common to the to-be-transmitted data group {circumflex over (N)}.sub.n of the n-th intermediate sub-node s.sub.n and the to-be-transmitted data group N.sub.n−1 of the (n−1)-th intermediate sub-node s.sub.n−1. The data d.sub.i is not present at the (n−1)-th intermediate sub-node s.sub.n−1 but is present both at the n-th intermediate sub-node s.sub.n and the (n+1)-th intermediate sub-node s.sub.n+1. In contrast, the data d.sub.j is not present at the (n+1)-th intermediate sub-node s.sub.n+1, but is present both at the n-th intermediate sub-node s.sub.n and the (n−1)-th intermediate sub-node s.sub.n−1.
(48) In this embodiment, the intermediate sub-node s.sub.n takes into account only its own not-requiring-transmission data group Y.sub.n, but does not take into account the not-requiring-transmission data groups Y.sub.n+1 and Y.sub.n−1 of the adjacent intermediate sub-nodes s.sub.n+1 and s.sub.n−1.
(49) At step S26, the intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1 perform network coding on the selected two pieces of data d.sub.i and d.sub.j, and transmits the network-coded data to at least two adjacent intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1 or to the adjacent intermediate sub-node s.sub.3 or s.sub.N−2 and the adjacent terminal sub-node s.sub.1 or s.sub.N.
(50) More specifically, the intermediate sub-nodes s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , and s.sub.N−1 perform network coding on the selected two pieces of data d.sub.i and d.sub.j according to Equation 5:
{circumflex over (d)}=d.sub.i⊕d.sub.j (5)
(51) The network-coded data {circumflex over (d)} is transmitted from the intermediate sub-node s.sub.N to the two adjacent intermediate sub-nodes s.sub.n+1 and s.sub.n−1.
(52) In this case, the operator “⊕” refers to an addition operation defined in the Galois Field (GF).
(53) At step S27, the intermediate sub-node s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , or s.sub.N−1 receives the network-coded data {circumflex over (d)}, and decodes the received network-coded data {circumflex over (d)} using previously held data d.sub.i or d.sub.j.
(54) In the example of
d.sub.i={circumflex over (d)}⊕d.sub.j, where d.sub.jεN.sub.n−1 (6)
(55) The decoded data d.sub.i becomes a new element of the data group N.sub.n−1 obtained by the (n−1)-th intermediate sub-node s.sub.n−1.
(56) In the same manner, the (n+1)-th intermediate sub-node s.sub.n+1 receives the network-coded data {circumflex over (d)} from the intermediate sub-node s.sub.n and obtains data d.sub.j based on the data d.sub.i being held, as shown in Equation 7:
d.sub.j={circumflex over (d)}⊕d.sub.i, where d.sub.iεN.sub.n+1 (7)
(57) The decoded data d.sub.j becomes a new element of the data group N.sub.n+1 obtained by the (n+1)-th intermediate sub-node s.sub.n+1.
(58) If the data d.sub.i and d.sub.j appropriate for network coding transmission have not been selected at step S25, the intermediate sub-node s.sub.2, . . . , s.sub.n−1, s.sub.n, s.sub.n+1, . . . , or s.sub.N−1 may relay data from its adjacent antecedent sub-node to its adjacent subsequent sub-node on the transmission path at step S28.
(59)
(60) Referring to
(61) When the number of packets increases (L=3), the difference in the number of transmissions between two methods is not significant.
(62) When the number of packets further increases (L=10), the number of transmissions in the method for propagating network management data using network coding according to the present invention is reduced by about 10 to 15% points compared to the simple relay method.
(63) When the number of packets further increases (L=20), the number of transmissions in the method for propagating network management data using network coding according to the present invention is reduced by about 20 to 30% points compared to the simple relay method.
(64) When the firmware of a sensor node device constituting part of a sensor network or security data has a size of a few MB, the number of packets may range from a few hundreds to a few thousands if it is assumed that the size of each packet is 8 kb. Accordingly, it may be expected that the method for propagating network management data using network coding according to the present invention can significantly reduce the number of transmissions compared to the simple relay method.
(65) A method for propagating network management data for energy-efficient IoT network management and an energy-efficient IoT node device according to at least some embodiments of the present invention are capable of preventing transmission operations from concentrating at a specific node device functioning as a gateway, thereby minimizing chance of energy hole problem in which the energy of a specific node device is to be exhausted earlier.
(66) A method for propagating network management data for energy-efficient IoT network management and an energy-efficient IoT node device according to at least some embodiments of the present invention are capable of reducing the number of transmissions that a specific node device functioning as a gateway carries out in order to complete the propagation of network management information.
(67) A method for propagating network management data for energy-efficient IoT network management and an energy-efficient IoT node device according to at least some embodiments of the present invention are capable of reducing the total number of transmissions occurring between nodes in order to complete the propagation of network management information.
(68) A method for propagating network management data for energy-efficient IoT network management and an energy-efficient IoT node device according to at least some embodiments of the present invention are capable of reducing the total time to complete the propagation of network management information.
(69) The above embodiments and the accompanying drawings are intended merely to clearly illustrate part of the technical spirit of the present invention, and it will be apparent to those skilled in the art that modifications and specific embodiments that those skilled in the art can easily derive from the present specification and the accompanying drawings are all included in the range of the rights of the present invention.
(70) Furthermore, the apparatus according to at least one embodiment of the present invention may be implemented as a computer-readable code on a computer-readable storage medium. The computer-readable storage medium includes all types of storage devices on which data that can be read by a computer system is stored. Examples of the computer-readable storage medium include read-only memory (ROM), random access memory (RAM), an optical disk, a magnetic tape, a floppy disk, nonvolatile memory, etc. Furthermore, the computer-readable storage medium may be distributed across computer systems connected to each other over a network, and computer-read able code may be stored and executed in the computer systems in a distributed manner.