Você está na página 1de 9

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/221463680

A causal multicast protocol for dynamic groups in cellular networks

Conference Paper · January 2008


DOI: 10.1145/1621087.1621092 · Source: DBLP

CITATIONS READS

3 13

2 authors:

Chafika Benzaid N. Badache


University of Science and Technology Houari Boumediene Research Center on Scientific and Technical Information
31 PUBLICATIONS   65 CITATIONS    197 PUBLICATIONS   1,783 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Coverage in Wireless Sensor Networks View project

Wireless Network Forensics Analysis View project

All content following this page was uploaded by Chafika Benzaid on 12 May 2017.

The user has requested enhancement of the downloaded file.


A Causal Multicast Protocol for Dynamic Groups in
Cellular Networks

Chafika BENZAID Nadjib BADACHE


LSI, Département Informatique LSI, Département Informatique
Faculté d’Électronique & Informatique,USTHB Faculté d’Électronique & Informatique,USTHB
El Alia BP n32, Bab Ezzaouar, Alger, Algérie El Alia BP n32, Bab Ezzaouar, Alger, Algérie
benzaid@lsi-USTHB.dz badache@lsi-USTHB.dz

ABSTRACT message synchronization and reduces the non-determinism


Group communication is an abstraction which deals with in a distributed computation. It is of considerable interest
multicasting a message from a source process to a group of to the design of distributed systems and can be found in
processes. In Group Communication Systems (GCS ), causal applications of several domains, such as collaborative appli-
message ordering is an essential tool to ensure interaction cations, multimedia systems, event notification systems [11],
among group members in a consistent way. In this paper, distributed virtual environments [19], etc.
we propose a simple and optimal causal multicast protocol Several algorithms have been developed to implement causal
which copes with the dynamically changing groups in mo- message ordering in conventional distributed systems [5, 15,
bile environments. The protocol presents an optimal com- 16, 14]. These protocols differ mainly by the size of control
munication overhead without causing inhibition effect in the information carried by messages. Some contributions [2, 18,
delivery of messages. The group membership management 12, 17] are proposed to implement causal message ordering
depends on a simple, yet powerful idea. This original idea protocols for mobile computing systems. Most of these algo-
consists in considering the join and leave requests as data rithms are based on the timestamping by vector clock with
messages, and then will be ordered with other messages. ns entries, where ns is the number of mobile support sta-
This makes no need to a coordination phase in the installa- tions (M SSs) in the system. This yields to different vision
tion of a new view. Our protocol requires minimal resources between MSSs and mobile hosts (MHs) on order of events,
on mobile hosts and wireless links and scales well with large which creates an inhibition delay in the delivery of mes-
groups. sages. To eliminate this inhibition delay, we have proposed a
new unicast protocol (Mobi Causal ) to implement the causal
Categories and Subject Descriptors: C.2.4 [Distributed message ordering in a mobile environment [4]. The protocol
Systems]: Distributed applications is based on the timestamping mechanisms proposed in [13].
General Terms: Algorithms, Reliability, Theory. As far as multicasting is concerned, the functionality of
Keywords: Causal Message Delivery, Multicast Communi- multicast thus can be achieved only by means of multi-
cation, Dynamic Groups, Cellular Networks. ple unicasts, which results in poor utilization of the net-
work bandwidth [1]. A multicast protocol with exactly-once
delivery semantics for a mobile environment is presented
1. INTRODUCTION by [1]. However, this protocol does not enforce causal or-
In distributed computing systems, processes are often or- dering. Prakash et al. (PRS ) [12] presented an algorithm
ganized into groups for supporting various applications, such which combines an improved version of the RST causal or-
as computer-supported-cooperative work (CSCW ), repli- der algorithm [14] for static networks with that in [1]. Its
cated services, news groups, etc. Group-based communica- message overhead is O(n2h ) (nh is the number of MHs in
tion has proven an important paradigm for developing such the system) despite the use of direct dependency relation in
distributed systems. Group communication is an abstrac- the construction of control information. The causal multi-
tion which deals with multicasting a message from a source cast algorithm presented in [3] uses coordinators at a higher
process to a group of processes. In GCS, causal order- level in a hierarchy than the MSSs. Coordinators broadcast
ing protocols are an essential tool to exchange information. the messages to all the MSSs which in turn broadcast them
Messages are delivered to each member in an order that is to all MHs. The algorithm has a message space overhead
consistent with the happens before relationship [9] of their of O(nc ), where nc is the number of coordinators, but the
send events. The use of causal ordering [5] provides built-in decision of causal ordering delivery takes place at the MH
level. The algorithm (LH) in [10] also performs a broadcast
among MSSs, and then within each cell to MHs. Another
causal multicast protocol, (CY T H), is presented in [7] where
Permission to make digital or hard copies of all or part of this work for only a part of MSSs (called mobility agents) is involved in
personal or classroom use is granted without fee provided that copies are group computations. An M H always initiates causal multi-
not made or distributed for profit or commercial advantage and that copies
casts via its serving agent (i.e. MSS of cell where it has been
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific located for the first time) regardless of its current location.
permission and/or a fee. As consequence, MHs appear stationary and this simplifies
EATIS 2008 Aracaju, Brazil the development of the protocol. However, if we imagine the
Copyright 2008 ACM 978-1-59593-988-3 ...$5.00.
case where each MSS is a serving agent for at least one MH member (an M H) moves to its cell which does not contain
member of the group, then all MSSs will be included in the any group member before its migration, and it must be re-
multicast group even if there is no member located in their moved from this list if the last member located in its cell
cells. For both LH and CY T H protocols, the message over- migrates to another cell.
head is O(ns ). In [6], Chandra et al. (CK ) adapt the KS For simplicity and without lost of generality, we consider
optimal causal multicast algorithm [8] to mobile networks. the existence of only one group.
In spite of defining the necessary and sufficient conditions on
the control information, the message overhead of CK is, in 3. PROTOCOL
the worst-case, O(n2h ). In summary, we can notice that some
proposals offer a better message overhead but incur an un- 3.1 Data Structures
necessary inhibition delay in the delivery of messages, while
Each MSS Si maintains an integer counter, IdSendSi ,
some other solutions overcome this problem but by incurring
that is incremented each time a message is multicast by
high message overhead which can reaches O(n2h ). Moreover,
Si . The counter is set to zero at the beginning and will
most of them do not deal with group communication.
be incremented each time a message is sent by Si .
In this paper, we try to get benefit of our unicast protocol
Each MH hi maintains a vector φ of length ns . One entry
advantages, in order to propose a variant of it allowing mul-
φm [k] = {(hj , id), ...} in this vector corresponds to the set of
ticast communication in mobile dynamic groups and which
predecessor messages’ identifiers of m sent by the MSS Sk for
can fill gaps of existing protocols, especially in terms of con-
which the delivery condition is not yet confirmed. We keep
trol information’s size appended to each message. Another
the message’s identifier and for which MH this message is
issue of concern is how to achieve causal ordered delivery
sent. As soon as the delivery of a message is confirmed, the
while dealing with group changes due to new processes join-
corresponding entry is deleted from φ. It’s not necessary
ing and current members leaving or migrating between cells.
to keep information about messages that their delivery is
The proposed protocol is optimal with respect to com-
confirmed, thereby reducing the control information’s size.
munication overhead because the construction of control in-
Each MH hi has also a set LastRcvhi that stores identi-
formation relies on the immediate dependency relationship
fiers of messages delivered to hi . One component of the set is
between messages as well as the multicast of messages is
denoted by (Sj , SDj ), where Sj is the identity of the sending
limited to the M SSs where the group members are located.
M SS and SDj = id1 , id2 , id3 , id4 , ... is the set of message’s
The particularity of our protocol resides in the fact of con-
identifiers and corresponds to a dependency sequences [13].
sidering the join/leave requests as data messages to which
Information about messages sent by a MSS Si but not
control information is appended and they will be ordered
yet delivered to all group members is kept in a data struc-
with other messages. This makes no need to a coordination
ture SendM which corresponds to a set of tuples of the form
phase in the installation of a new view.
(nback , idm ) where nback is the number of intended ack for
The rest of the paper is organized as follows: Section 2
the message having idm as identity. A copy of each sending
gives the system model. In section 3 data structures and the
message is kept at the level of each M SS belonging to the
detail of our causal multicast protocol are presented. Sec-
group, in a set U nstM , till the delivery of this message to all
tion 4 presents the correctness proof of the protocol while
M Hs members of the group. We kept these copies in order
the section 5 presents the complexity of the protocol. Con-
to ensure the delivery of messages to M Hs in movement.
clusions and future works are discussed in Section 6.
Each time a message is deliver to a member (i.e. a MH), its
M SS sends an acknowledgement (ack(idm )) to the sending
2. SYSTEM MODEL MSS. At the reception of this ack by the sending MSS, nback
The considered mobile computing system model is a cel- is decremented by one. When nback becomes null, the send-
lular network. We assume that the wireless channels are ing M SS deletes information about this message from its
FIFO, and both wired and wireless channels are reliable and data structures and sends a delete(idm ) message to other
take an arbitrary but finite amount of time to deliver mes- MSSs. At the reception of this message, M SSs delete in
sages. Whenever a M H moves from one cell to another, a their turn information about this message from their data
hand − of f procedure is performed in which the commu- structures.
nication responsibilities of M H are transferred to the new Information about messages not yet delivered to an MH
local M SS. hi because the delivery condition is not satisfied, is stored
We define the view of a group by two components: M HV iew in a queue, denoted AtF ilehi .
and M SSV iew . Thus, the group’s view reflects not only the We note that the data structures introduced above con-
set of MHs that are currently members of the group but also cern only the M SSs and M Hs belonging to the group and
the set of their MSSs. they are all maintained at the M SSs level.
An M H is added to the view of a group (i.e. to the
M HV iew list) if it has explicitly expressed a request to join 3.2 The static module
the group, and its M SS is added to M SSV iew list if it does
not yet exist. In the same way, an M H is removed from the 3.2.1 The emission phase
view of a group (i.e. from the M HV iew list) if it has ex- The multicast of a message m starting from a group’s
plicitly expressed a request to leave the group, and its M SS member MH, hi (Si ), to a subset of members Dest of the
is deleted from the M SSV iew list if this M H is the latest same group gi (i.e. Dest ⊆ M HV iewG ) is done by send-
member localized in this M SS’s cell. We assume that only ing the message from hi to its MSS, Si , which increments
voluntary disconnections (i.e. expressed by group members) IdSendSi by one, then piggybacks φhi and IdSendSi to the
can occur, in other words, the failures are not considered. message and multicasts the message to MSSs, Sj , where
An M SS is also added to the M SSV iew list when a group group members are located (i.e. Sj ∈ M SSV iewG ).
 
Once the message m is sent, we update the global clock φ (h2 , 1)(h3 , 1)
by setting, for each hj ∈ Dest, φhi [i] := φhi [i]∪(hj , IdSendSi ). φh1 = 0 , SendMS = {(2, 1)}
1
We add also the couple (T (G), IdSendSi ) to SendM where 0
T (G) represents the number of expected Ack so that the
• At the emission of m2 from h1 to {h3 , h4 }
message becomes stable (i.e. delivered to all recipient mem-
IdSendS1 = 2  
bers) and is equal to |Dest|.
(h2 , 1)(h3 , 1)
3.2.2 The reception phase M ulticast(m2 , 2,  0  , {h3 , h4 })
Upon the arrival of m to an MSS Sj belonging to the 0
 
group gi , this message will be delivered to a receiving MH (h2 , 1)(h3 , 2)(h4 , 2)
hj located in the cell covered by this MSS only if the de- φh1 =  0 ,
livery condition holds; i.e. this message has not yet been 0
delivered to hj (to ensure exactly once delivery property) SendMS1 = {(2, 1), (2, 2)}
and all messages which causally precede the message m are  
received by Sj and delivered to hj : (h2 , 1)(h3 , 1)
If m is already delivered to hj (i.e. idm ∈ LastRcvhj ), • At the reception of (m2 , 2,  0  , {h3 , h4 })
then this message is ignored. Otherwise: 0
1. If ∀k = 1, n, 6 ∃( , hj ) ∈ φm [k], then this message does by (S3 )
not depend on any other message and its delivery is imme- Checking φm2 , we find that the delivery of the message
diate. m2 to the host h3 depends on the delivery of the first
2. If ∃k = 1, n, ∃(idf, hj ) ∈ φm [k], then we simply verify message (i.e. m1 ) sent by S1 to h3 . But since the list
that the message, having idf as an identifier, has been deliv- LastRcvh3 = {} does not contain information about
ered to hj . The delivery of a message to a MH is expressed its delivery, which means that m1 has not yet been de-
by the existence of an entry (Sk , SDk ) in the set LastRcvhj livered to h3 . Thus, the message m2 will be waiting in
such as idf ∈ SDk . If so, the message m is delivered as the queue AtF ileh3 until the delivery of m1 .
well as all messages in the queue AtF ilehj that are awaiting Checking φm2 , we find that the delivery of the message
m. The delivery of these messages led to their removal from m2 to the host h4 does not depend on the delivery of
the queue and the emission of Ack(IdSendm ) to the sending any other messages. Consequently, the message m2
M SS. will be delivered to the host h4 , and the following up-
In the case where no one of the above two conditions is dates will be done:
satisfied, then we say that the delivery condition is not satis-  
(h2 , 1)(h3 , 2)
fied, and consequently the message m is queued in AtF ilehj .
φh4 =  0 , LastRcvh4 = {(S1 , {2, 2})}
3.2.3 Example 0

• At the emission of m3 from h4 to {h1 , h2 , h3 }


h1
m1 m2 m3
IdSendS3 = 1  
h2 (h2 , 1)(h3 , 2)
M ulticast(m3 , 1,  0  , {h1 , h2 , h3 })
m3 0
S1  
(h2 , 1)(h3 , 2)
S2
φh4 =  0 , SendMS = {(3, 1)}
3
S3 (h1 , 1)(h2 , 1)(h3 , 1)
m1 m2
m2  
h3
m3 (h2 , 1)(h3 , 2)
m3 • At the reception of (m3 , 1,  0  , {h1 , h2 , h3 })
h4 0
by (S3 )
Si hi The message is queued
Checking φm3 , we find that the delivery of the message
hi The queued message is delivered
m3 to the host h1 does not depend on the delivery of
any other messages. Hence, the message m3 will be de-
livered to the host h1 , and the following updates will
Figure 1: An illustrated example
be done:
 
It is assumed that the view of the group gi is composed of: (h2 , 1)(h3 , 2)
M SSV iewgi = {S1 , S2 , S3 } and M HV iewgi = {h1 , h2 , h3 , h4 }. φh1 =  0 , LastRcvh1 = {(S3 , {1, 1})}
It is also assumed that h1 is located in the cell covered by (h2 , 1)(h3 , 1)
S1 , that h2 is located in the cell covered by S2 and that h3  
(h2 , 1)(h3 , 2)
and h4 are located in the cell covered by S3 .
• At the reception of (m3 , 1,  0  , {h1 , h2 , h3 })
• At the emission of m1 from h1 to {h2 , h3 } 0
IdSendS1 = 1   by (S2 )
0 Checking φm3 , we find that the delivery of the message
M ulticast(m1 , 1,  0  , {h2 , h3 }) m3 to the host h2 depends on the delivery of the first
0 message (i.e. m1 ) sent by S1 to h2 . But since the list
LastRcvh2 = {} does not contain information about Delivering a message m, having idm as identifier, to all its
its delivery which means that m1 has not yet been de- recipients, involves sending an acknowledgement from their
livered to h2 . Thus, the message m3 will be waiting in M SSs to the sending M SS. When all acknowledgements,
the queue AtF ileh2 until the delivery of m1 . about the delivery of m, are received by the sending MSS
  Si , the corresponding entries are removed from SendMSi ,
(h2 , 1)(h3 , 2)
U nstMSi and φhi for all hi located in the cell covered by Si .
• At the reception of (m3 , 1,  0  , {h1 , h2 , h3 })
After that, the sending M SS send the deletion request to
0
all MSSs Sj belonging to the group in order that they delete
by (S3 ) information corresponding to this message from their data
Checking φm3 , we find that the delivery of the mes- structures. So, the corresponding entries will be removed
sage m3 to the host h3 depends on the delivery of the from U nstMSj and φhj for all hj located in the cell covered
second message (i.e. m2 ) sent by S1 to h3 . But since
by Sj . This permits to reduce considerably the message
the list LastRcvh3 = {} is empty which means that
overhead.
m2 has not yet been delivered to h3 . Thus, the mes-
sage m3 will be waiting in the queue AtF ileh3 until
3.2.4 The handoff procedure
the delivery of m2 .
  The handoff module presented here is similar to that pre-
0 sented in [4] except that we add the part concerning the up-
• At the reception of (m1 , 1,  0  , {h2 , h3 }) by (S2 ) date of the group view (especially the set M SSview ) caused
0 by the migration of the M H.
Checking φm1 , we find that the delivery of the message The handoff for a MH hi is handled by passing φhi , LastRcvhi
m1 to the host h2 does not depend on the delivery of and AtF ilehi from the old MSS to the new MSS. Upon the
any other messages. Consequently, the message m1 reception of this information, the new MSS verifies if there
will be delivered to the host h2 , and the following up- exist messages in U nstM destined to hi but not yet received
dates will
 be done:  by it; i.e. for each message m ∈ U nstM |hi ∈ Destm if
(h3 , 1) idm 6∈ LastRcvhi then this message is delivered to hi pro-
φh2 =  0 , LastRcvh2 = {(S1 , {1, 1})} vided that its delivery condition is verified, otherwise the
0 message is added to the queue AtF ilehi .
Now, the message m3 can be delivered to h2 . Conse- If hi migrates to another M SS, Sk , before the current
quently, the entry of this message will be deleted from handoff procedure is completed, the new handof f − begin
the queue AtF ileh2 and the following updates will be message issued by Sk will not be handled until the current
done:  handoff procedure is completed.
 If the migrated MH hi resident in the cell covered by the
(h3 , 2)
φh2 =  0 , MSS Si is the last group member in this cell then Si is
(h1 , 1)(h3 , 1) deleted from the set M SSview . Moreover, if the migrated
LastRcvh2 = {(S1 , {1, 1})(S3 , {1, 1})} MH hi is the first group member to be located in the cell
  covered by the MSS Sj then Sj is added to the set M SSview .
0
• At the reception of (m1 , 1,  0  , {h2 , h3 }) by (S3 ) 3.2.5 The group view management
0 We consider the Join and Leave requests as data messages
Checking φm1 , we find that the delivery of the message and as a result, they will be ordered with these messages.
m1 to the host h3 does not depend on the delivery of If each host receives all data messages which precede the
any other messages. Consequently, the message m1 Join or Leave message, then this host installs the new view
will be delivered to the host h3 , and the following up- otherwise it must wait for the delivery of these messages.
dates will
 be done:  The Join procedure
(h2 , 1) The member hi , joining the group, sends a request join(hi )
φh3 =  0 , LastRcvh3 = {(S1 , {1, 1})} to its MSS Si . At the reception of this request, Si broadcasts
0 a request Collect() to all M SSs within the group in order to
Now, the delivery of the message m2 to h3 can be done. collect information about messages not yet delivered to all
Hence, the entry of this message will be deleted from their receiving members. These messages are called unstable
the queue AtF ileh3 and the following updates will be messages.
done:  Upon the reception of this request, each M SS responds by
   a message Reply(SendM ) which contains the list of unstable
(h2 , 1) (h2 , 1)
φh3 =  0 , φh4 =  0 , messages’ identifiers sent by this M SS. This collection of
0 (h1 , 1)(h2 , 1)(h3 , 1) information about unstable messages helps to ensure that a
LastRcvh3 = {(S1 , {1, 2})} message sent in the old view must be delivered in the old
view.
So, we can now deliver the message m3 to h3 . Hence, From this information, Si calculates the control infor-
the entry for this message will be deleted from the mation to be attached to the request Install and broad-
queue AtF ileh3 and the following updates will be done: casts this last to all group members. The control informa-
   
(h2 , 1) (h2 , 1) tion is represented by a global clock φ. One entry φ[i] =
φh3 =  0 , φh4 =  0 , [(idM U nst1 , Dest1 )(idM U nst2 , Dest2 ), ...] corresponds to the
(h1 , 1)(h2 , 1) (h1 , 1)(h2 , 1) set of unstable messages’ identifiers and their destinations,
LastRcvh3 = {(S1 , {1, 2})(S3 , {1, 1})} sent by the MSS i. Upon receipt of the message (Install,
idInstall , φInstall ) by a MSS Sj , it verifies for each group’s located, delivers m2 before m1 . This means that the delivery
member hj located in its cell, its delivery condition: ∀(idM U nstl , condition for m2 , represented by ∃(Sl , SDl ) ∈ LastRcvhj
Destl ) ∈ φInstall [k] and hj ∈ Destl , ∃(Sk , SDk ) ∈ LastRcvhj where idm1 ∈ SDl , is held. This condition can be verified
such as idM U nstl ∈ SDk . If the delivery condition is verified, only if Sj has delivered m1 to hj before the delivery of m2 .
hj installs the new view Vx (where x is the number of the Which leads to a contradiction with the assumption that m2
view) and idInstall is added to LastRcvhj .SDi . Otherwise, has been delivered before m1 .
the installation of the view for this member will be delayed
until the delivery of all unstable messages destined to this Case m1 and m2 are sent by two distinct MHs hk (Sk ) and
member. Installing the view is expressed by the addition of hl (Sl ), respectively:
the identity of hi to the set M HV iew . On the other hand, if
We suppose that m2 has been delivered before m1 to the
the delivery condition does not hold, which means that hj
receiving MH hj while we tray to prove that this is impos-
has not received all unstable messages, then the installation
sible.
of the view for this member will be delayed until the recep-
Since the emission of m1 precedes immediately that of
tion of all these unstable messages and the message Install()
m2 compared to hj , then hl (Sl ) has certainly received a
will be queued in AtF ilehj .
message m so that (Idm1 , hj ) ∈ φm before the emission of
The first message sent by the member hj after the instal-
m2 . So, (hj , idm1 ) ∈ φm2 . The delivery of m2 by Sj (hj )
lation of the new view will be stamped by (idIstall , Si ). This
is constrained by the condition: ∃(Sl , SDl ) ∈ LastRcvhj
ensures that future messages; i.e. sent within the new view,
where idm1 ∈ SDl and this can be verified only if Sj has
will not be delivered in an older view.
delivered m1 before m2 . This leads also to a contradiction.
If the M H which desires joining the group is the first
group member in the cell where it is, then the M SS of this 4.2 Liveness property proof
cell is added to M SSview .
The Leave procedure The delivery of a message m to a destination MH hj can
The member hi , leaving the group, sends a request Leave(hi ) be delayed only by other messages destined to hj that are
to its MSS Si . Upon receiving this request, Si sends a re- not yet delivered to it. In order to proof that this wait-
quest Collect(LastRcvhi ) to all M SSs within the group in ing delay is finite, we proceed as follow: we consider all
order to collect information about unstable messages. messages which are not yet delivered to hj (Sj ). The hap-
Contrary to the join procedure, we have added the LastRcvhi pened before relationship can be used to define a partial
set to the collection request in order to update information order over the emission events of these messages. Let m0
about intended acknowledgements from hi . Since hi will one of these messages in the partial order of which the emis-
leave the group, than there is no need to await its acknowl- sion has no predecessor. Hence m0 has not been delivered
edgements of messages which has not yet received. to hj at its reception, then the following condition must be
In this case, at the reception of the message Collect(LastRcvhi ) true ∃k = 1, n, ∃(idf, hj ) ∈ φm0 [k] and this can be valid only
by a MSS Sj ,it verifies for each couple (idm ,nbackm )∈ SendMSj if m0 is causally related to another message (having idf as
identifier) sent before it, which leads to a contradiction with
destined to hi , if idm 6∈ LastRcvhi .SDj holds, then nbackm
the hypothesis that m0 has no predecessor. This means that
will be decremented by 1. If nbackm becomes null, the couple
our protocol never delays a message indefinitely.
(idm , nbackm ) will be deleted from SendMSj and the tuple
(idm , hi ) will be deleted from the entry φ[j]. We say that 4.3 Exactly once delivery property proof
the message idm is became stable and consequently its copy Our protocol ensures that exactly once copy is delivered
will be removed from all MSSs members of the group. for each multicast message. This is can be inferred from the
Thereafter, we shall proceed in the same way as in the following observations:
case of the join procedure. The delivery of a message m to a MH hi is expressed
The installation of the view is expressed by the suppres- by the addition of its identity to the set LastRcvhi . Thus,
sion of the hi ’s identity from the set M HV iew . If hi is the the scan of this set either at the reception or handoff phase
last member located in the cell, then the M SS of this cell prevents the delivery of another copy of the same message.
is removed from M SSview . Therefore, at most-once delivery of a message is ensured.
A multicast message m is buffered at every M SS till an
4. CORRECTNESS PROOF explicit Delete(idm ) message is received. This Delete() mes-
sage is sent by the sending M SS only after an acknowledge-
4.1 Safety property proof ment from each M H in Dest has been received. Which
Let two messages m1 and m2 , and let Idm1 and Idm2 , the ensures at least-once delivery of a message.
identities of emission events of m1 and m2 , respectively. Exactly-once delivery is thus ensured by at least-once and
We suppose that Send(m1 ) → Send(m2 ) and @m | Send(m1 ) at most-once delivery of a message.
→ Send(m) → Send(m2 ); which means that the emission
of m1 precedes immediately the emission of m2 . Two cases
4.4 Correctness of Group Membership Prop-
are to be considered: erties
Let Vij to denote the ith view of the group g installed by a
Case m1 and m2 are sent by the same MH hl (Sl ): MH hj . The view Vij is defined by two components: M HV j
i
Since the emission of m1 precedes immediately that of m2 , and M SSV j which are respectively the set of MHs that are
i
then the emission of m1 is certainly the last event occurred currently members of g and the set of MSSs where these
in hl (Sl ) before the the emission of m2 . So, (idm1 , hj) ∈ MHs are located. Let Dest to denote the recipient members
φm2 . We suppose that the receiving MSS Sj , where hj is of the multicast message m
4.4.1 View Properties Proof. If Sj ∈ M SSV k (g) − M SSV k (g), i > 1, this
i−1 i
means that Sj was removed from the group membership
k
Property 1. If a MH hj ∈ g and located in a cell covered when the view Vi (g) was installed. By definition, a new
by Sj , installs a view Vij (g) then hj ∈ M HV j (g) and Sj ∈ view is formed by modifying the two sets M HV iew and
i
M SSV j (g). M SSV iew . The identity of a MSS is deleted from the set
i M SSV iew if the latest member located in its cell has leaved
the cell. At the installation of a new view, the set M SSV iew
Proof. Modifications to the group membership (by mod- maintains identities of all MSSs of the current view except
ifying the two sets M HV iew and M SSV iew ) are carried out identities of those where the latest member has leaved their
only under the condition that both MH and its MSS which cells. A member leaves a cell either because it has expressed
installs the new view on behalf of the MH belong to the new a request to leave the group or because it has migrated from
view. this cell to another cell. So, if Sj is not in Vik (g) then this is
the fact that the latest member located in its cell has leaved
Property 2. If a MH hj ∈ (M HV k (g) − M HV k (g)), the group or migrated to another cell.
i i−1
i > 1, then hj asked to join g.
Property 1 states that only the members of the group view
Proof. If hj ∈ M HV k (g)−M HV k (g), i > 1, is because install the corresponding view. Property 2, Property 3, Prop-
i i−1
erty 4 and Property 5 state that modifications of the two
hj was added to the group membership when the view Vik (g)
components of the group view are justified only by the join,
was installed. By definition, a new view is formed by modify-
leave and migration actions.
ing the two sets M HV iew and M SSV iew . At the installation
of a new view, the set M HV iew maintains identities of all 4.4.2 Multicast service properties
MHs of the current view plus identities of those which have
explicitly expressed a request to join the group. Therefore,
Property 6 (Sending View Delivery). If a message
if hj is in Vik (g), then hj has necessarily expressed a request
m is delivered to a MH hj ∈ Dest in a view V , and some
to join the group.
MH hi multicasts m in a view V 0 , then V = V 0 .
Property 3. If a MH hj ∈ (M HV k (g) − M HV k (g)), Proof. We suppose that a message m is delivered to
i−1 i
i > 1, then hj asked to leave g. hj ∈ Dest in a view V and its emission is accomplished
in a different view V 0 . Since the emission of a message m
Proof. If hj ∈ M HV k (g) − M HV k (g), i > 1, this precedes causally its delivery, then V is a new view installed
i−1 i in a previous view V 0 ; which means that m is delivered to hj
means that hj was removed from the group membership
k after the installation of V . This is possible only if m is not
when the view Vi (g) was installed. By definition, a new
an unstable message (i.e. m 6∈ ListM U nst )⇒ m is delivered
view is formed by modifying the two sets M HV iew and
to all recipient members of V 0 before the installation of V .
M SSV iew . At the installation of a new view, the set M HV iew
If m is delivered to hj , this means that hj was one group
maintains identities of all MHs of the current view except
member when the message was sent (i.e. hj ∈ M HV 0 )⇒ m
identities of those which have explicitly expressed a request
is delivered to hj in the same view of its emission.
to leave the group. Therefore, if hj is not in Vik (g), then hj
has necessarily expressed a request to leave the group. Property 7 (Same View Delivery). If a message m
is delivered to both MHs hi and hj , m is delivered to them
Property 4. If a MSS Sj ∈ (M SSV k (g)−M SSV k (g)), in the same view.
i i−1
i > 1, then either some MH asked to join g from cell or to
Proof. The property 6 ensures that a message is deliv-
migrate to cell covered by Sj .
ered to a MH in the same view of its emission (1). If a
message is delivered to two MHs hi and hj , this means that
Proof. If Sj ∈ M SSV k (g) − M SSV k (g), i > 1, this
i i−1 hi and hj belong to the group membership when the message
means that Sj was added to the group membership when is sent (2). From (1) and (2), it follows that m is delivered
k
the view Vi (g) was installed. By definition, a new view is to both MHs hi and hj in the same view.
formed by modifying the two sets M HV iew and M SSV iew .
The identity of a MSS is added to the set M SSV iew if there
is at least one member of the group (i.e. a MH) located in 5. COMPLEXITY ANALYSIS
P s
its cell. At the installation of a new view, the set M SSV iew The communication overhead of our protocol is O( n i=1 li ),
maintains identities of all MSSs of the current view plus where li is the number of tuples in the entry φ[i]. li repre-
identities of those from which a new member is added to the sents the number of messages sent by Si and for which the
group by expressing a join request or an existing member has delivery is not yet confirmed. In the worst case, this number
migrated to their cells. So, if Sj is in the new view Vik (g) can be equal to |M HV iew |, where |M HV iew | is the number
then this is the fact that a new member has expressed a of MHs in the group. But since the delivery of each message
request to join the group from its cell or an existing member involves the update of this clock
P sthen we can assume that
has migrated to its cell. this number remains low and n i=1 li ¿ ns × |M HV iew | ¿
ns × nh . Comparing to the related works, our protocol out-
Property 5. If a MSS Sj ∈ (M SSV k (g)−M SSV k (g)), performs the CK and P RS protocols with respect to mes-
i−1 i
sage overhead. CY T H [7] and LH [10] protocols provide
i > 1, then the last member in the cell covered by Sj asked
the best message overhead but these protocols create an un-
to leave the group or migrated to another cell.
necessary inhibition delay in the delivery of messages. In
our protocol, each message sent by a MH is immediately properties.
delivered if the delivery condition is verified. The control Although the complexity analysis and the theoretical proof
information piggybacked to each message reflects the effec- of the proposed protocol have been discussed in this paper,
tive causality relation between messages, as perceived by a simulation about the quantitative improvements it offers
their MHs. So, the delivery of message is never inhibited as over the related works is desirable to reinforce the formal
in these protocols. evaluation. A simulation comparing the protocol with some
A message is multicast only to M SSs containing the group related works is now in progress.
members which permits to reduce the number of messages
sent over wired channels. So, the number of destinations of 7. REFERENCES
a given message is O(|M SSV iew |). [1] A. Acharya and B. R. Badrinath. A framework for
In our protocol, a M SS ∈ M SSV iew maintains a list delivering multicast messages in networks with mobile
LastRcv to keep information about delivered messages. Since hosts. ACM/Baltzer Mob. Netw. and Applications,
the construction of this list rely on the dependency sequences 1(2):199–219, June 1996.
mechanism, then this can result in the non bounded evolu- [2] S. Alagar and S. Venkatesan. Causally ordered
tion of LastRcv. We compensate for this problem by re-
message delivery in mobile systems. In Proc.
setting LastRcv each time a new view is installed. Upon Workshop on Mob. Comput. Syst. and Appl., pages
the installation of a new view, keeping information about 169–174, Dec. 1994.
the delivery of messages sent in the old view (i.e. stable
[3] G. Anastasi, A. Bartoli, and F. Spadoni. A reliable
messages) is not required. We keep in this list only the in-
multicast protocol for distributed mobile systems:
formation about the delivery of view installation’s message
Design and evaluation. IEEE Trans. Parallel and Dist.
(i.e. Install message).
Syst., 12(10):1009–1022, Oct. 2001.
The defined data structures are independent from the
number of M Hs in the system, which renders our protocol [4] C. Benzaid and N. Badache. Mobi causal: a protocol
scalable relatively to the number of M Hs and more suitable for causal message ordering in mobile computing
for large groups. The execution of protocol is completely systems. SIGMOBILE Mob. Comput. Commun. Rev.,
supported by the MSSs when the role of MHs is restricted 9(2):19–28, April 2005.
to the emission and reception of messages. The messages [5] K. Birman and T. Joseph. Reliable communication in
transmitted over wireless links don’t transport any control the presence of failures. ACM Trans. on Comput.
information which contribute to minimize the use of wireless Syst., 5(1):47–76, Feb. 1987.
bandwidth. [6] P. Chandra and A. D. Kshemkalyani. Causal multicast
The particularity of our protocol resides in its group view in mobile networks. In Proc. of the the IEEE
management procedure. Our protocol supports the fluctu- Computer Society’s 12th Annual intl Symposium on
ation in group composition due to join and leave requests. Modeling, Analysis, and Simulation of Computer and
In our case, these requests are considered as data messages Telecommun. Syst. (Mascots’04), pages 213–220, Oct.
and consequently will be ordered with them. This makes the 2004.
installation of a view by a member constrained only by the [7] K. Chi, L. Yen, C. Tseng, and T. Huang. A causal
delivery of all messages preceding the join or leave requests multicast protocol for mobile distributed systems.
and has no need to a coordination phase. Thus, our solution IEICE TRANS. INF. & SYST.,
is completely distributed unlike the LH [10] protocol which E83-D(12):2065–2074, Dec. 2000.
proposed a centralized solution to do the management of a [8] A. D. Kshemkalyani and M. Singhal. An optimal
group where all join and leave requests must be treated by algorithm for generalized causal message ordering. In
an administrator site. We know that the drawback of a cen- Proc. of the 15th ACM Symposium on Principles of
tralized solution is the overloading of this administrator site Dist. Comput., page 87, May 1996.
which can become a bottleneck and also its crash can cause [9] L. Lamport. Time, clocks and the ordering of events in
the failure of the system. a distributed system. Commun. of the ACM,
21(7):558–565, July 1978.
6. CONCLUSIONS [10] C. Li and T. Huang. A mobile-support-station-based
Group communication systems need the support of causal causal multicast algorithm in mobile computing
multicast communication. In this paper, we have tried to get environment. Proc. Nat. Science Council, ROC(A),
benefit of the important characteristics of our unicast pro- 23(1):100–110, 1999.
tocol M obi Causal [4], such as elimination of unnecessary [11] C. Lwin, H. Mohanty, and R. Ghosh. Causal ordering
inhibition delay, low message overhead and scalability, in or- in event notification service systems for mobile users.
der to adapt it to achieve causal requirement for a multicast In Proc. of the Intel. Conf. on Information
communication among a dynamic group of MHs. Technology: Coding and Computing (ITCCŠ04), 2004.
The proposed protocol keeps all these interesting char- [12] R. Prakash, M. Raynal, and M. Singhal. An efficient
acteristics. It presents an optimal communication overhead causal ordering algorithm for mobile computing
without causing inhibition effect in the delivery of messages. environments. In Proc. of the 16th intl. Conf. on Dist.
Moreover, our protocol deals with dynamic construction of Comput. Syst., pages 744–751. ICDCS ’96, May 27-30
a group by supporting the join, leave and migration actions 1996.
and without needing a coordination phase when installing [13] R. Prakash and M. Singhal. Dependency sequences
a new view. The protocol is proved to satisfy the safety, and hierarchical clocks: efficient alternatives to vector
the liveness, the exactly once delivery and the group mem- clocks for mobile computing systems. Wireless Netw.,
bership properties namely the view and multicast service 3(5):349–360, Oct. 1997.
[14] M. Raynal, A. Schiper, and S. Toueg. The causal
View publication stats
ordering abstraction and a simple way to implement
it. Inf. Process. Lett., 39(6):343–350, Oct. 1991.
[15] A. Schiper, K. Birman, and P. Stephenson.
Lightweight causal and atomic group multicast. ACM
Trans. Comput. Syst., 9(3):272–314, Aug. 1991.
[16] A. Schiper, J. Eggli, and A. Sandoz. A new algorithm
to implement causal ordering. Proc. of the 3rd Intl.
Workshop on Dist. Algorithms, In Lecture Notes in
Computer Science, 392:219–232, Sept. 1989.
[17] C. Skawratananond, N. Mittal, and V. K. Garg. A
lightweight algorithm for causal message ordering in
mobile computing systems. In Proc. of 12th ISCA Intl.
Conf. on Parallel and Dist. Comput. Syst., pages
245–250. PDCS, 1999.
[18] L. Yen, T. Huang, and S. Hwang. A protocol for
causally ordered message delivery in mobile computing
systems. Mob. Netw. Appl., 2(4):365–372, Dec. 1997.
[19] S. Zhou, W. Cai, S. Turner, and B. Lee. Critical
causal order of events in distributed virtual
environments. ACM Trans. on Multimedia Computing,
Commun. and Applica., 3(3), Aug. 2007.

Você também pode gostar