Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prof. Orhan Gemikonakli Module Leader: Prof. Leonardo Mostarda Università di Camerino Distributed Web-based systems 1.

Similar presentations


Presentation on theme: "Prof. Orhan Gemikonakli Module Leader: Prof. Leonardo Mostarda Università di Camerino Distributed Web-based systems 1."— Presentation transcript:

1 Prof. Orhan Gemikonakli Module Leader: Prof. Leonardo Mostarda Università di Camerino Distributed Web-based systems 1

2 Last lecture zDistributed file systems yArchitecture yProcesses yCommunication yNaming ySynchronization yConsistency and Replication yFault Tolerance 2

3 Outline zDistributed Web-based systems yArchitecture yProcesses yCommunication yNaming ySynchronization yConsistency and Replication yFault Tolerance Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. 0-13-239227-5 3

4 Learning outcomes zTo understand the basic concepts related to distributed web-based systems zTo describe and discuss yArchitecture yProcesses yCommunication yNaming ySynchronization yConsistency and Replication yFault Tolerance as they apply to distributed web-based systems 4

5 Distributed Web-based systems zWWW – a huge distributed system yMillions of clients and servers yLinked documents zStarted as a project of the European Particle Physics Laboratory (CERN) in Geneva yA hypertext system for sharing documents. zGUIs became available yMosaic z1994: WWW consortium of CERN + MIT yStandardisation, interoperability, enhancing capabilities zFrom a document system to services 5

6 Architecture zTraditional web-based systems yStatic, passive documents yClient-server yUniform Resource Locator (URL) yHyperText Transfer Protocol (HTTP). Browsers yWeb documents: xHyperText Markup Language (HTML) xExtensible Markup Language (XML) xTAGs refer to embedded documents xMultipurpose Internet Mail Exchange (MIME): type of embedded document zWeb services yDocuments are dynamically generated 6

7 Traditional Web-Based Systems zFigure 12-1. The overall organization of a traditional Web site. 7

8 Web Documents zFigure 12-2. Six top-level MIME types and some common subtypes. 8

9 Multitiered Architectures zFigure 12-3. The principle of using server-side Common Gateway Interface (CGI) programs. Performance degradation! 9

10 Architecture: Web Services zMostly client-server architecture zGeneral services to remote processes without a browser zNaming service, weather reporting service, electronic supplier etc. zA directory service storing service descriptions yUniversal Description, Discovery and Integration (UDDI): A standard for the directory service zWeb Services Definition Language (WSDL) yA formal language defining interfaces provide by services zSimple Object Access Protocol (SOAP) ySpecification of how communication takes place for services 10

11 Web Services Fundamentals zFigure 12-4. The principle of a Web service. 11

12 Processes zClients yWeb browser – platform independent xUser interface x|Browser engine – go over a document, select parts of it, activbate hyperlinks etc. xRendering engine – contains all the code for properly displaying the document: Parsing HTML/XML, script interpretation Plug-ins: An extension xWeb Proxy zThe Apache Web Server zServer Clusters 12

13 Processes – Clients (1) zFigure 12-5. The logical components of a Web browser. 13

14 Processes – Clients (2) zFigure 12-6. Using a Web proxy when the browser does not speak FTP. 14

15 The Apache Web Server zPopular: Hosts approx. 70% of websites zCompletely general server zReliable zHighly configurable zExtensible zIndependent of specific platforms yApache Portable Runtime (APR): runtime environment – a library that provides platform independent interface for file handling, networking, locking, threads, etc. zHook: Placeholder for a group of specific functions yE.g. transfer URL to a local filename 15

16 The Apache Web Server zFigure 12-7. The general organization of the Apache Web server. 16

17 Web Server Clusters (1) zFigure 12-8. The principle of using a server cluster in combination with a front end to implement a Web service. 17

18 Web Server Clusters (2) zFigure 12-9. A scalable content-aware cluster of Web servers. 18

19 Communication zHyperText Transfer Protocol (HTTP) yA simple client-server protocol yStateless yConnections xPersistent: client sets up e new connection for each request, server responds, connection breaks down xnon-persistent: Several requests are responded to before breaking down the connection zSimple Object Access Protocol (SOAP) 19

20 HTTP Connections (1) zFigure 12-10. (a) Using nonpersistent connections. 20

21 HTTP Connections (2) zFigure 12-10. (b) Using persistent connections. 21

22 HTTP Methods zFigure 12-11. Operations supported by HTTP. 22

23 HTTP Messages (1) zFigure 12-12. (a) HTTP request message. 23

24 HTTP Messages (2) zFigure 12-12. (b) HTTP response message. 24

25 HTTP Messages (3) zFigure 12-13. Some HTTP message headers. 25

26 HTTP Messages (4) zFigure 12-13. Some HTTP message headers. 26

27 Simple Object Access Protocol zThe standard for communicating with web services zCommunications are implemented through HTTP zMessages are largely based on XML 27

28 Simple Object Access Protocol zFigure 12-14. An example of an XML-based SOAP message. 28

29 Naming (1) zUniform Resource Identifier (URI): Names used to refer to documents zUniform Resource Locator (URL): A URI that identifies a document yLocation-dependent reference to a document yContain information on how and where to access a document xhttp, ftp, telnet – part of URL zUniform Resource Name (URN): A true identifier of a document. yGlobally unique yLocation independent yPersistent 29

30 Naming (2) zFigure 12-15. Often-used structures for URLs. (a) Using only a DNS name. (b) Combining a DNS name with a port number. (c) Combining an IP address with a port number. 30

31 Naming (3) zFigure 12-16. Examples of URIs. 31

32 Synchronisation zNot much of an issue yStrict client-server organisation. No inter- client or inter-server exchanges yA read mostly system xUpdates are done by single person/entity xNo write-write conflicts. 32

33 Consistency and Replication zAccess to web documents should meet stringent performance and availability requirements zTo achieve this yCaching web content xWeb proxy caching yReplicating web content zOld systems – supporting static content zNew requirements – support dynamic content 33

34 Web proxy caching zOccurs at two locations yClient: Browsers have a caching facility. Configurable yWeb proxy at client side. Can implement a shared cache. zHierarchical caches yCountry/regional level xReduce network traffic xMay cause latency (compared to non-hierarchical caches) zCooperative caching / distributed caching yIn case of a hit, neighbouring ones are consulted yServes smaller number of clients yUsually on the same LAN 34

35 Web Proxy Caching zFigure 12-17. The principle of cooperative caching. 35

36 Web Proxy Caching 36

37 Replication of Web Hosting Systems zWeb sites yMaintaining the content yMaking sure that the site is easily and continuously accessible zContent Delivery Networks (CDN) yAct as web hosting service providing an infrastructure for distributing and replicating the web documents of multiole sites across the internet. yBecause of the size the hosted documents should be automatically distributed and replicated – self managing system. yA large scale CDN can be organised as a feedback control loop 37

38 Replication of Web Hosting Systems zThree aspects of replication in web hosting system yMetric estimation yAdaptation triggering yTaking appropriate measures xReplica placement xConsistency enforcement xClient request routing 38

39 Replication for Web Hosting Systems zFigure 12-18. The general organization of a CDN as a feedback-control system (adapted from Sivasubramanian et al., 2004b). 39

40 Replication of Web Hosting Systems zMetric estimation yLatency metrics xE.g. time taken to fetch a document – difficult to estimate delasy between a client and a server xMeasure available bandwidth between two nodes itself ySpatial metrics xNumber of hops between two notes xNot practical in a multi route system yNetwork usage metrics xConsumed bandwidth – read, update, replicate yConsistency metrics – tight/loose consistency yFinancial metrics – business case 40

41 Adaptation Triggering zFigure 12-19. One normal and three different access patterns reflecting flash-crowd behavior (adapted from Baryshnikov et al., 2005). 41

42 Adjustment measures zReplica placement yAlready discussed zConsistency enforcement yAlready discussed zClient request routing/redirecting yHTML documents have embedded documents xEmbedded documents hardly change cache or replicate then fetch cached copies 42

43 Adjustment Measures zFigure 12-20. The principal working of the Akamai CDN. 43

44 Replication of Web Applications (1) zFigure 12-21. Alternatives for caching and replication with Web applications. 44

45 Replication of Web Applications (2) 45

46 Fault tolerance zClient caching zServer replication zHigh availability provided through redundancy zNo new/special techniques employed 46

47 Security (1) zFigure 12-22. The position of TLS in the Internet protocol stack. 47

48 Security (2) zFigure 12-23. TLS with mutual authentication. 48

49 Summary zDistributed web-based systems yArchitecture yProcesses yCommunication yNaming ySynchronization yConsistency and Replication yFault Tolerance 49

50 Next Lecture zDistributed Coordination-based Systems yArchitecture yProcesses yCommunication yNaming ySynchronization yConsistency and Replication yFault Tolerance 50


Download ppt "Prof. Orhan Gemikonakli Module Leader: Prof. Leonardo Mostarda Università di Camerino Distributed Web-based systems 1."

Similar presentations


Ads by Google