2 System typesPersonal systems that are not distributed and that are designed to run on a personal computer or workstation.Embedded systems that run on a single processor or on an integrated group of processors.Distributed systems where the system software runs on a loosely integrated group of cooperating processors linked by a network.
3 Distributed system characteristics Resource sharingSharing of hardware and software resources.OpennessUse of equipment and software from different vendors.ConcurrencyConcurrent processing to enhance performance.ScalabilityIncreased throughput by adding new resources.Fault toleranceThe ability to continue in operation after a fault has occurred.
4 Distributed system disadvantages ComplexityTypically, distributed systems are more complex than centralised systems.SecurityMore susceptible to external attack.ManageabilityMore effort required for system management.UnpredictabilityUnpredictable responses depending on the system organisation and network load.
5 Layered application architecture Presentation layerConcerned with presenting the results of a computation to system users and with collecting user inputs.Application processing layerConcerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account, etc.Data management layerConcerned with managing the system databases.
7 Thin and fat clients Thin-client model Fat-client model In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software.Fat-client modelIn this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.
8 Thin and fat clients T hin-client model F at-client Client Server Data managementApplication processingPresentation
9 Thin client modelUsed when legacy systems are migrated to client server architectures.The legacy system acts as a server in its own right with a graphical interface implemented on a client.Used in data-intensive applicationsWeb browsingA major disadvantage is that it places a heavy processing load on both the server and the network.
10 Thin clients Text terminals X windows Traditional Web Browser Client presents text to users, reads input from keyboardX windowsProtocol to exchange desktop window informationProvides for the use of desktop applications that execute on a serverServer required to actual create graphical appearance and transmit to clientVery slow for wide-area networkingTraditional Web BrowserBuilt on text terminal ideaAdds photographic imagesAdds hyperlinksURLs point from one page to anotherDoes not provide complete applications like XWindowsMuch faster than XwindowsAllows Web to work on global scale
11 Xwindows versus Web Browser 1. Server receives user input2. Server performs application processing3. Server puts computes changes required to GUI4. Server sends client GUI changesTraditional Web Browser2. Server loads text and image resources for client3. Server provides a set of instructions for putting resources together (HTML)4. Server sends client resources + instructions
12 Fat client modelMore processing is delegated to the client as the application processing is locally executed.Most suitable for new C/S systems where the capabilities of the client system are known in advance.More complex than a thin client model especially for management. New versions of the application have to be installed on all clients.
13 Fat client examples Online Multiplayer Games Multimedia Players Eclipse IDEMicrosoft Outlook
15 Hybrid Browser Models Server-Side Scripting Instead of loading resources based on client request,Server loads resources based on application processingLow latency at start-up timeProblem: High latency between user events
17 Hybrid Browser Models Java Applets Client downloads complete application on-demandApplication runs inside the browserStrong security, can’t execute machine instructions directlyLow latency between user eventsProblem: High latency at start-up time
19 Three-tier architectures In a three-tier architecture, each of the application architecture layers may execute on a separate processor.Allows for better performance than a thin-client approach and is simpler to manage than a fat-client approach.More opportunities for cachingMove slower components further away from clients to be accessed only when necessaryMiddle-tier can further be splitGives rise to multi-tier architectureClient – Web Server – Application Server – Data ManagementWeb server provides application routing to different applications hosted on different machines
21 New C/S ApproachesThin ClientsAJAXFat ClientsRich Clients
23 AJAX Application processing is still on the server But ... Client can process several events without loading new pagesOriginally every interaction with server required a fresh web page to load
25 Rich Clients Fat Clients with an automatic update feature Application is partitioned into core application and other features through pluginsRequires careful application decompositionIf changes are require to core, user must download whole new versionTakes advantage of dynamic linked librariesModern compilers can linked together separately compiled class at application startupClasses do not need to be compiled together