Browse Prior Art Database

Improved Remote Procedure Call Facility

IP.com Disclosure Number: IPCOM000112522D
Original Publication Date: 1994-May-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 6 page(s) / 205K

Publishing Venue

IBM

Related People

Anderson, MJ: AUTHOR [+3]

Abstract

A method for invoking a procedure on a remote computer system is disclosed. The invention combines the Remote Procedure Call concept with an architecture that provides automatic conversion of the host variable types used in the client program to the types expected by the remote procedure. It includes a method for remotely invoking existing locally-invokable programs on the server, and introduces a new SQL language statement for declaring the attributes of the remote program in the client program.

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

Improved Remote Procedure Call Facility

      A method for invoking a procedure on a remote computer system
is disclosed.  The invention combines the Remote Procedure Call
concept with an architecture that provides automatic conversion of
the host variable types used in the client program to the types
expected by the remote procedure.  It includes a method for remotely
invoking existing locally-invokable programs on the server, and
introduces a new SQL language statement for declaring the attributes
of the remote program in the client program.

      Combine the Remote Procedure Call (RPC) concept with run-time
services to do automatic conversion of data from the host variable
types used in the client program to the types expected by the remote
procedure, and visa-versa.  Also provide for automatic conversion of
character data in cases where the code pages and character sets of
the client and server platforms differ, and the automatic conversion
of numeric data where necessary.

      Use an SQL package concept such as that described in the
Distributed Relational Database Architecture to store information at
the server about the remote procedure and the calls to it.  Use a new
SQL DECLARE PROCEDURE statement to specify the attributes of the
called procedure and its parameters.  Flow this statement to the
server when the SQL package is created for the application.  Using
this information, the application requester and server determines the
type of data being passed at run-time and performs the necessary
conversions.  Provide information about parameter usage in the
DECLARE PROCEDURE statement.  The client support uses this
information to avoid sending output-only parameters to the
application server.  (If an implementor chooses to not support the
DECLARE PROCEDURE, it must provide a means to store the associated
information at the server and return information about input-only
parameters to the client.)

      Support new calling modes for use with the CALL beyond what was
specified in the proposed ANS and ISO standard for the CALL
statement.  We designate these by the terms SIMPLE CALL and SIMPLE
CALL WITH NULLS.  The SIMPLE CALL mode results in a one-to-one
correspondence between the parameters used on the CALL and the
arguments the procedure receives, allowing existing programs and
system APIs to be called remotely without making special provisions
on the server for doing so.  The SIMPLE CALL WITH NULLS results in a
one-to-one correspondence between parameters used on the CALL and the
arguments the of procedure except that an additional argument is
passed that contains information that tells which parameters are
NULLs.

      Following is an example of the DECLARE PROCEDURE and CALL
statements used to call a procedure named PGM1 with three parameters:
an integer input parameter, a 10-character parameter for both input
and output, and a 3-character output parameter.

  EXEC SQL DECLARE PGM1 PROCEDURE
    ...