OpenTP1 Version 7 Description

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

Appendix D.3 Overview of global search processing

Global search is a service search method employed at the local OpenTP1 system to search the nodes specified in the all_node operand and the nodes specified in the all_node operands at the corresponding nodes. For details about the global search facility, see 3.2.2(1) Global search facility.

The figure below provides an overview of global search processing. For details about the service information search conditions, see D.2 Overview of processing a remote procedure call to remote nodes.

Figure D-3 Overview of global search processing

[Figure]

[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 9-12 describe TP1-X processing, numbers 4, 5, 7, and 8 describe TP1-A processing, number 6 describes TP1-B, TP1-C, and TP1-D processing, and numbers 13-16 describe TP1-D 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.
  3. TP1-X sends a service information global search request to the node (TP1-A) that was specified in the all_node operand in the system common definition.
  4. The name service of TP1-A that receives the global search request searches its local and global caches for the corresponding service group.
  5. If no applicable service information is found in the caches, TP1-A sends a service information search request to the nodes (TP1-B, TP1-C, and TP1-D) specified in the all_node operand in the system common definition.
  6. The name services of TP1-B, TP1-C, and TP1-D 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-A.
  7. Upon receiving from the other nodes the responses to the service request, the name service of TP1-A registers the received service information in the global cache.
  8. The name service of TP1-A sends the service information obtained from the searches to the name service of the TP1-X node that issued the service request.
  9. Upon receiving the responses to the global service search request from TP1-A, the name service of TP1-X registers the received service information in the global cache.
  10. The name service of TP1-X returns the service information obtained from the searches to the UAP that issued the service request.
  11. If multiple UAPs with the same service group name are running, one of the UAPs (server UAP1) is selected as the recipient of the service request. In this example, TP1-D is selected as the recipient.
  12. A service execution request is sent to the schedule service of TP1-D that was selected in 11.
  13. The schedule service that receives the service request registers it in the message queue for the target UAP (server UAP1) in the corresponding service group.
  14. The target UAP (server UAP1) for which the service request has been registered retrieves the service request from the message queue.
  15. Executes the service function.
  16. After the service function has executed, the UAP (server UAP1) that received the service request sends a response message directly to the UAP that issued the service request.