Browse Prior Art Database

Remote Procedure Call Stub Size Reduction Technique - Combining Parameter Code

IP.com Disclosure Number: IPCOM000106026D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 2 page(s) / 79K

Publishing Venue

IBM

Related People

Huggins, JK: AUTHOR [+2]

Abstract

Currently the Remote Procedure Call (RPC) stubs generated by the OSF DCE IDL compiler are quite large. Space efficiency (both in terms of run-time memory and DASD requirements) becomes an important concern as a port of DCE to the OS/2* environment is contemplated, and remains a significant concern even on larger platforms. Investigations into possible methods for minimizing RPC stub size are being conducted at this time.

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

Remote Procedure Call Stub Size Reduction Technique - Combining Parameter Code

      Currently the Remote Procedure Call (RPC) stubs generated by
the OSF DCE IDL compiler are quite large.  Space efficiency (both in
terms of run-time memory and DASD requirements) becomes an important
concern as a port of DCE to the OS/2* environment is contemplated,
and remains a significant concern even on larger platforms.
Investigations into possible methods for minimizing RPC stub size are
being conducted at this time.

     RPC stubs contain procedures corresponding to the exportable
operations for the interface.  Each procedure is roughly laid out
into three sections:  (a) code for local declarations and
initialization, (b) code for parameter marshalling, parameter
unmarshalling, and call execution, and (c) code for local
finalization and error reporting.  A means for sharing code between
sections (a) and (c) above, leaving section (b) untouched for each
procedure of the stub has been previously described.  The algorithm
has resulted in 30-60% stub size reductions.

     This invention focuses upon sharing code between section (b) of
each operation procedure in the stub.  Often, a particular parameter
type (e.g. a specific array type) will occur as a parameter to more
than one operation within a stub.  The code used to marshall and
unmarshall such parameters for transmission over the network is often
identical.

     Our algorithm performs an analysis to detect which parameters
present across all operations are sufficiently similar to be combined
in this manner.  Using a type-checking module, the algorithm compares
the type structures generated by the IDL compiler for each parameter.
If the type structures are equivalent, and no field attributes are
present, the corresponding parameters are eligible for sharing of
marshalling/unmarshalling code.  Note that this analysis is performed
independently of parameter names; that is, if two parameters have
different names but are still of sufficiently similar types, their
marshalling/unmarshalling code may be shared....