WO2001041348A2 - System and method for communication in a ad-hoc network - Google Patents

System and method for communication in a ad-hoc network Download PDF

Info

Publication number
WO2001041348A2
WO2001041348A2 PCT/SE2000/002409 SE0002409W WO0141348A2 WO 2001041348 A2 WO2001041348 A2 WO 2001041348A2 SE 0002409 W SE0002409 W SE 0002409W WO 0141348 A2 WO0141348 A2 WO 0141348A2
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
piconet
capacity
request
scheduler
Prior art date
Application number
PCT/SE2000/002409
Other languages
French (fr)
Other versions
WO2001041348A3 (en
Inventor
Per X. Johansson
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to EP00983627A priority Critical patent/EP1236308A2/en
Priority to JP2001542497A priority patent/JP2003516095A/en
Priority to AU20358/01A priority patent/AU2035801A/en
Publication of WO2001041348A2 publication Critical patent/WO2001041348A2/en
Publication of WO2001041348A3 publication Critical patent/WO2001041348A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/563Allocation or scheduling criteria for wireless resources based on priority criteria of the wireless resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements

Definitions

  • the present invention relates to electronic communication in ad-hoc communication networks, and more particularly relates to systems and methods for scheduling inter-piconetwork communication sessions that accommodate Quality of Service (QoS) parameters.
  • Traditional communication networks are commonly designed according to a hierarchical architecture.
  • User communication accesses the network via a source node and is routed through dedicated equipment in the network to a destination node.
  • a destination node For example, in a wireless, cellular communication network a user originates a communication session by dialing the telephone number of a desired destination. The user's call is received in a base transceiver station (BTS), where it is typically transferred across a wireline network to the destination.
  • BTS base transceiver station
  • the destination is also a wireless remote terminal (e.g., a cellular phone)
  • the call is routed to a BTS in the cell in which the phone resides at the time.
  • the BTS transmits the user communication across the wireless interface to the cellular phone.
  • the remote terminals may include data terminals such as, for example, Personal Computers (PC's), Personal Digital Assistants (PDAs), or other terminals capable of transmitting data packets.
  • Hierarchical communication networks represent an inefficient use of the radio spectrum in circumstances which the remote terminals are sufficiently close together that they could communicate directly.
  • Establishing a connection through the network requires that two links (e.g., radio channels) be established and consumes resources of three radio units (e.g., two remote terminals and a BTS) in the session when only a single link or channel would be required if the terminals could communicate directly.
  • two links e.g., radio channels
  • three radio units e.g., two remote terminals and a BTS
  • remote terminals should communicate with other terminals directly, if possible.
  • Ad-hoc communication networks attempt to address this situation by providing remote terminals with the capability to form direct (e.g., ad-hoc) connections, without the assistance of an intervening communication network.
  • Wireless systems that support ad hoc connections should provide direct communication among any radio units that are in range of one another.
  • the technology specifications referred to as Bluetooth provide an exemplary ad-hoc communication network.
  • Bluetooth is an ad-hoc wireless network technology intended for both synchronous traffic, e.g., voice, and asynchronous traffic, e.g. IP based data traffic.
  • the goal of Bluetooth is to enable any commodity device such as telephones, PDAs, laptop computers, digital cameras, video monitors, printers, fax machines, etc. to engage in ad-hoc communication sessions over a radio interface, assuming, of course, that the devices contain a Bluetooth radio chip and associated software.
  • Such ad-hoc communication sessions can use the unlicensed ISM bands at 900 MHz and 2400 MHz which have been opened for commercial applications, and many products have been introduced providing wireless communications in these bands.
  • the use of these radio bands is restricted in the United States by Part 15 of the rules of the Federal Communications Commission (FCC) and in Europe by ETS 300 328 of the European Telecommunication Standards Institute (ETSI). Other countries apply similar rules. Briefly stated, the rules require a user to spread its transmitted power over the frequency band in order to minimize the chance of interference with other users.
  • Such spreading can be achieved by either of two techniques known in the art of spread spectrum communication systems.
  • the transmitter emits a carrier signal that is modulated in a conventional way by the information to be sent and the frequency of the carrier signal is changed (hopped) according to a predetermined pattern that is known to the receiver.
  • GSM-type systems are well-known examples of frequency hopping systems.
  • binary information to be sent is combined with a noise-like, higher-bit-rate binary sequence that is known to the receiver and the combination sequence modulates a carrier signal having a fixed frequency.
  • the Bluetooth specifications support both point-to-point and point-to- multipoint network connections.
  • piconet refers to two or more devices engaged in an ad-hoc radio connection. Under current standards, a piconet may include a minimum of two and a maximum of eight connected devices.
  • One device in the piconet assumes the role of a master device, commonly referred to as the "master”, and will direct the communication session with the other devices in the piconet, which are referred to as "slave” devices.
  • the master unit's clock cycle and hopping sequence are used to synchronize all other slave devices in the piconet. Schematic depictions of Bluetooth piconets are shown in Fig. 1.
  • Piconet 110 is a point-to-point piconet, with the master node 112 illustrated as a darkened node, and a single slave node 114, illustrated as a whitened node.
  • Piconet 120 is a point-to-multipoint piconet having a master node 122 and two slave nodes 124, 126.
  • Piconet 130 includes master node 132 and seven slave nodes 134-146.
  • two or more piconets can be interconnected, forming what is referred to in Bluetooth as a scatternet.
  • Each piconet includes a master unit and, accordingly, may have its own timing and frequency hopping scheme; connected piconets may be independent and unsynchronized.
  • the network node that defines the connection point between two piconets includes a Bluetooth unit that is a member of both piconets.
  • a Bluetooth unit can be a slave member of multiple piconets, but can be a master in only one piconet.
  • a Bluetooth unit that acts as master in one piconet can participate in other piconets as a slave.
  • Fig. 2 is a schematic depiction of a Bluetooth scatternet comprising twelve interconnected piconets.
  • Bluetooth units that act only as master units in their respective piconet are depicted as darkened circles (e.g., Ml, M3, M4, M6, M7, M 7, M 9, M 11, M12).
  • Bluetooth units that act as master units in one piconet and slave units in a separate piconet are illustrated as half-darkened circles (e.g., M2, M5, M8).
  • Bluetooth units that act as master units in one piconet and slave units in two separate piconets are illustrated with one-third of the circle darkened (e.g., M10).
  • Slave units are similarly divided to illustrate the number of piconets to which the unit belongs.
  • a Bluetooth unit can transmit and receive data in one piconet at an given point in time, so participation in multiple piconets has to be divided on a time division multiplex basis.
  • the Bluetooth system provides full-duplex transmission built on slotted Time Division Duplex (TDD) in which each slot is 0.625 ms long.
  • TDD Time Division Duplex
  • the time slots are numbered sequentially using a very large number range (e.g. cyclic with a cycle of 2 27 ).
  • Master-to-slave transmission starts in an even-numbered time slot while slave-to-master transmission starts in an odd-numbered time slot.
  • An even-numbered time slot and its subsequent odd-numbered time slot i.e., a master-to-slave time slot and a slave-to-master time slot, except when multi-slot packets are used
  • Communication within a piconet is organized such that the master polls each slave according to a polling scheme.
  • a slave is only allowed to transmit after having been polled by the master.
  • the slave then starts its transmission in the slave- to-master time slot immediately following the packet received from the master.
  • the master may or may not include data in the packet used to poll a slave.
  • Each Bluetooth unit has a globally unique 48 bit IEEE 802 address. This address, called the Bluetooth Device Address (BD ADDR) is assigned when the BT unit is manufactured and it is never changed.
  • the master of a piconet assigns a local Active Member Address (AM_ADDR) to each active member of the piconet.
  • the AM_ADDR which is three bits long, is dynamically assigned and is unique only within a single piconet.
  • the master uses the AM_ADDR when polling a slave in a piconet. However, when the slave, triggered by a packet from the master addressed with the slave's AM_ADDR, transmits a packet to the master, it includes its own AM_ADDR (not the master's) in the packet header.
  • the packets can carry both synchronous data on Synchronous Connection Oriented (SCO) links (mainly intended for voice traffic), and asynchronous data on Asynchronous Connectionless (ACL) links.
  • SCO Synchronous Connection Oriented
  • ACL Asynchronous Connectionless
  • an acknowledgment and retransmission scheme may be used (not for SCO packets transferring synchronous data) to ensure reliable transfer of data (as well as forward error correction (FEC) in the form of channel coding).
  • FEC forward error correction
  • the standard format of a Bluetooth packet (although there are exceptions for certain controls packets) is shown in Fig. 3.
  • the AM_ADDR is located in the packet header followed by some control parameters (e.g., a bit indicating acknowledgment or retransmission request of the previous packet, when applicable) and a header error check (HEC).
  • HEC header error check
  • the format of the payload depends on the type of packet.
  • the payload of an ACL packet consists of a header, a data field and (with the exception of AUX1 type packets) a cyclic redundancy check (CRC).
  • the payload of an SCO packet consists of only a data field.
  • hybrid packets including two data fields, one for synchronous data and one for asynchronous data. Packets in which the payload does not include a CRC are neither acknowledged nor retransmitted.
  • Bluetooth specifications describe how to create piconets and form scatternets, and how to manage intra-piconet communication between Bluetooth units.
  • systems and methods for managing inter-piconet communication especially with a controlled QoS for the participating nodes, have not yet been considered.
  • methods for communicating between piconets in a scatternet with controlled delay and throughput have not yet been addressed in the Bluetooth specifications. Accordingly, there is a need in the art to provide communication sessions in an ad-hoc communication network that can provide desired QoS parameters. Further, there is a need to provide communication sessions that can provide a desired delay and throughput.
  • the present invention addresses these and other needs by providing systems and methods for managing inter-piconet communication in ad-hoc communication network.
  • systems and methods of the present invention enable efficient time sharing for nodes taking part in two or more piconets in a packet radio system, where the node can be active in only one piconet in a time window.
  • the invention enables either a periodic active window pattern or a renegotiated window on a per visit basis.
  • the period of an periodic active window pattern may be scaled up or down to allow for delay sensitive traffic to take part.
  • the invention also provides for separation of different priority classes when the active windows are allocated between nodes in the clustered network.
  • the invention enables an adaptive allocation of active windows to enable an efficient utilization of the network resources.
  • the adaptive allocation mechanism also allow a network wide fairness for allocated multihop traffic flows.
  • the invention provides, in an ad-hoc communication network in which terminals may belong to more than one piconet, a method of modifying the allocation of a terminal's capacity between two or more networks, comprising the steps of: receiving, in a first terminal, a request from a second terminal to modify the first terminal's capacity allocation; determining whether the first terminal has sufficient available capacity to accommodate the request; and if the available capacity is sufficient, then comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request.
  • the invention provides, in an ad-hoc communication network comprising a plurality of Bluetooth units adapted to allocate capacity between at least two different piconets, a method of modifying a terminal's capacity allocation between a first piconet and a second piconet, comprising the steps of: receiving, in a first terminal, a request from a second terminal to modify the first terminal's capacity allocation, the request including a digital representation of the second terminal's capacity allocation; determining whether the first terminal has sufficient available capacity to accommodate the request; and if the first terminal's available capacity is sufficient, then comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request.
  • the invention provides a capacity allocation module for a first communication terminal, comprising a communication module for receiving a request from a second communication terminal to modify the first terminal's capacity allocation, the request including a digital representation of the second terminal's capacity allocation; a memory module for storing a digital representation of the first terminal's capacity allocation; a processor module operative associated with the memory module for comparing the first terminal's capacity allocation with the second terminal's capacity allocation to determine mutually acceptable capacity blocks allocable to satisfy the request.
  • Fig. 1 is a schematic depiction of piconets of an ad-hoc communication network
  • Fig. 2 is a schematic depiction of a plurality of piconets interconnected to form a scatternet
  • Fig. 3 is a schematic depiction of a packet used in an ad-hoc communication network
  • Fig. 4 is a schematic depiction of a scatternet scheduler in accordance with aspects of the present invention
  • Fig. 5 is a schematic depiction, in greater detail, of a scatternet scheduler in accordance with the present invention.
  • Figs. 6a and 6b are schematic depictions of scatternets in accordance with aspects of the invention.
  • Fig. 7 is a depiction of piconet scheduler lists at various network nodes in a two piconet scatternet in accordance with the present invention
  • Fig. 8a is a schematic depiction of a modified SNIFF Request LMP packet in accordance with aspects of the present invention
  • Fig. 8b is a schematic depiction of a piconet scheduler change request packet in accordance with aspects of the present invention
  • Fig. 9a is a schematic depiction of a piconet scheduler list change procedure initiated by a slave terminal's Piconet scheduler change LMP message in accordance with aspects of the present invention
  • Fig. 9b is a schematic depiction of a piconet scheduler list change procedure initiated by a slave terminal's SNIFF Request in accordance with aspects of the present invention
  • Fig. 10a is a schematic depiction of a piconet scheduler list change procedure initiated by a master terminal's Piconet scheduler change LMP message in accordance with aspects of the present invention
  • Fig. 10b is a schematic depiction of a piconet scheduler list change procedure initiated by a master terminal's SNIFF Request in accordance with aspects of the present invention
  • Fig. 11 is a schematic depiction of piconet scheduler lists at various network nodes in a three piconet scatternet in accordance with the present invention.
  • the present invention will be described in the context of Bluetooth networks and using terminology applicable to Bluetooth networks. However, it will be appreciated that the invention is equally applicable to other ad-hoc network technologies, and will be described generalized to be applicable also to other network technologies.
  • Bluetooth is based on a master-slave architecture in which intra-piconet communication traffic flows between a master and a slave using Time Division Duplex (TDD) frames.
  • a slave in a piconet can be addressed (e.g., polled) at any start of a frame unless a power saving mode (e.g., any of the PARK, SNIFF, or HOLD modes) is invoked in the slave.
  • the slaves in a piconet are synchronized with the frame and frequency hoping sequence of the master. For a single piconet the task of providing a controlled bit rate and delay of the traffic to the slaves is managed by the master alone and should be handled with a scheduler located in the master unit.
  • B-FEP Batched Fair Exhaustive Polling
  • the present invention is particularly concerned with providing inter-piconet communication, i.e., communication between nodes belonging to different piconets. It is assumed herein that a Bluetooth unit hosts several slave entities and, at most, one master entity to handle the abstraction of presence in several piconets.
  • the present invention addresses the problem of scheduling time periods where both nodes of a link have their transceiver tuned in to the same piconet, while minimizing losses due to timing mis-match.
  • a timing mis-match occurs when two units in separate piconets each have idle capacity available, but are unable to use the idle capacity because there is no simultaneously available time window.
  • inter-piconet traffic scheduling While two units are scheduled for inter-piconet traffic (always one master and one slave) the slave unit becomes part of the master's piconet and should also be scheduled by the intra- piconet scheduler. Thus, inter-piconet traffic scheduling also raises issues of intra- piconet traffic scheduling.
  • the scheduler should allow for a dynamic bandwidth allocation among the users.
  • the use of a single transceiver unit forces a rather strict timing of the master and slave entities in nodes belonging to different piconets. These need to become active at the same time to utilize the given time window in their common piconet efficiently.
  • inter-piconet scheduling The scheduling of traffic between piconets.
  • inter-piconet scheduling the traffic within each piconet needs also to be controlled in order to give an efficient, but fair, distribution of the bandwidth available inside the piconet.
  • intra-piconet scheduling should take the inter- piconet scheduling into consideration to avoid polling nodes that are not present in the current piconet. If, however, there are only two nodes in the piconet the intra- piconet scheduling is simplified.
  • the invention described herein focuses on an inter-piconet scheduling algorithm.
  • the following section introduces an overall scheduling model, denoted scatternet scheduler, describing the interaction between an inter-piconet scheduler and an intra-piconet scheduler. Performed correctly, the interworking between the two schedulers enhances performance of the scatternet. Moreover, the model organizes the scheduling mechanism to help distinguish between the two levels of scheduling.
  • Fig. 4 is a schematic depiction of a scatternet scheduler 410 in accordance with aspects of the present invention.
  • Scatternet scheduler 410 may be implemented in suitable digital logic circuits in a Bluetooth node.
  • Scatternet scheduler 410 includes two components: a master-slave scheduler 420, which is actived only in master nodes, and a piconet scheduler 430, which is actived in both master nodes and slave nodes.
  • the block diagram in Fig. 4 provides an overview of a scatternet scheduler 410 for a Bluetooth node that acts as the master node in one piconet, referred to as PI, and a slave node in adjacent piconets P2-Pn j .
  • Master-slave scheduler 420 is responsible for scheduling the downlink slaves (S,..S ni ) in PI during time periods when the Bluetooth node acts as a master in piconet PI . Stated otherwise, the master-slave scheduler 420 is reponsible for intra-piconet scheduling.
  • Piconet Scheduler 430 is responsible for determining the time periods during which the Bluetooth node is active as a master in Piconet PI and when the Bluetooth node is active as a slave in one or more of piconets P2-Pn j . Stated otherwise, piconet scheduler 430 is responsible for intra-piconet scheduling.
  • piconet scheduler works on absolute timing, i.e., by identifying what time slot to invoke a certain slave or master, determining for how much time (or how many time slots or frames) the respective slave or master will have access to the radio interface, and scheduling the next interval during which they will become active.
  • the master- slave pair may put themselves in a power save mode, e.g., HOLD or SNIFF.
  • the master-slave scheduler works on a relative timer according to a suitable intra-piconet scheduling algorithm.
  • a network node that desires to perform inter- piconet communication issues requested transmission rate and delay (QoS) parameters to the scatternet scheduler, which adapts the requirements further for the master-slave scheduler and the piconet scheduler.
  • QoS transmission rate and delay
  • Fig. 5 is a schematic depiction, in greater detail, of a scatternet scheduler 510 in accordance with the present invention.
  • slave nodes that are members in the piconet in which the node housing the scatternet scheduler 520 is master are scheduled using an intra-piconet scheduler 522 that implements a suitable scheduling algorithm (e.g. the B-FEP algorithm).
  • Slaves that are pointed out by the piconet scheduler (PS) 530 are indicated to the master-slave scheduler, e.g. put into a list of active slaves that are eligible for polling by the master.
  • the piconet scheduler 530 controls the timing during which a node is assigned to one of a plurality of respective piconets.
  • the scheduling algorithm implemented on the intra-piconet scheduler 522 on the master slave scheduler 520 uses the input from the piconet scheduler to decide what slaves are currently present in the master's piconet, denoted PI in Fig. 6a and
  • the slaves scheduled as present in PI may still be inactive in terms of data transfer, however, and therefore defined as inactive by the intra piconet scheduling algorithm.
  • the piconet scheduler may schedule several slaves as being present, overlapping in time, since they belong to the same piconet.
  • the piconet scheduler 530 may be depicted as a list or array consisting of points in time when a slave or the master entity in a node shall become active and the issue is to co-ordinate the starting point and duration with the other peer slave or master entity. Because different piconet may have different slot timing, a switch between two piconets typically consumes at least one slot before any traffic may be sent. Therefore, selecting active intervals that are too short will result in excessive overhead. By contrast, selecting active intervals that are too long may induce excessively long packet delays.
  • one approach to inter-piconet scheduling is based on a dual match between idle time intervals (t,) and active (t a ) time intervals between a master and its slave.
  • an idle interval is only idle for the a particular master-slave pair and may be used (by both nodes) for communication within other piconets.
  • a slave or a master When either a slave or a master is no longer active in a piconet it may enter a power save mode to let the master, or slave(s), of the same piconet know that the node cannot be contacted.
  • Either the SNIFF mode or the HOLD mode may be used in this respect.
  • the SNIFF mode lets a slave listen to the master with a specified period T sniff and duration N sniffattempI , which both are parameters negotiated with LMP
  • a node that sets up SNIFF mode intervals in two piconets will have the same periodic activity pattern until new SNIFF intervals are negotiated.
  • new SNIFF intervals are negotiated.
  • the HOLD mode is used a new T hold must be defined at each end of a communication window in a piconet.
  • the SNIFF mode is a good alternative, while the HOLD mode may work better in more dynamic network.
  • the SNIFF mode is used as an example to define the joint time between master and slave pairs in different piconets.
  • a scatternet depicted in Fig. 6a is a two-piconet scatternet, which is expanded into a three piconet scatternet depicted in Fig. 6b.
  • This description is focused on the slave node taking part in all three piconets (containing slave entities, SI 6, S21, and S31) and the adjacent master (Ml) and master/slave (M2/S 17) nodes.
  • piconet 1 includes master Ml (identified as node C) and seven slaves identified as S1-S7.
  • piconet 2 comprises a master node M2 (identified as node A) and a single slave node S21 (identified as node B).
  • Fig. 7 presents representations of the piconet scheduler list in the piconet scheduler of the three network nodes A, B, and C depicted both as data in a piconet scheduler list register and as sequences of frames representing the piconet scheduler lists. Note that the slots/frames of piconet 1 and piconet 2 need not be synchronized, but this is not illustrated in detail in the frame sequences. Instead one frame is used as guard frame when a node switches between piconets.
  • the length of the piconet scheduler list depends on the time period defined for the SNIFF mode.
  • the list can be seen as a cyclic register counted modulo T ps , which corresponds to the period of the longest active SNIFF mode in a node.
  • This period of frames a may be denoted a piconet scheduler frame, which includes a plurality of Bluetooth frames. Shorter periods may also be used provided T PS is a multiple of the shorter periods.
  • piconets are asynchronous (i.e., the timing of connected piconets need not be synchronized) their clock frequencies may differ, resulting in a sliding offset between the slots/frames in the piconet.
  • SNIFF updates may be requred to adjust for the alignment between slots as active windows may "slide" and overlap.
  • updates are expected to be rather infrequent compared to updates caused by traffic dynamics.
  • a master node e.g., node C in Fig. 6a
  • node C may schedule several overlapping slaves simultaneously. In the example, this is the only way node C can communicate with nodes A and B since they otherwise are both in piconet 2.
  • all nodes that are in more than one piconet must also schedule time for overhead procedures such as LNQUIRY/INQUIRY SCAN and PAGE PAGE SCAN procedures in case they are defined as discoverable and connectable nodes.
  • the particular time periods during which these procedures are scheduled is not critical to the present invetion, and accordingly is not described explicitly herein, but could be done, for instance, between two SNIFF intervals.
  • Node D may connect to node B according to conventional Bluetooth connection procedures or according to the procedures described in one or more of the co-pending and commonly assigned U.S. Patent Applications incorporated by reference above.
  • node B can be scheduled to piconet 3 during this free time period and the piconet schedule lists do not need to be updated (e.g., by updating the existing SNIFF parameters)
  • node B's piconet scheduler list does not have a sufficiently large time window available to accommodate establishing a piconet between node B and node D, then either the T PS is increased for both A and C or the current time windows (N snil ⁇ attempt ) is decreased to make room for the new piconet in B.
  • an existing master-slave pair requires an increased time window at the same location in the piconet scheduler frame.
  • a master-slave pair requires changed location of their time window in time. However, then the capacity should be available but may not be allowed to move in time (i.e. the active window location in the piconet scheduler frame).
  • a node master or slave role detaches from the master-slave pair and releases capacity, and/or a master-slave pair requires a new T PS period. This may trigger a full update of the entire piconet scheduler frame and potentially other master-slave pairs having one of the nodes as a shared node.
  • An autonomous adaptive allocation process decides to change the piconet scheduler frame structure of one or more allocations. This could be the result of procedures that detect under-utilized piconet scheduler frame windows.
  • the process of finding an appropriate window for the new piconet involves an information exchange procedure, which information may be transmitted between Bluetooth units in an new type of LMP message or in modified versions of existing LMP messages.
  • the information exchange may also take place using a dedicated protocol, other than LMP, which may run as a separate application using regular data packets.
  • piconet scheduler lists should be exchanged when a piconet scheduler frame needs to be changed in a node, for example due to adding or detaching node(s), changing bandwidth requirements (larger/smaller active window), or adjusting slot alignment (e.g., as discussed above).
  • piconet scheduler lists are exchanged between respective master and slave node pairs to be used as a basis for decision when a new piconet scheduler list is created.
  • the information in the piconet scheduler list may be encoded as starting points and duration of scheduled slaves and master or possibly also as a binary array representation of a piconet scheduler frame. The latter can denote occupied and free frames in the current piconet scheduler frame for a node.
  • piconet scheduler list data could be divided into smaller pieces that are sent in several packets and the receiver may assemble the information itself.
  • the information could be exchanged by an application that runs in the background of the processor so that information may be exchanged constantly, periodically, or whenever capacity is available.
  • the master unit e.g., the unit that acts as a master in a master-slave pair
  • the master unit makes the decision on a new piconet scheduler list of a slave.
  • changes may be requested by a slave unit.
  • a slave node wants to initiate a change of its piconet scheduler frame it sends its piconet scheduler list, together with the desired change, to its master node either in a piconet scheduler change request LMP message or in a modified SNIFF request LMP message.
  • the latter contains the same information as the original SNIFF message and also carries a representation of the piconet scheduler list in the last 7 currently unused bytes. In Fig. 8, the formats for the two alternatives are depicted.
  • the master accepts the change requested by the slave node, the master returns a piconet scheduler change accept LMP with the new piconet scheduler list, or a modified SNIFF accept LMP message.
  • the master may return a piconet scheduler change request LMP with an alternative piconet scheduler list, or a piconet scheduler non-accept LMP message.
  • the returned information could also contain information regarding the available capacity to facilitate the slave to make a better choice in a subsequent piconet scheduler change request. If necessary, a slave and master may execute several iterations of messag s to negotiate mutually acceptable changes to the piconet scheduler list.
  • a master unit wants to change its Piconet schedulerframe, it issues the desired change request in a piconet scheduler change request LMP message, or in a modified SNIFF message, to the slave. If the slave accepts the change it replies with an piconet scheduler accept LMP message, which may also include capacity information to facilitate the master to make a better choice in a subsequent piconet scheduler change request. Otherwise it sends its piconet scheduler list to the master in a piconet scheduler change request message for the master to reply to, or it sends a piconet scheduler non-accept LMP message.
  • piconet scheduler change LMP messages are used to exchange piconet scheduler lists, and result in an accept, they should be followed by a forced SNIFF set-up (SNIFF LMP) from the initiator based on the agreed piconet scheduler list, as illustrated in Fig. 9.
  • SNIFF LMP forced SNIFF set-up
  • modified SNIFF LMP messages are used to exchange piconet scheduler lists, the SNIFF mode parameters are set up directly if an agreement on piconet scheduler lists is reached, as illustrated and in Figure 10.
  • the piconet scheduler change request may be sent early in a piconet scheduler frame window, and the response may be sent in the end of the same window.
  • n can be in the range of 1, 3, 5,..., t a ⁇ , where t m is the length of the piconet scheduler frame window for piconet i.
  • Piconet Scheduler Frame Allocation Algorithms As illustrated above, changing the piconet scheduler frames in two nodes involves a negotiation procedure between the two involved nodes of a link.
  • the effort, or computation complexity, involved in changing a piconet scheduler frame varies as a function of the number piconets to which a network node is already allocated.
  • a piconet scheduler frame change is controlled by the master in the piconet, but a slave with stringent piconet scheduler frame requirements may deny a piconet scheduler frame change from its master.
  • each network node includes a memory that stores a number of network parameters.
  • the piconet scheduler frame request messages also include a number of parameters relevant to the desired QoS for the requested link.
  • a processor associate with the node applies a set of logic rules to the parameters to make a determination about the characteristics of a new piconet scheduler list, if it is necessary to create one.
  • a request for changing the piconet scheduler frame for piconet i in a node that is present in several piconets comprises a number of parameters
  • One or more of these parameters may be left open if no requirement is defined when the request is issued.
  • an objective rate should usually be defined (e.g., even by default if both T PSl and t m a e left open), but may be overruled if they are defined.
  • the objective rate parameter does not need to define an actual data transfer rate in packets; it may define a window that provides a desired share of the total capacity of the air interface, assuming the node is alone with the master in the scheduled piconet.
  • An absolute required rate could also be considered, but would require the request to be directly considered by the intra-piconet scheduler (MSS).
  • the priority class parameter is used to give priorities between the allocated piconets in a node. An incoming request with a higher priority may override an active time window for a piconet with a lower priority. The request may also be considered by the intra-piconet scheduler to give an assured bandwidth share of the piconet.
  • the priority class parameter may also be used to allow nodes with tight timing requirements and/or nodes that are members of many piconets to get preference on their existing or required active window allocations in a piconet scheduler frame.
  • One of the priority levels should be a "best effort" level where the objective rate may be set to the maximum potential nominal rate (equal to 1) which should be interpreted as the node should be given the fair share of the capacity within the same (best effort) class. In that case the node accepts any setting of the piconet scheduler
  • a higher priority class may require a specific combination of the T PSl and t m parameters, where the starting point parameter, dacco also may be significant. It will be appreciated that the system may contain one or more priority classes.
  • C sys Capacity reserved for system procedures as for instance INQUIRY and PAGE. This capacity may not be shared by any user traffic unless circuit switched traffic is scheduled in any of the active piconets of a node.
  • C av2 The capacity available in the priority classes below the priority class of the issued Piconet scheduler change request. Already allocated capacity from the requesting node is however excluded from the C av2 .
  • C FS The fair share capacity of a piconet in a node for traffic in a priority class of best effort type.
  • Piconet scheduler change Request parameters and the Piconet scheduler list itself must also be stored in the node to be updated and prepared for any upcoming Piconet scheduler change Request message.
  • Piconet scheduler change Request Procedures the following steps are processed by a node that gets a request for piconet scheduler change including the piconet scheduler list from the requesting node.
  • the request could be issued in either a piconet scheduler Change Request LMP message or in a modified SNIFF Request LMP message: 1 )
  • a node that receives a request for a Piconet scheduler change from piconet /, within priority classic, first checks the available capacity for that priority class. Capacity already allocated by lower priority classes is also considered as eligible for allocation by this request.
  • the total available (normalized) capacity for a piconet (master-slave pair) j with priority class pc including capacity already allocated within its own priority class, C ⁇ v/ may be calculated as follows:
  • C sys is capacity reserved for system traffic (INQUIRY/PAGE procedures) and the sum denotes capacity allocated for higher priority traffic.
  • the non-accept message may contain the information, say the C avl parameter, to allow the initiator to issue a new request with a better chance of getting accepted.
  • step 4 may be entered at this stage.
  • C av2 be the capacity available for priority classes below p CJ , i.e.
  • step number 4 If no capacity is considered available, taken from unused or lower priority classes, based on e.g. the issued objective rate r oj ⁇ Ov2 ⁇ > step number 4 is entered at this stage, otherwise step 3 is entered.
  • a response is given back with the requested allocation assigned to a new piconet scheduler list on a best fit basis.
  • the latter may involve a procedure that tries to pack the piconet scheduler frame as tight as possible to avoid fragmentation of the piconet scheduler frame.
  • the request from piconet y requires specific values for the T PSj and t aj parameters and these values are not in conflict with the existing T PS value, then the request is accepted by sending the new, updated piconet scheduler list back to the initiator.
  • the request from piconet y requires specific values for the T PS/ and t a/ parameters for the request from piconet y and they are in conflict with the existing T PS value, then the request should be accepted if there is no higher priority class present among the allocated piconets and rearrangements of the piconet scheduler frame within the same class is accepted, or • there is no higher priority class present among the allocated piconets and piconety is the only piconet present within its own priority class.
  • One example of a conflict here is the case when the requested T PSj value is not a multiple of the existing T PS period. This would result in consecutive piconet scheduler frames that are not identical, which could cause the windows to "slide" into each other.
  • a response is sent back with the requested allocation assigned to a new piconet scheduler list on a best fit basis, or else step 4) is entered.
  • the former may involve a procedure that tries to pack the piconet scheduler frame as tight as possible to avoid fragmentation of the piconet scheduler frame.
  • An exemplary method for packing the piconet scheduler frame is discussed below. If a rearrangement of the piconet scheduler frame is necessary, a sequence of piconet scheduler change procedures with other piconets may be triggered at this node.
  • This step is entered if capacity within the requested priority class must be shared to accommodate the requested capacity. If the requested priority class does not allow any sharing, then a non-accept message is sent back to the request initiator and the piconet scheduler change request procedure may be aborted here.
  • the non-accept message may contain information (e.g., the C av2 and/or C avl parameter(s)) to allow the initiator to issue a new request with a better chance of getting accepted.
  • the fair share allocation for the request is calculated according to the rule for sharing is adopted for the system.
  • n pc/ , C Lpq and n Lpc ⁇ are parameters denoting the total number allocations including the new request, the aggregated limited capacity, and the number of limited flows respectively, all within the priority class pc r
  • a "limited flow" is an allocation, C FSt say, that conforms with the rule
  • Limited flows could be the result of flows passing a bottleneck node in a multi-hop network in which the fair share is less than the one offered in this node, or an application that is limiting the flow.
  • the "min" operation in the C FSj calculation assure that only the requested objective rate is allocated, thus the allocated flow from piconet y may become limited from start.
  • the new piconet scheduler list with the new allocation is sent back to the initiator.
  • this process will trigger piconet scheduler change procedures of existing allocations c avl affected of the new allocation, i.e. nodes that have allocations > QV . n pcj
  • steps 1 through 4 are gone trough the outcome should have been either an accept or a non-accept.
  • a forced SNIFF allocation is issued if the piconet scheduler change was accepted.
  • a new piconet scheduler List When a new piconet scheduler List is created it may take some time for the node to start using it since it still is committed to an ongoing piconet scheduler frame that may be affected of the new piconet scheduler frame. Therefore, the node should store the new piconet scheduler frame and continue with the old piconet scheduler list until all affected nodes has updated their piconet scheduler list to be in accordance (match) with the new piconet scheduler list.
  • the d, and/or the d ⁇ parameter may be used to denote when an active window in a new piconet scheduler list can be used for the first time.
  • the piconet scheduler change request parameters should be fit into any positions available during corresponding time slots in both piconet scheduler lists. This avoids updates of other concurrent piconets in both of the involved nodes (the master-slave pair).
  • a node S sends a piconet scheduler change request message to a node R (receiver).
  • the request contains data representative of S's piconet scheduler list, PS S .
  • Node R must then determine whether there is a mutually acceptable block of capacity allocable to a communication session between node S and node R. In an exemplary embodiment, node R makes this determination by attempting to find a sufficiently large block of available capacity in corresponding time slots in PS S and PS R .
  • Node R may make this determination by performing the following steps, preferably only when the piconet scheduler change request procedures described above conclude that there is sufficient capacity to accommodate the request. It should be noted that this procedure may result end in a non-accepted Piconet scheduler change request.
  • a processor operatively associated with the piconet scheduler creates two binary arrays representative of the piconet scheduler lists PS S and PS R , denoted PS BS and PS BR respectively.
  • the binary arrays represent the piconet scheduler frames of the two nodes S and R, and each position corresponds to a frame in the piconet scheduler frame. Consequently, the length of a binary array corresponds to the duration of the node's piconet scheduler frame (e.g., T PS ).
  • the content of a position binary array representing piconet scheduler list may be set to a binary "1" if it is part of an active window and to a binary "0" if the time slot it represents is free to be allocated to the request. If the piconet scheduler change request represents a change of an already allocated window, the window already present should be excluded from the PS S and a request for an entire new window should be issued.
  • the piconet scheduler list transmitted in the piconet scheduler change request message may be in the form of a binary array that represents the piconet scheduler list, which would render the step of creating this array unnecessary.
  • the particular form in which the piconet scheduler list is represented in the piconet scheduler change request message is a function of engineering and network economics, and is not critical to the present invention.
  • the processor performs a bit-wise "AND” operation on the binary arrays that represent the piconet scheduler list.
  • the free locations in PS B may be compared to the piconet scheduler change Request parameters issued by node S. Depending on how the strict the request was regarding position and objective rate, the issued active window is matched against the free locations. If no requirements on the location in the Piconet scheduler frame is issued it is only the size of continuously free frames that is matched. A best fit should be made which means that the smallest free window that satisfy the issued objective rate should be used.
  • the new active window is included into the piconet scheduler lists of nodes S and R in the format used by the nodes. If the location of the active window is of concern it may be checked against available frames in PS BR already in step 2 before PS B1 is created.
  • a node may run an adaptive allocation algorithm in the background to change the piconet scheduler frame content when nodes are not using its full window or when more capacity should be given to a piconet in a node.
  • the idea is to keep a record of the utilization, p,(k), of each active window at time ft in a piconet scheduler frame.
  • the utilization may be calculated according to
  • the variable t use ⁇ (k) is a count of the number of frames that were used for carrying traffic in piconet i in piconet scheduler frame number k. This counting is made continuously in the node for each piconet and without distinguishing between uplink and downlink packets.
  • the next step in the scatternet example is to add a third piconet, e.g., by connecting node D to node B.
  • Node D may be connecting using a priority class of a best effort type and, likewise, node B may be assumed to have allocated piconets only of type best effort.
  • Node D discovered node B through an INQUIRY procedure and is now making a PAGE to node B to set up a new piconet in which it wishes to be the master.
  • node D may determine whether node B is member of another piconet by utilizing the information exchange described in one or more of the commonly assigned and co-pending U.S. Patent Applications incorporated by reference above. If node B is a member of another piconet, then node D issues a piconet scheduler change Request including a capacity parameter to be considered by node B. Alternatively, node B may issue a piconet scheduler change Request to node
  • node D immediately after the connection is established to include node D in its piconet scheduler list.
  • node B may make an estimated request for the capacity between D and B since B is not the initiator of the connection.
  • Fig. 11 the new piconet scheduler frames for the involved nodes are depicted.
  • node B the active windows with nodes A and C have been shrunk to fit in the active window with node D.
  • the change of the piconet scheduler lists in the other affected nodes (A and C) must be made by the piconet scheduler change procedures described in the previous sub-sections above. Typically it would in this case be initiated by node B since it agreed to the change of its piconet scheduler frame. Thus, the other piconet scheduler frames in nodes A and C must match this change.
  • a change in one part of a scatternet may result in a sequence of piconet scheduler change procedures in several other affected nodes. It may also be the case that a piconet scheduler change, request must be repeated with the same node to reach a steady state of the piconet scheduler frames in that portion, of the scatternet.
  • the difference between the HOLD mode and SNIFF mode is that the former must be reallocated each time an active window expires. This means that for each active window a piconet scheduler change procedure must be performed between two node.
  • the format of the piconet scheduler change Request message may be the same, but the requirement that the T PSl must be dividable to maintain a periodic piconet scheduler frame can be relaxed since the Piconet scheduler frame is renewed continuously.
  • T PS parameter as a reference for the objective rate and also as a limit on the delay in the system. Without this limit the active windows may grow uncontrolled during high load conditions in a node.
  • any of the allocated piconets in a node uses SCO channels this limits the number of simultaneous piconets in a node to a maximum of only two. This since the maximum distance between two SCO frames is three frames.
  • a switch between two piconets requires one frame, leaving only one frame left for communication in the two piconets involved.
  • a scatternet case with SCO channels is preferably set up with SNIFF since HOLD must be allocated before each switch between piconets.
  • the T PS parameter will in the SNIFF case be set to the SCO interval of three frames.
  • TDMA time division multiple access
  • a node in this system should typically only have one transceiver which must be tuned into one cluster at a time, i.e. it can receive and transmit in one cluster at a time only.
  • the packet format to exchange the piconet scheduler lists and change requests can be generic and the piconet scheduler frame structure may be used either periodically or be changed for each transmission.
  • steps described to determine if a piconet scheduler change can be allowed or not in a node may be applied very generically to a system described above.

Abstract

Systems and methods for scheduling inter-piconet communication in ad-hoc communication networks are disclosed. A first network node transmits a capacity allocation message to a second network node, which message includes a parameter indicative of the capacity requested from the second terminal and a representation of available capacity in the first terminal. The second terminal performs a matching function to determine whether there is mutually acceptable available capacity that is allocable to a communication session with the first terminal.

Description

SYSTEM AND METHOD FOR SCHEDULING COMMUNICATION SESSIONS IN AN AD-HOC NETWORK
BACKGROUND
The present invention relates to electronic communication in ad-hoc communication networks, and more particularly relates to systems and methods for scheduling inter-piconetwork communication sessions that accommodate Quality of Service (QoS) parameters. Traditional communication networks are commonly designed according to a hierarchical architecture. User communication accesses the network via a source node and is routed through dedicated equipment in the network to a destination node. For example, in a wireless, cellular communication network a user originates a communication session by dialing the telephone number of a desired destination. The user's call is received in a base transceiver station (BTS), where it is typically transferred across a wireline network to the destination. Of course, if the destination is also a wireless remote terminal (e.g., a cellular phone) then the call is routed to a BTS in the cell in which the phone resides at the time. The BTS transmits the user communication across the wireless interface to the cellular phone. It will be appreciated that the remote terminals may include data terminals such as, for example, Personal Computers (PC's), Personal Digital Assistants (PDAs), or other terminals capable of transmitting data packets.
Hierarchical communication networks represent an inefficient use of the radio spectrum in circumstances which the remote terminals are sufficiently close together that they could communicate directly. Establishing a connection through the network requires that two links (e.g., radio channels) be established and consumes resources of three radio units (e.g., two remote terminals and a BTS) in the session when only a single link or channel would be required if the terminals could communicate directly. Thus, forcing the communication session through the network reduces the network capacity by a factor of two. To make better use of network resources, and thereby improve network efficiency, remote terminals should communicate with other terminals directly, if possible. Ad-hoc communication networks attempt to address this situation by providing remote terminals with the capability to form direct (e.g., ad-hoc) connections, without the assistance of an intervening communication network. Wireless systems that support ad hoc connections should provide direct communication among any radio units that are in range of one another. The technology specifications referred to as Bluetooth provide an exemplary ad-hoc communication network. Bluetooth is an ad-hoc wireless network technology intended for both synchronous traffic, e.g., voice, and asynchronous traffic, e.g. IP based data traffic. The goal of Bluetooth is to enable any commodity device such as telephones, PDAs, laptop computers, digital cameras, video monitors, printers, fax machines, etc. to engage in ad-hoc communication sessions over a radio interface, assuming, of course, that the devices contain a Bluetooth radio chip and associated software.
Such ad-hoc communication sessions can use the unlicensed ISM bands at 900 MHz and 2400 MHz which have been opened for commercial applications, and many products have been introduced providing wireless communications in these bands. The use of these radio bands is restricted in the United States by Part 15 of the rules of the Federal Communications Commission (FCC) and in Europe by ETS 300 328 of the European Telecommunication Standards Institute (ETSI). Other countries apply similar rules. Briefly stated, the rules require a user to spread its transmitted power over the frequency band in order to minimize the chance of interference with other users.
Such spreading can be achieved by either of two techniques known in the art of spread spectrum communication systems. In the frequency hopping technique, the transmitter emits a carrier signal that is modulated in a conventional way by the information to be sent and the frequency of the carrier signal is changed (hopped) according to a predetermined pattern that is known to the receiver. GSM-type systems are well-known examples of frequency hopping systems. In the general direct-sequence technique, binary information to be sent is combined with a noise-like, higher-bit-rate binary sequence that is known to the receiver and the combination sequence modulates a carrier signal having a fixed frequency.
The Bluetooth specifications support both point-to-point and point-to- multipoint network connections. Within the Bluetooth specifications, the term piconet refers to two or more devices engaged in an ad-hoc radio connection. Under current standards, a piconet may include a minimum of two and a maximum of eight connected devices. One device in the piconet assumes the role of a master device, commonly referred to as the "master", and will direct the communication session with the other devices in the piconet, which are referred to as "slave" devices. The master unit's clock cycle and hopping sequence are used to synchronize all other slave devices in the piconet. Schematic depictions of Bluetooth piconets are shown in Fig. 1. Piconet 110 is a point-to-point piconet, with the master node 112 illustrated as a darkened node, and a single slave node 114, illustrated as a whitened node. Piconet 120 is a point-to-multipoint piconet having a master node 122 and two slave nodes 124, 126. Piconet 130 includes master node 132 and seven slave nodes 134-146.
Furthermore, two or more piconets can be interconnected, forming what is referred to in Bluetooth as a scatternet. Each piconet includes a master unit and, accordingly, may have its own timing and frequency hopping scheme; connected piconets may be independent and unsynchronized. The network node that defines the connection point between two piconets includes a Bluetooth unit that is a member of both piconets. A Bluetooth unit can be a slave member of multiple piconets, but can be a master in only one piconet. Also, a Bluetooth unit that acts as master in one piconet can participate in other piconets as a slave. Fig. 2 is a schematic depiction of a Bluetooth scatternet comprising twelve interconnected piconets. Bluetooth units that act only as master units in their respective piconet are depicted as darkened circles (e.g., Ml, M3, M4, M6, M7, M 7, M 9, M 11, M12). Bluetooth units that act as master units in one piconet and slave units in a separate piconet are illustrated as half-darkened circles (e.g., M2, M5, M8). Bluetooth units that act as master units in one piconet and slave units in two separate piconets are illustrated with one-third of the circle darkened (e.g., M10). Slave units are similarly divided to illustrate the number of piconets to which the unit belongs.
A Bluetooth unit can transmit and receive data in one piconet at an given point in time, so participation in multiple piconets has to be divided on a time division multiplex basis. The Bluetooth system provides full-duplex transmission built on slotted Time Division Duplex (TDD) in which each slot is 0.625 ms long.
The time slots are numbered sequentially using a very large number range (e.g. cyclic with a cycle of 227). Master-to-slave transmission starts in an even-numbered time slot while slave-to-master transmission starts in an odd-numbered time slot. An even-numbered time slot and its subsequent odd-numbered time slot (i.e., a master-to-slave time slot and a slave-to-master time slot, except when multi-slot packets are used) together are called a frame. There is no direct transmission between slaves in a Bluetooth piconet; all communication takes place between master and slave nodes.
Communication within a piconet is organized such that the master polls each slave according to a polling scheme. A slave is only allowed to transmit after having been polled by the master. The slave then starts its transmission in the slave- to-master time slot immediately following the packet received from the master. The master may or may not include data in the packet used to poll a slave.
Each Bluetooth unit has a globally unique 48 bit IEEE 802 address. This address, called the Bluetooth Device Address (BD ADDR) is assigned when the BT unit is manufactured and it is never changed. In addition, the master of a piconet assigns a local Active Member Address (AM_ADDR) to each active member of the piconet. The AM_ADDR, which is three bits long, is dynamically assigned and is unique only within a single piconet. The master uses the AM_ADDR when polling a slave in a piconet. However, when the slave, triggered by a packet from the master addressed with the slave's AM_ADDR, transmits a packet to the master, it includes its own AM_ADDR (not the master's) in the packet header.
Even though all data is transmitted in packets, the packets can carry both synchronous data on Synchronous Connection Oriented (SCO) links (mainly intended for voice traffic), and asynchronous data on Asynchronous Connectionless (ACL) links. Depending on the type of packet that is used, an acknowledgment and retransmission scheme may be used (not for SCO packets transferring synchronous data) to ensure reliable transfer of data (as well as forward error correction (FEC) in the form of channel coding).
The standard format of a Bluetooth packet (although there are exceptions for certain controls packets) is shown in Fig. 3. The AM_ADDR is located in the packet header followed by some control parameters (e.g., a bit indicating acknowledgment or retransmission request of the previous packet, when applicable) and a header error check (HEC).
The format of the payload depends on the type of packet. The payload of an ACL packet consists of a header, a data field and (with the exception of AUX1 type packets) a cyclic redundancy check (CRC). The payload of an SCO packet consists of only a data field. In addition there are hybrid packets including two data fields, one for synchronous data and one for asynchronous data. Packets in which the payload does not include a CRC are neither acknowledged nor retransmitted.
Thus, Bluetooth specifications describe how to create piconets and form scatternets, and how to manage intra-piconet communication between Bluetooth units. However, systems and methods for managing inter-piconet communication, especially with a controlled QoS for the participating nodes, have not yet been considered. In particular, methods for communicating between piconets in a scatternet with controlled delay and throughput have not yet been addressed in the Bluetooth specifications. Accordingly, there is a need in the art to provide communication sessions in an ad-hoc communication network that can provide desired QoS parameters. Further, there is a need to provide communication sessions that can provide a desired delay and throughput.
SUMMARY
The present invention addresses these and other needs by providing systems and methods for managing inter-piconet communication in ad-hoc communication network. Advantageously, systems and methods of the present invention enable efficient time sharing for nodes taking part in two or more piconets in a packet radio system, where the node can be active in only one piconet in a time window. Further, the invention enables either a periodic active window pattern or a renegotiated window on a per visit basis. The period of an periodic active window pattern may be scaled up or down to allow for delay sensitive traffic to take part.
The invention also provides for separation of different priority classes when the active windows are allocated between nodes in the clustered network. The invention enables an adaptive allocation of active windows to enable an efficient utilization of the network resources. The adaptive allocation mechanism also allow a network wide fairness for allocated multihop traffic flows.
In one aspect, the invention provides, in an ad-hoc communication network in which terminals may belong to more than one piconet, a method of modifying the allocation of a terminal's capacity between two or more networks, comprising the steps of: receiving, in a first terminal, a request from a second terminal to modify the first terminal's capacity allocation; determining whether the first terminal has sufficient available capacity to accommodate the request; and if the available capacity is sufficient, then comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request.
In another aspect, the invention provides, in an ad-hoc communication network comprising a plurality of Bluetooth units adapted to allocate capacity between at least two different piconets, a method of modifying a terminal's capacity allocation between a first piconet and a second piconet, comprising the steps of: receiving, in a first terminal, a request from a second terminal to modify the first terminal's capacity allocation, the request including a digital representation of the second terminal's capacity allocation; determining whether the first terminal has sufficient available capacity to accommodate the request; and if the first terminal's available capacity is sufficient, then comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request.
In yet another aspect, the invention provides a capacity allocation module for a first communication terminal, comprising a communication module for receiving a request from a second communication terminal to modify the first terminal's capacity allocation, the request including a digital representation of the second terminal's capacity allocation; a memory module for storing a digital representation of the first terminal's capacity allocation; a processor module operative associated with the memory module for comparing the first terminal's capacity allocation with the second terminal's capacity allocation to determine mutually acceptable capacity blocks allocable to satisfy the request.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects, features and advantages of the present invention will become more readily apparent to those skilled in the art upon reading the following detailed description, in conjunction with the appended drawings, in which:
Fig. 1 is a schematic depiction of piconets of an ad-hoc communication network;
Fig. 2 is a schematic depiction of a plurality of piconets interconnected to form a scatternet;
Fig. 3 is a schematic depiction of a packet used in an ad-hoc communication network; Fig. 4 is a schematic depiction of a scatternet scheduler in accordance with aspects of the present invention;
Fig. 5 is a schematic depiction, in greater detail, of a scatternet scheduler in accordance with the present invention;
Figs. 6a and 6b are schematic depictions of scatternets in accordance with aspects of the invention;
Fig. 7 is a depiction of piconet scheduler lists at various network nodes in a two piconet scatternet in accordance with the present invention; Fig. 8a is a schematic depiction of a modified SNIFF Request LMP packet in accordance with aspects of the present invention;
Fig. 8b is a schematic depiction of a piconet scheduler change request packet in accordance with aspects of the present invention; Fig. 9a is a schematic depiction of a piconet scheduler list change procedure initiated by a slave terminal's Piconet scheduler change LMP message in accordance with aspects of the present invention;
Fig. 9b is a schematic depiction of a piconet scheduler list change procedure initiated by a slave terminal's SNIFF Request in accordance with aspects of the present invention;
Fig. 10a is a schematic depiction of a piconet scheduler list change procedure initiated by a master terminal's Piconet scheduler change LMP message in accordance with aspects of the present invention;
Fig. 10b is a schematic depiction of a piconet scheduler list change procedure initiated by a master terminal's SNIFF Request in accordance with aspects of the present invention;
Fig. 11 is a schematic depiction of piconet scheduler lists at various network nodes in a three piconet scatternet in accordance with the present invention.
DETAILED DESCRIPTION
The present invention will be described in the context of Bluetooth networks and using terminology applicable to Bluetooth networks. However, it will be appreciated that the invention is equally applicable to other ad-hoc network technologies, and will be described generalized to be applicable also to other network technologies.
Bluetooth is based on a master-slave architecture in which intra-piconet communication traffic flows between a master and a slave using Time Division Duplex (TDD) frames. A slave in a piconet can be addressed (e.g., polled) at any start of a frame unless a power saving mode (e.g., any of the PARK, SNIFF, or HOLD modes) is invoked in the slave. The slaves in a piconet are synchronized with the frame and frequency hoping sequence of the master. For a single piconet the task of providing a controlled bit rate and delay of the traffic to the slaves is managed by the master alone and should be handled with a scheduler located in the master unit. A modified exhaustive polling algorithm, denoted Batched Fair Exhaustive Polling (B-FEP), is presented in co-pending and commonly assigned U.S. Patent Application entitled Batched Fair Exhaustive Polling Scheduler, incorporate by reference above. B-FEP is believed to give high BW efficiency with a fair allocation, while still being simplistic.
The present invention is particularly concerned with providing inter-piconet communication, i.e., communication between nodes belonging to different piconets. It is assumed herein that a Bluetooth unit hosts several slave entities and, at most, one master entity to handle the abstraction of presence in several piconets.
Scheduling the presence of a Bluetooth unit in different piconets in order to enable a controlled inter-piconet traffic flow. Since a single transceiver unit is assumed, a unit can only activate one entity (master or slave) at a time, i.e. the other entities cannot send or receive any information during that time. In short, in one aspect, the present invention addresses the problem of scheduling time periods where both nodes of a link have their transceiver tuned in to the same piconet, while minimizing losses due to timing mis-match. A timing mis-match occurs when two units in separate piconets each have idle capacity available, but are unable to use the idle capacity because there is no simultaneously available time window. While two units are scheduled for inter-piconet traffic (always one master and one slave) the slave unit becomes part of the master's piconet and should also be scheduled by the intra- piconet scheduler. Thus, inter-piconet traffic scheduling also raises issues of intra- piconet traffic scheduling.
Since datacom traffic with a certain level of burstiness is assumed to be used for ACL traffic, the scheduler should allow for a dynamic bandwidth allocation among the users. At the same time, the use of a single transceiver unit forces a rather strict timing of the master and slave entities in nodes belonging to different piconets. These need to become active at the same time to utilize the given time window in their common piconet efficiently.
Thus, it can be seen that the simultaneous presence of two units in the same piconet need to be coordinated. The scheduling of traffic between piconets is henceforth referred to as inter-piconet scheduling. In addition to the inter-piconet scheduling, the traffic within each piconet needs also to be controlled in order to give an efficient, but fair, distribution of the bandwidth available inside the piconet. The latter scheduler, referred to as intra-piconet scheduling, should take the inter- piconet scheduling into consideration to avoid polling nodes that are not present in the current piconet. If, however, there are only two nodes in the piconet the intra- piconet scheduling is simplified.
In one aspect, the invention described herein focuses on an inter-piconet scheduling algorithm. However, the following section introduces an overall scheduling model, denoted scatternet scheduler, describing the interaction between an inter-piconet scheduler and an intra-piconet scheduler. Performed correctly, the interworking between the two schedulers enhances performance of the scatternet. Moreover, the model organizes the scheduling mechanism to help distinguish between the two levels of scheduling.
Architecture of Scatternet Scheduler
Fig. 4 is a schematic depiction of a scatternet scheduler 410 in accordance with aspects of the present invention. Scatternet scheduler 410 may be implemented in suitable digital logic circuits in a Bluetooth node. Scatternet scheduler 410 includes two components: a master-slave scheduler 420, which is actived only in master nodes, and a piconet scheduler 430, which is actived in both master nodes and slave nodes. The block diagram in Fig. 4 provides an overview of a scatternet scheduler 410 for a Bluetooth node that acts as the master node in one piconet, referred to as PI, and a slave node in adjacent piconets P2-Pnj. Master-slave scheduler 420 is responsible for scheduling the downlink slaves (S,..Sni) in PI during time periods when the Bluetooth node acts as a master in piconet PI . Stated otherwise, the master-slave scheduler 420 is reponsible for intra-piconet scheduling. Piconet Scheduler 430 is responsible for determining the time periods during which the Bluetooth node is active as a master in Piconet PI and when the Bluetooth node is active as a slave in one or more of piconets P2-Pnj. Stated otherwise, piconet scheduler 430 is responsible for intra-piconet scheduling.
In an exemplary embodiment, piconet scheduler works on absolute timing, i.e., by identifying what time slot to invoke a certain slave or master, determining for how much time (or how many time slots or frames) the respective slave or master will have access to the radio interface, and scheduling the next interval during which they will become active. During the time period between active periods, the master- slave pair may put themselves in a power save mode, e.g., HOLD or SNIFF. By contrast, the master-slave scheduler works on a relative timer according to a suitable intra-piconet scheduling algorithm.
In an exemplary embodiment, a network node that desires to perform inter- piconet communication issues requested transmission rate and delay (QoS) parameters to the scatternet scheduler, which adapts the requirements further for the master-slave scheduler and the piconet scheduler.
Fig. 5 is a schematic depiction, in greater detail, of a scatternet scheduler 510 in accordance with the present invention. In the master-slave scheduler 520, slave nodes that are members in the piconet in which the node housing the scatternet scheduler 520 is master are scheduled using an intra-piconet scheduler 522 that implements a suitable scheduling algorithm (e.g. the B-FEP algorithm). Slaves that are pointed out by the piconet scheduler (PS) 530 are indicated to the master-slave scheduler, e.g. put into a list of active slaves that are eligible for polling by the master. The piconet scheduler 530 controls the timing during which a node is assigned to one of a plurality of respective piconets.
The scheduling algorithm implemented on the intra-piconet scheduler 522 on the master slave scheduler 520 uses the input from the piconet scheduler to decide what slaves are currently present in the master's piconet, denoted PI in Fig. 6a and
Fig. 6b. The slaves scheduled as present in PI may still be inactive in terms of data transfer, however, and therefore defined as inactive by the intra piconet scheduling algorithm. Note that the piconet scheduler may schedule several slaves as being present, overlapping in time, since they belong to the same piconet. The piconet scheduler 530 may be depicted as a list or array consisting of points in time when a slave or the master entity in a node shall become active and the issue is to co-ordinate the starting point and duration with the other peer slave or master entity. Because different piconet may have different slot timing, a switch between two piconets typically consumes at least one slot before any traffic may be sent. Therefore, selecting active intervals that are too short will result in excessive overhead. By contrast, selecting active intervals that are too long may induce excessively long packet delays.
In an ad-hoc network environment, there is no central control enforced between piconets. Thus, one approach to inter-piconet scheduling is based on a dual match between idle time intervals (t,) and active (ta) time intervals between a master and its slave. Note that an idle interval is only idle for the a particular master-slave pair and may be used (by both nodes) for communication within other piconets. When either a slave or a master is no longer active in a piconet it may enter a power save mode to let the master, or slave(s), of the same piconet know that the node cannot be contacted. Either the SNIFF mode or the HOLD mode may be used in this respect. The SNIFF mode lets a slave listen to the master with a specified period Tsniff and duration NsniffattempI, which both are parameters negotiated with LMP
(Link Management Protocol) messages. During HOLD mode no ACL traffic is sent from master to slave during a negotiated time period, Thold, which also is negotiated with LMP messages.
A node that sets up SNIFF mode intervals in two piconets will have the same periodic activity pattern until new SNIFF intervals are negotiated. By contrast, if
HOLD mode is used a new Thold must be defined at each end of a communication window in a piconet. Thus, if the piconet structure and/or traffic pattern do not change frequently, the SNIFF mode is a good alternative, while the HOLD mode may work better in more dynamic network. Henceforth, the SNIFF mode is used as an example to define the joint time between master and slave pairs in different piconets.
Representative Scatternet Architecture and Information Architecture
To illustrate the description of a piconet scheduler, a representative scatternet is used as an example throughout this document. A scatternet depicted in Fig. 6a is a two-piconet scatternet, which is expanded into a three piconet scatternet depicted in Fig. 6b. This description is focused on the slave node taking part in all three piconets (containing slave entities, SI 6, S21, and S31) and the adjacent master (Ml) and master/slave (M2/S 17) nodes. Referring to Fig. 6a, piconet 1 includes master Ml (identified as node C) and seven slaves identified as S1-S7. Additionally, two nodes of piconet 1 have created a separate piconet (piconet 2) to send data directly b( tween the nodes without passing the master Ml. Piconet 2 comprises a master node M2 (identified as node A) and a single slave node S21 (identified as node B). The continuation of the example to add a third piconet, as represented in Feb. 6b, is presented after a description of functions and mechanisms to add a piconet. Fig. 7 presents representations of the piconet scheduler list in the piconet scheduler of the three network nodes A, B, and C depicted both as data in a piconet scheduler list register and as sequences of frames representing the piconet scheduler lists. Note that the slots/frames of piconet 1 and piconet 2 need not be synchronized, but this is not illustrated in detail in the frame sequences. Instead one frame is used as guard frame when a node switches between piconets.
The length of the piconet scheduler list (counted in frames) depends on the time period defined for the SNIFF mode. The list can be seen as a cyclic register counted modulo Tps, which corresponds to the period of the longest active SNIFF mode in a node. This period of frames a may be denoted a piconet scheduler frame, which includes a plurality of Bluetooth frames. Shorter periods may also be used provided TPS is a multiple of the shorter periods. Moreover, because piconets are asynchronous (i.e., the timing of connected piconets need not be synchronized) their clock frequencies may differ, resulting in a sliding offset between the slots/frames in the piconet. This means that SNIFF updates may be requred to adjust for the alignment between slots as active windows may "slide" and overlap. However, such updates are expected to be rather infrequent compared to updates caused by traffic dynamics. Note that a master node (e.g., node C in Fig. 6a) may schedule several overlapping slaves simultaneously. In the example, this is the only way node C can communicate with nodes A and B since they otherwise are both in piconet 2. In addition, all nodes that are in more than one piconet must also schedule time for overhead procedures such as LNQUIRY/INQUIRY SCAN and PAGE PAGE SCAN procedures in case they are defined as discoverable and connectable nodes. The particular time periods during which these procedures are scheduled is not critical to the present invetion, and accordingly is not described explicitly herein, but could be done, for instance, between two SNIFF intervals.
Referring to Fig. 6b, assume that the next step in the scatternet example is to add node D into the scatternet by forming a new piconet (piconet 3). Node D may connect to node B according to conventional Bluetooth connection procedures or according to the procedures described in one or more of the co-pending and commonly assigned U.S. Patent Applications incorporated by reference above.
A number of alternatives to include the new piconet in the piconet scheduler now arise:
• Try to find a sufficiently large window of free time in node B that is not used to communicate with nodes A or C. If a sufficiently large time window is available, then node B can be scheduled to piconet 3 during this free time period and the piconet schedule lists do not need to be updated (e.g., by updating the existing SNIFF parameters)
• By contrast, if node B's piconet scheduler list does not have a sufficiently large time window available to accommodate establishing a piconet between node B and node D, then either the TPS is increased for both A and C or the current time windows (Nsnilϊattempt) is decreased to make room for the new piconet in B.
Note that other events that cause the need to find free room in a piconet scheduler frame may also occur if
• an existing master-slave pair requires an increased time window at the same location in the piconet scheduler frame. • a master-slave pair requires changed location of their time window in time. However, then the capacity should be available but may not be allowed to move in time (i.e. the active window location in the piconet scheduler frame).
Other reasons to invoke a piconet scheduler change procedure may be due to • a node (master or slave role) detaches from the master-slave pair and releases capacity, and/or a master-slave pair requires a new TPS period. This may trigger a full update of the entire piconet scheduler frame and potentially other master-slave pairs having one of the nodes as a shared node. • An autonomous adaptive allocation process decides to change the piconet scheduler frame structure of one or more allocations. This could be the result of procedures that detect under-utilized piconet scheduler frame windows.
Piconet Scheduler List Exchange
The process of finding an appropriate window for the new piconet involves an information exchange procedure, which information may be transmitted between Bluetooth units in an new type of LMP message or in modified versions of existing LMP messages. The information exchange may also take place using a dedicated protocol, other than LMP, which may run as a separate application using regular data packets. In general, piconet scheduler lists should be exchanged when a piconet scheduler frame needs to be changed in a node, for example due to adding or detaching node(s), changing bandwidth requirements (larger/smaller active window), or adjusting slot alignment (e.g., as discussed above). In exemplary embodiments of the invention, piconet scheduler lists are exchanged between respective master and slave node pairs to be used as a basis for decision when a new piconet scheduler list is created. The information in the piconet scheduler list may be encoded as starting points and duration of scheduled slaves and master or possibly also as a binary array representation of a piconet scheduler frame. The latter can denote occupied and free frames in the current piconet scheduler frame for a node. One of ordinary skill in the art will appreciate other methods of exchanging piconet scheduler list data. For example, the piconet scheduler list data could be divided into smaller pieces that are sent in several packets and the receiver may assemble the information itself. Alternatively, the information could be exchanged by an application that runs in the background of the processor so that information may be exchanged constantly, periodically, or whenever capacity is available.
As a general rule, the master unit (e.g., the unit that acts as a master in a master-slave pair) in any pair of nodes makes the decision on a new piconet scheduler list of a slave. However, changes may be requested by a slave unit.
If a slave node wants to initiate a change of its piconet scheduler frame it sends its piconet scheduler list, together with the desired change, to its master node either in a piconet scheduler change request LMP message or in a modified SNIFF request LMP message. The latter contains the same information as the original SNIFF message and also carries a representation of the piconet scheduler list in the last 7 currently unused bytes. In Fig. 8, the formats for the two alternatives are depicted. If the master accepts the change requested by the slave node, the master returns a piconet scheduler change accept LMP with the new piconet scheduler list, or a modified SNIFF accept LMP message. Otherwise, the master may return a piconet scheduler change request LMP with an alternative piconet scheduler list, or a piconet scheduler non-accept LMP message. The returned information could also contain information regarding the available capacity to facilitate the slave to make a better choice in a subsequent piconet scheduler change request. If necessary, a slave and master may execute several iterations of messag s to negotiate mutually acceptable changes to the piconet scheduler list.
If a master unit wants to change its Piconet schedulerframe, it issues the desired change request in a piconet scheduler change request LMP message, or in a modified SNIFF message, to the slave. If the slave accepts the change it replies with an piconet scheduler accept LMP message, which may also include capacity information to facilitate the master to make a better choice in a subsequent piconet scheduler change request. Otherwise it sends its piconet scheduler list to the master in a piconet scheduler change request message for the master to reply to, or it sends a piconet scheduler non-accept LMP message. If piconet scheduler change LMP messages are used to exchange piconet scheduler lists, and result in an accept, they should be followed by a forced SNIFF set-up (SNIFF LMP) from the initiator based on the agreed piconet scheduler list, as illustrated in Fig. 9. By contrast, if modified SNIFF LMP messages are used to exchange piconet scheduler lists, the SNIFF mode parameters are set up directly if an agreement on piconet scheduler lists is reached, as illustrated and in Figure 10.
To provide time to perform piconet scheduler list matching, etc., the piconet scheduler change request may be sent early in a piconet scheduler frame window, and the response may be sent in the end of the same window. Given that the distance is n slots, n can be in the range of 1, 3, 5,..., t, where tm is the length of the piconet scheduler frame window for piconet i.
Suitable rules for accepting or denying a piconet scheduler frame change are discussed below.
Piconet Scheduler Frame Allocation Algorithms As illustrated above, changing the piconet scheduler frames in two nodes involves a negotiation procedure between the two involved nodes of a link. The effort, or computation complexity, involved in changing a piconet scheduler frame varies as a function of the number piconets to which a network node is already allocated. As a general rule, a piconet scheduler frame change is controlled by the master in the piconet, but a slave with stringent piconet scheduler frame requirements may deny a piconet scheduler frame change from its master. In brief, each network node includes a memory that stores a number of network parameters. The piconet scheduler frame request messages also include a number of parameters relevant to the desired QoS for the requested link. When a network node receives a piconet scheduler frame request message, a processor associate with the node applies a set of logic rules to the parameters to make a determination about the characteristics of a new piconet scheduler list, if it is necessary to create one.
Piconet scheduler change Request Parameters
A request for changing the piconet scheduler frame for piconet i in a node that is present in several piconets comprises a number of parameters
• piconet scheduler frame period, TPSl active window size, t
• starting point, d, (number of frames counted from"now")
• objective rate, rm (allocated frames/piconet scheduler Frame Period, i.e. t TPSl)
• priority class, pc,
One or more of these parameters may be left open if no requirement is defined when the request is issued. However, an objective rate should usually be defined (e.g., even by default if both TPSl and tm a e left open), but may be overruled if they are defined. The objective rate parameter does not need to define an actual data transfer rate in packets; it may define a window that provides a desired share of the total capacity of the air interface, assuming the node is alone with the master in the scheduled piconet. An absolute required rate could also be considered, but would require the request to be directly considered by the intra-piconet scheduler (MSS).
The priority class parameter is used to give priorities between the allocated piconets in a node. An incoming request with a higher priority may override an active time window for a piconet with a lower priority. The request may also be considered by the intra-piconet scheduler to give an assured bandwidth share of the piconet. The priority class parameter may also be used to allow nodes with tight timing requirements and/or nodes that are members of many piconets to get preference on their existing or required active window allocations in a piconet scheduler frame.
One of the priority levels should be a "best effort" level where the objective rate may be set to the maximum potential nominal rate (equal to 1) which should be interpreted as the node should be given the fair share of the capacity within the same (best effort) class. In that case the node accepts any setting of the piconet scheduler
Frame Period, TPSl, thus the traffic is not delay sensitive. Moreover, the starting point is then generally of minor concern.
A higher priority class may require a specific combination of the TPSl and tm parameters, where the starting point parameter, d„ also may be significant. It will be appreciated that the system may contain one or more priority classes.
Local Node Parameters
The following parameters should be locally stored in a node to be able to perform the piconet scheduler Change Request procedures:
Csys, Capacity reserved for system procedures as for instance INQUIRY and PAGE. This capacity may not be shared by any user traffic unless circuit switched traffic is scheduled in any of the active piconets of a node.
• Cfl , The capacity available in the priority classes below and including the priority class of the issued Piconet scheduler change request.
• Cav2, The capacity available in the priority classes below the priority class of the issued Piconet scheduler change request. Already allocated capacity from the requesting node is however excluded from the Cav2. • CFS, The fair share capacity of a piconet in a node for traffic in a priority class of best effort type.
• nLp , The number of allocations in the node that are below the CFS in priority classic,, i.e. limited flows.
• npcι, The total number of allocations in the node of priority class pc • Pi O, Load level of the active window for piconet i in Piconet schedulerframe number k, i.e. the momentary utilization of the Allocated frames in one active window for piconet /.
• ^useώW, The number of frames in the active window of piconet i that carry user data in Piconet schedulerframe number k. In addition to theses parameters, the Piconet scheduler change Request parameters and the Piconet scheduler list itself must also be stored in the node to be updated and prepared for any upcoming Piconet scheduler change Request message.
Piconet scheduler change Request Procedures In an exemplary embodiment, the following steps are processed by a node that gets a request for piconet scheduler change including the piconet scheduler list from the requesting node. The request could be issued in either a piconet scheduler Change Request LMP message or in a modified SNIFF Request LMP message: 1 ) A node that receives a request for a Piconet scheduler change from piconet /, within priority classic,, first checks the available capacity for that priority class. Capacity already allocated by lower priority classes is also considered as eligible for allocation by this request. The total available (normalized) capacity for a piconet (master-slave pair) j with priority class pc including capacity already allocated within its own priority class, Cαv/, may be calculated as follows:
C avl , = 1 - C sys - ∑ *— ' r 01 , i€(pc >pC j)
where Csys is capacity reserved for system traffic (INQUIRY/PAGE procedures) and the sum denotes capacity allocated for higher priority traffic.
If no capacity is considered available, e.g. the issued objective rate
Figure imgf000024_0001
a non-accept message is sent back to the request initiator at this stage and the
Piconet scheduler change request procedure is aborted here. The non-accept message may contain the information, say the Cavl parameter, to allow the initiator to issue a new request with a better chance of getting accepted.
Exception for abortion at this stage is for instance that the priority class is of type best effort, implying that the requested capacity is subject for reduction by the receiving node. Then step 4 may be entered at this stage.
2) If there is capacity available enough, a further refinement is made to determine how the change should be accommodated. Let Cav2 be the capacity available for priority classes below pCJ, i.e.
C av2 , =c avl , - Σ IJ r 01
Figure imgf000025_0001
where the sum denotes the allocated capacities for the same priority class as. the one requested, but with the exclusion of any capacity already allocated by the requesting master slave pair. The latter applies if the change request is a change of an existing allocation by a master-slave pair.
If no capacity is considered available, taken from unused or lower priority classes, based on e.g. the issued objective rate roj ^Ov2 > step number 4 is entered at this stage, otherwise step 3 is entered.
3) At this stage there is sufficient capacity to accommodate the request either by allocating unused or by allocating lower priority allocated capacity.
If the request only states the objective rate, a response is given back with the requested allocation assigned to a new piconet scheduler list on a best fit basis. The latter may involve a procedure that tries to pack the piconet scheduler frame as tight as possible to avoid fragmentation of the piconet scheduler frame.
If the request from piconet y requires specific values for the TPSj and taj parameters and these values are not in conflict with the existing TPS value, then the request is accepted by sending the new, updated piconet scheduler list back to the initiator.
If the request from piconet y requires specific values for the TPS/ and ta/ parameters for the request from piconet y and they are in conflict with the existing TPS value, then the request should be accepted if there is no higher priority class present among the allocated piconets and rearrangements of the piconet scheduler frame within the same class is accepted, or • there is no higher priority class present among the allocated piconets and piconety is the only piconet present within its own priority class. One example of a conflict here is the case when the requested TPSj value is not a multiple of the existing TPS period. This would result in consecutive piconet scheduler frames that are not identical, which could cause the windows to "slide" into each other.
If the request is accepted, then a response is sent back with the requested allocation assigned to a new piconet scheduler list on a best fit basis, or else step 4) is entered. The former may involve a procedure that tries to pack the piconet scheduler frame as tight as possible to avoid fragmentation of the piconet scheduler frame. An exemplary method for packing the piconet scheduler frame is discussed below. If a rearrangement of the piconet scheduler frame is necessary, a sequence of piconet scheduler change procedures with other piconets may be triggered at this node.
4) This step is entered if capacity within the requested priority class must be shared to accommodate the requested capacity. If the requested priority class does not allow any sharing, then a non-accept message is sent back to the request initiator and the piconet scheduler change request procedure may be aborted here. The non-accept message may contain information (e.g., the Cav2 and/or Cavl parameter(s)) to allow the initiator to issue a new request with a better chance of getting accepted.
If sharing is allowed, e.g. the priority class is of type best effort, then the fair share allocation for the request is calculated according to the rule for sharing is adopted for the system.
An example of a fair share allocation rule for the fair allocation in piconet j, CFSj, is given below:
Figure imgf000027_0001
where npc/, CLpq and nLpcι are parameters denoting the total number allocations including the new request, the aggregated limited capacity, and the number of limited flows respectively, all within the priority class pcr A "limited flow" is an allocation, CFSt say, that conforms with the rule
C . C <-^ pcj
i.e. the allocation would not use its full fair share with the new allocation. Limited flows could be the result of flows passing a bottleneck node in a multi-hop network in which the fair share is less than the one offered in this node, or an application that is limiting the flow. The "min" operation in the CFSj calculation assure that only the requested objective rate is allocated, thus the allocated flow from piconet y may become limited from start.
Once the fair share allocation is determined, the new piconet scheduler list with the new allocation is sent back to the initiator. In addition this process will trigger piconet scheduler change procedures of existing allocations cavl affected of the new allocation, i.e. nodes that have allocations > QV . n pcj
Once steps 1 through 4 are gone trough the outcome should have been either an accept or a non-accept. In case the piconet scheduler change messages are used, a forced SNIFF allocation is issued if the piconet scheduler change was accepted.
When a new piconet scheduler List is created it may take some time for the node to start using it since it still is committed to an ongoing piconet scheduler frame that may be affected of the new piconet scheduler frame. Therefore, the node should store the new piconet scheduler frame and continue with the old piconet scheduler list until all affected nodes has updated their piconet scheduler list to be in accordance (match) with the new piconet scheduler list. The d, and/or the d} parameter may be used to denote when an active window in a new piconet scheduler list can be used for the first time.
Piconet scheduler list matching algorithm
During the piconet scheduler request procedure, a matching attempt is made between the piconet scheduler list from the requesting node and the piconet scheduler list residing in the receiving node. If possible, the piconet scheduler change request parameters should be fit into any positions available during corresponding time slots in both piconet scheduler lists. This avoids updates of other concurrent piconets in both of the involved nodes (the master-slave pair). By way of example, assume a node S (sender) sends a piconet scheduler change request message to a node R (receiver). The request contains data representative of S's piconet scheduler list, PSS. Node R must then determine whether there is a mutually acceptable block of capacity allocable to a communication session between node S and node R. In an exemplary embodiment, node R makes this determination by attempting to find a sufficiently large block of available capacity in corresponding time slots in PSS and PSR.
Node R may make this determination by performing the following steps, preferably only when the piconet scheduler change request procedures described above conclude that there is sufficient capacity to accommodate the request. It should be noted that this procedure may result end in a non-accepted Piconet scheduler change request.
1) A processor operatively associated with the piconet scheduler creates two binary arrays representative of the piconet scheduler lists PSS and PSR, denoted PSBS and PSBR respectively. The binary arrays represent the piconet scheduler frames of the two nodes S and R, and each position corresponds to a frame in the piconet scheduler frame. Consequently, the length of a binary array corresponds to the duration of the node's piconet scheduler frame (e.g., TPS). The content of a position binary array representing piconet scheduler list may be set to a binary "1" if it is part of an active window and to a binary "0" if the time slot it represents is free to be allocated to the request. If the piconet scheduler change request represents a change of an already allocated window, the window already present should be excluded from the PSS and a request for an entire new window should be issued.
It will be appreciated that the piconet scheduler list transmitted in the piconet scheduler change request message may be in the form of a binary array that represents the piconet scheduler list, which would render the step of creating this array unnecessary. The particular form in which the piconet scheduler list is represented in the piconet scheduler change request message is a function of engineering and network economics, and is not critical to the present invention.
2) The processor performs a bit-wise "AND" operation on the binary arrays that represent the piconet scheduler list. The bitwise "AND" operation results in a third binary array (e.g., PS =PSBS AND PSBR) that contains binary "l"s in the locations in which node S and R have binary "l"s, e.g., those locations that represent free capacity.
3) The free locations in PSB, may be compared to the piconet scheduler change Request parameters issued by node S. Depending on how the strict the request was regarding position and objective rate, the issued active window is matched against the free locations. If no requirements on the location in the Piconet scheduler frame is issued it is only the size of continuously free frames that is matched. A best fit should be made which means that the smallest free window that satisfy the issued objective rate should be used.
4) If no satisfactory location can be found, a piconet scheduler change non- accept message is prepared.
5) If a location could be found, then the new active window is included into the piconet scheduler lists of nodes S and R in the format used by the nodes. If the location of the active window is of concern it may be checked against available frames in PSBR already in step 2 before PSB1 is created.
It will be appreciated that performing a bit-wise binary "AND" operation on the arrays representing the piconet scheduler lists is only one exemplary method of determining whether there is a mutually acceptable capacity block allocable to the request. By way of example, unallocated (e.g., "free") blocks could be represented by binary "0"s and a bitwise binary "NOR" operation could be conducted on the arrays. Other suitable digital logic techniques are within the skill of one of ordinary skill in the art.
Adaptive Piconet schedulerAUocation Algorithm
For some priority classes, typically the best effort priority class, a node may run an adaptive allocation algorithm in the background to change the piconet scheduler frame content when nodes are not using its full window or when more capacity should be given to a piconet in a node. In essence the idea is to keep a record of the utilization, p,(k), of each active window at time ft in a piconet scheduler frame. The utilization may be calculated according to
usedi pβ) = (l -α)p((*- l)+α
which gives an exponential averaging of the utilization (cc is a filter coefficient to be set in the interval (0,1)). The variable tuseώ(k) is a count of the number of frames that were used for carrying traffic in piconet i in piconet scheduler frame number k. This counting is made continuously in the node for each piconet and without distinguishing between uplink and downlink packets.
A piconet scheduler change request may be invoked when the difference rdι = P,(k) - rol exceeds a predefined interval [rώ low, rώ hlgh] which may be based on a percentage value of the objective rate so as to form a generic tolerance for the objective rate in the adaptive allocation context. If a new piconet scheduler change request is decided upon, a new objective rate is defined based on the utilization level and issued in the piconet scheduler change request procedure.
Adding Additional Piconets to the Scatternet
Referring again to Fig. 6(b), the next step in the scatternet example is to add a third piconet, e.g., by connecting node D to node B. Node D may be connecting using a priority class of a best effort type and, likewise, node B may be assumed to have allocated piconets only of type best effort. Further, Node D discovered node B through an INQUIRY procedure and is now making a PAGE to node B to set up a new piconet in which it wishes to be the master. During the connection establishment process node D may determine whether node B is member of another piconet by utilizing the information exchange described in one or more of the commonly assigned and co-pending U.S. Patent Applications incorporated by reference above. If node B is a member of another piconet, then node D issues a piconet scheduler change Request including a capacity parameter to be considered by node B. Alternatively, node B may issue a piconet scheduler change Request to node
D immediately after the connection is established to include node D in its piconet scheduler list. In the latter case node B may make an estimated request for the capacity between D and B since B is not the initiator of the connection.
In Fig. 11 the new piconet scheduler frames for the involved nodes are depicted. In node B, the active windows with nodes A and C have been shrunk to fit in the active window with node D.
The change of the piconet scheduler lists in the other affected nodes (A and C) must be made by the piconet scheduler change procedures described in the previous sub-sections above. Typically it would in this case be initiated by node B since it agreed to the change of its piconet scheduler frame. Thus, the other piconet scheduler frames in nodes A and C must match this change.
In general, a change in one part of a scatternet may result in a sequence of piconet scheduler change procedures in several other affected nodes. It may also be the case that a piconet scheduler change, request must be repeated with the same node to reach a steady state of the piconet scheduler frames in that portion, of the scatternet.
Use of the Hold mode
The difference between the HOLD mode and SNIFF mode is that the former must be reallocated each time an active window expires. This means that for each active window a piconet scheduler change procedure must be performed between two node. The format of the piconet scheduler change Request message may be the same, but the requirement that the TPSl must be dividable to maintain a periodic piconet scheduler frame can be relaxed since the Piconet scheduler frame is renewed continuously.
However, there is still a use for a TPS parameter as a reference for the objective rate and also as a limit on the delay in the system. Without this limit the active windows may grow uncontrolled during high load conditions in a node.
SCO channels
If any of the allocated piconets in a node uses SCO channels this limits the number of simultaneous piconets in a node to a maximum of only two. This since the maximum distance between two SCO frames is three frames. A switch between two piconets requires one frame, leaving only one frame left for communication in the two piconets involved. A scatternet case with SCO channels is preferably set up with SNIFF since HOLD must be allocated before each switch between piconets. The TPS parameter will in the SNIFF case be set to the SCO interval of three frames. While the invention has been described in the context of a Bluetooth network and using Bluetooth terminology, it will be appreciated that the invention may be used in any cluster forming packet switched radio network where TDMA is used to divide the presence for a node in several simultaneous clusters. Moreover, a node in this system should typically only have one transceiver which must be tuned into one cluster at a time, i.e. it can receive and transmit in one cluster at a time only. The packet format to exchange the piconet scheduler lists and change requests can be generic and the piconet scheduler frame structure may be used either periodically or be changed for each transmission.
Furthermore, the steps described to determine if a piconet scheduler change can be allowed or not in a node may be applied very generically to a system described above.

Claims

What is claimed is:
1. In an ad-hoc communication network in which terminals may belong to more than one piconet, a method of modifying the allocation of a terminal's capacity between two or more networks, comprising the steps of: receiving, in a first terminal, a request from a second terminal to modify the first terminal's capacity allocation; determining whether the first terminal has sufficient available capacity to accommodate the request; and if the available capacity is sufficient, then comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request.
2. A method according to claim 1, wherein: the request from the second terminal includes a parameter that represents the priority class of a desired capacity allocation; and the step of determining whether the first terminal has sufficient available capacity includes capacity allocated by the first terminal to priority classes lower than the priority class parameter in the request from the second terminal.
3. A method according to claim 1, wherein: the request from the second terminal includes a parameter that represents the priority class of a desired capacity allocation; and the step of determining whether the first terminal has sufficient available capacity includes capacity allocated by the first terminal to priority classes equal to and lower than the priority class parameter in the request from the second terminal.
4. A method according to claim 1, wherein: if the first terminal does not have sufficient capacity available, then the first terminal transmits to the second terminal a data messaging indicating rejecting the request.
5. A method according to claim 1, wherein the step of comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request comprises: creating a first digital representation of the first terminal's capacity allocation in a first domain; creating a second digital representation of the second terminal's capacity allocation in the first domain; and comparing the first and second digital representations to determine mutually acceptable capacity blocks.
6. A method according to claim 1 , further comprising the step of: modifying the first terminal's capacity allocation to accommodate the request from the second terminal.
7. A method according to claim 6, further comprising the step of: transmitting a data message from the first terminal to the second terminal indicating that the request has been accommodated.
8. A method according to claim 7, further comprising the step of: transmitting a data message from the first terminal to a third terminal, the data message including information representative of the first terminal's modified capacity allocation.
9. In an ad-hoc communication network comprising a plurality of Bluetooth units adapted to allocate capacity between at least two different piconets, a method of modifying a terminal's capacity allocation between a first piconet and a second piconet, comprising the steps of: receiving, in a first terminal, a request from a second terminal to modify the first terminal's capacity allocation, the request including a digital representation of the second terminal's capacity allocation; determining whether the first terminal has sufficient available capacity to accommodate the request; and if the first terminal's available capacity is sufficient, then comparing the capacity allocation of the first terminal to the capacity allocation of the second terminal to determine mutually acceptable capacity blocks allocable to satisfy the request.
10. A capacity allocation module for a first communication terminal, comprising a communication module for receiving a request from a second communication terminal to modify the first terminal's capacity allocation, the request including a digital representation of the second terminal's capacity allocation; a memory module for storing a digital representation of the first terminal's capacity allocation; a processor module operative associated with the memory module for comparing the first terminal's capacity allocation with the second terminal's capacity allocation to determine mutually acceptable capacity blocks allocable to satisfy the request.
11. A capacity allocation module according to claim 10, wherein: the digital representation of the first terminal's capacity allocation comprises a first array of binary digits, wherein each element of the array represents a time slot in the terminal's capacity allocation, and wherein a binary " 1 " represents a free time slot; the digital representation of the second terminal's capacity allocation comprises a second array of binary digits, wherein each element of the array represents a time slot in the terminal's capacity allocation, and wherein a binary "1" represents a free time slot; and wherein the processor performs a bit- wise binary AND function on the first array and second array to determine mutually acceptable capacity blocks.
PCT/SE2000/002409 1999-12-06 2000-12-01 System and method for communication in a ad-hoc network WO2001041348A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP00983627A EP1236308A2 (en) 1999-12-06 2000-12-01 System and method for communication in an ad-hoc network
JP2001542497A JP2003516095A (en) 1999-12-06 2000-12-01 Communication system and method in an ad hoc network
AU20358/01A AU2035801A (en) 1999-12-06 2000-12-01 System and method for scheduling communication sessions in an ad-hoc network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/454,758 1999-12-06
US09/454,758 US6975613B1 (en) 1999-12-06 1999-12-06 System and method for scheduling communication sessions in an ad-hoc network

Publications (2)

Publication Number Publication Date
WO2001041348A2 true WO2001041348A2 (en) 2001-06-07
WO2001041348A3 WO2001041348A3 (en) 2001-10-18

Family

ID=23805958

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2000/002409 WO2001041348A2 (en) 1999-12-06 2000-12-01 System and method for communication in a ad-hoc network

Country Status (6)

Country Link
US (1) US6975613B1 (en)
EP (1) EP1236308A2 (en)
JP (1) JP2003516095A (en)
CN (1) CN1408157A (en)
AU (1) AU2035801A (en)
WO (1) WO2001041348A2 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002058334A2 (en) * 2001-01-18 2002-07-25 Strix Systems, Inc. System, method and computer-readable medium for wirelessly exchanging communication with a mobile unit
WO2002058335A2 (en) * 2001-01-18 2002-07-25 Strix Systems, Inc. Method, computer-readable medium and apparatus for wirelessly exchanging communications with a mobile unit
WO2002082291A1 (en) 2001-04-02 2002-10-17 Motorola, Inc. System for dynamic process assignment in a local area network and method therefor
WO2002091685A2 (en) * 2001-05-07 2002-11-14 Koninklijke Philips Electronics N.V. Network with sub-networks which can be interconnected through bridge terminals
EP1271853A2 (en) * 2001-06-25 2003-01-02 Nokia Corporation Communication device, method and system for interference reduction
WO2003015345A2 (en) 2001-08-09 2003-02-20 Telefonaktiebolaget L M Ericsson (Publ) Flexible frame scheduler for simultaneous circuit- and packet-switched communication
WO2003017575A1 (en) * 2001-08-10 2003-02-27 Infineon Technologies Ag Method for transferring data between a master station and a slave station, and corresponding communication system
WO2003024031A1 (en) * 2001-09-10 2003-03-20 Nokia Corporation Method of transmitting time-critical scheduling information between single network devices in a wireless network using slotted point-to point links
WO2003047176A1 (en) * 2001-11-28 2003-06-05 Motorola, Inc. System and method of communication between multiple point-coordinated wireless networks
EP1331763A2 (en) * 2002-01-24 2003-07-30 Samsung Electronics Co., Ltd. Bluetooth system capable of communicating in a scatternet and a communication method thereof
DE10221421A1 (en) * 2002-05-14 2003-08-07 Siemens Ag Assigning resources in self-organized communications system involves operating second station with connection to central controller as second station superior to central station
WO2003092205A2 (en) * 2002-04-26 2003-11-06 Intel Coporation Establishing an ad hoc network
KR100436756B1 (en) * 2001-08-31 2004-06-23 삼성전자주식회사 wireless communication system capable of saving time for mutual data communication in sniff mode
EP1619837A1 (en) * 2004-07-19 2006-01-25 Mitsubishi Electric Information Technology Centre Europe B.V. Method for optimizing resource allocation in a telecommunication system including multiple local networks such as an ad-hoc system
EP1619836A1 (en) * 2004-07-19 2006-01-25 Mitsubishi Electric Information Technology Centre Europe B.V. Method for optimizing information exchanges in a telecommunication system including multiple local networks such as an ad-hoc system
US7016325B2 (en) 2001-01-18 2006-03-21 Strix Systems, Inc. Link context mobility method and system for providing such mobility, such as a system employing short range frequency hopping spread spectrum wireless protocols
EP1662727A1 (en) * 2004-11-30 2006-05-31 Canon Kabushiki Kaisha Control of sequentially communicating with devices included in a plurality of networks (e.g. piconets)
US7058050B2 (en) 2000-12-01 2006-06-06 Telefonaktiebolaget L M Ericsson (Publ) Flexible inter-network communication scheduling
EP1672841A2 (en) * 2004-12-16 2006-06-21 Canon Kabushiki Kaisha Communication apparatus and control method thereof
WO2006066989A1 (en) * 2004-12-22 2006-06-29 Siemens Aktiengesellschaft Method for transmitting data between a transmitting and a receiving unit in a bluetooth & reg; radio communications system
WO2006067047A1 (en) * 2004-12-22 2006-06-29 Siemens Aktiengesellschaft Method for data block transmission between a transmitting and a receiving unit in a bluetooth radio communication system
US7151757B2 (en) 2001-05-02 2006-12-19 Strix Systems, Inc. Wireless base station to base station synchronization in a communication system, such as a system employing a short-range frequency hopping or time division duplex scheme
US7194010B2 (en) 2001-05-02 2007-03-20 Strix Systems, Inc. Wireless base station to base station synchronization in a communication system, such as a system employing a short range frequency hopping or time division duplex scheme
US7251489B2 (en) 2001-05-02 2007-07-31 Strix Systems, Inc. Wireless base station neighbor discovery in a communication system, such as a system employing a short-range frequency hopping scheme
US7366776B2 (en) 2001-11-20 2008-04-29 Sharp Laboratories Of America, Inc. System and method for reestablishing a communication period in a rendezvous scheduled system
EP1994696A2 (en) * 2006-03-06 2008-11-26 Rosemount, Inc. Wireless mesh networks
US7475148B2 (en) 2001-02-28 2009-01-06 Sharp Laboratories Of America, Inc. Pseudo-random dynamic scheduler for scheduling communication periods between electronic devices
US7515571B2 (en) 2003-11-24 2009-04-07 Samsung Electronics, Co., Ltd. Frame structure for bridging operation in high-speed wireless personal area network and data transmitting method thereof
US7519371B2 (en) 2004-02-09 2009-04-14 Qualcomm Incorporated Multi-hop communications in a wireless network
WO2009153817A1 (en) * 2008-06-19 2009-12-23 Selex Communications S.P.A. Mobile ad-hoc network
EP2214147A1 (en) * 2002-12-23 2010-08-04 Renishaw PLC Spread spectrum signal transmission system for a measurement device
US8069254B2 (en) 2001-02-28 2011-11-29 Sharp Laboratories Of America, Inc. Communication period management in a communication system
US8406235B2 (en) 2003-11-26 2013-03-26 Qualcomm Incorporated Quality of service scheduler for a wireless network
USRE46001E1 (en) 2004-07-22 2016-05-10 Koninklijke Philips N.V. Method of connecting a new device to existing network
US10904832B2 (en) 2015-07-31 2021-01-26 Nintendo Co., Ltd. Wireless system, wireless device, non-transitory computer-readable storage medium having stored therein communication program, and communication method
US10911930B2 (en) 2015-07-31 2021-02-02 Nintendo Co., Ltd. Wireless system, wireless device, non-transitory computer-readable storage medium having stored therein communication program, and communication method

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484008B1 (en) 1999-10-06 2009-01-27 Borgia/Cummins, Llc Apparatus for vehicle internetworks
US7039358B1 (en) * 2000-01-10 2006-05-02 Symbol Technologies, Inc. Coexistence techniques in wireless networks
US8019836B2 (en) 2002-01-02 2011-09-13 Mesh Comm, Llc Wireless communication enabled meter and network
US20010033554A1 (en) * 2000-02-18 2001-10-25 Arun Ayyagari Proxy-bridge connecting remote users to a limited connectivity network
GB0004088D0 (en) * 2000-02-21 2000-04-12 Nokia Networks Oy Packet data services in a telecommunications system
US8321542B1 (en) 2000-05-05 2012-11-27 Ipr Licensing, Inc. Wireless channel allocation in a base station processor
EP1168158B1 (en) * 2000-06-12 2007-10-10 Broadcom Corporation Context switch architecture and system
US20020172218A1 (en) * 2000-06-13 2002-11-21 Simon Harrison Communications device
KR100620289B1 (en) * 2000-07-25 2006-09-07 삼성전자주식회사 Method for managing personal ad-hoc network in disappearance of master
US7502591B2 (en) * 2000-08-29 2009-03-10 Texas Instruments Incorporated Multi-mode radio piconet/scatternet
SE518230C2 (en) * 2000-12-12 2002-09-10 Fredriksson Lars Berno Mobile data and communication network for i.a. indoor use with frequency jump and time slot reuse
DE10062303C2 (en) * 2000-12-14 2002-11-28 Layers Ag 7 Method for operating an ad hoc network for wireless data transmission of synchronous and asynchronous messages
DE10103927A1 (en) * 2001-01-30 2002-08-14 Infineon Technologies Ag Data transfer system
US7113745B2 (en) * 2001-02-21 2006-09-26 Ericsson Inc. Method to achieve diversity in a communication network
GB2374767B (en) * 2001-03-21 2005-04-13 Agere Syst Guardian Corp Bluetooth smart offset compensation
US7120390B2 (en) * 2001-03-21 2006-10-10 Agere Systems Inc. BLUETOOTH smart offset compensation
EP1246399A1 (en) * 2001-03-29 2002-10-02 Nokia Corporation Method and apparatus of prioritising the usage of slotted links in a wireless network
JP3700839B2 (en) * 2001-08-30 2005-09-28 ソニー株式会社 Wireless communication apparatus, wireless communication apparatus control method, and computer program
RU2221335C2 (en) * 2001-11-01 2004-01-10 Общество с ограниченной ответственностью "Алгоритм" Method for data transmission in wireless local-area network
KR100464447B1 (en) * 2001-12-11 2005-01-03 삼성전자주식회사 Method and apparatus for scheduling data packets according to quality of service in mobile telecommunication system
US7689225B2 (en) * 2002-01-28 2010-03-30 Ntt Docomo, Inc. Method and apparatus for dormant mode support with paging
US7532862B2 (en) * 2002-03-19 2009-05-12 Apple Inc. Method and apparatus for configuring a wireless device through reverse advertising
US7069483B2 (en) 2002-05-13 2006-06-27 Kiyon, Inc. System and method for identifying nodes in a wireless mesh network
US7941149B2 (en) * 2002-05-13 2011-05-10 Misonimo Chi Acquistion L.L.C. Multi-hop ultra wide band wireless network communication
US8780770B2 (en) 2002-05-13 2014-07-15 Misonimo Chi Acquisition L.L.C. Systems and methods for voice and video communication over a wireless network
US7852796B2 (en) * 2002-05-13 2010-12-14 Xudong Wang Distributed multichannel wireless communication
US7835372B2 (en) * 2002-05-13 2010-11-16 Weilin Wang System and method for transparent wireless bridging of communication channel segments
US7957356B2 (en) 2002-05-13 2011-06-07 Misomino Chi Acquisitions L.L.C. Scalable media access control for multi-hop high bandwidth communications
US20040203787A1 (en) * 2002-06-28 2004-10-14 Siamak Naghian System and method for reverse handover in mobile mesh Ad-Hoc networks
CN1315303C (en) * 2002-07-18 2007-05-09 华为技术有限公司 Dynamic distribution method for slot blandwidth in exchanger
DE10308947B4 (en) * 2003-02-28 2006-07-27 Infineon Technologies Ag Method and system for data transmission
KR100555872B1 (en) * 2003-02-28 2006-03-03 삼성전자주식회사 Wireless communication method and apparatus using the adaptive redistribution of credit algorithm
KR100569303B1 (en) * 2003-04-11 2006-04-10 임재성 Method and device for communicating with more 7 devices efficiently in Bluetooth systems
US7242677B2 (en) * 2003-05-09 2007-07-10 Institute For Information Industry Link method capable of establishing link between two bluetooth devices located in a bluetooth scatternet
US7209471B2 (en) * 2003-05-09 2007-04-24 Institute For Information Technology Data transfer method for a bluetooth scatternet
US7577750B2 (en) * 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
GB0320432D0 (en) * 2003-08-30 2003-10-01 Koninkl Philips Electronics Nv Method for operating a wireless network
JP3905534B2 (en) * 2003-09-18 2007-04-18 三星電子株式会社 Method and system for efficiently communicating between a child PNC and a target device
US7515924B2 (en) * 2003-10-30 2009-04-07 Qualcomm Incorporated Method and module for operating independently of a remote terminal if an incoming pilot signal is not detected within a time period and enabling a pilot signal transmission
US7907628B2 (en) * 2003-11-19 2011-03-15 Honeywell International Inc. Priority based arbitration for TDMA schedule enforcement in a multi-channel system
KR20050048414A (en) * 2003-11-19 2005-05-24 삼성전자주식회사 Relay method for connection request between wireless devices in the wireless network and apparatus thereof
KR100547849B1 (en) * 2003-12-05 2006-01-31 삼성전자주식회사 Frame Structure for Selecting Bridge Device in WPAN and Method for Selecting Bridge Device in WPAN
US7676599B2 (en) 2004-01-28 2010-03-09 I2 Telecom Ip Holdings, Inc. System and method of binding a client to a server
US20050198545A1 (en) * 2004-02-12 2005-09-08 Sony Corporation Automatic user device presence registration system
US8959187B2 (en) * 2004-02-23 2015-02-17 Apple Inc. Method and system for proximity-based information retrieval and exchange in ad hoc networks
US7937088B2 (en) * 2004-03-26 2011-05-03 Qualcomm Incorporated Routing communications in an ad hoc network
DE102004015897B3 (en) * 2004-03-31 2005-12-15 Siemens Ag Method for allocating radio resources for a WLAN
US7460508B2 (en) * 2004-12-01 2008-12-02 Telefonaktiebolaget L M Ericsson (Publ) Methods for cluster-based multi-party conferencing in ad-hoc networks
US7697490B2 (en) * 2004-12-01 2010-04-13 Telefonaktiebolaget L M Ericsson (Publ) Cluster of terminals and ad-hoc network for cluster-based multi-party conferencing
KR100757260B1 (en) * 2004-12-14 2007-09-11 전자부품연구원 Method for implementing scatter-net in wireles personal area network
US8051170B2 (en) * 2005-02-10 2011-11-01 Cisco Technology, Inc. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
US20060198337A1 (en) * 2005-03-07 2006-09-07 Hoang Minh N Method and apparatus for operating a node in an ad-hoc communication system
US20060218353A1 (en) * 2005-03-11 2006-09-28 Interdigital Technology Corporation Method and apparatus for implementing path-based traffic stream admission control in a wireless mesh network
CN101199135B (en) * 2005-05-26 2012-09-05 松下电器产业株式会社 Power line communication system
KR100662258B1 (en) * 2005-12-08 2006-12-28 한국전자통신연구원 Apparatus and its method for providing multi hop communication inter-piconet in wpan
US7664082B1 (en) * 2005-09-30 2010-02-16 Nortel Networks Limited Method of scheduling with multiple radios per node in a wireless multihop network
KR100800997B1 (en) * 2005-10-13 2008-02-11 삼성전자주식회사 Apparatus and method for communication scheduling
CN1859371B (en) * 2005-10-28 2010-09-29 华为技术有限公司 Method for checking flow engineering link time slot state consistency
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US8175613B2 (en) * 2006-08-04 2012-05-08 Misonimo Chi Acquisitions L.L.C. Systems and methods for determining location of devices within a wireless network
US8619623B2 (en) 2006-08-08 2013-12-31 Marvell World Trade Ltd. Ad-hoc simple configuration
US8233456B1 (en) 2006-10-16 2012-07-31 Marvell International Ltd. Power save mechanisms for dynamic ad-hoc networks
US8732315B2 (en) * 2006-10-16 2014-05-20 Marvell International Ltd. Automatic ad-hoc network creation and coalescing using WiFi protected setup
US9308455B1 (en) 2006-10-25 2016-04-12 Marvell International Ltd. System and method for gaming in an ad-hoc network
KR101102719B1 (en) 2006-12-07 2012-01-05 미소니모 카이 액퀴지션 엘엘씨 System and method for timeslot and channel allocation
US8042017B2 (en) * 2007-04-24 2011-10-18 Alcatel Lucent Apparatus and method for practical and efficient broadcast in mobile ad hoc networks
US8520535B2 (en) 2007-05-31 2013-08-27 International Business Machines Corporation Optimization process and system for a heterogeneous ad hoc Network
US7898993B2 (en) * 2007-05-31 2011-03-01 International Business Machines Corporation Efficiency and resiliency enhancements for transition states in ad hoc networks
US7873019B2 (en) * 2007-05-31 2011-01-18 International Business Machines Corporation Systems and methods for establishing gateway bandwidth sharing ad-hoc networks
US7944878B2 (en) * 2007-05-31 2011-05-17 International Business Machines Corporation Filtering in bandwidth sharing ad hoc networks
US7894828B2 (en) * 2007-05-31 2011-02-22 International Business Machines Corporation System and method for establishing peer-to-peer bandwidth sharing ad hoc networks
US8320414B2 (en) * 2007-05-31 2012-11-27 International Business Machines Corporation Formation and rearrangement of lender devices that perform multiplexing functions
US7979311B2 (en) 2007-05-31 2011-07-12 International Business Machines Corporation Payment transfer strategies for bandwidth sharing in ad hoc networks
US10623998B2 (en) 2007-05-31 2020-04-14 International Business Machines Corporation Price offerings for bandwidth-sharing ad hoc networks
US10419360B2 (en) 2007-05-31 2019-09-17 International Business Machines Corporation Market-driven variable price offerings for bandwidth-sharing ad hoc networks
US7817623B2 (en) 2007-05-31 2010-10-19 International Business Machines Corporation Optimization process and system for non-multiplexed peer-to-peer architecture
US8249984B2 (en) 2007-05-31 2012-08-21 International Business Machines Corporation System and method for fair-sharing in bandwidth sharing ad-hoc networks
US7843861B2 (en) * 2007-05-31 2010-11-30 International Business Machines Corporation Coalition formation and service provisioning of bandwidth sharing AD HOC networks
US7860081B2 (en) 2007-05-31 2010-12-28 International Business Machines Corporation Optimization process and system for multiplexed gateway architecture
US8040863B2 (en) 2007-05-31 2011-10-18 International Business Machines Corporation Demand pull and supply push communication methodologies
US8620784B2 (en) 2007-05-31 2013-12-31 International Business Machines Corporation Formation and rearrangement of ad hoc networks
WO2009006585A1 (en) 2007-07-03 2009-01-08 Marvell Semiconductor, Inc. Location aware ad-hoc gaming
US20090022090A1 (en) * 2007-07-19 2009-01-22 Motorola, Inc. Switching allocation in ad hoc network
US8457122B2 (en) * 2007-08-01 2013-06-04 Broadcom Corporation Multiport switch for cascaded ethernet AV device networking
US8334787B2 (en) 2007-10-25 2012-12-18 Trilliant Networks, Inc. Gas meter having ultra-sensitive magnetic material retrofitted onto meter dial and method for performing meter retrofit
WO2009067256A2 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. System and method for power outage and restoration notification in an advanced metering infrastructure network
WO2009067251A1 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. Communication and message route optimization and messaging in a mesh network
US8138934B2 (en) 2007-11-25 2012-03-20 Trilliant Networks, Inc. System and method for false alert filtering of event messages within a network
WO2009067257A1 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. Energy use control system and method
CA2714026A1 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. System and method for transmitting and receiving information on a neighborhood area network
US10650062B2 (en) * 2007-12-31 2020-05-12 International Business Machines Corporation Activity centric resource recommendations in a computing environment
US8194573B1 (en) * 2008-07-14 2012-06-05 L-3 Communications, Corp. Directional access network control system and method
US8199635B2 (en) * 2008-08-12 2012-06-12 General Atomics Method and system for network setup and maintenance and medium access control for a wireless sensor network
WO2010027495A1 (en) 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US8289182B2 (en) 2008-11-21 2012-10-16 Trilliant Networks, Inc. Methods and systems for virtual energy management display
KR101172886B1 (en) * 2008-12-18 2012-08-10 아주대학교산학협력단 Method for improving energy efficiency in wireless mesh networks
US20100182962A1 (en) * 2009-01-21 2010-07-22 National Chiao Tung University Device, method and system for exchange of information between multiple wireless network groups
US8891338B2 (en) 2009-01-29 2014-11-18 Itron, Inc. Measuring the accuracy of an endpoint clock from a remote device
WO2010105038A1 (en) 2009-03-11 2010-09-16 Trilliant Networks, Inc. Process, device and system for mapping transformers to meters and locating non-technical line losses
WO2010109676A1 (en) * 2009-03-25 2010-09-30 トヨタ自動車株式会社 Vehicle steering apparatus
US8971256B2 (en) * 2009-04-15 2015-03-03 Qualcomm Incorporated Ad-hoc directional communication in contention access period
US8457088B1 (en) * 2009-04-22 2013-06-04 Marvell International Ltd. Multi-level piconet data aggregation
US8781462B2 (en) 2009-09-28 2014-07-15 Itron, Inc. Methodology and apparatus for validating network coverage
US9084120B2 (en) 2010-08-27 2015-07-14 Trilliant Networks Inc. System and method for interference free operation of co-located transceivers
WO2012037055A1 (en) 2010-09-13 2012-03-22 Trilliant Networks Process for detecting energy theft
EP2641137A2 (en) 2010-11-15 2013-09-25 Trilliant Holdings, Inc. System and method for securely communicating across multiple networks using a single radio
WO2012097204A1 (en) 2011-01-14 2012-07-19 Trilliant Holdings, Inc. Process, device and system for volt/var optimization
WO2012103072A2 (en) 2011-01-25 2012-08-02 Trilliant Holdings, Inc. Aggregated real-time power outages/restoration reporting (rtpor) in a secure mesh network
EP3285459B1 (en) 2011-02-10 2022-10-26 Trilliant Holdings, Inc. Device and method for coordinating firmware updates
WO2012122310A1 (en) 2011-03-08 2012-09-13 Trilliant Networks, Inc. System and method for managing load distribution across a power grid
US9001787B1 (en) 2011-09-20 2015-04-07 Trilliant Networks Inc. System and method for implementing handover of a hybrid communications module
CN102594883A (en) * 2012-02-09 2012-07-18 中兴通讯股份有限公司 Method and system for determining business operation mode
WO2013191603A1 (en) * 2012-06-20 2013-12-27 Telefonaktiebolaget L M Ericsson (Publ) Methods for scheduling communication resources to a wireless device and scheduling device
EP2883386A4 (en) * 2012-08-08 2016-03-16 Nokia Technologies Oy Method and apparatus for network assisted data transfer scheduling
EP2701411B1 (en) * 2012-08-21 2018-02-28 BlackBerry Limited Smart proximity priority pairing
US9332587B2 (en) * 2012-08-21 2016-05-03 Blackberry Limited Smart proximity priority pairing
JP2014241586A (en) * 2013-06-21 2014-12-25 利仁 曽根 Cluster communication method
JP2015050764A (en) * 2013-12-25 2015-03-16 利仁 曽根 Cluster communication method
CN104462223B (en) * 2014-11-11 2018-10-16 三星电子(中国)研发中心 A kind of Web browser method and device based on peer-to-peer network pattern
WO2016084114A1 (en) * 2014-11-26 2016-06-02 Nec Corporation Mechanism for quick connection in wireless peer to peer networks
JP6703406B2 (en) * 2015-07-31 2020-06-03 任天堂株式会社 Wireless system, wireless device, communication program, and communication method
US10127052B2 (en) 2016-04-15 2018-11-13 Google Llc Connection device for a modular computing system
US10129085B2 (en) 2016-04-15 2018-11-13 Google Llc Determining network configurations for a modular computing entity
US9977697B2 (en) 2016-04-15 2018-05-22 Google Llc Task management system for a modular electronic device
US10282233B2 (en) 2016-04-15 2019-05-07 Google Llc Modular electronic devices with prediction of future tasks and capabilities
US9990235B2 (en) 2016-04-15 2018-06-05 Google Llc Determining tasks to be performed by a modular entity
US10025636B2 (en) 2016-04-15 2018-07-17 Google Llc Modular electronic devices with contextual task management and performance
JP2016225994A (en) * 2016-06-29 2016-12-28 利仁 曽根 node
US10517111B2 (en) * 2016-09-21 2019-12-24 Apple Inc. Mitigating scheduling conflicts in wireless communication devices
JP2018117381A (en) * 2016-10-04 2018-07-26 利仁 曽根 Radio communication system
JP2018093517A (en) * 2016-12-28 2018-06-14 利仁 曽根 system
JP2018164270A (en) * 2018-05-25 2018-10-18 利仁 曽根 Bluetooth (r) mesh
JP2019169937A (en) * 2019-01-29 2019-10-03 利仁 曽根 Bluetooth (r) mesh network
JP2020198643A (en) * 2020-09-03 2020-12-10 利仁 曽根 Bluetooth (r) mesh network
CN114448801B (en) * 2021-12-23 2024-04-12 东莞市李群自动化技术有限公司 Method for creating real-time channel group, network topology, equipment and storage medium
WO2023116806A1 (en) * 2021-12-23 2023-06-29 东莞市李群自动化技术有限公司 Control method for real-time channel group, network system, and storage medium
CN114244764B (en) * 2021-12-23 2023-11-03 东莞市李群自动化技术有限公司 Service message transmission method, system, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051984A (en) * 1989-02-09 1991-09-24 Data General Corporation Methods for flexibly allocating bandwidth for a point-to-point serial, bidirectional communication path

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2507436B2 (en) 1987-06-03 1996-06-12 日本電信電話株式会社 Parent-child cordless telephone device
JPH0624366B2 (en) 1988-11-24 1994-03-30 日本電気株式会社 Network failure recovery method
GB8907317D0 (en) 1989-03-31 1989-05-17 Plessey Telecomm Communications systems
US5235599A (en) 1989-07-26 1993-08-10 Nec Corporation Self-healing network with distributed failure restoration capabilities
US5056085A (en) 1989-08-09 1991-10-08 Harris Corporation Flood-and-forward routing for broadcast packets in packet switching networks
US5173689A (en) 1990-06-25 1992-12-22 Nec Corporation Self-distributed logical channel node failure restoring system
US5394436A (en) 1991-10-01 1995-02-28 Norand Corporation Radio frequency local area network
US5398012A (en) 1992-11-24 1995-03-14 International Business Machines Corporation Distributed processing of route selection across networks and subnetworks
DE4329010A1 (en) * 1993-08-28 1995-03-02 Sel Alcatel Ag Radio system
US6006069A (en) 1994-11-28 1999-12-21 Bosch Telecom Gmbh Point-to-multipoint communications system
JP2937813B2 (en) 1995-06-15 1999-08-23 日本電気株式会社 Automatic routing method and system
US6418148B1 (en) * 1995-10-05 2002-07-09 Lucent Technologies Inc. Burst-level resource allocation in cellular systems
GB2310972B (en) * 1996-03-07 2000-06-14 Motorola Ltd Communication system and operating method thereof
US5848266A (en) * 1996-06-20 1998-12-08 Intel Corporation Dynamic data rate adjustment to maintain throughput of a time varying signal
US5748611A (en) 1996-06-27 1998-05-05 Mci Corporation System and method for restoring a telecommunications network using conservative bandwidth reservation and selective message rebroadcast
US5987011A (en) * 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US5844900A (en) * 1996-09-23 1998-12-01 Proxim, Inc. Method and apparatus for optimizing a medium access control protocol
US6275497B1 (en) 1997-02-10 2001-08-14 Hybrid Networks, Inc. Method and apparatus for controlling communication channels using contention and polling schemes
JP3685917B2 (en) 1997-06-02 2005-08-24 富士通株式会社 Relay device, network relay system, and relay method
FI973837A (en) * 1997-09-29 1999-03-30 Nokia Telecommunications Oy Allocation of communication resources
EP0913965A1 (en) 1997-11-03 1999-05-06 Canon Kabushiki Kaisha Reduction of the message traffic in a distributed network
WO1999023799A1 (en) 1997-11-03 1999-05-14 British Telecommunications Public Limited Company Packet network
US6304556B1 (en) * 1998-08-24 2001-10-16 Cornell Research Foundation, Inc. Routing and mobility management protocols for ad-hoc networks
US6577613B1 (en) * 1999-03-02 2003-06-10 Verizon Corporate Services Group Inc. Method and apparatus for asynchronous reservation-oriented multiple access for wireless networks
US6691173B2 (en) * 1999-07-06 2004-02-10 Widcomm, Inc. Distributed management of an extended network containing short-range wireless links
US6377805B1 (en) * 1999-08-04 2002-04-23 International Business Machines Corporation Maintaining data communication through neighboring mobile units during handoff
US6650871B1 (en) * 1999-10-14 2003-11-18 Agere Systems Inc. Cordless RF range extension for wireless piconets
US6678252B1 (en) * 1999-10-28 2004-01-13 Verizon Laboratories Inc. Method and apparatus for dynamic source routing in ad hoc wireless networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051984A (en) * 1989-02-09 1991-09-24 Data General Corporation Methods for flexibly allocating bandwidth for a point-to-point serial, bidirectional communication path

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAARTSEN J: "BLUETOOTH - THE UNIVERSAL RADIO INTERFACE FOR AD HOC, WIRELESS CONNECTIVITY" ERICSSON REVIEW,SE,ERICSSON. STOCKHOLM, no. 3, 1 January 1998 (1998-01-01), pages 110-117, XP000783249 ISSN: 0014-0171 *

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058050B2 (en) 2000-12-01 2006-06-06 Telefonaktiebolaget L M Ericsson (Publ) Flexible inter-network communication scheduling
US7450577B2 (en) 2000-12-01 2008-11-11 Telefonaktiebolaget L M Ericsson (Publ) Flexible inter-network communication scheduling
WO2002058335A2 (en) * 2001-01-18 2002-07-25 Strix Systems, Inc. Method, computer-readable medium and apparatus for wirelessly exchanging communications with a mobile unit
US7016325B2 (en) 2001-01-18 2006-03-21 Strix Systems, Inc. Link context mobility method and system for providing such mobility, such as a system employing short range frequency hopping spread spectrum wireless protocols
WO2002058334A2 (en) * 2001-01-18 2002-07-25 Strix Systems, Inc. System, method and computer-readable medium for wirelessly exchanging communication with a mobile unit
WO2002058335A3 (en) * 2001-01-18 2003-12-18 Strix Systems Inc Method, computer-readable medium and apparatus for wirelessly exchanging communications with a mobile unit
WO2002058334A3 (en) * 2001-01-18 2003-08-28 Strix Systems Inc System, method and computer-readable medium for wirelessly exchanging communication with a mobile unit
US7475148B2 (en) 2001-02-28 2009-01-06 Sharp Laboratories Of America, Inc. Pseudo-random dynamic scheduler for scheduling communication periods between electronic devices
US8583805B2 (en) 2001-02-28 2013-11-12 Sharp Laboratories Of America, Inc. Communication period management in a communication system
US8069254B2 (en) 2001-02-28 2011-11-29 Sharp Laboratories Of America, Inc. Communication period management in a communication system
EP1377910A1 (en) * 2001-04-02 2004-01-07 Motorola, Inc. System for dynamic process assignment in a local area network and method therefor
WO2002082291A1 (en) 2001-04-02 2002-10-17 Motorola, Inc. System for dynamic process assignment in a local area network and method therefor
EP1377910A4 (en) * 2001-04-02 2009-08-05 Motorola Inc System for dynamic process assignment in a local area network and method therefor
US7546126B2 (en) 2001-05-02 2009-06-09 Strix Systems, Inc. Wireless base station neighbor discovery in a communication system, such as a system employing a short-range frequency hopping scheme
US7151757B2 (en) 2001-05-02 2006-12-19 Strix Systems, Inc. Wireless base station to base station synchronization in a communication system, such as a system employing a short-range frequency hopping or time division duplex scheme
US7194010B2 (en) 2001-05-02 2007-03-20 Strix Systems, Inc. Wireless base station to base station synchronization in a communication system, such as a system employing a short range frequency hopping or time division duplex scheme
US7251489B2 (en) 2001-05-02 2007-07-31 Strix Systems, Inc. Wireless base station neighbor discovery in a communication system, such as a system employing a short-range frequency hopping scheme
WO2002091685A2 (en) * 2001-05-07 2002-11-14 Koninklijke Philips Electronics N.V. Network with sub-networks which can be interconnected through bridge terminals
WO2002091685A3 (en) * 2001-05-07 2003-02-27 Koninkl Philips Electronics Nv Network with sub-networks which can be interconnected through bridge terminals
EP1271853A2 (en) * 2001-06-25 2003-01-02 Nokia Corporation Communication device, method and system for interference reduction
EP1271853A3 (en) * 2001-06-25 2003-11-05 Nokia Corporation Communication device, method and system for interference reduction
US7333514B2 (en) 2001-08-09 2008-02-19 Telefonaktiebolaget Lm Ericsson (Publ) Flexible frame scheduler for simultaneous circuit-and packet-switched communication
WO2003015345A2 (en) 2001-08-09 2003-02-20 Telefonaktiebolaget L M Ericsson (Publ) Flexible frame scheduler for simultaneous circuit- and packet-switched communication
WO2003015345A3 (en) * 2001-08-09 2003-05-08 Ericsson Telefon Ab L M Flexible frame scheduler for simultaneous circuit- and packet-switched communication
CN1310472C (en) * 2001-08-10 2007-04-11 因芬尼昂技术股份公司 Method for tramsmitting data between master station and slave station, and corresponding communication system
US7260359B2 (en) 2001-08-10 2007-08-21 Infineon Technologies Ag Method for transmission of data between a master station and a slave station, and a data transmission system
WO2003017575A1 (en) * 2001-08-10 2003-02-27 Infineon Technologies Ag Method for transferring data between a master station and a slave station, and corresponding communication system
KR100436756B1 (en) * 2001-08-31 2004-06-23 삼성전자주식회사 wireless communication system capable of saving time for mutual data communication in sniff mode
WO2003024031A1 (en) * 2001-09-10 2003-03-20 Nokia Corporation Method of transmitting time-critical scheduling information between single network devices in a wireless network using slotted point-to point links
US7974260B2 (en) 2001-09-10 2011-07-05 Spyder Navigations L.L.C. Method of transmitting time-critical scheduling information between single network devices in a wireless network using slotted point-to-point links
US7366776B2 (en) 2001-11-20 2008-04-29 Sharp Laboratories Of America, Inc. System and method for reestablishing a communication period in a rendezvous scheduled system
CN100433673C (en) * 2001-11-28 2008-11-12 自由度半导体公司 System and method for communicating between coordinated multipoint wireless networks
WO2003047176A1 (en) * 2001-11-28 2003-06-05 Motorola, Inc. System and method of communication between multiple point-coordinated wireless networks
US7184767B2 (en) 2001-11-28 2007-02-27 Freescale Semiconductor, Inc. System and method of communication between multiple point-coordinated wireless networks
EP1331763A2 (en) * 2002-01-24 2003-07-30 Samsung Electronics Co., Ltd. Bluetooth system capable of communicating in a scatternet and a communication method thereof
US7522933B2 (en) 2002-01-24 2009-04-21 Samsung Electronics Co., Ltd. Bluetooth system capable of communicating on scatternet and communicating method thereof
EP1331763A3 (en) * 2002-01-24 2004-01-21 Samsung Electronics Co., Ltd. Bluetooth system capable of communicating in a scatternet and a communication method thereof
WO2003092205A3 (en) * 2002-04-26 2004-01-08 Intel Corp Establishing an ad hoc network
WO2003092205A2 (en) * 2002-04-26 2003-11-06 Intel Coporation Establishing an ad hoc network
DE10221421A1 (en) * 2002-05-14 2003-08-07 Siemens Ag Assigning resources in self-organized communications system involves operating second station with connection to central controller as second station superior to central station
US9140547B2 (en) 2002-12-23 2015-09-22 Renishaw Plc Signal transmission system for a measurement device
CN101482402B (en) * 2002-12-23 2012-05-30 瑞尼斯豪公司 Signal transmission system for a measurement device
EP2214147A1 (en) * 2002-12-23 2010-08-04 Renishaw PLC Spread spectrum signal transmission system for a measurement device
US7515571B2 (en) 2003-11-24 2009-04-07 Samsung Electronics, Co., Ltd. Frame structure for bridging operation in high-speed wireless personal area network and data transmitting method thereof
US8036188B2 (en) 2003-11-24 2011-10-11 Samsung Electronics Co., Ltd. Frame structure for bridging operation in high-speed wireless personal area network and data transmitting method thereof
US8406235B2 (en) 2003-11-26 2013-03-26 Qualcomm Incorporated Quality of service scheduler for a wireless network
US7519371B2 (en) 2004-02-09 2009-04-14 Qualcomm Incorporated Multi-hop communications in a wireless network
US8019351B2 (en) 2004-02-09 2011-09-13 Qualcomm, Incorporated Multi-hop communications in a wireless network
EP1619836A1 (en) * 2004-07-19 2006-01-25 Mitsubishi Electric Information Technology Centre Europe B.V. Method for optimizing information exchanges in a telecommunication system including multiple local networks such as an ad-hoc system
EP1619837A1 (en) * 2004-07-19 2006-01-25 Mitsubishi Electric Information Technology Centre Europe B.V. Method for optimizing resource allocation in a telecommunication system including multiple local networks such as an ad-hoc system
USRE46001E1 (en) 2004-07-22 2016-05-10 Koninklijke Philips N.V. Method of connecting a new device to existing network
US7756067B2 (en) 2004-11-30 2010-07-13 Canon Kabushiki Kaisha Wireless communication equipment, wireless communication control method, and program
EP1662727A1 (en) * 2004-11-30 2006-05-31 Canon Kabushiki Kaisha Control of sequentially communicating with devices included in a plurality of networks (e.g. piconets)
US7675896B2 (en) 2004-12-16 2010-03-09 Canon Kabushiki Kaisha Communication apparatus and control method thereof
EP1672841A2 (en) * 2004-12-16 2006-06-21 Canon Kabushiki Kaisha Communication apparatus and control method thereof
EP1672841A3 (en) * 2004-12-16 2006-07-26 Canon Kabushiki Kaisha Communication apparatus and control method thereof
WO2006066989A1 (en) * 2004-12-22 2006-06-29 Siemens Aktiengesellschaft Method for transmitting data between a transmitting and a receiving unit in a bluetooth & reg; radio communications system
WO2006067047A1 (en) * 2004-12-22 2006-06-29 Siemens Aktiengesellschaft Method for data block transmission between a transmitting and a receiving unit in a bluetooth radio communication system
EP1994696A2 (en) * 2006-03-06 2008-11-26 Rosemount, Inc. Wireless mesh networks
US7944883B2 (en) 2006-03-06 2011-05-17 Rosemount Inc. Wireless mesh networks
EP1994696A4 (en) * 2006-03-06 2011-03-02 Rosemount Inc Wireless mesh networks
WO2009153817A1 (en) * 2008-06-19 2009-12-23 Selex Communications S.P.A. Mobile ad-hoc network
US10904832B2 (en) 2015-07-31 2021-01-26 Nintendo Co., Ltd. Wireless system, wireless device, non-transitory computer-readable storage medium having stored therein communication program, and communication method
US10911930B2 (en) 2015-07-31 2021-02-02 Nintendo Co., Ltd. Wireless system, wireless device, non-transitory computer-readable storage medium having stored therein communication program, and communication method

Also Published As

Publication number Publication date
AU2035801A (en) 2001-06-12
CN1408157A (en) 2003-04-02
EP1236308A2 (en) 2002-09-04
WO2001041348A3 (en) 2001-10-18
JP2003516095A (en) 2003-05-07
US6975613B1 (en) 2005-12-13

Similar Documents

Publication Publication Date Title
US6975613B1 (en) System and method for scheduling communication sessions in an ad-hoc network
US6928085B2 (en) System and method for providing quality of service and contention resolution in ad-hoc communication systems
Baatz et al. Bluetooth scatternets: An enhanced adaptive scheduling scheme
AU2002313823B2 (en) System and method for collision-free transmission scheduling using neighborhood information and advertised transmission times
US7333514B2 (en) Flexible frame scheduler for simultaneous circuit-and packet-switched communication
US7016372B2 (en) Dynamic bandwidth allocation in AD hoc wireless piconets
US7218644B1 (en) Dynamic bandwidth allocation for bluetooth access point connections
EP1107516B1 (en) Methods and arrangements in a telecommunications system
US7193986B2 (en) Wireless network medium access control protocol
EP1800420B1 (en) Techniques for interference reduction in wireless communications networks
US20040047319A1 (en) Contention-based medium access control for ad hoc wireless piconets
US20040100929A1 (en) System and method for collision-free transmission scheduling in a network
AU2002313823A1 (en) System and method for collision-free transmission scheduling using neighborhood information and advertised transmission times
WO2002045360A2 (en) Flexible inter-network communication scheduling
WO2002039665A2 (en) Coordinated inquiry and page procedures in an ad-hoc wireless network
WO2005067162A1 (en) A method for reducing radio interference in a frequency-hopping radio network
Thoppian et al. CSMA-based MAC protocol for cognitive radio networks
US20020105930A1 (en) Combination WDCT and HomeRF air interface
Bhattacharya et al. Multimedia communication in cognitive radio networks based on sample division multiplexing
Joe QoS-aware MAC with reservation for mobile ad-hoc networks
Malik et al. Minimum energy and latency mac protocol for wireless sensor networks
Yi et al. Cooperative Incumbent System Protection MAC Protocol for Multi-channel Ad-hoc Cognitive Radio Networks
Leung et al. Polyaniline Nanostructures
Miklós et al. Performance Analysis of Ad Hoc Communication Over Multiple Frequency Hopping Channels
Amailef et al. Simulation-based performance analysis of dynamic channel scheduling algorithm

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2000983627

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 542497

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 008167699

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2000983627

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2000983627

Country of ref document: EP