on probabilistic snap-stabilization
DESCRIPTION
On Probabilistic Snap-Stabilization. Karine Altisen Stéphane Devismes University of Grenoble. Self-Stabilization [Dijkstra,74]. Self-Stabilization [Dijkstra,74]. T ransient faults: Location : node or link Duration : finite Frequency : low - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/1.jpg)
On Probabilistic Snap-Stabilization
Karine AltisenStéphane Devismes
University of Grenoble
![Page 2: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/2.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
![Page 3: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/3.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
Transient faults:• Location: node or link• Duration: finite• Frequency: lowe.g., memory corruptions, message losses, message corruptions
![Page 4: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/4.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
![Page 5: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/5.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
![Page 6: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/6.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
![Page 7: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/7.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
![Page 8: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/8.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
![Page 9: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/9.jpg)
ICDCN'2014, Coimbatore
Self-Stabilization [Dijkstra,74]
Recover after any number of
transient faults
![Page 10: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/10.jpg)
ICDCN'2014, Coimbatore
Advantages
• Tolerate any finite number of transient faults
• Lightweight– Low overhead
• No initialization– Large-scale network
– Self-organization in wireless sensor network
• Tolerate (detectable) topological changes
• Self-stabilizing algorithms can be easily composed
![Page 11: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/11.jpg)
ICDCN'2014, Coimbatore
Drawbacks of Self-Stabilization
• Temporary Loss of Safety• No local detection of stabilization
– Permanent local checks– Endlessly repeat computations
• Impossibility Results
![Page 12: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/12.jpg)
ICDCN'2014, Coimbatore
Drawbacks of Self-Stabilization
• Temporary Loss of Safety• No local detection of stabilization
– Permanent local checks– Endlessly repeat computations
• Impossibility Results
![Page 13: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/13.jpg)
ICDCN'2014, Coimbatore
Temporary Loss of Safety
Goal: Minimize the stabilization time
![Page 14: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/14.jpg)
ICDCN'2014, Coimbatore
Temporary Loss of Safety
Stabilization time usually in Ω(D) rounds
[Tixeuil & Genolini, 2002]
![Page 15: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/15.jpg)
ICDCN'2014, Coimbatore
Self-stabilization: endless repetitions of finite task executions
Transient faults
![Page 16: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/16.jpg)
ICDCN'2014, Coimbatore
Self-stabilization: endless repetitions of finite task executions
Finite (but usually unbounded) number of times
Transient faults
![Page 17: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/17.jpg)
ICDCN'2014, Coimbatore
(Deterministic) Snap-Stabilization[Bui et al, 1999]
• Resume a correct behavior since the first started task after the end of faults
Transient faults
First start
![Page 18: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/18.jpg)
ICDCN'2014, Coimbatore
(Deterministic) Snap-Stabilization[Bui et al, 1999]
• Strengthened form of self-stabilization– Snap-Stabilization Self-Stabilization⇒
• Lot of solutions are available, but only in– Identified, or– Rooted networks
• What about anonymous networks ?
![Page 19: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/19.jpg)
ICDCN'2014, Coimbatore
(Deterministic) Snap-Stabilization[Bui et al, 1999]
• Most of classical problems even have no deterministic self-stabilizing solutions, e.g.,– Token passing– Leader Election
• Several weakened forms of self-stabilization have been introduced to circumvent these impossibility results, e.g.,– Weak-stabilization [Gouda, 2001]– K-stabilization [Beauquier et al, 1998]– Probabilistic self-stabilization [Herman, 1990]
![Page 20: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/20.jpg)
ICDCN'2014, Coimbatore
(Deterministic) Snap-Stabilization[Bui et al, 1999]
• Most of classical problems even have no deterministic self-stabilizing solutions, e.g.,– Token passing– Leader Election
• Several weakened forms of self-stabilization have been introduced to circumvent these impossibility results, e.g.,– Weak-stabilization [Gouda, 2001]– K-stabilization [Beauquier et al, 1998]– Probabilistic self-stabilization [Herman, 1990]
![Page 21: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/21.jpg)
ICDCN'2014, Coimbatore
Deterministic vs. Probabilistic Self-Stabilization
• Deterministic Self-stabilization– Deterministic convergence:
• Starting from any configuration, the system converges to a legitimate configuration within finite time
• Probabilistic Self-stabilization– Probabilistic convergence:
• Starting from any configuration, the system converges to a legitimate configuration within almost surely finite time (Las Vegas Approach)
![Page 22: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/22.jpg)
ICDCN'2014, Coimbatore
Contribution (1/2)
• Probabilistic Snap-stabilization– Weakened form of snap-stabilization– Not comparable to self-stabilization
• Ideas– We relax the definition of snap-stabilization
without altering its strong safety guarantees – to address anonymous networks
![Page 23: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/23.jpg)
ICDCN'2014, Coimbatore
Definition• For every task started after the faults
(i.e., starting from an arbitrary configuration)– The safety part of the specification is satisfied– However, the liveness part of the specification is
only almost surely ensured (Las Vegas approach)
Transient faults
The task is executed safely, but it terminates in almost surely finite time
![Page 24: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/24.jpg)
ICDCN'2014, Coimbatore
Contribution (2/2)
2 probabilistic snap-stabilizing protocols for • the guaranteed service leader election in anonymous networks using the locally shared memory model
– The first one assumes a synchronous scheduler– The second one assumes an asynchronous scheduler
– This problem has no deterministic self- or snap- stabilizing solution
![Page 25: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/25.jpg)
ICDCN'2014, Coimbatore
Definition of the problem
time
proc
esse
s
P1
P2
P3
P4
P5
![Page 26: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/26.jpg)
ICDCN'2014, Coimbatore
Definition of the problem
time
proc
esse
s
P1
P2
P3
P4
P5?
?
?
?
?
Upon a request A process initiates the question
“Am I the leader of the network ?”
![Page 27: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/27.jpg)
ICDCN'2014, Coimbatore
yes
Definition of the problem
time
proc
esse
s
P1
P2
P3
P4
P5
The task consists in computing the answer (yes/no)
?
?
?
?
?
no
no
no
no
![Page 28: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/28.jpg)
ICDCN'2014, Coimbatore
yes
Definition of the problem
time
proc
esse
s
P1
P2
P3
P4
P5
Each process always receives the same answer to each of its request
?
?
?
?
?
no
no
no
no
yes ? yes ?
? no
? no
? no
? no ? no
![Page 29: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/29.jpg)
ICDCN'2014, Coimbatore
yes
Definition of the problem
time
proc
esse
s
P1
P2
P3
P4
P5
Exactly one process always receives yes
?
?
?
?
?
no
no
no
no
yes ? yes ?
? no
? no
? no
? no ? no
![Page 30: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/30.jpg)
ICDCN'2014, Coimbatore
Overview of the synchronous solution
![Page 31: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/31.jpg)
ICDCN'2014, Coimbatore
Roadmap
Non-stabilizing probabilistic solution
Probabilistic self-stabilizing solution
Probabilistic snap-stabilizing solution
![Page 32: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/32.jpg)
ICDCN'2014, Coimbatore
Required Knowledge
• If processes has no global information about the network (e.g., its size), the problem is impossible to solve
• Sketch: we can reduce the problem to the Ring-Size Counting problem, which is known to be impossible to solve in anonymous networks
![Page 33: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/33.jpg)
ICDCN'2014, Coimbatore
Required Knowledge
• We assume that each process knows a value B s.t.:
B < n ≤ 2B, where n is the number of processes
![Page 34: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/34.jpg)
ICDCN'2014, Coimbatore
Solution in a fault-free synchronous system
![Page 35: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/35.jpg)
ICDCN'2014, Coimbatore
Cycles
• Each process executes infinitely many cycles– The inputs of a cycle are a Boolean variable LE at each
process– Initially, the value of LE is randomly chosen – A cycle consists in computing a variable UNIQ at each
process which states if there is a unique process satisfying LE = true
• If yes, LE remains unchanged for each process• Otherwise, each LE variable is randomly reset
![Page 36: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/36.jpg)
ICDCN'2014, Coimbatore
Request
• Upon a request, a process waits the end of the cycle– If UNIQ = true, then the value of LE is the answer– Otherwise, the answer is delayed until (at least) the end
of the next cycle
• Aim: ensure that within almost surely finite time there is a unique process satisfying LE = true
![Page 37: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/37.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Initially– The value of LE is randomly chosen by each process– UNIQ is set to false
• Each cycle is made of 3 phases• Each phase lasts 2B steps (2B > Diameter)• Each process has a local clock which takes value
in [0..6B-1] to know in which phase it is
![Page 38: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/38.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
Phase 1 Phase 2 Phase 3
0 2B 4B 6B-1
One cycle
![Page 39: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/39.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• First Phase: compute a spanning forest s.t. – Each tree is rooted at a process such that LE = true– If no such process: no tree at the end of the phase
T
T
F
FFF
F
F F
![Page 40: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/40.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• First Phase: compute a spanning forest s.t. – Each tree is rooted at a process such that LE = true– If no such process: no tree at the end of the phase
T
T
F
FFF
F
F F
![Page 41: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/41.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Second Phase: each root (if any) computes the number of nodes in its tree
ICDCN'2014, Coimbatore
T
T
F
FFF
F
F F
1
11
1
12
3
3 6
![Page 42: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/42.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Second Phase: Each root (if any) computes the number of node in its tree
ICDCN'2014, Coimbatore
T
T
F
FFF
F
F F
1
11
1
12
3
3 6
At the end of the phase• If a root has more that B processes in its tree:
LE ← true; UNIQ ← true• In either cases, processes execute: LE ← false;
UNIQ ← false(Here, we choose B = 5)
![Page 43: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/43.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Second Phase: Each root (if any) computes the number of node in its tree
ICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
F,1
F,1 F,1
F,1
F,1F,2
F,3
F,3 T,6
At the end of the phase• If one root has more that B processes in its
tree: LE ← true; UNIQ ← true• In either cases, processes execute: LE ← false;
UNIQ ← false(Here, we choose B = 5)
![Page 44: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/44.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Second Phase: Each root (if any) computes the number of node in its tree
ICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
F,1
F,1 F,1
F,1
F,1F,2
F,3
F,3 T,6
Remark: at most one process can satisfy the first case because B ≥ n/2
![Page 45: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/45.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Third Phase: broadcast of the result– Each process computes the disjunction of all the
UNIQ variables
ICDCN'2014, CoimbatoreICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
F,1
F,1 F,1
F,1
F,1F,2
F,3
F,3 T,6
![Page 46: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/46.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Third Phase: broadcast of the result– Each process computes the disjunction of all the
UNIQ variables
ICDCN'2014, CoimbatoreICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
F,1
F,1 T,1
T,1
F,1T,2
F,3
T,3 T,6
![Page 47: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/47.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Third Phase: broadcast of the result– Each process computes the disjunction of all the
UNIQ variables
ICDCN'2014, CoimbatoreICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
T,1
T,1 T,1
T,1
T,1T,2
T,3
T,3 T,6
![Page 48: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/48.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Third Phase: broadcast of the result– Each process computes the disjunction of all the
UNIQ variables
ICDCN'2014, CoimbatoreICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
T,1
T,1 T,1
T,1
T,1T,2
T,3
T,3 T,6
At the end of the cycle, UNIQ = true at a process IFF there a unique process such that LE = true
![Page 49: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/49.jpg)
ICDCN'2014, Coimbatore
How to compute a cycle?
• Third Phase: broadcast of the result– Each process computes the disjunction of all the
UNIQ variables
ICDCN'2014, CoimbatoreICDCN'2014, Coimbatore
T
F
F
FFF
F
F F
T,1
T,1 T,1
T,1
T,1T,2
T,3
T,3 T,6
At the beginning of the next cycle:• LE is randomly reset if UNIQ = false
• W.p.p. a process will be elected in the next cycle
• Otherwise LE remains constant• UNIQ is reset to false for each process
At the end of the cycle, UNIQ = true at a process IFF there a unique process such that LE = true
![Page 50: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/50.jpg)
ICDCN'2014, Coimbatore
Complexity• The complexity depends on the probability law we use each
time we (re)set LE
• We compute that the best choice is to (re)set LE to true with probability p [1/2B,1/(B+1)]∈
• In this case, the expected number of cycles to “stabilize” the value of LE is e2/2 ≤ 3.70
• The expected time to give an answer to a request is then in 0(n)
![Page 51: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/51.jpg)
ICDCN'2014, Coimbatore
How to make this algorithm self-stabilizing?
• After faults, processes can be desynchronized
• Solution: use a phase clock algorithm [Boulinier et al,2004]
– Clocks synchronize in at most 6B steps– Then, the first cycle started at 6B steps will
correctly compute UNIQ!
![Page 52: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/52.jpg)
ICDCN'2014, Coimbatore
How to make this algorithm snap-stabilizing?
• The first cycle started at 6B steps will correctly compute UNIQ!
• For each request– A process first waits 6B steps (using a counter)– And only considers outputs of cycles started after these 6B steps– So, only outputs of correct cycles will be considered!– The answer LE will be output only when UNIQ = true at the end of
such a cycle
• The expected delay for each answer remains in 0(n)
![Page 53: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/53.jpg)
ICDCN'2014, Coimbatore
Overview of theasynchronous solution
• We use the self-stabilizing UNISON algorithm of [Boulinier et al, 2004] to emulate synchronous executions of cycles.– After stabilization, clocks differ from at most 1
• Using this algorithm, cycles ``synchronize’’ in 8B rounds
![Page 54: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/54.jpg)
ICDCN'2014, Coimbatore
Overview of theasynchronous solution
• We use a result from [Boulinier et al, 2008] to detect when cycles have stabilized:
If the clock of some process successively takes values u, u+1, … u+(2D+1), with ∀ i {1, …, 2∈ D+1}, u+i > 0, then every other process executes at least one step during that period
• Drawback: The expected delay for each answer is in 0(n2)
![Page 55: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/55.jpg)
ICDCN'2014, Coimbatore
Conclusion• We introduced probabilistic snap-stabilization
• We proposed 2 probabilistic snap-stabilizing protocols for the guaranteed service leader election in anonymous networks– The first one assumes a synchronous scheduler, and its expected
time complexity is in O(n)– The second one assumes an asynchronous scheduler, and its
expected time complexity is in O(n2)
• These two expected times can be reduced to O(D) and O(Dn), respectively, if processes have the knowledge of the diameter D of the network.
![Page 56: On Probabilistic Snap-Stabilization](https://reader035.vdocuments.net/reader035/viewer/2022081520/5681602a550346895dcf361d/html5/thumbnails/56.jpg)
ICDCN'2014, Coimbatore
Thank you!