Local Area Network Server Remote Application Programming Interface Support
Original Publication Date: 1991-Dec-01
Included in the Prior Art Database: 2005-Apr-04
Lehnertz, GK: AUTHOR [+3]
This article describes a technique for use in a local area network (LAN) which allows the same code to execute on either the server or the workstation.
Local Area Network Server Remote Application Programming
describes a technique for use in a local
area network (LAN) which allows the same code to execute on either
the server or the workstation.
practice, a software system supporting functions
residing on a workstation and a server would involve the design and
development of unique pieces of code for each machine type. In
particular, a system of application programming interfaces (APIs)
providing hardware support on the server as well as individual
workstations needs to modify its execution dependent upon the machine
type which is executing the function. While these would be similar
in nature, they must execute differently depending upon where they
reside. In addition, they must take into consideration receiving and
transmitting parameters and data. These are unique for the different
machines as well.
The basis for
the design disclosed herein rests on the concept
that the same code can be executed on either the server or
workstation machines with the proper interfaces and coordination.
Rather than design separate functions depending upon where they are
executed, the current implementation executes the same code on all
machines on the LAN. To further simplify the overall system, there
is a single coordination protocol for all modules to use in
requesting server support and receiving any returned information.
point for coordinating this system are two system
programming interfaces (SPIs) on the server and one on each
workstation. These do the work of ensuring that all requests are
handled and any API unique requirements are handled. Each API is
designed to check whether the particular device is local or remote.
Finally, each API has two routines associated with it to copy
parameters or returned data to/from LAN data packets (referred to as:
CopyIn and CopyOut). Due to the limits put upon data packages by the
LAN, if any API is required to move large blocks of data (>64K), a
provision is made for invoking an "ExtraData" function to send this
data to and/or from the server.
is a flow diagram of remote API server support.
the workstation side of the LAN, each API checks as to whether the
requested device is local or remote through a QueryDevice SPI. If
local, the processing is handled on the workstation. If it is a
remote device, the destination is set as such and the RemoteRequestor
SPI is invoked with a pointer to the parameter list and the API
function (number) to be executed on the server. RemoteRequestor opens
a session (named pipe) on the server. It then executes the API CopyIn
routine with the w...