325 Pages
English

Local coordination for interpersonal communication systems [Elektronische Ressource] / von Dirk Kutscher

Gain access to the library to view online
Learn more

Description

Local Coordinationfor Interpersonal Communication Systemsvon Dirk KutscherDissertationzur Erlangung des Grades eines Doktors der Ingenieurwissenschaften– Dr. Ing. –Vorgelegt im Fachbereich 3 (Mathematik & Informatik)der Universitat¨ Bremenim August 2003Datum des Promotionskolloquiums: 22.10.2003¨Gutachter: Prof. Dr Ing. Ute Bormann (Universitat Bremen)Prof. Peter T. Kirstein (University College London)AbstractThe decomposition of complex applications into modular units is an acknowledged designprinciple for creating robust systems and for enabling the flexible re use of modules in newapplication contexts. Typically, component frameworks provide mechanisms and rules for de veloping software modules in the scope of a certain programming paradigm or programminglanguage and a certain computing platform. For example, the JavaBeans framework is a compo nent framework for the development of component based systems — in the Java environment.In this thesis, we present a light weight, platform independent approach that views acomponent based application as a set of rather loosely coupled parallel processes that can bedistributed on multiple hosts and are coordinated through a protocol. The core of our frame work is the Message Bus (Mbus): an asynchronous, message oriented coordination protocolthat is based on Internet technologies and provides group communication between applicationcomponents.

Subjects

Informations

Published by
Published 01 January 2003
Reads 6
Language English
Document size 5 MB

Local Coordination
for Interpersonal Communication Systems
von Dirk Kutscher
Dissertation
zur Erlangung des Grades eines Doktors der Ingenieurwissenschaften
– Dr. Ing. –
Vorgelegt im Fachbereich 3 (Mathematik & Informatik)
der Universitat¨ Bremen
im August 2003Datum des Promotionskolloquiums: 22.10.2003
¨Gutachter: Prof. Dr Ing. Ute Bormann (Universitat Bremen)
Prof. Peter T. Kirstein (University College London)Abstract
The decomposition of complex applications into modular units is an acknowledged design
principle for creating robust systems and for enabling the flexible re use of modules in new
application contexts. Typically, component frameworks provide mechanisms and rules for de
veloping software modules in the scope of a certain programming paradigm or programming
language and a certain computing platform. For example, the JavaBeans framework is a compo
nent framework for the development of component based systems — in the Java environment.
In this thesis, we present a light weight, platform independent approach that views a
component based application as a set of rather loosely coupled parallel processes that can be
distributed on multiple hosts and are coordinated through a protocol. The core of our frame
work is the Message Bus (Mbus): an asynchronous, message oriented coordination protocol
that is based on Internet technologies and provides group communication between application
components.
Based on this framework, we have developed a local coordination architecture for decom
posed multimedia conferencing applications that is designed for endpoint and gateway applica
tions. One element of this architecture is an Mbus based protocol for the coordination of call
control components in conferencing applications.Acknowledgments
The research work that is described in this thesis has been performed at the Universitat¨ Bre
men in the Arbeitsgruppe Rechnernetze created and headed by Prof. Dr. Ing. Ute Bormann.
Looking back over the last five years, essentially every member of that research group has been
involved in some part of the work that has helped me to finally write this thesis. The central
part of this thesis, the Mbus protocol, has evolved into a fundamental framework for developing
component based systems in our group, and a lot of people have contributed in different ways
to make this happen: I remember numerous architecture discussions on endpoint and gateway
coordination, several productive and rewarding interoperability testing events, and a lot of in-
teresting pieces of software that have been written. This broad impact means that all the people
that I mention in the following truly deserve to be acknowledged.
I sincerely appreciate the support I have received from Prof. Dr. Ing. Ute Bormann during
all phases of my research work. She has catalyzed my interest in the concepts of communica
tions and especially in distributed systems when I was a student and was participating in the
two year student project TKP on synchronous telecooperation which Ute supervised. In these
early years, I have learned to appreciate her ability to convey important concepts in a most pre
cise, structured and understandable fashion, looking behind specific peculiarities and marketing
terminology. During the last five years, I have been able to work in an extremely creative and
enjoyable environment and have been able to learn a lot from her expertise, not only in the com
puter networks domain. After I have joined her research group in 1998, she has not only given
me the opportunity to work in the telecooperation area by participating in a number of unique
research projects but has also introduced me into international standardization work, namely
in the IETF, which has significantly promoted my further research activities. In creating this
thesis, she has supported me in multiple ways and has been of significant help for improving the
quality of the final document. Not only for writing this thesis, I have enjoyed her strong sense
for quality and have benefited from her advice.
My participation in different regional, national and international research projects and the
collaboration with many different international partners has been an extremely rewarding expe
rience and has given me the opportunity to validate my ideas in different application contexts
and to take part in many interesting conceptual discussions and practical undertakings. In par-
ticular, I would like to mention the European projects MECCANO and 6WINIT that I had the
pleasure to participate in. Both projects have played a substantial role in the development of the
Mbus and our local coordination architecture: in MECCANO, we initially designed the Mbus
protocol and applied it to the development of decomposed multimedia conferencing gateways.
In 6WINIT, we advanced the Mbus framework and designed our gateway control architecture.
Both of these projects have been directed by Professor Peter T. Kirstein, University College
London (UCL). Professor Kirstein, recently awarded the Jonathan B. Postel Service Award, is
iione of the pioneers of Internet and multimedia conferencing technologies related research and
is the nestor of the Internet in the UK. In MECCANO and 6WINIT, I have enjoyed an extremely
fruitful collaboration and have been able to benefit a lot from his tremendous knowledge and
experience. I am especially grateful that he has agreed to be my advisor for this thesis, and
his comments have indeed been very helpful. In fact, my research owes a lot the excellent col
laboration between our research groups: The Mbus idea has initially been sketched by Dr. Ing.
Jor¨ g Ott and Colin Perkins who has participated in the MECCANO project as a member of
Professor Kirstein’s group. The development and standardization of the Mbus protocol together
with Jor¨ g and Colin has been a great experience and I particularly acknowledge the work of
Colin and other people at UCL for developing the Mbus enabled audio tool RAT that has been
an important element in many of our applications.
In addition, my thanks go to Prof. Dr. Ulrike Lechner and Prof. Dr. Jan Peleska for joining
the examination committee and for proving their patience during the scheduling difficulties.
The foundation of my research work has been laid by Dr. Ing. Jor¨ g Ott, who originally
conceived the internal management service for conferencing systems and the Mbus idea. Our
common involvement in many different projects and the numerous conceptual discussions have
been a major thrust for the development of our local coordination architecture. In particular,
our participation in the DTI and FETA projects has been an extremely pleasant and rewarding
experience: for the first time, we have had the opportunity to transfer the local coordination
concept to existing IP telephony platforms and to advance the ad hoc communication idea by
developing the Dynamic Device Association mechanisms for Mbus devices. Together with Ute,
we have supervised the Hausgeist project that has investigated employing the Mbus technology
for large scale ad hoc communication in home networks, which has led to many interesting
discussions that have also contributed to my research work. During all of our joint activities,
I have benefited a lot from Jor¨ g’s deep knowledge of multimedia conferencing technologies,
from his striving for quality, and from his remarkable ambition and reliability, e.g., for finishing
papers at absurd times, despite an enormous workload. I would not want to miss the many
conceptual comments he has provided for the Mbus work and related activities.
I would also like to thank Dr. Ing. Carsten Bormann who has been the managing director
of our group for the last five years and who has supported me in multiple ways. He has been
an authoritative information source for many questions in several discussions and projects, and
I have benefited a lot from his experience. I have especially appreciated Carsten’s guidance for
the preparation of this thesis and for other documents that we have authored.
This thesis and the research results that I describe therein owe a lot to the extraordinary
productive and enjoyable environment I have worked in during the last five years. Professor
Bormann’s research group at the University of Bremen is one of the few associations of lectur-
ers, researchers and students that combines interesting conceptual leading edge research with its
practical implementation and validation. This focus on application oriented is main
tained by a group of researchers that I have got to know as challenging partners in discussions
on concepts and architectures but also as creative and reliable partners in project work, in soft
ware development, and in technology transfer activities. Due to the infrastructure character of
the Mbus framework, literally all of them have been exposed to the Mbus and have thus con
tributed to my work by participating in discussions and interoperability events, by contributing
Mbus implementations, by developing Mbus applications and by providing me with feedback.
Stefan Prelle has developed the Java Mbus implementation and an Mbus based H.323 call
iiicontrol engine that we have used in our gateway systems. In particular, he contributed to the
advancement of the Mbus Call Control Profile by pointing to H.323 requirements, thus helping
to keep the profile generic. Olaf Bergmann developed the first C++ implementation of the Mbus
Guidelines interaction mechanisms and also provided valuable feedback for advancing the C++
implementation and the Call Control profile, which he has used for developing an Mbus based
SIP server system.
Markus Germeier has developed AudioGate, our first Mbus based gateway system, and
he has also written the Perl Mbus implementation. Niels Pollem has developed the StarGate
gateway and implemented a first version of an Mbus based controller for gateway systems. The
StarGate development has initiated the definition of the Mbus Call Control Profile.
Andreas Busching¨ has developed the media processor component that we have used in our
Mbus based media gateway. He has also done a lot of Mbus hacking and porting for the DTI
and FETA projects. In particular, he has ported the C++ implementation to MS VC++ and
has developed our first DDA server implementation. Dirk Meyer has implemented another
C++ Mbus RPC implementation, has contributed to the Mbus Call Control Profile and has
co developed the Mbus basedWipone endpoint in the Wiptel project. Eilert Brinkmann has
advanced our gateway controller for the 6WINIT project and has provided valuable feedback
for improving the C++ implementation.
Anne Kathrin Stoll has won my personal “Bjarne Stroustrup award” for implementing the
design of a C++ template based socket abstraction for IPv4 and IPv6 providing unified interfaces
to socket operations without compromising run time efficiency, which we have used for our
gateway systems. Anja Prelle has developed an Mbus based CPL module that can be used as a
component in SIP proxies and H.323 gatekeepers. Kevin Loos has developed the Python Mbus
implementation and a corresponding DDA client implementation that we have used on PDA
systems for the DTI and FETA projects.
Quite a lot of people have developed Mbus implementations on their own and have thus
helped by providing feedback with respect to the Mbus protocol specification, by contributing
their developments and by participating in interoperability testing events. In addition to my own
Mbus implementations, I am aware of the following implementations:
UCL C implementation, developed by Colin Perkins as part of UCL’s commonlib that is
used for RAT and other Mbone tools;
University of Bremen Java implementation, developed by Stefan Prelle;
University of Bremen Perl developed by Markus Germeier and later con
tinued by members of the Hausgeist project;
Hausgeist Python implementation, developed by Kevin Loos during the Hausgeist project,
later used for the DTI and FETA projects; and the
Hausgeist C# implementation, developed by Daniel Losch for MS .NET platforms.
I would not have been able to pursue this work without the tremendous support from my
parents, my family, and my friends who have been an invaluable source of encouragement,
especially during the last months. In particular, I am sincerely grateful to Christiane who has
done an excellent job in managing our family during a challenging period and for being a
wonderful mother to our sons Ben Fuman and Nick Otis — they are great kids!
ivContents
1 Introduction 1
1.1 Networks of Personal Devices . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Trends for Conferencing Systems . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 A Message Bus for Local Coordination . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 A Decomposed Multimedia Conferencing System . . . . . . . . . . . . 9
1.3.2 Integration into Computing Environments . . . . . . . . . . . . . . . . 10
1.4 Research Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Structure of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 Conferencing Architectures 15
2.1 The H.323 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Conference Initiation . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.2 Data Protocols for Multimedia Conferencing . . . . . . . . . . . . . . 20
2.1.3 Conference Course Control . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Internet Multimedia Conferencing Architecture . . . . . . . . . . . . . . . . . 24
2.2.1 Conference Initiation . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1.1 Session Announcement . . . . . . . . . . . . . . . . . . . . 26
2.2.1.2 Initiation . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.2 Conference Course Control . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2.1 The Agreement Protocol . . . . . . . . . . . . . . . . . . . . 29
2.2.2.2 CCCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.2.3 SCCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3 Lessons Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3 Use Cases and Requirements 39
3.1 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 A Decomposed Multimedia Conferencing System . . . . . . . . . . . . 39
3.1.2 In Vehicle Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.2.1 From Cable Replacement to New Applications . . . . . . . . 45
3.1.2.2 Real time In Vehicle Communication . . . . . . . . . . . . . 46
3.1.2.3 Multimedia In Vehicle . . . . . . . . . . . . 48
3.1.2.4 In Vehicle Communication in the Future . . . . . . . . . . . 49
3.1.2.5 Observations . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.2.6 Redesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
vCONTENTS CONTENTS
3.2.1 Requirement Ad hoc communication . . . . . . . . . . . . . . . . . . . 55
3.2.2 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.3 Requirement Group . . . . . . . . . . . . . . . . . . . 56
3.2.4 Intra and Inter host communication . . . . . . . . . . . 57
3.2.5 Requirement Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.6 Small Footprint . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.7 Requirement Reliable Communication . . . . . . . . . . . . . . . . . . 58
3.2.8 Message Ordering . . . . . . . . . . . . . . . . . . . . . 59
3.2.9 Requirement Standardized Interaction Schemes . . . . . . . . . . . . . 59
3.2.10 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4 Foundations and Related Work 61
4.1 Distributed Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.1.1 Remote Procedure Call Paradigm . . . . . . . . . . . . . . . . . . . . 63
4.1.2 Group Communication and the ISIS Toolkit . . . . . . . . . . . . . . . 67
4.1.3 Lessons Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 Local Coordination (Vertical Control) . . . . . . . . . . . . . . . . . . . . . . 72
4.2.1 LBL Conference Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2.2 Pattern Matching Multicast . . . . . . . . . . . . . . . . . . . . . . . . 74
4.2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3 Coordination and Ad Hoc Communication . . . . . . . . . . . . . . . . . . . . 76
4.3.1 TIBCO Rendezvous . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.3.1.1 Ordering and Synchronization . . . . . . . . . . . . . . . . . 77
4.3.1.2 Architecture and Communication . . . . . . . . . . . . . . . 78
4.3.1.3 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.3.1.4 Programming Model . . . . . . . . . . . . . . . . . . . . . . 80
4.3.1.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.2 Service Discovery and “Plug and Play” Solutions . . . . . . . . . . . . 81
4.3.2.1 Service Location Protocol . . . . . . . . . . . . . . . . . . . 81
4.3.2.2 Jini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.3.2.3 Universal Plug and Play . . . . . . . . . . . . . . . . . . . . 85
4.3.3 Lessons Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.4 Component Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4.1 Component Object Model (COM) . . . . . . . . . . . . . . . . . . . . 91
4.4.2 JavaBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.3 Scripting Languages (Tcl) . . . . . . . . . . . . . . . . . . . . . . . . 92
4.4.4 CORBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4.4.1 Remote Method Invocation Service . . . . . . . . . . . . . . 94
4.4.4.2 Object Management Architecture . . . . . . . . . . . . . . . 94
4.4.4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.4.5 Lessons Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
viCONTENTS CONTENTS
5 Architecture 100
5.1 Basic Message Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2 Higher Layer Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3 Device Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.4 Local Conference Control Architecture . . . . . . . . . . . . . . . . . . . . . . 102
6 The Mbus Framework 103
6.1 Design Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2 Mbus Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.2.1 Basic Transport Mechanisms . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.1.1 Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.1.2 Group Communication . . . . . . . . . . . . . . . . . . . . 107
6.2.1.3 Mapping to IP Unicast and IP Multicast . . . . . . . . . . . 109
6.2.1.4 Unicast . . . . . . . . . . . . . . . . . . . . 111
6.2.1.5 Reliable Communication . . . . . . . . . . . . . . . . . . . 113
6.2.2 Membership Information Service . . . . . . . . . . . . . . . . . . . . 121
6.2.2.1 Hello Message Transmission Interval . . . . . . . . . . . . . 122
6.2.3 Message Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.2.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.2.4.1 Message Authentication . . . . . . . . . . . . . . . . . . . . 126
6.2.4.2 Encryption . . . . . . . . . . . . . . . . . . . . . . 127
6.2.4.3 Applying and Encryption to Messages . . . . 127
6.2.5 Configuration of Mbus Transport Parameters . . . . . . . . . . . . . . 129
6.2.6 Mandatory Mbus Commands . . . . . . . . . . . . . . . . . . . . . . . 130
6.2.6.1 Commands for Membership Management . . . . . . . . . . 130
6.2.6.2 for Synchronization . . . . . . . . . . . . . . . . 131
6.2.7 Sample Mbus Session . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.3 Higher Layer Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.3.1 Usage of Mbus Addresses . . . . . . . . . . . . . . . . . . . . . . . . 134
6.3.2 Interaction Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.3.2.1 Remote Commands . . . . . . . . . . . . . . . . . . . . . . 139
6.3.2.2 Mbus Remote Procedure Calls . . . . . . . . . . . . . . . . 140
6.3.2.3 Mbus Transactions . . . . . . . . . . . . . . . . . . . . . . . 149
6.3.3 Mbus Control Models . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.3.3.1 Managing Control Relationships . . . . . . . . . . . . . . . 153
6.3.3.2 No Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.3.3.3 Tight . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.3.3.4 Exclusive Tight Control . . . . . . . . . . . . . . . . . . . . 156
6.4 Mbus Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.4.1 Sample Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.4.2 Service Location and Device Association . . . . . . . . . . . . . . . . 159
6.4.3 DDA System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6.4.3.1 Service and Device Discovery . . . . . . . . . . . . . . . . . 161
6.4.3.2 Device Selection . . . . . . . . . . . . . . . . . . . . . . . . 163
6.4.3.3 Service and Device Association . . . . . . . . . . . . . . . . 163
6.4.3.4 Application Protocol Operation . . . . . . . . . . . . . . . . 164
viiCONTENTS CONTENTS
6.4.3.5 Service and Device Dissociation . . . . . . . . . . . . . . . 165
6.4.4 DDA Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.4.4.1 Service and Device Discovery . . . . . . . . . . . . . . . . . 166
6.4.4.2 and Device Association . . . . . . . . . . . . . . . . 169
6.4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.5 Mbus and Ad hoc Communication . . . . . . . . . . . . . . . . . . . . . . . . 171
6.5.1 Requirements for Group Communication in Ad hoc Environments . . . 172
6.5.2 DDA Extensions for Multiparty Peering . . . . . . . . . . . . . . . . . 173
6.5.2.1 Requirements for Multiparty Peering . . . . . . . . . . . . . 174
6.5.2.2 Modified DDA Association . . . . . . . . . . . . . . . . . . 175
6.5.3 Mbus Extensions for Multiparty Peering . . . . . . . . . . . . . . . . . 177
6.5.3.1 Coordinator Concept . . . . . . . . . . . . . . . . . . . . . 177
6.5.3.2 Connectivity Discovery . . . . . . . . . . . . . . . . . . . . 179
6.5.3.3 Visibility Reporting . . . . . . . . . . . . . . . . . . . . . . 180
6.5.3.4 Message Transmission and Forwarding . . . . . . . . . . . . 181
6.5.3.5 Change and Failure Handling . . . . . . . . . . . . . . . . . 182
6.5.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
7 Mbus Implementations 187
7.1 Implementation Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.2 Basic Requirements . . . . . . . . . . . . . . . . . . . . . . . 189
7.3 C++ Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
7.3.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
7.3.2 Integration into Applications . . . . . . . . . . . . . . . . . . . . . . . 195
7.3.3 Mbus Guidelines Implementation . . . . . . . . . . . . . . . . . . . . 197
7.3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.4 Java Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
7.5 Mbus Implementations for Scripting Environments . . . . . . . . . . . . . . . 201
7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
8 Evaluation 205
8.1 Basic Message Transport and Security Mechanisms . . . . . . . . . . . . . . . 206
8.2 RPC Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
8.3 Fault Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
8.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
9 Mbus in Conferencing Systems 216
9.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
9.1.1 The Internal Management Concept . . . . . . . . . . . . . . . . . . . . 217
9.1.2 Mbus Coordination Model . . . . . . . . . . . . . . . . . . . . . . . . 218
9.1.3 Local in End Systems . . . . . . . . . . . . . . . . . . . 220
9.1.4 Local in Call Signaling Gateways . . . . . . . . . . . . . 222
9.1.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.2 Session Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2.1 SDPng System Model . . . . . . . . . . . . . . . . . . . . . . . . . . 226
viii