dr. naglaa soliman e-mail: [email protected] [email protected]...

31
Dr. Naglaa Soliman E-mail: [email protected] om [email protected] Princess Nora Bint Abdulrahman University College of computer and information sciences Networks department Distributed systems (NET 422)

Upload: vanessa-joseph

Post on 12-Jan-2016

244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Dr. Naglaa Soliman

E-mail: [email protected]

[email protected]

Princess Nora Bint Abdulrahman UniversityCollege of computer and information

sciencesNetworks department

Distributed systems (NET 422)Distributed systems (NET 422)

Page 2: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

ContentContent1. Characterization of distributed systems.2. System models.3. Inter-process communication (Internet protocols, external

data representation, client-servereur, group communication…).

4. Distributed objects and remote invocation (RPC, events and notifications, Java, RMI).

5. Distributed file systems (architecture, case study Sun Nfs).6. Name services (concepts, DNS, case study X.5000).7. P2P systems and middleware.8. Time and global state ( synchronization of physical and

logical clocks).9. Coordination and agreement.10. Replication (system model, fault-tolerant services).11. Web services (service description and IDL for web services,

case study: the grid…)

Page 3: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

TextbooksTextbooks

• George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, ‘Distributed Systems. Concepts and Design’, Fifth Edition, 2012.

• Kenneth P.Birman, ‘Reliable Distributed systems: technologies, web services and applications’, Springer

• Andrew S.Tanenbaum, Marteen Van Steen, ‘Distributed Systems: Principles and paradigms’, second edition, 2006.

• Arno Puder, Kay Romer, Frank Pilttofer, ‘Distributed Systems Architecture: a middle approach’, Elsevier, 2006.

Page 4: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Part 1: Characterization of distributed system

Basic definitions

Challenges of distributed systems

Types of distributed systems

Page 5: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

•What is a distributed system?The litterature presents various definitions of what a distributed system is.

Definition 1:A distributed system is a collection of independent computers that appears to its users as a single coherent system.•No assumptions are made concerning the type of computers: mainframe, sensor,…•Computers need to collaborate.•Each computer carries out its actions.

Caracterization of distribued systems

Page 6: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

•Definition 2:A distributed system consists of hardware and software components located in a network of computers that communicate and coordinate their actions only by passing messages.

No shared memory – message-based communication

Characterization of distribued systems

Computer1Computer1

Computer 2Computer 2

Computer 3Computer 3 Computer 4Computer 4

Message1

Message2

Page 7: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Caracterization of distribued systems

Figure 1-1. A distributed system organized as middleware. The middleware layer runs on all machines, and offers a uniform interface to the system

Page 8: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

•Basic terminology:

Program: a code we write to solve any problem.

Process: an instance of a program that is being executed.

Message: used to communicate between processes.

Protocol: a formal description of message format and rules that two processes must follow in order to exchange thoses messages.

Network: the infrastructure that links computers, servers, ..

Component: can be a process or any piece of hardware required to run a process and support communication between processes.

Characterization of distribued systems

Page 9: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

•Why building distributed systems?

1.Support cooperative networking: users that are geographically seperated can work and play together: teleconference, e-mail, file transfer,…

2.Reliability: if a small percentage of machines break, the rest can remain intact and do useful work.

3.Mobility: users can move arround with their laptops.

Problems:

4.Designing and implementing distributed networks may be difficult.

5.The network may lose messages or become overloaded.

6.Security become a great concern for such systems.

Characterization of distribued systems

Page 10: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

•Challenges of distributed systems:

1.Making resources accessible: make it easy for the users to access and share resources (printers, computers, files, web pages, …) in a controlled manner.

2.Transparency: hide the fact that processes and resources are physically distributed across multiple computers.•Access: hide differences in data representation and how a resource is accessed.•Location: hide where a resource is located.•Migration: hide that a resource may move to another location.

Caracterization of distribued systems

Page 11: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

•Challenges of distributed systems:•Replication: hide that a resource is replicated.•Concurrency: hide that a resource may be shared by several users.•Failures: hide the failure and the recovery of a resource.

3.Scalability: a distributed system should operate effectively at many different scales, ranging from a small network to a big one.

4. Openess: determined by the degree to which new resources can be added and made available for use.

Caracterization of distribued systems

Page 12: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Caracterization of distribued systems

Challenge Solution

Transparency Middleware: software layer that provides a programming abstraction as well as masking heterogeneity.

Openess The first step in openness is publishing the documentation of software components and interfaces of the components to make them available to software developers.

Page 13: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Caracterization of distribued systems

Challenge Solution

Concurrency Concurrency can be achieved by standard techniques such as semaphores, which are used in most operating systems.

Failures Techniques for dealing with failures:1-Detecting failuresE.g. Checksums2- Masking failuresE.g. Retransmission of corrupt messages E.g. File redundancy3- Redundancy: at least two different routes between any two routers should be available.

Page 14: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

14

General Examples of Distributed Systems

Internet Intranets Mobile networks

Page 15: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

15

General Examples of Distributed Systems

The Internet The Internet is a vast interconnected

collection of computer networks of many different types.

Multimedia services are available in the Internet enabling users to access audio and video data including music, radio, TV channels, phone, and video conferencing.

(Figure 1)

Page 16: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

16

General Examples of Distributed Systems

intranet

ISP

desktop computer:

backbone

satellite link

server:

%

network link:

%

%

%

Figure 1. A typical portion of the Internet

Page 17: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

17

General Examples of Distributed Systems

Intranet An intranet is a portion of the Internet that

is separately administered and has a boundary that can be configured to enforce local security policies.

(Figure 2)

Page 18: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

18

General Examples of Distributed Systems

Figure 2. A typical Interanet

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

Page 19: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

19

General Examples of Distributed Systems

Mobile networks Technological advances in device

miniatorization and wireless networking have led increasingly to the integration of small and portable computing devices into distributed systems.

These devices include: Laptop computers

Page 20: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

• Types of distributed systems:

1. Distributed computing systems: An important class of distributed systems is the one

used for high performance computing tasks.

The underlying hardware consists of a collection of similar workstations or personnal computers, closely connected by means of high local area network.

Each node runs the same operating system. Cluster computing is used for parallel programming

in which a single program is run on multiple machines.

Characteriation of distributed systems

Cluster computing:

Page 21: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Computer nodes are controlled and accessed by means of a single master node.

Master node: handles the allocation of nodes to a particular parallel program, maintains a batch queue of submitted jobs and provides an interface for users.

Characterization of distribued systems

Management application

Parallel libraries

Local operating system

Components of parallel application

Local operating system

Components of parallel application

Local operating system

High speed network

Master node Computer node Computer node

Page 22: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Master node runs the middleware needed for the execution of programs and management of the clusters.

An important part of this middleware is formed by the library for executing parallel programs.

A characteristic feature of such systems is homogeneity.

High degree of heterogeneity. No assumptions are made concerning hardware,

operating systems, security policies, etc.

Caracterization of distribued systems

Grid computing:

Page 23: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Resources fom different organizations are brought together to allow the collaboration of a group of people.

Much of the software for realizing grid computing evolves around providing access to ressources from different administrative domains.

2. Distributed information systems: Networked application simply consisted of a server

running that application (often including a database and making it available to remote programs).

Example: banking system.

Caracterization of distribued systems

Page 24: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

• Distributed pervasive systems: Previous systems are largely characterized by their

stability: nodes are fixed and have a more or less permanent and high quality connection to a network.

Instability is the default behavior of pervasive systems: devices in these systems are often small, battery powered, mobile, and having only a wireless connection.

General lack of humain administrative control. Devices can be configured by their owners, but

otherwise they need to automatically discover their environment.

Characterization of distribued systems

Page 25: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Distributed Pervasive Systems

• The first two types of systems are characterized by their stability: nodes and network connections are more or less fixed

• This type of system is likely to incorporate small, battery-powered, mobile devices– Home systems– Electronic health care systems – patient monitoring– Sensor networks – data collection, surveillance

Page 26: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Home System

• Built around one or more PCs, but can also include other electronic devices:– Automatic control of lighting, sprinkler

systems, alarm systems, etc.

Page 27: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Electronic Health Care Systems

Figure 1-12. Monitoring a person in a pervasive electronic health care system, using (a) a local hub or (b) a continuous wireless connection.

Page 28: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Sensor Networks

• A collection of geographically distributed nodes consisting of a comm. device, a power source, some kind of sensor, a small processor…

• Purpose: to collectively monitor sensory data (temperature, sound, moisture etc.,) and transmit the data to a base station

• “smart environment” – the nodes may do some rudimentary processing of the data in addition to their communication responsibilities.

Page 29: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Sensor Networks

Figure 1-13. Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

Page 30: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Sensor Networks

Figure 1-13. Organizing a sensor network database, while storing and processing data … or (b) only at the sensors.

Page 31: Dr. Naglaa Soliman E-mail: nagla.soliman2015@gmail.com nagla.soliman2015@gmail.com NFsoliman@pnu.edu.sa Princess Nora Bint Abdulrahman University College

Characterization of distribued systems

How can an operator extract information for a sensor network?

Each sensor database is directly sent to the operator. In this case, sensors do not cooperate. So, network ressources and energy may be wasted.

The administrator can simply issying queries. The answer will be provided through collaboration.

Another solution consists to forward a query to all sensor nodes along a tree.