OpenTP1 Version 7 Description

[Contents][Glossary][Index][Back][Next]

Appendix D.2 Overview of processing a remote procedure call to remote nodes

The following figure provides an overview of processing a remote procedure call to remote nodes.

Figure D-2 Overview of processing a remote procedure call to remote nodes

[Figure]

[Figure]

The flow of processing shown in the figure is described below. The numbers correspond to the circled numbers in the figure. Numbers 1-3 and 5-8 describe TP1-X processing, number 4 describes TP1-A, TP1-B, and TP1-C processing, and numbers 9-12 describe TP1-C processing.

  1. Checks whether the corresponding service information has been registered in the local and global caches by using as the search key the service group name that was specified in an argument of the dc_rpc_call function.
  2. If there is no corresponding service information, a service information search request is sent to the name service.
    If the local or global cache contains the corresponding service information, but the conditions listed below are met, the system deletes the service information from the global cache and then sends a service information search request to the name service:
    • The global cache contains the corresponding service information, but that service information has expired.#1
    • This is the first service information search request issued from a UAP to the corresponding service after the UAP was started at the local node.
  3. The name service of TP1-X that receives the service information search request sends out the request to the nodes (TP1-A, TP1-B, and TP1-C) specified in the all_node operand in the system common definition.
    Note that if the all_node operand is omitted, the name service does not send the service information search request. If any of the target nodes specified in the all_node operand are registered in the RPC suppression list,#2 the service information search request is not sent to those nodes.
  4. The name services of TP1-A, TP1-B, and TP1-C that receive the service information search request search their local caches for the corresponding service group and then send the results back to the name service of TP1-X.
  5. Upon receiving from the other nodes the responses to the service request, the name service of TP1-X registers the received service information in the global cache.
  6. The name service of TP1-X returns the service information obtained from the searches to the UAP that issued the service request.
  7. If multiple UAPs with the same service group name are running, one of the UAPs (server UAP2) is selected as the recipient of the service request by TP1's internal processing. In this example, TP1-C is selected as the recipient.
  8. A service execution request is sent to the schedule service of TP1-C that was selected in 7.
  9. The schedule service that receives the service request registers the service request in the message queue for the target UAP (server UAP2) in the corresponding service group.
  10. The target UAP (server UAP2) for which the service request has been registered retrieves the service request from the message queue.
  11. Executes the service function.
  12. After the service function has executed, the UAP (server UAP2) that received the service request sends a response message directly to the UAP that issued the service request.

#1
This is the amount of elapsed time from when the service information was acquired to the time specified in the name_cache_validity_time operand in the name service definition.
For details about the name_cache_validity_time operand, see the manual OpenTP1 System Definition.

#2
This list contains information about inactive nodes.
If communication with another node's name server fails, that node is registered in the RPC suppression list. Once a node is registered in the RPC suppression list, all service information for that node is deleted from the global cache. If the node monitoring function detects that a node's status has changed from inactive to active, the information about that node is then deleted from the RPC suppression list.
For details, see 3.2.3(3) Facility for monitoring nodes registered in the RPC suppression list.