250 likes | 262 Views
Explore the world of distributed systems, TCP/IP protocol, IP addressing, client/server computing, middleware technology, and more. Learn about protocols, headers, IPv6, client object server stub, and middleware concepts. Discover evolution, enabling technology, and the future of distributed computing.
E N D
Distributed Systems B.Ramamurthy CSE421 Chapters 13,14 B.Ramamurthy
Need 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. B.Ramamurthy
TCP/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) B.Ramamurthy
TCP/IP concepts (figure) B.Ramamurthy
TCP/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. B.Ramamurthy
TCP and UDP • A simpler version of TCP. Alternative transport level protocol. • SNMP (Simple Network Management Protocol) makes use of UDP. • Used in transaction-oriented applications. B.Ramamurthy
IPv4 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. B.Ramamurthy
Client/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. B.Ramamurthy
Evolution of Computing Systems BR Enterprise Systems Distributed Systems Client Centralized Systems /Server Systems B.Ramamurthy
Enabling Technology BR server server client client “desktop” middleware middleware “network”
Middleware • 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 B.Ramamurthy
Proxy • 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. B.Ramamurthy
Middleware (contd.) BR Middleware DB Connectivity- Based Example: EDA/SQL Object-Oriented Example: CORBA Iona’s OrbixWeb Dist. Trans. Proc. Monitors Ex: Encina Publish/ Subscribe Example: listserves Message-Oriented (MOM) Example: QMP RPC-based Example: DCE B.Ramamurthy
Client Object Server Stub Client Stub ORB Implementation 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. B.Ramamurthy
Client Object Server Stub Client Stub ORB Implementation Details (contd.) Performance Manager Wrapper or any other added service B.Ramamurthy
Sample 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
End-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 B.Ramamurthy
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. Issues in Distributed Systems B.Ramamurthy
Traditional 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. B.Ramamurthy
Next 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. B.Ramamurthy
Jini’s 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. B.Ramamurthy
Jini 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. B.Ramamurthy
Discovery 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. B.Ramamurthy
Leasing • 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, 1000*60*5); // 5 minute lease renewal • Third party may take care of leasing. B.Ramamurthy
Summary • 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) B.Ramamurthy