Professional Documents
Culture Documents
,~
_~a.t
o
TIME-SHARED COMPUTING
wo decades ago, the data processing industry was using
powerful mainframes with the users sharing C P U cycles
and data storage facilities. Access to the mainframes was
tightly controlled by MIS departments and the only method of
accessing the data from mainframes was through punched cards or
primitive terminals. We saw evolution of pioneering data retrieval
and analysis methodologies in the years to come; yet the techniques
were arduous and constrained due to centralized resources and user-
hostile interfaces. Thus, when PCs came to the computing industry
in the early 1980s, their growth was phenomenal, as they provided
limited C P U cycles and data storage facilities on user desktops, user
control over desktops, and user-friendly PC-based software.
Aiok Sinha
COMMUNICATION$OFTHIEACM/Ju|y1992/Vo135, No.7 77
PCs, however, were still incapa- loosely defined to be those infor- directions for purposes of data re-
ble o f handling data processing mation processing and analysis trieval and analysis, as well as the
needs o f most large businesses. applications whose o u t p u t is used means o f presenting the results o f
Local area networks (LANs) pro- by corporations for strategic deci- one o r m o r e queries or commands.
vided the solution by connecting sions. Almost universally, finance Typically, the Client presents a
PCs and mainframes. Thus, the PC m a n a g e m e n t systems are consid- Graphical User Interface (GUI) to
where present, was used as a user- ered "mission critical applications." the user (e.g., Microsoft Windows-
friendly "terminal" to the host. At T h e "criticality" o f one set o f appli- based interfaces).
the same time, we saw the evolution cations over a n o t h e r is often deter- As a CSS can consist o f multiple
o f LAN and PC-based file and print mined by the business o f the corpo- Clients, multiple User Interfaces
Servers (e.g., Novell Netware ration (e.g., transaction processing may exist in a CSS, but each Client
started in 1983 and Microsoft MS- systems are often the most "critical" will have a single consistent U I ,
Net-based L A N software, such as applications for the airline compa- e.g., a CSS may have both Micro-
IBM PC-LAN started in the 1984- nies). soft Windows o r Presentation Man-
85 year). In 1989, in a survey by Indeed, today the Network in- ager (PM) Clients. A CSS may have
Infonetics o f Santa Clara, 20% o f dustry in general and the LAN and interfaces in addition to the User
PC LAN buyers cited the desire to Database Server Industry in partic- Interface for administrative control
share printers, while 22% cited the ular is very excited about "downsiz- and system management.
sharing o f large mass storage de- ing" m a i n f r a m e applications to PC [B] It forms one or more queries
vices as buying motivation [6]. As Servers and LANs using the Client- or c o m m a n d s in a p r e d e f i n e d lan-
we will discuss in the next section, Server Computing paradigm. guage for presentation to the
file and printer sharing does not T h e i r enthusiasm is causing MIS Server. T h e Client and the Server
lead to Client-Server applications. shops to take more serious notice o f may use a standard-based language
Today, both PCs and LANs have this new paradigm. O f course, this such as SQL or a p r o p r i e t a r y lan-
a large installed base in corpora- has resulted in the d e v e l o p m e n t guage known within the CSS. Each
tionsl; so have PC-based word- o f new network o p e r a t i n g systems user query or c o m m a n d need not
processors, spreadsheets, and data- and database architectures to sup- necessarily m a p a query to the
base programs. Thus, while the PC- p o r t the Client-Server C o m p u t i n g Server from the Client.
based software has allowed a variety model. 2 A Client may use caching and
o f processing to be d o n e on the optimization techniques to reduce
desktop, PC LANs have allowed queries to the Server or p e r f o r m
Client-Server Computing
sharing o f files and peripherals to Paradigm security and access control checks.
take place at the d e p a r t m e n t level Definitions A Client may also check integrity o f
in corporations. In the Client-Server c o m p u t i n g queries or c o m m a n d s requested by
We have also seen Unix worksta- paradigm, one or m o r e Clients and the user. Sometimes it may not be
tions getting larger installed bases one o r m o r e Servers, along with the necessary to send a query to the
in corporations. These are typically u n d e r l y i n g o p e r a t i n g system and Server at all. In such cases, Client
used for "specialized applications." interprocess communication sys- may itself p e r f o r m the data pro-
Worldwide Unix workstation reve- tems, form a composite system al- cessing requested by the user and
nue from "the commercial market" lowing distributed computation, satisfy the user query or command.
is expected to rise from $0.8 billion analysis, and presentation. We will It is however, r e c o m m e n d e d that
in 1990 to $4.6 billion in 1994, call such a composite system a Client applications do not provide
while the revenue from "the techni- "Client-Server System" or simply these functionalities and we ask that
cal market" is expected to grow CSS. In such a system, a Client is a they foist these on the Server appli-
from $6.6 billion in 1990 to $10.7 process which interacts with the cation. For example, if the Server
billion in 1994 [20]. user and has the following charac- manages security, it is much more
Most o f the "Mission critical ap- teristics: difficuh for intruders to break in.
plications" in corporations, how- [C] It communicates to the
ever, have r e m a i n e d mainframe- Server via a given Interprocess
[A] It presents the User Interface
(and minicomputer-) centrio "Mis- communication methodology and
(UI). This interface is the sole
sion critical applications" can be transmits the queries or c o m m a n d s
means o f g a r n e r i n g user queries or
to the Server. An ideal Client com-
*PC-installed bases in U.S. g o v e r n m e n t , busi- pletely hides the u n d e r l y i n g com-
nesses, a n d education were estimated to be 2Network o p e r a t i n g systems (NOS) provide
33.4 million units in 1990 a n d are expected to network functionalities besides n o r m a l (local) munication methodology from the
g r o w to 69 million units by 1994. 34.2% o f file-system functionalities. T h e s e typically user.
PC-installed bases in 1990 are connected have network-aware modules e m b e d d e d
t h r o u g h LANs; 65.2% o f PC-installed bases
[D] It p e r f o r m s data analysis on the
within the o p e r a t i n g system kernel. Microsoft
are expected to be connected by LANs in Lan M a n a g e r Server or 4.3 BSD Unix is a query or c o m m a n d results sent
1994. DataQuest (Mar. 1991). very g o o d example o f a NOS. from the Server and subsequently
I Processor
I ing) or r u n large applications on
the Server (e.g., database servers)
and simply r e t u r n the results to the
Client.
• Optimal network utilization as
Terminal the Clients communicate with the
Controller I Server t h r o u g h a p r e d e f i n e d lan-
guage (e.g., SQL) and the Server
simply returns the results o f the
c o m m a n d as o p p o s e d to r e t u r n i n g
all the data files.
• Providing an abstraction layer on
the u n d e r l y i n g o p e r a t i n g systems
Remote
Server I and communication systems such as
LAN, allowing easy maintenance
t X.25
Communcation
Server
and portability o f the applications
for years to come.
Comparisions with Time-Shared
Systems.It is widely acknowledged
in the c o m p u t e r industry that CSS
systems are being widely consid-
LAN e r e d by corporations for new appli-
Table 1.
Relative Cost of Development of a Client/Server System as Compared to a Time-Shared System.
84 July 1992/Vol.35, N o . 7 / C O M M U N I C A T I O N S OF T H E A C M
architecture is based on the Client- calls to r e t u r n immediately if no thus making the Client application
Server model and all the program- data is available. A Named-Pipe can almost "network unaware"; Thus,
ruing interfaces provided reflect be changed from blocked to non- the Client end of a CSS can simply
that design guideline. Thus, de- blocked (or vice-versa) after a con- focus on UI and data presentation
signing a Client-Server system nection has been established. aspects of the CSS. Designing and
based on Named-Pipes is easier • Inbound/OutBound or D u p l e x . i m p l e m e n t i n g the Server end of the
than designing a Client-Server sys- While an i n b o u n d pipe allows data CSS is made simple due to the
tem based on other methods which transfer from a Client to the Server, Named-Pipe APIs.
can be "adapted" to implement an o u t b o u n d pipe allows data trans- Mailslots. Mailslots are part of the
Client-Server communication. fer from a Server to the Client. A Microsoft LAN Manager and adap-
A Named-Pipe is the abstract duplex pipe allows bidirectional tations of Microsoft LAN Manager
pipe (Virtual Circuit) that exists flow of data. T h e flow of data can- (e.g., IBM LAN Server, A T & T
between the Server and one or not be changed after a Named-Pipe StarGroup LAN Manager, Digital
more Clients and provides a relia- has been "created." Pathworks). Mailslots provide a
ble unidirectional or bidirectional simple, reliable or unreliable, data-
data transfer channel. A Named- • Message or Byte Stream. A
gram (connectionless) channel as
Pipe has a Server end and a Client Named-Pipe can provide either a
well as a consistent application pro-
end, and each must make certain message stream or a byte stream of
g r a m m i n g interface across plat-
calls to establish a connection. A data. A message stream provides
forms and vendors.
Named-Pipe can be uniquely iden- discrete message boundaries and
"First class" Mailslot message can
tified in global name space by a reliable transfer of messages. T h e
be used in a CSS for reliable Client-
UNC (Universal Naming Conven- stream cannot be changed after a
to-Server communication method
tion) name as shown: Named-Pipe has been "created."
while "Second Class" Mailslot mes-
• M e s s a g e or B y t e R e a d m o d e . In- sage can be used for a peer-to-peer
\\<server n a m e > d e p e n d e n t of the stream type of the communication method. In a CSS,
\PIPE\<pipe name> Named-Pipe, data can be read from second-class messages may be used
where a Named-Pipe either as discrete by the Server to broadcast messages
messages or as a byte stream. T h e to all Clients, while first-class mes-
<server n a m e > is any unique char-
readmode of a pipe can be changed sages can be used by the Clients to
acter string (max 16-byte) identify-
after a connection has been estab- quickly send some data to the
ing the Server on the net.
lished. However, a message stream Server. Although not as compre-
PIPE is a reserver keyword
pipe is read in message readmode hensive as Named-Pipes, Mailslots
< p i p e n a m e > is a unique character
and a byte stream pipe is read in are still useful in that they provide
string adhering to the local file sys-
byte readmode. the layer of abstraction over the
tem n a m i n g convention.
After "creating" a Named-Pipe, lower-level methods such as Net-
A Named-Pipe has to be "created" the Server must wait for one or BIOS or IPX/SPX.
{DosMakeNmPipe0} at the Server more clients to connect to each in- In order to receive messages in
end of the CSS. 9 While each stance of the pipe {DosCon- Mailslots, a node (Server or Client)
Named-Pipe must have a unique nectNmPipe0}. At this time, a Cli- must first "make" a mailslot { LAN
name, each Named-Pipe can have ent can "open" a Named-Pipe by Manager API: DosMakeMailslot0 };
multiple (up to 255) instances. This providing the full UNC name of Only the Server r u n n i n g on OS/2
feature allows one Server process to the pipe to a generic file-opening or Unix platform can receive first-
create one pipe with multiple in- call, e.g., OS/2 call: DosOpen0, class messages. While creating a
stances with each instance servicing Windows call: OpenFile0. This es- Mailslot, one must specify the name
requests from a Client. A Named- tablishes the connection between of a Mailslot as follows:
Pipe can be "created" in the follow- the Server and the Client. Now, the
ing modes: Client can use normal file-system \MAILSLOTx<mailslot n a m e >
• Wait or N o - W a i t . A Named-Pipe
"read file or write file" calls to read
from or write to the file. Finally, the where
in wait mode will cause all reads
from and writes to the pipe to be Client can call file-system "close
file" to close its end of the pipe. T h e MAILSLOT is a reserved key word
blocked if no data is available. No-
Server must make a "disconnect" <mailslot n a m e > is a character
wait modes allow all read or write
{ DosDisConnect0} call when it is string adhering to file-system nam-
notified that the Client has closed ing conventions.
9Currently, only OS/2 and Unix operating
systems support "creation" of a Named-Pipe, its end of the pipe.
thus the Server end of a CSS must exist on Named-Pipe allows the Client A sender of messages must specify
these platforms. In the near future, this capa-
bility will be extended to Microsoft Windows end to use normal file-system calls the UNC name of the Mailslot as
as well. to communicate with the Server, follows:
/ / r e a d a r e q u e s t f r o m client
s t a t u s = DosRead (handle, InBuffer, IN_BUFF_SIZE, &BytesRead);
if ( s t a t u s )
{
p r i n t f ( ' E r r o r i n reading pipe %dkn', status);
break;
}
else
p r i n t f ( ' D a t a received: %s~u', InBuffer);
/ / p r o c e s s the r e q u e s t a n d r e s p o n d back to client
s t a t u s = Dos Write (handle, OutBuffer, strlen(OutBuffer), &BytesWritten);
if ( s t a t u s )
{
p r i n t f ( ' E r r o r i n w r i t i n g pipe %dkn', status);
break;
}
} w h i l e ( s t a t u s ! = 0);
/ / D i s c o n n e c t t h e pipe. Now, n o client c a n access t h e pipe
s t a t u s = DosDisconnectNmPipe (handle);
if ( s t a t u s ) S
{
p r i n t f ( ' E r r o r i n d i s c o n n e c t i n g t h e pipe %dku', s t a t u s ) ;
break;
}
}
//Close the pipe
s t a t u s = DosClose( handle);
if ( s t a t u s )
p r i n t f ( ' E r r o r i n closing the pipe %dkn', status);
return (status);
I ,' 'I I
I ', , ! I
--.L ', r,-. i r--L
i
,I I LU "! I I, I I
,I I LUi .L
,I / ,11
t
II I
LU. I I,II
I_A,. /
J
,---',
" . . , ~L. I Ic-. ~ ~q ' - -~. ~ . ~-- .- - ',~,1
, a - - ~~ ' - 5~.- E ~ . . ~. . 1. . -. . ;;~J
~.-:M F-~-~ "-~-.
~. . . . . . ~ , ~ . . . . . . . . ;-J
i!,~1
,I I Network I
I IIIIIIIII I
straints mentioned and make appli-
cations portable to new o p e r a t i n g
systems or LANs.
X Network Protocol
• G U I . T h e underlying user inter-
face shell (say Windows) is again
I X Server I I X Server I largely defined by the p u r p o s e o f
the CSS itself and the workstation
DeviceLibrary I DeviceUbrary o p e r a t i n g system. In general, the
UI should be as m o d u l a r as possible
so the Client can be p o r t e d from
I one operating system to another.
• Division of Responsibility.
Which processing is done on the
Client and which done on the
/
[ ] Dial-up
Wide Area
[ ] Leased Line Network
[ ] X-25 /
Vancouver
LAN
Database
II Marketing
File
APT (Sales System)
Ad-hoc database
Spreadsheet
Wordprocessing
Graphics
C O M M U N I C A T I O N S OF T H E ACM/July 1992/Vo1.35, N o . 7 97
I
j , 5.
Tech. Reps., McGraw-Hill, Inc.,
Delran, N.J. 713-101. June, 1990.
Dale, R. Client-Server database:
Architecture of the future. Database
Project Manager, Chevron Canada
Ltd., Vancouver B.C., Canada.
22. Winston, A. OS/2, Unix competing
for server selection. Softw. Mag.
Program. Design. (Aug. 1990), 2 8 - (May 1991).
I; 6.
37.
Fields, D., Ed. Client Server Comput-
ing: Making it Workfor You. Parallan
CR Categories and Subject Descrip-
tors: A.1 [General Literature]: Intro-
Computer, Inc., Mountain View, ductory and Survey; C.2.4 [Computer
Calif., 1990. Communication Networks]: Distrib-
7. Gold-Bernstein, B. Does Client- uted Systems--distributed applications;
t 8.
Server equal distributed database?
Database Prog. Design (Sept. 1990).
Harris, D. TLI. Unix Networking.
S.G. Kochan and P. Wood, Eds.,
H.3.4. [Information Systems]: Systems
and Software--information networks;
K.8.0 ]Personal Computing]: G e n e r a l - -
games
4 t 9.
Hayden Books Unix System Li-
brary, pp. 171-202.
IBM Corporation. IBM Local Area
Network Tech. Ref., SC30-3383-2,
General Terms: Design, Performance
Additional Key Words and Phrases:
Client-Server computing
About the Authors:
Make
1988.
ALOK S I N H A is a software design en-
10. IBM. APPC Programming Refer- gineer at Microsoft Corp. in Redmond,
ence. Operating System/2 Extended Wash. His current research interests are
Ed., Version 1.3. Sept. 1990, O r d e r distributed computing, directory ser-
~8 July 1992/Vol.35,No.7/COMMUNICATIONSO F T H E A C M