Title: Select the model for Group Communication
1Select the model for Group Communication
2Motivation
- Group Communication Systems(GCS) have been
exploited for many kinds of network-based
applications,for example,collaborative
computing,fault-tolerant distributed systems etc. - The specifications of GCSs using natural
language usually are ambiguous. - Model is a solid foundation for
Design,Analysis,Management of the given GCS.
3Methodology
- Analysis- concerned with understanding and
modeling the application and the domain within
which it operates. The output from analysis is a
formal model that captures the three essential
aspects of the system the objects and their
relationships, the dynamic flow of control, and
the functional transformation of data subject to
constraints. - Design - Defines the overall architecture of the
system. Using the object model as a guide, the
system is organized into subsystems. Decisions
are made about inter-process communication, data
storage, and implementation of the dynamic model.
- During the Object Design phase, the analysis
models are elaborated, refined, and optimized to
produce a practical design. Basic algorithms are
chosen to implement each major function of the
system, the structure of the object model is then
optimized, the implementation of each association
and attribute is determined.
4What is Group Communication?
- What is group?
- A group is a collection of processes that
cooperate to provide a service - Group Communication is a means for providing
multi-point to multi-point communication, by
organizing processes in groups.
5Key Attributes for Group Communication
- View a collection of related processes as a
single abstraction. - ordering capabilities, consensus on a common
decision or reliable diffusion of messages. - A message sent to the group is delivered to all
members. - The processes in the system share no global
memory and communicate only by message passing - Groups are dynamic
- Membership changes due to joins, departures or
failures. - Frequency of group creation/deletion.
- Related to network communication support
- Broadcasting
- Multicasting
- Unicasting
- Anycasting
6Group Communication primitives
- Message-passing between groups(processes)
- messages (or events) are expected for a given
state of the protocol and trigger the messages
passing and state transitions - ?Group Membership Management?
- Interface
- Create/destroy process groups
- Add or withdraw a process to or from a group
- Provide failure detection
- Detector marks processes as suspected or
unsuspected - Notify members of group membership changes (due
to add/withdraw/crash) -
7Choosing Model
- Petri Net
- Message Sequence Charts(MSC)
- Finite State Model(FSM)
- Mathmatic Model
- Object-oriented Dynamic Model
8Specify Group Communication(1)
- Petri Net
- A Petri net is a graphical and mathematical
modeling tool. - Petri nets are a promising tool for describing
and studying systems that are characterized as
being concurrent, asynchronous, distributed,
parallel, nondeterministic, and/or stochastic. - Contrado not support data type and not scalable
9Specify Group Communication(2)
- MSC
- A Message Sequence Chart contains the description
of the asynchronous communication between
instances. The complete Message Sequence Chart
language, in addition, has primitives for local
actions, timers (set, reset and time-out),
process creation, process stop and coregions.
Furthermore sub Message Sequence Charts and
conditions can be used to construct modular
specifications. - Most commonly used to depict exchange of messages
and their processing between any number of
entities both sequential and concurrent.
10Specify Group Communication(3)
- FSM
- most often are used to depict internal processing
(change of states) influenced by incoming
messages and/or events - Pro Very expressive, allow hierarchy
- Contra doe not show message flow between
entities, do not scale
11Which model can be used?
- Think about group? Sometimes we must treat it as
an entity,sometimes have to think about the
members in a given group. - Petri-Net, MSC and FSM, each of them can not
solve this problem.
12Object-oriented Model
- object model - via object diagrams, the object
model specifies the static structure of objects
and their relationships it is really the
"cornerstone" of the technique, because it
specifies what objects a system contains - dynamic model - via state diagrams, the dynamic
model specifies the aspects of a system which
change over time, in other words, when objects
change (like the old "flowcharts") - functional model - via data flow diagrams, the
functional model specifies the data value
transformations (calculations) in a system, in
other words, how objects change
13One of Object-oriented Model
- (M,O,D)
- Mset of Messages
- Oset of Objects
- Dset of Determination
- Notes
- Object every object has (State,Timer,Method).Sta
tes can be set or gotten by the Methods. And
every object maintain his own timestamp, and a
table of the timers which belong to the other
objects that communicate in moment with this
object. A object can be a process or a group of
process. - Determination preconditions?actions
- Precondition have two types active and passive
preconditions. Active means the Determination
System collect the information which is necessary
for it to determine Passive means the
information are fed into the Determination. - Passive like the sending or receiving the given
Message - Active like in a given time to collect the
needed object-states.
14For Group communication
- Object a group or a single process
- Messages
- Determination
- Group communication
- Group Membership Management
15A Design for Multicast Group Membership
Management
- componets
- Group name administration
- Set management
- Delivery vehicle management
- Multicast transport service
-
Group membership management
16A Design for Multicast Group Membership Management
- Group Attributes
- GroupnameStruct-nameStruct-nameltRestrictgtStr
uct-nameTrans-stemltTransientgtStruct-name
Struct-nameName-segmentName-segmentltSeparato
rgtStruct-name - Typeltpublic,restricted,transientgt
- Group Leader
- Registrar
- Process Attributes
- Process id
- Transport address
- Groupname, maybe one or multi.
- Group agent
17A Design for Multicast Group Membership Management
- Determination
- Group Agentknows about and acts on behalf of the
various TUP(transport user process) - Group Leaderknows the membership of the entire
set.It is determined dynamically for sets with
public and restriced names,while for those with
transient names,the agent at the node where the
owner resides is the leader. - Registrartwo basic functions
- Coordinate the leadership resolution process
- Direct the TUPs outside the multicast group to
the group leader.
18A Design for Multicast Group Membership Management
- Messages
- Management Messages
- join-group ,leave_group(for public and restrict
group) - create_group,destory_group,add_to_group,delete_fro
m_group(for transient group) - query_group
- the other messages between agent,registrar,leader.
- Sequence
19Reference
- Multicast Group Membership Management Joshua
Auerbach, Member, IEEE,etc - Group Communication Specifications A
Comprehensive Study,Gregory V. Chockler,The
Hebrew University of Jerusalem Computer Science
Institute, - Distributed Algorithms, Lecture notes for the
Graduate School IC,Prof. Andre Schiper - A Dynamic Group Management Framework for
Large-scale Distributed Event Monitoring, Ehab
Al-Shaer - T-79.186 Reactive Systems Introduction and
Finite State - Automata, Timo Latvala
- Reliable Research Towards Experimental Standards
for Computer Science, Justin Zobel - Simulation-based Test of Synchronous and
Asynchronous Fault-tolerant Group Membership
Services, Guillermo A.Alvarez - An Object Model for Collaborative Systems and a
Toolkit to Support Collaborative - Activities, Haibin Zhu
- An Aspect-Based Object-Oriented Model for
Multi-Agent Systems, Alessandro F. Garcia, Carlos
J. P. de Lucena - Introduction to OMT
- SERIES Z LANGUAGES AND GENERAL SOFTWARE ASPECTS
FOR TELECOMMUNICATION SYSTEMS Formal description
techniques (FDT) Message Sequence Chart - Introductory Tutorial
- Petri Nets , Organised by Gianfranco Balbo