The present invention relates generally to a method and a device for scatternet formation in ad hoc networks. The invention especially concerns networks supporting Bluetooth technology.
Bluetooth specification [1] by Bluetooth SIG (Special Interest Group) consists of two documents: the Foundation Core including actual design specifications and the Foundation Profile comprising interoperability guidelines and protocol definitions. Bluetooth provides technology for short-range wireless communications, and important usage of Bluetooth is to enable short-range ad hoc PAN (Personal Area Network) networks. Bluetooth utilizes the unlicensed frequency band at 2.4 GHz and devices supporting this de facto standard share 79 channels with channel spacing of 1 MHz. In a few countries (e.g. France) frequency band is reduced, and a 23-channel system is utilized. Frequency hopping technique is used to reduce interference/fading and on the other hand, enhance security. On the slotted channel, information is exchanged through packets. Each packet is transmitted on a different hop frequency. A basic packet covers a single slot, but can be extended to cover up to five slots. Bluetooth supports both asynchronous and synchronous communications.
Bluetooth device consists of a radio unit, a link control unit, and a support unit for link management and host terminal interface functions. The aforesaid specifications determine these functionalities in a more detailed manner.
Bluetooth enables different types of connections, the simplest of which, “point-to-point” connection, consisting of only two devices called a master and a slave. Procedures “inquiry” and “paging” are used to establish new connections between devices. Inquiry procedure enables a unit to discover which units are in range, and what their device addresses and clocks are. A master executing the inquiry procedure hops 3200 times per second according to a 32-channel inquiry hopping sequence as a slave executing inquiry scan process adjusts the monitored frequency once in 1.28 seconds. After the inquiry procedure is completed, a connection can be established by the paging procedure and only the Bluetooth device address is required to set up a connection. However, knowledge about the clock will accelerate the setup procedure. The unit that establishes a connection will carry out a page procedure and automatically act as the master of the connection.
When two or more devices are connected together via Bluetooth using the same channel, they are said to form a piconet including 2-8 active units, one unit acting as a master and others as slaves. In addition, more slaves can remain locked to the master in a so-called parked state. These parked slaves are still synchronized to the master. All data is transmitted between the master and the slaves resulting that the communication between slaves has to be routed through the master. Related topology is thus star-shaped. Each Bluetooth device has a unique 48-bit device address derived from the IEEE802 standard and each slave active in a piconet has an individual active member address. The all-zero active member address is reserved for broadcast messages and the master does not have a member address at all. Active member address is assigned to the slave by the master, when the slave is activated.
Inside a piconet, the master of the piconet controls the traffic by polling the slaves. Due- to the stringent Time-Division Duplex (TDD) scheme, slaves can communicate directly only with the master. A slave is allowed to transmit data if it was addressed (by the master) in the previous time slot. A master can poll a slave either implicitly or explicitly. When the master has data available for a particular slave and it wants to give that slave an opportunity to transmit, the master sends a data packet to the slave. This case is called implicit poll. The polled slave responds with a data packet if available. Otherwise, it responds with a NULL packet. An explicit poll takes place when a master has no data available for a particular slave while the master wants to give that slave an opportunity to transmit. In this case the master sends a packet with no payload (POLL packet). The master can poll slaves according to any preferred algorithm such as Round Robin and Fair Exhaustive Polling (FEP). With Round Robin polling, slaves are polled in a cyclic manner whether they have data to transmit or not. When a piconet consists of a master and seven slaves, each slave gets a seventh of the total number of available polls. Bandwidth is lost on lightly loaded slave and cannot be used by other slaves. The FEP was introduced to solve the inefficiency problem of Round Robin poller. Slaves are divided into two groups: active group and inactive group. Slaves in the active group are polled in a Round Robin manner. The number of successive useless polls or the average success rate of polls can be used as a measurement of activity of a slave. If the traffic demand is known in advance, the FEP can be set up to divide bandwidth between slaves in more efficient way.
Slaves can join in several piconets within the same coverage area on a time-division multiplex basis. Multiple piconets containing shared devices form a multi-hop network called a scatternet. Independent piconets belonging to a scatternet are not synchronized and each piconet still has its own hopping channel. Even a master of a certain piconet can become a slave in another piconet. A device belonging to several piconets can provide inter-piconet routing services. Currently, only the specification of the star-shaped single-hop piconet is ready and many crucial issues of scatternets such as network formation, inter-piconet scheduling and routing, are not well specified.
In general, PAN is a concept that is bearer independent. It can be built over Bluetooth, WLAN (Wireless Local Area Network) or IR (Infra-Red). PANs just allow devices to work together and share each other's information and services. Communication between PANs would enable participants at a meeting to share documents or presentations. Access to the Internet via a wireless LAN (Local Area Network) access point or via a 3G cellular phone would enable devices in the PAN to be constantly on-line.
Usually an ad-hoc PAN is expected to operate in a network environment in which some or all the nodes are mobile. The network is to be formed without any central administration or infrastructure. Ad hoc PAN has the following characteristics:
From the Bluetooth radio technology point of view, a Bluetooth network is different from the typical ad hoc network in many ways as the network structure is hierarchical (roles: master-slave), radio ranges are short, explicit connections are required (inquiry, page), connection set-up times can be long and bit-rates are reasonably low.
The current specified Bluetooth PAN is based on a single piconet, but the scatternet functionality is required to allow a flexible forming of larger ad-hoc PANs. The nodes that are present in multiple piconets may either have applications that are operating in different piconets, or merely function as a gateway between the piconets and forward other nodes' traffic.
Bluetooth units can be arranged to establish a scatternet applying various methods. The configuration of a scatternet has a great effect on the functioning of the network. For instance, when a scatternet contains a large number of piconets in the same area, the rate of packet collisions correspondingly increases. Therefore, before the power of Bluetooth ad hoc network can be fully exploited, an efficient protocol to form a scatternet from standalone Bluetooth devices has to be developed. By grouping devices into piconets and properly selecting the bridge units executing the inter-piconet routing functionalities, resulting scatternet performance figures like network throughput can be significantly altered.
Inter-piconet scheduling is another necessary mechanism for utilizing Bluetooth scatternet. Since a Bluetooth unit can transmit or receive on only one piconet at a time, bridging unit must switch between piconets on a time division basis. Due to the need to synchronize its radio from one piconet to another and perform the necessary signalling, a Bluetooth unit necessarily loses some time while switching. The inter-piconet scheduling issues represent an important performance constraint in building scatternets. The connection point between two piconets can receive packets from one piconet and forward them to the other piconet. When packets must traverse multiple hops between the source and destination, routing becomes necessary. Bluetooth networks have ad hoc nature, i.e. participants are normally mobile, continuously moving in and out of its range and the communication should be established without aid of a central infrastructure. The existing ad hoc routing protocols developed by IETF working group “MANET” (Mobile Ad-hoc NETwork) can be considered as the candidate routing protocols for Bluetooth scatternet. But because Bluetooth ad hoc network has particularities compared to the “typical” ad hoc network, behaviour of MANET routing protocols such as AODV (Ad Hoc On-Demand Distance-Vector) over scatternet has not been fully tested yet.
A study by Miklos et al. [2] covers relationships between scattemet design rules and performance parameters for deriving generic guidelines. According to the study, two characteristics, namely the amount of bridging overhead and the number of established Bluetooth links, have a major impact on system performance. It seems that for a good performance, it is fundamental to decrease bridging overhead as much as possible and the number of established Bluetooth links has to be controlled by the exploited scatternet formation technique.
Law et al. [3] discloses a new Bluetooth scatternet formation protocol, which produces scatternets with some desired properties: a small number of piconets for minimizing inter-piconet interference, and low device degrees (the number of piconets that a device belongs to) for avoiding network bottlenecks. However, a restrictive assumption that all Bluetooth devices are in range with each other has been made.
Scatternet topologies providing optimal performance are definitely of prime importance for future Bluetooth implementations. However, the complexity of the problem and the large number of various, adjustable parameters usually makes the network formation algorithms quite complicated and slow. Furthermore, existing algorithms try to optimise the network topology according to a limited set of parameters usually in a static state; all devices are located inside the radio range and/or their position is fixed; devices do not move and therefore existing links do not fail, new link possibilities do not appear, link qualities do not vary etc. As a result, the corresponding results gathered from the simulations are not fully transformable to real life scenarios that often comprise highly dynamic characteristics.
In traditional “on-demand” resource management solutions, for example, establishment of connections is based on requests from the unconnected devices, possibly resulting a decoupling of some existing connections to free resources for the new requested one. Generally speaking, also a demand based paging process in a computer system may comprise steps of receiving a request of a new memory page needed by an application and dumping of the prevailing page in favour of the requested new one. A selection of a page to be dumped may be done on the basis of various mechanisms such as “least-recently used”, “most recently used”, “least-used” etc.
The object of the present invention is to alleviate the drawbacks of the typical network formation techniques mentioned above. The invention discloses a method and a device, such as a wireless personal communications device like a mobile terminal, for chatternet formation. The proposed method is fast, simple and capable of adapting to dynamic environment originating e.g. from movements of the near-by Bluetooth devices and varying traffic patterns. A clear difference between traditional “on-demand” resource management solutions and the disclosed method is founded on the basic principle of the invention. In proposed solution, new connections are searched and established by devices with free resources, even without actual demand from the outside devices. Correspondingly, existing connections may be automatically terminated based on some connection specific characteristics in order to enable establishment of new connections with more favourable features.
According to the invention, a method for wireless ad hoc network formation, where the forming is to be performed by a device operable in a wireless network, is characterized in that it comprises the steps of
In another aspect of the invention, a method for wireless ad hoc network formation, where the forming is to be performed by a device operable in a wireless network, is characterized in that it comprises the steps of
In a further aspect of the invention, a device operable in a wireless network, comprising processing means and memory means for processing and storing instructions and data, is characterized in that it is arranged to check if more connections are allowed for said device and if that is the case, arranged to inquire for other devices in range and connect to a device responded first.
In a further aspect of the invention, a device operable in a wireless network, comprising processing means and memory means for processing and storing instructions and data, is characterized in that it is arranged to acquire parameters from existing connections, check if parameter related criteria for breaking a connection is met, and if that is the case, arranged to break an existing connection with criteria met, inquire for other devices in range, and connect to a device responded first.
The term “link” refers to a connection between two devices. The devices are called “nodes”.
In one embodiment of the invention a mobile terminal is arranged to construct a scatternet in accordance with the proposed method. The terminal is originally a slave member of an existing piconet but it still has free resources for setting up a new connection. The terminal executes the inquiry procedure to detect if other devices are present and willing to establish a connection. The terminal connects to a device replied first and eventually, a new piconet is formed. Now the resulting scatternet consists of two piconets having said terminal as a bridge node connecting said piconets.
In another embodiment of the invention a node recognises a break in an existing connection and automatically starts looking for a replacement.
In a further embodiment of the invention a node monitors existing links and according to predefined or adaptively calculated criteria, breaks a certain connection for a search of a new and advantageously more favourable one.
In a further embodiment of the invention a node without any existing connections inquires for neighbours and after setting up few connections, still continues responding to inquiries from other devices until the predefined connection quota is full.
In the following, the invention is described in more detail by reference to the attached drawings, wherein
Referring to
Between master and slave(s), different links can be established. Two link types have been defined: Synchronous Connection-Oriented (SCO) link and Asynchronous Connection-Less (ACL) link.
The SCO link is a point-to-point link between a master and a single slave in the piconet. The master maintains the SCO link by using reserved time slots at regular intervals. The ACL link is a point-to-multipoint link between the master and all the slaves participating on the piconet. In the slots not reserved for the SCO link(s), the master can establish an ACL link on a per-slot basis to any slave, including the slave(s) already engaged in an SCO link. SCO and ACL links can be set up by exploiting aforesaid inquiry and paging procedures. The SCO link is a symmetric, point-to-point link between the master and a specific slave. The SCO link reserves slots and can therefore be considered as a circuit-switched connection between the master and the slave. The SCO link typically supports time-bounded information like voice. The master can support up to three SCO links to the same slave or to different slaves. A slave can support up to three SCO links from the same master, or two SCO links if the links originate from different masters. SCO packets are never retransmitted. The master will send SCO packets at regular intervals, the so-called SCO interval TSCO (counted in slots) to the slave in the reserved master-to-slave slots. The SCO slave is always allowed to respond with an SCO packet in the following slave-to-master slot unless a different slave was addressed in the previous master-to-slave slot. If the SCO slave fails to decode the slave address in the packet header, it is still allowed to return an SCO packet in the reserved SCO slot. A slave is permitted to return an ACL packet in the slave-to-master slot if and only if it has been addressed in the preceding master-to-slave slot. If the slave fails to decode the slave address in the packet header, it is not allowed to transmit. ACL packets not addressed to a specific slave are considered as broadcast packets and are read by every slave. If there is no data to be sent on the ACL link and no polling is required, no transmission shall take place. However, physical and logical channels, packets, utilized channel coding solutions, states used in the link controller, activity modes, audio and security issues etc. do not belong into the actual scope of this invention and thus not described here more deeply. More information can be found from Bluetooth specifications if required.
Referring to
When the selection of far-end nodes for new connections is based on simple ‘first-to-response’ type mechanism, resulting network topology can be considered somewhat random in some cases. For example, if several devices are continuously executing the described method, it is obviously hard to estimate how the devices are finally connected to each other, which of them end up a master or a slave etc. On the other hand, referring to aforementioned studies about network formation, even pretty complicated algorithms do not necessarily perform well or at least predictably in a dynamic environment with several devices moving out (/in) of range and/or breaking (/establishing) connections. Thus the proposed simple and fast method is likely to offer benefits in cases where large-scale computations are futile e.g. because of a large number of dynamically acting devices.
Aforementioned scheduling and routing methods are essential parts of a complete scatternet implementation, although routing capabilities like the ones provided by MANET are not necessary in the actual scatternet formation phase but later in the inter-piconet data exchanging phase, therefore the routing algorithms are not discussed here any further.
In order to realize time division multiplexing between piconets, the current Bluetooth specification suggests to put links into a power save mode in order to leave a piconet and be able to join another piconet. Since two devices of a specific link can only communicate if both devices take part in the same piconet at the same time, negotiation and distribution of piconet presence schedules are required between devices. Baatz et al. [4] proposed a mechanism to support scatternet communication by using “presence point” concept and modified “sniff” mode. This approach defined presence points for each inter-piconet link at which communication may start. It enables each device to quickly determine whether the peer device is in the same piconet or not. If yes, the communication may start. Otherwise, another presence point may be tried without losing much bandwidth.
The sniff mode is one of the three low power modes currently specified for Bluetooth. Sniff mode allows a slave to lower its duty cycle, i.e. it is required to listen to the master only in certain sniff slots. Since communication between two devices continues as long as data is exchanged in sniff modes, it has dynamic nature that makes it suitable for scatternet scheduling. The sniff slots are regarded as possible presence points at which peer devices may start communicating. Additional, a credit scheme that is based on a priority scheme is used to decide when to abort an ongoing sniff slot in order to use an upcoming sniff slot. The simulation results show that this approach is able to rapidly adapt to changing traffic conditions because of low coordination overhead. And link level fairness is achieved through a slot accounting scheme that is able to reallocate unused bandwidth following the idea of max-min fairness.
Recall that a Bluetooth device can act as a slave in several piconets, but as a master only in a single piconet: if two networks with the same master are synchronized and use the same hopping sequence, they are actually one and the same piconet. A master or slave can become a slave in another piconet by being paged by the master of this other piconet. On the other hand, a unit participating in one piconet can page the master or slave of another piconet. Since the paging unit always starts out as master, a master-slave role exchange is required if a slave role is desired.
There are several occasions when a master-slave (MS) switch is desirable. Firstly, a MS switch is necessary when a unit paging the master of an existing piconet wants to join this piconet, since, by definition, the paging unit initially is master of a “small” piconet only involving the pager (master) and the paged (slave) unit. Secondly, when a slave in an existing piconet wants to set up a new piconet, involving itself as master and the current piconet master as slave. The latter case implies a double role of the original piconet master; it becomes a slave in the new piconet while still maintaining the original piconet as master. Thirdly, a much more complicated example is when a slave wants to fully take over an existing piconet, i.e., the switch also involves transfer of other slaves of the existing piconet to the new piconet. Clearly, this can be achieved by letting the new master setup a completely new piconet through the conventional paging scheme. However, that would require individual paging of the old slaves, and, thus, take unnecessarily long time. Instead, letting the new master utilize timing knowledge of the old master is more efficient. As a consequence of the MS switch, the slaves in the piconet have to be transferred to the new piconet, changing their timing and their hopping scheme. More detailed information about MS switching can be found from the Bluetooth specifications.
Whether the node executing the proposed method should be a master or a slave, or alternatively change its master/slave role for a new connection, is not a trivial question with an obvious solution. For example, if data exchange inside piconets is massive but between piconets more occasional, it is probably sensible to designate bridge nodes as slaves for not to cause congestion inside the piconets and vice versa.
Furthermore, the connection quota originally set to limit the maximum number of simultaneous connections can be made dependent e.g. on the current role of the related node. For example, if the node was designated as a master in some connection, the number of connected slaves could be totally omitted from the calculation of existing links performed during the execution of described method. Then, only the number of connected masters (to which said node is seen as a slave) would be compared against a predefined or adaptively calculated limit. Naturally, also a separate limit could be set to the maximum number of slaves of said node.
Alternatively, if the node executing the method has free capacity for several new connections and more than one response is actually received, the node may directly establish as many connections as possible (and allowed) without restarting the algorithm. Method restarting or step re-executing can be, for example, either continuous or periodical (e.g. timed) action.
In a second embodiment of the invention the node executing the algorithm monitors existing links and if some of them breaks e.g. due to movement of nodes away from each other, the node immediately starts to seek for a replacement connection. Otherwise the situation is congruent with the first embodiment.
In a third embodiment, see the flowchart in
The fourth embodiment of the invention relates to a network formation initiated completely from scratch so nodes have no existing connections. Next, the embodiment is described with reference to nodes in
Many aspects of presented embodiments can be generalized to a simplified basic concept, where the role of the device executing the method (master/slave) as well as the exact nature of existing connections can be considered partially irrelevant. In this case, a device just tries to connect to as many devices as allowed utilizing different search techniques for finding compatible devices, such as inquiry and inquiry scan in case of Bluetooth connections. When existing connections occasionally fail or are intentionally broken, new ones will be searched for a replacement. Proposed solution clearly differs from traditional “on-demand” based methods.
The scope of the invention can be found from the following independent claims. However, utilized devices with Bluetooth support, decision-making criteria etc. may vary significantly depending on the current communication scenario, still converging to the basic ideas of the invention. For example, feasible Bluetooth devices include mobile terminals, PDAs, printers, scanners, laptop/desktop computers, and basically any kind of devices comprising necessary components for supporting already existing Bluetooth specifications and capable of executing the presented method. Therefore, the invention is not strictly limited to the embodiments described above.
Number | Date | Country | Kind |
---|---|---|---|
200221065 | Jun 2002 | FI | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI03/00433 | 6/2/2003 | WO | 7/15/2005 |