Remote Operations Service

In the general sense, any application carried out across a network can be considered a remote operation or set of operations. The ISO network standards define a notation and methodology for specifying these operations which has several advantages over ad hoc methods previously used: The intention of ROS is to make remote operations look as similar as possible to a localised procedure call. To allow a ;SPM_quot;generic;SPM_quot; implementation a single point of call and set of returns are provided, and the user-specified requests are ;SPM_quot;fed;SPM_quot; through this invokation. This invoke-point allows for arbitrarily complex arguments to be passed, using the ASN.1 encoding mechanism. Typical uses of ROS are for the implementation of ;SPM_quot;interactive;SPM_quot; protocols, applications-level exchanges between two or more processes where there may be bi- directional exchanges of requests or data. Examples include Mail Systems, Directory Services and File Transfer Systems. ROS and Abstract Data Types To achieve portability, network independence and self- consistency ROS represents applications, objects and operations using the concept of abstract data types. The most familiar application of abstract data types is in computer languages, where a set of built in types such as ;SPM_quot;integer;SPM_quot; or ;SPM_quot;character string;SPM_quot; can be used to specify other context-specific complex types. The use of abstract data types displays several useful properties: The last point can be seen as a disadvantage, since you still have to find out how to implement a given operation. That remains a general problem in computing! As long as the set of type-operations is the only point of contact for each type, (i.e. it is a Strongly Typed syntax as in PASCAL or ALGOL) this can be seen as an Object-Oriented architecture. This method for specifying the states and changes of abstract data is naturally extensible to complete Systems. ASN.1 and ROS The basis of the representation and implementation of Remote Operations in ISO specifications is the ASN.1 syntax as defined in ISO/CCITT X409.
  1. All Data Types and their encoding are defined in ASN.1
  2. The Remote Operation, its parameters returns and error conditions is defined using the ASN.1 ;SPM_quot;MACRO;SPM_quot; facility.
  3. Actual Remote Operations invocation is implemented using a set of Operational Protocol Data Units or OPDU. These are also defined in ASN.1, and may be mapped on to any suitable underlying network layer, typically the Session Layer or a Reliable Transfer Service or RTS.

Figure: The Remote Operations MACRO

As an example...

Figure: Example of a Remote Operation


  1. The Representation of an Operation is an integer.
  2. The Arguments of the Operation may be any ASN.1 construct.
  3. The Result of the Operation may be any ASN.1 construct.
  4. The Error list of the Operation is a list of integers. identifying the possible error returns.
Thus a minimal Remote Operation with no arguments, errors or result is represented as an integer returning nothing. The ERROR Macro: verbatim52 For example verbatim53 defines the error return badPIN to be a simple value, with no arguments and: verbatim54 defines the error return balenceExceeded to take one integer argument the allowed cash limit. Mapping the ROS macros into OPDUs The ROS operations, the results and errors have a set of 4 protocol data units called Operational Protocol Data Units or OPDU which sequence the exchange of ROS events. Client and server processes use these OPDU to implement the ROS exchange. verbatim55