Nearly collision-free channel access system and method
First Claim
1. A method for controlling access of each of a plurality of nodes to a communication channel based on time slots such that the plurality of nodes contend for access during a contention window period comprised of K plurality of time slots, comprising:
- each node determining which one of the K plurality of time slots the node is assigned using a computation that is based on a number identifier N assigned to the node among the plurality of nodes, the number K of time slots, and a transmission count value R representing a number of attempts the node has made to transmit the data, wherein each node determines which of the K plurality of time slots it is assigned to by computing a value of a hash function
11 Assignments
0 Petitions
Accused Products
Abstract
Techniques for controlling access to a communication channel for each of a plurality of nodes in a wireless ad hoc communication network. According to one embodiment, each node uses a predetermined rule, such as a hash function, to compute which of a plurality of time slots during a contention window it is to attempt transmissions. Each node in the network follows the same rule to access the channel and as a result no additional overhead transmissions are required between the nodes. In addition, contention among different nodes is reduced when a node needs to repeat an attempt to make a transmission. When a node has data to transmit on the channel, it determines a time slot in the contention window period during which to attempt the transmission using a computation that is based on a number identifier assigned to the node, the number of time slots in the contention window period and a transmission count value that represents the number of attempts the node has made to make the transmission. According to another embodiment, nodes are assigned to slot groups based on the time slot computation and the groups are assigned to particular slots during successive blocks in a round robin fashion so as to ensure fair access to the communication channel.
-
Citations
20 Claims
-
1. A method for controlling access of each of a plurality of nodes to a communication channel based on time slots such that the plurality of nodes contend for access during a contention window period comprised of K plurality of time slots, comprising:
- each node determining which one of the K plurality of time slots the node is assigned using a computation that is based on a number identifier N assigned to the node among the plurality of nodes, the number K of time slots, and a transmission count value R representing a number of attempts the node has made to transmit the data, wherein each node determines which of the K plurality of time slots it is assigned to by computing a value of a hash function
- View Dependent Claims (2, 3, 4)
-
5. A method for controlling access of each of a plurality of nodes to a communication channel based on time slots such that the plurality of nodes contend for access during a contention window period comprised of K plurality of time slots, comprising:
-
each node determining which one of the K plurality of time slots the node is assigned to using a computation that is based on a number identifier N assigned to the node among the plurality of nodes, the number K of time slots, and a transmission count value R representing a number of attempts the node has made to transmit the data; determining during which of the K time slots the node has access to the channel during each contention time period in a sequence of contention time periods during a block of time slots, each block comprising M*K time slots, where M is an integer, according to a group assignment sequence that changes from one block of time slots to the next block of time slots, wherein a plurality of slot groups are defined such that each slot group comprises those nodes which are assigned to the same time slot according to said computation, wherein the group assignment sequence rotates one slot group from one block of time slots to the next block of time slots and repeats after K blocks of time slots such that within every block of (M*K) slots, all nodes follow the same rule to determine the slot for access the channel, but group assignments rotate from one block of (M*K) slots to the next block of (M*K) slots. - View Dependent Claims (6)
-
-
7. A method for controlling access of each of a plurality of nodes to a communication channel over a period of time that is divided into a sequence of successive blocks of time slots, each block comprising a sequence of contention time periods comprising K time slots, where K is an integer, the method comprising:
each node determining which one of K slot groups the node is assigned to using a computation based directly on (a) a number identifier N assigned to the node among the plurality of nodes, (b) the number K, and (c) a transmission count value R that represents how many attempts the node has made to transmit the data, wherein each node determining which of the K plurality of time slots comprises computing a value of a hash function - View Dependent Claims (8, 9, 10)
-
11. A method for controlling access of each of a plurality of nodes to a communication channel over a period of time that is divided into a sequence of successive blocks of time slots, each block comprising a sequence of contention time periods comprising K time slots, where K is an integer, the method comprising:
-
each node determining which one of K slot groups the node is assigned to using a computation based directly on (a) a number identifier N assigned to the node among the plurality of nodes, (b) the number K, and (c) a transmission count value R that represents how many attempts the node has made to transmit the data, such that nodes in each slot group access the channel at a corresponding one of the K time slots; and determining during which of the K time slots the node is to access the channel during each contention time period in the sequence of contention time periods during a block of time slots, each block comprising M*K time slots, where M is an integer, according to a group assignment sequence that changes from one block of time slots to the next block of time slots, wherein a plurality of slot groups are defined such that each slot group comprises those nodes which are assigned to the same time slot, wherein the group assignment sequence rotates one slot group from one block of time slots to the next block of time slots and repeats after K blocks of time slots such that within every block of (M*K) slots, all nodes follow the same rule to determine the slot for access the channel, but group assignments rotate from one block of (M*K) slots to the next block of (M*K) slots. - View Dependent Claims (12)
-
-
13. A wireless communication device for operation in a wireless ad hoc data network, comprising:
-
a radio transceiver; a modem; and a controller connected to the modem and radio transceiver, wherein the controller is configured to control access of the wireless communication device to a communication channel during a contention window period comprised of K plurality of time slots by determining which of the K plurality of time slots the wireless communication device is assigned based on a number identifier N assigned to the wireless communication device among a plurality of other wireless communication devices operating in the network, the number K of time slots, and a transmission count value R representing a number of attempts the wireless communication device has made to transmit the data, by computing a value of a hash function - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A wireless communication device for operation in a wireless ad hoc data network, comprising:
-
a radio transceiver; a modem; and a controller connected to the modem and radio transceiver, wherein the controller is configured to control access of the wireless communication device to a communication channel over a period of time that is divided into a sequence of successive blocks of time slots, each block comprising a sequence of contention time periods comprising of K time slots, where K is an integer, the controller being configured to determine which one of K slot groups a wireless communication device is assigned to based on a number identifier N assigned to the wireless communication device among the plurality of wireless communication devices operating in the wireless ad hoc data network, the number K, and a transmission count value R that indicates how many attempts the wireless communication device has made to transmit the data, such that wireless communication devices in each slot group access the channel at a corresponding one of the K time slots, and configured to determine during which of the K time slots the wireless communication device is to access the channel during each contention time period in the sequence of contention time periods during a block of time slots, each block comprising M*K time slots, where M is an integer, according to group assignment sequence that changes from one block of time slots to the next block of time slots, wherein the controller is configured to determined which of the K time slots the wireless communication device may access the channel based on the group assignment sequence that rotates one slot group from one block of time slots to the next block of time slots and repeats after K blocks of time slots, where K is an integer, such that within every block of (M*K) slots, the wireless communication device follows the same rule as all other wireless communication devices seeking access to the channel in the network to determine the slot for access the channel, but group assignments rotate from one block of (M*K) slots to the next block of (M*K) slots. - View Dependent Claims (20)
-
Specification