Patent ID: 7076220
Filing Date: 2006-07-11
Classification: H04B,H04L,H04W,Y02B,Y02D

Abstract:
1. A program product comprising a computer readable medium having embodied therein a computer program for storing data, the computer program comprising: Scanning logic for scanning a plurality of radio frequency channels during a scan interval; Logic for receiving messages on each of the plurality of radio frequency channels during the scan interval; Logic for maintaining a scan table having an entry for each device from which a message is received during the scan interval; Logic for maintaining a channel map having an entry for each of the plurality of radio frequency channels on which a message was received, each entry containing a device ID of a device that sent a message on the corresponding channel; Logic for sorting the channel map into a triplet channel map, wherein each successive group of three entries is associated with three successive channels, wherein the average power is stored in the entry for each channel; Logic for selecting a channel from the triplet channel map, by selecting the channel from the triplet with the lowest center average power; Logic for transmitting Preclaim messages on the selected channel during a preclaim interval; Logic for receiving messages on the selected channel and updating the scan table based on each message received during the preclaim interval; Logic for calculating an adjacency vector sum, the vector sum representing the sum of all average power levels on all channels; Logic for transmitting claim messages on the selected channel during a claim interval, the claim messages including the adjacency vector sum; Logic for receiving messages on the selected channel dining the claim interval; Logic for maintaining a claim table having an entry for each device ID that sent a message on the selected channel during the claim interval; Logic for evaluating the claim table at the end of the claim interval, wherein: If the claim table has no entries, the logic causes the apparatus to commence communications with other devices via the selected channel; If the claim table has entries, then the logic checks to see if the selected channel was occupied at the beginning of the claim interval, and if the selected channel was not occupied at the beginning of the claim interval, the logic causes the apparatus to return to scanning channels during a scan interval; If the selected channel was occupied at the beginning of the claim interval, the logic checks to see if all the claim table entries contain power levels that are less than a power level that was recorded on the selected channel before the claim interval, and if all the claim table entries contain power levels that are less than the power level that was recorded on the selected channel before the claim interval, then the logic causes the apparatus to commence. communications with other devices via the selected channel; If any claim table entry contains a power level that is greater than the power level that was recorded on the selected channel before the claim interval, then the logic compares the adjacency vector sum to an adjacency vector that was received in one of the messages, and if the adjacency vector sum is greater than the adjacency vector received, the logic causes the apparatus to commence communications with other devices via the selected channel, otherwise the logic causes the apparatus to return to scanning channels during a scan interval.