Previous Page TOC Index Next Page

NETWORK SERVICES


The database server and client applications exchange information by sending messages through the computer network. SOLID Network Services have been designed to optimally utilize the existing services provided by communications protocols. The Network Services provide good performance by using an intelligent buffering system and as much parallelism as possible.

SOLID Server supports all the predominant communication protocols used in the open systems computing area. Please contact SOLID Online Services at http://www.solidtech.com/ to acquire the up-to-date list of supported communication protocols in each operating environment.

Intelligent Client/Server Communication

As a true client/server DBMS, SOLID Server provides simultaneous support for multiple network protocols and connection types. Both the database server and the client applications can be simultaneously connected to multiple sites using multiple different network protocols.

When a server is started, it will start listening to one or more protocols with network names that distinguish it in the network. A client application uses a similar network name to specify which protocol to use and which server to connect to. The operation of the Network Services is completely invisible to application developers - they simply use the SOLID SQL API to connect to database servers and link the appropriate communications libraries to the client application program.

In a distributed system, several clients may request a server to perform multiple operations concurrently. For maximum parallelism, SOLID Network Services utilize the operating system threads when available, to offer a seamless multi-user support. On non-threaded operating systems, the Network Services extensively use asynchronous operations for the best possible performance.

The intelligent buffering system used by the Network Services is widely configurable in order to allow network performance tuning when necessary. Additionally, the Network Services provide built-in network analysis tools that can be activated at any time to investigate performance problems or to solve error situations. For the introduction of these diagnostic tools, please refer to the chapter Problem Solving in the Managing SOLID Server section of this manual.

Network Architecture

SOLID Network Services are based on the remote procedure call (RPC) paradigm, which makes the communication interface simple to use: when a client application sends a request to the server, it looks like calling a local function. The Network Services invisibly route the request and its parameters to the server, where the actual service function is called by the RPC Server. When the service function completes, the return parameters are delivered back to the calling client application.

Undisplayed Graphic

SOLID Network Services provides simultaneous support for multiple network protocols and connection types.

Communication Session Layer

SOLID communication protocol DLLs (or static libraries) P1, P2, .., P5 offer a standard internal interface to each protocol. The protocol interface is BSD-socket like. It contains methods like listen, accept, select, connect, read, write, disconnect, and control.

The lowest part of the communication session layer works as a wrapper that takes care of choosing the correct protocol DLL or library that relates with the given address information. After this point, the actual protocol information of the session is hidden.

The communication session layer offers the RPC layer several useful utility services.

RPC Session Layer

The RPC session layer contains services for typed parameter passing. Both client and server utilize them for reading and writing all kinds of data, from standard C-types and up to the most complex internal data types.

For a server, the RPC session layer offers utilities that make it rather easy to declare the RPC service set that the server recognizes. The services are implemented as callback functions. The RPC level identifies the requested service, and hereby the RPC server level is able to call the correct callback routine when requested.

For a client, the RPC session level also allows many simultaneously pending RPC requests. A client can in a single operation wait for any pending request to complete.

Communication Threads

SOLID communication can exploit operating system threads when available. Where the operating system does not support threads, SOLID itself simulates the same logical communication threads. The communication thread types in SOLID Server are the following: (Note: All of the thread types are not always present; the actual occurrence depends on the configuration.)

Previous Page TOC Index Next Page

Copyright © 1992-1997 Solid Information Technology Ltd All rights reserved.