Componets located at networks which communicate and coordinate their actions only by PASSING MESSAGES
1.2 Characterstics
concurrency
lack of global clock
independent failures
1.3 Examples
Internet
network of networks
TCP/IP
Applications
email
file sharing
dns
web
original goal: share resources
web as service
client/server
resources
web pages (HTML)
audio, video, binary, files
techonology
HTML
URL
HTTP
request/response protocol
stateless
MIME
static vs dinamic web
static: web pages
web applications
web 1.0 - web 2.0 - 3.0
web 1.0
webmaster
simple web apps
web 2.0
collaboration
blogs, wikis, tagging
social networks
web 3.0
semantic web
Intranet
mobile and ubiquitous computing
1.4 Goals of D.S.
share resources
Resource?
file
object
component
webcam
1.5 Challenges
Heterogeneity
applications running on different:
networks
hardware
operating systems
programming languages
different people
middleware as a solution
virtual machine approach
Openness
new functionalities
interfaces as a contract
Security
services
autentication
autorization
encription
challenges
denial of service
access not valid
mobile code
scalability
stable while increase
users
process
transactions
Failure handling
detecting failures
masking failures
tolerating failures
recovery from failures
redundancy
concurrency
n clients accessing a common resource on a server
n servers working to solve a same problem
Transparency
access
location
concurrency
replication
failure
mobility
performance
scaling
Question?:
assignment - challenge1
Analyze some service or application running on internet or intranet and to expose/discuss many things present in an distributed system (model, architecture, protocols, etc). i.e. dns, email, file transfer, facebook, twitter, wikipedia, etc. please select one and discuss on this.
1.6 Types of D.S.
Distributed Computing Systems
high-performance computing
subgroups
cluster computing
grid computing
Distributed Information Systems
main architecture: C/S
transaction processing systems
Enterprise App Integration
middleware
RPC
RMI
MOM
Distributed Embedded Systems
home systems
electronic health care systems
sensor networks
Question?
What is the role of middleware in a Distributed System?
2. System Models
2.1 Architectures
1. Software Architecture
4 view
4view
Image from: Software Architecture: An Executive Overview: Paul C. Clements Linda M. Northrop
Logical (conceptual) View
Process View
Development (module) View
Physical View
Distributed Software Architecture
n components, where is located and
how is the interaction
System Architecture
instantion of components
C/S, P2P, Hybrid
Layers in D.S
Applications & Services
Middleware
to mask heterogeneity and to provide a convenient programming model
support the model of D.S.
NOS: Network & OS
HW
Architectural Styles
layered architectures
object-based architectures
data-centered architectures
event-based architectures
System Architectures
Centralized
C/S
request-reply
aplication layering
user or presentation
processing or business logic
data
multitiered architectures
decentralized architectures
P2P
structured vs unstructured P2P
hybrid
edge-server systems
collaborative distributed systems
Client/Server
95% of applications or services in Internet are C/S
server has resources
client requests resources from server
examples: Web Server, Mail Services, DNS
Variants
n tier
heavy and light clients
multiple servers
proxy/cache servers
mobile code
mobile agents
network computers
P2P
BIG PROBLEM: Where are nodes, users, resources?
BIG PROBLEM: Who runs the queries?
horizontal distribution
peers have the resources
Structured P2P
overlay network is built using a determinist procedure.