`
`WEBPOWER, |NC.'S EXHIBIT 1017
`
`PAGE 1 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017
`
`
`
`Client/Server
`Computing
`
`Dawna Travis Dewire
`
`McGraw-Hill, Inc.
`New York San Francisco Washington, D.C. Auckland BogotS
`Caracas Lisbon London Madrid Mexico City Milan
`Montreal New Delhi San Juan Singapore
`Sydney Tokyo Toronto
`
`PAGE 2 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017
`
`
`
`Library of Congress Cataloging-in-Publication Data
`
`Dewire, Dawna 14~avis.
`Client/server computing / Dawna Travis Dewire.
`cm. — (James Martin/McGraw-Hill productivity series)
`p.
`ISBN 0-07-016732-X
`1. Client/server computing. I. Title. II. Series.
`QA76.9.C55D48 1993
`004'.3f~dc20
`
`92-9429
`CIP
`
`CopyrightO 1993 by McGraw-Hill, Inc. All rights reserved. Printed in
`the United States of America. Except as permitted under the United
`States Copyright Act of 1976, no part of this publication may be repro-
`duced or distributed in any form or by any means, or stored in a data
`base or retrieval system, without the prior written permission of the
`publisher.
`
`234567890 DOC/DOC 99876543
`
`ISBN 0-07-016732-X
`
`The sponsoring editor for this book was Neil Levine, the editing superui-
`sor was Jane Palmieri, and the production supervisor was Donald
`Schmidt. It w¢s set in Century Schoolbook by Decision wee Associates.
`
`Printed and bound by R. R. Donnelley &Sons Company.
`
`Information contained in this work has been obtained by
`McGraw-Hill, Inc., from sources believed to be reliable.
`However, neither McGraw-Hill nor its authors guarantees the
`accuracy or completeness of any information published herein
`and neither McGraw-Hill nor its authors shall be responsible
`for any errors, omissions, or damages arising out of use of this
`information. This work is published with the understanding
`that McGraw-Hill and its authors are supplying information
`but are not attempting to render engineering or other pmfes-
`sional services. If such services are required, the assistance of
`an appropriate professional should be sought.
`
`PAGE 3 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017
`
`
`
`Chapter
`
`Overview of
`Client/Server Applications
`
`A client/server application has three components: a client, a server, and
`a network. Each of these components has a hardware and a software
`component. Their interaction is illustrated in Figure 3.1.
`
`3.1 Components of Client/Server Applications
`Client/server computing uses adivide-and-conquer approach, as shown
`in Figure 3.2. Servers perform the routine, behind-the-scenes tasks.
`Clients, the front-ends, get the glory. To many users, the client is "the
`system."
`For most applications, this division of labor is straightforward. The
`data management software on the server is responsible for keeping the
`data "safe and sound." The application itself deals with the customized
`procedural logic and the interaction with the user. The server doesn't
`care what interface the client application uses. The server views clients
`in terms of connections, sessions, and requests.
`Connections are established according to a communications protocol.
`But there is no single communications protocol. Communications
`channels can be synchronous or asynchronous, dictating whether a
`client can make more than one request at a time. The client/server
`model assumes amany-to-one relationship (many clients to one server).
`However, some organizations have applications where clients need to
`maintain concurrent connections with more than one server, which is
`a many-to-many relationship.
`
`29
`
`PAGE 4 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017
`
`
`
`30 Introduction to Client/Server Computing
`
`Client
`
`G7ienyServer Softwaze
`
`Network Operating System
`
`Operating System
`
`Server
`
`CtienyServer Softwaze
`Network Operating System
`
`gyrating System
`
`RDBMS
`
`Network
`
`Cables
`Routers
`BndB~
`Gateways
`
`Figure 3.1 Components of client/server computing
`
`3.1.1 The Client
`The client hardware is the desktop machine that runs client software.
`It could be a micro or a workstation. The client hardware has to be
`robust enough to support the presentation requirements and the client-
`based processing of the application.
`The client software formulates data requests and passes the
`requests to the network software. This software sends the requests to
`the server, accepts the results from the server and passes the results
`back to the client software. The client software may perform some
`application logic on the results of the request before passing it on to
`the presentation component of the software.
`The presentation component produces the interface that the user
`views and interacts with. It is often, but not always, a graphical user
`interface. GUIs' provide agraphic-oriented presentation front-end to
`applications and provide (or simulate) multitasking processing (the
`ability to run two or more applications at the same tune). The major
`windowing environments are Windows from Microsoft, Presentation
`
`Client Functions
`
`GUI
`Distributed application
`processing
`Local application
`Termvial emulation
`
`Server Services
`
`File, print, database server
`Distributed application
`processing
`Communications
`Network management
`Resource management
`Configuration management
`
`Figure 3.2 Client/server division of duties
`
`~
`
`PAGE 5 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017
`
`
`
`Overview of Client/Server Applications 31
`
`Manager from IBM, Motif from Open System Foundation (OSF), and
`OpenLook from USL.
`For those who have not seen or used a windowed environment:
`Using a mouse as a pointing device, users select options by positioning
`the cursor on the item of choice and clicking (pressing a button on the
`mouse). Options are displayed as icons (a small picture that illustrates
`the choice) or lists. If a user must choose from a valid list of values, a
`scrollable list box appears, the user scrolls through the list until the
`choice is highlighted and then clicks. The user can toggle between
`multiple tasks and/or programs. Each task/program is in its own
`window and the windows can be positioned by the user so that they are
`side-by-side or overlayed. Every effort is made to reduce keyboard use.
`The interface hides most, if not all, of the requirements for data
`retrieval and system administration from the user.
`There is also an operating system running on the client hardware,
`which may or may not be the same as the server's operating system.
`The client operating system must be robust enough to support the
`presentation processing and application logic processing required for
`the applications. Each of the major windowing enviromnents was
`designed for a particular operating system. Windows runs under DOS,
`Presentation Manager under OS/2, and Motif and OpenLook under
`UNIX.
`There is also communications software running on the client
`hardware. The client-based network software handles the transmissions
`of requests and receives the results of the requests. However, individual
`network operating systems do not support all available client and
`server operating systems.
`The client may also be executing runtime support for applications
`generated with client/server development tools. Using the development
`tool, the application logic is specified and partially executable code is
`generated. The generated code is executed by the client's runtime
`version of the software.
`In some cases, a client is actually a server acting as a client (then
`the server is called an agent) by requesting data from another server.
`
`3.1.2 The Server
`
`A server is the machine that runs data management software that has
`been designed for server functionality. Compared to a desktop micro,
`server hardware has increased memory capabilities; increased storage
`capabilities; increased processing power, including, in some cases,
`parallel processors; unproved cycle times; and improved reliability with
`
`PAGE 6 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017
`
`
`
`32 Introduction to Client/Server Computing
`
`built-in reliability features, such as uninterruptible power supply, fault
`tolerance, and disk mirroring.
`When evaluating server hardware, the following measures should be
`kept in mind:
`n Reliability. How often does it fail? What is the mean time between
`failures?
`n Availability. How quickly does the system come back into service
`after a failure? To assure high availability, some systems have self-
`healing routines, continuous processors, fault-tolerant hardware,
`alarms to highlight problems before they become serious and
`continuous functioning (although more slowly) in a reduced
`configuration. Some can be rebooted from remote sites.
`n Flexibility and scalability. How easily can the server be expanded
`as processing needs grow?
`A server has operating system software, data management software,
`and a portion of the network software. The operating system has to
`interact reliably with network software and be robust enough to handle
`server technology.
`The data management software responds to requests for data—
`retrieves, updates, and stores data. Relational databases have become
`the de facto standard structure and SQL the de facto standard data
`access language. Gateways to non-relational data sources are offered by
`most major vendors of server DBMS software, as well as third-party
`vendors. Server DBMS software incorporates many of the services
`taken for granted in mainframe-based applications, such as backup and
`recovery routines and testing and diagnostic tools.
`Two of the keys to successful client/server applications are the
`separation of presentation management from other application services
`and the distribution of application logic between the client and the
`server. Inmost cases, the distribution of application logic is determined
`by the developer when the application is designed or installed. In some
`cases, this split can be determined by the application software, based
`on current resources, at runtime.
`
`3.1.3 The Network
`The network hardware is the cabling, the communication cards, and
`the devices that link the server and the clients. Connections must allow
`servers to access other servers and for users (clients) to access data on
`any network node. The connection devices, such as routers and wire
`hubs, are beginning to incorporate network software, which frees up
`
`PAGE 7 of 7
`
`WEBPOWER, INC.'S EXHIBIT 1017