inf 123 sw arch, dist sys & interop lecture 3 prof. crista lopes

41
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 3 Prof. Crista Lopes

Post on 19-Dec-2015

226 views

Category:

Documents


1 download

TRANSCRIPT

INF 123 SW ARCH, DIST SYS & INTEROP

LECTURE 3

Prof. Crista Lopes

Objectives

Distributed Systems recap Computer networks history competency OSI model competency TCP competency

Recap

Definition: Architecture

“Set of principal design decisions” “Design decision” implies design options Not all design decisions are architectural in

nature “principal” depends on

Goals Perspectives

Design decisions may change over time Architecture may change over time

Two fundamental points Every system has an architecture Every system has at least one architect

“Architecture” in software systems Software architecture: set of principal design decisions

regarding the software itself System architecture: set of principal design decisions

regarding the system’s concepts and operation Deployment architecture: set of principal design

decisions regarding the mapping between software and hardware

Testing architecture: set of principal design decisions regarding the testing procedures and tools

Usability architecture: set of principal design decisions regarding the user experience

Usability Architecture:The VW operators perspective

Simulator(OpenSim.exe)

Configuration

(OpenSim.ini)ROBUSTServices

(OpenSim.Server.exe)

Configuration

(OpenSim.Server.ini)

Client(Hippo,

etc.)

Client(Hippo,

etc.)…

DB

Deployment Architecture(s)

Simulator

DBStandalone

Simulator

DBROBUSTServices

Grid

Simulator Simulator Simulator

Simulator

DB

Serverless Grid

Simulator Simulator Simulator

System Architecture

AssetService

Authentication

Service

AvatarService

VoiceService

Gatekeeper

Service

GridService

Grid UserService

InventoryService

LoginService

PresenceService

User AccountsService

User AgentsService

Physics Engine

Script Engine

Scene Manageme

nt

ClientProtocol

Stack

ClientProtocolStacks

ModuleLoader

HTTPHandlers

… …

Service Infrastructure

Simulator

C# HTTP

Server

LibOMV

ODE

log4net

MonoAddins

MySql

SQLite

OpenJPEG

External Dependencies

DB

Service Connectors

Software Architecture

Framework

Framework.Servers

Framework.Servers.HttpServe

r

Region.Framework

Region.Framewor

k.Scenes

Region.Framework.Interfaces

Region.CoreModul

es

Region.Physics.Manager

Region.Physics.

ODE…

Services.Interfaces

S S S…

UML diagram would do fine too

Main Points

Many architectures, not just one! Main focus of this course:

Well-known system architectures Secondary focus:

“Good” software architectures

Lecture 3

Distributed System

“Collection of interacting components hosted on different computers that are connected through a computer network”

Component1

Component n

Hardware

Network OS

Host 3

Component1

Component n

Hardware

Network OS

Host 2

Component1

Component n

Hardware

Network OS

Host 1

Network

Examples

Email FTP Web SETI @ Home MMOs …

Non-Distributed Systems

Notepad Tetris … …

No interaction with other components on the network

These days they are rare…

Consequences of distribution

(Unavoidable) Network latency Vulnerability

(Happens) Resource contention Heterogeneity

All this makes things more complicated but a lot more powerful

Computer Networks

The problem, c. 1958: How to exchange data between the

computer at UCLA to the computer in Berkeley

The problem, c. 1968: How to exchange data between a computer

at UCLA and the 10 others computers out there

The problem, c. 1978: How to exchange data between all the

computers that were popping up everywhere

Early Computer Comms

Acoustic modems Point2Point (<3 acousticmodems) Circuit

switchingnetworks

ARPANET

Precursor of the Internet First packet-switching network First successful operation in 1969, 4

nodes

htt

p:/

/ww

w.o

pte

.org

/maps/

The Internet, c. 2005

The Origins of the Internet

Heterogeneous computers Decentralized control Many interested players

OSI Model

“Open Systems Interconnect”, c.1977 An architecture for engineering the

nodes of large-scale computer networks, including the Internet Layered architecture

Emerged from experiences with ARPANET

OSI ModelIm

age c

ourt

esy

of

The A

bdus

Sala

m

Inte

rnati

onal C

entr

e f

or

Theore

tica

l Ph

ysi

cs

Physical Layer

This layer conveys the bit stream - electrical impulse, light or radio signal -- through the network at the electrical and mechanical level. It provides the hardware means of sending and receiving data on a carrier, including defining cables, cards and physical aspects.

Data Link Layer

At this layer, data packets are encoded and decoded into bits. It furnishes transmission protocol knowledge and management and handles errors in the physical layer, flow control and frame synchronizationThe data link layer is divided into two sub layers: The Media Access Control (MAC) layer and the Logical Link Control (LLC) layer. The MAC sub layer controls how a computer on the network gains access to the data and permission to transmit it. The LLC layer controls frame synchronization, flow control and error checking.

Network Layer

This layer provides switching and routing technologies, creating logical paths, known as virtual circuits, for transmitting data from node to node. Routing and forwarding are functions of this layer, as well as addressing, internetworking, error handling, congestion control and packet sequencing.

Transport Layer

This layer provides transparent transfer of data between end systems, or hosts, and is responsible for end-to-end error recovery and flow control. It ensures complete data transfer.

Session Layer

This layer establishes, manages and terminates connections between applications. The session layer sets up, coordinates, and terminates conversations, exchanges, and dialogues between the applications at each end. It deals with session and connection coordination.

Presentation Layer

This layer provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa. The presentation layer works to transform data into the form that the application layer can accept. This layer formats and encrypts data to be sent across a network, providing freedom from compatibility problems. It is sometimes called the syntax layer.

Application Layer

This layer supports application and end-user processes. Communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified. Everything at this layer is application-specific. This layer provides application services for file transfers, e-mail, and other network software services. Telnet and FTP are examples.

The shape

Data size

OSI Model in Action

Your laptop

DBH wirelessrouter

UCI routers Google routers

Google server

In reality

Boundaries are fuzzy

Another shape of the Internet

Network LayerTransport Layer

Diversity

Diversity

This course

Transport Layer

Two dominant protocols Transmission Control Protocol (TCP) User Datagram Protocol (UDP)

TCP

Conceived c. 1974, Vint Cerf & Bob Kahn Connection-oriented Guarantees delivery of a data stream

sent from one host to another without duplication or losing data. Reliability over performance Not particularly suitable for real-time

applications such as Voice over IP or RT gaming

Protocol upon which the Web (HTTP) operates

TCP Header

Ports vs. IP Addresses

Component1

Component n

Hardware

Network OS

Host 3

Component1

Component n

Hardware

Network OS

Host 2

Component1

Component n

Hardware

Network OS

Host 1

Network

Ports

IP Addresses

TCP main idea

Large data

Component1

Hardware

Network OS

Host 1

Componenta

Hardware

Network OS

Host 2

TCP main idea

Large data

Host 1 Host 2

ListenConnect Packet 1

Ack1

If packets don’t get ack’ed within a period of time, Host 1 resends them