The present invention relates generally to communication networks, and more particularly, some embodiments relate to medium access in distributed networks.
With the many continued advancements in communications technology, more and more devices are being introduced in both the consumer and commercial sectors with advanced communications capabilities. Additionally, advances in processing power and low-power consumption technologies, as well as advances in data coding techniques have led to the proliferation of wired and wireless communications capabilities on a more widespread basis.
For example, communication networks, both wired and wireless, are now commonplace in many home and office environments. Such networks allow various heretofore independent devices to share data and other information to enhance productivity or simply to improve their convenience to the user. Examples of communication networks that are gaining widespread popularity include exemplary implementations of wireless networks such as the Bluetooth®, Wireless USB, and various IEEE standards-based networks such as 802.11 and 802.16 communications networks, to name a few.
Architects of these and other networks, and indeed communications channels in general, have long struggled with the challenge of managing multiple communications among many devices across a band-limited channel. For example, in some environments, more than one device may share a common carrier channel and thus the devices run the risk of encountering a communication conflict among the one or more other devices on the channel.
Over the years, network architects have come up with various solutions to arbitrate disputes or otherwise delegate bandwidth among the various communicating devices, or clients, on the network. Schemes used in well known network configurations such as token rings, Ethernet, and other configurations have been developed to allow sharing of the available bandwidth.
Peer networks, such as MB-OFDM ultrawideband networking systems for example, often take advantage of a beacon period to attend to media access slot reservations. In these systems, communication activities are conducted using superframes. A superframe generally comprises a group of timeslots, wherein a first portion of the timeslots comprises a beaconing period and a second portion of the timeslots comprises a data transfer period. In these systems, the beaconing period is divided into a plurality of beacon slots, which are reserved by network elements and used for functions such as synchronization and reservation of upcoming medium access slots. The data transfer period is divided into a plurality of medium access slots that are used for actual data transmission.
Typically, protocols are established that allow the beaconing period to be extended when more devices than the current beacon period can handle attempt to connect to the network. However, each such extension reduces the number of available medium access slots. Furthermore, all devices in such networks are typically required to participate in beaconing. Even in systems where devices, such as low power or hibernating devices, are not required to transmit during the beacon period, these device are still required to monitor the beacon period. For example, even hibernating devices will sometimes wake up to monitor the beacon period. This beacon reception, transmission, and processing may result in significant power consumption and require considerable chip resources.
According to various embodiments of the invention, systems and methods are provided for allowing non-beaconing network devices to coexist in networks with beaconing network devices. In some embodiments, a first group of devices that transmit at higher power or have a greater coverage range communicate with each other using a communications protocol implementing beacon periods, while a second group of devices that transmit at lower powers or have a smaller coverage range communicate with members of the first group without utilizing beacon periods. In these embodiments, the coverage ranges of the second group of devices may be configured so that they do not interfere with the remaining elements of the first group.
According to an embodiment of the invention, a method of network operations comprises conducting communication activities at a first network device using a shared network medium and having a first coverage area, wherein the communication activities comprise broadcasting a data transmission reservation or receiving a data transmission reservation of another network device during a beacon period; and conducting communications with the first network device at a second network device using the shared network medium; wherein the second network device is configured to provide a second coverage area that is substantially contained within the first coverage area and wherein the second network device does not monitor network communications during the beacon period.
According to another embodiment of the invention, a plurality of beaconing devices may establish a network where communications between the beaconing devices are scheduled during beaconing periods. A non-beaconing network device operates in a non-beaconing mode, where it does not receive, process, or transmit beacons during a beaconing period. This non-beaconing network device is configured to connect to one of the beaconing network devices and is further configured such that any other beaconing device that the non-beaconing device might interfere with is within the range of the connected beaconing network device. For example, the non-beaconing device may be configured to have a smaller maximum coverage range than that of the beaconing network devices, or the non-beaconing device may be configured to reconfigure its coverage area, for example by using directional antennae, to reduce interference with the non-connected beaconing devices.
Other features and aspects of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the features in accordance with embodiments of the invention. The summary is not intended to limit the scope of the invention, which is defined solely by the claims attached hereto.
The present invention, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments of the invention. These drawings are provided to facilitate the reader's understanding of the invention and shall not be considered limiting of the breadth, scope, or applicability of the invention. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.
The figures are not intended to be exhaustive or to limit the invention to the precise form disclosed. It should be understood that the invention can be practiced with modification and alteration, and that the invention be limited only by the claims and the equivalents thereof.
The present invention is directed towards systems and methods for allowing non-beaconing network devices to coexist in networks with beaconing network devices. In some embodiments, a first group of devices that transmit at higher power or have a greater coverage range communicate with each other using a communications protocol implementing beacon periods, while a second group of devices that transmit at lower powers or have a smaller coverage range communicate with members of the first group without utilizing beacon periods. In these embodiments, the coverage ranges of the second group of devices may be configured so that they do not interfere with the remaining elements of the first group.
Before describing the invention in detail, it is useful to describe an example environment in which the invention can be implemented. One such example is a wireless beaconing network in which multiple electronic devices (for example, computers and computing devices, cellular telephones, personal digital assistants, motion and still cameras, among others) can communicate and share data, content and other information with one another. One example of such a network is that as specified by the WiMedia standard (WiMedia transferred specification development of its version of ultrawideband (UWB) to the Bluetooth® Special Interest Group, the Wireless USB Promoter Group and the USB Implementers Forum) or other networks utilizing a beacon period or similar medium access reservation period.
Most network standards specify policies or rules that govern the behavior of network connected devices. For example, a standard can specify the mechanism and policies that are to be followed by W-USB compliant devices in order to allow for an ad hoc and distributed network of such devices to operate efficiently. In most distributed networks, the network of the devices is maintained by requiring all devices to announce parameters such as their presence, their capabilities and their intentions for reserving transmission slots and so on. For example, this can be done during what are referred to as beacon period time slots. According to such a network, devices joining the network are expected to monitor the beacon period to learn about the network status and parameters before attempting to use the network. In other network configurations, beacon periods are similarly used to allow management of network devices as described more fully below. Thus, beacon periods are one form of window or network period during which scheduling or other housekeeping activities can be conducted. Beacon periods in the above-referenced standard, and other time periods used for scheduling or other housekeeping chores in other network configurations, are generally referred to as beacon periods or scheduling windows.
With many applications, the wireless network 1020 operates in a relatively confined area, such as, for example, a home or an office. The example illustrated in
Also illustrated in the example wireless network 1020 are portable electronic devices such as a cellular telephone 1010 and a personal digital assistant (PDA) 1012. Like the other electronic devices illustrated in
Additionally, the example environment illustrated in
Also illustrated is a personal computer 1060 or other computing device connected to wireless network 1020 via a wireless air interface. As depicted in the illustrated example, personal computer 1060 can also provide connectivity to an external network such as the Internet 1046.
In the illustrated example, wireless network 1020 is implemented so as to provide wireless connectivity to the various electronic devices associated therewith. Wireless network 1020 allows these devices to share data, content, and other information with one another across wireless network 1020. Typically, in such an environment, the electronic devices would have the appropriate transmitter, receiver, or transceiver to allow communication via the air interface with other devices associated with wireless network 1020. These electronic devices may conform to one or more appropriate wireless standards and, in fact, multiple standards may be in play within a given neighborhood. Electronic devices associated with the network typically also have control logic configured to manage communications across the network and to manage the operational functionality of the electronic device. Such control logic can be implemented using hardware, software, or a combination thereof. For example, one or more processors, ASICs, PLAs, and other logic devices or components can be included with the device to implement the desired features and functionality. Additionally, memory or other data and information storage capacity can be included to facilitate operation of the device and communication across the network.
Electronic devices operating as a part of wireless network 1020 are sometimes referred to herein as network devices, members or member devices of the network or devices associated with the network. In one embodiment devices that communicate with a given network may be members or merely in communication with the network.
Some communication networks are divided into periods or frames that can be used for communication and other activities. For example, as discussed above, some networks have a scheduling window such as, for example, a beacon period, for scheduling upcoming communication activities. Also, some networks have a communication window during which such communication activities take place. In some networks, the bandwidth is divided into superframes, which in turn are divided into time slots for the transmission and reception of data by the various electronic devices associated with the network.
An example of such time slots are illustrated in
A processor 260 and memory 250 can be included to facilitate device functionality. Take, for instance, a digital camera as a network device. This device might include one or more processors 260 and device modules 245 to control device operation, to process images for display and storage, to manage network communications, and so on. Memory of various forms or other storage devices can be included to allow storage of instructions for the processor, computational products, captured images and so on. The example illustrated in
From time-to-time, the present invention is described herein in terms of these example environments. Description in terms of these environments is provided to allow the various features and embodiments of the invention to be portrayed in the context of an exemplary application. After reading this description, it will become apparent to one of ordinary skill in the art how the invention can be implemented in different and alternative environments with different networks, network topologies and governing standards.
In some environments, the physical layout of the network into the characteristics of the network usage may be such that, although connectivity of the network as a whole is desired, some devices might communicate with the network as a whole, while other devices might communicate only with nearby network devices.
As used herein, the channel gain between network devices A and B is denoted by GAB, the transmission power level of device A is denoted by PA, and the average reception power of device A's signal as received by device B is denoted by PAB, where PAB=PA/GAB. As used herein, the term “coverage area” is the area around a transmitter in which the transmitter's signals can be properly detected and decoded. In some embodiments, the coverage area can be described as there area in which receivers will experience no more than a certain predetermined packet error rate (PER), for example X % PER, assuming only thermal noise (interference free), maximum transmission power, and minimum transmission rate. As used herein, the term “maximum range” refers to the maximum distance from the transmitter within the transmitter's coverage area.
As used herein, “closeness” refers to differences in channel gain. For example, if three network devices A, B, and C are communicating, and GAB<GAC then B is closer to A than C and, vice versa, C is further from A then it is from B. In various environments and implementations, channel gain may generally vary with actual location, and, therefore, close devices will be physically near each other. However, this may not always be the case.
In some figures herein, for ease of explanation, coverage areas are illustrate as circles, where distance from the center of the circle represents channel gain. In actual environments, various characteristics, such as terrain, interference, cancellation, etc., will prevent actual coverage areas from being circular and will prevent actual channel gains from varying directly with distance from the transmitter.
In some embodiments, a pre-existing physical (PHY) layer access protocol (such as the PHY protocol defined by the WiMedia 1.2 specification) may provide methods that manage the interference that may be caused by an out of range device's transmissions.
In some embodiments of the invention, device 382 may comprise a non-beaconing device that does not beacon its scheduled reception to device 381. For example, device 382 may be a device that is capable of entering beaconing modes and non-beaconing modes and may be configured to enter a non-beaconing mode at the request of a user of the device. In other embodiments, communications protocols may be provided that allow other network devices to cause the dual-mode device to switch between beaconing and non-beaconing modes. For example, a linked beaconing device may provide such a request as part of a private data communications management packet, such as the MMC packet described herein.
In various embodiments different methods may be used to configure a non-beaconing devices transmission characteristics so that it sufficiently likely that the non-beaconing device's coverage range will remain within a linked beaconing device's coverage range.
In a particular embodiment, a network device implemented in accordance with embodiments of the invention may comprise a dual-mode network device. In a first network mode, a network device operates as a standard beaconing device and may transmit at standard power. In the second network mode, the network device may operate as a non-beaconing device and may reduce its transmitting power so that its coverage range is fully contained within a coverage range of a beaconing device with which it is in communication. This second network mode may allow the network device to save power by not processing, receiving, or transmitting beacons while maintaining normal data transfer rates with nearby network devices. In some embodiments, various methods may be used to determine which mode to transmitting. For example, a network device user may choose to enter the non-beaconing mode, for example, in order to save power. In another embodiment, a network device may operate solely as a non-beaconing network device. For example, a non-beaconing device may comprise a low range or low rate wireless network device, such as, for example, a mouse or keyboard connected to a PC, a cell phone headset, a synchronizing mobile phone, or a digital camera connected to a PC. Such devices may be typically used physically close to the devices with which they communicate. Accordingly, reducing the coverage range of these devices does not impact their use, yet allows them to communicate using lower power protocols and may free room for longer range or higher rate beaconing devices on a shared medium. In some embodiments, these non-beaconing devices may have large power savings over beaconing devices and even over devices that do not transmit, but still process beacons. In some environments, processing and monitoring a beaconing period, for example in a network having many beaconing devices, can require significant power consumption and computational resources. Accordingly, in addition to not having to spend power broadcasting a beacon, the non-beaconing device according to some embodiments can save power by not spending the power required for receipt and processing beacon transmissions. Additionally, and particularly for devices operating only in a non-beaconing mode, this further allows for a reduction in required circuit or computational complexity. Still further embodiments achieve additional power savings by requiring that non-beaconing devices in a network transmit at lower power levels than the beaconing devices in the network. Also, because some network elements are able to operate without beaconing periods, this may free space in the beaconing period that would otherwise be occupied. In some embodiments, this may result in power savings to beaconing devices as well because fewer beacons will be transmitted and fewer beacon slots will be needed as compared to a network having only beaconing devices.
In these embodiments, methods may be provided to allow information that would otherwise be transmitted during the beaconing periods to be transmitted to the non-beaconing devices within the device's private reservations. For example, one embodiment is configured to interact in wireless USB-based networks, such as wireless networks implemented according to the wireless universal serial bus specification revision 1.0, which is hereby incorporated by reference in its entirety. In this embodiment, the wireless universal serial bus micro-scheduled management control (MMC) packets may be modified to include distributed reservation protocol (DRP) information. In a particular embodiment, the MMC can include a tag (e.g., a certain bit set to “1”) to indicate support for non-beaconing devices. Once non-beaconing device B turns on, it can scan the channel for MMC packets. Upon receiving an MMC, the processing algorithm in non-beaconing devices may change to include extracting new information about DRP reservations from the MMC. The rest of the wireless universal serial bus protocol may be used without other changes, so the backwards compatibility with legacy devices is maintained.
In some further embodiments, a beaconing device having multiple connected non-beaconing devices may be configured to mediate communications between these non-beaconing devices. For example, a beaconing device, such as the desktop computer 414 in
As used herein, the term module might describe a given unit of functionality that can be performed in accordance with one or more embodiments of the present invention. As used herein, a module might be implemented utilizing any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a module. In implementation, the various modules described herein might be implemented as discrete modules or the functions and features described can be shared in part or in total among one or more modules. In other words, as would be apparent to one of ordinary skill in the art after reading this description, the various features and functionality described herein may be implemented in any given application and can be implemented in one or more separate or shared modules in various combinations and permutations. Even though various features or elements of functionality may be individually described or claimed as separate modules, one of ordinary skill in the art will understand that these features and functionality can be shared among one or more common software and hardware elements, and such description shall not require or imply that separate hardware or software components are used to implement such features or functionality.
Where components or modules of the invention are implemented in whole or in part using software, in one embodiment, these software elements can be implemented to operate with a computing or processing module capable of carrying out the functionality described with respect thereto. One such example computing module is shown in
Referring now to
Computing module 500 might include, for example, one or more processors, controllers, control modules, or other processing devices, such as a processor 504. Processor 504 might be implemented using a general-purpose or special-purpose processing engine such as, for example, a microprocessor, controller, or other control logic. In the illustrated example, processor 504 is connected to a bus 502, although any communication medium can be used to facilitate interaction with other components of computing module 500 or to communicate externally.
Computing module 500 might also include one or more memory modules, simply referred to herein as main memory 508. For example, preferably random access memory (RAM) or other dynamic memory, might be used for storing information and instructions to be executed by processor 504. Main memory 508 might also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 504. Computing module 500 might likewise include a read only memory (“ROM”) or other static storage device coupled to bus 502 for storing static information and instructions for processor 504.
The computing module 500 might also include one or more various forms of information storage mechanism 510, which might include, for example, a media drive 512 and a storage unit interface 520. The media drive 512 might include a drive or other mechanism to support fixed or removable storage media 514. For example, a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive might be provided. Accordingly, storage media 514 might include, for example, a hard disk, a floppy disk, magnetic tape, cartridge, optical disk, a CD or DVD, or other fixed or removable medium that is read by, written to or accessed by media drive 512. As these examples illustrate, the storage media 514 can include a computer usable storage medium having stored therein computer software or data.
In alternative embodiments, information storage mechanism 510 might include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into computing module 500. Such instrumentalities might include, for example, a fixed or removable storage unit 522 and an interface 520. Examples of such storage units 522 and interfaces 520 can include a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, a PCMCIA slot and card, and other fixed or removable storage units 522 and interfaces 520 that allow software and data to be transferred from the storage unit 522 to computing module 500.
Computing module 500 might also include a communications interface 524. Communications interface 524 might be used to allow software and data to be transferred between computing module 500 and external devices. Examples of communications interface 524 might include a modem or softmodem, a network interface (such as an Ethernet, network interface card, WiMedia, IEEE 802.XX or other interface), a communications port (such as for example, a USB port, IR port, RS232 port Bluetooth® interface, or other port), or other communications interface. Software and data transferred via communications interface 524 might typically be carried on signals, which can be electronic, electromagnetic (which includes optical) or other signals capable of being exchanged by a given communications interface 524. These signals might be provided to communications interface 524 via a channel 528. This channel 528 might carry signals and might be implemented using a wired or wireless communication medium. Some examples of a channel might include a phone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communications channels.
In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as, for example, memory 508, storage unit 520, media 514, and channel 528. These and other various forms of computer program media or computer usable media may be involved in carrying one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the medium, are generally referred to as “computer program code” or a “computer program product” (which may be grouped in the form of computer programs or other groupings). When executed, such instructions might enable the computing module 500 to perform features or functions of the present invention as discussed herein.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not of limitation. Likewise, the various diagrams may depict an example architectural or other configuration for the invention, which is done to aid in understanding the features and functionality that can be included in the invention. The invention is not restricted to the illustrated example architectures or configurations, but the desired features can be implemented using a variety of alternative architectures and configurations. Indeed, it will be apparent to one of skill in the art how alternative functional, logical or physical partitioning and configurations can be implemented to implement the desired features of the present invention. Also, a multitude of different constituent module names other than those depicted herein can be applied to the various partitions. Additionally, with regard to flow diagrams, operational descriptions and method claims, the order in which the steps are presented herein shall not mandate that various embodiments be implemented to perform the recited functionality in the same order unless the context dictates otherwise.
Although the invention is described above in terms of various exemplary embodiments and implementations, it should be understood that the various features, aspects and functionality described in one or more of the individual embodiments are not limited in their applicability to the particular embodiment with which they are described, but instead can be applied, alone or in various combinations, to one or more of the other embodiments of the invention, whether or not such embodiments are described and whether or not such features are presented as being a part of a described embodiment. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments.
Teens and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing: the term “including” should be read as meaning “including, without limitation” or the like; the tem' “example” is used to provide exemplary instances of the item in discussion, not an exhaustive or limiting list thereof; the terms “a” or “an” should be read as meaning “at least one,” “one or more” or the like; and adjectives such as “conventional,” “traditional,” “normal,” “standard,” “known” and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. Likewise, where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future.
The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent. The use of the term “module” does not imply that the components or functionality described or claimed as part of the module are all configured in a common package. Indeed, any or all of the various components of a module, whether control logic or other components, can be combined in a single package or separately maintained and can further be distributed in multiple groupings or packages or across multiple locations.
Additionally, the various embodiments set forth herein are described in terms of exemplary block diagrams, flow charts and other illustrations. As will become apparent to one of ordinary skill in the art after reading this document, the illustrated embodiments and their various alternatives can be implemented without confinement to the illustrated examples. For example, block diagrams and their accompanying description should not be construed as mandating a particular architecture or configuration.