Method and node for preventing collision between networks communicating based on CSMA/CA
Summary by NHIP
CSMA/CA Collision Prevention
The method prevents network collisions by synchronizing an object network with a neighbor and allocating a slot index based on network count and contention window size. It reduces a back-off counter using channel state and slot index before transmitting data related to the neighboring network.
Claim Score by NHIP
Abstract
A method and a target node for preventing collisions between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, are provided. The method includes synchronizing an object network with a neighboring network. The method further includes allocating, to the object network, a slot index based on a number of the networks, and a contention window (CW) size. The method further includes setting, for the object network, a back-off counter value based on the CW size. The method further includes reducing the back-off counter value based on a channel state of the object network, and the slot index. The method further includes transmitting data related to the neighboring network based on the back-off counter value.

Term
7.4 yearsleft in the term
Expires 17 February 2034, including 461 days of term adjustment.
- Priority
- Filed
- Granted
- Today
- Expires
27 claims: 4 independent, 23 dependent
- 1Broadest claimClaim Score 63, broad(NHIP)A method of preventing collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the method comprising:synchronizing an object network with a neighboring network;allocating, to the object network, a slot index based on a number of the networks, and a contention window (CW) size;setting, for the object network, a back-off counter value based on the CW size;reducing the back-off counter value based on a channel state of the object network and the slot index;and transmitting data related to the neighboring network based on the back-off counter value.
- 10A method of preventing collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the method comprising:synchronizing an object network with a neighboring network;allocating, to the object network, a slot index based on a number of the networks, and a contention window (CW) size;setting, for the object network, a back-off counter value based on the CW size;reducing the back-off counter value based on a channel state of the object network and the slot index;and transmitting data related to the neighboring network based on the back-off counter value, the slot index, and the channel state.
- 18A target node configured to prevent collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the target node comprising:a synchronization unit configured to synchronize the target node with a neighboring node;an allocation unit configured to allocate, to the target node, a slot index based on a number of the networks, and a contention window (CW) size;a set unit configured to set, for the target node, a back-off counter value based on the CW size;a reduction unit configured to reduce the back-off counter value based on a channel state of the target node and the slot index;and a transmission unit configured to transmit data related to the neighboring node based on the back-off counter value.
- 23A target node configured to prevent collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the target node comprising:a synchronization unit configured to synchronize the target node with a neighboring node;an allocation unit configured to allocate, to the target node, a slot index based on a number of the networks, and a contention window (CW) size;a set unit configured to set, for the target node, a back-off counter value based on the CW size;a reduction unit configured to reduce the back-off counter value based on a channel state of the target node and the slot index;and a transmission unit configured to transmit data related to the neighboring node based on the back-off counter value, the slot index, and the channel state.
Independent claims4
78 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATION(S)
This application claims the benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 10-2012-0007293, filed on Jan. 25, 2012, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.
BACKGROUND
1. Field
The following description relates to a method and a target node for preventing collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme.
2. Description of Related Art
A conventional carrier sense multiple access/collision avoidance (CSMA/CA) scheme does not consider a case in which homogeneous networks coexist. In such a case, collision between signals of neighboring networks may frequently occur, which may increase a selection range of a back-off counter of each node included in the networks up to a maximum contention window (CW) size. That is, a collision rate may be increased as a number of nodes participating in contention increases, and consequently, the back-off counter value of each node may be increased. As a result, efficiency may be reduced for usage of resources. If homogeneous networks exist adjacent to one another in a narrow area, the collision rate may be further increased, and the efficiency may be further reduced.
SUMMARY
In one general aspect, there is provided a method of preventing collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the method including synchronizing an object network with a neighboring network. The method further includes allocating, to the object network, a slot index based on a number of the networks, and a contention window (CW) size. The method further includes setting, for the object network, a back-off counter value based on the CW size. The method further includes reducing the back-off counter value based on a channel state of the object network, and the slot index. The method further includes transmitting data related to the neighboring network based on the back-off counter value.
The method may further include allocating, to the object network, a back-off counter reduction period based on the number of the networks.
The synchronizing may include synchronizing a time period between the neighboring network and the object network with a first time period based on the number of the networks. The synchronizing may further include synchronizing a time period in the object network with a second time period, which is distinguished from the first time period.
The allocating may include allocating, to the object network, the slot index based on a beacon shifting sequence index, or a network identifier (ID), or any combination thereof.
The reducing may include determining whether the channel state is an idle state. The reducing may further include determining whether the slot index corresponds to an index of a time slot of the neighboring network and the object network. The reducing may further include reducing the back-off counter value if the channel state is the idle state, and the slot index corresponds to the index.
The transmitting may include determining whether the back-off counter value is equal to zero. The transmitting may further include transmitting the data if the back-off counter value is equal to zero.
The method may further include determining whether a response to the transmitting is received. The method may further include resuming contention for transmission of the data if the response to the transmitting is received.
The method may further include determining whether the CW size is less than a maximum CW size of the neighboring network and the object network. The method may further include increasing the CW size if the CW size is less than the maximum CW size. The resuming may include resuming the contention for the transmission of the data based on the increased CW size.
A non-transitory computer-readable storage medium may store a program including instructions to cause a computer to implement the method.
In another general aspect, there is provided a method of preventing collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the method including synchronizing an object network with a neighboring network. The method further includes allocating, to the object network, a slot index based on a number of the networks, and a contention window (CW) size. The method further includes setting, for the object network, a back-off counter value based on the CW size. The method further includes reducing the back-off counter value based on a channel state of the object network. The method further includes transmitting data related to the neighboring network based on the back-off counter value, the slot index, and the channel state.
The reducing may include determining whether the channel state is an idle state. The reducing may further include reducing the back-off counter value if the channel state is the idle state.
The transmitting may include determining whether the back-off counter value is equal to zero. The transmitting may further include determining whether the slot index corresponds to an index of a time slot of the neighboring network and the object network, and whether the channel state is an idle state. The transmitting may further include transmitting the data if the back-off counter value is equal to zero, the slot index corresponds to the index, and the channel state is the idle state.
In still another general aspect, there is provided a target node configured to prevent collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the target node including a synchronization unit configured to synchronize the target node with a neighboring node. The target node further includes an allocation unit configured to allocate, to the target node, a slot index based on a number of the networks, and a contention window (CW) size. The target node further includes a set unit configured to set, for the target node, a back-off counter value based on the CW size. The target node further includes a reduction unit configured to reduce the back-off counter value based on a channel state of the target node, and the slot index. The target node further includes a transmission unit configured to transmit data related to the neighboring node based on the back-off counter value.
The synchronization unit may be further configured to synchronize a time period between the neighboring node and the target node with a first time period based on the number of the networks. The synchronization unit may be further configured to synchronize a time period in the target node with a second time period, which is distinguished from the first time period.
The allocation unit may be further configured to allocate, to the target node, a back-off counter reduction period based on the number of the networks. The allocation unit may be further configured to allocate, to the target node, the slot index based on a beacon shifting sequence index, or a network identifier (ID), or any combination thereof.
The reduction unit may be further configured to determine whether the channel state is an idle state. The reduction unit may be further configured to determine whether the slot index corresponds to an index of a time slot of the neighboring node and the target node. The reduction unit may be further configured to reduce the back-off counter value if the channel state is the idle state, and the slot index corresponds to the index.
The transmission unit may be further configured to determine whether the back-off counter value is equal to zero. The transmission unit may be further configured to transmit the data if the back-off counter value is equal to zero.
In yet another general aspect, there is provided a target node configured to prevent collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme, the target node including a synchronization unit configured to synchronize the target node with a neighboring node. The target node further includes an allocation unit configured to allocate, to the target node, a slot index based on a number of the networks, and a contention window (CW) size. The target node further includes a set unit configured to set, for the target node, a back-off counter value based on the CW size. The target node further includes a reduction unit configured to reduce the back-off counter value based on a channel state of the target node. The target node further includes a transmission unit configured to transmit data related to the neighboring node based on the back-off counter value, the slot index, and the channel state.
The reduction unit may be further configured to determine whether the channel state is an idle state. The reduction unit may be further configured to reduce the back-off counter value if the channel state is the idle state.
The transmission unit may be further configured to determine whether the back-off counter value is equal to zero. The transmission unit may be further configured to determine whether the slot index corresponds to an index of a time slot of the neighboring node and the target node, and whether the channel state is an idle state. The transmission unit may be further configured to transmit the data if the back-off counter value is equal to zero, the slot index corresponds to the index, and the channel state is the idle state.
Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a diagram illustrating an example of signal collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme.
<figref idref="DRAWINGS">FIG. 2</figref> is a diagram illustrating an example of a method of controlling a back-off counter reduction period in a method of preventing collision between networks communicating based on the CSMA/CA.
<figref idref="DRAWINGS">FIG. 3</figref> is a diagram illustrating another example of a method of controlling a back-off counter reduction period in a method of preventing collision between networks communicating based on the CSMA/CA.
<figref idref="DRAWINGS">FIG. 4</figref> is a flowchart illustrating an example of a method of preventing collision between networks communicating based on the CSMA/CA.
<figref idref="DRAWINGS">FIG. 5</figref> is a flowchart illustrating another example of a method of preventing collision between networks communicating based on the CSMA/CA.
<figref idref="DRAWINGS">FIG. 6</figref> is a block diagram illustrating an example of a target node configured to prevent collision between networks communicating based on the CSMA/CA.
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 systems, apparatuses, and/or methods described herein will be suggested to those of ordinary skill in the art. The progression of processing steps and/or operations described is an example; however, the sequence of steps and/or operations is not limited to that set forth herein and may be changed as is known in the art, with the exception of steps and/or operations necessarily occurring in a certain order. Also, description of well-known functions and constructions may be omitted for increased clarity and conciseness.
<figref idref="DRAWINGS">FIG. 1</figref> is a diagram illustrating an example signal collision between networks communicating based on a carrier sense multiple access/collision avoidance (CSMA/CA) scheme. In an environment in which adjacent homogeneous networks coexist, although signals transmitted from one network do not collide, signal collision may occur due to signals transmitted from another adjacent network, thereby increasing a collision rate. If nodes included in each network operate based on the same time period and the same back-off counter reduction period, signal collisions are unavoidable.
For example, referring to <figref idref="DRAWINGS">FIG. 1</figref>, the homogeneous networks may include a network <b>0</b><b>110</b> and a network <b>1</b><b>130</b>, which communicate based on the CSMA/CA. The network <b>0</b><b>110</b> and the network <b>1</b><b>130</b> include a node A <b>115</b> and a node B <b>135</b>, respectively. The node A <b>115</b> and the node B <b>135</b> generate data B<b>1</b> and data B<b>2</b>, respectively, to be transmitted. The node A <b>115</b> and the node B <b>135</b> may encapsulate the data B<b>1</b> and the data B<b>2</b>, respectively, during an Extensible Authentication Protocol (EAP) period. The node A <b>115</b> and the node B <b>135</b> transmit the data B<b>1</b> and the data B<b>2</b>, respectively, during a Route Access Protocol (RAP) period via respective signals TR.
If contention occurs between the respective signals TR at a contention slot index (e.g., 0), the node A <b>115</b> and the node B <b>135</b> wait to transmit (i.e., back-off from transmitting) the signals TR based on respective back-off counters. In this example, the contention slot index refers to an index of a time slot for an object network (e.g., the network <b>0</b><b>110</b>) and at least one neighboring network (e.g., the network <b>1</b><b>130</b>). Each of the back-off counters include a value of 5, and operate based on the same back-off counter reduction period C of 1 time slot or time interval. The back-off counter reduction period C refers to the time slot of reducing the back-off counter value by 1. Each of the back-off counters is reduced in value by 1 each time the node A <b>115</b> and the node B <b>135</b> respectively wait to transmit the signals TR, for 5 time slots. When the back-off counters are reduced to 0, the node A <b>115</b> and the node B <b>135</b> respectively transmit the corresponding signals TR. However, since the back-off counters include the same value, and operate based on the same back-off counter reduction period C, the node A <b>115</b> and the node B <b>135</b> transmit the respective signals TR at the same contention slot index (e.g., 5), thereby causing a collision between the signals TR.
The collision rate may abruptly increase as a number of adjacent networks increases. As a number of signal collisions increases, data loss increases. Furthermore, each of the nodes sets a contention window (CW) size to approximately a maximum CW size (CW<sub>max</sub>) selectable by the nodes, in which the nodes may be in contention with each other and/or may reduce their respective back-off counter values. For example, as shown in <figref idref="DRAWINGS">FIG. 1</figref>, if each of the node A <b>115</b> and the node B <b>135</b> sets the CW size to the maximum CW size CW<sub>max</sub>, for example, 5 time slots, a contention period is elongated, even though a signal collision occurs. Consequently, a resource use efficiency may be reduced.
<figref idref="DRAWINGS">FIG. 2</figref> illustrates an example of a method of controlling a back-off counter reduction period in a method of preventing collision between networks communicating based on the CSMA/CA scheme. Referring to <figref idref="DRAWINGS">FIG. 2</figref>, a network <b>0</b><b>210</b> and a network <b>1</b><b>230</b> coexist as neighbors, and communicate based on the CSMA/CA. The network <b>0</b><b>210</b> and the network <b>1</b><b>230</b> include a node A <b>215</b> and a node B <b>235</b>, respectively.
The node A <b>215</b> reduces a value of its back-off counter by 1 (i.e., operates in the back-off counter reduction period C) only when a contention slot index equals 2k (k denoting a natural number). For example, the node A <b>215</b> reduces the back-off counter value by 1 at contention slot indices 0, 2, 4, 12, and 14. The node B <b>235</b> reduces a value of its back-off counter by 1 only when a contention slot index equals 2k+1, to be alternate with the node A <b>215</b>. For example, the node B <b>235</b> reduces the back-off counter value by 1 at contention slot indices 1, 3, 5, and 13. That is, if a N number of networks coexist, each of the networks sets or allocates its slot index to a number n, and reduces a value of its back-off counter by 1 only when the slot index corresponds to a contention slot index of Nk+n (where n=0, 1, . . . , N−1). In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the network <b>0</b><b>210</b> and the network <b>1</b><b>230</b> sets their slot indices to 0 and 1, respectively, which correspond to the contention slot indices of 2k and 2k+1, respectively. Thus, transmission time points of the network <b>0</b><b>210</b> and the network <b>1</b><b>230</b> do not overlap. Accordingly, signal collision is prevented.
The back-off counter reduction period C may be determined based on the number of the coexisting networks. For example, if an object network (e.g., the network <b>0</b><b>210</b>) and at least one neighboring network (e.g., the network <b>1</b><b>230</b>) coexist, as shown in <figref idref="DRAWINGS">FIG. 2</figref>, the total number of the networks, that is, 2, may be determined to be the back-off counter reduction period C. Therefore, a value of a back-off counter value of a target node (e.g., the node A <b>215</b>) may be reduced by 1 every 2 contention slot indices.
If the number of the networks is relatively large, an efficiency of using time resources may abruptly decrease. Therefore, if the number of the networks is excessively large, one slot index may be allocated to several networks to be shared. Accordingly, the efficiency of using time resources may be increased.
<figref idref="DRAWINGS">FIG. 3</figref> illustrates another example of a method of controlling a back-off counter reduction period in a method of preventing collision between networks communicating based on the CSMA/CA. Different from the method of <figref idref="DRAWINGS">FIG. 2</figref>, according to the method of <figref idref="DRAWINGS">FIG. 3</figref>, a value of a back-off counter of a network is not reduced in only a defined slot index. Instead, data transmission may not be performed as soon as the back-off counter value becomes 0, but after it is confirmed that a contention slot index of an object network and at least one neighboring network, corresponds to a slot index allocated to the object network.
For example, referring to <figref idref="DRAWINGS">FIG. 3</figref>, a network <b>0</b><b>310</b> and a network <b>1</b><b>330</b> coexist as neighbors, and communicate based on the CSMA/CA. The network <b>0</b><b>310</b> and the network <b>1</b><b>330</b> include a node A <b>315</b> and a node B <b>335</b>, respectively. The node A <b>315</b> transmits data B<b>1</b> via a signal TR only when a value of its back-off counter becomes 0, and a slot index of 0 allocated to the network <b>0</b><b>310</b> corresponds a contention slot index of 2k, e.g., 6. The node B <b>335</b> transmits data B<b>2</b> via a signal TR only when a value of its back-off counter becomes 0, and a slot index of 1 allocated to the network <b>1</b><b>330</b> corresponds to a contention slot index of 2k+1, e.g., 15. That is, if an N number of networks coexist, each of the networks sets or allocates its slot index to a number n, and transmits data only when a value of its back-off counter becomes 0, and the slot index corresponds to a contention slot index of Nk+n (where n=0, 1, . . . , N−1). As a result, signal collisions between the networks is prevented.
If a transmission slot is allocated based on the number of the networks, an efficiency of using time resources may be reduced while the collision rate may be increased. In this example, the efficiency of using time resources may be enhanced by sharing one slot index with several networks.
To prevent collisions between the neighboring networks by the method of adjusting the back-off counter reduction period as described with reference to <figref idref="DRAWINGS">FIGS. 2 and 3</figref>, synchronization of time between the neighboring networks is performed. Only through the time synchronization are contention slot indices of current time slots recognized by the networks and synchronized. Accordingly, the networks may be prevented from transmitting data in the same time slot.
A unit of the time synchronization between the neighboring networks does not have to be 1 time slot because a value referenced by each network to avoid the collision is not a definite index of a time slot, but rather, a relative index of the time slot. For example, if the N number of the networks coexist, the unit of the time synchronization between the networks may be N time slots rather than 1 time slot. A value referenced by each network for adjustment of the back-off counter reduction period may be a slot index mod N. Accordingly, each network may include a 2-step synchronization control method, which sets a period of the time synchronization between the neighboring networks and the object network to N time slots, and sets the unit of the time synchronization in the object network to 1 slot.
In addition, to prevent collisions between the neighboring networks by adjusting the back-off counter reduction period, negotiation between the networks may be performed to set a slot index of a back-off counter allocated to each network. However, if the negotiation between the networks is performed, the system may be complicated while a resource use efficiency is reduced. Therefore, instead of the negotiation, a system parameter may be used to prevent such loss. Although the following example uses the system parameter with reference to the 802.15.6 Body Area Network (BAN), which is a representative CSMA/CA system, this is only an example, and other system parameters may be used, such as network identifiers (IDs) and/or those known to one of ordinary skill in the art.
In a first example of using the system parameter to allocate a slot index to a back-off counter, a beacon shifting sequence index may be used. Beacon shifting refers to a coexistence strategy of the 802.15.6 BAN, which changes a position of a beacon in every super frame based on a randomly-generated sequence to prevent beacons of neighboring networks from continuously colliding. For example, different beacon shifting sequences may be used to prevent collisions between the respective networks, and, for this purpose, a different beacon shifting sequence index may be set for each respective network, as shown in Table 1 below. In this example, for each respective network, the beacon shifting sequence index may be used as a reducing slot index of a back-off counter so that additional negotiation between the networks may be omitted.
<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="1" colwidth="63pt" align="center" /><colspec colname="2" colwidth="161pt" align="left" /><colspec colname="3" colwidth="77pt" align="left" /><thead><row><entry namest="1" nameend="3" rowsep="1">TABLE 1</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row><row><entry>Beacon Shifting</entry><entry /><entry>Beacon Shifting</entry></row><row><entry>Sequence Index m</entry><entry>Beacon shifting Sequence as function of</entry><entry>Sequence pattern (“. . . ”</entry></row><row><entry>in decimal value</entry><entry>Beacon Shifting Sequence Phase n = 0, 1, 2, . . . , 15</entry><entry>denotes pattern repeat)</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>0</entry><entry>PN<sub>0</sub>(n) = n mod 2</entry><entry>PN<sub>0</sub>(n) = 0, 1, 0, 1, . . .</entry></row><row><entry>1</entry><entry>PN<sub>1</sub>(n) = 2 × PN<sub>0</sub>(n)</entry><entry>PN<sub>1</sub>(n) = 0, 2, 0, 2, . . .</entry></row><row><entry>2</entry><entry>PN<sub>2</sub>(n) = n mod 4</entry><entry>PN<sub>2</sub>(n) = 0, 1, 2, 3, . . .</entry></row><row><entry>3</entry><entry>PN<sub>3</sub>(n) = [PN<sub>0</sub>(n) + PN<sub>0</sub>(n)]/2 mod 2 + [PN<sub>0</sub>(n) +</entry><entry>PN<sub>3</sub>(n) = 0, 1, 3, 2, . . .</entry></row><row><entry /><entry>PN<sub>1</sub>(n) + PN<sub>2</sub>(n)] mod 4</entry><entry /></row><row><entry>4</entry><entry>PN<sub>4</sub>(n) = [PN<sub>0</sub>(n) + PN<sub>1</sub>(n) + PN<sub>2</sub>(n)]/2</entry><entry>PN<sub>4</sub>(n) = 0, 2, 1, 3, . . .</entry></row><row><entry>5</entry><entry>PN<sub>5</sub>(n) = {PN<sub>2</sub>(n) + [PN<sub>0</sub>(n) + PN<sub>2</sub>(n)]/2} mod 4</entry><entry>PN<sub>5</sub>(n) = 0, 2, 3, 1, . . .</entry></row><row><entry>6</entry><entry>PN<sub>6</sub>(n) = PN<sub>1</sub>(n) + {[PN<sub>0</sub>(n) + PN<sub>2</sub>(n)]/2 mod 2}</entry><entry>PN<sub>6</sub>(n) = 0, 3, 1, 2, . . .</entry></row><row><entry>7</entry><entry>PN<sub>7</sub>(n) = [PN<sub>1</sub>(n) + PN<sub>2</sub>(n)] mod 4</entry><entry>PN<sub>7</sub>(n) = 0, 3, 2, 1, . . .</entry></row><row><entry>8-15</entry><entry>Reserved</entry><entry>Reserved</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
In a second example of using the system parameter to allocate a slot index to a back-off counter, network IDs of neighboring networks may be compared to one another, thereby setting the slot index. In more detail, a coexistence state of each network may be recognized through continuous detection of signals destined for a predetermined network ID of the network, and thus, the network ID may be obtained. Therefore, through comparison of obtained network IDs, a reducing slot index of a back-off counter may be set for each network in order of size.
For example, if the network IDs of the coexisting networks are <b>100</b>, <b>101</b>, . . . , <b>100</b>+N−1, reducing slot indices Nk+0, Nk+1, . . . , Nk+N−1 may be set for respective back-off counters of the networks. Thus, if the slot index of the back-off counter is set based on comparing the network IDs, additional negotiation between the networks may be omitted.
<figref idref="DRAWINGS">FIG. 4</figref> illustrates an example of a method of preventing collision between networks communicating based on the CSMA/CA. In this example, existence of the coexisting, neighboring networks is recognized first, and then, time between the networks is synchronized. The time synchronization is performed to synchronize contention slot indices of current time slots recognized by the respective networks so that the networks do not transmit data in the same slot. That is, through the time synchronization, one or more neighboring networks and an object network communicating based on the CSMA/CA operate based on the same time period, whereas back-off counter reduction periods of nodes included in each network are alternated. The object network includes a target node, while the neighboring networks include one or more respective neighboring nodes.
Referring to <figref idref="DRAWINGS">FIG. 4</figref>, in operation <b>401</b>, the target node performs time synchronization with the neighboring networks. For example, the target node may synchronize a time period between the neighboring networks and the object network with a first time period, for example, a N-slot period, based on a number of the networks. In another example, the target node may synchronize a time period in the object network with a second time period, for example, an 1-slot period, which is distinguished from the first time period. In this example, the target node may synchronize the object network with the neighboring networks by the aforementioned 2-step synchronization control method. The target node may recognize the number of the networks or the nodes.
In operation <b>403</b>, the target node sets or allocates a back-off counter reduction period for the neighboring networks and the object network, and a slot index for the object network, based on the number of the networks. Additionally, to prevent reduction of a resource use efficiency, the target node sets or allocates a contention window (CW) size smaller than a maximum CW value CW<sub>max </sub>used in a non-coexistence environment, for the object network. The target node may allocate the slot index for the object network based on a system parameter including a beacon shifting sequence index and/or a network ID, of the object network.
In operation <b>405</b>, the target node sets a back-off counter value for the object network to any one value selected based on the CW size. For example, the target node may set the back-off counter value to a value randomly selected from 1 to the CW size, that is, [1, CW].
Next, the target node reduces the back-off counter value for the object network based on a channel state of the target node and the slot index allocated to the objected network. In more detail, in operation <b>407</b>, the target node determines whether the channel state is an idle state. If the channel state is the idle state, in operation <b>409</b>, the target node determines whether the slot index allocated to the object network corresponds to a contention slot index of a current time slot for the neighboring networks and the object network. That is, the target node determines whether the contention slot index of the synchronized time slot corresponds to the slot index allocated to the object network including the target node. If the channel state is not the idle state, or if the slot index allocated to the object network fails to correspond to the contention slot index, the target node returns to operation <b>407</b>, and waits until the channel state enters the idle state.
If the slot index allocated to the object network corresponds to the contention slot index, in operation <b>411</b>, the target node reduces the back-off counter value by 1. If the back-off counter value becomes 0 by repeating the abovementioned process, the target node transmits data. In more detail, in operation <b>413</b>, the target node determines whether the back-off counter value is equal to 0. If the back-off counter value is equal to 0, in operation <b>415</b>, the object network transmits the data related to the neighboring networks. If the back-off counter value is not equal to 0, the target node returns to operation <b>407</b>, and waits until the channel state enters the idle state.
The target node resumes contention for the data transmission based on whether a response to the data transmission, that is, an acknowledgement (ACK) signal denoting successful data transmission is received from a receiving end of the data transmission. In more detail, in operation <b>417</b>, the target node determines whether the ACK signal is received in response to the data transmission. If the ACK signal is received, the method ends. Conversely, if the ACK is not received, in operation <b>419</b>, the target node determines whether the CW size for the object network is smaller than the maximum CW size CW<sub>max </sub>for the neighboring networks and the object network.
If the CW size for the object network is smaller than the maximum CW size CW<sub>max</sub>, the target node doubles the CW size for the object network, and returns to operation <b>405</b> to participate in the contention. If the CW size for the object network reaches the maximum CW size CW<sub>max</sub>, the target node returns to operation <b>405</b> to participate in the contention again without increasing the CW size for the object network any longer.
<figref idref="DRAWINGS">FIG. 5</figref> illustrates another example of a method of preventing collision between networks communicating based on the CSMA/CA. Similar to <figref idref="DRAWINGS">FIG. 4</figref>, in the example of <figref idref="DRAWINGS">FIG. 5</figref>, existence of the coexisting, neighboring networks is recognized first, and then, time between one or more neighboring networks and an object network is synchronized. The object network includes a target node, while the neighboring networks include one or more respective neighboring nodes.
In operation <b>501</b>, the target node performs time synchronization with the neighboring networks. For example, the target node may synchronize a time period between the neighboring networks and the object network with a first time period, for example, an N-slot period, based on a number of the networks. In another example, the target node may synchronize a time period in the object network with a second time period, for example, an 1-slot period, which is distinguished from the first time period. In this example, the target node may synchronize the object network with the neighboring networks by the aforementioned 2-step synchronization control method. The target node may recognize the number of the networks or the nodes.
In operation <b>503</b>, the target node sets or allocates a back-off counter reduction period for the neighboring networks and the object network, and a slot index for the object network, based on the number of the networks. Additionally, to prevent a reduction in an efficiency of resource use, the target node sets or allocates a CW size smaller than a maximum CW value CW<sub>max </sub>used in a non-coexistence environment. The target node may allocate the slot index for the object network based on a system parameter including a beacon shifting sequence index and/or a network ID, of the object network.
In operation <b>505</b>, the target node sets a back-off counter value for the object network to any one value selected based on the CW size. For example, the target node may set the back-off counter value to a value randomly selected from 1 to the CW size, that is, [1, CW].
Next, the target node reduces the back-off counter value for the object network based on a channel state of the target node. In more detail, in operation <b>507</b>, the target node determines whether the channel state is an idle state. If the channel state is the idle state, in operation <b>509</b>, the target node reduces the back-off counter value by 1. Conversely, if the channel state is not the idle state, the target node returns to operation <b>507</b>, and waits until the channel state enters the idle state.
Next, the target node transmits data related to the neighboring networks based on whether the back-off counter value is reduced to a first value, for example, 0, and whether the slot index allocated to the object network corresponds to a contention slot index of a current time slot for the neighboring networks and the object network. In more detail, in operation <b>511</b>, the target node determines whether the back-off counter value is equal to 0. If the back-off counter value is equal to 0, in operation <b>513</b>, the target node determines whether the slot index allocated to the object network corresponds to the contention slot index. That is, the target node determines whether the contention slot index of the synchronized time slot corresponds to the slot index allocated to the object network including the target node. Also, the target node determines whether the channel state is the idle state. If the back-off counter value is not equal to 0, the target node returns to operation <b>507</b>, and waits until the channel state enters the idle state.
If the slot index allocated to the object network corresponds to the contention slot index, and if the channel state is the idle state, in operation <b>515</b>, the target node transmits the data related to the neighboring networks. Otherwise, the target node returns to operation <b>513</b>, and waits until these conditions are met.
Next, the target node resumes contention for data transmission based on whether a response to the data transmission, that is, an acknowledgement (ACK) signal denoting the data transmission is successfully received at a receiving end. In more detail, in operation <b>517</b>, the target node determines whether the ACK signal is received in response to the data transmission. If the ACK is received, the method ends. Conversely, if the ACK is not received, in operation <b>519</b>, the target node determines whether the CW size for the object network is smaller than the maximum CW size CW<sub>max </sub>for the neighboring networks and the object network.
If the CW size for the object network is smaller than the maximum CW size CW<sub>max</sub>, the target node doubles the CW size for the object network, and returns to operation <b>505</b> to participate in the contention. If the CW size for the object network reaches the maximum CW size CW<sub>max</sub>, the target node returns to operation <b>505</b>, and participates in the contention again without increasing the CW size for the object network any longer.
<figref idref="DRAWINGS">FIG. 6</figref> illustrates an example of a target node <b>600</b> configured to prevent collision between networks communicating based on the CSMA/CA. The target node <b>600</b> includes a synchronization unit <b>610</b>, an allocation unit <b>620</b>, a set unit <b>630</b>, a reduction unit <b>640</b>, and a transmission unit <b>650</b>.
The synchronization unit <b>610</b> synchronizes one or more neighboring nodes with the target node <b>600</b>, which communicate based on CSMA/CA. For example, the synchronization unit <b>610</b> may synchronize a time period between the neighboring nodes and the target node <b>600</b> with a first time period based on a number of the networks or nodes. In another example, the synchronization unit <b>610</b> may synchronize a time period in the target node <b>600</b> with a second time period, which is distinguished from the first time period.
The allocation unit <b>620</b> sets or allocates a back-off counter reduction period for the neighboring nodes and the target node <b>600</b>, a slot index for the target node <b>600</b>, based on the number of the networks or nodes. The allocation unit <b>620</b> further allocates a CW size for the target node <b>600</b>. The allocation unit <b>620</b> may allocate the slot index for the target node <b>600</b> based on a system parameter including a beacon shifting sequence index and/or a network ID, of the target node <b>600</b>.
The set unit <b>630</b> sets or allocates a back-off counter value for the target node <b>600</b> to any one value selected based on the CW size. The reduction unit <b>640</b> may reduce the back-off counter value based on a channel state, and may reduce the back-off counter value further based on the slot index allocated to the target node <b>600</b>. For example, the reduction unit <b>640</b> may reduce the back-off counter value based on whether the channel state is an idle state, and whether the slot index corresponds to a contention slot index of a current time slot for the neighboring nodes and the target node <b>600</b>.
The transmission unit <b>650</b> transmits data related to the neighboring networks based on whether the back-off counter value is reduced to 0. Additionally, the transmission unit <b>650</b> may transmit the data based on whether the channel state is the idle state, and whether the slot index corresponds to the contention slot index.
According to the teachings above, there is provided a method and a target node, which may prevent collisions between neighboring homogeneous networks based on CSMA/CA by adjusting back-off counter reduction periods of nodes included in the networks. As a result, an efficiency of resource use may be increased.
The units described herein may be implemented using hardware components and software components. For example, the hardware components may include microphones, amplifiers, band-pass filters, audio to digital convertors, and processing devices. A processing device may be implemented using one or more general-purpose or special purpose computers, such as, for example, a processor, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such a parallel processors.
The software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct or configure the processing device to operate as desired. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. For example, the software and data may be stored by one or more computer readable recording mediums. The computer readable recording medium may include any data storage device that can store data which can be thereafter read by a computer system or processing device. Examples of the non-transitory computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices. Also, functional programs, codes, and code segments accomplishing the examples disclosed herein can be easily construed by programmers skilled in the art to which the examples pertain based on and using the flow diagrams and block diagrams of the figures and their corresponding descriptions as provided herein.
A number of examples have been described above. Nevertheless, it will 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.
Contents5
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9742867B1 | Cited by | United States of America | Search report |
| US2016198493A1 | Cited by | United States of America | Pre-grant |
| US9980290B2 | Cited by | United States of America | Search report |
| KR100261156B1 | Cites | Republic of Korea | Applicant |
| KR100644582B1 | Cites | Republic of Korea | Applicant |
| US2003103521A1 | Cites | United States of America | Search report |
| KR20040105310A | Cites | Republic of Korea | Applicant |
| US2004047319A1 | Cites | United States of America | Search report |
| US2005239411A1 | Cites | United States of America | Search report |
| US2006215556A1 | Cites | United States of America | Search report |
| US2006285527A1 | Cites | United States of America | Search report |
| US2006285528A1 | Cites | United States of America | Search report |
| US2007019604A1 | Cites | United States of America | Search report |
| US2007060158A1 | Cites | United States of America | Search report |
| US2007133448A1 | Cites | United States of America | Search report |
| KR20080080726A | Cites | Republic of Korea | Applicant |
| US2008130519A1 | Cites | United States of America | Search report |
| US2008219286A1 | Cites | United States of America | Search report |
| US2009088175A1 | Cites | United States of America | Search report |
| US2009103501A1 | Cites | United States of America | Search report |
| US2009196273A1 | Cites | United States of America | Search report |
| KR20100125035A | Cites | Republic of Korea | Applicant |
| US2011182178A1 | Cites | United States of America | Search report |
| US2012182867A1 | Cites | United States of America | Search report |
| US2012257585A1 | Cites | United States of America | Search report |
| US2013188653A1 | Cites | United States of America | Search report |
| US2013294232A1 | Cites | United States of America | Search report |
| US5717889A | Cites | United States of America | Applicant |
| US6078591A | Cites | United States of America | Applicant |
| US7502365B2 | Cites | United States of America | Search report |
| US7570656B2 | Cites | United States of America | Search report |
| US7626931B2 | Cites | United States of America | Search report |
| US7656831B2 | Cites | United States of America | Search report |
| US7664132B2 | Cites | United States of America | Applicant |
| US7801104B2 | Cites | United States of America | Applicant |
| US7881340B2 | Cites | United States of America | Search report |
| US8036241B2 | Cites | United States of America | Search report |
| US8675678B2 | Cites | United States of America | Search report |
| US8705505B2 | Cites | United States of America | Search report |
| US20030103521A1 | Cites | United States of America | Search report |
| US20040047319A1 | Cites | United States of America | Search report |
| US20050239411A1 | Cites | United States of America | Search report |
| US20060215556A1 | Cites | United States of America | Search report |
| US20060285527A1 | Cites | United States of America | Search report |
| US20060285528A1 | Cites | United States of America | Search report |
| US20070019604A1 | Cites | United States of America | Search report |
| US20070060158A1 | Cites | United States of America | Search report |
| US20070133448A1 | Cites | United States of America | Search report |
| US20080130519A1 | Cites | United States of America | Search report |
| US20080219286A1 | Cites | United States of America | Search report |
| US20090088175A1 | Cites | United States of America | Search report |
| US20090103501A1 | Cites | United States of America | Search report |
| US20090196273A1 | Cites | United States of America | Search report |
| US20110182178A1 | Cites | United States of America | Search report |
| US20120182867A1 | Cites | United States of America | Search report |
| US20120257585A1 | Cites | United States of America | Search report |
| US20130188653A1 | Cites | United States of America | Search report |
| US20130294232A1 | Cites | United States of America | Search report |
| KR100261156B1 | Cites | Republic of Korea | Applicant |
| KR1020040105310A | Cites | Republic of Korea | Applicant |
| KR100644582B1 | Cites | Republic of Korea | Applicant |
| KR1020080080726A | Cites | Republic of Korea | Applicant |
| KR1020100125035A | Cites | Republic of Korea | Applicant |
4 members in 2 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 1020120007293 | Republic of Korea | – | |
| 20120007293 | Republic of Korea | A | |
| 20120007293 | Republic of Korea | A | |
| 1020120007293 | – | – | – |
| KR20120007293 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2013188653A1 | United States of America | A1 | |
| KR20130086462A | Republic of Korea | A | |
| US9325635B2This record | United States of America | B2 | |
| KR101881495B1 | Republic of Korea | B1 |
47 transactions on the USPTO file
Allowed after 2 non-final rejections.
- Non-final rejections
- 2
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Priority document has successfully retrieved via PDX/DASPD.RECVD | PD.RECVD | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Request from applicant for the USPTO to retrieve the Priority DocumentPDREQUST | PDREQUST | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 09325635
- Publication, DOCDB
- 9325635
- Publication, EPODOC
- US9325635
- Application
- 13675470
- Application, DOCDB
- 201213675470
- Application, EPODOC
- US201213675470
Titles
- English
- Method and node for preventing collision between networks communicating based on CSMA/CA
Patent term adjustment
- A delay
- +296 daysthe office missed an examination deadline
- B delay
- +165 dayspendency past three years
- Net adjustment
- 461 days
Classification
- CPC, 6
- H04L47/826
- H04L12/4035
- E03D9/08
- H04J3/0658
- H04L12/413
- E03D9/005
- IPC, 5
- H04B7 212
- H04J3 06
- H04L12 403
- H04L12 413
- H04L12 911
- USPC, 1
- 001001000