SlideShare a Scribd company logo
Communication in Distributed
Systems
By
Hussian A.al-kabi
Mohammed R.al-rekabe
Content ….
 Introduction
 Communication in Distributed Systems
 Architecture of Distributed System
 Layered style
 object based
 data-centered
 event-based
 Reliability
 Communication in groups
 Order Communication
 Conclusion
 References
Introduction
Distributed computing will be central to advances in a broad range of critical applications, including
intelligence information systems, military command and control, air traffic control, electric power grid
management, telecommunications, and a vast array of web-based commercial and government
applications. Indeed, a massive rollout of such systems is already underway. Yet while impressive
capabilities have been easy to develop and demonstrate in small-scale settings, once deployed these
systems often stumble badly.
Software that runs securely and reliably in small-scale mockups may lose those properties as numbers of
users, the size of the network and transaction processing rates all increase. Whereas small networks are
well behaved, any sufficiently large network behaves like the public Internet, exhibiting disruptive
overloads and routing changes, periods of poor connectivity and throughput instability. Failures rise in
frequency simply because the numbers of participating components are larger. A scalable technology
must ride out such forms of infrastructure instability
 In a distributed system there is no shared memory and thus the
whole nature of the communication between processes should be
reconsidered.
The processes, to communicate, must adhere to rules known as
protocols.
For distributed systems in a wide area, these protocols often take
the form of several layers and each layer has its own goals and
rules.
Messages are exchanged in various ways, and there are many
design options in this regard, an important option is the "remote
procedure call.
It is also important to consider the possibilities of communication
between groups of processes, not only between two processes.
ARCHITECTURE of Distributed System
 Software Architecture of Distributed System:
 It deals with how software components are
organised and,
 how they work together, i.e., communicate with each
other.
 Typical software architectures include:
• Layered,
• object-oriented,
• data-centred,
• and event-based
Software architectures
Contd…
System Architecture:
 placement of machines
 placement of software on machines
There is no single best architecture:
 The best architecture for a particular system depends on the
application requirements and the environment.
Architectural styles(1/4): Layered style
Observation: Layered style is used for client-server system
Contd…
 Components at layer LNare allowed to call
components at underlying layers LN-1,but not
the other way around.
Database Layer
Data Management Layer
Applications Layer
User Interface Layer
Requests Results
Architectural styles (2/4): object based
Object
Object
Object
Object
Object
Method Calls
Basic idea: Organize into logically different components, and subsequently distribute
those components over the various machines.
Observation: object-based style for distributed object systems.
In essence, each object corresponds to what we have defined as a component and
these components are connected through a (remote) procedure call mechanism.
component = object
connector = RPC or RMI
Architectural styles (3/4): data-centered
 Main purpose: data access and update
 Processes interact by reading and modifying data in
some shared repository (active or passive)
 Traditional database (passive): responds to requests
 Blackboard system (active): system updates clients when
information changes.
Architectural Styles (4/4): event-based
 Processes communicate through event
propagation
 ‘Publish/Subscribe’ systems
• Processes subscribed to events will receive them.
 Benefit is, components are loosely coupled;
 i.e. they don’t need to explicitly refer to each
other.
Contd…
Figure (a) The event-based architectural style
• Communication via event
propagation, in dist. Systems
communication often in
Publish/ Subscribe; e.g.,
register interest in market
info; get email updates
•Decouples sender &
receiver; asynchronous
communication
Event-based arch.
supports several
communication styles:
• Publish-subscribe
• Broadcast
• Point-to-point
Contd…
Data Centric Architecture; e.g., shared distributed file systems
or Web-based distributed systems
Combination of data-centered and event based architectures
Processes communicate asynchronously
Figure (b) The shared data-space architectural style.
CLIENT-SERVER
Client-Server from another perspective
A typical client-server application can be decomposed into three logical parts:
the interface part, the application logic part, and the data part.
Implementations of the client-server architecture vary with regards to how the
parts are separated over the client and server roles.
VERTICAL DISTRIBUTION (MULTI-TIER)
splitting up a server’s functionality over multiple computers
Three layers’ of functionality:





User interface
Processing/Application logic
Data
Splitting up the server functionality in this way is beneficial to a system’s scalability as well
as its flexibility.
Scalability is improved because the processing load on each individual server is reduced,
and the whole system can therefore accommodate more users.
Logically different components on different machines
The vertical distribution, or multi-tier, architecture distributes the traditional server functionality
over multiple servers. A client request is sent to the first server.
1
6
Vertical Distribution from
another perspective
HORIZONTAL DISTRIBUTION
replicating a server’s functionality over multiple computers


In this case, each server machine contains a complete copy of all hosted
Web pages and client requests are passed on to the servers in a round
robin fashion.
The horizontal distribution architecture is generally used to improve
scalability (by reducing the load on individual servers) and reliability (by
providing redundancy).
Logically equivalent components replicated on different machines
PEER TO PEER COMMUNICATION ARCHITECTURE


All processes have client and server roles.
With the potentially huge number of participating nodes in a peer to
peer network, it becomes practically impossible for a node to keep
track of all other nodes in the system and the information they offer.
 Issues related to reliability of communication;
-Ensuring that the message was received on node (s)
target (s)
-Maintenance of order in the delivery of messages
-Flow control to avoid "flooding" the receiving node
-Fragmentation of the messages to eliminate
limitations on size
Maximum messages
If the communication system does not guarantee
some of these
aspects, it must send the application

three choices:
- Order FIFO: Messages from one source reach each
receiver in the order they are sent.
·There are no guarantees on messages from different
issuers
-Causal ordering: If the messages sent between two
emitting a possible relationship "cause and effect, all
group process first receive the message "cause" and then
message "effect."
- If no connection, no guarantee any delivery order
- Definition of "causality" is discussed in "Synchronization"
-Total Management:All messages (various sources) sent
a group are received in the same order for all items.
References
[1] J.-M. Andreoli, C. Hankin, and D. Le Me´tayer, Coordination Programming: Mechanisms, Models and Semantics.
World Scientific,
1996.
[2] F. Arbab and F. Mavaddat, “Coordination Languages and
Models,” Proc. Coordination 2002 Conf., Apr. 2002.
[3] Abstract State Machines (ASMs), http://www.eecs.umich.edu/
gasm, 2003.
[4] AsmL for Microsoft.NET, http://www.research.microsoft.com/
foundations/asml, 2003.
[5] M. Barnett and W. Schulte, “Runtime Verification of .NET
Contracts,” J. Systems and Software, vol. 65, no. 3, pp. 199-208, 2002.
[6] M. Barnett, C. Campbell, W. Schulte, and M. Veanes, “Specification,
Simulation and Testing of COM Components Using Abstract
State Machines,” Formal Methods and Tools for Computer Science,
Proc. Eurocast 2001 Conf., pp. 266-270, Feb. 2001.
[7] M. Barnett, W. Grieskamp, Y. Gurevich, W. Schulte, N. Tillmann,
and M. Veanes, “Scenario-Oriented Modeling in AsmL and Its
Instrumentation for Testing,” Proc. Int’l Conf. Software Eng. (ICSE/
SCESM), 2003.
[
8] M. Barnett, W. Grieskamp, L. Nachmanson, W. Schulte, N.Tillmann, and M. Veanes, “Towards a Tool Environment for
Model-Based Testing with AsmL,” Proc. Formal Approaches to
Software Testing Conf. (FATES 2003), 2004.
[9] M. Barnett, L. Nachmanson, and W. Schulte, “Conformance Checking of Components Against Their Non-Deterministic
Specifications,” Technical Report MSR-TR-2001-56, Microsoft
Research, June 2001.
[10] G. Bella and E. Riccobene, “Formal Analysis of the Kerberos Authentication System,” J. Universal Computer Science, vol. 3, no. 12,
pp. 1337-1381, 1997.
[11] A. Blass and Y. Gurevich, “Abstract State Machines Capture
Parallel Algorithms,” ACM Trans. Computational Logic, vol. 4, no. 4,
pp. 578-651, Oct. 2003.
[12] E. Bo¨rger and R. Sta¨rk, Abstract State Machines: A Method for High-
Level System Design and Analysis. Springer, 2003.
[13] D. Box, “Code Name Indigo: A Guide to Developing and Running
Connected Systems with Indigo,” MSDN Magazine, http://msdn.
microsoft.com/msdnmag/, 2003.
[14] P. Clements, “A Survey of Architecture Description Languages,”
Proc. Eighth Int’l Workshop Software Specification and Design, Mar.
1996.
[15] D.E. Comer, Internetworking with TCP/IP, Principles, Protocols, and
Architectures. Prentice Hall, 2000.
[16] R. Farahbod, U. Gla¨sser, and M. Vajihollahi, “Specification and
Validation of the Business Process Execution Language for Web
Services,” Technical Report SFU-CMPT-TR-2003-06, Simon Fraser
Univ., Sept. 2003.
[17] R. Farahbod, U. Gla¨sser, and M. Vajihollahi, “Specification and
Validation of the Business Process Execution Language for Web
Services,” Proc. ASM Conf. 2004, 2004.
[18] Foundations of Software Engineering Group at Microsoft, http://
research.microsoft.com/fse, 2003.
[
[19] van Renesse, Robbert, Minsky, Yaron, and Hayden, Mark, “A Gossip-Based Failure Detection Service”,
in the Proceedings of Middleware '98. England,
August 1998.
[20] van Renesse, Robbert, and Birman, Kenneth P,“Astrolabe: A Robust and Scalable Technology for
Distributed System Monitoring, Management, and
Data Mining”, Submitted to ACM TOCS, November
2001
[21] van Renesse, Robbert, and Birman, Kenneth P,Dumitriu, Dan and Vogels, Werner, “Scalable
Management and Data Mining Using Astrolabe” in
the. Proceedings of the First International Workshop
on Peer-to-Peer Systems (IPTPS),. Cambridge,
Massachusetts. March 2002.
the Proceedings of the International Workshop on
Reliable Peer-to-Peer Systems, Osaka, Japan.
October 2002.
[22] Werner Vogels, Chris Re, Robbert van Renesse and
Ken Birman, .”A Collaborative Infrastructure for
Scalable and Robust News Delivery”. In the
Proceedings of the IEEE Workshop on Resource
Sharing in Massively Distributed Systems
(RESH'02), Vienna, Austria, July 2002.

More Related Content

PPTX
01 - Introduction to Distributed Systems
PDF
PDF
An approach of software engineering through middleware
PPTX
Architectural styles 2
PPTX
Distributed Systems - Information Technology
PPTX
Distributed computing by Dr.C.R.Dhivyaa, Assistant Professor, Kongu Engineeri...
PPTX
Architectural styles and patterns
PPTX
Software engineering 17 architectural design
01 - Introduction to Distributed Systems
An approach of software engineering through middleware
Architectural styles 2
Distributed Systems - Information Technology
Distributed computing by Dr.C.R.Dhivyaa, Assistant Professor, Kongu Engineeri...
Architectural styles and patterns
Software engineering 17 architectural design

What's hot (20)

PDF
Report_Internships
PDF
A multi agent based decision mechanism for incident reaction in telecommunica...
PPTX
Distributed information system
PDF
Evasion Streamline Intruders Using Graph Based Attacker model Analysis and Co...
PDF
Network Monitoring and Traffic Reduction using Multi-Agent Technology
PDF
Multi-Agent Architecture for Distributed IT GRC Platform
DOC
Distributed Computing Report
PDF
9fcfd50a69d9647585
PDF
Se lec5
DOCX
Architectural Styles and Case Studies, Software architecture ,unit–2
DOCX
Designing and documenting software architecture unit 5
PDF
Host-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
PPT
Introduction to distributed system
PPTX
Architectural styles class 1
PPTX
Architectural design of software
PPT
Socio Technical Systems in Software Engineering SE2
PDF
HOST AND NETWORK SECURITY by ThesisScientist.com
PDF
5. oose design new copy
PDF
A MALICIOUS USERS DETECTING MODEL BASED ON FEEDBACK CORRELATIONS
PDF
Lectura 2.2 the roleofontologiesinemergnetmiddleware
Report_Internships
A multi agent based decision mechanism for incident reaction in telecommunica...
Distributed information system
Evasion Streamline Intruders Using Graph Based Attacker model Analysis and Co...
Network Monitoring and Traffic Reduction using Multi-Agent Technology
Multi-Agent Architecture for Distributed IT GRC Platform
Distributed Computing Report
9fcfd50a69d9647585
Se lec5
Architectural Styles and Case Studies, Software architecture ,unit–2
Designing and documenting software architecture unit 5
Host-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
Introduction to distributed system
Architectural styles class 1
Architectural design of software
Socio Technical Systems in Software Engineering SE2
HOST AND NETWORK SECURITY by ThesisScientist.com
5. oose design new copy
A MALICIOUS USERS DETECTING MODEL BASED ON FEEDBACK CORRELATIONS
Lectura 2.2 the roleofontologiesinemergnetmiddleware
Ad

Similar to communication in distributed systems (20)

PDF
11 Distributrd Systems and parallel systems_Chapter 2
PPTX
Distributed Computing system
PPT
Chapter 2-Architectures2.ppt
PPT
Chapter 2-Architectures23.ppt
DOCX
DISTRIBUTED SYSTEM.docx
PPTX
Distributed Systems for Data Sciene and Analytics
PPT
3. Distributed System Models ssssssssssssssssss.ppt
PPT
Distributed Systems Architecture in Software Engineering SE11
DOCX
Cloud Storage and Security
PPTX
Distributed computing
PPT
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
PDF
A survey of peer-to-peer content distribution technologies
PPT
Ch12
DOC
Unit-3.doc
DOCX
16 & 2 marks in i unit for PG PAWSN
PPTX
ADITYA BHATIA 28TH FEB2023 to know about.pptx
DOC
Cloud data management
PPT
C-System Models Presentation files .ppt
PPTX
Distributed Systems.pptx
PDF
METRIC FOR EVALUATING AVAILABILITY OF AN INFORMATION SYSTEM: A QUANTITATIVE A...
11 Distributrd Systems and parallel systems_Chapter 2
Distributed Computing system
Chapter 2-Architectures2.ppt
Chapter 2-Architectures23.ppt
DISTRIBUTED SYSTEM.docx
Distributed Systems for Data Sciene and Analytics
3. Distributed System Models ssssssssssssssssss.ppt
Distributed Systems Architecture in Software Engineering SE11
Cloud Storage and Security
Distributed computing
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
A survey of peer-to-peer content distribution technologies
Ch12
Unit-3.doc
16 & 2 marks in i unit for PG PAWSN
ADITYA BHATIA 28TH FEB2023 to know about.pptx
Cloud data management
C-System Models Presentation files .ppt
Distributed Systems.pptx
METRIC FOR EVALUATING AVAILABILITY OF AN INFORMATION SYSTEM: A QUANTITATIVE A...
Ad

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Introduction to Artificial Intelligence
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Digital Strategies for Manufacturing Companies
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
System and Network Administration Chapter 2
PPTX
CHAPTER 2 - PM Management and IT Context
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How to Migrate SBCGlobal Email to Yahoo Easily
Introduction to Artificial Intelligence
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Reimagine Home Health with the Power of Agentic AI​
PTS Company Brochure 2025 (1).pdf.......
Digital Strategies for Manufacturing Companies
Design an Analysis of Algorithms II-SECS-1021-03
Adobe Illustrator 28.6 Crack My Vision of Vector Design
2025 Textile ERP Trends: SAP, Odoo & Oracle
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
System and Network Administration Chapter 2
CHAPTER 2 - PM Management and IT Context

communication in distributed systems

  • 1. Communication in Distributed Systems By Hussian A.al-kabi Mohammed R.al-rekabe
  • 2. Content ….  Introduction  Communication in Distributed Systems  Architecture of Distributed System  Layered style  object based  data-centered  event-based  Reliability  Communication in groups  Order Communication  Conclusion  References
  • 3. Introduction Distributed computing will be central to advances in a broad range of critical applications, including intelligence information systems, military command and control, air traffic control, electric power grid management, telecommunications, and a vast array of web-based commercial and government applications. Indeed, a massive rollout of such systems is already underway. Yet while impressive capabilities have been easy to develop and demonstrate in small-scale settings, once deployed these systems often stumble badly. Software that runs securely and reliably in small-scale mockups may lose those properties as numbers of users, the size of the network and transaction processing rates all increase. Whereas small networks are well behaved, any sufficiently large network behaves like the public Internet, exhibiting disruptive overloads and routing changes, periods of poor connectivity and throughput instability. Failures rise in frequency simply because the numbers of participating components are larger. A scalable technology must ride out such forms of infrastructure instability
  • 4.  In a distributed system there is no shared memory and thus the whole nature of the communication between processes should be reconsidered. The processes, to communicate, must adhere to rules known as protocols. For distributed systems in a wide area, these protocols often take the form of several layers and each layer has its own goals and rules. Messages are exchanged in various ways, and there are many design options in this regard, an important option is the "remote procedure call. It is also important to consider the possibilities of communication between groups of processes, not only between two processes.
  • 5. ARCHITECTURE of Distributed System  Software Architecture of Distributed System:  It deals with how software components are organised and,  how they work together, i.e., communicate with each other.  Typical software architectures include: • Layered, • object-oriented, • data-centred, • and event-based Software architectures
  • 6. Contd… System Architecture:  placement of machines  placement of software on machines There is no single best architecture:  The best architecture for a particular system depends on the application requirements and the environment.
  • 7. Architectural styles(1/4): Layered style Observation: Layered style is used for client-server system
  • 8. Contd…  Components at layer LNare allowed to call components at underlying layers LN-1,but not the other way around. Database Layer Data Management Layer Applications Layer User Interface Layer Requests Results
  • 9. Architectural styles (2/4): object based Object Object Object Object Object Method Calls Basic idea: Organize into logically different components, and subsequently distribute those components over the various machines. Observation: object-based style for distributed object systems. In essence, each object corresponds to what we have defined as a component and these components are connected through a (remote) procedure call mechanism. component = object connector = RPC or RMI
  • 10. Architectural styles (3/4): data-centered  Main purpose: data access and update  Processes interact by reading and modifying data in some shared repository (active or passive)  Traditional database (passive): responds to requests  Blackboard system (active): system updates clients when information changes.
  • 11. Architectural Styles (4/4): event-based  Processes communicate through event propagation  ‘Publish/Subscribe’ systems • Processes subscribed to events will receive them.  Benefit is, components are loosely coupled;  i.e. they don’t need to explicitly refer to each other.
  • 12. Contd… Figure (a) The event-based architectural style • Communication via event propagation, in dist. Systems communication often in Publish/ Subscribe; e.g., register interest in market info; get email updates •Decouples sender & receiver; asynchronous communication Event-based arch. supports several communication styles: • Publish-subscribe • Broadcast • Point-to-point
  • 13. Contd… Data Centric Architecture; e.g., shared distributed file systems or Web-based distributed systems Combination of data-centered and event based architectures Processes communicate asynchronously Figure (b) The shared data-space architectural style.
  • 15. Client-Server from another perspective A typical client-server application can be decomposed into three logical parts: the interface part, the application logic part, and the data part. Implementations of the client-server architecture vary with regards to how the parts are separated over the client and server roles.
  • 16. VERTICAL DISTRIBUTION (MULTI-TIER) splitting up a server’s functionality over multiple computers Three layers’ of functionality:      User interface Processing/Application logic Data Splitting up the server functionality in this way is beneficial to a system’s scalability as well as its flexibility. Scalability is improved because the processing load on each individual server is reduced, and the whole system can therefore accommodate more users. Logically different components on different machines The vertical distribution, or multi-tier, architecture distributes the traditional server functionality over multiple servers. A client request is sent to the first server. 1 6
  • 18. HORIZONTAL DISTRIBUTION replicating a server’s functionality over multiple computers   In this case, each server machine contains a complete copy of all hosted Web pages and client requests are passed on to the servers in a round robin fashion. The horizontal distribution architecture is generally used to improve scalability (by reducing the load on individual servers) and reliability (by providing redundancy). Logically equivalent components replicated on different machines
  • 19. PEER TO PEER COMMUNICATION ARCHITECTURE   All processes have client and server roles. With the potentially huge number of participating nodes in a peer to peer network, it becomes practically impossible for a node to keep track of all other nodes in the system and the information they offer.
  • 20.  Issues related to reliability of communication; -Ensuring that the message was received on node (s) target (s) -Maintenance of order in the delivery of messages -Flow control to avoid "flooding" the receiving node -Fragmentation of the messages to eliminate limitations on size Maximum messages If the communication system does not guarantee some of these aspects, it must send the application
  • 21.  three choices: - Order FIFO: Messages from one source reach each receiver in the order they are sent. ·There are no guarantees on messages from different issuers -Causal ordering: If the messages sent between two emitting a possible relationship "cause and effect, all group process first receive the message "cause" and then message "effect." - If no connection, no guarantee any delivery order - Definition of "causality" is discussed in "Synchronization" -Total Management:All messages (various sources) sent a group are received in the same order for all items.
  • 22. References [1] J.-M. Andreoli, C. Hankin, and D. Le Me´tayer, Coordination Programming: Mechanisms, Models and Semantics. World Scientific, 1996. [2] F. Arbab and F. Mavaddat, “Coordination Languages and Models,” Proc. Coordination 2002 Conf., Apr. 2002. [3] Abstract State Machines (ASMs), http://www.eecs.umich.edu/ gasm, 2003. [4] AsmL for Microsoft.NET, http://www.research.microsoft.com/ foundations/asml, 2003. [5] M. Barnett and W. Schulte, “Runtime Verification of .NET Contracts,” J. Systems and Software, vol. 65, no. 3, pp. 199-208, 2002. [6] M. Barnett, C. Campbell, W. Schulte, and M. Veanes, “Specification, Simulation and Testing of COM Components Using Abstract State Machines,” Formal Methods and Tools for Computer Science, Proc. Eurocast 2001 Conf., pp. 266-270, Feb. 2001. [7] M. Barnett, W. Grieskamp, Y. Gurevich, W. Schulte, N. Tillmann, and M. Veanes, “Scenario-Oriented Modeling in AsmL and Its Instrumentation for Testing,” Proc. Int’l Conf. Software Eng. (ICSE/ SCESM), 2003. [
  • 23. 8] M. Barnett, W. Grieskamp, L. Nachmanson, W. Schulte, N.Tillmann, and M. Veanes, “Towards a Tool Environment for Model-Based Testing with AsmL,” Proc. Formal Approaches to Software Testing Conf. (FATES 2003), 2004. [9] M. Barnett, L. Nachmanson, and W. Schulte, “Conformance Checking of Components Against Their Non-Deterministic Specifications,” Technical Report MSR-TR-2001-56, Microsoft Research, June 2001. [10] G. Bella and E. Riccobene, “Formal Analysis of the Kerberos Authentication System,” J. Universal Computer Science, vol. 3, no. 12, pp. 1337-1381, 1997. [11] A. Blass and Y. Gurevich, “Abstract State Machines Capture Parallel Algorithms,” ACM Trans. Computational Logic, vol. 4, no. 4, pp. 578-651, Oct. 2003. [12] E. Bo¨rger and R. Sta¨rk, Abstract State Machines: A Method for High- Level System Design and Analysis. Springer, 2003. [13] D. Box, “Code Name Indigo: A Guide to Developing and Running Connected Systems with Indigo,” MSDN Magazine, http://msdn. microsoft.com/msdnmag/, 2003. [14] P. Clements, “A Survey of Architecture Description Languages,” Proc. Eighth Int’l Workshop Software Specification and Design, Mar. 1996. [15] D.E. Comer, Internetworking with TCP/IP, Principles, Protocols, and Architectures. Prentice Hall, 2000. [16] R. Farahbod, U. Gla¨sser, and M. Vajihollahi, “Specification and Validation of the Business Process Execution Language for Web Services,” Technical Report SFU-CMPT-TR-2003-06, Simon Fraser Univ., Sept. 2003. [17] R. Farahbod, U. Gla¨sser, and M. Vajihollahi, “Specification and Validation of the Business Process Execution Language for Web Services,” Proc. ASM Conf. 2004, 2004. [18] Foundations of Software Engineering Group at Microsoft, http:// research.microsoft.com/fse, 2003. [
  • 24. [19] van Renesse, Robbert, Minsky, Yaron, and Hayden, Mark, “A Gossip-Based Failure Detection Service”, in the Proceedings of Middleware '98. England, August 1998. [20] van Renesse, Robbert, and Birman, Kenneth P,“Astrolabe: A Robust and Scalable Technology for Distributed System Monitoring, Management, and Data Mining”, Submitted to ACM TOCS, November 2001 [21] van Renesse, Robbert, and Birman, Kenneth P,Dumitriu, Dan and Vogels, Werner, “Scalable Management and Data Mining Using Astrolabe” in the. Proceedings of the First International Workshop on Peer-to-Peer Systems (IPTPS),. Cambridge, Massachusetts. March 2002. the Proceedings of the International Workshop on Reliable Peer-to-Peer Systems, Osaka, Japan. October 2002. [22] Werner Vogels, Chris Re, Robbert van Renesse and Ken Birman, .”A Collaborative Infrastructure for Scalable and Robust News Delivery”. In the Proceedings of the IEEE Workshop on Resource Sharing in Massively Distributed Systems (RESH'02), Vienna, Austria, July 2002.