Previous Topic: 2.7.7 DASD Accounting Features

Next Topic: 2.9 UNIX Accounting

2.8 Client/Server Accounting


There has been tremendous growth in the use of client/server
systems, with most of the growth driven by the desire of
businesses and government agencies to reduce the cost of
computing by downsizing their applications to less expensive
platforms.  The platform chosen usually includes PC,
Macintosh, or UNIX workstations.  These are linked via local
or wide-area networks to larger "servers" that perform
database and communication services for the applications.

While the cost of the hardware, software, and support
services for a client/server system may be less than the
mainframe system that it replaced, it is still a significant
part of businesses' expenses.  Fortunately, client/server
systems can be accounted for, permitting managers to allocate
and control their costs.  This section describes the
technology involved in client/server systems and suggests
approaches to the problem of charging for their use.

Most large organizations have implemented accounting and cost
control systems for their mainframe computer systems and the
applications that use them.  The same cannot be said of most
local area networks (LANs).  LAN costs are growing in most
organizations and are often poorly accounted for.  In the
article "The Heavy Burden of LAN Costs," Alan Radding,
writing for Datamation, quotes a recent Forester Research
study that shows the average cost of administering the LAN in
Fortune 1000 companies as $1270 per user per year.  This is
just the cost of administration and does not include hardware
and software expenses.  In many organizations, these expenses
are poorly tracked and never reallocated back to the lines of
business that they serve.

Because it is easier and cheaper to administer a few, large
network servers than many smaller ones, networks share
resources among many users.  This makes it difficult to
clearly link specific hardware and software to one department
or line of business.  Similar to their mainframe
counterparts, client/server databases often serve more than
just their primary owners.  For example, allocating all of
the costs of a customer database to a marketing or sales
department would ignore its use by other departments such as
customer service, shipping and billing.
When applications move from mainframes to desktop systems,
accounting and control should go with them, but financial
managers need new methods of chargeback to accompany the new
platform.  Mainframe systems have traditionally done job
accounting based on resource usage:  the number of CPU
seconds used, pages printed, tapes mounted, and so forth.
These same measurements are not always available for LAN
systems and the "system" is often a collection of devices
spread all around the organization, making data collection
and summarization of usage statistics more difficult.  There
is also a growing movement among financial managers to reduce
the costs associated with chargeback systems.

An accounting methodology is needed that is fair to all
users, yet is easy to implement and does not impose too much
overhead on the computer network or the staff that is
assigned to administer it.


What is a Client/Server Application?
------------------------------------

A general definition of a client/server application is one
that splits the work between two separate components.
Commonly, this means application logic that runs on a
workstation supported by intense computing or database
services performed by a larger computer.  The client is the
workstation program, the part of the application that the
user sees and interacts with.  The server stores and
retrieves data and performs other services on behalf of one
or more clients.  The client and the server communicate over
the network.  So, each client/server application has three
components:  a client, a server, and the network that
connects them.

The client/server application evolved as desktop systems
became more powerful and less expensive.  A modern desktop
PC, Macintosh, or UNIX workstation is a powerful and flexible
tool.  Windowing software and graphical user interfaces
(GUIs) have made applications easier to learn and use.  The
workstation is a natural platform for developing modern
business applications, but affordable desktop systems have
limited storage capacities and cannot share information with
other systems unless they are linked together.  Important
business data must also be secured from unauthorized use and
protected against accidental damage or deletion.

There Are Many Types of Servers
-------------------------------

A large PC, UNIX system, or mainframe computer can become the
central device used for storing data that is shared among
workstations.  The choice depends upon how much storage is
required, how many users will access the system and what
software is required to provide the needed services.  But
data storage and retrieval are not the only functions
provided by servers.

There are five common types of servers:

o File servers provide data storage and retrieval services
  allowing users to share files and keep files that are too
  large to save at their workstations.

o Database servers run database management software enabling
  shared access, security and recovery services for the data
  that they store.

o Print servers store output files that are waiting to be
  printed and allow many workstations to share a single
  printer or a set of printers.

o Compute servers run the intense computations required for
  engineering and graphics applications.

o Communication servers store and forward messages between
  users and between the client and server software.  Special
  communication servers also translate messages between the
  formats used by the local network and the formats used by
  other remote networks or mainframe systems.

A single computer system could potentially provide all of
these services, but in practice, services are usually
separated to provide rapid response to user requests.  By
dividing its work, a network of small computer systems is
able to provide service levels similar to those found on
large mainframe systems.  A single client/server application
may use many servers to accomplish the tasks requested by its
users.  In a truly open system, a server may also become a
client, requesting services from another server and then
returning the final results to the workstation.  All of this
remains largely invisible to the user at a workstation, who
sees only the results of this work being performed.

The Network
-----------

The network is the third part of a client/server application
and enables the clients and servers to communicate with each
other.  All communication between a client and server is in
the form of messages.  Clients send messages to a server to
request data from a database or to request the server to
execute program logic that resides on the server machine.
Servers return answers containing the data requested or
acknowledging that the action was carried out.  The messages
travel from one machine to another on coaxial cable, twisted-
pair cable (telephone wire), radio broadcast, or light
transmission.  Special hardware and software provides the
connections from the application to the network and between
the various network devices.

National and international standards have been established to
ensure that messages can be routed properly and interpreted
correctly by devices and applications.  The standards that
govern the electronic signals used in the network define what
is called the network architecture or topology.  Networks are
often known by the type of architecture that they use.
Ethernet, ArcNet, and token ring are the three most common
architectures for LANs.  Mainframe systems have their own
unique architectures.  Organizations often standardize on a
single architecture for their LANs, but connections to
midrange or mainframe systems can add other architectures to
the overall computing network.

The language used for messages is called a protocol.  It
determines how messages must be constructed by the software
systems.  The Transmission Control Protocol/Internet Protocol
(TCP/IP) is the most common cross-platform protocol.  But
again, there are many others, such as the Novell IPX/SPX
protocol used in NetWare LANs and NetBIOS used in Microsoft's
LAN Manager and IBM's LAN Server.  Communications software
allows some networks to use more than one protocol, but where
the language must change or the architecture is different, a
special communications server called a gateway is used to
translate the messages.  Gateway connections are usually
required between LANs and mainframe systems.

This combination of hardware and software is the network that
links a server with its clients.  It provides the
communication essential for the application to function and
may also contribute significantly to the cost of using the
application.


The Applications Vary
---------------------

There are four types of client/server applications:

o Host-based. The majority of the application work takes
  place on the host or server machine and the workstation
  part of the application primarily presents the information
  to the user.  A good example of this type is a graphical
  front-end to a mainframe application.

o Client-based. The application runs on the workstation and
  the server simply provides shared access to the data.  Many
  database applications fit this category.

o Distributed. The application logic is distributed across
  the network on workstations and servers.  Electronic mail
  is a good example.

o Ad hoc. The application runs on a workstation and may
  access shared resources such as databases and printers.
  The level of usage may be difficult to predict.
  Spreadsheet and personal database programs are good
  examples.

All four types of applications exist in most organizations.
Each type uses the shared resources of a network differently.
Our goal is to allocate the costs of providing these
resources to the appropriate cost centers.  The allocation
method should be fair and consistent and should encourage
appropriate use of the technology.


A Strategy for Client/Server Accounting
---------------------------------------

Accounting and chargeback for mainframe systems has
traditionally relied on usage fees as the basis for
application charges.  Mainframe resource usage is measured in
terms of CPU time used, thousands of I/Os performed, pages
printed, and so forth.  The associated charges are often
billed directly to the user as line items on an invoice.
Alternately, the user may be billed a fixed fee per month or
a charge per business transaction, such as a fee for each
check processed.  In either case, the charge to the user is
based on the computer resources consumed, either directly, on
average per month or per transaction.
There are two reasons why usage-based charges are less
desirable for LAN applications.  First, the actual cost to
provide the service is often determined by peak-usage
requirements, not by total usage.  Client/server applications
move large amounts of data over the network.  The size and
cost of the server and the speed of the network are
determined by the needs of the application.  For example,
graphic images are extremely large compared to text files, so
applications that deal with graphic images must have high-
speed networks.  The second reason is that resource usage is
not normally measured by user across a network.  To collect
usage data, it may be necessary to add hardware or software
monitors throughout the network.  Then, the data must be
brought to a single point and accumulated.  This adds a large
overhead burden to the network and increases the cost of the
service.  It may also make the accounting system very
expensive to operate.

For these reasons, organizations are adopting a chargeback
system based on a set of subscription fees similar to the
service charges used by the cable television industry.  Each
workstation attached to the network is charged a basic
subscription fee that covers the cost of the network and use
of common business-wide services, such as electronic mail and
LAN backup service.  Premium service fees are added for each
user that may access other applications, services, or special
devices that constitute a special level of service.  This is
often referred to as tiered pricing.  Additional charges,
based on usage, may still be added when applications access
mainframe systems or high-end servers.

Identifying Service Tiers
-------------------------

The following guidelines may be used to determine what
constitutes a service tier that will be charged a premium
fee:

o The service or equipment is used by a minority of users
  and/or cost centers.

o The equipment, software, or overhead charges can be readily
  separated from other network costs.

o The total cost of the service warrants the added
  administration of tracking its users and invoicing for the
  service.
An Example of Charges
---------------------

The following figures demonstrate how subscription fees for
client/server applications would appear when combined with
mainframe charges.  Figure 1 shows a monthly invoice and
Figure 2 shows a more detailed report of charges.  In this
example, the company has two distinct classes of users:  the
average corporate user with a PC connected to the LAN and
engineering workers that have advanced workstations and
special servers.  The company has different base rates for
these users: a "Basic LAN Service" fee for standard
workstations and an "Engineering Workstation" fee for the
high-end users.  There are two premium services available:  a
news retrieval service used by some managers and a group of
financial applications and databases used by finance,
planning and selected managers.

                           Monthly Invoice
                        Manufacturing Division

 To:       Joseph Dokes
           General Manager

 Category  Resource                                   Charges
 --------  -----------------------------------   ------------
 1XXX      Processor Hardware
           1100 Central Processor(s)                $1,206.80
           1200 Channels                               320.40
           1500 Direct Access Storage Devices          739.98

 2XXX      Teleprocessing Equipment
           2100 Terminals                              490.60
           2160 Control Units                          181.00

 8XXX      Facilities
           8600 LAN / Internet Services              4,803.00
                                                    =========
           Total Charges                            $7,741.78


 Figure 2-2.  Sample Invoice

                             User Expense Summary for November 2005

     To:     Manufacturing Division
             ABC Electronics, Inc.

     Category  Resource / Description             Quantity   Units           Charges
     --------  ---------------------------------  --------   ------------  ---------
     1100      Central Processor(s)
               (0022) Job CPU Time                6,191.50   TCB+SRB sec     $866.81
               (0041) Job Real Memory             1,241.42   K-core Hours     148.97
               .
               .
               .
     1500      Direct Access Storage Devices
               (0092) Job DASD EXCPs              5,308.10   1000 EXCPs       265.41
               .
               .
               .
     8600      LAN / Internet Services
               (8601) Basic LAN Service(s)           12.00   Stations       1,500.00
               (8602) Engineering Workstation(s)     18.00   Stations       3,150.00
               (8610) Financial Application Group     3.00   Users            105.00
               (8611) NEWS Service                    1.00   Users             48.00



 Figure 2-3.  Sample User Expense Report

Summary
-------

Client/server applications and the networks that support them
are a growing expense for almost every business enterprise
and there is an urgent need to apply the principles of
management accounting to this area of expense.  Because the
technology used for these applications is very different from
mainframe-centric computing systems, the approach to charging
must be different also.  Service-based charging is the
recognized norm for client/server systems.  It provides a
simple and flexible means to transfer costs back to the cost
centers that use the applications.  The resulting service
charges can be easily incorporated into existing chargeback
systems.