Browse Prior Art Database

Common Programming Interface to Differing Server Capabilities Feature

IP.com Disclosure Number: IPCOM000118488D
Original Publication Date: 1997-Feb-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 112K

Publishing Venue

IBM

Related People

Kinn, J: AUTHOR [+2]

Abstract

Disclosed is a method to inform client (computer) applications that specific functions or processes they are requesting from a software server are not available without causing a fatal error.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Common Programming Interface to Differing Server Capabilities Feature

      Disclosed is a method to inform client (computer) applications
that specific functions or processes they are requesting from a
software server are not available without causing a fatal error.

      The server can be one of a number of different subsystems or
products with differing capabilities but supporting differing
functions through a Common Programming Interface (CPI).  These
servers could be competing products from different vendors or
different products from the same vendor supporting the same general
interface but in slightly different manners or implementations.

      A client, typically a user-supplied piece of software ("A" in
our diagram) executing perhaps on a individual work station or in
another address space on the same host, often issues requests to a
server.  For our purposes, a server is another piece of executable
software that may be located on a different machine, or architecture,
or address space, or is callable across a network via some form of
remote program call.  Typically, servers are vendor-supplied and
exist to facilitate services made of them by clients.  In our
example, servers "B" and "C" are different servers that the client
wishes to communicate with.  The client is using the same architected
interface, or CPI, ("D") in both cases.  This interface is often a
data list, parameter list, or control block that contains data values
that indicate to the server what function to provide and the data
that it must use to provide the function.  For example, a name server
might take a symbolic ("user@ibm.net") address in the CPI and
translate it to  some specific protocol address (e.g., 9.117.119.150)
that is returned to the client in the CPI.

      Not all servers, even if they claim to support a CPI, can
process every piece of a request that a particular client may make.
There might be something in the data list that a particular server
chooses not to support or perhaps can not support due to some
restriction.  An example might be a server on a octal-based machine
not understanding hexidecimal data values in an input field (e.g.,
digits in the range of '8'-->'F' are not understood in an octal-based
architecture).

      In many cases, either the information that can not be processed
in the data list is ignored without the client application knowing
that some of their requested input was not considered in the handling
of the request or process by the server.  Or a gross-level of failure
might occur in the server totally failing the request even if the
inability to process a particular piece of the paramete...