The present invention relates generally to ad-hoc communication systems, and in particular, to a method and apparatus for operating a node in an ad-hoc communication system.
Ad-hoc wireless transmission technology offers very high rate throughput but within a limited distance, typically 10 meters or less between devices in each piconet. To extend network coverage (e.g., to provide whole house coverage), additional piconets must be added and linked (meshed) together. Meshing typically requires all transmissions to use the same radio channel. Using the same radio channel for all transmissions allows for a single transceiver to operate within each node, reducing costs. This simple scheme is not scalable beyond a few piconets since each additional piconet further reduces the average available channel time to each device in the overall network. For example, it has been shown that as the node density increases, the network performance is rapidly degraded due to channel contention. This is because when two nodes in close proximity are communicating, use of the common channel has the effect of preventing multiple surrounding nodes from communicating amongst them. This creates a ripple effect on the congestion in the network. Therefore, a need exists for a method and apparatus for operating a node in an ad-hoc communication system that alleviates congestion caused by the use of a common channel.
To address the above-mentioned need a method and apparatus for operating a node within an ad-hoc communication system is provided herein. A node having a single radio is used to link overlapping piconets operating on different radio channels. All nodes within a piconet operate on a single channel, which differs for various piconets in the network. When relaying data between piconets, a node's transceiver will be receiving data during a first time period on a first channel (the data transmitted from a first node existing in a first piconet). During a second time period, the transceiver will relay the data over a second channel to a second node existing in a second piconet. Since all nodes within a given piconet will transmit and receive on a particular channel, and since neighboring piconets will operate on different channels, the network performance is not degraded due to channel contention.
Turning now to the drawings, wherein like numerals designate like components,
Prior to describing techniques for alleviating congestion within network 100, it is necessary to set forth some background information with the following definitions, and with reference to
Hop: A direct link between a transmitter and a receiver.
Radio channel: A wireless physical path. Separation can be by frequency division (like 802.11) or CDMA spread sequence (like DS-UWB).
Radio: A transceiver that operates on only one radio channel at a time, capable of switching channels with some switching delay. The radio typically operates half-duplex, transmit or receive (or idle/off) but not both concurrently.
Relay Node: A node that participates concurrently in multiple independent piconets capable of transferring data between them.
Frame: A time period when all transmit/receive operations take place within a piconet.
Superframe: Time period between beacons of a piconet. Note that when there is only one piconet on a particular radio channel, its frame may be as large as its superframe.
During the GTS, the node also broadcasts a beacon comprising identification of the piconet(s) a node is associated with (i.e., a piconet identifier (PNID)), along with a source address (SA, or device identifier (DEVID)), a destination address (device identifier (DA or DEVID)), and a receive time (R×T) when the node can receive other node's transmissions. This is illustrated in
As discussed above, networks operating on a single frequency are not scalable beyond a few piconets since each additional piconet further reduces the average available channel time to each device of the overall network. In order to address this issue, a single-radio relay node (RLY) is used to link overlapping piconets operating on different radio channels. This is possible under single-coordinator time-division medium access control schemes. Because relay nodes have only a single radio, the system requires coordination between piconets to ensure that the relay nodes are active (transmit or receive) in only one piconet at a time. More particularly, each coordinator will schedule transmission/reception times for the relay node so that they will not overlap. Thus, node 207 (acting as a relay node) will need to operate on two different channels, one for piconet 201 and one for piconet 202. When relaying data between each piconet, node 207 will be receiving data at a transceiver, the data transmitted from a first node existing in a first piconet, and received on a first channel. The data will be relayed by the transceiver to a second node existing in a second piconet on a second channel. The radio (transceiver) within node 207 must be operable on multiple channels, one channel at a time. Channel switching must be accomplishable under program control. Channel switching time must be sufficiently rapid, on the order of a few short interframe spacing (SIFS) periods of the applicable radio medium access control (MAC) protocol, to support multiple channel changes per superframe time. Current state-of-the-art radios, such as one based on the IEEE 802.15.3 standard, should readily satisfy these requirements.
Since all nodes within a given piconet will transmit and receive on a particular channel within a frame, and since relay nodes must monitor the beacons of all the piconets it is spanning with only one radio, those beacons must occur at different times-preferably spaced far enough to allow sufficient channel switching time. Thus, relay nodes will listen to a first beacon from a first piconet on a first channel at a first period of time (start of first frame), and then switch to a second channel, listening for a second beacon from a second piconet, at a second time period (start of second frame). Thus, it follows that the meshing piconets must use the same superframe period and maintain beacon synchronization and spacing.
On start up, each PNC scans the radio channels for pre-existing piconets and selects an unused channel for its piconet. If there is no unused channel, it then follows the child/neighbor piconet startup procedure as defined in IEEE 802.15.3. If there is no pre-existing piconet or no piconet which meshing is desired, the PNC sets up its own piconet in independent mode with a self-selected superframe size. Operation then continues as defined in 802.15.3 for a PNC. If there are one or more existing piconets & meshing is desired, the PNC selects a reference piconet, monitors its beacon to get the superframe size and uses the same superframe size for its own piconet. The PNC applies a fixed delay from the reference beacon to its own beacon in its own channel. One method of generating non-overlapping delays is to use the radio channel number to space the beacons within a superframe. For example, if the radio supports 8 channels, then the beacons are placed at ⅛ superframe spacing, in order of channel 1, 2, to 8. The PNC monitors the reference beacon (requiring a switch to the reference's radio channel and back) every superframe and follows the reference's superframe size in case it changes.
During operation all relay nodes tell their associated mesh-capable piconet controllers (MPNC) (typically two MPNCs) of their availability status so that the MPNCs can schedule the relay node's active channel time at a non-conflicting spot in their own networks. For 802.15.3, this protocol is an extension of existing device-to-piconet-controller (DEV-PNC) communications. Additionally, the channel time reservation and assignment will require receivers' participations. A CTA is granted when both source and all destinations are available. For 802.15.3, the protocol may involve extensions of existing DEV-PNC communications. The network scheduler must be aware of meshing constraints (a relay node being busy during its other piconets' beacon times and activities). Finally, a traditional 802.15.3 device (DEV) will be compatible with the MPNCs and RLYs but its throughput performance may be improved if it adds a protocol to request and assign channel time for transmission between a source and one or more destinations within a piconet.
When operating as a relay node, logic circuitry 501 must associate with at least two piconets. In doing so, node 500 will be given a timeslot for transmission and a timeslot for reception within each piconet's frame. When relaying between the two piconets, transceiver 505 will be receiving data from a first node on a first channel, existing in a first piconet, buffering the data, and relaying the buffered data on a second channel to a second node existing in a second piconet.
At step 703 transmit operations are performed by transceiver 505 during the first time period on the first piconet using the first channel. It is during this time period that data is transmitted by node 500 to nodes participating in the first piconet. At step 705 logic circuitry 501 buffers any data to be transmitted to the second piconet and transceiver 505 switches frequencies and begins receive operations on the second piconet (step 707). Transceiver 505 uses a second channel and a second time period (part of second piconet's frame) to receive data from nodes participating in the second piconet. Finally, at step 709 during the second time period transceiver 505 performs transmit operations for the second piconet using the second channel. It is during this time period that any data buffered data to be transmitted from node 500 takes place from nodes participating in the second piconet.
While the invention has been particularly shown and described with reference to a particular embodiment, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. It is intended that such changes come within the scope of the following claims.