ON THE DESIGN OF TREE-BASED TOPOLOGIES ... - Semantic Scholar

2 downloads 764 Views 199KB Size Report
and the Contention Free Period (CFP), in which a maxi- .... More generally it is unlimited. Denote as ..... level in the tree is the one hosting the majority of nodes,.
ON THE DESIGN OF TREE-BASED TOPOLOGIES FOR MULTI-SINK WIRELESS SENSOR NETWORKS Chiara Buratti? , John Orriss§ , Roberto Verdone? ?

CNIT, Univ. of Bologna, I, V.le Risorgimento 2, 40136 Bologna, {cburatti,rverdone}@deis.unibo.it, § University of Manchester, UK, Oxford Road, M13 9PL, [email protected]

ABSTRACT This paper investigates the design of tree-based topologies for multi-sink Wireless Sensor Networks (WSNs). Bluetooth and Zigbee are the air interface standards inspiring this work. Tree height, which is related to energy consumption issues, and the average number of children per parent, are the degrees of freedom of such a topology, subject to optimisation. The objective is to maximise the amount of information gathered at the sinks, that is, network coverage, having fixed node density. The study is performed through a mathematical framework taking into account connectivity aspects, radio channel fluctuations, random node deployment, node density, and the capacity of the air interface. It is shown that, once the number of levels for trees is fixed, network coverage is maximised by a proper choice of the average number of nodes (i.e. the average number of children per parent) at each level. However, the mathematical analysis is based on a deterministic multiple access control (MAC) scheme. To account for the impact of more complex MAC strategies, based on contention among nodes to access the channel, we also report simulation results. It is shown that curves in the two cases have very similar trends, though with contentionbased MAC, coverage is also affected by the number of nodes competing for the channel at each level of the trees. 1. INTRODUCTION This paper investigates multi-sink Wireless Sensor Networks (WSNs) [1]-[3]. The sinks might be nodes specifically deployed to this aim, as in traditional WSN architectures; alternatively, they might be mobile terminals of a Wireless Hybrid Network composed of a cellular infrastructure-based system, such as, for example, GSM or UMTS, where mobile stations are in fact gateways forwarding the information collected from the WSN to higher levels through heterogeneous wireless interfaces [4]. Nodes transmit the samples taken from the monitored space through a communication protocol implementing a multi-hop strategy. According to the type of enabling technology used (e.g. Bluetooth or Zigbee), different network topologies might be conveniently created such as, for instance, trees, or rings, or cluster-based topologies [5]-[6]. For WSNs (where the set of destination nodes, that are the sinks, is separated by those of sources, namely sensor nodes) treebased topologies seem to be more efficient than the others: in fact, routing is much simpler, and also distributed data aggregation mechanisms are more efficient. These potential advantages motivate our interest towards tree-based topologies. As we are dealing with a multiple sink scenario, formally we have a forest of (disjoint) trees. This paper in particular focuses on properly designing the tree topology on the basis of coverage requirements. Bluetooth and Zigbee are the two most widely applied The work was supported by NEWCOM.

air interface standards for WSNs nowadays. Bluetooth has reached significant commercial success in the last years, with recent application to WSNs. Bluetooth MAC (Multiple Access Control) is based on a deterministic scheme, managed by the master of each piconet [6]. The system is based on a hard capacity concept, since the number of active nodes in a master-enabled piconet is limited to seven; such nodes are polled by the master and deterministic scheduling can be implemented, with no contention for the channel. IEEE802.15.4 is an emerging standard that represents an enabling technology for WSNs [7]. In particular, IEEE802.15.4 only defines the physical and MAC aspects, leaving the choice of the routing and topology formation protocols to the design of the engineer and the Zigbee Alliance, a forum of manufacturers trying to provide standards for the higher layers of the Zigbee protocol stack. We consider here the Beacon enabled mode of the IEEE802.15.4 MAC protocol [8]. Time is organised according to a superframe structure: a superframe, started by a Beacon packet, is subdivided in two parts: the Contention Access Period (CAP), where the access to the channel is managed by a CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) protocol, and the Contention Free Period (CFP), in which a maximum number of seven Guaranteed Time Slots (GTSs) can be allocated by the coordinator to nodes. Therefore the protocol designer has two options. On one hand, to avoid the collision-prone contention phase, only GTSs might be used: as a result, at each level in the tree a maximum number of seven (children) nodes can be attached to a given (parent) node, thus leading to a topology based on hard capacity limitations. On the other hand, to maximise radio channel exploitation, the CAP of the superframe can also be used; in this case, no hard capacity limitations are posed by IEEE802.15.4, and the packet success rate depends on the number of nodes accessing the channel at each level of the tree and competing for the channel. We refer to the latter as the soft capacity case and performance obtained with this protocol are shown in [9]. Here, instead, we study IEEE802.15.4 CSMA/CA MAC under capacity constraints (a maximum number of children per parent properly set). The Zigbee Alliance, in fact, is providing protocol profiles where the maximum number of children per parents is fixed a priori, to avoid the risk of many contentions during the CAP; thus the application of hard capacity constraints is meaningful for this technology too. In the following we denote the maximum number of i level nodes that can be serviced by an i − 1 level one (i.e. the i−1 level node capacity), as ci . When it does not depend on i, we denote it as c and also refer to the maximum number of children per parent in the tree. On the other hand, when dealing with IEEE802.15.4, defining different capacities for the different levels makes sense. In this paper we study: (i) a multiple level tree topology using a deterministic MAC, that could be based on Blue-

tooth or IEEE802.15.4 in case c ≤ 7 (in this case, in fact, all nodes can use GTSs), where the maximum number of children per parent is defined and (ii) a three-level tree topology using both the contention access and the contention free portions of 802.15.4 frames. The latter case is studied through simulation [9], while the former can be mathematically handled through a statistical approach summarised in this paper. The mathematical analysis to derive the statistics of the number of samples received at each sink is reported in [10, 11]. The objective of our work is to maximise the number of samples taken by sensor nodes and reported to the sinks, that is, network coverage, whereas the tree height should be set keeping energy consumption under control. Connectivity aspects, radio channel fluctuations, random node deployment, node density, air interface capacity, multiple access strategy and energy consumption issues, are taken into account. It is shown that in both cases (i) and (ii), once tree height is fixed, network coverage is maximised by a proper choice of the average number of nodes at each level (and therefore of the average number of children per parent). However, the choice of the tree height has a relevant impact on such optimisation. Next Section provides the general network model. Then, Section 3 provides the mathematical analysis. Simulation and mathematical results are reported in Section 4. 2. NETWORK MODEL Sensor nodes and sinks are both assumed to be uniformly and randomly distributed over the infinite bi-dimensional plane with densities ρ and ρ0 , respectively, with the latter much smaller than the former. Denote as ∆ = ρ/ρ0 their ratio. We assume power attenuation between nodes, Lp , is modelled through path loss (a typical distance-dependent power law, which, in logarithmic units, can be written as k0 + k1 ln d where d is distance) and a Gaussian random variable, s, with zero mean and standard deviation σ: Lp = k0 + k1 ln d + s; a node can hear a transmitting one if the attenuation Lp is smaller than a given maximum value, Lmax . Assume that nodes determine which level they belong to, according to a distributed procedure whose result is that, at each level i (i = 1, · · · , N ), in the tree, nodes are uniformly distributed over the plane, with densities ρi (we denote with zero the sink level). As an example one might think of a selfelection strategy where a node decides to belong to level i with given probability pi (i = 1, · · · , N ), equal for all nodes; in this case, ρi = pi ρ. Whatever the strategy used, the density of nodes at all levels must satisfy the constraint N X

ρi = ρ.

(1)

i=1

Nodes must find audible nodes at the next higher level in the tree, and these nodes must have sufficient capacity to provide service. We also assume that nodes at level i select as a candidate parent in the tree the loudest i − 1 level node, i = 1, · · · , N . If the loudest node cannot service the applicant, the i level node is rejected. The number of samples reported to a generic sink through the tree is a random variable that we denote as n; in the hard capacity case it is upper-bounded by nmax = PN ci . More generally it is unlimited. Denote as f (n) the i=1 probability of n. Then, the probability that the number of samples received by a given sink is above (or equal to) a fixed fraction x of the mean, ∆, is given by: Z = Prob [n ≥ x∆] =

∞ X x∆

f (n),

(2)

assuming x∆ is an integer. Now, the only degree of freedom we have, in order to properly design the trees, is the set of values ρi (i = 1, · · · , N ), that need to be designed according to the constraint (1). For the sake of simplicity we assume here that the ratio between the node density at a given level and the one at the next higher level is set to a common value η, except for the N -th level that will include the remaining nodes. Formally, ρi /ρi−1 = η i = 1, · · · , N − 1

and

ρN /ρN −1 ≤ η. (3)

Thus, the probability of blocking (i.e. the transmission of the samples collected to the higher level is not possible because of capacity limits, or collisions) will be the same at all levels from N − 1 to 1. As a result, N and η should be fixed according to the constraint (1) and expressions given in (3). Clearly, when N increases, the minimum value η needed to satisfy constraint (1) will decrease. In particular, using equations (3) and (1) the minimum value of η is found using the following formula:

X

N −1

η i + η N −1 · ρN /ρN −1 = ∆.

(4)

i=1

Once N is fixed, increasing η the connectivity at each layer is augmented. On the other hand, if η significantly exceeds the air interface capacity (either in the hard or soft capacity cases), the probability of blocking will increase and Z will suddenly decrease. So, the objective of our analysis is to derive the value of η such that Z is maximised. 2.1 Energy Conservation Issues It is worth noting that one of the disadvantages of using a tree with the constraint set above on capacity, is that if ∆ is large and c small, some nodes (the leaves) will need a large number of hops to reach the sink. As the energy consumed per sample transmitted is strongly dependent on the number of transmissions and receptions (and therefore on the number of hops), this can create an energy-inefficient situation. Thus, N should be properly set in order to reduce such inefficiency. In principle, this would collapse toward a star topology (N = 1) if c were infinite and all nodes were within range of one sink. However, the average number of nodes at each level of the tree is larger when N decreases, as the mean number of nodes per tree ∆ is fixed. Therefore the percentage of samples taken from nodes and blocked at some level because of capacity limitations, increases when N decreases. As a result, N should be chosen as a trade-off. 3. MATHEMATICAL ANALYSIS According to the channel model described in Section 2, a node can hear a transmitting one in case Lp ≤ Lmax ; thus, the number of level i sensors audible at a random point on the plane has a Poisson distribution with mean 2 2(Lmax −k0 ) + 2σ2 k

k 1 1 . πρi e As all sensors at all levels are randomly distributed, this applies to the number of level i sensors audible to any other sensor. This result is derived, in a different context, in [12]. Let Xi(j) denote the number of level i sensors audible to a given level j sensor (j = i ± 1) and let its mean be µi(j) . Assuming that any sensor will seek service at the loudest sensor at the next level, it is shown in [10], that the number of level i sensors seeking service at a given level i − 1 one has a Poisson distribution with determined mean. In our case,

the mean number of level 1 sensors seeking service at a given µ µ sink is [1 − eµ0(1) ] µ1(0) . The ratio µ1(0) is the mean number 0(1)

of level 1 sensors per level 0 one, and the factor [1 − eµ0(1) ] eliminates those which cannot hear at least 1 level 0 one. To deal with the hierarchical case we define a probability generating function Πi (s) for the number of level i sensors being serviced by a given level i − 1 sensor. Then the probability generating function for the number of level i+1 sensors being serviced by a given level i − 1 sensor through level i sensors (a three-level hierarchy) is

0.7 x=0.7 0.6 x=0.8 0.5 Probability

0(1)

0.8

x=0.9 0.4

0.3

Πi (sΠi+1 (s)).

(5) 0.2

Here, within the bracket, the term Πi+1 (s) “counts” the level i + 1 sensors reporting to a given level i one, and the additional s adds the latter before the report is sent up to the next level. The extension to higher level hierarchies is immediate. Thus the probability generating function for the number of level i + 2 sensors being serviced by a given level i − 1 sensor through level i and level i + 1 sensors (a four-level hierarchy) is Πi (sΠi+1 (sΠi+2 (s))), (6) and similarly for yet higher levels. In these circumstances, denoting the mean number of level i sensors being serviced by a given level i − 1 sensor by µ(i) , it follows that the mean number of level i + 1 sensors being serviced by a given level i − 1 sensor through level i sensors is µ(i) (µ(i+1) + 1), (7) while for the four-level hierarchy this becomes µ(i) µ(i+1) µ(i+2) + µ(i) µ(i+1) + µ(i) . With no capacity limitation this generating function is that of the Poisson distribution of the number of sensors seeking service described above. With capacity limitation, we start with that Poisson distribution (whose mean we take as µ), but cumulate all probabilities from the term in sci onwards. The probability generating function therefore becomes

Xµ s

ci −1

Πi (s) =

u=0

u u

u!

Xµ ∞

e−µ + sci

u=ci

u

u!

e−µ .

(8)

The number of levels in the hierarchy depends on η and ∆. At one extreme, if η ≥ ∆, then all sensors are at level 1, and we have a 2-level hierarchy. If η < ∆, then the density of level 1 sensors is ρ0 η, leaving a density of ρ0 (∆−η) of sensors to allocate to lower levels: these will all remain at level 2 if η 2 ≥ ∆ − η. Otherwise the density of level 2 sensors will be ρ0 η 2 , leaving a density of ρ0 (∆ − η − η 2 ) for level 3 or lower. Repeating as often as necessary, we find that in general the hierarchy will be of level N +1 if 0 < ∆−η−η 2 −. . .−η N −1 ≤ ηN . 4. RESULTS Let us consider an air interface with k0 = 40, k1 = 13.03 (equivalent to a free-space power law), σ = 3.5 and Lmax = 92. Sink density is set as ρ0 = 1/2500 [m−2 ], and ∆ = 50 or 200. These values are common to both mathematical and simulation results. Other parameters, such as N , x, η and capacities, take various values in the graphs. Capacity values will range from 3 to 13. Depending on the other parameters (namely, ∆, η and N ), this will sometimes constitute a hard capacity constraint even if IEEE802.15.4 and its CSMA/CA strategy is used. However, when c takes the larger values and N = 2, it can be shown that the system based on IEEE802.15.4 is no more

c=7

0.1

∆=50 0

2

3

4

5

6 η

7

8

9

10

Figure 1: Z as a function of η. ∆ = 50, c = 7.

limited by the hard capacity constraints; rather, collisions between transmitting nodes play a major role, reducing the probability to be serviced by higher level nodes; therefore, this becomes a soft capacity case. It is worth noting that having set the above values concerning channel model and node densities, connectivity is assured with probability almost one for every i level node seeking service at the higher, for N equal to 2, while for larger values of N the probability that a node does not find any audible higher level node is no more negligible. We first report results obtained through the mathematical model, assuming a deterministic MAC strategy with hard capacity constraints and no contention. Then, we will move to the simulation results. 4.1 Mathematical Results Fig. 1 shows Z as a function of η for ∆ = 50, c = 7. According to the constraints discussed in Section 2, the values of η that should be considered depend on N . Here we consider the options N = 4, 3 and 2: η can approximately range from 2.4 to 3.2, from 3.2 to 6.5 and from 6.5 to 50, respectively. Note that the cases with N = 2 and 3 should converge for η = 6.5, where we have a four-level tree with the lowest level empty, or a three-level tree with the lowest level having node density which is η times larger than that at the higher level; in fact, this happens. The same holds for N = 4 and 3 at η = 3.2. First, we note that the larger x (i.e. a more stringent requirement is set), the smaller the probability Z, as expected. However, the most important aspect stands in the maximum value of Z; depending on x, optimum performance is achieved for N = 2 or 3. In other words, the optimum tree height depends on the coverage requirement. From Fig. 1 we see that for x = 0.7 the optimum topology requires N = 2, η ≈ 7.7, while for x = 0.9 it is given by the pair N = 3, η ≈ 4.5. In [9] this effect is more thoroughly discussed and it is shown that this depends on the shape of the number of nodes reporting to a given sink distribution. Fig. 2 shows Z as a function of η for ∆ = 200, c = 7 and the two cases N = 4 (η ranging in this case from 3.5 to 5.5) and 3 (from 5.5 to 9.5). Similar considerations to the case of Fig. 1 can be done. However, given the larger average number of nodes per tree with respect to Fig. 1, the optimum topology requires N = 3 or 4. In Fig. 3, for ∆ = 50 and N = 2, different capacities are considered, having fixed x = 0.7. In particular, the capacity

4.2 Simulation Results

0.8

0.7 x=0.7 0.6 x=0.8

Probability

0.5

x=0.9

0.4

0.3

0.2 c=7 ∆=200

0.1

0

2

3

4

5

6 η

7

8

9

10

Figure 2: Z as a function of η. ∆ = 200, c = 7. 1

0.9 c =13 1

0.8

0.7

c2=11,13

∆=50

c2=9

x=0.7

c2=7 Probability

0.6 c2=5

0.5

0.4

0.3

0.2

c2=3

0.1

0

5

10

15

η

20

25

30

Figure 3: Z as a function of η. ∆ = 50, c1 = 13, N = 2, x = 0.7.

limit for sinks is c1 = 13 while c2 ranges from 3 to 13. The graphs show that reducing c2 affects only the left part of the curves, at least if the value is not too low. This can be motivated by the fact that for lower values of η, the lowest level in the tree is the one hosting the majority of nodes, and a capacity limitation at the penultimate level strongly affects the possibility to collect information from the field; on the opposite, for large values of η, the lowest level tends to become empty, and such capacity limitation does not affect significantly the probability Z. By comparing the curve for x = 0.7 in Fig. 1 to those of Fig. 3, we see that the capacity increase from 7 to 13 clearly shows an improvement on network coverage. However, Z does not reach unity. Indeed, it was found that with c tending to infinity, Z monotonically increases with η, and the maximum is reached for η = 50 where Z becomes approximately 0.98. The difference between this value and unity is due to the statistical behaviour of the number of nodes per tree: even if there are no capacity limitations and network connectivity is assured, the probability of any given numbers of nodes being connected to a sink does not reach unity because there is non-zero probability of trees with very few nodes (even zero, with low probability).

Simulation results have been achieved through a c language simulation tool specifically developed to model IEEE802.15.4 MAC and physical layer issues, and a tree topology with N = 2. Details about the implementation of such tool are given in [9] and are not reported here for the sake of brevity. Owing to computation constraints, a single-sink scenario is considered. The reference scenario considered consists of sensors randomly and uniformly distributed over a square area (having side L meters) and a sink located in the centre of the area. The number of sensors is Poisson distributed with mean M . Several realisations are run, to have sufficient statistics. We fix M such that ∆ = M . As a result, border effects can be found with respect to the mathematical model. Concerning MAC, both CAP and CFP are used. 70% of CAP is used for transmissions from the level 2 nodes to level 1 ones, accessing the channel according to IEEE802.15.4 rules [9]. The remaining portion of CAP, and the GTSs, are used for transmissions from level 1 nodes to sink. The latter assigns the GTSs to the level 1 nodes with more children: this introduces a priority for those nodes having more packets to report. If more than seven level 1 nodes are present, those with fewer children need to compete for accessing the channel during the CAP, and might collide. The collision resolution algorithm defined by IEEE802.15.4 standard is implemented. Collisions between children of separate parents can be avoided [9]. Owing to the contention to access the channel, simulation results do not aim at reproducing the outcomes of the mathematical approach: indeed, they allow the consideration of a more complex case where CSMA/CA is used. Fig. 4 shows Z as a function of η for ∆ = 50, c = 13, with x taking values 0.7, 0.8, 0.9. Simulation and mathematical results are reported. With such large value of node capacity, for large η the number of collisions during the CAP can be high. In fact, this scenario is characterised by soft capacity constraints. As a result, the optimum value of η is smaller than in the case of deterministic access, accounted for by the mathematical model. Simulations report better performance for the optimum values of η; the reason for this stands in the single sink scenario considered in the simulation case. In fact, having one single sink all sensors (50 on average) connect to it, while in the multi-sink scenario investigated through the mathematical analysis, the various sinks compete for serving the nodes: this brings to a larger variance of the number of nodes connected to a given sink, and to smaller values of Z. With smaller capacity values (see Fig. 5 with c set to 7), leading to situations where coverage is limited by hard capacity constraints, we found that simulation results give smaller values of Z than the mathematical analysis; however, in this case (where collisions play a minor role) the optimum value of η found with the mathematical and simulation approaches coincide, confirming the motivation given above to the different optimum values of η. Finally, Fig. 6 reports simulation outcomes achieved for the same set of parameters as in Fig. 3. The trends for the various values of c2 are very similar, and the differences are motivated by the effects mentioned in the previous paragraphs. 5. CONCLUSIONS In this paper we have considered tree-based topologies with various tree heights and ranges of the average number of children per parent. Both situations with hard and soft capacity limitations have been analysed. The mathematical approach, owing to its ability to model a deterministic multiple access control scheme with hard capacity constraints, can be used to study WSNs using Bluetooth as air interface, or IEEE802.15.4 in case only the CFP is used. If IEEE802.15.4

1

1 Simul: x=0.7 Simul: x=0.8 Simul: x=0.9 Math: x=0.7 Math: x=0.8 Math: x=0.9

0.9 0.8

0.8

0.7

0.7

0.6

0.6

Z 0.5

Z 0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0

0

5

10

15

20

25

30

η

Figure 4: Z as a function of η. ∆ = 50, c = 13, N = 2. Mathematical and simulation results are reported. 1

0.8 0.7

10

15

20

25

30

η

Figure 6: Z as a function of η. ∆ = 50, c1 = 13, N = 2, x = 0.7. Simulation results.

[4] R. Verdone, V. Corvino, J. Orriss, “A Hierarchical Hybrid Network Model” IEE 3G&Beyond, London, UK, Nov. 7-9, 2005.

0.6

[5] P. Santi, “Topology Control in Wireless Ad Hoc and Sensor Networks,” Wiley, 2005.

Z 0.5

[6] C. F. Chiasserini, M. Ajmone Marsan, ”A distributed self-healing approach to Bluetooth scatternet formation”, IEEE Transactions on Wireless Communications, Nov. 2005.

0.4 0.3 0.2 0.1 0

5

[3] Jae-Hwan Chang; L. Tassiulas, “Maximum Lifetime Routing in Wireless Sensor Networks,” IEEE/ACM Transactions on Networking, Vol. 12, No. 4, Aug 2004.

Math: x=0.7 Math: x=0.8 Math: x=0.9 Simul: x=0.7 Simul: x=0.8 Simul: x=0.9

0.9

c2=11 c2=9 c2=7 c2=5 c2=3

0.9

5

10

15

20

η

Figure 5: Z as a function of η. ∆ = 50, c = 7, N = 2. Mathematical and simulation results are reported. is used with its CSMA/CA capabilities, the investigation requires exploitation of simulation tools. The paper reports both mathematical and simulation results, whose aim is not to reproduce the former: rather, they should be considered as an extension to the mathematical outcomes, taking into account CSMA/CA. The outcomes of this analysis should then be used when dealing with topology formation strategies of WSNs. Also, they should be considered as an useful contribution to the standardisation phase within Zigbee Alliance, currently trying to define proper values for the hard capacity constraints to be set in Zigbee profiles for WSNs. REFERENCES [1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, “A Survey on Sensor Networks”, IEEE Communications Magazine, Aug. 2002, 102-114. [2] H. Karl, A. Willig, “Protocols and Architectures for Wireless Sensor Networks”, Wiley, 2005.

[7] J. Gutierrez, E. Callaway, R. Barret, ”Low-Rate Wireless Personal Area Networks - Enabling Wireless Sensors with IEEE 802.15.4”, IEEE Press, 2003. [8] IEEE 802.15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LRWPANs), IEEE, 2003. [9] R. Verdone, C. Buratti, J. Orriss “On the Design of Tree-Based Topologies for Wireless Sensor Networks”, MedHocNet 2006, Lipari Island, 14-17 June, 2006. [10] J. Orriss, S. K. Barton, R. Verdone “A Hierarchical Model for a Sensor Network”, IWWAN 2005, London, UK, 23-26 May, 2005. [11] J. Orriss, R. Verdone “Mathematical Analysis of TreeBased Topologies for Multi-Sink Wireless Sensor Networks”, IWWAN 2006, New York City, 28-29 June, 2006. [12] J. Orriss, S. K. Barton, “Probability Distributions for the Number of Radio Transceivers Which Can Communicate with One Another”, IEEE Transactions on Communications, Vol. 51 No. 4, Apr. 2003, 676-681.