Contests Contests Introduction to DS Introduction to DS - - PDF document

contests contests
SMART_READER_LITE
LIVE PREVIEW

Contests Contests Introduction to DS Introduction to DS - - PDF document

Contests Contests Introduction to DS Introduction to DS Distribuerade system - VT2001 Distribuerade system - VT2001 Schedule Schedule Litterature Litterature Laboration Laboration Jerry Eriksson Jerry Eriksson Defining DS


slide-1
SLIDE 1

1

Distribuerade system - VT2001 Distribuerade system - VT2001

Jerry Eriksson Jerry Eriksson

Contests Contests

ä Introduction to DS

Introduction to DS

ä Schedule

Schedule

ä Litterature

Litterature

ä Laboration

Laboration

Defining DS Defining DS

ä Network computers that communicate and

Network computers that communicate and coordinate their actions only by passing coordinate their actions only by passing messages messages

ä Consequences

Consequences

ä Concurrency

Concurrency

ä No global clock

No global clock

ä Independent failure

Independent failure

Examples of DS; Internet Examples of DS; Internet

intranet ISP desktop computer: backbone satellite link server:

  • network link:
  • Intranet

Intranet

the rest of email server Web server

Desktop computers

File server router/firewall print and other servers

  • ther servers

print Local area network email server the Internet

Mobile computing Mobile computing

Laptop Mobile Printer Camera Internet Host intranet Home intranet WAP Wireless LAN phone gateway Host site

slide-2
SLIDE 2

2

Litterature Litterature

ä Distributed systems;concepts and design

Distributed systems;concepts and design

ä Secrets and lies

Secrets and lies

ä Some (just a few) articles

Some (just a few) articles

Schedule Schedule

ä Foundations

Foundations

ä Middleware

Middleware

ä Distributed algorithms

Distributed algorithms

ä Shared data

Shared data

ä Multimedia system

Multimedia system

ä Focus on

Focus on

ä security

security

ä programming

programming

ä algorithms

algorithms

ä Start to work at once;

Start to work at once; This is a D-cource !!! This is a D-cource !!!

Laboration Laboration

ä Only one lab. Rather big.

Only one lab. Rather big.

ä Groups of three.

Groups of three.

ä Requirement specification (High level)

Requirement specification (High level)

ä Up to you to design, implement and test.

Up to you to design, implement and test.

ä Weekly report of progess.

Weekly report of progess.

ä A lot of hard work, I guess. Hopefully, most

A lot of hard work, I guess. Hopefully, most valueable when applying for job. valueable when applying for job.

People People

ä Jerry Eriksson

Jerry Eriksson

ä Jonny Pettersson

Jonny Pettersson

ä Amanuens

Amanuens

ä Erik Lindström, guest lecturer

Erik Lindström, guest lecturer

My lectures My lectures

ä Follow the book structure

Follow the book structure

ä self-study fully possible

self-study fully possible

ä (Not true for multimedia)

(Not true for multimedia)

ä Today chapter 1-3

Today chapter 1-3

Resource sharing; the web Resource sharing; the web

Internet Browsers Web servers www.google.com www.cdk3.net www.w3c.org Protocols Activity.html http://www.w3c.org/Protocols/Activity.html http://www.google.comlsearch?q=kindberg http://www.cdk3.net/ File system of www.w3c.org

slide-3
SLIDE 3

3

Challenges Challenges

ä Heterogeneity

Heterogeneity

ä Opennes

Opennes

ä Security

Security

ä Scalability

Scalability

ä Faliure handling

Faliure handling

ä Concurrency

Concurrency

ä Transparency

Transparency

Heterogeneity Heterogeneity

ä applies to

applies to

ä networks

networks

ä computer hardware

computer hardware

ä operating systems

  • perating systems

ä programming

programming languages languages

ä implementations by

implementations by different developers different developers

ä Middleware - software

Middleware - software layer that provides layer that provides programming programming abstraction abstraction

ä Mobile code - code

Mobile code - code that be sent from one that be sent from one computer to another. computer to another. Java applets Java applets

Openness Openness

ä Extended and re-

Extended and re- implemented implemented

ä Very important in the

Very important in the industry industry

ä RFC (requests for

RFC (requests for comments) comments)

ä You’ll use it in your

You’ll use it in your

  • work. In this course.
  • work. In this course.

And probably in the And probably in the rest of your life rest of your life

ä Open systems;

Open systems;

ä Key interafces are

Key interafces are published published

ä Open distributed

Open distributed systems can be systems can be

ä constructed from

constructed from hetergenous hardware hetergenous hardware and software. and software.

Scalability Scalability

ä Controlling the cost of physical resourses

Controlling the cost of physical resourses

ä Controlling the performance loss

Controlling the performance loss

ä Preventing software resourse running out

Preventing software resourse running out

ä Avoiding performance bottlenecks

Avoiding performance bottlenecks

Date Computers Web servers 1979, Dec. 188 1989, July 130,000 1999, July 56,218,000 5,560,866

Scalability Scalability

Date Computers Web servers Percentage 1993, July 1,776,000 130 0.008 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12

Failure handling Failure handling

ä Techniques for dealing with failures

Techniques for dealing with failures

ä Detecting failures

Detecting failures

ä Masking failures

Masking failures

ä Tolerating failures

Tolerating failures

ä Recovery from failures

Recovery from failures

ä Redundancy

Redundancy

slide-4
SLIDE 4

4

Transparency Transparency

Access transparency: enables local and remote resources to be accessed using identical

  • perations.

Location transparency: enables resources to be accessed without knowledge of their location. Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency: allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.

  • 2. System Models
  • 2. System Models

ä Architectural models

Architectural models

ä Concerned with the

Concerned with the placements of its parts placements of its parts and the relationships and the relationships between them. between them.

ä Examples

Examples

ä Client-server

Client-server

ä peer-peer

peer-peer ä Fundamental models

Fundamental models

ä Concerned with mode

Concerned with mode formal description of formal description of the properties that are the properties that are common in architetural common in architetural models models

ä Models

Models

ä Interaction model

Interaction model

ä Failure model

Failure model

ä Security model

Security model

Software and hardware layers Software and hardware layers

Applications, services Computer and network hardware Platform Operating system Middleware

Platform and middleware Platform and middleware

ä Platform

Platform

ä Middleware

Middleware

Client-server Client-server

Server Client Client invocation result Server invocation result Process: Key: Computer:

Multiple - servers Multiple - servers

Server Server Server Service Client Client

slide-5
SLIDE 5

5

Web proxy server Web proxy server

Client Proxy Web server Web server server Client

Peer processes Peer processes

Coordination Application code Coordination Application code Coordination Application code

Mobile code - web applets Mobile code - web applets

a) client request results in the downloading of applet code Web server Client Web server Applet Applet code Client b) client interacts with the applet

Thin clients Thin clients

Thin Client Application Process Network computer or PC Compute server network

Mobile devices and spontaneous networking Mobile devices and spontaneous networking

Internet gateway PDA service Music service service Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network

Key features and other issues Key features and other issues

ä Easy connection to a local network

Easy connection to a local network

ä Easy integration with local services

Easy integration with local services

ä Other issues

Other issues

ä Limited connectivity

Limited connectivity

ä Security and privacy

Security and privacy

ä Discovery services

Discovery services

ä Registration. Lookup services

  • Registration. Lookup services
slide-6
SLIDE 6

6

Desgn requirements for distributed architectures Desgn requirements for distributed architectures

ä Performance issues

Performance issues

ä Quality-of-service

Quality-of-service

ä Use-of-caching and replication

Use-of-caching and replication

ä Depedandability issues

Depedandability issues

ä Fault tolerance

Fault tolerance

ä Security

Security

Fundamental models Fundamental models

ä Questions

Questions

ä Main entities

Main entities

ä how do they interact?

how do they interact?

ä behaviour?

behaviour?

ä Purpose

Purpose

ä Make all relevant

Make all relevant assumtions explicit assumtions explicit

ä Make generalization

Make generalization

ä Interaction

Interaction

ä Failure

Failure

ä Security

Security

Interaction model Interaction model

ä Two significant factor affecting intercation

Two significant factor affecting intercation

ä communication performance is often limiting

communication performance is often limiting characteristic. characteristic.

ä it is impossimble to maintain a single notion of

it is impossimble to maintain a single notion of time. time.

Performance of communication channels Performance of communication channels

ä Latency

Latency

ä bandwidth

bandwidth

ä jitter

jitter

Event ordering Event ordering

send receive send receive m1 m

2

2 1 3 4 X Y Z Physical time A m3 receive receive send receive receive receive t1 t2 t3 receive receive m2 m1

Communication omission failures Communication omission failures

process p process q Communication channel

send

Outgoing message buffer Incoming message buffer

receive m

slide-7
SLIDE 7

7

Omission and arbitrary failures Omission and arbitrary failures

Class of failure Affects Description Fail-stop Process Process halts and remains halted. Other processes may detect this state. Crash Process Process halts and remains halted. Other processes may not be able to detect this state. Omission Channel A message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omission Process A process completes a send, but the message is not put in its outgoing message buffer. Receive-omissionProcess A message is put in a process’s incoming message buffer, but that process does not receive it. Arbitrary (Byzantine) Process or channel Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step.

Timing failures Timing failures

Class of Failure Affects Description Clock Process Process’s local clock exceeds the bounds on its rate of drift from real time. Performance Process Process exceeds the bounds on the interval between two steps. Performance Channel A message’s transmission takes longer than the stated bound.

Reliability of one-to-one communication Reliability of one-to-one communication

ä Validity

Validity

ä integrity

integrity

ä Threats

Threats

ä Retransmitting

Retransmitting

ä Malicious users

Malicious users

Security models; protecting

  • bjects

Security models; protecting

  • bjects

Network invocation result Client Server Principal (user) Principal (server) Object Access rights

The enenmy The enenmy

ä Threats to processes

Threats to processes

ä Threats to communication channels

Threats to communication channels

Communication channel Copy of

m

Process p Process q

m

The enemy

m’

Defeating security threats Defeating security threats

ä Cryptography and shared secrets

Cryptography and shared secrets

ä Authentification

Authentification

ä Secure channels

Secure channels

Principal A Secure channel Process p Process q Principal B