linked to VserviceEx[treme] through
fact, be a client of Vservice. All VsamEx[treme] dataset
requests will go through the VserviceEx[treme] Server module if it is found
on the selected remote system. Otherwise, the
datasets are opened automatically, the old fashion way, using file sharing
through the OS.
The key here is
that the application code will not have to change. You "drop in" the
VserviceEx[treme] modules and the application works just the way it did before!
VserviceEx[treme] can reduce network traffic by a factor of 20 or more. The only data
that will move across the network will be commands and record data. In current
implementations of Microsoft's file sharing technology, there is a very large
penalty to pay when accessing datasets using shared modes. For example:
Microsoft library functions performing shared random I/O with a file on
another computer, a typical single file access can process about 60 to 100
blocks (of 200 bytes) per second. Just having a second user open the same
dataset (from another computer) can cause the performance to degrade by a
factor of 5, especially after one of the users writes a record. The network
messaging that goes back and forth is intense. Adding a 3rd and 4th user
degrades performance even further and by the time you have 5 to 10 users all
doing I/O at the same time, the network activity is incredible! Performance is
much reduced and network bandwidth is restricted quite a bit.
On the other hand, a
request through the VserviceEx[treme] Service module will send just a single
command and receive one (or more records). Network traffic is reduced to a
minimum - just the data needed for the request (about 20 bytes) and the
record data that is returned. All file access is done by the host system where the
dataset resides, relieving Microsoft sharing routines from their machinations
including the need to constantly send file update information back and forth
between the Clients and file server system - not to mention locking and
updating requirements for the ISAM engine itself!
access hosted by VserviceEx[treme] can handle hundreds even thousands of users in a
nominal data access mode. In custom implementations of this technology, we have
seen network load reduced by a factor of 20 and corresponding improvements in
Another advantage of
using VserviceEx[treme] is that Clients running in both Windows and Linux will be able to
connect to a common Host. The beauty here is that
the application will not change at all. Everything will be handled by
Since VsamEx[treme] datasets
are 100% binary compatible between Linux and Windows implementations, record
exchange is simple and happens without conversion. VserviceEx[treme] uses a simple concise command and control
methodology that is 100% binary compatible between these two Operating Systems.
VserviceEx[treme] Client/Server Drop-in!
The Vservice Client
is already imbedded in VsamEx[treme]. It supports a transparent link
to any Vservice server, running on any system where shared datasets are
invoke attachment to a Vservice host, simply include file specifications
to the VsamOpen function that
For remote access, the
client issues a connect request to the named remote location, “Dataset Server”,
using standard TCP/IP socket technology. Once connected, an attempt to attach
to the Vservice module is made. If Vservice acknowledges its presence, all
further data access for that Dataset will go through Vservice on that host - otherwise
access will revert to the usual shared modes. Local files will be accessed
locally as usual (C:\dir1\dirx\...\dataset). The application will not need to
know anything is different. There will be additional error returns possible
denoting possible network type errors - but,
for the most part, generic error handling will take care of that.
maintaining datasets to be shared through Vservice must run a licensed copy of Vservice on the host. The server name is the
network computer name or an IP address.
"\\" as a prefix to any file spec indicates remote file access. If
the file is local and you use the "\\" prefix, file access will still
go through Vservice. If Vservice can resolve the file name and path to a real
drive/path, it will open the file as a locally shared file.
Otherwise, it will generate a TCP/IP socket request (to the
local machine). If Vservice is not running, the "\\" prefix will
simply be a request for a network shared resource. To use local access and direct I/O the application should
not use the "\\" prefix on the DataSet specification.