In dynamic spectrum access (DSA) systems, a DSA-enabled communications device typically has an available a set of radio frequency (RF) channels to use for broadband communications. For example, while certain frequencies/channels are reserved for broadcast television, not all television channels are used in a given region; the frequencies corresponding to unused broadcast television channels, referred to as television whitespace, may be available for use by DSA systems.
Because the frequencies that are available thus vary according to location, a DSA-enabled device, referred to as a group owner, queries a regulatory database, including providing the group owner's current location data. The group owner receives a response that indicates which channels are available for use at that location (for an allowed duration, e.g., for the next twenty-four hours). The group owner selects an available channel and instructs client devices to use that channel for broadband communication until further notice. This selected channel may be subject to interference, however.
This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
Briefly, various aspects of the subject matter described herein are directed towards a technology by which a plurality of available radio frequency channels is determined by a communications device, such as by querying a database. Data corresponding to the channels is provided to a client device. Switching among the plurality of available channels is performed according to a pattern, to communicate with the client device.
In one aspect, the pattern is obtained by generating a pseudorandom pattern and used for switching (frequency hopping). The pattern may be a weighted pattern based at least in part on channel interference data. Information corresponding to the interference data may be provided to a decoder.
In one aspect, a communications device includes a cognitive module configured to query a database with location information of the communications device and to receive a response identifying a plurality of available radio frequency channels at that location. A modulator, configured to transmit data over a selected channel to another device, is coupled to a frequency synthesizer that is configured to controllably vary which channel of the plurality of available radio frequency channels is the selected channel.
Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
Various aspects of the technology described herein are generally directed towards frequency hopping across the set of channels (or some subset thereof) that are available for use in a dynamic spectrum access system. As will be understood, frequency hopping mitigates (e.g., averages or otherwise reduces) possible interference to and from client devices, and may be used until the next database query, for example. When available, additional information regarding the channels with respect to detected interference levels may be considered by the frequency hopping technology described herein.
In one aspect, frequency hopping may be ordered according to the available channels, or may be based upon a pseudorandom sequence among the available channels. Moreover, the frequency hopping may shift to a correlated sequence based upon channel conditions. For example, one or more database queries and/or other measurement information may be used as input to a frequency hopping system to control the frequency hopping pattern, e.g., to provide for variable hopping pattern length and channels based upon a data driven frequency synthesizer. Also described is the use of detected interference in data transmission decoding schemes.
It should be understood that any of the examples herein are non-limiting. For example, while television whitespace provides one set of available channels that may be obtained by querying a regulatory database/(regulatory approved database), any frequencies may be used with the technology described herein, including frequencies in unlicensed or licensed bands. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in data communications in general.
The regulatory database 106 returns a set of one or more channels available to the device 102 for communications. In most geographic areas, for television whitespace communications, a plurality of channels is returned, e.g., in the United States, the median number of such channels returned in response to a query is approximately nine. The channels are each identified by a center frequency represented in
The group owner device 102 thus obtains the available channels that may be used in broadband communication with client devices, such as the client device 220 of
In one aspect, the group owner device and client device may hop among these frequencies (f1, f2, . . . , fM) in any order, such as basic pattern in the form of a fixed circular order, changing to the next frequency via a predetermined switching schedule. This averages out interference among the channels, and may be used by legacy devices by changing frequencies in a straightforward, deterministic manner.
In another aspect, the group owner device 102 may initialize a pseudo-random hopping pattern among the available frequencies (f1, f2, . . . , fM), and provide the pseudo-random hopping pattern to the client device 220. In one implementation, the group owner device 102 and the client device 220 thereafter frequency hop among the channels according to the pseudo-random hopping pattern. To this end, in one example implementation, a frequency synthesizer 108 of the group owner device 102 of
In
Turning to another aspect, the database 106 also may return information about measured or known channel conditions for the group owner device's location, such as value added services reported to the database 106 by various devices, possibly in different locations. For example, the database 106 may return (f1, f2, . . . , fN) and (α1, α2, . . . , αN) or (α1, f1, α2, f2, . . . , αN, fN) where each α value represents a reported interference condition, (e.g., from zero to one, where the closer to zero, the more interference). As shown in
As described herein, the group owner device 102 may base and/or weight the hopping pattern according to the reported channel conditions. For example, the frequency synthesizer 108 may receive numeric information indicating that a particular channel B is less reliable than other available channels A and C, with C somewhat less reliable. The pattern thus may be configured to use channel B less often, and C somewhat less, such as proportional to reported conditions, e.g., A-C-C-A-C-A-B-A (and then repeat the pseudo-random sequence, providing four uses of channel A, three uses of channel C and one use of channel B for each sequence). It is also feasible to change the schedule to weigh the channels' usages differently, e.g., instead of the repeated A-C-C-A-C-A-B-A pattern above with one channel per time slot, channel A may be used for four time slots, channel B for one time slot, and channel C for three time slots to achieve a similar condition-based channel usage distribution. Note that to obtain such interference (corresponding to reliability) data, the database 106 may be communicated with as often as practical, with the pattern changed as desired based upon criteria such as power versus additional overhead to query and change, and the like.
In addition to or instead of database reporting of channel conditions, the cognitive module 104 may also adapt the frequencies that are available according to the device's own measurements 112, and/or possibly those reported by other sources (e.g., other clients). The frequency synthesizer 108 also may change the pattern or the like based upon such information. Thus, for example, if the database is not configured to report conditions, or is reporting conditions that differ from what the group owner node is currently experiencing, the hopping pattern may be changed to bias the system towards more efficient communication, e.g., dropping or reducing usage of a channel based upon measured conditions.
Turning to another aspect, interference condition (reliability) information may be used as described above, and/or also in a decoding scheme.
Alternatively, an erasure may be declared for any bits deemed unreliable, as determined from the interference information. The decoder 330 is thus able to perform erasure-based error correction based upon the interference information.
Step 408 represents appending any other channels that are known to be available. As described above, such other channels may be determined in any way, such as from a separate query to a different database, and/or to include channels that are known to be available, e.g., public or already licensed.
Step 410 represents including any interference data in a communication to be sent to the client. This may comprise the alpha values obtained from any database as described above, and/or anything measured at the group owner device (or possibly a different device), or any values corresponding to the alpha values, e.g., some function thereof. Such values may be used in decoding, as described above.
Steps 412 and 414 represents removing and/or biasing some channels, and/or otherwise coming up with a pattern (an actual pattern of channels to cycle through or a channel usage timing pattern) for controllably switching the frequencies of the transmitting-side modulator and the receiving-side demodulator. As described above, the pattern may be as simple as to switch in order from the lowest to the highest frequencies (or vice-versa), may be a pseudorandom pattern, may be a pattern favoring one or more frequencies over others based upon interference data, and so forth. The pattern may be computed by the group owner and sent to the client device (step 416). Note that although not shown in
Step 418 represents the communications between the group owner and client device based upon the pattern. This continues as long as needed (although no explicit end is shown in
Another example situation change may occur when interference information changes, such as represented in
As can be seen, there is provided a frequency hopping technology that may use database data to determine available frequencies and other data. Frequency hopping may be initiated with a pattern, such as a pseudorandom sequence of frequencies, which may shift (via variable hopping pattern length and/or channels) depending on channel conditions, which may be database dependent and/or based on measured conditions.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer 510 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 510 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 510. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above may also be included within the scope of computer-readable media.
The system memory 530 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 531 and random access memory (RAM) 532. A basic input/output system 533 (BIOS), containing the basic routines that help to transfer information between elements within computer 510, such as during start-up, is typically stored in ROM 531. RAM 532 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 520. By way of example, and not limitation,
The computer 510 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, described above and illustrated in
The computer 510 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 580. The remote computer 580 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 510, although only a memory storage device 581 has been illustrated in
When used in a LAN networking environment, the computer 510 is connected to the LAN 571 through a network interface or adapter 570. When used in a WAN networking environment, the computer 510 typically includes a modem 572 or other means for establishing communications over the WAN 573, such as the Internet. The modem 572, which may be internal or external, may be connected to the system bus 521 via the user input interface 560 or other appropriate mechanism. A wireless networking component 574 such as comprising an interface and antenna may be coupled through a suitable device such as an access point or peer computer to a WAN or LAN. In a networked environment, program modules depicted relative to the computer 510, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
An auxiliary subsystem 599 (e.g., for auxiliary display of content) may be connected via the user interface 560 to allow data such as program content, system status and event notifications to be provided to the user, even if the main portions of the computer system are in a low power state. The auxiliary subsystem 599 may be connected to the modem 572 and/or network interface 570 to allow communication between these systems while the main processing unit 520 is in a low power state.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.