rfc2188.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,709 行 · 第 1/5 页

TXT
1,709
字号
   ESROS      -------------------    -------------------     ESROS
   User      | Layer above ESROS |  | Layer above ESROS |    User
   (Invoker) |                   |  |                   |  (Performer)
              -------------------    -------------------
      ^                |                      |                ^
      |                |                      |                |
      v                |                      |                v
   ESROS     -------------------    -------------------      ESROS
   Provider |       ESROS       |  |       ESROS       |    Provider
             -------------------    -------------------
                       |                      |
                       |                      |
                       |                      |
             -------------------    -------------------
            |    UDP           |   |   UDP             |
             -------------------    -------------------
                     _                    _/
                       _                _/
                         _    .       _/
                           _ . .* . _/
                             . * .* .
                               * . *


                    Figure 1:  ES Remote Operation Model


























Banan, et. al                Informational                      [Page 7]

RFC 2188                          ESRO                    September 1997


                  Invoker        Performer
                 ESRO SAP         ESRO SAP
                       |               |
                       |               |
   ESROS-INVOKE.req.   |               | ESROS-INVOKE.ind.
   -------->-----------|               |-------->---------
                       |               |
   ESROS-INVOKE-P.conf.|               |
   --------<-----------|               |
                       |               |
                       |               |
                       |               |
   ESROS-RESULT.ind.   |               | ESROS-RESULT.req.
   --------<-----------|               |--------<---------
                       |               |
                       |               | ESROS-RESULT.conf.
                       |               |-------->---------
                       |               |
                       |               |
   ESROS-ERROR.ind.    |               | ESROS-ERROR.req.
   --------<-----------|               |--------<---------
                       |               |
                       |               | ESROS-ERROR.conf.
                       |               |-------->---------
                       |               |
                       |               |
                       |               |
                       |               |
   ESROS-FAILURE.ind.  |               | ESROS-FAILURE.ind.
   --------<-----------|               |-------->---------
                       |               |


             Figure 2:  Time sequence diagram for ESRO services



2  ESRO SERVICE DEFINITIONS

   ESRO service primitives are illustrated in Figure 2, Table 1 and
   Table 2.  The description of services and primitives comes in the
   following sections.

   ESROS-User accesses ESRO services through Efficient Short Remote
   Operations Service Access Point (ESRO-SAP) as shown in Figure 2.

   The RESULT.request, ERROR.request and FAILURE.indication service
   primitives can be implemented in two different modes:



Banan, et. al                Informational                      [Page 8]

RFC 2188                          ESRO                    September 1997


    1. Acknowledged Result, and

    2. Non-Acknowledged Result

                 _____________________________________________
                 | ESRO Service   |Type                      |
                 |________________|__________________________|
                 | ESROS-INVOKE   |Non-confirmed             |
                 | ESROS-INVOKE-P |Provider-initiated        |
                 | ESROS-RESULT   |Confirmed / Non-confirmed |
                 | ESROS-ERROR    |Confirmed / Non-confirmed |
                 | ESROS-FAILURE  |Provider initiated        |
                 |________________|__________________________|

                           Table 1:  ESRO Services

   as described below.  The difference between different modes is in
   their reliability of service and efficiency.  Reliability of service
   is defined based on the understanding of invoker and performer about
   the success or failure of the operation on the peer side.  Table 3
   and Table 4 summarize understanding of performer about success or
   failure on invoker side in different situations.  In these tables the
   FAILURE.indication refers to the primitive generated by protocol and
   not the failure of local provider.

2.1  Acknowledged Result Service Mode

   In this service mode, the result is acknowledged by invoker, but the
   mechanism by which the acknowledgment is accomplished may not be
   reliable.  Table 3 summarizes the relationship between performer and
   invoker in success and failure cases.

2.1.1  Performer side

   In this type of service, the RESULT.confirm and ERROR.confirm
   primitives on performer side are generated if the result/error is
   acknowledged by invoker.

   The FAILURE.indication on performer side is generated if result/error
   is not acknowledged by invoker or if there is a local failure on
   performer side.

   >From the protocol point of view, the FAILURE.indication might be
   because either the result/error PDU or the ack PDU is lost.  The
   outcome of this is that a FAILURE.indication is not robust as the
   operation may have been successful from the invoker's perspective.
   One method of compensating for this shortcoming is having the
   performer verify the FAILURE.indication in a separate operation.



Banan, et. al                Informational                      [Page 9]

RFC 2188                          ESRO                    September 1997


   ____________________________________________________________
   | Primitive                |Parameters                     |
   |--------------------------+-------------------------------|
   |                          |Operation-value                |
   |                          |Performer-address              |
   | ESROS-INVOKE.request     |Invoke-argument-encoding-type  |
   |                          |Invoke-argument                |
   |--------------------------+-------------------------------|
   |                          |Operation-value                |
   |                          |Invoker-address                |
   | ESROS-INVOKE.indication  |Invoke-argument-encoding-type  |
   |                          |Invoke-argument                |
   |                          |Invoke-ID                      |
   |--------------------------+-------------------------------|
   | ESROS-INVOKE-P.confirm   |Invoke-ID                      |
   |==========================================================|
   |                          |                               |
   |                          |Result-argument-encoding-type  |
   | ESROS-RESULT.request     |Result-argument                |
   |                          |Invoke-ID                      |
   |--------------------------+-------------------------------|
   |                          |Result-argument-encoding-type  |
   | ESROS-RESULT.indication  |Result-argument                |
   |                          |Invoke-ID                      |
   |--------------------------+-------------------------------|
   | ESROS-RESULT.confirm     |Invoke-ID                      |
   |==========================================================|
   |                          |                               |
   |                          |Error-value                    |
   |                          |Error-argument-encoding-type   |
   | ESROS-ERROR.request      |Error-argument                 |
   |--------------------------+-------------------------------|
   |                          |Error-value                    |
   |                          |Error-argument-encoding-type   |
   | ESROS-ERROR.indication   |Error-argument                 |
   |                          |Invoke-ID                      |
   |--------------------------+-------------------------------|
   | ESROS-ERROR.confirm      |Invoke-ID                      |
   |==========================================================|
   |                          |                               |
   |                          |Failure-value                  |
   | ESROS-FAILURE.indication |Invoke-ID                      |
   |__________________________|_______________________________|


    Table 2:  ESRO service primitives and associated parameters





Banan, et. al                Informational                     [Page 10]

RFC 2188                          ESRO                    September 1997


   ______________________________________________________________
   |Service Mode        |Performer          |Invoker            |
   |--------------------+-------------------+-------------------|
   |Acknowledged Result |RESULT.confirm     |RESULT.indication  |
   |                    |-------------------+-------------------|
   |                    |FAILURE.indication |RESULT.indication  |
   |                    | (protocol)        |                   |
   |                    |-------------------+-------------------|
   |                    |FAILURE.indication |FAILURE.indication |
   |                    | (protocol)        | (protocol)        |
   |____________________|___________________|___________________|


    Table 3:  Success and Failure in Acknowledged Result Mode


   __________________________________________________________________
   |Service Mode            |Performer           |Invoker            |
   |------------------------+--------------------+-------------------|
   |Non-acknowledged Result |RESULT.confirm      |RESULT.indication  |
   |                        +--------------------+-------------------|
   |                        |RESULT.confirm      |FAILURE.indication |
   |                        |                    | (protocol)        |
   |                        +--------------------+-------------------|
   |                        |FAILURE.indication  |                   |
   |                        |(protocol)          |                   |
   |                        |does not            |---                |
   |                        |exist               |                   |
   |________________________|____________________|___________________|


    Table 4:  Success and Failure in Non-acknowledged Result Mode



2.1.2  Invoker side

   When invoker receives failure indication, the performer has the
   failure indication too.

   This type of service can be implemented by protocols based on 3-Way
   handshaking.

2.2  Non-acknowledged Result

   In this service mode the result is not acknowledged.  Table 4
   summarizes the relationship between performer and invoker in success
   and failure cases.



Banan, et. al                Informational                     [Page 11]

RFC 2188                          ESRO                    September 1997


2.2.1  Performer side

   In this type of service, the RESULT.confirm and ERROR.confirm
   primitives on performer side are generated without receiving
   additional information from the invoker peer.  In other words, these
   Primitives have no protocol-related meaning and convey no
   information, other than end-of-operation.

   The FAILURE.indication on performer side is not generated by
   protocol.  The only case that can generate FAILURE.indication on
   performer side is local failure in service provider on performer
   side.

2.2.2  Invoker side

   The FAILURE.indication on invoker side can be the resultof not
   receiving result/error/failure from peer performer or it can result
   from failure in local service provider.

   This type of service can be implemented by protocols based on 2-Way
   handshaking.

2.3  Serialized Use of ESRO Services

   Although the ESRO Services are defined to support asynchronous
   operation invocation in general, they can be used in the special case
   of synchronous (serialized) mode too.  The serialized use of ESRO
   Services is implementation specific.  However, one of the possible
   scenarios is as follows:

2.3.1  Invoker

   Invokes an operation after it receives either RESULT.indication,
   ERROR.indication, or FAILURE.indication for the previous operation.

2.3.2  Performer

   Considers an operation to be complete and accepts the next operation
   after it receives RESULT.confirm, ERROR.confirm, or
   FAILURE.indication.











Banan, et. al                Informational                     [Page 12]

RFC 2188                          ESRO                    September 1997


                  Invoker        Performer
                 ESROS AP         ESROS AP
                       |               |
                       |               |
   ESROS-INVOKE.req.   |               | ESROS-INVOKE.ind.
   -------->-----------|               |-------->---------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?