Title: Distributed Systems
1Distributed Systems
- B.Ramamurthy
- CSE421
- Chapters 13,14
2Need for Protocols and Standardization
- Consider a systems of communicating systems.
- For example, to transfer a file
- 1. Establish connection and identify destination.
- 2. Destination must be prepared to received data
(ack) - 3. File formats must be compatible or must be
translated. - Need a clear protocol or a set of rules (how to
do?) syntax, semantics and timing.
3TCP/IP Protocol
- TCP (Transmission Control Protocol) , IP
(Internet Protocol) combination - Communication task in TCP/IP can be broken down
into five layers - Application Layer (application/port)
- Host-to-host layer (reliability)
- Internet layer (address/routing)
- Network access layer(access-method)
- Physical layer (medium)
4TCP/IP concepts (figure)
5Physical Layer
- Interface between a data transmission medium
device and a transmission medium or network. - Specifies characteristics of transmission medium,
nature of signals, data rate etc.
6Network Access Layer
- Concerned with the exchange of data between an
end system and the network. - Address of destination, services such a priority,
mode of transmission packet or circuit
switching, ethernet or token ring? - Access to and routing across network.
- Example Internet Protocol in the end systems
and routers.
7Host to Host Protocol
- Reliable data exchange and order of delivery are
some of the functionality of this layer - Defined in Transmission Control Protocol (TCP).
8Application Layer
- Support logic for applications (services).
- For example file transfer (ftp), host access
(telnet protocol), email service. - We can also go one more layer Web layer with
http protocol.
9Operation of TCP/IP
- Total communication facility consists of multiple
networks, the constituent networks are called
subnets. - IP is implemented in all end systems and routers.
- TCP is implemented only in end systems.
10TCP/IP Headers
- TCP header destination port, sequence number,
checksum. - IP header network address , host address for
routing (32 bits in IPv4) - Network Access Information token, priority etc.
11User Datagram Protocol (UDP)
- A simpler version of TCP. Alternative transport
level protocol. - SNMP (Simple Network Management Protocol) makes
use of UDP. - Used in transaction-oriented applications.
12IPv4 and IPv6
- Explosion in internet usage has lead to
development of v6 standard IP. - 128 bits instead of 32 bits IP address.
- IETF (Internet Engineering Task Force)
- Even before the migration to IPv6 we are running
out of address space.
13Client/Server Computing
- Any application in which requestor of action is
on one system and the supplier of action is
potentially on another. - Traditionally for data servers database
applications, query processing, and transactions. - Current focus is on application servers.
- Fat client or thin client approaches.
14Evolution of Computing Systems
BR
Enterprise Systems
Distributed Systems
Client
Centralized Systems
/Server Systems
15Enabling Technology
BR
server
server
client
client
desktop
middleware
middleware
network
16Middleware
- Services, Data and application, application logic
(optimization, load balancing, interoperability,
business logic etc.) - Location independence (remote access and local
access appears same to an application) - Standardized interfaces
- Example CORBA, RMI, MOM
17Proxy
- Is a representative of a service.
- All the services are registered in a registry.
- A call to a service, say function4(x,y), is
directed to the proxy. - If it is local, parameters are passed and
function is computed locally. - If the function is remote, parameters are
marshalled to remote location, result computed is
returned to the caller.
18Middleware (contd.)
BR
Middleware
DB Connectivity- Based Example EDA/SQL
Object-Oriented Example CORBA Ionas OrbixWeb
Dist. Trans. Proc. Monitors Ex Encina
Publish/ Subscribe Example listserves
Message-Oriented (MOM) Example QMP
RPC-based Example DCE
19Implementation Details (OrbixWeb)
proxy
Conventional Access to the services provided by
an Object
ORB (Object-oriented middleware) Object
Request Broker ORB mediates transfer between
client program and server object.
20Implementation Details (contd.)
Performance Manager Wrapper or any other added
service
21Sample Operation
Server
Client
M
Network
M
invocation
0
1
2
3
4
execution
5
6
7
M - middleware
Adapted from Quality of Service for Objects,
by Zinky et al
22End-End Quality of Service (QoS)
0. Invocation (Request) 1. Marshal
parameters 2. Network Delay 3. Unmarshal
parameters 4. Method Execution 5. Result
marshal 6. Network Delay 7. Result unmarshal
M
Client
M
Server
Network
invocation
0
1
2
3
4
execution
5
6
7
23Issues in Distributed Systems
- Performance improve QoS
- Scalability Addition and deletion of services
and clients handled without deterioration of QoS - Reliability Partial or full failure of a server
should not affect the normal operation of the
system.
24Traditional Solutions
- Redundancy just as it is in a space mission
backups. - Redundancy with some policy Triple modular
redundancy. - Non-standard software/hardware solutions for
reliability and scalability - Problems
- All these are age old solutions with no focus
inter-system/space computation. Redundancy may
not be possible in an enterprise where clients
are growing thinner and thinner.
25Next Generation Systems
- Provide well-defined solutions for the problems
discussed above. - Jini from Java Technology spontaneous
networking, self-healing, devices. - Webspehere from IBM Application servers,
component programming. - Espeak from HP Security for e-commerce,
resources.
26Jinis Solution
- Discovery, Lookup and Leasing Lets analyze how
these three core services of Jini handle the
scalability, and reliability problem. - Discovery and lookup help in scalability.
- Leasing helps reliability.
27Jini Structure
- Basic unit service provided by a hardware or
software device. - Many services form a community.
- Look up service keeps track of available
services. A community may have more than one
service and a lookup service may serve more than
one community.
28Discovery and Lookup
- Process of finding the available look up service.
- Once a look up service has been located a series
of steps in a join protocol is used to
register and publish the services to the
community. - Lookup acts as a name server for the clients who
want to make use of the services.
29Leasing
- Every service listed will renew its availability
periodically. - If a bug, network failure or a server crash
happens, this lease renewal fails and the service
is automatically dropped out of the community.
(self-healing) - lookup.register(myService, 1000605) // 5
minute lease renewal - Third party may take care of leasing.
30Summary
- Here is an analogy
- Traditional distributed systems are like country
roads. - Second generation distributed systems are like
highways with speed, protocols for entry and
exit, quick services, more traffic volume etc. - Look at Jini (for devices), Websphere (for
applications) and espeak (for e-commerce)