Optimizing the operating time of wireless sensor network
- Thanh Tung Nguyen^{1}Email author and
- Van Duc Nguyen^{2}
https://doi.org/10.1186/1687-1499-2012-348
© Nguyen and Nguyen; licensee Springer. 2012
Received: 13 September 2011
Accepted: 26 October 2012
Published: 21 November 2012
Abstract
A difficult constraint in the design of wireless sensor networks (WSNs) is the limited energy resource of the batteries of the sensors. This limited resource restricts the operating time that WSNs can function in their applications. Routing protocols play a major part in the energy efficiency of WSNs because data communication dissipates most of the energy resource of the networks. There are many energy-efficient cluster-based routing protocols to deliver data from sensors to a base station. All of these cluster-based algorithms are heuristic. The significant benefit of heuristic algorithms is that they are usually very simple and can be utilized for the optimization of large sensor networks. However, heuristic algorithms do not guarantee optimal solutions. This article presents an analytical model to achieve the optimal solutions for the cluster-based routing protocols in WSNs.
Keywords
Introduction
There is a common problem in energy efficiency considerations in wireless sensor networks (WSNs): maximizing the amount of data sent from all sensor nodes to the base station (BS) until the first sensor node is out of battery. In sensor networks, sensors send data to each BS periodically during each fixed amount of time. Thus, the problem is the same as maximizing network operation lifetime until the first sensor node run out of battery. Numerous studies have been done on the energy efficiency using cluster-based routing in WSNs [1–5]. Cluster-based routing was originally used to solve the scalability problems and resources-efficient communication problems in wire-line and wireless networks [6, 7]. The method can also be used to perform energy-efficient routing in WSNs. In the cluster-based routing, nodes cooperate to send sensing data to a BS. In this routing, a network is organized into clusters and nodes play different roles in the network. A node with higher remaining energy can be elected as the cluster head (CH) of each cluster. This node is responsible to receive data from its members in the cluster and to send the data to the BS.
However, all of the above-mentioned cluster-based routing work is heuristic. The real benefit of heuristic algorithms is that they are usually very simple and can be used for the optimization of large sensor networks. However, in general, heuristic algorithms do not guarantee optimal solutions.
In this article, an analytical model is used to obtain the optimal solutions for the above clustering lifetime problem. The basic idea is to formulate the problem as an integer linear programming (ILP) problem and to utilize ILP solvers [8] to compute the optimal solutions. These solutions are employed to evaluate the performance of previous heuristic algorithms. These analytical models are used to formulate the system lifetime problem into a simpler problem, find the optimum solution for the system lifetime problem, and evaluate the performance of heuristic models.
This article is organized as follow. The following section summarizes previous work in energy efficiency using cluster-based routing. Then, an analytical model of the cluster-based routing is developed. The model is first implemented by an analysis of a simple network with one cluster. After that, the analysis is extended for more complex cases of multiple clusters. A new heuristic cluster-based routing is also proposed. Finally, the simulation results of the analytical model, old heuristic solutions, and the new ones are presented and discussed.
Previous work in energy efficiency using cluster-based routing
In sensor applications, every sensor node sends data periodically to its BS. Initially, every node starts with the initialized battery storage. A round of data transmission is defined as the duration of time to send a unit of data to the BS. At the end of each round, every sensor node loses an amount of energy which is used to send a unit of data to the BS. The lifetime of sensor networks is defined as the total number of rounds sending data to the BS until the first node is off.
Heinzelman et al. [1, 2] proposed a Low-Energy Adaptive Clustering Hierarchy (LEACH). In LEACH, the operation of the protocol is divided into rounds. Each round consists of the setup and the transmission phase. In the setup phase, the network is divided into clusters and nodes negotiate to nominate CHs for the round. In more details, during the setup phase, a predetermined fraction of nodes, p, elect themselves as CHs as follows. A node picks a random number, r, between 0 and 1.
If (r<T(n)) then
The node becomes a CH for the current round
else
The node remains a non-CH node
where G is the set of nodes that are involved in the CH election. The selected CHs for the round advertise themselves as the round’s new CHs to the rest of the nodes in the network. All the non-CH nodes decide on the cluster to which they want to belong to. The decision is based on the distance to the closest CH.
In the transmission phase of LEACH, the elected CH collects all the data from nodes in its cluster, aggregates these data, and forwards them to a BS. In the next rounds, the process is repeated and CH positions are reallocated among all nodes in the network to extend the network lifetime.
The LEACH protocol ensures that every node can become a CH exactly once within 1/p rounds. This will not give the optimum network lifetime, as sensor nodes that are far away from the BS will consume more energy than closer nodes to send data to the BS. Therefore, nodes, which are close to BS, need to become CHs more frequently than other nodes.
There are some LEACH variants to address the above issues in LEACH protocol [3, 10–13]. Saha Misra et al. [3] proposed the energy enhanced-efficient adaptive clustering protocol for distributed sensor networks. CHs can be formed based on the residual energy of each node. The residual energy is calculated for every node after each round of transmission. Every node transmits a code containing the information about its residual energy and its identification. If this residual energy is more than the ones of all other nodes in the same sub-area, then the node is the CH for that round in this sub-area. Otherwise, it can detect the node that has the maximum residual energy and elects this node as the CH.
where E_{current} is the current energy of Node n and E_{initial} is the initial energy of the node.
If (r < T(n)) then
The node becomes a CH for the current round
else
The node remains a non-CH node
Simulation results showed that the lifetime of the network with the scheme is improved 30% compared with the LEACH algorithm under the same experiments for LEACH.
After the design of LEACH protocol, these authors further proposed a new centralized version called LEACH_C in [2]. Unlike LEACH, LEACH_C utilizes the BS for creating clusters. During the setup phase, the BS receives the information about the location and the energy level of each node in the network. Using this information, the BS decides the number of CHs and configures the network into clusters. To accomplish this, the BS computes the average energy of nodes in the network, and nodes that have energy storage below this average cannot become CHs for the next round. From the remaining CH nodes, the BS uses the simulated annealing (SA) algorithm to find the k optimal CHs. The selection problem is an NP-hard problem [14, 15]. The solution attempts to minimize the total energy required for non-CH nodes in sending data to the corresponding CHs. As soon as the CHs are found, the BS broadcasts a message that contains a list of CHs for all sensors. If a node CH’s ID matches its own ID, the node becomes a CH. Otherwise, the node determines its TDMA slot for its data transmission from the broadcast message and turns off its radio until the transmission phase. The transmission phase of LEACH_C is identical to that of LEACH. Under the same experimental settings, LEACH_C improves LEACH from 30 to 40%.
The comparison between the chain-based routings and cluster-based routings were done extensively in [9] and this is not mentioned here as this article only focuses on cluster-based routing.
In the next section, an analytical model is presented to achieve the optimal solutions for the frequency of CHs of sensor nodes. The basic idea is to formulate the problem as an ILP problem and to utilize ILP solvers [8] to compute the optimal solutions. These solutions are employed to evaluate the performance of previous heuristic algorithms.
Analytical model for optimizing the lifetime of sensor network with one CH
In order to minimize the complexities of the clustering problem, the wireless radio energy dissipation model is not used. This assumption does not change the validation of any simulation result. A very simple energy usage model is given as
E(S) = αd^{2}, E(D) = 0, for α > 0
where S denotes a source node, D denotes a destination node, E(S) is the energy usage of node S, and d is the distance from S to D. This formula states that the energy required to transmit a unit of data is proportional to the square of the distance to a destination, and there is no energy spent at the destination. In this section, α is set to 1.
In each round of operation, every node must transmit a unit of data to the BS. It is also assumed that only one node acts as the CH in each round of transmission and the role is reallocated among all nodes so the system lifetime is maximized. The analytical model needs to compute the optimal usage of nodes as CHs under the battery constraint of every sensor.
The energy dissipated c _{ j } ^{ i } (units) per round of node i when node j becomes a CH
Node 1 | Node 2 | Node 3 | Node 4 | Node 5 | |
---|---|---|---|---|---|
CH1 | 30625 | 400 | 1600 | 3600 | 6400 |
CH2 | 400 | 24025 | 400 | 1600 | 3600 |
CH3 | 1600 | 400 | 18225 | 400 | 1600 |
CH4 | 3600 | 1600 | 400 | 13225 | 400 |
CH5 | 6400 | 3600 | 1600 | 400 | 9025 |
Maximize: $\sum _{j=1}^{5}{x}_{j}$
where E_{ i } is the initial battery storage of node i. Formulation (3) states that the total number of rounds must satisfy the battery storage constraint of every sensor node.
The number of rounds that each node i is a CH over the number of initial battery E (units) of each node
E | Node 1 | Node 2 | Node 3 | Node 4 | Node 5 |
---|---|---|---|---|---|
125,000 | 0 | 2 | 5 | 8 | 11 |
250,000 | 0 | 5 | 11 | 17 | 13 |
500,000 | 1 | 11 | 22 | 34 | 44 |
1000,000 | 3 | 23 | 44 | 68 | 88 |
2000,000 | 7 | 46 | 89 | 135 | 176 |
50 millions | 180 | 1155 | 2241 | 3391 | 4404 |
Simplification of formulation (3)
Formulation (3) can be converted to a linear programming (LP) formulation as given below:
Maximize: $\sum _{j=1}^{n}{x}_{j}$
- (1)
E _{ i } → ∞ then the solution of (4) becomes the solution of (3)
- (2)
E _{ i } ≠ ∞ then the solution of (4) is the approximation of the solution of (3)
The number of rounds each node i becomes a CH solved by formulations (2) and (3)
Nodei | Formulation (2) | Formulation (3) |
---|---|---|
1 | 0 | 0 |
2 | 569 | 569.6 |
3 | 1152 | 1152.3 |
4 | 1737 | 1737.5 |
5 | 2307 | 2307.2 |
6 | 2831 | 2831.2 |
7 | 3258 | 3258.7 |
8 | 3503 | 3503.3 |
9 | 1290 | 1289.1 |
10 | 0 | 0 |
11 | 0 | 0 |
Total | 16647 | 16646 |
Analytical model for optimizing the lifetime of sensor network with multiple CH
The average energy dissipated (units) per round over the number of CHs
1 CH | 2 CHs | 3 CHs | |
---|---|---|---|
Energy per round (units) | 65933 | 62016 | 69560 |
When the number of CHs is more than one, it is much more complicated to obtain optimum solutions. The number of possible combinations of CHs isO(n^{ k }), where n is the number of sensor nodes and k is the number of CHs. Furthermore, with a selected solution of CHs, each sensor has k choices to select its CH. Therefore, the method of finding the optimum solution includes two optimization processes: optimization of the position of CHs and optimization of gathering traffic to the CHs.
In order to design an analytical model for complex cases with multiple CH in sensor networks, Theorem 1 is stated and proved.
Theorem 1: Consider two ILP problems with the same objective function and the same variables, if the set of coefficients of ILP problem 2 is smaller than the set of coefficients of ILP problem 1, respectively, for all of these coefficients, then the optimal solution of Problem 2 is higher than that of Problem 1.
Consider two ILP problems:
Problem 1:
Maximize: $\sum _{j=1}^{n}{x}_{j}$
Problem 2:
Maximize: $\sum _{j=1}^{n}{x}_{j}$
Definition: O_{1} is the optimal solution of Problem (5). O_{2} is the optimal solution of Problem (6)
If c'_{ j }^{ i } ≤ c_{ j }^{ i }∀i∈ [1…m], ∀j∈ [1…n]_{,} then O_{2} ≥ O_{1}
Proof: Since c ' _{ j }^{ i } ≤ c_{ j }^{ i }∀i∈ [1…m], ∀j∈ [1…n] and O_{1} is the optimal solution of Problem 1, then O_{1} is a feasible solution of Problem 2 because O_{1} satisfy all constraints of (6). Since O_{2} is the optimal solution of Problem 2, O_{2} ≥ O_{1}■
To illustrate Theorem 1, let us consider two simple ILP problems:
Simple problem 1:
Maximize x_{1} + x_{2}
Simple problem 2:
Maximize x_{1} + x_{2}
Applying Theorem 1 for two simple problems (1) and (2), as the coefficients of the constraint functions (7) are all higher than those of (8) respectively, the optimal solution of (7) must be smaller than that of (8). This result is verified by using the ILP solver in [8]. The optimal solution of Simple problem (1) is 6 while the optimal solution of Simple problem (2) is 8.
This theorem is important because in many cases, this is very hard to calculate O_{1}. One of the reasons is that working out all coefficients c_{ j }^{ i } is impossible. Based on the theory, we know that O_{2} can be an upper bound of O_{1}, or all the feasible solutions of Problem 1 are bounded by O_{2}.
Theorem 2: Given a clustering sensor network with k CHs, connection from non-CH nodes to the closest CH node of the k CHs provides the optimal lifetime for the clustering network.
In more detail, we are given a set of n sensors located in two-dimensional space R^{2}. Let us define S as the set of ways to select k CHs in the given set of n sensors. If every CH is different to the remaining k − 1 CHs, the number of elements in S is $\left(\begin{array}{l}n\\ k\end{array}\right)$. However, in the theorem, some CHs might be the same and these same CHs are considered as one CH. Therefore, the number of elements in S is n^{ k } elements. Let us define s_{ n }^{ k }(i) as the i th element in S where i in (1…n^{ k }). Let us define c_{ i }^{ j } as the energy usage of Node j consumes, when the i th element in S is selected as the CHs. Let us define n_{ i } as the number of rounds, which the i th element in S is selected as the CHs. Let us define E_{ j } as the initial energy of Node j and O as the optimal solution of the following ILP problem:
The energy c_{ i }^{ j } is equal to the energy dissipation of Node j to send a unit of data to the closest sensor node in the i th element in S. Then, O is the optimal lifetime for the sensor network with k CHs.
Proof: Let us denote c^{′}_{ i }^{ j } as the energy usage in any arbitrary way to send a unit of data from sensor node j to the i th element in S, ∀i∈S, ∀j∈ [1…n]. The optimum selection of CHs of S is found by solving the mixed integer programming (MIP) problem below:
Calculation of coefficients for Problem (9)
The energy coefficients c_{ i }^{ j } of formulation (9) for a network of n nodes with k CHs can be calculated as follows:
For every combination of k CHs from the n nodes
For every node from the n nodes
End of code
where d_{toCH} is the distance from the sensor node to the closest CH from the k CHs, d_{toBS} is the distance from the sensor node to the BS.
Theorem 3: The problem formulation in (9) provides the optimum solution for maximizing the operation time for any clustering network with the number of CHs smaller than or equal to k.
Proof: As stated in Theorem 2, S is the set of ways to select k CHs in the given set of n sensors. In each combination selection, some CHs might be identical and these identical CHs are considered as one CH. In this case, the number of CHs is less than k. Therefore, any network of less than k CHs is a special element in S, where some CHs are the same. ■
The average energy dissipated (units) per round and the number of rounds over the number of CHs
1 CH | 2 CHs | 3 CHs | |
---|---|---|---|
Energy per round (units) | 65933 | 62016 | 69560 |
Number of rounds | 332 | 377 | 364 |
It is also of interest to see the distribution of optimums CHs among the 20 sensor nodes in Figure 6. The distribution depends on the position of sensors. The energy model used is d^{ 2 } energy model (gamma = 2).
The same experiments are carried out on the same network over the “power 4” (gamma = 4) model. The model is given below:
E(S) = αd^{4}, E(D) = 0, for α > 0
where S denotes a source node, D denotes a destination node, E(S) is the energy usage of node S, and d is the distance from S to D. This formula states that the energy required to transmit a unit of data is proportional to the “power 4” of the distance to a destination, and there is no energy spent at the destination. For the rest of this section, α is set to 1.
A simplified LEACH_C protocol (AVERA)
As mentioned in the Section “Previous work in energy efficiency using cluster-based routing”, LEACH_C utilizes the BS for creating clusters. During the setup phase, the BS receives information about the location and the energy level of each node in the network. Using this information, the BS decides the number of CHs and configures the network into clusters. To do so, the BS computes the average energy of nodes in the network. Nodes that have energy storage below this average cannot become CHs for the next round. From the remaining possible CH nodes, the BS uses the SA algorithm to find the k optimal CHs. The selection problem is an NP-hard problem.
If the BS is also far away from main power sources and is energy-limited and processing-limited, it is impractical for the BS to run LEACH_C as it creates significant delay and requires significant computation. In this case, we modify LEACH_C algorithm by removing the SA algorithm process. In more details, our algorithm AVERA is implemented as below.
AVERA:
In every round, select k CHs randomly from m sensor nodes that have their energy level above the average energy of all nodes.
Given:
N: The number of sensor nodes indexed from 1 to N
s: The current CH solution
m: The number of sensor nodes that have energy above the average energy of all sensors
For every round of data transmission
s=k sensors in Random[1…m]
Result: s is the CH solution for the round obtained from the AVERA algorithm. (End of code)
Simulation and comparison
where d_{ o } is set to 82.6 m. The value of E_{elec} follows the experiments in [1, 2, 17–19] and is set to 50 nJ/bit.
In summary, the total transmission energy of a message of k bits in sensor networks is calculated by
E_{ t } = kE_{elec} + ε_{FS}kd^{2}, when d < d_{ o }
E_{ t } = kE_{elec} + ε_{MP}kd^{4}, when d > d_{ o }
where E_{elec}, ε_{FS}, ε_{MP}, and d_{ o } are given above.
First, the optimum number of CHs of these networks is studied. In the experiments, 100 random 80-node sensor networks are generated. Each node begins with 1 J of energy. The network settings for the simulations are given below. The sensor positions and the BS position are defined as below . This is the same settings used in [1–5, 9, 18, 19].
Network size (100m × 100m)
Base station (50m, 175m)
Number of sensor nodes 100 nodes
Data message size: 4000 bits
Broadcast message: 200 bits
Energy message: 20 bits
Position of sensor nodes: Uniform placed in the area
Energy model: E_{ elec } =50* 10^{− 9} J, ε_{ fs } =10* 10^{− 12} J/bit/m^{2} and ε_{ mp } =0.0013* 10^{− 12} J/bit/m^{4}
During the sensor operation, every sensor node sends data periodically to the BS. A round of data transmission is defined as the duration of time to send a unit of data (4000 bits) to the BS. Each round consists of a setup and a transmission phase. In the setup phase, the network is divided into clusters and nodes negotiate to nominate CHs for the round. In the LEACH_C and AVERA protocols, each node sends its energy level message to the BS (20 bits). The BS decides the CHs for the round and sends a broadcast message (200 bits) about the decision for the round to all sensor networks.
In the transmission phase, the elected CH collects all data from nodes in its cluster and forwards the data to a BS. After each round, every sensor node loses an amount of energy for the data transmission in the round. The amount depends on the distance from the sensor to its CH or to the BS. The lifetime of sensor networks is measured as the total number of rounds sending data to the BS until the first node is off.
LEACH, LEACH_C, and AVERA are used over 100 network topologies while varying the number of CHs from 1 to 8, and the system lifetime and the energy dissipation per round are recorded for these numbers of CHs.
Validation of the analytical model
In this section, the performance of LEACH, LEACH_C, and AVERA and the optimum solution from the analytical model is verified. The number of CHs is set to three in all methods. All methods are run over the above 100 random 80-node network topologies and the ratio between the lifetime of the three protocols and the optimum are recorded. For the calculation of the optimum solution, we use the GNU Linear Programming Kit (GLPK) and the MIP solver. GLPK is a free GNU LP software package for solving large-scale LP, MIP [8].
- (1)
Create a problem in C programming language that calls GLPK API routines
- (2)
Create a problem in a text editor and use a standalone LP/MIP solver to solve it.
The computation time for all three protocols is also recorded on the 100 network topologies. The computational time for LEACH, AVERA, and LEACH_C are 1.6,2.5, and173.2 s, respectively. This shows that the new protocol AVERA provides a reasonably good operation time while guarantees less processing from the BS.
Conclusion
This article has presented some energy-efficient cluster-based routing protocols. In sensor networks, BSs only require a summary of the events occurring in their environment, rather than the sensor node’s individual data. To exploit the function of the sensor networks, sensor nodes are grouped into small clusters so that CH nodes can collect the data of all nodes in their cluster and perform aggregation into a single message before sending the message to the BS. Since all sensor nodes are energy-limited, CH positions should be reallocated among all nodes in the network to extend the network lifetime. The determination of adaptive clusters is not an easy problem. We start by analyzing simple networks with one CH first to be able to obtain an effective solution for the problem. Then the model is extended to networks with multiple CHs.
Heuristic algorithms are also proposed to solve the problem. Simulation results show that LEACH solution performs quite far from the optimum solution as it does not directly work on the remaining energy of all sensor nodes. At the same time, both AVERA and LEACH_C solutions perform very closely to the optimum solution. Note that the computational time for AVERA is also 1.4% of LEACH_C.
Declarations
Acknowledgment
This research is carried out under the frame work of the Project number 102.04-2012.35 funded by the Vietnamese National Foundation for Science and Technology Development (NAFOSTED).
Authors’ Affiliations
References
- Heinzelman WB, Chandrakasan AP, Balakrishnan H: Energy-efficient communication protocol for wireless microsensor networks. 33rd Hawaii International Conference Systems Sciences 2000, 10. Vol.2. ISBN: 0-7695-0493-0View ArticleGoogle Scholar
- Heinzelman WB, Chandrakasan AP, Balakrishnan H: An application specific protocol architecture for wireless microsensor networks. IEEE Trans. Wirel. Commun 2002, 1(4):660-670. 10.1109/TWC.2002.804190View ArticleGoogle Scholar
- Saha Misra I, Dolui S, Das A: Enhanced-efficient adaptive clustering protocol for distributed sensor networks. IEEE ICON 2005, 6. Vol.1, ISBN:1-4244-0000-7Google Scholar
- Zhang J, Huang B, Tu L, Zhang F: A cluster-based energy-efficient scheme for sensor networks. The Sixth International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT’05) 2005, 191-195. ISBN: 0-7695-2405-2View ArticleGoogle Scholar
- Chang R, Kuo C: An energy efficient routing mechanism for wireless sensor networks. The 20th International Conference on Advanced Information Networking and Applications (AINA’06) 2006. Vol.2, 5. ISSN: 1550-445X; ISBN: 0-7695-2466-4Google Scholar
- Al-Karaki JN, Kamal AE: Routing techniques in wireless sensor networks: a survey. IEEE Wirel. Commun. 2004, 11(6):6-28. 10.1109/MWC.2004.1368893View ArticleGoogle Scholar
- Deng J, Han YS, Heinzelman W: Balanced-energy sleep scheduling scheme for high density cluster-based sensor networks. Comput. Commun. 2005, 28: 1631-1642. 10.1016/j.comcom.2005.02.019View ArticleGoogle Scholar
- GLPK programming 2011.Google Scholar
- Nguyen Thanh T PhD thesis. In Energy-efficient routing algorithms in wireless sensor networks. Monash University, Australia; 2008.Google Scholar
- Guo L, Xie Y, Yang C, Jing Z: Improvement on LEACH by combining adaptive cluster head election and two-hop transmission. 9th International Conference on Machine Learning and Cybernetics 2010, 1678-1683.Google Scholar
- Qiang T, Bingwen W, Zhicheng W: MS-LEACH: a routing protocol combining multihop transmission and single-hop transmission. Pacific-Asia Conference on Circuits, Communications and Systems 2009, 107-110.View ArticleGoogle Scholar
- Farooq M, Dogar AB, Shah GA: MR-LEACH: multi-hop routing with low energy adaptive clustering hierarchy. 4th International Conference on Sensor Technologies and Applications 2010, 262-268.Google Scholar
- Chen J, Shen H: MELEACH-L: more energy efficient LEACH for large scale WSNs. Wireless Communications, Networking and Mobile Computing 2008, 1-4.Google Scholar
- Nash SG, Sofer A: Linear and Nonlinear Programming. (McGraw-Hill, New York; 1996.Google Scholar
- Kanungo T, Mount DM, Netanyahu NS: A local search approximation algorithm for k-means clustering. The Eighteenth Annual Symposium on Computational geometry 2002. Volume 28, Issues 2–3, 89-112.Google Scholar
- Lindsey S, Raghavendra C: Power-efficient gathering in sensor information systems. IEEE Aerospace Conference 2002. Vol.3, 3-1125-3-1130.Google Scholar
- Heinzelman WB PhD dissertation. In Application-specific protocol architectures for wireless networks. Massachusetts Institute of Technology; 2000.Google Scholar
- Nguyen Thanh T, Phan Cong V ACM/Springer Mobile Networks and Applications (MONET) Journal, Volume 17. The Energy-Aware Operational Time of Wireless Ad-hoc Sensor Networks August, 2012.Google Scholar
- Nguyen Thanh T: Heuristic Energy-Efficient Routing Solutions to Extend the Lifetime of Wireless Ad-Hoc Sensor Networks. Springer, LNCS 7197; 2012:487-497. ISBN: 978-3-642-28489-2Google Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.