1 / 9

Client server computing

Client server computing. Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.4. Persistent systems. Traditional software: Data stored outside of program Persistent systems : Data part of program Execution never stops

lucilla
Download Presentation

Client server computing

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. Client server computing Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.4

  2. Persistent systems Traditional software: Data stored outside of program Persistent systems: Data part of program • Execution never stops • Transaction systems Program Program Client server computing

  3. Development of persistent languages 1. Data: Transient data: For life of one execution Persistent data: Exists across executions 2. Need a mechanism to indicate an object is persistent • approach is to assume all data are transient and indicate which objects are persistent 3. Need a mechanism to address a persistent object • The language can develop its own model of persistent storage 4. Need to synchronize simultaneous access to an individual persistent object • Use of semaphores 5. Need to check type compatibility of persistent objects • Because of the multiple programs that access persistent data, name equivalence is difficult to use, structural equivalence is the preferred method in persistent languages. Client server computing

  4. Client-server computing Evolution of computer technology: 1960s: Standalone mainframes. As machine speed increased, use of multiprogramming and time sharing 1970s: Development of less expensive personal computers 1980s: As personal computers evolved, need for centralized resources to collect and store data (e.g., to corporate database) • Need for local area networks (LANs) • Development of the ARPANET and Internet • Need for communication protocols between computers • Need for computing models to adapt to this 1990s: Interconnection and globalization of computing • The World wide web and global access for all Client server computing

  5. Loosely coupled systems Each processor has its own memory and disk storage Communication lines to other processors to transfer information • Leads to millisecond times to access data • Synchronization harder - Machine communicating with may not be accessible on network because of a variety of reasons. Systems developed on such architectures are called distributed systems Client server computing

  6. Distributed systems Distributed systems can be • centralized, where a single processor does the scheduling and informs the other machines as to the tasks to execute When completed, the assigned processor will indicate that it is ready to do another task • distributed or peer-to-peer, where each machine is an equal and the process of scheduling is spread among all of the machines - one processor broadcasts a message to all the processors, and an inactive processor could respond with the message “I'll do it.” - Alternatively, each machine in the network will individually invoke a task on a specified machine elsewhere in the network. In this way, work gradually gets propagated around the network Client server computing

  7. Client-server mediator architecture Client server computing

  8. Client-server mediator architecture Client machine: • Interacts with user • Has protocol to communicate with server Server: • Decides where data is located • Accesses data • Mediator is software that uses encoded knowledge about sets of data to create information for a higher class of application. • Issues: • May be communicating with multiple clients simultaneously Need to keep each such transaction separate Multiple local address spaces in server Client server computing

  9. Impact on language design Lack of a global data store for the program. Both the client and server only have limited access to the total information content of the program. Programs need to be divided into separate pieces to effectively compute an answer (e.g., tasks). The Remote Procedure Call (RPC)is another communication method. An RPC syntactically looks like a subprogram call except that the operating system will enact a program possibly on another processor. RPCs are related to message communication and often are implemented as a send-receive message strategy client sends an RPC message to a server server waits on a receive for the message then responds back to the client in a similar manner. Client server computing

More Related