TL;DR: Introduction to client/server computing model approach to distribution client specialization in client/ server environment server specialization communication systems local area networking TCP/IP and SNA Middleware distributed data management designing distributed database management systems.
Abstract: Introduction to client/server computing model approach to distribution client specialization in client/server environment server specialization communication systems local area networking TCP/IP and SNA Middleware distributed data management designing distributed database management systems data distribution and data replication DBMS architecture and implementation distributed transaction processing systems management data warehouse C/S application development C/S architecture for tomorrow.
TL;DR: In this article, a computer server program is disclosed that can execute object code provided by one or more clients even though the server was not previously programmed to execute specific code, and the server executes the client code without recompiling or re-linking.
Abstract: A computer server program is disclosed that can execute object code provided by one or more clients even though the server was not previously programmed to execute specific code. The server executes the client code without re-compiling or re-linking. Clients provide the server with executable object code along with information about the code that allows the server to register the code object. By manipulating the registration information stored on the server, the clients can make various requests of the server which affect the execution of the code. Using the registration and request functions of the server, clients direct the server when, if, and how often to run object code or parts of object code called functions.
TL;DR: In this article, a client application is mapped into a form which enables the application commands to be recognized by a library of functional calls associated with the server system, and displays the client application in the designated window along with a server GUI.
Abstract: Two or more interconnected computer systems, each having a different operating system. For example, a client system may be running the OS/2 operating system and a second, server computer the AIX system. The server system that allocates display screen space for application windows running on the server system and supports window management. Further, the window management places GUI borders around the application window which allow a user to interact with the client application. The functions in these GUI borders include a menu bar, scroll bar, sizing features, pull down windows, and the like. The client application is mapped into a form which enables the application commands to be recognized by a library of functional calls associated with the server system. The server system, displays the client application in the designated window along with the server GUI. In this manner a user can interact with a client application using the server graphical user interface.
TL;DR: In this paper, a method for executing an application on a compute server of a computer network or other computer system that includes the compute server and at least one client system is described.
Abstract: A method is provided for executing an application on a compute server of a computer network or other computer system that includes the compute server and at least one client system. The client system makes a remote procedure call to the compute server, and the remote procedure call is transported by the computer network or computer system from the client system to the compute server. Execution of the client program that made the remote procedure call is suspended until the compute reserver returns the results of executing the remote procedure call. After the compute server begins processing the remote procedure call it may determine that additional information is needed from the client system to process the remote procedure call. In that case, the compute server initiates a remote procedure callback to the client system to request the required additional information, and that remote procedure callback is transported back to the client system by the computer network. The client system receives and processes the remote procedure callback and returns the requested additional information to the compute server. The compute server can make more than one remote procedure callback to the client system. When the compute server finishes processing the client system's remote procedure call, the results generated by the compute server are sent back to the client system.
TL;DR: A recovery system is described that is implemented for the client-server version of the EXODUS storage manager that supports efficient buffer management policies, allows flexibility in the interaction between clients and the server, and reduces the server load by generating log records at clients.
Abstract: In this paper, we address the correctness and performance issues that arise when implementing logging and crash recovery in a page-server environment. The issues result from two characteristics of page-server systems: 1) the fact that data is modified and cached in client database buffers that are not accessible by the server, and 2) the performance and cost trade-offs that are inherent in a client-server environment. We describe a recovery system that we have implemented for the client-server version of the EXODUS storage manager. The implementation supports efficient buffer management policies, allows flexibility in the interaction between clients and the server, and reduces the server load by generating log records at clients. We also present a preliminary performance analysis of the implementation.
TL;DR: A closed queuing network model of the client-server storage system is used to analyze the performance of the system for various file movement criteria and to study the tradeoffs between recalling a file and accessing it by a distributed file system.
Abstract: The performance analysis of a system in which storage is provided by a file server node on a network of client processors is discussed. The server controls a hierarchy of storage devices, and provides all the necessary file management functions. The clients are large mainframe systems that have their own local storage devices. The movement of files among the various storage levels is managed by a hierarchical storage management system. A closed queuing network model of the client-server storage system is used to analyze the performance of the system for various file movement criteria and to study the tradeoffs between recalling a file and accessing it by a distributed file system. Several network topologies (Ethernet, token ring, channel-to-channel) and their effect on performance are considered. >
TL;DR: In this paper, the authors describe a network video server apparatus and a method for transferring video image data across a computer network serving multiple clients, which consists of two parts, a server and a client.
Abstract: A network video server apparatus and method for transferring video image data across a computer network serving multiple clients. The network server apparatus comprises two parts, a server and a client. The server is run on a computer system containing a video digitizer hardware. Running the server on this computer system makes it possible to distribute video images across an existing network linking several client computer systems. The client provides the user with a means of viewing the images generated by the server through the network, controlling the size and type of image to be sent by the server, controlling the underlying video digitizer hardware, and collecting statistics about the server/client performance. The client software is designed to appear to the users as if they were operating the client software locally. The server and client communicate with each other over two channels: one for control information and another for video data. Data transfer from a server to a client is asynchronous such that the server need not wait for a client to complete its receipt before servicing the next client.
TL;DR: It is argued that there is a need for tools to aid the initial construction and subsequent management of the structure of distributed systems, particularly those related to component binding.
Abstract: Distributed systems are constructed from a set of computational components which are bound together to interact and communicate to achieve some over all objective. In this paper, we examine the issues related to system configuration, particularly those related to component binding. We argue that there is a need for tools to aid the initial construction and subsequent management of the structure of distributed systems.Currently, distributed systems are most commonly structured using a client/server approach. Servers register the service they provide by installing the name and type of the service together with a reference to that service in a distinguished server generally known as a name server. Clients bind to a particular service by looking up the reference in a name server (the reference to which must be well known). Once the client has retrieved the service reference, the service may be directly invoked (although, if the reference is location independent, it may require translation to an address). ANSA[1] is an example of a distributed systems environment which conforms to this paradigm with the extension of providing a more general service than name to reference translation via its Traders. Traders provide the ability to locate services by attribute in addition to simple name lookup.Problems with the client/server approach arise when the systems we wish to construct have a more complex interconnection structure than the simple many-to-one interconnection pattern which the approach directly supports. In particular, where the distributed program is more sensibly viewed as a set of agents with peer-to-peer connections. An example is the way applications may be constructed under Unix from a pipeline of filter processes. Although all reasonable systems allow servers to be the client for other services, the interconnection process becomes tortuous. It is the authors view that as distributed systems mature and become more complex, as servers themselves are realised by distributed multi-agent programs, this problem will become more acute.
TL;DR: Solutions to the problem of performing recovery correctly in shared-disks (SD) and client-server (CS) architectures are presented and a technique for generating monotonically increasing LSNs in SD and CS architectures without using synchronized clocks is presented.
Abstract: Solutions to the problem of performing recovery correctly in shared-disks (SD) and client-server (CS) architectures are presented. In SD, all the disks containing the data bases are shared among multiple instances of the database management system (DBMS). In CS, the server manages the disk version of the data base. The clients, after obtaining database pages from the server, cache them in their buffer pools. Clients perform their updates on the cached pages and produce log records. In write-ahead logging (WAL) systems, a monotonically increasing value called the log sequence number (LSN) is associated with each log record. Every database page contains the LSN of the log record describing the most recent update to that page. This is required for proper recovery after a system failure. A technique for generating monotonically increasing LSNs in SD and CS architectures without using synchronized clocks is presented. >
TL;DR: The paper describes a research prototype that takes a new approach to high performance computing based on network-attached storage, namely advances in networks, storage devices, and I/O controller and server architectures.
Abstract: With the dramatic shift towards distributed computing, and its associated client-server model of computation, storage facilities are now found attached to file servers and distributed throughout the network. The paper discusses the underlying technology trends that are leading to high performance network-based storage, namely advances in networks, storage devices, and I/O controller and server architectures. It describes a research prototype, developed at Berkeley, that takes a new approach to high performance computing based on network-attached storage. >
TL;DR: In this article, the authors present a method and system for memory management of a client-server computing network, including passing client arguments packaged as a high level data structure across a network which automatically frees memory allocated for return arguments by chasing pointers until non-pointer data elements are encountered.
Abstract: A method and system for memory management of a client-server computing network, including passing client arguments packaged as a high level data structure across a network which automatically frees memory allocated for return arguments by chasing pointers until non-pointer data elements are encountered; determining for arguments returned by the network whether any first level data elements are pointers; automatically copying each first level data element that is not a pointer returned by the network to its corresponding memory location within the client argument, and, for first level data elements that are pointers, copying the data structures and data elements defined by the pointers, and zeroing the copied pointers to stop the network from chasing the pointers and to prevent the freeing of data elements and data structures linked to the pointers but not copied for preserving those data elements.
TL;DR: A practical intelligent office model which integrates many applications in order to create an object-oriented work flow model, integrated double imaging and distributed database access, and shows how these mature technologies can be connected by utilizing off-the-shelf open system software and hardware.
Abstract: From the Publisher:
Provides a practical intelligent office model which integrates many applications in order to create an object-oriented work flow model, integrated double imaging and distributed database access. Shows how these mature technologies can be connected by utilizing off-the-shelf open system software and hardware. Features fundamental imaging hardware for document imaging systems including compression boards, FAXboards, scanners, OCR along with integrating basic software concepts such as object orientation, full-text retrieval systems, graphic user interfaces, AI technologies and more.
TL;DR: The various challenges faced in delivering interactive digital video services to desktop computers in local area environments are discussed and the bottlenecks in question are identified and discussed in view of rendering digital video applications economically feasible.
Abstract: The various challenges faced in delivering interactive digital video services to desktop computers in local area environments are discussed. Similar to well-known data applications, most video applications of interest involve sharing digital video information stored in a server through a local area network. Given the unique requirements of video services (large volumes of data, continuous-stream nature of the traffic, and high aggregate bandwidth), supporting such services over existing local area networks and using existing network file servers are severely limited by a number of bottlenecks present in these environments. Following a brief discussion of the unique requirements of video services, the bottlenecks in question are identified and discussed in view of rendering digital video applications economically feasible. >
TL;DR: This book addresses the major transition issues in moving an organization from a host-centred to a client/server system using strategic analysis tools and models and introduces and explains the Five Forces model of business competition.
Abstract: A shift of major strategic importance is occurring in information technology - from host-centred computing to client/server computing This book specifies and analyzes the long-lasting business advantages that can be provided by migrating to a client/server environment Written in an easy-to-understand style that balances technical and tactical information, this book addresses the major transition issues in moving an organization from a host-centred to a client/server system using strategic analysis tools and models It explains how to create the best possible information systems for the company; design products that achieve maximum market share; and design the right client/server solution for maximum flexibility, manoeuverability and modularity The author explains what client/server computing is and how it can maximize a corporation's use of information technology; analyzes the major issues in moving a company from the current host-centred computing model to the client/server model; introduces and explains the Five Forces model of business competition; discusses critical business issues identified by information system executives as the objectives set for information technology within their companies; and provides an analysis of the shortcomings of current information technology implementation
TL;DR: The text focuses on building a functional systems development environment to serve any organization's needs, showing how to achieve enhanced data interchangeability, shared resources and centralized management.
Abstract: An analysis of computing and its impact on information processing in the future. The text focuses on building a functional systems development environment to serve any organization's needs, showing how to achieve enhanced data interchangeability, shared resources and centralized management.
TL;DR: It is demonstrated that this approach supports the development of truly transparent distributed services which hide the server topology from both clients and servers, and which encapsulate non-functional properties of services in cooperation protocols located within the service layer.
TL;DR: The advantages of service rebalancing include the elimination of a static division between client and server, on-the-fly updating of modules, load balancing, sharing of common code between multiple clients, and the enforcement of neatly modularized programming.
Abstract: Service rebalancing, which provides a way to determine an efficient division of effort between a client and its server, is introduced. Decisions concerning this division of labor are made at runtime rather than at design time. Evaluating the current environment in which the client and server are executing and moving mode between client and server based on this evaluation can enhance the performance of client/server programs. The advantages of service rebalancing include the elimination of a static division between client and server, on-the-fly updating of modules, load balancing, sharing of common code between multiple clients, and the enforcement of neatly modularized programming. Some of the problems and issues related to service rebalancing, including equanimity and the current status of the work, are discussed. >
TL;DR: This paper presents a model for writing client-server applications in C++, based in the experience with the Mach 3 multi-server system, and discusses how multiple-inheritance simplified the design of the system and the need for run-time, type-safe pointer conversion.
Abstract: Applicationsbased on the client-server model place a special emphasis on the specification of interfaces, the separation of interface and implementation and on the support for multiple implementations of the same interface. The class hierarchy of such an application has to be designed while taking these issues into account. In this paper we present a model for writing client-server applications in C++, based in our experience with the Mach 3 multi-server system. Interfaces are defined by C++ abstract classes, from which implementations are derived. Implementations generally use multiple-inheritance to inherit functionality from other implementation classes. We describe how this simple model was applied to the construction of the clients and servers that compose the Mach 3 multi-server, using standard C++. We discuss how multiple-inheritance simplified the design of the system and the need for run-time, type-safe pointer conversion. Finally, we give an overview of our class library and relevant aspects of the remote object invocation subsystem and summarize our experience with C++ in this project.
TL;DR: To examine the issues in this configuration and resource management problem the authors build an object model containing clients ad servers that examines the whole decision making process through the lifecycle of object design, implementation, and instantiation in a distributed system.
Abstract: This paper discusses the configuration of clients and servers in a distributed system. The question addressed is how does a client choose a appropriate server instance for invocation. It is assumed that a number of server instances are available in the distributed system, each instance having different characteristics that the client may wish to optimise. To examine the issues in this configuration and resource management problem the authors build an object model containing clients ad servers. Using this model they examine the whole decision making process through the lifecycle of object design, implementation, and instantiation in a distributed system. >
TL;DR: It is important to understand how many simultaneously active clients a given network architecture can support, and how to deliver prerecorded digital movie clips for continuous time playback to clients.
Abstract: Networked multimedia services cover a wide spectrum of possible applications. One system architecture of interest is that of a fileserver delivering prerecorded digital movie clips for continuous time playback to clients. This problem is similar to that of delivery of real-time live video to clients, but is more forgiving in that some amount of the movie clip may be prebuffered at both fileserver and client to smooth out variations in the system. On the other hand, such a service requires fileservers capable of maintaining continuous streams of data, or their equivalent. The “fileserver delivering movie clips” is also at the heart of many proposed applications. Although, it is unlikely that all clients would be playing movie clips at once, it is important to understand how many simultaneously active clients a given network architecture can support.
TL;DR: The TELEMED Project aims at developing a pilot application for experiencing Integrated Broadband Networks for transmitting medical, anatomical and radiological information by developing a multisite Image Reference Data Base (IRDB), a database containing radiological images approved by a scientific committee because of their particular interest.
TL;DR: In this article, the authors proposed an automatic switch device to enable a server to obtain the network address of a server who can supply the same service when a client requests service to the server and the server cannot supply service, and to supply same device from the server.
Abstract: PURPOSE:To permit a server to obtain the network address of a server who can supply same service when a client requests service to the server and the server cannot supply service, and to supply same device from the server. CONSTITUTION:The cilent 35 requests service to a first server 31. The request of service from the client 35 is received in an automatic switch device for first server 33. It checks whether the first server 31 can supply service or not. When service cannot be supplied, the network address of the second server 32 who can supply the same service is obtained, and the request of service from the client 35 is transmitted to the second server 32 through an automatic switch device for second server 34. Thus, the second server 32 supplies service to the client 35.
TL;DR: The conflict between MIS managers and end users is discussed, and the reasons for treading the path to a future of transparent client/server network computing, through the stages of client/ Server bonding and recursive client/ server management and productivity are discussed.
Abstract: The conflict between MIS managers and end users is discussed. MIS wants to protect the company assets, which largely consist of data, and the end users want swift, efficient solutions to their business problems and have the PCs to do it. The history of MIS organizations and their current status are reviewed. Current client/server networking solutions and future developments leading to transparent client/server/network computing are described. The network computing needs of corporations are outlined. The reasons for treading the path to a future of transparent client/server network computing, through the stages of client/server bonding and recursive client/server management and productivity, are also discussed. >
TL;DR: This paper describes a more flexible paradigm, elastic servers, whose functionality can be extended at execution time by delegating new functional procedures to them.
Abstract: The traditional client server paradigm for distributed computing, fixes the functionality and interfaces provided by server processes at compile time. While this scheme is powerful enough for many distributed applications, it is too inflexible for many others, such as those envisioned by the CORDS research project. In many applications, there is a need to dynamically add to (and sometimes restrict) the functionality of a server while it is executing. Lacking this ability, servers are often designed with narrow interfaces. This forces applications to engage in abnormally fine grained and complex process interactions, resulting in inefficient use of both computational cycles and communication bandwidth. This paper describes a more flexible paradigm, elastic servers, whose functionality can be extended at execution time by delegating new functional procedures to them.