Set of optimizations applicable to a wireless networks operating in TV white space bands

An access point coupled to a node within a network is configured to combine channel maps provided by other access points to which the node is coupled, thereby reconciling any discrepancies between those channel maps. The access point may also combine channel maps associated with different regions that the node may occupy, thereby reducing the number of channel maps that must be transmitted to the node when the node travel between regions.

BACKGROUND OF THE INVENTION

Field of the Invention

Embodiments of the present invention relate generally to wireless digital communication and, more specifically, to a set of optimizations applicable to wireless networks operating in white space bands.

Description of the Related Art

A conventional wireless network system generally includes a collection of different nodes configured to interoperate with one another. Nodes that reside within a particular physical region may communicate with one another according to a set of channels that are available within that region. For example, if the nodes are configured to communicate on TV white space (TVWS) channels, then the nodes may exchange data with one another across any of the TVWS channels that are available within that region. A node residing within a given region may determine the available channels in that region by querying an access point for a “channel map” that specifies which channels are regionally available.

The approach described thus far is feasible in the simple network configuration described above. However, modern networks have several features that make this approach problematic. In particular, in a modern network, a node may be coupled to multiple different access points, and each access point may provide the node with a different channel map. When a conventional node is presented with conflicting information in this fashion, the node may cease to operate properly and may not be able to fully participate in the network, which could result in low data rates. In addition, modern nodes are capable of travelling between different regions that have different channel availability, and so the channel maps acquired by the node may frequently become obsolete. A given channel map may also become obsolete with time. Consequently, the node may frequently lose network connectivity.

As the foregoing illustrates, what is needed in the art is an improved technique for providing channel maps to devices that operate in a network.

SUMMARY OF THE INVENTION

One embodiment of the present invention sets forth a computer-implemented method for generating a channel map for a node within a network, including acquiring a first channel map that includes a first set of channels on which the node is configured to communicate, acquiring a second channel map that includes a second set of channels on which the node is configured to communicate, combining the first channel map with the second channel map to generate a third channel map, and causing the node to communicate on a channel included in the third channel map.

Advantageously, the node is provided with a single channel map that is consistent across all access points to which the node is coupled and relevant within multiple regions that the node may occupy. Thus, the disclosed techniques may reduce the number of channel maps that must be transmitted to the node, thereby decreasing overall network traffic.

DETAILED DESCRIPTION

System Overview

FIG. 1illustrates a network system100, according to one embodiment of the present invention. The network system100includes, without limitation, a wireless mesh network102, which may include a source node110, intermediate nodes130and destination node112. The source node110is able to communicate with certain intermediate nodes130via communication links132. The intermediate nodes130communicate among themselves via communication links134. The intermediate nodes130communicate with the destination node112via communication links136. The network system100may also include one or more access points150, a network152, a server154, a router156, a public database158, and a private database160.

A discovery protocol may be implemented to determine node adjacency to one or more adjacent nodes. For example, intermediate node130-2may execute the discovery protocol to determine that nodes110,130-1,130-3, and130-5are adjacent to node130-2. Furthermore, this node adjacency indicates that communication links132-2,134-2,134-4and134-3may be established between the nodes110,130-1,130-3, and130-5, respectively. One skilled in the art will understand that any technically feasible discovery protocol may be implemented without departing from the scope and spirit of embodiments of the present invention.

The discovery protocol may also be implemented to determine the channel hopping sequences of adjacent nodes, i.e. the sequence of channels across which nodes periodically receive payload data. As is known in the art, a “channel” may correspond to a particular range of frequencies. Once adjacency is established between the source node110and at least one intermediate node130, the source node110may generate payload data for delivery to the destination node112, assuming a path is available. The payload data may comprise an Internet protocol (IP) packet, an Ethernet frame, or any other technically feasible unit of data. Similarly, any technically feasible addressing and forwarding techniques may be implemented to facilitate delivery of the payload data from the source node110to the destination node112. For example, the payload data may include a header field configured to include a destination address, such as an IP address or IEEE Extended Unique Identifier (EUI) media access control (MAC) address.

Each intermediate node130may be configured to forward the payload data based on the destination address. Alternatively, the payload data may include a header field configured to include at least one switch label to define a predetermined path from the source node110to the destination node112. A forwarding database may be maintained by each intermediate node130that indicates which communication link132,134,136should be used and in what priority to transmit the payload data for delivery to the destination node112. The forwarding database may represent multiple paths to the destination address, and each of the multiple paths may include one or more cost values. Any technically feasible type of cost value may characterize a link or a path within the network system100. In one embodiment, each node within the wireless mesh network102implements substantially identical functionality and each node may act as a source node, destination node or intermediate node.

The nodes130are configured to communicate with one another on many different channels, although the set of channels available to the nodes130may be limited for various reasons. For example, the nodes130may reside proximate to a TV tower that transmits on a particular TV channel, and so the nodes130may be restricted from communicating on that particular channel. A given node130may acquire a list of available channels associated with a region occupied by that node130from a public database158. The public database158includes channel availability data for a wide variety of different regions where the node130may reside. The node130may query the public database158directly for the list of available channels, although in practice, the node130relies on the server154to perform such queries on behalf of the node130. The node130may communicate with the server154via one or more of the access points150. In one embodiment, the public database158is a TVWS database that includes a list of available TV channels within various regions.

The node130may also acquire a quality of service (QOS) value for each channel that is available in a region where the node130may reside. The private database160includes channel QOS values for various channels associated with different regions. The node130may query the private database160directly for QOS values associated with a list of channels, although in practice, the node130relies on the server154to perform such queries on behalf of the node130. Again, the node130may communicate with the server154via one or more of the access points150. The server154may interact with the private database160in order to determine the QOS values for each available channel and then select, from the list of available channels, those channels that have a QOS value that is sufficient for the operating requirements of the node130.

As a practical example of the approach described above, the node130could request a channel from the server154by transmitting latitude and longitude values associated with the position of the node130to the server154via access point150-1. The server154could then query the public database158with those latitude and longitude values, and, in response, receive a list of available channels associated with that position from the public database158. The server154could also query the private database160in order to determine a QOS value for each channel in the list of available channels. The server154could then select one or more of the available channels, from the list of available channels, with QOS value that exceed a threshold value. The server154could then provide the selected channels to the node130by way of access point150-1.

In various embodiments of the invention, each access point150may interact with the server154in order to acquire “channel maps” that represent one or more lists of channels associated with one or more regions. A channel map may include a list of available channels associated with just one region, or many lists of channels, where each list corresponds to a different region. A channel map may also include QOS values for available channels, or, alternatively, lists of channels that meet certain criteria, such as, e.g. a minimum QOS value. A channel map may be derived from information stored in public database158and/or private database160. For example, the server154may generate a channel map for a collection of different regions by querying the public database158for the available channels within each of those different regions. An access point150may configure a given node130to communicate on a particular channel based on the channel map.

A node130may be coupled to more than one access point150, and, thus, the node130may receive more than one channel map from those access points150. Those channel maps may be different from one another and may present conflicting information to the node130. A technique for combining different channel maps in order to resolve discrepancies between those channel maps is described below in conjunction withFIGS. 4A-4C and 7.

A node130may also travel between regions that are associated with different channel maps. A technique for configuring a traveling node130with a channel map that is relevant within the regions traversed by the node130is described in greater detail below in conjunction withFIGS. 5A-5B and 8. The two techniques mentioned above may also be combined, as described in greater detail below in conjunction withFIGS. 6A-6C and 9.

In network system100, an access point150, such as access point150-1or access point150-2, is configured to communicate with at least one node within the wireless mesh network102, such as intermediate node130-1or130-4. Communication may include transmission of payload data, timing data, or any other technically relevant data between the access point150and the at least one node within the wireless mesh network102. For example, a communications link140-1may be established between the access point150-1and intermediate node130-1to facilitate transmission of payload data between wireless mesh network102and network152. The network152is coupled to the server154via communications link142. The access point150is coupled to the network152, which may comprise any wired, optical, wireless, or hybrid network configured to transmit payload data between the access point150and the server154. Router156may be configured to coordinate communications between the access point150and the server154across communication link142.

In one embodiment, the server154represents a destination for payload data originating within the wireless mesh network102and a source of payload data destined for one or more nodes within the wireless mesh network102. In another embodiment, the server154executes an application for interacting with nodes within the wireless mesh network102. For example, nodes within the wireless mesh network102may perform measurements to generate measurement data, such as power consumption data. The server154may execute an application to collect the measurement data and report the measurement data. In yet another embodiment, the server154queries nodes within the wireless mesh network102for certain data. Each queried node replies with requested data, such as consumption data, system status and health data, and so forth. In an alternative embodiment, each node within the wireless mesh network102autonomously reports certain data, which is collected by the server154as the data becomes available via autonomous reporting. Exemplary details of server154are described in greater detail below in conjunction withFIG. 3.

The techniques described herein are sufficiently flexible to be utilized within any technically feasible network environment including, without limitation, a wide-area network (WAN), a local-area network (LAN), a personal area network (PAN), a TVWS network, a star network, and so forth. Moreover, multiple network types may exist within a given network system100. For example, communications between two nodes130or between a node130and the corresponding access point150may occur via a radio-frequency local-area network (RF LAN), while communications between access points150across the network152may occur via a WAN such as a general packet radio service (GPRS). As mentioned above, each node within wireless mesh network102includes a network interface that enables the node to communicate wirelessly with other nodes. An exemplary network interface is described below in conjunction withFIG. 2.

FIG. 2illustrates a network interface200configured to implement multi-channel operation, according to one embodiment of the present invention. Each node110,112,130within the wireless mesh network102ofFIG. 1includes at least one instance of the network interface200. The network interface200may include, without limitation, a microprocessor unit (MPU)210, a digital signal processor (DSP)214, digital to analog converters (DACs)220and221, analog to digital converters (ADCs)222and223, analog mixers224,225,226, and227, a phase shifter232, an oscillator230, a power amplifier (PA)242, a low noise amplifier (LNA)240, an antenna switch244, and an antenna246. A memory212may be coupled to the MPU210for local program and data storage. Similarly, a memory216may be coupled to the DSP214for local program and data storage. Memory212and/or memory216may be used to store data structures such as, e.g., a forwarding database, and/or routing tables that include primary and secondary path information, path cost values, and so forth.

In one embodiment, the MPU210implements procedures for processing IP packets transmitted or received as payload data by the network interface200. The procedures for processing the IP packets may include, without limitation, wireless routing, encryption, authentication, protocol translation, and routing between and among different wireless and wired network ports. In one embodiment, MPU210implements the techniques performed by the node, as described in conjunction withFIGS. 1 and 4-9, when MPU210executes a firmware program stored in memory within network interface200.

The DSP214is coupled to DAC220and DAC221. Each DAC220and221is configured to convert a stream of outbound digital values into a corresponding analog signal. The outbound digital values are computed by the signal processing procedures for modulating one or more channels. The DSP214is also coupled to ADC222and ADC223. Each ADC222and223is configured to sample and quantize an analog signal to generate a stream of inbound digital values. The inbound digital values are processed by the signal processing procedures to demodulate and extract payload data from the inbound digital values. Persons having ordinary skill in the art will recognize that network interface200represents just one possible network interface that may be implemented within wireless mesh network102shown inFIG. 1, and that any other technically feasible device for transmitting and receiving data may be incorporated within any of the nodes within wireless mesh network102.

FIG. 3is a block diagram illustrating the server ofFIG. 1, according to one embodiment of the present invention. In this particular embodiment, server154comprises a computing device capable of processing data by executing program instructions stored in memory. Server154may also comprise any type of machine capable of processing data. As shown, server154includes, without limitation, a processing unit302, input/output (I/O) devices304, and memory306. As also shown, processing unit302, I/O devices304, and memory306are coupled to one another.

Processing unit302may include one or more central processing unit (CPUs), parallel processing units (PPUs), graphics processing units (GPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or any other type of processing unit capable of processing data. In addition, processing unit302may include various combinations of processing units, such as, e.g., a CPU coupled to a GPU.

I/O devices304may include input devices, such as a keyboard, a mouse, a touchpad, a microphone, a video camera, and so forth, as well as output devices, such as a screen, a speaker, a printer, a projector, and so forth. In addition, I/O devices304may include devices capable of performing both input and output operations, such as a touch screen, an Ethernet port, a universal serial bus (USB) port, a serial port, etc. I/O devices304, as well as processing unit302described above, are both configured to read data from and write data to memory306.

Memory306may include a hard disk, one or more random access memory (RAM) modules, a database, and so forth. In general, any technically feasible unit capable of storing data may implement memory306. Memory306includes an application308that may be executed by processing unit302to perform the various functions of server154described herein. Persons skilled in the art will recognize that the block diagram shown inFIG. 3illustrates just one possible implementation of server154, and that any system or combination of systems configured to perform the functionality of server154described herein falls within the scope of the present invention.

Optimizations for Wireless Networks Operating in TV White Space Bands

Each ofFIGS. 4A-4Cillustrates a portion of the network system ofFIG. 1configured to combine channel maps associated with different access points, according to various embodiments of the present invention.FIGS. 4A-4Cinclude some of the same components as those shown inFIG. 1, although certain components have been omitted, for the sake of simplicity, while other components have been added.

FIG. 4Aillustrates a portion400of the network system100ofFIG. 1configured to combine channel maps402and404associated with access points150-1and150-2, respectively, according to one embodiment of the present invention. As shown, access point150-1includes channel map402and access point150-2includes channel map404. Access point150-2is configured to transmit channel map404to access point150-1, as also shown.

As discussed above in conjunction withFIG. 1, a channel map generally represents one or more lists of channels associated with one or more physical regions. A channel map may be derived from information stored in public database158and/or private database160, and may thus represent one or more lists of available channels, QOS values for those channels, or simply one or more lists of channels with a threshold QOS value. In addition, a channel map may reflect certain constraints associated with the channels associated with a particular region. For example, a channel map could indicate that certain channels are only available during certain periods of time, and may not be available during other intervals of time. Further, the channel map could indicate that particular channels have limited usability, due to, for example, an excessive number of users communicating on those particular channels. As a general matter, the channel maps disclosed herein may reflect a wide variety of characteristics and/or metrics associated with a set of channels.

InFIG. 4A, channel maps402and404include different lists of channels associated with a region occupied by the node130. More specifically, channel maps402and404may represent different lists of available channels, different QOS values for the same set of available channels, or different lists of channels with a high QOS value, among other possibilities. Channel maps402and404may differ from one another for a wide variety of reasons. For example, access point150-1may have acquired channel map402more recently than when access point150-1acquired channel map404. Thus, channel map402may represent a more current list of channels associated with the region occupied by the node130. Alternatively, channel map402may include QOS values that were computed more recently than QOS values included within channel map404.

Access point150-1is configured to acquire channel map404from access point150-2and to then combine channel maps402and404to generate channel map406, thereby resolving any differences between channel maps402and404. In the context of this disclosure, two channel maps may be “combined” by performing any operation or sequence of operations with those two channel maps in order to generate a third channel map. Upon combining channel maps402and404to generate channel map406, access point150-1may then transmit channel map406to node130. Node130may then communicate with other nodes130according to the list of channels included within channel map406. Access point150-1may also transmit channel map406to other nodes coupled to node130, so that those nodes may communicate according to a single, consistent channel map.

Access point150-1may combine channel maps402and404by implementing a wide variety of different techniques. For example, when channel maps402and404represent different lists of available channels, access point150-1could perform an AND operation with channel maps402and404in order to identify available channels that appear within both of channel maps402and404. Alternatively, access point150-1could perform an OR operation with channel maps402and404in order to identify available channels that appear in either of channel maps402and404. Access point150-1could then incorporate the channels resulting from either of these two operations into channel map406.

In embodiments where channel maps402and404include QOS values for the various channels included in those channel maps, access point150-1may implement more diverse combination techniques. For example, access point150-1could AND channel map402and404, similar to above, and then average the QOS values for channels appearing in both of channel maps402and404. Access point150-1could then select only the channels that appear in both of channel maps402and404that have an average QOS value that exceeds a threshold value. The resulting channels could then be incorporated into channel map406. In this example, instead of averaging corresponding QOS values for corresponding channels, access point150-1could also select the minimum QOS value for each corresponding channel. Access point150-1could then compare the minimum QOS values to the threshold to identify channels that should be incorporated into channel map406.

Access point150-1may also implement a wide variety of filtering techniques in order to combine channel maps402and404. For example, access point150-1could implement a Kalman filter in order to smooth channel maps402and404into a single channel map406. Persons skilled in the art will recognize that access point150-1may implement any technically feasible approach for generating a single set of data based on two different sets of data in order to generate channel map406based on channels maps402and404. Upon combining channel maps402and404using any of the aforementioned techniques, access point150-1transmits channel map406to node130. Node130may then transmit channel map406to adjacent nodes130. Access point150-1or node130may also transmit channel map406to other access points150, thereby precluding the need for further combination of channel maps for a period of time.

Each of access points150-1and150-2may also implement the techniques described thus far upon exchanging channel maps402and404with one another, as described in greater detail below in conjunction withFIG. 4B.

FIG. 4Billustrates a portion410of the network system100ofFIG. 1configured to combine channel maps402and404associated with access points150-1and150-2, respectively, according to one embodiment of the present invention. As shown, access point150-1includes channel map402and access point150-2includes channel map404. Access points150-1and150-2are configured to exchange channel maps402and404with one another, as also shown.

Upon receiving channel map404from access point150-2, access point150-1may combine channel map402with channel map404to generate channel map406. Access point150-1may implement any of the techniques described in conjunction withFIG. 4Afor combining channel maps. In like fashion, upon receiving channel map402from access point150-1, access point150-2may combine channel map404with channel map402to generate channel map406. Access point150-2generally implements the same combination technique as access point150-2, and so channel map406generate by access point150-2is substantially similar to channel map406generated by access point150-1.

Access points150-1and150-2are configured to transmit channel maps406to node130. Although node130receives multiple channel maps from multiple access points150, those channel maps are essentially the same, and so node130is not presented with conflicting information. Node130may then communicate with other nodes130according to the channels included within channel map406and may also transmit channel map406to those other nodes130or access points150. Access points150-1and150-2may also transmit channel map406to other access points150and to other nodes130, thereby providing those access points and nodes with a channel map that is consistent across those different devices.

Node130may also implement the techniques described thus far upon receiving channel maps402and404from access points150-1and150-2, respectively, as described in greater detail below in conjunction withFIG. 4C.

FIG. 4Cillustrates a portion420of the network system100ofFIG. 1configured to combine channel maps402and404associated with access points150-1and150-2, respectively, according to one embodiment of the present invention. As shown, access point150-1includes channel map402and access point150-2includes channel map404. Access points150-1and150-2are configured to transmit channel maps402and404, respectively, to node130. Node130is configured to combine channel maps402and404by implementing any of the aforementioned techniques for combining channel maps. Node130may then transmit channel map406to adjacent nodes and/or access points150to which node130is coupled.

In one embodiment, access points150-1and150-2may transmit to node130just the channels within channel maps402and404, respectively, with a QOS value that exceeds a threshold value. With this approach, access points150may transmit a reduced amount of information to node130. Node130may then combine these different portions of channels maps402and404to generate channel map406.

Referring generally toFIGS. 1 and 4A-4C, any technically feasible device included in the network system100may implement the combination techniques described thus far. For example, server154may be configured to combine an older version of a particular channel map with a newer version of that channel map and then provide the combined channel map to access points150. As a general matter, the combination of channel maps represents an operation that may be carried out by any device within the network system ofFIG. 1according to the computational resources associated with those devices.

For example, in network systems such as portion400shown inFIG. 1, nodes130and access point150-2could lack sufficient computational resources to combine channel maps402and404compared to the computational resources available to access point150-1. Therefore, access point150-1would assume responsibility for combining channel maps402and404. Alternatively, in network systems such as portion420, nodes130may be equipped with sufficient computational resources to combine channel maps, and so each node130may assume responsibility for combining any and all received channel maps.

In addition, different devices included in the network system100may implement different portions of the techniques described thus far. For example, an access point150-1could perform an AND operation with two channel maps to generate a third channel map, as described in conjunction withFIG. 4A. Then, a node130could select channels from within the third channel map based on QOS values associated with those channels. Persons skilled in the art will recognize that the techniques described in conjunction withFIGS. 4A-4Cmay be combined and/or distributed in any technically feasible fashion.

In some situations, a node130may be included within a mobile device, such as a cellular phone or tablet computer. Accordingly, the node130may travel through many different regions with widely varying channel availability and channel QOS values. In order to provide the node130with a channel map that is relevant within those different regions, access points150and/or nodes130may implement the techniques described below in conjunction withFIG. 5.

Each ofFIGS. 5A-5Billustrates a portion of the network system ofFIG. 1that is configured to generate a channel map based on the predicted position of a node, according to various embodiments of the present invention.FIGS. 5A-5Binclude some of the same components as those shown inFIGS. 1 and 4A-4C, although certain components have been omitted, for the sake of simplicity, while other components have been added.

FIG. 5Aillustrates a portion500of the network system ofFIG. 1that is configured to generate a channel map530based on the predicted position of node130, according to one embodiment of the present invention. As shown, node130resides at a position502within a region504. Region504may represent any arbitrary space, such as a geographical region, a region within which certain laws apply, a region associated with a protected user, and so forth. In one embodiment, region504is defined by a boundary within which a TV tower506is authorized to operate on a first TV channel with a given power level. InFIG. 5, node130resides within region504at a time t0. However, the location of node130is not fixed, and node130may traverse from region504along path508to another region514. Within region514, node130may reside at a position512at a future time t1.

Access point150is configured to analyze the movements of node130and to predict the future position of node130at various future times. In particular, access point150is configured to predict that, at time t1, node130will reside at position512within region514. Access point150may implement any technically feasible approach for predicting the movements of node130. For example, access point150could record the position of node130at various times and estimate the velocity of node130in a certain direction, and then extrapolate the position of node130based on the estimated velocity of node130. Persons skilled in the art will recognize that may other techniques for predicting the position of a moving object are known in the art, and that access point150may implement any of those existing techniques.

Access point150is also configured provide a channel map530to node130that is associated with both regions504and514and indicates channels that are available within both of those regions. Channel map530may also indicate QOS values for the various channels in channel map530. Node130may then rely on channel map530while residing within either region504or region514. Consequently, node130may not need to acquire a new channel map upon leaving region504and entering region514. Additionally, if node130selects a channel on which to communicate from channel map530, then node130may not need to change channels when traversing between regions504and514, because any selected channel should be available within both of those regions.

Access point150is configured to generate channel map530by first acquiring channel map522that is associated with region504and valid at time t0. Upon predicting that node130will reside within region514at time t1, access point150may then acquire a channel map524that is associated with region514and valid at time t1. Access point150may then combine channel map522with channel map524to generate channel map530. Access point150could, for example, perform an AND operation with channel maps522and524to identify channels that are included within both such channel maps. Access point150could also identify channels to include within channel map530based on the QOS values of channels that appear in both of channel maps522and524. Generally, access point150may combine channels maps522and524by implementing any of the combination techniques described above in conjunction withFIGS. 4A-4C.

Node130is also configured to implement the combination technique described above, as described in greater detail below in conjunction withFIG. 5B.

FIG. 5Billustrates a portion540of the network system ofFIG. 1that is configured to generate a channel map530based on the predicted position of node130, according to one embodiment of the present invention. As shown, access point150is configured to transmit channel maps522and524to node130. Node130may then combine channel maps522and524to generate channel map530. Node130may implement any of the channel map combination techniques described thus far in order to generate channel map530.

Referring generally toFIGS. 5A and 5B, access point150, node130, or any other device within the network system100may combine channel maps associated with any number of different regions that node130may occupy. For example, access point150could predict that node130will traverse three separate regions during three different time intervals, and then acquire channel maps associated with those three regions. Access point150could then combine those three channel maps and provide the combined channel map to node130.

The techniques described above in conjunction withFIGS. 4A-4C and 5A-5Bmay also be implemented in concert with one another, as described in greater detail below in conjunction withFIG. 6A-6C.

Each ofFIGS. 6A-6Cillustrates a portion of the network system100ofFIG. 1configured to combine different channel maps associated with various positions of a node, according to various embodiments of the present invention.FIGS. 6A-6Cinclude some of the same components as those shown inFIGS. 1, 4A-4C, and5A-5B, although certain components have been omitted, for the sake of simplicity, while other components have been added.

FIG. 6Aillustrates a portion600of the network system100ofFIG. 1configured to combine different channel maps associated with various positions of node130, according to one embodiment of the present invention. As shown, portion600includes access points150-1and150-2. Node130is coupled to both access point150-1and access point150-2. Access point150-1includes channel maps622and624. Access point150-2includes channel maps626and628.

Channel map622within access point150-1, and channel map626within access point150-2, both include lists of channels associated with region504. Those channel maps may also include QOS values and/or other metrics that characterize channels associated with region504. However, channel maps622and626are different from one another and therefore include different lists of channels. Channel maps622and626may differ from one another, for example, because one of those channel maps was generated at a different time than the other channel map. Access points150-1and150-2may acquire channels maps622and626, respectively, upon determining that node130resides within region504at a current time t0.

Similarly, channel map624within access point150-1, and channel map628within access point150-2, both include lists of channels associated with region514. Those channel maps may also include QOS values and/or other metrics that characterize channels associated with region514. However, like channel maps622and626, channel maps624and628are different from one another and therefore include different lists of channels. Access points150-1and150-2may acquire channels maps624and628, respectively, upon predicting that node130may reside within region514at a future time t1.

Access points150-1and150-2are configured to operate in conjunction with one another to resolve any differences between those different channel maps. Access points150-1and150-2may combine different channel maps associated with the same region, and may also combine different channel maps associated with different regions. In doing so, access point150-2is configured to transmit channel maps626and628to access point150-1. Access point150-1may then combine channel maps622,624,626, and628the generate channel map630.

Access point150-1may implement any of the channel map combination techniques described thus far, in any order and with any pair of channel maps to generate combined channel maps. For example, access point150-1could combine channel maps622and626to generate a first combined channel map, and then combine channel maps624and628to generate a second combined channel map. Access point150-1could then combine the first combined channel map with the second combined channel map to generate channel map630. Persons skilled in the art will recognize that any approach to combining channel maps622,624,626, and628falls within the scope of the present invention.

With the approach described herein, access points150-1and150-2are configured to provide node130with a channel map that is (i) consistent between access points150-1and150-2and (ii) incorporates channels that are available in both of the regions504and514.

Each of access points150-1and150-2may also implement the techniques described thus far upon exchanging channel maps with one another, as described in greater detail below in conjunction withFIG. 6B.

FIG. 6Billustrates a portion640of the network system100ofFIG. 1configured to combine different channel maps associated with various positions of a node130, according to one embodiment of the present invention. As shown, access point150-1is configured to transmit channel maps622and624to access point150-2, and access point150-2is configured to transmit channel maps626and628to access point150-1.

Access point150-1may then combine channel maps622,624,626and628to generate channel map630. Access point150-1then transmits channel map630to node130. By implementing a similar approach, access point150-2is configured to combine channel maps622,624,626and628to generate channel map630. Access points150-2then transmits channel map630to node130. Since access points150-1and150-2implement a similar approach to combining channel maps, those access points150may independently generate essentially the same channel map630.

Node130may also implement the techniques described thus far upon receiving channel maps622and624from access point150-1and channel maps626and628from access point150-2, as described in greater detail below in conjunction withFIG. 6C.

FIG. 6Cillustrates a portion680of the network system100ofFIG. 1configured to combine different channel maps associated with various positions of a node130, according to one embodiment of the present invention. As shown, access point150-1is configured to transmit channel maps622and624to node130, and access point150-2is configured to transmit channel maps626and628to node130. Node130is configured to combine those different channel maps to generate channel map630. Node130may then transmit channel map630to adjacent nodes and/or access points150to which node130is coupled.

Persons skilled in the art will recognize that any of the approaches described thus far may be implemented in conjunction with one another. For example, access points150-1and150-2may be configured to combine channel maps622and626with one another and provide a combined channel map to node130. Node130may then acquire channel maps624and628(e.g. from server154or from another source) and then merge those channel maps with the combined channel map received from access points150-1and150-2. Any and all such combinations fall within the scope of the present invention. Persons skilled in the art will also recognize that the techniques described herein may be implemented to combine any number of different channel maps. In addition, as previously mentioned, any technically feasible approach for combining channel maps also falls within the scope of the invention, and any such approach may be implemented by any device included within the network system100.

In addition, persons skilled in the art will recognize that the approaches described thus far may be implemented with any type of white space network, and, more generally, with any technically feasible class of network. For example, nodes130, access points150, server154, and other devices described herein may reside within a star network or personal area network (PAN) and implement the different approaches described herein. Further, those devices may reside within a network having a tiered priority system (a tiered network) and generate, or otherwise acquire, channel maps that account for the priorities of other devices within the network. In a tiered network, high-priority devices may have a higher transmit power, or more relaxed out-of-band transmit rules compared to nodes130. The priorities of the different devices in the network may be derived from specific licensing agreements that regulate the operation of those devices. A tiered network could be, for example, a network compliant with the T108 network in Japan. In the context of a T108 network, a node could generate, or otherwise acquire, a channel map that accounts for the priorities of other devices in that T108 network.

The various techniques described above in conjunction withFIGS. 1-6Care also described in greater detail below in conjunction withFIGS. 7-9.

FIG. 7is a flow diagram of method steps for combining different channel maps, according to one embodiment of the present invention. Although the method steps are described in conjunction with the systems ofFIGS. 1-6C, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present invention.

As shown, a method700begins at step702, where access point150-1determines the location of node130. Node130could, for example, report that location to access point150, or access point150could track the movements of node130, among other possibilities. At step704, access point150-1acquires channel map402that corresponds to the location of node130. Channel map402includes a list of channels that are available at the location of node130and may also include QOS values for those channels. Access point150-1may acquire channel map402from public database158, private database160, server154, or any other location.

At step706, access point150-1acquires channel map404that corresponds to the location of node130and is associated with access point150-2. Access point150-1may acquire channel map404directly from access point150-2, as shown inFIG. 4A. Channel maps402and404are both associated with the location of node130, however, those channel maps may differ from one another for a variety of reasons. For example, channel map402could have been generated after channel map404, and could thus represent a more current list of channels associated with the position of node130.

At step708, access point150-1combines channel map402with channel map404to generate channel map406. Access point150-1may implement any technically feasible approach for combining different sets of data, including performing an AND operation with channel maps402and404, among other possible techniques. At step710, access point150-1causes node130to operation according to channel map406. For example, access point150-1could transmit channel map406to node130, as shown inFIG. 4A. The method700then ends.

By implementing the method700, access point150-1may combine different channel maps associated with location of node130, thereby reconciling conflicting information that may be present within those different channel maps. Although the method700has been described as being performed by access point150-1, as shown inFIG. 4A, the method700may also be performed by both access points150-1and150-2, as described above in conjunction withFIG. 4B, or by node130itself, as described above in conjunction withFIG. 4C.

FIG. 8is a flow diagram of method steps for generating a channel map for the predicted position of a node, according to one embodiment of the present invention. Although the method steps are described in conjunction with the systems ofFIGS. 1-6C, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present invention.

As shown, a method800begins at step802, where access point150determines the location of node130at time t0. At time t0, node130resides within region504, as shown inFIG. 5A. At step804, access point150determines the predicted location of node130at time t1. At time t1, node130may reside within region514, as also shown inFIG. 5A. Access point150may predict the future location of node130by aggregating position information associated with node130and then extrapolating that position information. For example, access point150could determine the velocity of node130in a certain direction, and then determine the distance that will be traveled by node130in that direction over a time interval given by t1 minus t0.

At step806, access point150acquires channel map522that corresponds to region504and is valid at time t0. Access point150may retrieve channel map522from public database158or private database160, or acquire channel map522by interacting with server154, among other possibilities. At step808, access point150acquires channel map522that corresponds to region514and is valid at time t1. Similarly, access point150may retrieve channel map524from public database158or private database160, acquire channel map524by interacting with server154, and so forth.

At step810, access point150combines channel map522with channel map524to generate channel map530. Channel map530is associated with both regions504and514and indicates channels that are available within both of those regions. Channel map530may also indicate a collection of QOS values. Access point150may combine channel maps522and524by implementing any of the channel map combination techniques described thus far.

At step812, access point150causes node130to operate according to channel map530. The method800then ends. Node130may then rely on channel map530while residing within either region504or region514. Consequently, node130may not need to acquire a new channel map upon leaving region504and entering region514. Additionally, if node130selects a channel on which to communicate from channel map530, then node130may not need to change channels when traversing between regions504and514, because any selected channel should be available within both of those regions.

By implementing the method800, access point150may combine channel maps associated with the current location of node130as well as the predicted location of node130at a future time, thereby reducing the number of channel maps that must be transmitted to node130. Although the method800has been described as being performed by access point150, as shown inFIG. 5A, the method800may also be performed by node130, as described above in conjunction withFIG. 5B.

FIG. 9is a flow diagram of method steps for combining different channel maps associated with the predicted position of a node, according to one embodiment of the present invention. Although the method steps are described in conjunction with the systems ofFIGS. 1-6C, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present invention.

As shown, a method900begins at step902, where access point150-1determines the location of node130at time t1. At time t1, node130resides within region504, as shown inFIG. 6A. Access point150-2may also determine the location of node130at time t0 by performing step902. At step904, access point150-1determines the predicted location of node130at time t1. At time t1, node130may reside within region514, as shown inFIG. 6A. Access point150-2may also determine the predicted location of node130at time t1 by performing step904.

At step906, access point150-1acquires channel map622that corresponds to region504and is valid at time t0. At step908, access point150-1acquires channel map624that corresponds to region514and is valid at time t1. Access point150-1may query public database158or private database160for channel maps622and624, or may communicate with server154in order to cause server154to retrieve those maps from those different databases.

At step910, access point150-1acquires channel map626from access point150-2. Channel map626corresponds to region504and is valid at time t0, yet is different from channel map622, which also corresponds to region504and similarly valid. Channel maps622and626could have been generated at different times, or could be different for a variety of other reasons. At step912, access point150-1acquires channel map628from access point150-2. Channel map628corresponds to region514and is valid at time t1, yet is different from channel map624, which also corresponds to region514and is similarly valid. Similar to channel maps622and626, channel maps624and628could have been generated at different times, or could be different for a variety of other reasons.

At step914, access point150-1combines channel maps622,624,626, and628to generate channel map630. Access point150-1may implement any channel map combination technique described herein. At step916, access point150-1causes node130to operate according to channel map630. The method900then ends. Channel map630is consistent between access points150-1and150-2and also incorporates channels that are available in both of the regions504and514.

By implementing the method900, access point150-1may resolve discrepancies between different channel maps that both correspond to the same region, and may also combine channel maps corresponding to different regions, thereby combining the techniques associated with the methods700and800, described above on conjunction withFIGS. 7 and 8, respectively.

In sum, an access point coupled to a node within a network is configured to combine channel maps provided by other access points to which the node is coupled, thereby reconciling any discrepancies between those channel maps. The access point may also combine channel maps associated with different regions that the node may occupy, thereby reducing the number of channel maps that must be transmitted to the node when the node travel between regions.

Advantageously, the node is provided with a single channel map that is consistent across all access points to which the node is coupled and relevant within multiple regions that the node may occupy. Thus, the disclosed techniques may reduce the number of channel maps that must be transmitted to the node, thereby decreasing overall network traffic. In addition, the node does not need to change communication channels when coupled to different access points or when traversing between different regions. Accordingly, downtime associated with changing communication channels may be eliminated, thus improving the efficiency with which the node operates.

In view of the foregoing, the scope of the present invention is determined by the claims that follow.