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 ID: 783409
Download The PPT/PDF document "INF 123 SW Arch, dist sys &" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
INF 123 SW Arch, dist sys & interopLecture 3
Prof. Crista Lopes
Slide2ObjectivesDistributed Systems recapComputer networks history competencyOSI model competencyTCP competency
Slide3Recap
Slide4Definition: 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
Slide5“Architecture” in software systemsSoftware 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
Slide6Usability Architecture:The VW operators perspective
Simulator
(
OpenSim.exe
)
Configuration
(
OpenSim.ini
)
ROBUST
Services
(
OpenSim.Server.exe
)
Configuration(OpenSim.Server.ini)
Client
(Hippo, etc.)
Client
(Hippo, etc.)
…
DB
…
Slide7Deployment Architecture(s)
Simulator
DB
Standalone
Simulator
DB
ROBUST
Services
Grid
Simulator
Simulator
Simulator
Simulator
DB
Serverless
Grid
Simulator
Simulator
Simulator
Slide8System Architecture
Asset
Service
Authentication
Service
Avatar
Service
Voice
Service
Gatekeeper
Service
Grid
Service
Grid User
Service
Inventory
Service
Login
Service
Presence
Service
User AccountsService
User AgentsService
Physics Engine
Script Engine
Scene Management
Client
Protocol
Stack
Client
Protocol
Stacks
Module
Loader
HTTP
Handlers
…
…
Service Infrastructure
Simulator
C# HTTP
Server
LibOMV
ODE
log4net
Mono
Addins
MySql
SQLite
Open
JPEG
…
External Dependencies
DB
Service Connectors
Slide9Software Architecture
Framework
Framework.Servers
Framework.Servers
.
HttpServer
Region.
Framework
Region.
Framework.
Scenes
Region.Framework.Interfaces
Region.
CoreModules
Region.
Physics.
Manager
Region.
Physics.ODE
…
Services.Interfaces
S
S
S
…UML diagram w
ould do fine too
Slide10Main PointsMany architectures, not just one!Main focus of this course: Well-known system architecturesSecondary focus:
“Good” software architectures
Slide11Lecture 3
Slide12Distributed 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
Slide13ExamplesEmailFTPWebSETI @ HomeMMOs
…
Slide14Non-Distributed SystemsNotepadTetris……
No interaction with other components on the network
These days they are rare…
Slide15Consequences of distribution(Unavoidable)Network latencyVulnerability(Happens)
Resource contention
Heterogeneity
All this makes things more complicated but a lot more powerful
Slide16Computer NetworksThe 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
Slide17Early Computer CommsAcoustic modemsPoint2Point(
<3 acoustic
modems
)
Circuit
switching
networks
Slide18ARPANETPrecursor of the InternetFirst packet-switching networkFirst successful operation in 1969, 4 nodes
Slide19Slide20http://www.opte.org/maps/The Internet,
c
. 2005
Slide21The Origins of the InternetHeterogeneous computersDecentralized controlMany interested players
Slide22OSI Model“Open Systems Interconnect”, c.1977An architecture for engineering the nodes of large-scale computer networks, including the InternetLayered architecture
Emerged from experiences with ARPANET
Slide23OSI Model
Image courtesy of The
Abdus
Salam
International Centre for Theoretical Physics
Slide24Physical 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.
Slide25Data 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 synchronization
The 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.
Slide26Network 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.
Slide27Transport 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.
Slide28Session 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.
Slide29Presentation 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.
Slide30Application 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.
Slide31The shape
Data size
Slide32OSI Model in Action
Your laptop
DBH wireless
router
UCI routers
Google routers
Google server
Slide33In reality
Boundaries are fuzzy
Slide34Another shape of the Internet
Network Layer
Transport Layer
Diversity
Diversity
Slide35This course
Slide36Transport LayerTwo dominant protocolsTransmission Control Protocol (TCP)User Datagram Protocol (UDP)
Slide37TCPConceived 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
Slide38TCP Header
Slide39Ports 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
Slide40TCP main idea
Large data
Component1
Hardware
Network OS
Host 1
Componenta
Hardware
Network OS
Host
2
Slide41TCP main ideaLarge data
Host 1
Host 2
Listen
Connect
Packet 1
Ack1
…
If packets don’t get
ack’ed
within a period of time, Host 1 resends them