1 / 25

Distributed Systems

Distributed Systems. B.Ramamurthy CSE421 Chapters 13,14. 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)

munizm
Download Presentation

Distributed Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Systems B.Ramamurthy CSE421 Chapters 13,14 B.Ramamurthy

  2. 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

  3. 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

  4. TCP/IP concepts (figure) B.Ramamurthy

  5. 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

  6. 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

  7. 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

  8. 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

  9. Evolution of Computing Systems BR Enterprise Systems Distributed Systems Client Centralized Systems /Server Systems B.Ramamurthy

  10. Enabling Technology BR server server client client “desktop” middleware middleware “network”

  11. 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

  12. 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

  13. 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

  14. 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

  15. Client Object Server Stub Client Stub ORB Implementation Details (contd.) Performance Manager Wrapper or any other added service B.Ramamurthy

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

More Related