Patent ID: 8824494

Claim:
A method of scheduling a data transmission in a current time frame in a wireless network including a first node and a plurality of second nodes, the method including: identifying conflicts at the first node by sending an announcement message from the first node to neighboring nodes from among the plurality of second nodes indicating that the first node intends to participate in a first communication with a first terminal during the current frame, and receiving, in response to the sent announcement message, a report message from any conflicting nodes at the first node, each conflicting node being a node from among the neighboring nodes which intends to participate in a communication during the current time frame; resolving the conflicts identified at the first node by selecting one of (1) maintaining a state of the first node as a clear state and (2) changing the state of the first node to a blocked state based on the received report messages; and scheduling the first communication for the current time frame, if the state of the first node is the clear state after the resolving conflicts step, wherein the resolving conflicts step further includes a clear determination operation including sending a first outgoing status message from the first node to the neighboring nodes indicating the status of the first node, receiving a first incoming status message from any conflicting nodes, each incoming status message indicating a status of one of the conflicting nodes, if the state of the first node is the clear state, maintaining the state of the first node, and if the state of the first node is the blocked state, selecting one of (1) maintaining the state of the first node as the blocked state and (2) changing the state of the first node to the clear state based on the received first incoming messages, and a block determination operation including sending a second outgoing status message from the first node to the neighboring nodes indicating the status of the first node, receiving a second incoming status message from any conflicting nodes, each second incoming status message indicating a status of one of the conflicting nodes, if the state of the first node is the blocked state, maintaining the state of the first node, and if the state of the first node is the clear state, selecting one of (1) maintaining the state of the first node as the clear state and (2) changing the state of the first node to the blocked state based on the received second incoming status messages.