chap 01 lecture 1distributed computer lecture
TRANSCRIPT
Chapter 1 Introduction
Dr. Muhammad ShirazDepartment of Computer Science,Federal Urdu University Islamabad
Reference Material
• G. Coulouris, J. Dollimore and T. Kindberg. Distributed Systems: Concepts and Design (4th ed.). Addison Wesley, 2005, ISBN 0--5.
• Distributed Systems. Principles and Paradigms. Andrew S. Tanenbaum. Maarten Van Steen. Prentice Hall, 2nd. Edition,2007.
Definition of a Distributed System (1)
• “A distributed system is a collection of independent computers that appears to its users as a single coherent system”.
• “A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing.”
• “A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing.”
Distributed System
• A distributed system consists of components (i.e., computers) that are autonomous.
• Components range from high-performance mainframe computers to small nodes in sensor networks.
• Users (be they people or programs) think they are dealing with a single system.
Definition of a Distributed System (2)
Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers
each application the same interface.
Resource Sharing
• The main goal of a distributed system is to make it easy for the users (and applications) to access remote resources, and to share them in a controlled and efficient manner.
• Resources Include printers, computers, storage facilities, data, files, Web pages, and networks.
• Sharing resources is economical.
• It helps to collaborate and exchange information.
Transparency
• An important goal of a distributed system is to hide the fact that its processes and resources are physically distributed across multiple computers.
• A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent.
Transparency in a Distributed System
Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995).
Openness
• An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services.
• For example, in computer networks, standard rules govern the format, contents, and meaning of messages sent and received.
• Such rules are formalized in protocols.• An open distributed system should also be extensible.
Openness
• A distributed system should be easy to configure the system out of different components (possibly from different developers).
• It should be easy to add new components or replace existing ones without affecting those components that stay in place.
Scalability
• Scalability is one of the most important design goals for developers of Distributed Systems.
• Scalability of a system can be measured along at least three different dimensions.
– First, a system can be scalable with respect to its size, meaning that we can easily add more users and resources to the system.
– Second, a geographically scalable system is one in which the users and resources may lie far apart.
– Third, a system can be administratively scalable, meaning that it can still be
easy to manage even if it spans many independent administrative organizations.
Scalability Problems
Characteristics of decentralized algorithms:• No machine has complete information about the
system state.• Machines make decisions based only on local
information.• Failure of one machine does not ruin the
algorithm.• There is no implicit assumption that a global
clock exists.
Scaling Techniques (1)
Figure 1-4. The difference between letting (a) a server or (b) a client check forms as they are being filled.
Pitfalls when Developing Distributed Systems
False assumptions made by first time developer:• The network is reliable.• The network is secure.• The network is homogeneous.
• The topology does not change.• Latency is zero.• Bandwidth is infinite.• Transport cost is zero.• There is one administrator.
Transaction Processing Systems (2)
Characteristic properties of transactions:• Atomic: To the outside world, the transaction
happens indivisibly.• Consistent: The transaction does not violate
system invariants.• Isolated: Concurrent transactions do not
interfere with each other.• Durable: Once a transaction commits, the
changes are permanent.
Enterprise Application Integration
Figure 1-11. Middleware as a communication facilitator in enterprise application integration.
Distributed Pervasive Systems
Requirements for pervasive systems
• Embrace contextual changes.
• Encourage ad hoc composition.
• Recognize sharing as the default.
Electronic Health Care Systems (1)
Questions to be addressed for health care systems:• Where and how should monitored data be
stored?• How can we prevent loss of crucial data?• What infrastructure is needed to generate and
propagate alerts?• How can physicians provide online feedback?• How can extreme robustness of the monitoring
system be realized?• What are the security issues and how can the
proper policies be enforced?
Electronic Health Care Systems (2)
Figure 1-12. Monitoring a person in a pervasive electronic health care system, using (a) a local hub or
(b) a continuous wireless connection.
Sensor Networks (1)
Questions concerning sensor networks:
• How do we (dynamically) set up an efficient tree in a sensor network?
• How does aggregation of results take place? Can it be controlled?
• What happens when network links fail?
Sensor Networks (2)
Figure 1-13. Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …