JP6211487B2 - Distributed system, data acquisition method, and computer program - Google Patents

Distributed system, data acquisition method, and computer program Download PDF

Info

Publication number
JP6211487B2
JP6211487B2 JP2014170913A JP2014170913A JP6211487B2 JP 6211487 B2 JP6211487 B2 JP 6211487B2 JP 2014170913 A JP2014170913 A JP 2014170913A JP 2014170913 A JP2014170913 A JP 2014170913A JP 6211487 B2 JP6211487 B2 JP 6211487B2
Authority
JP
Japan
Prior art keywords
data
management information
acquisition
node
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014170913A
Other languages
Japanese (ja)
Other versions
JP2016045807A (en
Inventor
駿介 森
駿介 森
義則 望月
義則 望月
横田 大輔
大輔 横田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014170913A priority Critical patent/JP6211487B2/en
Publication of JP2016045807A publication Critical patent/JP2016045807A/en
Application granted granted Critical
Publication of JP6211487B2 publication Critical patent/JP6211487B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散システム、データ取得方法及びコンピュータプログラムに関する。   The present invention relates to a distributed system, a data acquisition method, and a computer program.

特許文献1には、ネットワークに接続される制御機器がサポートするプロトコル名、プロトコルのコマンド情報、コマンド種別を含むプロファイル情報を格納したコマンド変換記憶手段と、情報処理機器からターゲットとなる制御機器宛ての送信データを受信した際に、コマンド変換記憶手段にアクセスし、その送信データに格納されたコマンドがそのターゲットとなる制御機器が理解できるコマンドか否かを判断する判断手段と、その判断手段の判断結果が理解できる場合には受信したコマンドを用いた送信データをターゲットとなる制御機器に送信し、理解できない場合にはプロファイル情報に基づき理解できるコマンドに変換して生成した送信データをターゲットとなる制御機器に送信する手段を備える情報変換サーバが開示されている。   Patent Document 1 discloses a command conversion storage unit that stores a protocol name supported by a control device connected to a network, protocol command information, and profile information including a command type, and is addressed from the information processing device to the target control device. When receiving the transmission data, the command conversion storage means is accessed, and a judgment means for judging whether or not the command stored in the transmission data is a command understandable by the target control device, and judgment of the judgment means If the result can be understood, the transmission data using the received command is transmitted to the target control device. If the result cannot be understood, the transmission data generated by converting the command into an understandable command based on the profile information is controlled by the target. An information conversion server comprising means for transmitting to a device is disclosed .

特開2005−260893号公報JP-A-2005-260893 特許第5568067号Japanese Patent No. 5568067

ところで、複数の装置(「ノード」という)が通信ネットワークを介して接続された分散システムにおいて、或るノードが他ノードの保持するデータを取得する方法には、例えば、Request/Reply(「Req/Rep」という)通信によってデータを取得する方法、共有メモリからデータを取得する方法、又はPublish/Subscribe(「Pub/Sub」という)通信に係る同報通知を受信することによりデータを取得する方法などがある。この場合、或るノードは、これらの中から適切なデータ取得方法を選択して他ノードからデータを取得する必要がある。   Incidentally, in a distributed system in which a plurality of devices (referred to as “nodes”) are connected via a communication network, a method for obtaining data held by another node from another node is, for example, Request / Reply (“Req / A method of acquiring data by communication), a method of acquiring data from a shared memory, a method of acquiring data by receiving a broadcast notification relating to Publish / Subscribe (referred to as “Pub / Sub”) communication, etc. There is. In this case, a certain node needs to acquire data from other nodes by selecting an appropriate data acquisition method from these.

しかし、これらのデータ取得方法は、それぞれ使用されるパラメータ及びエラー発生時の処理などが異なり得る。例えば、Req/Rep通信によるデータ取得方法と、Pub/Sub通信によるデータ取得方法と、共有メモリによるデータ取得方法とでは、エラー処理方法などが異なり得る。   However, these data acquisition methods may be different in parameters used, processing when an error occurs, and the like. For example, an error processing method or the like may differ between a data acquisition method using Req / Rep communication, a data acquisition method using Pub / Sub communication, and a data acquisition method using a shared memory.

そこで本発明の目的は、データ取得方法の違いによって生じ得るエラー処理方法の違いなどを意識することなくアプリケーションプログラムがデータを取得できるようにした分散システム、データ取得方法及びコンピュータプログラムを提供することにある。   Accordingly, an object of the present invention is to provide a distributed system, a data acquisition method, and a computer program that enable an application program to acquire data without being aware of a difference in error processing method that may occur due to a difference in data acquisition method. is there.

本実施形態に係る分散システムは、管理装置及び複数のノードによって構成される。
管理装置は、データを識別するためのデータ識別子と、そのデータ識別子に対応するデータのデータ取得方法とを含む、管理情報を有する。
ノードは、
アプリケーションプログラムから、データ識別子と、そのデータ識別子に対応するデータの取得処理においてエラーが発生した場合の対応方法を表すエラー処理方法とを含む、データの取得を要求する取得コマンドを受け取ると、
取得コマンドに含まれるデータ識別子に関連する管理情報を管理装置から取得し、
その取得した管理情報に含まれるデータ取得方法に基づき、データ識別子に対応するデータの取得処理を実行し、
その取得処理においてエラーが発生した場合、取得コマンドに含まれるエラー処理方法に基づいてエラー処理を実行し、
取得処理又はエラー処理によってデータ識別子に対応するデータを取得した場合、その取得したデータをアプリケーションプログラムに返す。
The distributed system according to the present embodiment includes a management device and a plurality of nodes.
The management device has management information including a data identifier for identifying data and a data acquisition method for data corresponding to the data identifier.
Node is
When receiving an acquisition command for requesting acquisition of data, including a data identifier and an error processing method representing a response method when an error occurs in the acquisition processing of data corresponding to the data identifier, from the application program,
Acquire management information related to the data identifier included in the acquisition command from the management device,
Based on the data acquisition method included in the acquired management information, execute the data acquisition process corresponding to the data identifier,
If an error occurs in the acquisition process, execute the error process based on the error processing method included in the acquisition command,
When the data corresponding to the data identifier is acquired by the acquisition process or the error process, the acquired data is returned to the application program.

本発明によれば、アプリケーションプログラムが、データ取得方法の違いによって生じ得るエラー処理内容の違いなどを詳細に指示することなく、データを取得することができる。   According to the present invention, it is possible for an application program to acquire data without instructing in detail a difference in error processing content that may occur due to a difference in data acquisition method.

一実施形態に係る分散システムの構成例を示す。2 shows an example of the configuration of a distributed system according to an embodiment. ノードの構成例を示す。A configuration example of a node is shown. アクセスミドルウェアの機能構成例を示す。An example of the functional configuration of the access middleware is shown. 管理装置の構成例を示す。The structural example of a management apparatus is shown. 管理アプリケーションの機能構成例を示す。An example of the functional configuration of a management application is shown. プロパティ情報の構成例を示す。A configuration example of property information is shown. 管理情報テーブルの構成例を示す。The structural example of a management information table is shown. リンクテーブルの構成例を示す。The structural example of a link table is shown. キャッシュテーブルの構成例を示す。The structural example of a cache table is shown. 更新情報テーブルの構成例を示す。The structural example of an update information table is shown. 取得コマンドの構成例を示す。A configuration example of an acquisition command is shown. 取得コマンド結果の構成例を示す。A configuration example of the acquisition command result is shown. 結果コードの例を示す。An example of the result code is shown. クエリコマンドの構成例を示す。The structural example of a query command is shown. クエリコマンド結果の構成例を示す。The structural example of a query command result is shown. 管理情報の登録要求メッセージの構成例を示す。The structural example of the registration request message of management information is shown. 管理情報の登録応答メッセージの構成例を示す。The structural example of the management information registration response message is shown. 管理情報の取得要求メッセージの構成例を示す。The structural example of the acquisition request message of management information is shown. 管理情報の取得応答メッセージの構成例を示す。The structural example of the acquisition response message of management information is shown. データの取得要求メッセージの構成例を示す。The structural example of a data acquisition request message is shown. データの取得応答メッセージの構成例を示す。The structural example of a data acquisition response message is shown. Pub/Subメッセージの構成例を示す。The structural example of a Pub / Sub message is shown. 管理情報の削除要求メッセージの構成例を示す。The structural example of the management information deletion request message is shown. 管理情報の削除応答メッセージの構成例を示す。The structural example of the deletion response message of management information is shown. ノードが管理装置に管理情報の登録を要求する処理の例を表すシーケンスチャートである。It is a sequence chart showing the example of the process in which a node requests | requires registration of management information to a management apparatus. 管理装置における管理情報の登録処理の例を表すフローチャートである。It is a flowchart showing the example of the registration process of the management information in a management apparatus. ノードがノードからデータを取得する処理の例を表すシーケンスチャートである。It is a sequence chart showing the example of the process in which a node acquires data from a node. アクセスミドルウェアにおける管理情報の取得処理の例を表すフローチャートである。It is a flowchart showing the example of the acquisition process of the management information in access middleware. 管理情報の取得要求メッセージを受けた管理装置の処理の例を表すフローチャートである。It is a flowchart showing the example of a process of the management apparatus which received the acquisition request message of management information. ノードにおけるデータ取得処理の例を表すフローチャートである。It is a flowchart showing the example of the data acquisition process in a node. 要求側のノードにおけるReq/Rep通信によるデータ取得処理の例を表すフローチャートである。It is a flowchart showing the example of the data acquisition process by Req / Rep communication in the node of a request side. 応答側のノードにおけるReq/Rep通信によるデータ取得処理の例を表すフローチャートである。It is a flowchart showing the example of the data acquisition process by Req / Rep communication in the node of a response side. ノードにおける共有メモリ参照によるデータ取得処理の例を表すフローチャートである。It is a flowchart showing the example of the data acquisition process by the shared memory reference in a node. ノードにおけるPub/Sub通信によるデータ取得処理の例を表すフローチャートである。It is a flowchart showing the example of the data acquisition process by Pub / Sub communication in a node. ノードが管理装置に対して管理情報の削除要求を行う処理の例を表すシーケンスチャートである。It is a sequence chart showing the example of the process which a node performs the deletion request | requirement of management information with respect to a management apparatus. 管理情報の削除要求メッセージを受信した管理装置の削除処理を表すフローチャートである。It is a flowchart showing the deletion process of the management apparatus which received the deletion request message of management information.

以下、本実施形態に係る分散システムを説明する。以下の説明では、「xxxテーブル」又は「xxxリスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」又は「xxxリスト」を「xxx情報」と呼ぶことができる。   Hereinafter, the distributed system according to the present embodiment will be described. In the following description, information may be described in terms of “xxx table” or “xxx list”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table” or the “xxx list” can be called “xxx information”.

また、以下の説明において、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。   Further, in the following description, a program is executed by a processor (for example, a CPU (Central Processing Unit)), so that a predetermined process is appropriately performed at least one of a storage resource (for example, a memory) and a communication interface device. Therefore, the subject of the processing may be a processor and a device having the processor. Part or all of the processing performed by the processor may be performed by a hardware circuit. The computer program may be installed from a program source. The program source may be a program distribution server or a storage medium (for example, a portable storage medium).

また、以下の説明では、同種の要素を区別して説明する場合には、「ノード102a」、「ノード102b」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「ノード102」のように参照符号のうちの共通番号のみを使用することがある。   Also, in the following description, when different types of elements are described separately, reference numerals are used such as “node 102a” and “node 102b”, and the same types of elements are not distinguished. In some cases, only a common number among the reference symbols is used, such as “node 102”.

図1は、一実施形態に係る分散システム1の構成例を示す。   FIG. 1 shows a configuration example of a distributed system 1 according to an embodiment.

分散システム1は、計算機の一種である複数のノード102と、計算機の一種である管理装置103とを有する。各ノード102及び管理装置103は、通信ネットワーク101を通じて互いにメッセージ(データ)を送受信することができる。ノード102及び管理装置103の数は、幾つであってもよい。   The distributed system 1 includes a plurality of nodes 102 that are a kind of computer and a management apparatus 103 that is a kind of computer. Each node 102 and the management apparatus 103 can send and receive messages (data) to and from each other through the communication network 101. There may be any number of nodes 102 and management apparatuses 103.

通信ネットワーク101に接続されている各ノード102は、管理装置103へアクセスするための情報(例えば、管理装置103のIP(Internet Protocol)アドレスなど)を有してよい。通信ネットワーク101に接続されている所定のノード102及び管理装置103は、Pub/Sub通信を利用できてよい。Pub/Sub通信とは、或るノード102がメッセージを同報通知し、そのメッセージを受信した他ノード102は、そのメッセージに自分が受信待ちしていたトランザクションID(Identification)が含まれているならば、そのメッセージを取得する(受け入れる)という通信方法である。   Each node 102 connected to the communication network 101 may have information for accessing the management apparatus 103 (for example, an IP (Internet Protocol) address of the management apparatus 103). The predetermined node 102 and the management apparatus 103 connected to the communication network 101 may be able to use Pub / Sub communication. In the Pub / Sub communication, when a certain node 102 broadcasts a message and the other node 102 that received the message includes the transaction ID (Identification) that the message has been waiting to be received. For example, the communication method is to acquire (accept) the message.

図2は、ノード102の構成例を示す。   FIG. 2 shows a configuration example of the node 102.

ノード102は、例えば、コントローラ(制御装置)、ワークステーション又はパーソナルコンピュータ等である。ノード102は、ハードウェア240を備える。ハードウェア240は、記憶部250と、処理部241と、通信I/F(Interface)242と、を備える。   The node 102 is, for example, a controller (control device), a workstation, or a personal computer. The node 102 includes hardware 240. The hardware 240 includes a storage unit 250, a processing unit 241, and a communication I / F (Interface) 242.

記憶部250には、様々なデータが格納される。記憶部250は、例えば、揮発性メモリ、不揮発性メモリ又はハードディスク装置等で構成される。   The storage unit 250 stores various data. The storage unit 250 includes, for example, a volatile memory, a nonvolatile memory, a hard disk device, or the like.

処理部241は、コンピュータプログラムを実行し、ノード102の有する様々な機能を実現する。処理部241は、例えば、CPU(Central Processing Unit)等で構成される。   The processing unit 241 executes a computer program and realizes various functions of the node 102. The processing unit 241 includes, for example, a CPU (Central Processing Unit).

通信I/F242は、ノード102を通信ネットワーク101に接続するためのI/Fである。通信I/F242は、例えば、物理層、MAC(Media Access Control)層、IP層及びTCP(Transmission Control Protocol)/UDP(User Datagram Protocol)層などのプロトコルを制御する回路を有する。   The communication I / F 242 is an I / F for connecting the node 102 to the communication network 101. The communication I / F 242 includes circuits that control protocols such as a physical layer, a MAC (Media Access Control) layer, an IP layer, and a TCP (Transmission Control Protocol) / UDP (User Datagram Protocol) layer, for example.

ノード102のハードウェア240では、OS(Operating System)230と、アクセスミドルウェア220と、用途ごとに処理内容が異なり得る1又は2以上のアプリケーション210と、が実行される。   In the hardware 240 of the node 102, an OS (Operating System) 230, an access middleware 220, and one or two or more applications 210 whose processing contents may be different for each use are executed.

記憶部250には、データがリード及びライトされる記憶領域である内部メモリ251が構成される。そして、内部メモリ251内には、共有メモリ253が構成されてよい。内部メモリ251内の共有メモリ253の位置は、メモリアドレスによって特定されてよい。   The storage unit 250 includes an internal memory 251 that is a storage area in which data is read and written. A shared memory 253 may be configured in the internal memory 251. The location of the shared memory 253 in the internal memory 251 may be specified by a memory address.

共有メモリ253に格納されたデータは、複数のノード102からアクセス可能であってよい。例えば、或るノード102が、通信ネットワーク101を通じて同報通知されたデータを共有メモリ253に格納すると、他ノード102もその共有メモリ253に格納されたデータにアクセスできてよい。各ノード102は、メモリアドレスを指定して共有メモリ253内のデータにアクセスできてよい。共有メモリ253は複数存在してもよい。この場合、各ノード102は、それぞれの共有メモリ253に付与された共有メモリIDを用いて、アクセス先の共有メモリ253を指定してもよい。共有メモリ253内の各データは、そのデータの更新時刻を併せて有してよい。   Data stored in the shared memory 253 may be accessible from a plurality of nodes 102. For example, when a certain node 102 stores the data notified via the communication network 101 in the shared memory 253, the other nodes 102 may be able to access the data stored in the shared memory 253. Each node 102 may be able to access data in the shared memory 253 by specifying a memory address. A plurality of shared memories 253 may exist. In this case, each node 102 may specify the access destination shared memory 253 using the shared memory ID assigned to the respective shared memory 253. Each data in the shared memory 253 may have an update time of the data.

図3は、アクセスミドルウェア220の機能構成の例を示す。   FIG. 3 shows an example of the functional configuration of the access middleware 220.

アプリケーション210は、コンピュータプログラムによって構成されており、用途に応じて異なる機能を有してよい。ノード102は、複数のアプリケーション210を実行してもよい。アプリケーション210は、アクセスミドルウェア220を通じてデータを取得してよい。また、アプリケーション210は、アクセスミドルウェア220を通して管理装置103から管理情報を取得してよい。   The application 210 is configured by a computer program, and may have different functions depending on applications. The node 102 may execute a plurality of applications 210. The application 210 may acquire data through the access middleware 220. Further, the application 210 may acquire management information from the management apparatus 103 through the access middleware 220.

ノード102のアクセスミドルウェア220は、自ノード102が保持するデータに係る管理情報を管理装置103に登録する処理機能を有する。管理情報は、或るノード102が、他ノード102の保持するデータにアクセスするために必要な情報を有する。ノード102は、管理装置103から管理情報を取得し、その管理情報に基づいて他ノード102の保持するデータにアクセスする。すなわち、アクセスミドルウェア220は、アプリケーション210に代わって、他ノード102の保持するデータへアクセスする。これにより、アプリケーション210は、他ノード102の保持するデータにアクセスする方法を意識することなく、目的のデータを取得することができる。   The access middleware 220 of the node 102 has a processing function for registering management information related to data held by the node 102 in the management apparatus 103. The management information includes information necessary for a certain node 102 to access data held by another node 102. The node 102 acquires management information from the management apparatus 103 and accesses data held by the other nodes 102 based on the management information. That is, the access middleware 220 accesses data held by the other node 102 in place of the application 210. As a result, the application 210 can acquire the target data without being aware of the method of accessing the data held by the other node 102.

管理情報は、取得対象のデータに対応するデータID、そのデータIDに対応するデータにアクセスするために必要な情報であるデータ取得方法、及びそのデータIDに対応するデータが存在する位置を表すデータ位置などの情報を有する。管理情報の詳細については後述する。   The management information includes a data ID corresponding to the data to be acquired, a data acquisition method that is information necessary for accessing the data corresponding to the data ID, and data representing a position where the data corresponding to the data ID exists. Contains information such as location. Details of the management information will be described later.

データの種類と、データ取得方法とは対応関係を有してもよい。例えば、他ノード102の内部メモリ251に格納されているデータと、Req/Rep通信によるデータ取得方法とは対応関係を有してよい。例えば、共有メモリ253に格納されているデータと、共有メモリ参照によるデータ取得方法とは対応関係を有してよい。例えば、他ノード102が同報通知(Publish)するメッセージに含まれるデータと、Pub/Sub通信によるデータ取得方法とは対応関係を有してよい。   The type of data and the data acquisition method may have a correspondence relationship. For example, the data stored in the internal memory 251 of the other node 102 may have a correspondence relationship with the data acquisition method using Req / Rep communication. For example, the data stored in the shared memory 253 and the data acquisition method by referring to the shared memory may have a correspondence relationship. For example, the data included in the message sent by the other node 102 (Publish) and the data acquisition method by the Pub / Sub communication may have a correspondence relationship.

アクセスミドルウェア220は、機能として、コマンド受付部221と、管理情報登録部222と、管理情報取得部223と、データ取得要求部224と、データ取得応答部225と、メッセージ送信部226と、メッセージ受信部227と、管理情報操作受付部228と、を有する。   The access middleware 220 functions as a command reception unit 221, a management information registration unit 222, a management information acquisition unit 223, a data acquisition request unit 224, a data acquisition response unit 225, a message transmission unit 226, and a message reception. Unit 227 and management information operation accepting unit 228.

アクセスミドルウェア220は、記憶部250の内部メモリ251に、管理情報テーブル342と、プロパティ情報410と、キャッシュテーブル252と、更新情報テーブル254と、を構成する。   The access middleware 220 configures a management information table 342, property information 410, a cache table 252, and an update information table 254 in the internal memory 251 of the storage unit 250.

管理情報342は、自ノード102が保持する各データにアクセスするために必要な情報を有する。管理情報342の詳細については後述する(図7参照)。   The management information 342 includes information necessary for accessing each data held by the own node 102. Details of the management information 342 will be described later (see FIG. 7).

プロパティ情報410は、自ノード102が保持するデータの属性に関する情報を有する。1つの管理情報342に1つのプロパティ情報410が対応付けられてもよい。プロパティ情報410の詳細については後述する(図6参照)。   The property information 410 includes information related to data attributes held by the own node 102. One piece of property information 410 may be associated with one piece of management information 342. Details of the property information 410 will be described later (see FIG. 6).

キャッシュテーブル252には、管理装置103から取得した管理情報が一時的に保持される。キャッシュテーブル252には、最後に取得した管理情報が優先的に保持されてもよい。キャッシュテーブル252の詳細については後述する(図9参照)。   Management information acquired from the management apparatus 103 is temporarily stored in the cache table 252. The cache table 252 may preferentially hold the management information acquired last. Details of the cache table 252 will be described later (see FIG. 9).

更新情報テーブル254は、共有メモリ253のデータに関する更新情報を管理するためのテーブルである。データ取得要求部224は、共有メモリ253からデータを取得した際、その取得対象のデータ位置と、そのデータのサイズと、そのデータに付加されているタイムスタンプとを含む更新情報を生成し、その更新情報を更新情報テーブル254に登録してよい。これにより、データ取得要求部224は、次回以降、更新情報テーブル254を参照することにより、共有メモリ253から取得するデータが、前回取得したデータに対して更新されているか否かを判断することができる。例えば、データ取得要求部224は、取得対象のデータの更新時刻と、更新情報テーブル254においてその取得対象とデータ位置及びサイズの同じデータのタイムスタンプとが一致する場合、データが更新されていないと判断することができる。そして、データ取得要求部224は、更新されていないデータは共有メモリ253から取得しないという設定であってもよい。   The update information table 254 is a table for managing update information related to data in the shared memory 253. When the data acquisition request unit 224 acquires data from the shared memory 253, the data acquisition request unit 224 generates update information including the data position to be acquired, the size of the data, and the time stamp added to the data. Update information may be registered in the update information table 254. Thereby, the data acquisition request unit 224 may determine whether or not the data acquired from the shared memory 253 is updated with respect to the previously acquired data by referring to the update information table 254 from the next time. it can. For example, the data acquisition request unit 224 determines that the data has not been updated when the update time of the data to be acquired matches the time stamp of the data having the same data position and size as the acquisition target in the update information table 254. Judgment can be made. The data acquisition request unit 224 may be set not to acquire data that has not been updated from the shared memory 253.

メッセージ送信部226は、各部222、223、224、225から渡された情報及び指定されたフォーマットに従ってメッセージを生成し、そのメッセージを指定された宛先へ送信する。各部から渡される情報及びフォーマットなどは、処理毎に定められていてよい。詳細については後述する。   The message transmission unit 226 generates a message according to the information passed from each unit 222, 223, 224, 225 and the specified format, and transmits the message to the specified destination. Information and format passed from each unit may be determined for each process. Details will be described later.

メッセージ受信部227は、受信したメッセージを解析し、そのメッセージに含まれるメッセージ種別などを抽出する。そして、メッセージ受信部227は、そのメッセージ種別に基づき、各部222、223、224、225へ必要な情報を渡す。メッセージ受信部227は、データ取得要求部224からトランザクションIDを受け取った場合、そのトランザクションIDを有するPub/Subメッセージ(同報通知)の受信を監視する。そして、メッセージ受信部227は、そのトランザクションIDを有するPub/Subメッセージの受信を検知すると、そのメッセージに含まれるデータなどをデータ取得要求部224へ渡す。   The message receiving unit 227 analyzes the received message and extracts a message type included in the message. Then, the message receiving unit 227 passes necessary information to each unit 222, 223, 224, 225 based on the message type. When the message reception unit 227 receives a transaction ID from the data acquisition request unit 224, the message reception unit 227 monitors reception of a Pub / Sub message (broadcast notification) having the transaction ID. When the message reception unit 227 detects reception of a Pub / Sub message having the transaction ID, the message reception unit 227 passes data included in the message to the data acquisition request unit 224.

管理情報操作受付部228は、アプリケーション210から管理情報の登録指示又は削除指示などを受けると、その指示を管理情報登録部222へ渡す。又、管理情報操作受付部228は、ノード102の起動時に、自動的に管理情報426の登録指示を管理情報登録部222へ渡してもよい。分散システム1に新たに参加したノード102の管理情報426を、自動的に管理装置103に登録するためである。   When the management information operation accepting unit 228 receives a management information registration instruction or deletion instruction from the application 210, the management information operation accepting unit 228 passes the instruction to the management information registration unit 222. Also, the management information operation accepting unit 228 may automatically pass a registration instruction for the management information 426 to the management information registration unit 222 when the node 102 is activated. This is because the management information 426 of the node 102 newly participating in the distributed system 1 is automatically registered in the management apparatus 103.

管理情報登録部222は、管理装置103に対して管理情報の登録又は削除などを要求する。例えば、管理情報登録部222は、管理情報操作受付部228から登録指示を受けた場合、プロパティ情報410及び管理情報を含む管理情報の登録要求メッセージを生成し、メッセージ送信部226に対してその管理情報の登録要求メッセージを管理装置103へ送信するよう指示する。そして、管理情報登録部222は、管理情報の登録応答メッセージを受信したメッセージ受信部227から、その送信した管理情報に対応する管理情報IDを受け取る。管理情報IDは、管理装置103内の管理情報を識別するための情報である。例えば、管理情報登録部222は、管理情報操作受付部228から削除指示を受けた場合、管理情報IDを含む管理情報の削除要求メッセージを生成し、メッセージ送信部226に対してその管理情報の削除要求メッセージを管理装置103へ送信するよう指示する。   The management information registration unit 222 requests the management apparatus 103 to register or delete management information. For example, when receiving a registration instruction from the management information operation accepting unit 228, the management information registration unit 222 generates a management information registration request message including the property information 410 and the management information, and sends the management information registration message to the message transmission unit 226. Instructs the management apparatus 103 to transmit an information registration request message. Then, the management information registration unit 222 receives the management information ID corresponding to the transmitted management information from the message reception unit 227 that has received the management information registration response message. The management information ID is information for identifying management information in the management apparatus 103. For example, when receiving a deletion instruction from the management information operation accepting unit 228, the management information registration unit 222 generates a management information deletion request message including the management information ID, and deletes the management information to the message transmission unit 226. Instructs the management apparatus 103 to transmit a request message.

コマンド受付部221は、アプリケーション210とアクセスミドルウェア220とを結ぶインタフェースの役割を果たす。例えば、コマンド受付部221は、アプリケーション210からデータの取得コマンドを受信し、その受信した取得コマンドの中から必要な情報を抽出し、データ取得要求部224へ渡す。コマンド受付部221は、データ取得要求部224からデータの取得コマンド結果を受け、その受けた取得コマンド結果をアプリケーション210へ渡す。   The command reception unit 221 serves as an interface that connects the application 210 and the access middleware 220. For example, the command reception unit 221 receives a data acquisition command from the application 210, extracts necessary information from the received acquisition command, and passes it to the data acquisition request unit 224. The command reception unit 221 receives the data acquisition command result from the data acquisition request unit 224 and passes the received acquisition command result to the application 210.

データ取得要求部224は、データ取得に関する処理を行う。データ取得要求部224は、コマンド受付部221から、取得対象のデータIDを含む取得コマンドを受け取る。そして、データ取得要求部224は、管理情報取得部223に対して、データIDに関連する管理情報の取得を要求する。そして、データ取得要求部224は、管理情報に含まれるデータ取得方法及びデータ位置に基づき、データの取得方法を決定する。   The data acquisition request unit 224 performs processing related to data acquisition. The data acquisition request unit 224 receives an acquisition command including the data ID to be acquired from the command reception unit 221. Then, the data acquisition request unit 224 requests the management information acquisition unit 223 to acquire management information related to the data ID. Then, the data acquisition request unit 224 determines a data acquisition method based on the data acquisition method and data position included in the management information.

例えば、データ取得方法が「Req/Rep通信」の場合、データ取得要求部224は、データ位置などの情報をメッセージ送信部226へ渡し、メッセージ送信部226に対してデータの取得要求メッセージをデータ位置の示す他ノード102へ送信するよう指示する。そして、メッセージ受信部226が他ノード102からデータの取得応答メッセージを受信した場合、データ取得要求部224は、メッセージ受信部227からデータの取得応答メッセージに含まれるデータ及び実行結果などを受け取る。   For example, when the data acquisition method is “Req / Rep communication”, the data acquisition request unit 224 passes information such as the data position to the message transmission unit 226, and sends a data acquisition request message to the message transmission unit 226. Instructed to transmit to the other node 102 indicated by. When the message reception unit 226 receives a data acquisition response message from the other node 102, the data acquisition request unit 224 receives data and an execution result included in the data acquisition response message from the message reception unit 227.

例えば、データ取得方法が「共有メモリ参照」の場合、データ取得要求部224は、データ位置の示す共有メモリのメモリアドレスから、データ及び実行結果などを取得する。   For example, when the data acquisition method is “reference shared memory”, the data acquisition request unit 224 acquires data, an execution result, and the like from the memory address of the shared memory indicated by the data position.

例えば、データ取得方法が「Pub/Sub通信」の場合、データ取得要求部224は、メッセージ受信部227に対して、データ位置の示すトランザクションIDを有するPub/Subメッセージの受信を監視するよう指示する。メッセージ受信部227は、そのトランザクションIDを有するメッセージを受信した場合、そのメッセージに含まれるデータ及びその実行結果などをデータ取得要求部224へ渡す。データ取得要求部224は、その取得したデータなどを、コマンド受付部221に渡す。   For example, when the data acquisition method is “Pub / Sub communication”, the data acquisition request unit 224 instructs the message reception unit 227 to monitor reception of a Pub / Sub message having a transaction ID indicated by the data position. . When the message reception unit 227 receives a message having the transaction ID, the message reception unit 227 passes the data included in the message, the execution result, and the like to the data acquisition request unit 224. The data acquisition request unit 224 passes the acquired data and the like to the command reception unit 221.

管理情報取得部223は、管理装置103から管理情報を取得する。管理情報取得部223は、メッセージ送信部226に対して、データ取得要求部224から受け取ったデータIDとノード102のバージョンとを渡し、管理情報の取得要求メッセージの送信を指示する。そして、管理情報取得部223は、メッセージ受信部227から、管理情報の取得応答メッセージ713に含まれる管理情報を受け取る。そして、管理情報取得部223は、その管理情報を、データ取得要求部224に渡す。管理情報取得部223は、その管理情報426を、キャッシュテーブル252に格納してもよい。   The management information acquisition unit 223 acquires management information from the management apparatus 103. The management information acquisition unit 223 passes the data ID received from the data acquisition request unit 224 and the version of the node 102 to the message transmission unit 226 and instructs transmission of the management information acquisition request message. Then, the management information acquisition unit 223 receives the management information included in the management information acquisition response message 713 from the message reception unit 227. Then, the management information acquisition unit 223 passes the management information to the data acquisition request unit 224. The management information acquisition unit 223 may store the management information 426 in the cache table 252.

なお、管理情報取得部223は、データIDに対応する管理情報がキャッシュテーブル252に存在する場合、キャッシュテーブル252からその管理情報を取得してよい。つまり、この場合、管理情報取得部223は、通信ネットワーク101を通じて管理装置103から管理情報を取得する必要は無い。   Note that the management information acquisition unit 223 may acquire the management information from the cache table 252 when the management information corresponding to the data ID exists in the cache table 252. That is, in this case, the management information acquisition unit 223 does not need to acquire management information from the management apparatus 103 via the communication network 101.

データ取得応答部225は、自ノード102が、他ノードからデータの取得要求メッセージを受信した場合の応答に関する処理を行う。データ取得応答部225は、メッセージ受信部227からデータ位置を受け取ると、そのデータ位置に基づき、内部メモリ103からデータを取得する。そして、データ取得応答部225は、メッセージ送信部226に対して、そのデータを含むデータの取得応答メッセージを、データの取得要求メッセージの送信元(他ノード)へ返信するよう指示する。   The data acquisition response unit 225 performs processing related to a response when the node 102 receives a data acquisition request message from another node. When the data acquisition response unit 225 receives the data position from the message reception unit 227, the data acquisition response unit 225 acquires data from the internal memory 103 based on the data position. Then, the data acquisition response unit 225 instructs the message transmission unit 226 to return a data acquisition response message including the data to the transmission source (other node) of the data acquisition request message.

図4は、管理装置103の構成例を示す。   FIG. 4 shows a configuration example of the management apparatus 103.

管理装置103は、ハードウェア260を備える。ハードウェア260は、記憶部270と、処理部261と、通信I/F262とを備える。記憶部270、処理部261及び通信I/F262については、図2に示したノード102の記憶部250、処理部241及び通信I/F242と同様であるので、説明を省略する。管理装置103のハードウェア260では、OS231と、管理アプリケーション310と、が実行されてよい。   The management device 103 includes hardware 260. The hardware 260 includes a storage unit 270, a processing unit 261, and a communication I / F 262. The storage unit 270, the processing unit 261, and the communication I / F 262 are the same as the storage unit 250, the processing unit 241, and the communication I / F 242 of the node 102 illustrated in FIG. In the hardware 260 of the management apparatus 103, the OS 231 and the management application 310 may be executed.

図5は、管理アプリケーション310の機能構成の例を示す。   FIG. 5 shows an example of the functional configuration of the management application 310.

記憶部270には、リンクテーブル341と、複数の管理情報342とが格納される。管理情報342は、各ノード102から送信されたものである。管理情報342の詳細については後述する(図7参照)。リンクテーブル341は、管理装置103の管理する管理情報342にアクセスするために必要な情報を有する。リンクテーブル341の詳細については後述する(図8参照)。   The storage unit 270 stores a link table 341 and a plurality of management information 342. The management information 342 is transmitted from each node 102. Details of the management information 342 will be described later (see FIG. 7). The link table 341 has information necessary for accessing the management information 342 managed by the management apparatus 103. Details of the link table 341 will be described later (see FIG. 8).

管理アプリケーション310は、機能として、登録応答部311と、取得応答部312と、メッセージ送信部226と、メッセージ受信部314とを有する。   The management application 310 includes a registration response unit 311, an acquisition response unit 312, a message transmission unit 226, and a message reception unit 314 as functions.

メッセージ受信部314は、受信したメッセージを解析し、そのメッセージに含まれるメッセージ種別などを抽出する。そして、メッセージ受信部314は、そのメッセージ種別に基づき、各部311、312へ必要な情報に渡す。   The message receiving unit 314 analyzes the received message and extracts a message type included in the message. Then, the message receiving unit 314 passes necessary information to the units 311 and 312 based on the message type.

登録応答部311は、ノード102から受信したプロパティ情報および管理情報の登録及び削除などを行う。登録応答部311は、メッセージ受信部314からプロパティ情報及び管理情報を受け取ると、それらを記憶部270に格納する。また、登録応答部311は、その格納された管理情報342にアクセスできるようにリンクテーブル341を更新する。そして、登録応答部311は、その格納された管理情報342に対応する管理情報IDを発行し、管理情報の送信元のノード102に対して、その管理情報IDを含む登録応答メッセージ512を送信する。   The registration response unit 311 performs registration and deletion of property information and management information received from the node 102. Upon receiving the property information and management information from the message receiving unit 314, the registration response unit 311 stores them in the storage unit 270. Further, the registration response unit 311 updates the link table 341 so that the stored management information 342 can be accessed. Then, the registration response unit 311 issues a management information ID corresponding to the stored management information 342 and transmits a registration response message 512 including the management information ID to the node 102 that is the transmission source of the management information. .

登録応答部311は、メッセージ受信部314から、管理情報の削除要求メッセージから抽出された管理情報IDを受け取る。そして、登録応答部311は、リンクテーブル341からその管理情報IDを有するリンク情報(レコ−ド)を削除すると共に、そのリンク情報(レコード)のリンク先の管理情報342を削除する。そして、登録応答部311は、削除要求メッセージの送信元のノード102に対して、管理情報の削除応答メッセージを返す。   The registration response unit 311 receives the management information ID extracted from the management information deletion request message from the message reception unit 314. Then, the registration response unit 311 deletes the link information (record) having the management information ID from the link table 341 and deletes the link destination management information 342 of the link information (record). Then, the registration response unit 311 returns a management information deletion response message to the node 102 that has transmitted the deletion request message.

取得応答部312は、管理情報の取得要求メッセージに対応する管理情報の取得応答メッセージを、その取得要求メッセージの送信元のノード102に返す。例えば、取得応答部312は、メッセージ受信部314から、管理情報の取得要求メッセージ712から抽出されたデータID及びバージョンを受け取ると、リンクテーブル341から、データID及びバージョンに対応するレコードを抽出する。そして、取得応答部312は、その抽出したレコードのリンク先から管理情報を取得する。そして、取得応答部312は、メッセージ送信部226に対して、その取得した管理情報を含む管理情報の取得応答メッセージを、取得要求メッセージの送信元のノード102へ返すよう指示する。   The acquisition response unit 312 returns a management information acquisition response message corresponding to the management information acquisition request message to the source node 102 of the acquisition request message. For example, when receiving the data ID and version extracted from the management information acquisition request message 712 from the message reception unit 314, the acquisition response unit 312 extracts a record corresponding to the data ID and version from the link table 341. Then, the acquisition response unit 312 acquires management information from the link destination of the extracted record. Then, the acquisition response unit 312 instructs the message transmission unit 226 to return a management information acquisition response message including the acquired management information to the node 102 that is the transmission source of the acquisition request message.

図6は、プロパティ情報410の構成例を示す。   FIG. 6 shows a configuration example of the property information 410.

プロパティ情報410は、管理情報テーブル342(図7参照)の付加情報の一種である。1つの管理情報テーブル342には、1つのプロパティ情報410が対応付けられてよい。プロパティ情報410は、管理情報テーブル342を生成したノード102に関する情報を含む。プロパティ情報410は、ノード名411と、バージョン412と、互換バージョン413とを情報として有してよい。   The property information 410 is a type of additional information in the management information table 342 (see FIG. 7). One property information 410 may be associated with one management information table 342. The property information 410 includes information regarding the node 102 that generated the management information table 342. The property information 410 may include a node name 411, a version 412, and a compatible version 413 as information.

ノード名411は、プロパティ情報410が対応付けられている管理情報テーブル342を生成したノード102の名称を表す。バージョン412は、当該管理情報テーブル342を生成したときのノード102のバージョンを表す。互換バージョン413は、当該管理情報テーブル342を生成したときのノード102のバージョン412に対して下位互換が可能なもっとも古いバージョンを表す。   The node name 411 represents the name of the node 102 that generated the management information table 342 associated with the property information 410. The version 412 represents the version of the node 102 when the management information table 342 is generated. The compatible version 413 represents the oldest version that can be backward compatible with the version 412 of the node 102 when the management information table 342 is generated.

図7は、管理情報テーブル342の構成例を示す。   FIG. 7 shows a configuration example of the management information table 342.

管理情報テーブル342は、1又は2以上の管理情報をレコードとして有する。管理情報テーブル342は、ノード102において管理されている各データにアクセスするために必要な管理情報を有する。各ノード102の管理情報テーブル342は、管理装置103に集約されてよい。管理情報テーブル342は、フィールド値として、データID421と、データ取得方法422と、データ位置423と、データ型424と、サイズ425とを有してよい。   The management information table 342 has one or more management information as a record. The management information table 342 has management information necessary for accessing each data managed in the node 102. The management information table 342 of each node 102 may be aggregated in the management apparatus 103. The management information table 342 may have a data ID 421, a data acquisition method 422, a data position 423, a data type 424, and a size 425 as field values.

データID421は、データを識別するための情報(例えば、ファイル名など)である。ノード102内において、1つのデータには1つのデータIDが対応付けられる。データ取得方法422は、データID421に対応するデータを取得するための方法を表す。データ位置423は、データ取得方法422の示す方法によってデータID421に対応するデータを取得する際に必要となる情報(パラメータ)を表す。データ型424は、データID421に対応するデータの型を表す。サイズ425は、データID421に対応するデータのサイズを表す。   The data ID 421 is information (for example, a file name) for identifying data. In the node 102, one data ID is associated with one data. The data acquisition method 422 represents a method for acquiring data corresponding to the data ID 421. The data position 423 represents information (parameters) necessary for acquiring data corresponding to the data ID 421 by the method indicated by the data acquisition method 422. The data type 424 represents the data type corresponding to the data ID 421. A size 425 represents the size of data corresponding to the data ID 421.

例えば、図7においてレコード420aの管理情報は、データID「Temp」(421)に対応するデータを取得するためには、「Req/Rep通信」(422)によってIPアドレス「192.168.0.15」(423)のノード102にアクセスし、そのノード102の有するメモリのメモリアドレス「0x0001」(423)から、データ型「double」(424)で「4byte」(425)のデータを取得する必要があることを表す。   For example, in FIG. 7, in order to obtain data corresponding to the data ID “Temp” (421), the management information of the record 420a uses the “Req / Rep communication” (422) to obtain the IP address “192.168.8.0. It is necessary to access the node 102 of “15” (423) and acquire data of “4 bytes” (425) with the data type “double” (424) from the memory address “0x0001” (423) of the memory of the node 102 It represents that there is.

レコード420cの管理情報は、データID「Press」(421)に対応するデータを取得するためには、「共有メモリ参照」によって、共有メモリID「8」に対応する共有メモリのメモリアドレス「0x0010」から、データ型「double」で「4byte」のデータを取得する必要があることを表す。   In order to obtain data corresponding to the data ID “Press” (421), the management information of the record 420c is “memory reference” to the memory address “0x0010” of the shared memory corresponding to the shared memory ID “8”. Indicates that it is necessary to acquire data of “4 bytes” with the data type “double”.

レコード420dの管理情報は、データID「Alert」(421)に対応するデータを取得するためには、「Pub/Sub通信」によって、トランザクションID「125」に対応するPub/Subメッセージの受信を監視し、そのPub/Subメッセージを受信した場合、そのPub/Subメッセージからデータ型「char」で「60byte」のデータを抽出する必要があることを表す。   In order to acquire data corresponding to the data ID “Alert” (421), the management information of the record 420d monitors reception of a Pub / Sub message corresponding to the transaction ID “125” by “Pub / Sub communication”. When the Pub / Sub message is received, it indicates that data of “60 bytes” with the data type “char” needs to be extracted from the Pub / Sub message.

図8は、リンクテーブル341の構成例を示す。   FIG. 8 shows a configuration example of the link table 341.

リンクテーブル341は、それぞれの管理情報にアクセスするために必要なリンク情報をレコードとして有する。リンクテーブル341は、管理装置103が管理する。   The link table 341 has link information necessary for accessing each management information as a record. The management table 103 manages the link table 341.

リンクテーブル341は、フィールド値として、管理情報ID1706と、ノード名411と、バージョン412と、互換バージョン413と、リンク先431とを有する。   The link table 341 includes a management information ID 1706, a node name 411, a version 412, a compatible version 413, and a link destination 431 as field values.

管理情報ID1706は、管理情報を識別するための情報である。1つの管理情報に1つの管理情報IDが付与されてよい。管理アプリケーション310は、管理情報を受信して管理する際に、その管理情報に対応する管理情報ID1706を発行してよい。ノード名411、バージョン412、及び互換バージョン413は、図6のプロパティ情報410で説明したとおりである。   The management information ID 1706 is information for identifying management information. One management information ID may be given to one management information. When receiving and managing management information, the management application 310 may issue a management information ID 1706 corresponding to the management information. The node name 411, version 412, and compatible version 413 are as described in the property information 410 of FIG.

リンク先431は、管理情報ID1706に対応する管理情報が格納されている位置を表す。リンク先431は、記憶部250における管理情報の格納先のメモリアドレスであってもよい。管理アプリケーション310は、リンクテーブル341を参照することにより、所望の管理情報にアクセスすることができる。   The link destination 431 represents the position where the management information corresponding to the management information ID 1706 is stored. The link destination 431 may be a memory address where the management information is stored in the storage unit 250. The management application 310 can access desired management information by referring to the link table 341.

図9は、キャッシュテーブル252の構成例を示す。   FIG. 9 shows a configuration example of the cache table 252.

キャッシュテーブル252には、ノード102のアクセスミドルウェア220が管理装置103から取得した管理情報が一時的に保持される。   The cache table 252 temporarily holds management information acquired from the management apparatus 103 by the access middleware 220 of the node 102.

アクセスミドルウェア220は、データID421に対応する管理情報を管理装置103から取得する際、キャッシュテーブル252に取得対象の管理情報が格納されているならば、キャッシュテーブル251からその管理情報を取得する。これにより、アクセスミドルウェア220は、管理装置103から通信ネットワーク101を通じて管理情報を取得する場合と比較して、短時間で管理情報を取得することができる。   When acquiring the management information corresponding to the data ID 421 from the management apparatus 103, the access middleware 220 acquires the management information from the cache table 251 if the acquisition target management information is stored in the cache table 252. Thereby, the access middleware 220 can acquire the management information in a shorter time compared to the case where the management information is acquired from the management apparatus 103 through the communication network 101.

キャッシュテーブル252は、フィールド値として、登録順441と、データID421と、データ取得方法422と、データ位置423と、データ型424と、サイズ425とを有する。   The cache table 252 has a registration order 441, a data ID 421, a data acquisition method 422, a data position 423, a data type 424, and a size 425 as field values.

登録順441は、当該管理情報がキャッシュテーブル252に登録された順番を表す。例えば、登録順441が小さいほど、古い管理情報としてよい。また、アクセスされた管理情報の登録順441は、新しいものに更新されてもよい。   The registration order 441 represents the order in which the management information is registered in the cache table 252. For example, the smaller the registration order 441, the older management information may be used. Further, the registration order 441 of the accessed management information may be updated to a new one.

データID421、データ取得方法422、データ位置423、データ型424及びサイズ425は、図7の管理情報テーブル342で説明したとおりである。   The data ID 421, the data acquisition method 422, the data position 423, the data type 424, and the size 425 are as described in the management information table 342 in FIG.

キャッシュテーブル252に格納可能な管理情報の数には、上限が設定されてもよい。上限に達している状態で、キャッシュテーブル252に新たに管理情報を格納する場合は、登録順441の最も古い管理情報から削除されてよい。   An upper limit may be set for the number of management information that can be stored in the cache table 252. When new management information is stored in the cache table 252 in a state where the upper limit is reached, the oldest management information in the registration order 441 may be deleted.

図10は、更新情報テーブル254の構成例を示す。   FIG. 10 shows a configuration example of the update information table 254.

更新情報テーブル254は、共有メモリ253に格納されている各データが更新されているか否かを判定するために必要な情報を有する。更新情報テーブル254は、フィールド値として、データ位置1712と、サイズ425と、タイムスタンプ432とを有する。   The update information table 254 includes information necessary for determining whether each data stored in the shared memory 253 has been updated. The update information table 254 includes a data position 1712, a size 425, and a time stamp 432 as field values.

データ位置1712は、データの格納されている位置を表す。例えば、データ位置1712は、データの格納されている共有メモリのIDと、その共有メモリIDの示す共有メモリ上のデータが格納されているメモリアドレスと、によって表される。サイズ425は、データ位置1712に格納されているデータのサイズ(例えば、byte数)を表す。タイムスタンプ432は、データ位置1712に格納されているデータが生成又は更新された時刻を表す。   The data position 1712 represents a position where data is stored. For example, the data location 1712 is represented by an ID of a shared memory in which data is stored and a memory address in which data on the shared memory indicated by the shared memory ID is stored. The size 425 represents the size of data stored in the data position 1712 (for example, the number of bytes). The time stamp 432 represents the time when the data stored in the data position 1712 is generated or updated.

図11は、取得コマンド711の構成例を示す。   FIG. 11 shows a configuration example of the acquisition command 711.

取得コマンド711は、アプリケーション210がデータを取得する際に使用するコマンドである。アプリケーション210は、データを取得する際、アクセスミドルウェア220に対して取得コマンド711を送信する。アクセスミドルウェア220は、取得コマンド711の内容を、API(Application Programming Interface)としてアプリケーション210に提供してもよい。   The acquisition command 711 is a command used when the application 210 acquires data. The application 210 transmits an acquisition command 711 to the access middleware 220 when acquiring data. The access middleware 220 may provide the contents of the acquisition command 711 to the application 210 as an API (Application Programming Interface).

取得コマンド711は、パラメータとして、1又は2以上のデータID421と、エラー処理方法1710とを有してよい。   The acquisition command 711 may include one or more data IDs 421 and an error processing method 1710 as parameters.

データID421は、取得対象のデータに対応するデータIDである。データID421は、ファイル名又はURI(Uniform Resource Identifier)などであってもよい。1つの取得コマンド711で複数のデータを取得する場合は、取得コマンド711に複数のデータID421を含めてよい。   The data ID 421 is a data ID corresponding to the acquisition target data. The data ID 421 may be a file name or a URI (Uniform Resource Identifier). When acquiring a plurality of data with one acquisition command 711, a plurality of data IDs 421 may be included in the acquisition command 711.

エラー処理方法1710は、データID421に対応するデータの取得処理においてエラーが発生した場合の対応方法を表す。エラー処理方法1710は、エラーが発生した場合にどのような処理を行うかの判断に用いられる。   The error processing method 1710 represents a response method when an error occurs in the data acquisition process corresponding to the data ID 421. The error processing method 1710 is used to determine what processing is performed when an error occurs.

エラー処理方法1710は、例えば、再送フラグ752と、一時取得待ちフラグ753と、取得待ちフラグ754と、データ取得フラグ755との4ビットで構成されてもよい。   The error processing method 1710 may be configured with, for example, 4 bits of a retransmission flag 752, a temporary acquisition wait flag 753, an acquisition wait flag 754, and a data acquisition flag 755.

再送フラグ752は、Req/Rep通信によるデータ取得処理においてエラーが発生した場合に、データの取得要求メッセージを再送すべきか否かを表す。例えば、再送フラグ752「1」は、データの取得要求メッセージを再送すべきことを表す。再送フラグ752「0」は、データの取得要求メッセージの再送が不要であることを表す。再送回数は、別途、アプリケーション210又はアクセスミドルウェア220等で設定されてよい。   The retransmission flag 752 indicates whether or not the data acquisition request message should be retransmitted when an error occurs in the data acquisition processing by Req / Rep communication. For example, the retransmission flag 752 “1” indicates that the data acquisition request message should be retransmitted. The retransmission flag 752 “0” indicates that it is not necessary to retransmit the data acquisition request message. The number of retransmissions may be set separately by the application 210, the access middleware 220, or the like.

一時取得待ちフラグ753は、共有メモリ参照又はPub/Sub通信によるデータ取得処理においてエラーが発生した場合に、共有メモリ253における取得対象のデータの更新を所定時間待つべきか否か、又はPub/Subメッセージの受信を所定時間待つべきか否かを表す。例えば、一時取得待ちフラグ753「1」は、共有メモリ253における取得対象のデータの更新を所定時間待機すべき、又はPub/Subメッセージの受信を所定期間待機すべきことを表す。一時取得待ちフラグ753「0」は、共有メモリ253における取得対象のデータの更新を待機する必要が無いこと、又はPub/Subメッセージの受信を待機する必要が無いことを表す。待機すべき所定期間は、別途、アプリケーション210又はアクセスミドルウェア220等で設定されてよい。   The temporary acquisition waiting flag 753 indicates whether or not to wait for a predetermined time to update the acquisition target data in the shared memory 253 when an error occurs in the data acquisition processing by the shared memory reference or Pub / Sub communication, or the Pub / Sub Indicates whether or not to wait for a predetermined time for receiving a message. For example, the temporary acquisition wait flag 753 “1” indicates that the update of data to be acquired in the shared memory 253 should be waited for a predetermined time or the reception of a Pub / Sub message should be waited for a predetermined period. The temporary acquisition wait flag 753 “0” indicates that there is no need to wait for the update of the acquisition target data in the shared memory 253 or no need to wait for the reception of the Pub / Sub message. The predetermined period to wait may be set separately by the application 210 or the access middleware 220.

取得待ちフラグ754は、共有メモリ参照又はPub/Sub通信によるデータ取得処理においてエラーが発生した場合に、共有メモリ253における取得対象のデータが更新されるまで待機すべきか否か、又はPub/Subメッセージを受信するまで待機すべきか否かを表す。例えば、取得待ちフラグ753「1」は、共有メモリ253における取得対象のデータが更新されるまで待機すべきこと、又はPub/Subメッセージを受信するまで待機すべきことを表す。取得待ちフラグ753「0」は、共有メモリ253における取得対象のデータが更新されるまで待機する必要は無いこと、又はPub/Subメッセージを受信するまで待機する必要が無いことを表す。取得待ちフラグ754は、一時取得待ちフラグ753と異なり、待機期間に期限を設けなくて良い。   The acquisition wait flag 754 indicates whether or not to wait until the data to be acquired in the shared memory 253 is updated when an error occurs in the data acquisition processing by the shared memory reference or Pub / Sub communication, or a Pub / Sub message. Indicates whether or not to wait until receiving. For example, the acquisition wait flag 753 “1” indicates that it should wait until the data to be acquired in the shared memory 253 is updated or wait until it receives a Pub / Sub message. The acquisition wait flag 753 “0” indicates that it is not necessary to wait until the data to be acquired in the shared memory 253 is updated, or it is not necessary to wait until a Pub / Sub message is received. Unlike the temporary acquisition waiting flag 753, the acquisition waiting flag 754 does not require a deadline in the waiting period.

データ取得フラグ755は、共有メモリ参照によるデータ取得処理においてデータが未更新である旨のエラーが発生した場合に、その未更新のデータを取得すべきか否かを表す。例えば、データ取得フラグ755「1」は、そのデータが未更新であってもデータを取得すべきことを表す。データ取得フラグ755「0」は、そのデータが未更新であった場合はデータを取得すべきでないことを表す。   The data acquisition flag 755 indicates whether or not the unupdated data should be acquired when an error indicating that the data has not been updated occurs in the data acquisition process based on the shared memory reference. For example, the data acquisition flag 755 “1” represents that data should be acquired even if the data has not been updated. The data acquisition flag 755 “0” represents that data should not be acquired when the data has not been updated.

アクセスミドルウェア220は、エラー処理方法の内容と、取得コマンド結果に含まれる実行結果とに基づき、適切なエラー処理を実行することができる。例えば、エラー処理方法の再送フラグ752が「1」であって、Req/Rep通信において接続エラーが発生した場合、アクセスミドルウェア220は、再接続を試みてよい。   The access middleware 220 can execute appropriate error processing based on the content of the error processing method and the execution result included in the acquisition command result. For example, when the retransmission flag 752 of the error processing method is “1” and a connection error occurs in the Req / Rep communication, the access middleware 220 may try reconnection.

図12は、取得コマンド結果716の構成例を示す。   FIG. 12 shows a configuration example of the acquisition command result 716.

取得コマンド結果716は、取得コマンド711の実行結果として返されるデータである。アプリケーション210は、アクセスミドルウェア220に対して取得コマンド711を送信し、その応答として取得コマンド結果716を受信する。アクセスミドルウェア220は、取得コマンド711の内容をAPIとして提供する場合は、APIの戻り値としてこの取得コマンド結果716の内容を提供してもよい。   The acquisition command result 716 is data returned as the execution result of the acquisition command 711. The application 210 transmits an acquisition command 711 to the access middleware 220 and receives an acquisition command result 716 as a response. When providing the content of the acquisition command 711 as an API, the access middleware 220 may provide the content of the acquisition command result 716 as a return value of the API.

取得コマンド結果716は、パラメータとして、データID421、実行結果1705及びデータ1711の1又は2以上のセットを有する。すなわち、取得コマンド結果716に含まれるセットの数は、取得コマンド711に含まれるデータID421の数に対応する。   The acquisition command result 716 includes one or more sets of a data ID 421, an execution result 1705, and data 1711 as parameters. That is, the number of sets included in the acquisition command result 716 corresponds to the number of data IDs 421 included in the acquisition command 711.

データ1711は、そのセットに含まれるデータID421に対応するデータである。このデータ1711は、アクセスミドルウェア220が取得コマンド711に基づいて取得したものである。   Data 1711 is data corresponding to the data ID 421 included in the set. This data 1711 is acquired by the access middleware 220 based on the acquisition command 711.

実行結果1705は、そのセットに含まれるデータ1711の取得処理の結果を表す。実行結果1705は、アクセスミドルウェア220がデータの取得処理を実行した結果を表してよい。実行結果1706には、結果コード750と、取得時刻751とが含まれてよい。   The execution result 1705 represents the result of the acquisition process of the data 1711 included in the set. The execution result 1705 may represent a result of the access middleware 220 executing data acquisition processing. The execution result 1706 may include a result code 750 and an acquisition time 751.

結果コード750は、データの取得処理を実行した結果を識別するための情報(コード)である。結果コード750の具体的な例については後述する(図13参照)。取得時刻751は、データ1711の取得が完了した時刻を表す。   The result code 750 is information (code) for identifying the result of executing the data acquisition process. A specific example of the result code 750 will be described later (see FIG. 13). The acquisition time 751 represents the time when acquisition of the data 1711 is completed.

図13は、結果コード750の例を示す。   FIG. 13 shows an example of the result code 750.

結果コード750とその意味とが、例えば以下の様に対応付けられてよい。
結果コード「0」は、「データ取得成功」を意味する。
結果コード「1」は、「Req/Rep通信に係る接続エラー」を意味する。
結果コード「2」は、「Req/Rep通信に係るタイムアウト」を意味する。
結果コード「3」は、「共有メモリ参照に係る未更新エラー」を意味する。
結果コード「4」は、「Pub/Sub通信に係るタイムアウト」を意味する。
結果コード「5」は、「データIDエラー」を意味する。
結果コード「6」は、「管理情報の取得エラー」を意味する。
結果コード「7」は、「管理情報エラー」を意味する。
The result code 750 and its meaning may be associated with each other as follows, for example.
The result code “0” means “data acquisition success”.
The result code “1” means “connection error related to Req / Rep communication”.
The result code “2” means “timeout related to Req / Rep communication”.
The result code “3” means “unupdated error related to shared memory reference”.
The result code “4” means “timeout related to Pub / Sub communication”.
The result code “5” means “data ID error”.
The result code “6” means “management information acquisition error”.
The result code “7” means “management information error”.

図14は、クエリコマンド740の構成例を示す。   FIG. 14 shows a configuration example of the query command 740.

クエリコマンド740は、アクセスミドルウェア220がデータの取得処理を行う際に使用される。アクセスミドルウェア220は、1つのクエリコマンド740で1つのデータを取得してよい。クエリコマンド740は、パラメータとして、データ取得方法422と、データ位置342と、サイズ425と、回数制限742と、期限743と、エラー処理方法1710とを有してよい。データ取得方法422、データ位置342及びサイズ425は、図7において説明したとおりである。   The query command 740 is used when the access middleware 220 performs data acquisition processing. The access middleware 220 may acquire one data with one query command 740. The query command 740 may include a data acquisition method 422, a data position 342, a size 425, a number limit 742, a time limit 743, and an error processing method 1710 as parameters. The data acquisition method 422, the data position 342, and the size 425 are as described in FIG.

回数制限742は、再送回数の上限を表す。期限743は、データの更新の待機時間の上限を表す。エラー処理方法1710は、図11において説明したとおりである。回数制限742及び期限743は、所定の設定値であってもよいし、クエリコマンド毎に指定されてもよい。   The number limit 742 represents the upper limit of the number of retransmissions. The deadline 743 represents the upper limit of the data update waiting time. The error processing method 1710 is as described in FIG. The number limit 742 and the time limit 743 may be predetermined set values or may be specified for each query command.

図15は、クエリコマンド結果741の構成例を示す。   FIG. 15 shows a configuration example of the query command result 741.

クエリコマンド結果741は、クエリコマンド740の実行結果として返されるデータである。1つのクエリコマンド740に対して、1つのクエリコマンド結果741が返されるとしてよい。クエリコマンド結果741は、パラメータとして、データ取得方法422と、データ位置342と、サイズ425と、回数制限742と、期限743と、エラー処理方法1710と、データ1711と、実行結果1705とを有してよい。データ取得方法422、データ位置342及びサイズ425は、図7において説明したとおりである。回数制限742及び期限743は、図14において説明したとおりである。エラー処理方法1710は、図11において説明したとおりである。   The query command result 741 is data returned as the execution result of the query command 740. One query command result 741 may be returned for one query command 740. The query command result 741 includes, as parameters, a data acquisition method 422, a data position 342, a size 425, a number limit 742, a time limit 743, an error processing method 1710, data 1711, and an execution result 1705. It's okay. The data acquisition method 422, the data position 342, and the size 425 are as described in FIG. The number limit 742 and the time limit 743 are as described in FIG. The error processing method 1710 is as described in FIG.

データ1711は、クエリコマンド740に対応するデータである。実行結果1705は、クエリコマンド740を実行した結果を表す。   Data 1711 is data corresponding to the query command 740. An execution result 1705 represents a result of executing the query command 740.

図16は、管理情報の登録要求メッセージ511の構成例を示す。   FIG. 16 shows a configuration example of the management information registration request message 511.

管理情報の登録要求メッセージ511は、ノード102が管理装置103に対して、管理情報の登録を要求する際に送信するメッセージである。管理情報の登録要求メッセージ511は、フィールド値として、ヘッダ1701と、メッセージ種別1703と、プロパティ情報513と、管理情報426とを有してよい。   The management information registration request message 511 is a message transmitted when the node 102 requests the management apparatus 103 to register management information. The management information registration request message 511 may include a header 1701, a message type 1703, property information 513, and management information 426 as field values.

ヘッダ1701は、通信ネットワーク101を通じて送信先へメッセージを送信するために必要な情報である。例えば、ヘッダ1701は、送信元及び送信先(宛先)のIPアドレス及びポート番号などを有してよい。   The header 1701 is information necessary for transmitting a message to a transmission destination via the communication network 101. For example, the header 1701 may include the IP address and port number of the transmission source and the transmission destination (destination).

メッセージ種別1703は、このメッセージの種別を表す。例えば、メッセージ種別1703は、管理情報の登録要求メッセージ511、管理情報の登録応答メッセージ512。管理情報の取得要求メッセージ712、管理情報の応答要求メッセージ713、データの取得要求メッセージ714、データの取得応答メッセージ715、管理情報の削除要求メッセージ1611、管理情報の削除応答メッセージ1612などを区別できるように定義されてよい。   A message type 1703 represents the type of this message. For example, the message type 1703 includes a management information registration request message 511 and a management information registration response message 512. Management information acquisition request message 712, management information response request message 713, data acquisition request message 714, data acquisition response message 715, management information deletion request message 1611, management information deletion response message 1612 can be distinguished. May be defined.

プロパティ情報513は、図8において説明したとおりである。管理情報426は、図7において説明したとおりである。管理情報の登録要求メッセージ511に含まれるプロパティ情報513と管理情報426とが、管理装置103に登録されてよい。管理情報426は複数であってもよい。   The property information 513 is as described in FIG. The management information 426 is as described in FIG. Property information 513 and management information 426 included in the management information registration request message 511 may be registered in the management apparatus 103. The management information 426 may be plural.

図17は、管理情報の登録応答メッセージ512の構成例を示す。   FIG. 17 shows a configuration example of the management information registration response message 512.

管理情報の登録応答メッセージ512は、管理情報の登録要求メッセージ713の応答として、管理装置103からノード102に返されるメッセージである。管理情報の登録応答メッセージ512は、ヘッダ1701と、メッセージ種別1703と、登録結果514と、管理情報ID1706とを有する。ヘッダ1701及びメッセージ種別1703は、図16で説明したとおりである。   The management information registration response message 512 is a message returned from the management apparatus 103 to the node 102 as a response to the management information registration request message 713. The management information registration response message 512 includes a header 1701, a message type 1703, a registration result 514, and a management information ID 1706. The header 1701 and the message type 1703 are as described in FIG.

登録結果514は、管理装置103は、管理情報の登録要求メッセージ511に含まれていた管理情報を登録する処理を実行した結果(例えば、成功又は失敗など)を表す情報である。   The registration result 514 is information indicating a result (for example, success or failure) of the management apparatus 103 executing a process of registering the management information included in the management information registration request message 511.

管理情報ID1706は、管理装置103が、管理情報の登録要求メッセージ511に含まれていた管理情報426に付与した管理情報IDを表す。管理情報ID1706は複数であってもよい。   The management information ID 1706 represents the management information ID given to the management information 426 included in the management information registration request message 511 by the management apparatus 103. There may be a plurality of management information IDs 1706.

図18は、管理情報の取得要求メッセージ712の構成例を示す。   FIG. 18 shows a configuration example of the management information acquisition request message 712.

管理情報の取得要求メッセージ712は、ノード102が管理装置103に対して、管理情報を要求する際に送信するメッセージである。管理情報の取得要求メッセージ712は、ヘッダ1701と、メッセージ種別1703と、1又は2以上のデータID421と、バージョン412とを有する。ヘッダ1701及びメッセージ種別1703は、図16で説明したとおりである。   The management information acquisition request message 712 is a message transmitted when the node 102 requests management information from the management apparatus 103. The management information acquisition request message 712 includes a header 1701, a message type 1703, one or more data IDs 421, and a version 412. The header 1701 and the message type 1703 are as described in FIG.

データID421は、取得対象のデータのIDを表す。つまり、ノード102のアクセスミドルウェア220は、管理装置103に対して、管理情報の取得要求メッセージ712に含まれるデータID421に関する管理情報を要求する。複数の管理情報を取得する場合、アクセスミドルウェア220は、管理情報の取得要求メッセージ712に複数のデータID421を含めて良い。   The data ID 421 represents the ID of data to be acquired. That is, the access middleware 220 of the node 102 requests management information regarding the data ID 421 included in the management information acquisition request message 712 from the management apparatus 103. When acquiring a plurality of management information, the access middleware 220 may include a plurality of data IDs 421 in the management information acquisition request message 712.

バージョン412は、管理情報の取得要求メッセージ712を送信するノード102のバージョンを表す。すなわち、ノード102は、管理装置103に対して、当該バージョン412と互換性を有するバージョンの管理情報を要求する。   The version 412 represents the version of the node 102 that transmits the management information acquisition request message 712. That is, the node 102 requests the management information of a version compatible with the version 412 from the management apparatus 103.

図19は、管理情報の取得応答メッセージ713の構成例を示す。   FIG. 19 shows a configuration example of the management information acquisition response message 713.

管理情報の取得応答メッセージ713は、管理情報の取得要求メッセージ712の応答として、管理装置103からノード102に返されるメッセージである。管理情報の取得応答メッセージ713は、フィールド値として、ヘッダ1701及びメッセージ種別1703に続いて、実行結果1705、データID421及び管理情報426の1又は2以上のセットを有してよい。   The management information acquisition response message 713 is a message returned from the management apparatus 103 to the node 102 as a response to the management information acquisition request message 712. The management information acquisition response message 713 may include, as field values, one or more sets of an execution result 1705, a data ID 421, and management information 426 following the header 1701 and the message type 1703.

実行結果1705は、そのセットに含まれる管理情報426の取得処理の結果を表す。データID421は、そのセットに含まれる管理情報426に関するデータのIDを表す。すなわち、管理情報の取得要求メッセージ712に含まれるデータID421の数と、管理情報の取得応答メッセージ713に含まれるセットの数(データID421の数)とは一致する。   The execution result 1705 represents the result of the acquisition process of the management information 426 included in the set. The data ID 421 represents the data ID related to the management information 426 included in the set. That is, the number of data IDs 421 included in the management information acquisition request message 712 matches the number of sets included in the management information acquisition response message 713 (the number of data IDs 421).

図20は、データの取得要求メッセージ714の構成例を示す。   FIG. 20 shows a configuration example of the data acquisition request message 714.

データの取得要求メッセージ714は、ノード102が他ノードに対して、データを要求する際に送信するメッセージである。   The data acquisition request message 714 is a message transmitted when the node 102 requests data from another node.

データの取得要求メッセージ714は、フィールド値として、ヘッダ1701及びメッセージ種別1703に続いて、メモリアドレス1712及びサイズ425の1又は2以上のセットを有し、その後にエラー処理方法1710を有してよい。ヘッダ1701及びメッセージ種別1703は、図16で説明したとおりである。   The data acquisition request message 714 may include, as field values, a header 1701 and a message type 1703, one or more sets of a memory address 1712 and a size 425, and then an error processing method 1710. . The header 1701 and the message type 1703 are as described in FIG.

メモリアドレス1712は、取得対象のデータの格納先のメモリアドレスを表す。サイズ425は、取得対象のデータのサイズを表す。複数のデータを要求する場合は、データの取得要求メッセージ714に複数のメモリアドレス1712及びサイズ425のセットを含めてよい。エラー処理方法1710は、図11で説明したとおりである。   The memory address 1712 represents the memory address of the storage destination of the acquisition target data. The size 425 represents the size of data to be acquired. When requesting a plurality of data, a set of a plurality of memory addresses 1712 and a size 425 may be included in the data acquisition request message 714. The error processing method 1710 is as described in FIG.

図21は、データの取得応答メッセージ715の構成例を示す。   FIG. 21 shows a configuration example of the data acquisition response message 715.

データの取得応答メッセージ715は、データの取得要求メッセージ714の応答として、他ノードからノード102に返されるメッセージである。データの取得応答メッセージ715は、フィールド値として、ヘッダ1701及びメッセージ種別1703に続いて、実行結果1705、メモリアドレス1712、サイズ425及びデータ1711の1又は2以上のセットを有してよい。ヘッダ1701及びメッセージ種別1703は、図16で説明したとおりである。   The data acquisition response message 715 is a message returned from the other node to the node 102 as a response to the data acquisition request message 714. The data acquisition response message 715 may include one or more sets of an execution result 1705, a memory address 1712, a size 425, and data 1711 following the header 1701 and the message type 1703 as field values. The header 1701 and the message type 1703 are as described in FIG.

実行結果1705は、そのセットに含まれる他ノードにおけるデータの取得処理の結果を表す。メモリアドレス1712は、そのセットに含まれるデータ1711が格納されていたメモリアドレスを表す。サイズ425は、そのセットに含まれるデータ1711のサイズを表す。データ1711は、データの取得要求メッセージ714で要求されたデータである。すなわち、データの取得要求メッセージ714に含まれるセットの数と、データの取得応答メッセージ715に含まれるセットの数とは一致する。   The execution result 1705 represents the result of the data acquisition process in another node included in the set. A memory address 1712 represents a memory address where the data 1711 included in the set is stored. The size 425 represents the size of the data 1711 included in the set. Data 1711 is data requested by the data acquisition request message 714. That is, the number of sets included in the data acquisition request message 714 matches the number of sets included in the data acquisition response message 715.

図22は、Pub/Subメッセージ1520の構成例を示す。   FIG. 22 shows a configuration example of the Pub / Sub message 1520.

Pub/Subメッセージ1520は、或るノード102が複数の他ノードに対して同報通知するメッセージである。Pub/Subメッセージ1520は、フィールド値として、ヘッダ1701と、トランザクションID1521と、サイズ425と、データ1711とを有してよい。ヘッダ1701は、図16で説明したとおりである。データ1711は、Pub/Subメッセージ1520で運ばれるデータであり、サイズ425は、そのデータ1711のサイズを表す。   The Pub / Sub message 1520 is a message in which a certain node 102 broadcasts to a plurality of other nodes. The Pub / Sub message 1520 may have a header 1701, a transaction ID 1521, a size 425, and data 1711 as field values. The header 1701 is as described in FIG. Data 1711 is data carried by the Pub / Sub message 1520, and the size 425 represents the size of the data 1711.

トランザクションID1521は、Pub/Subメッセージ1520を識別するための情報である、同報通知されたPub/Subメッセージ1520を受信した他ノードは、そのメッセージ1520に含まれるトランザクションID1521が、自分が受信待機(購読)しているトランザクションIDと一致する場合、そのPub/Subメッセージ1520を取り込む。   The transaction ID 1521 is information for identifying the Pub / Sub message 1520. The other node receiving the broadcast / pub message 1520 receives the transaction ID 1521 included in the message 1520 and is waiting for reception ( If the transaction ID matches the subscription (subscription), the Pub / Sub message 1520 is fetched.

図23は、管理情報の削除要求メッセージ1611の構成例を示す。   FIG. 23 shows a configuration example of the management information deletion request message 1611.

管理情報の削除要求メッセージ1611は、ノード102が管理装置103に対して、管理情報の削除を要求する際に送信するメッセージである。管理情報の削除要求メッセージ1611は、ヘッダ1701と、メッセージ種別1703と、管理情報ID1706とを有してよい。ヘッダ1701及びメッセージ種別1703は、図16で説明したとおりである。   The management information deletion request message 1611 is a message transmitted when the node 102 requests the management apparatus 103 to delete management information. The management information deletion request message 1611 may include a header 1701, a message type 1703, and a management information ID 1706. The header 1701 and the message type 1703 are as described in FIG.

管理情報ID1706は、削除対象の管理情報のIDを表す。すなわち、管理装置103は、管理情報の削除要求メッセージ1612を受信すると、この管理情報ID1706に対応する管理情報を削除する処理を行う。   The management information ID 1706 represents the ID of management information to be deleted. That is, when the management apparatus 103 receives the management information deletion request message 1612, the management apparatus 103 performs processing for deleting the management information corresponding to the management information ID 1706.

図24は、管理情報の削除応答メッセージ1612の構成例を示す。   FIG. 24 shows a configuration example of the management information deletion response message 1612.

管理情報の削除応答メッセージ1612は、管理装置103がノード102に対して、管理情報の削除要求メッセージ1611の応答として返すメッセージである。管理情報の削除応答メッセージ1612は、ヘッダ1701と、メッセージ種別1703と、削除結果1613とを有してよい。ヘッダ1701及びメッセージ種別1703は、図16で説明したとおりである。削除結果1613は、管理装置103における管理情報の削除処理の結果(例えば成功又は失敗など)を表す。   The management information deletion response message 1612 is a message that the management apparatus 103 returns to the node 102 as a response to the management information deletion request message 1611. The management information deletion response message 1612 may include a header 1701, a message type 1703, and a deletion result 1613. The header 1701 and the message type 1703 are as described in FIG. The deletion result 1613 represents the result (for example, success or failure) of management information deletion processing in the management apparatus 103.

図25は、ノード102bが管理装置103に管理情報の登録を要求する処理の一例を表すシーケンスチャートである。   FIG. 25 is a sequence chart illustrating an example of a process in which the node 102b requests the management apparatus 103 to register management information.

ノード102bのアクセスミドルウェア220は、自ノード102bが分散システム1に参加するとき、以下の処理を開始する。例えば、ノード102bは、通信ネットワーク101に接続して管理装置103と通信可能となったこと契機として、以下の処理を開始する。   When the node 102b joins the distributed system 1, the access middleware 220 of the node 102b starts the following processing. For example, the node 102b starts the following process when the node 102b is connected to the communication network 101 and can communicate with the management apparatus 103.

ノード102bの管理情報取得部223は、ノード102bに関する管理情報及びプロパティ情報を準備する(S501)。そして、ノード102bは、メッセージ送信部226に対して、管理情報の登録要求メッセージを管理装置103へ送信するよう指示する(S501)。   The management information acquisition unit 223 of the node 102b prepares management information and property information related to the node 102b (S501). Then, the node 102b instructs the message transmission unit 226 to transmit a management information registration request message to the management apparatus 103 (S501).

ノード102bのメッセージ送信部226は、ノード102bに関する管理情報426及びプロパティ情報513を含む管理情報の登録要求メッセージ511を生成し、その管理情報の登録要求メッセージ511を管理装置103へ送信する(S502)。   The message transmission unit 226 of the node 102b generates a management information registration request message 511 including the management information 426 and property information 513 regarding the node 102b, and transmits the management information registration request message 511 to the management apparatus 103 (S502). .

管理装置103の管理アプリケーション310は、ノード102bから管理情報の登録要求メッセージ511を受信すると、その登録要求メッセージ511に含まれる管理情報426及びプロパティ情報513について、管理情報の登録処理を実行する(S600)。この処理の詳細については後述する。   Upon receiving the management information registration request message 511 from the node 102b, the management application 310 of the management apparatus 103 executes management information registration processing on the management information 426 and property information 513 included in the registration request message 511 (S600). ). Details of this processing will be described later.

ノード102bの管理情報取得部223は、管理装置103から管理情報の登録応答メッセージ512を受信する(S504)。そして、管理情報取得部223は、その管理情報の登録応答メッセージ512に含まれる登録結果514に基づいて、登録処理の成否を判定する。ここで、登録結果514が「成功」である場合、管理情報取得部223は、管理情報の登録応答メッセージ512に含まれる管理情報ID1706を記憶する。登録結果514が「失敗」である場合、管理情報取得部223は、アプリケーション210へ「失敗」を通知する。   The management information acquisition unit 223 of the node 102b receives the management information registration response message 512 from the management apparatus 103 (S504). Then, the management information acquisition unit 223 determines the success or failure of the registration process based on the registration result 514 included in the registration response message 512 of the management information. When the registration result 514 is “success”, the management information acquisition unit 223 stores the management information ID 1706 included in the management information registration response message 512. When the registration result 514 is “failure”, the management information acquisition unit 223 notifies the application 210 of “failure”.

各ノード102が上述の処理を行うことで、分散システム1の各ノード102の管理情報が、管理装置103に集められる。   The management information of each node 102 of the distributed system 1 is collected in the management device 103 by each node 102 performing the above-described processing.

図26は、管理装置103における管理情報の登録処理の例を表すフローチャートである。この処理は、図22のS600の管理装置103側の処理に該当する。   FIG. 26 is a flowchart illustrating an example of management information registration processing in the management apparatus 103. This process corresponds to the process on the management apparatus 103 side in S600 of FIG.

管理装置103の管理アプリケーション310は、ノード102bから管理情報の登録要求メッセージ511を受信すると(S601)、その登録要求メッセージ511から管理情報426及びプロパティ情報513を抽出する(S602)。   When receiving the management information registration request message 511 from the node 102b (S601), the management application 310 of the management apparatus 103 extracts the management information 426 and property information 513 from the registration request message 511 (S602).

管理アプリケーション310は、記憶部270の空き容量が不足しているか否かを判定する(S603)。記憶部270に管理情報などを格納する必要があるためである。   The management application 310 determines whether or not the free space in the storage unit 270 is insufficient (S603). This is because management information or the like needs to be stored in the storage unit 270.

空き容量が不足していない場合(S603:NO)、管理アプリケーション310は、ノード102bから受信したプロパティ情報513と重複したものがリンクテーブル341に存在するか否かを判定する(S604)。すなわち、その受信したプロパティ情報513に含まれるノード名411及びバージョン412と重複するリンク情報(レコード)が、リンクテーブル341に存在するか否かを判定する。   If there is no shortage of free space (S603: NO), the management application 310 determines whether or not there is duplicated property information 513 received from the node 102b in the link table 341 (S604). That is, it is determined whether or not link information (record) overlapping with the node name 411 and the version 412 included in the received property information 513 exists in the link table 341.

重複したものがリンクテーブル341に存在しない場合(S604:NO)、管理アプリケーション310は、管理情報426を管理情報テーブル342に登録する(S605)。そして、管理アプリケーション310は、この登録した管理情報に対応する管理情報IDを発行する。   If there is no duplicate in the link table 341 (S604: NO), the management application 310 registers the management information 426 in the management information table 342 (S605). Then, the management application 310 issues a management information ID corresponding to the registered management information.

そして、管理アプリケーション310は、この管理情報IDと、プロパティ情報513に含まれるノード名411、バージョン412及び互換バージョン413と、管理情報426の登録先の管理情報テーブル342を示すリンク先とを有するリンク情報を生成し、リンクテーブル341に登録する(S606)。また、管理アプリケーション310は、「成功」の登録結果514と、管理情報ID1706とを含む管理情報の登録応答メッセージ512を生成する。そして、管理アプリケーション310は、S610の処理へ進む。   Then, the management application 310 has a link having the management information ID, the node name 411, the version 412 and the compatible version 413 included in the property information 513, and a link destination indicating the management information table 342 where the management information 426 is registered. Information is generated and registered in the link table 341 (S606). Also, the management application 310 generates a management information registration response message 512 including a “successful” registration result 514 and a management information ID 1706. Then, the management application 310 proceeds to the process of S610.

空き容量が不足している場合(S603:YES)、又は重複したものがリンクテーブル341に存在する場合(S604:YES)、管理アプリケーション310は「失敗」の登録結果514を含む管理情報の登録応答メッセージ512を生成する(S608)。そして、管理アプリケーション310は、S610の処理へ進む。   When the free space is insufficient (S603: YES), or when there is a duplicate in the link table 341 (S604: YES), the management application 310 responds to registration of management information including the registration result 514 of “failure”. A message 512 is generated (S608). Then, the management application 310 proceeds to the process of S610.

S610として管理アプリケーション310は、上述で生成した管理情報の登録応答メッセージ512を、ノード102bへ送信する(S610)。   In S610, the management application 310 transmits the management information registration response message 512 generated above to the node 102b (S610).

さらに、管理アプリケーション310は、その登録した管理情報に係るプロパティ情報(ノード名及びバージョン等)を、通信ネットワーク101上の各ノード102へ同報通知してもよい。この同報通知を受信した各ノード102は、この同報通知と同じノード名であり、且つ、同報通知されたものよりも古いバージョンの管理情報を、キャッシュテーブル251から削除してもよい(S611)。   Further, the management application 310 may broadcast the property information (node name, version, etc.) related to the registered management information to each node 102 on the communication network 101. Each node 102 that has received this broadcast notification may delete from the cache table 251 management information of the same node name as this broadcast notification and a version older than the one notified by broadcast notification ( S611).

以上の処理により、管理装置103は、管理情報の登録要求メッセージ511に対する応答メッセージ512を、ノード102bに返すことができる。   Through the above processing, the management apparatus 103 can return a response message 512 to the management information registration request message 511 to the node 102b.

図27は、ノード102aがノード102bからデータを取得する処理の例を表すシーケンスチャートである。   FIG. 27 is a sequence chart illustrating an example of processing in which the node 102a acquires data from the node 102b.

ノード102aのアプリケーション210は、取得対象のデータID421と、所望のエラー処理方法1710とを含む取得コマンド711を生成する。そして、アプリケーション210は、その取得コマンド711をアクセスミドルウェア220aへ渡す(S701)。   The application 210 of the node 102 a generates an acquisition command 711 including the acquisition target data ID 421 and a desired error processing method 1710. Then, the application 210 passes the acquisition command 711 to the access middleware 220a (S701).

ノード102aのアクセスミドルウェア220aは、この取得コマンド711に基づき、管理情報の取得処理を実行する(S800)。この処理の詳細については後述する。   The access middleware 220a of the node 102a executes management information acquisition processing based on the acquisition command 711 (S800). Details of this processing will be described later.

アクセスミドルウェア220aは、管理情報の取得処理によって取得した管理情報に基づき、クエリコマンド740を生成する(S720)。そして、アクセスミドルウェア220aは、このクエリコマンド740に基づき、データ取得処理を実行する(S700)。この処理の詳細については後述する。   The access middleware 220a generates a query command 740 based on the management information acquired by the management information acquisition process (S720). Then, the access middleware 220a executes data acquisition processing based on the query command 740 (S700). Details of this processing will be described later.

アクセスミドルウェア220aは、データ取得処理によって得られたクエリコマンド結果741に基づき、取得コマンド結果716を生成する(S730)。そして、アクセスミドルウェア220aは、この取得コマンド結果716を、アプリケーション210へ返す(S731)。   The access middleware 220a generates an acquisition command result 716 based on the query command result 741 obtained by the data acquisition process (S730). Then, the access middleware 220a returns the acquisition command result 716 to the application 210 (S731).

このとき、アクセスミドルウェア220aは、データ取得処理の対象のクエリコマンド740がまだ残っているか否かを判定する(S732)。この判定が肯定的な場合(S732:YES)、アクセスミドルウェア220aは、その残っているクエリコマンド740について、データ取得処理(S700)を実行する。この判定が否定的な場合(S732:NO)、アクセスミドルウェア220aは、本処理を終了する。   At this time, the access middleware 220a determines whether or not the query command 740 that is the target of the data acquisition process still remains (S732). If this determination is affirmative (S732: YES), the access middleware 220a executes data acquisition processing (S700) for the remaining query command 740. If this determination is negative (S732: NO), the access middleware 220a ends this process.

以上の処理により、ノード102aのアプリケーション210は、ノード102bからデータ1711を取得することができる。なおアプリケーション210は、取得コマンド711に対する取得コマンド結果716を受け取る前に、次の取得コマンド711をアクセスミドルウェア220へ渡してもよい。すなわち、アクセスミドルウェア220は、複数の取得コマンド711を並列に処理してもよい。   Through the above processing, the application 210 of the node 102a can acquire the data 1711 from the node 102b. The application 210 may pass the next acquisition command 711 to the access middleware 220 before receiving the acquisition command result 716 for the acquisition command 711. That is, the access middleware 220 may process a plurality of acquisition commands 711 in parallel.

図28は、アクセスミドルウェア220aにおける管理情報の取得処理の例を表すフローチャートである。この処理は、図27のS800に該当する。   FIG. 28 is a flowchart illustrating an example of management information acquisition processing in the access middleware 220a. This process corresponds to S800 in FIG.

ノード102aのアクセスミドルウェア220aは、アプリケーション210から渡された取得コマンド711から、データID421を抽出する(S801)。アクセスミドルウェア220aは、キャッシュテーブル252から、データID421に対応する管理情報の取得を試みる(S802)。そして、アクセスミドルウェア220aは、キャッシュテーブル252から取得できなかった管理情報が存在するか否かを判定する(S803)。   The access middleware 220a of the node 102a extracts the data ID 421 from the acquisition command 711 passed from the application 210 (S801). The access middleware 220a tries to acquire management information corresponding to the data ID 421 from the cache table 252 (S802). Then, the access middleware 220a determines whether there is management information that could not be acquired from the cache table 252 (S803).

キャッシュテーブル252から取得できなかった管理情報が存在しない場合(S803:NO)、アクセスミドルウェア220aは、本処理を終了する。   If there is no management information that could not be acquired from the cache table 252 (S803: NO), the access middleware 220a ends this process.

キャッシュテーブル252から取得できなかった管理情報が存在する場合(S803:YES)、アクセスミドルウェア220aは、その取得できなかったデータID421に関連する管理情報の取得要求メッセージ712を生成する。そして、アクセスミドルウェア220aは、その管理情報の取得要求メッセージ712を、管理装置103へ送信する(S804)。そして、アクセスミドルウェア220aは、タイムアウトが発生するまで、管理情報の取得応答メッセージ713の受信を待機する(S807:NO、S808:NO)。   If there is management information that could not be acquired from the cache table 252 (S803: YES), the access middleware 220a generates an acquisition request message 712 for management information related to the data ID 421 that could not be acquired. Then, the access middleware 220a transmits the management information acquisition request message 712 to the management apparatus 103 (S804). Then, the access middleware 220a waits for reception of the management information acquisition response message 713 until a timeout occurs (S807: NO, S808: NO).

タイムアウトが発生した場合(S808:YES)、アクセスミドルウェア220aは、結果コード750「6」(管理情報取得エラー)の実行結果1705を含む取得コマンド結果716を生成する。そして、アクセスミドルウェア220aは、その取得コマンド結果716をアプリケーション210に返し(S809)、本処理を終了する。   When a timeout occurs (S808: YES), the access middleware 220a generates an acquisition command result 716 including an execution result 1705 of the result code 750 “6” (management information acquisition error). Then, the access middleware 220a returns the acquisition command result 716 to the application 210 (S809), and ends this processing.

タイムアウトが発生する前に管理情報の取得応答メッセージ713を受信した場合(S807:YES)、アクセスミドルウェア220aは、その管理情報の取得応答メッセージ713から管理情報426を抽出する(S805)。アクセスミドルウェア220aは、この抽出した管理情報を、キャッシュテーブル251に登録し(S806)、本処理を終了する。   When the management information acquisition response message 713 is received before the timeout occurs (S807: YES), the access middleware 220a extracts the management information 426 from the management information acquisition response message 713 (S805). The access middleware 220a registers the extracted management information in the cache table 251 (S806), and ends this process.

以上の処理により、アクセスミドルウェア220aは、データの取得に必要な管理情報を取得することができる。   Through the above processing, the access middleware 220a can acquire management information necessary for data acquisition.

図29は、管理情報の取得要求メッセージ712を受けた管理装置103の処理の例を表すフローチャートである。この処理は、図27のS800に該当する。   FIG. 29 is a flowchart illustrating an example of processing of the management apparatus 103 that has received the management information acquisition request message 712. This process corresponds to S800 in FIG.

管理アプリケーション310は、ノード102aから管理情報の取得要求メッセージ712を受信すると(S901)、その取得要求メッセージ712からデータID421及びバージョン412を抽出する。   When receiving the management information acquisition request message 712 from the node 102a (S901), the management application 310 extracts the data ID 421 and the version 412 from the acquisition request message 712.

管理アプリケーション310は、リンクテーブル341から、その抽出したバージョンと同一または互換性を有するバージョンを有し、且つ、その抽出したデータIDと同一のデータIDを有する管理情報426を検索する(S902)。   The management application 310 searches the link table 341 for management information 426 having a version that is the same as or compatible with the extracted version and having the same data ID as the extracted data ID (S902).

このような管理情報を発見できた場合(S903:YES)、管理アプリケーション310は、この発見した管理情報と、実行結果の結果コード「0」(成功)とをセットにした情報を一時的に保持し(S904)、S906の処理へ進む。   When such management information can be found (S903: YES), the management application 310 temporarily holds the set management information and the execution result result code “0” (success) as a set. Then (S904), the process proceeds to S906.

このような管理情報を発見できなかった場合(S903:NO)、管理アプリケーション310は、「NULL」の管理情報と、実行結果の結果コード「5」(データIDエラー)とをセットにした情報を一時的に保持し(S905)、S906の処理へ進む。   When such management information could not be found (S903: NO), the management application 310 sets the management information “NULL” and the result set result code “5” (data ID error) as a set. The data is temporarily held (S905), and the process proceeds to S906.

S906において管理アプリケーション310は、ノード102aから受信した全てのデータID421の内、未処理のデータIDが存在するか否かを判定する(S906)。未処理のデータIDが存在する場合(S906:YES)、管理アプリケーション310は、S902に戻り、未処理のデータIDについて上記と同様の検索を行う。   In S906, the management application 310 determines whether there is an unprocessed data ID among all the data IDs 421 received from the node 102a (S906). If there is an unprocessed data ID (S906: YES), the management application 310 returns to S902 and performs the same search as described above for the unprocessed data ID.

未処理のデータIDが存在しない場合(S906:NO)、管理アプリケーション310は、ノード102aから受信したデータID421と、一時的に保持していた実行結果と、管理情報426とを含む管理情報の取得応答メッセージ713を生成する。そして、管理アプリケーション310は、その管理情報の取得応答メッセージ713を、ノード102aへ返し(S907)、本処理を終了する。   When there is no unprocessed data ID (S906: NO), the management application 310 obtains management information including the data ID 421 received from the node 102a, the temporarily held execution result, and the management information 426. A response message 713 is generated. Then, the management application 310 returns the management information acquisition response message 713 to the node 102a (S907), and ends this processing.

以上の処理により、管理装置103は、管理情報の取得要求メッセージ712に対する応答メッセージ713をノード102aに返すことができる。   Through the above processing, the management apparatus 103 can return a response message 713 to the management information acquisition request message 712 to the node 102a.

図30は、ノード102aにおけるデータ取得処理の例を表すフローチャートである。この処理は、図27のS700の処理に該当する。   FIG. 30 is a flowchart illustrating an example of data acquisition processing in the node 102a. This process corresponds to the process of S700 in FIG.

ノード102aのアクセスミドルウェア220aは、図27のS720で生成したクエリコマンド740について次の処理を行う。すなわち、アクセスミドルウェア220aは、クエリコマンド740をデータ取得方法422で分類する(S1101)。そして、アクセスミドルウェア220aは、データ取得方法に対応する処理を実行する。このとき、アクセスミドルウェア220aは、複数のクエリコマンド740を並列に処理してよい。   The access middleware 220a of the node 102a performs the following processing on the query command 740 generated in S720 of FIG. That is, the access middleware 220a classifies the query commands 740 by the data acquisition method 422 (S1101). Then, the access middleware 220a executes processing corresponding to the data acquisition method. At this time, the access middleware 220a may process a plurality of query commands 740 in parallel.

アクセスミドルウェア220aは、データ取得方法422が「Req/Rep通信」であるクエリコマンド740について、Req/Rep通信によるデータ取得処理(S1200)を実行する。この処理の詳細については後述する。   The access middleware 220a executes the data acquisition process (S1200) by the Req / Rep communication for the query command 740 whose data acquisition method 422 is “Req / Rep communication”. Details of this processing will be described later.

アクセスミドルウェア220aは、データ取得方法が「共有メモリ参照」であるクエリコマンド740について、共有メモリからのデータ取得処理(S1400)を実行する。この処理の詳細については後述する。   The access middleware 220a executes data acquisition processing (S1400) from the shared memory for the query command 740 whose data acquisition method is “reference shared memory”. Details of this processing will be described later.

アクセスミドルウェア220aは、データ取得方法が「Pub/Sub通信」であるクエリコマンド740について、Pub/Sub通信によるデータ取得処理(S1500)を実行する。この処理の詳細については後述する。   The access middleware 220a executes data acquisition processing (S1500) by Pub / Sub communication for the query command 740 whose data acquisition method is “Pub / Sub communication”. Details of this processing will be described later.

アクセスミドルウェア220aは、データ取得方法が未知のもの又は未対応のものであるクエリコマンド740について、結果コード「7」(管理情報エラー)の実行結果を生成する(S1107)。   The access middleware 220a generates an execution result of the result code “7” (management information error) for the query command 740 whose data acquisition method is unknown or not supported (S1107).

上記S1200、S1400、S1500又はS1107の処理を完了したアクセスミドルウェア220aは、それぞれのデータ取得処理の実行結果を参照する(S1102)。   The access middleware 220a that has completed the process of S1200, S1400, S1500, or S1107 refers to the execution result of each data acquisition process (S1102).

アクセスミドルウェア220aは、実行結果にエラーが含まれているか否かを判定する(S1103)。実行結果にエラーが含まれていない場合(S1103:NO)、アクセスミドルウェア220aは、S1108の処理へ進む。   The access middleware 220a determines whether an error is included in the execution result (S1103). If no error is included in the execution result (S1103: NO), the access middleware 220a proceeds to the process of S1108.

実行結果にエラーが含まれている場合(S1103:YES)、アクセスミドルウェア220aは、次のエラー処理を行う。アクセスミドルウェア220aは、実行結果の結果コードと、エラー処理方法1710とを照らし合わせて、データ取得処理の継続が必要な組み合わせが存在するか否かを判断する(S1104)。   When an error is included in the execution result (S1103: YES), the access middleware 220a performs the following error processing. The access middleware 220a compares the result code of the execution result with the error processing method 1710, and determines whether there is a combination that requires the data acquisition process to continue (S1104).

データ取得処理の継続が必要な組み合わせとは、例えば、結果コードが「1」(Req/Rep通信:接続エラー)、且つ、再送フラグ752が「1」の組み合わせの場合である。又は、結果コードが「2」(Req/Rep通信:タイムアウトエラー)、且つ、再送フラグ752が「1」の組み合わせの場合である。又は、結果コードが「3」(共有メモリ参照:未更新エラー)、且つ、一時取得待ちフラグ753若しくは取得待ちフラグ754が「1」の組み合わせの場合である。又は、結果コードが「4」(Pub/Sub通信:タイムアウトエラー)、且つ、一時取得待ちフラグ753若しくは取得待ちフラグ754が「1」の組み合わせの場合である。   The combination that requires continuation of the data acquisition process is, for example, a combination in which the result code is “1” (Req / Rep communication: connection error) and the retransmission flag 752 is “1”. Or, the result code is “2” (Req / Rep communication: timeout error) and the retransmission flag 752 is a combination of “1”. Alternatively, the result code is “3” (shared memory reference: unupdate error) and the temporary acquisition waiting flag 753 or the acquisition waiting flag 754 is a combination of “1”. Alternatively, the result code is “4” (Pub / Sub communication: timeout error) and the temporary acquisition waiting flag 753 or the acquisition waiting flag 754 is a combination of “1”.

次に、アクセスミドルウェア220aは、再送フラグ752が「1」の場合に再送回数が回数制限742を超えていないか、及び、一時取得待ちフラグ753が「1」の場合に待機時間が期限743を超えていないかなどを判断する(S1105)。これらの制限を超えている場合(S1105:NO)、アクセスミドルウェア220aは、S1108の処理へ進む。   Next, when the retransmission flag 752 is “1”, the access middleware 220a sets the waiting time limit 743 if the number of retransmissions does not exceed the number limit 742, and if the temporary acquisition wait flag 753 is “1”. It is determined whether or not it has exceeded (S1105). When these limits are exceeded (S1105: NO), the access middleware 220a proceeds to the process of S1108.

これらの制限を超えていない場合(S1105:YES)、アクセスミドルウェア220aは、クエリコマンド740を再生成する(S1106)。このとき、再送回数や待機時間の加算などを行ってよい。ここで再生成されたクエリコマンド740は、図27のS731の残りのクエリコマンド740として追加され、再実行される。   When these limits are not exceeded (S1105: YES), the access middleware 220a regenerates the query command 740 (S1106). At this time, the number of retransmissions and waiting time may be added. The regenerated query command 740 is added as the remaining query command 740 in S731 in FIG. 27 and re-executed.

S1108としてアクセスミドルウェア220aは、未処理のデータ取得結果が存在するか否かを判定する(S1108)。未処理のデータ取得結果が存在する場合(S1108:YES)、アクセスミドルウェア220aは、その未処理のデータ取得結果について、S1102からの処理を実行する。未処理のデータ取得結果が存在しない場合(S1108:NO)、アクセスミドルウェア220aは、本処理を終了する。   In S1108, the access middleware 220a determines whether there is an unprocessed data acquisition result (S1108). When there is an unprocessed data acquisition result (S1108: YES), the access middleware 220a executes the process from S1102 on the unprocessed data acquisition result. If there is no unprocessed data acquisition result (S1108: NO), the access middleware 220a ends this process.

以上の処理により、ノード102aは、クエリコマンド740に含まれるデータ取得方法422及びエラー処理方法1710に従ってデータを取得することができる。   With the above processing, the node 102a can acquire data according to the data acquisition method 422 and the error processing method 1710 included in the query command 740.

図31は、ノード102aにおけるReq/Rep通信によるデータ取得処理の例を表すフローチャートである。この処理は、図27のS1200のデータの取得要求メッセージ713を送信する側のノード102aの処理に該当する。   FIG. 31 is a flowchart illustrating an example of data acquisition processing by Req / Rep communication in the node 102a. This processing corresponds to the processing of the node 102a on the transmission side of the data acquisition request message 713 in S1200 of FIG.

ノード102aのアクセスミドルウェア220aは、クエリコマンド740のデータ位置342から、データの取得先である他ノード102bのIPアドレス及びメモリアドレスを抽出する。そして、アクセスミドルウェア220aは、他ノード102bのIPアドレスに接続を試みる(S1201)、   The access middleware 220a of the node 102a extracts the IP address and memory address of the other node 102b that is the data acquisition destination from the data position 342 of the query command 740. Then, the access middleware 220a tries to connect to the IP address of the other node 102b (S1201),

接続が成功した場合(S1201:YES)、アクセスミドルウェア220aは、データの取得要求メッセージ714を、他ノード102bへ送信する(S1202)。そして、アクセスミドルウェア220aは、S1210の処理へ進む。   When the connection is successful (S1201: YES), the access middleware 220a transmits a data acquisition request message 714 to the other node 102b (S1202). Then, the access middleware 220a proceeds to the process of S1210.

接続が失敗した場合(S1201:NO)、アクセスミドルウェア220aは、結果コード「1」(リクエスト/レスポンス通信:接続エラー)の実行結果を一時的に保持する(S1205)。そして、アクセスミドルウェアは、S1210の処理へ進む。   When the connection fails (S1201: NO), the access middleware 220a temporarily holds the execution result of the result code “1” (request / response communication: connection error) (S1205). Then, the access middleware proceeds to the process of S1210.

S1210としてアクセスミドルウェア220aは、未処理のクエリコマンド740が存在するか否かを判定する(S1210)。未処理のクエリコマンド740が存在する場合(S1210:YES)、アクセスミドルウェア220aは、未処理のクエリコマンド740について、S1201からの処理を実行する。未処理のクエリコマンド740が存在しない場合(S1210:NO)、アクセスミドルウェア220aは、次のS1212の処理へ進む。   In S1210, the access middleware 220a determines whether or not there is an unprocessed query command 740 (S1210). When there is an unprocessed query command 740 (S1210: YES), the access middleware 220a executes the processing from S1201 for the unprocessed query command 740. If there is no unprocessed query command 740 (S1210: NO), the access middleware 220a proceeds to the next process of S1212.

ノード102aのアクセスミドルウェア220aは、タイムアウトが発生するまで、他ノード102bからのデータの取得応答メッセージ715の受信を待機する(S1212:NO、S1218:NO)。   The access middleware 220a of the node 102a waits for reception of the data acquisition response message 715 from the other node 102b until a timeout occurs (S1212: NO, S1218: NO).

データの取得応答メッセージ715を受信した場合(S1212:YES)、アクセスミドルウェア220aは、そのデータの取得応答メッセージ715からデータ1711及び実行結果1705を抽出する。そして、アクセスミドルウェア220aは、その抽出したデータ1711及び実行結果1705を含むクエリコマンド結果741を生成し、一時的に保持する(S1215)。   When the data acquisition response message 715 is received (S1212: YES), the access middleware 220a extracts the data 1711 and the execution result 1705 from the data acquisition response message 715. Then, the access middleware 220a generates a query command result 741 including the extracted data 1711 and the execution result 1705, and temporarily stores it (S1215).

アクセスミドルウェア220aは、未受信のデータの取得応答メッセージ715が存在するか否かを判定する(S1220)。未受信のデータの取得応答メッセージ715が存在する場合(S1220:YES)、アクセスミドルウェア220aは、S1212の処理に戻り、残りの受信を待機する。未受信のデータの取得応答メッセージ712が存在しない場合(S1220:NO)、アクセスミドルウェア220aは、本処理を終了する。   The access middleware 220a determines whether there is an acquisition response message 715 for unreceived data (S1220). If there is an unreceived data acquisition response message 715 (S1220: YES), the access middleware 220a returns to the processing of S1212 and waits for the remaining reception. If there is no unreceived data acquisition response message 712 (S1220: NO), the access middleware 220a ends this process.

データの取得応答メッセージ712の受信待機において、タイムアウトが発生した場合(S1218:YES)、アクセスミドルウェア220aは、次の処理を行う。すなわち、アクセスミドルウェア220aは、結果コード「2」(リクエスト/レスポンス通信:タイムアウトエラー)の実行結果を有するクエリコマンド結果741を生成し、一時的に保持する(S1219)。そして、アクセスミドルウェア220aは、本処理を終了する。   When a timeout occurs in the standby for receiving the data acquisition response message 712 (S1218: YES), the access middleware 220a performs the following processing. That is, the access middleware 220a generates a query command result 741 having an execution result of the result code “2” (request / response communication: timeout error) and temporarily holds it (S1219). Then, the access middleware 220a ends this process.

上述における一時的に保持されたクエリコマンド結果741は、図27のS731においてアプリケーション210に返される。   The query command result 741 temporarily held in the above is returned to the application 210 in S731 of FIG.

図32は、ノード102bにおけるReq/Rep通信によるデータ取得処理の例を表すフローチャートである。この処理は、図27のS1200のデータの取得要求メッセージ713を受信する側のノード102bの処理に該当する。   FIG. 32 is a flowchart illustrating an example of data acquisition processing by Req / Rep communication in the node 102b. This processing corresponds to the processing of the node 102b on the side that receives the data acquisition request message 713 in S1200 of FIG.

ノード102bのアクセスミドルウェア220bは、ノード102aからのデータの取得要求メッセージ714を受信すると(S1301)、以下の処理を実行する。すなわち、アクセスミドルウェア220bは、そのデータの取得要求メッセージ714からメモリアドレス1712及びサイズ425を抽出する。   Upon receiving the data acquisition request message 714 from the node 102a (S1301), the access middleware 220b of the node 102b executes the following processing. That is, the access middleware 220b extracts the memory address 1712 and the size 425 from the data acquisition request message 714.

アクセスミドルウェア220bは、その抽出したメモリアドレス1712及びサイズ425の示す位置にデータが存在するか否かを判定する(S1302)。データが存在しない場合(S1302:NO)、アクセスミドルウェア220bは、データが存在しない旨を表す実行結果を一時的に保持し(S1320)、S1306の処理へ進む。   The access middleware 220b determines whether data exists at the position indicated by the extracted memory address 1712 and size 425 (S1302). If no data exists (S1302: NO), the access middleware 220b temporarily holds an execution result indicating that no data exists (S1320), and proceeds to the process of S1306.

データが存在する場合(S1302:YES)、アクセスミドルウェア220aは、その位置からデータを取得する(S1303)。そして、アクセスミドルウェア220aは、データIDと結果コード「0」(成功)と現在時刻の取得時刻とを含む実行結果、並びに、その取得したデータを、一時的に保持する(S1304)。   When the data exists (S1302: YES), the access middleware 220a acquires the data from the position (S1303). Then, the access middleware 220a temporarily holds the execution result including the data ID, the result code “0” (success), and the acquisition time of the current time, and the acquired data (S1304).

アクセスミドルウェア220aは、未取得のデータが存在するか否かを判定する(S1305)。未取得のデータが存在する場合(S1305:YES)、アクセスミドルウェア220aは、S1203の処理に戻り、未取得のデータを取得する。   The access middleware 220a determines whether unacquired data exists (S1305). If unacquired data exists (S1305: YES), the access middleware 220a returns to the processing of S1203 and acquires unacquired data.

未取得のデータが存在しない場合(S1305:NO)、アクセスミドルウェア220aは、上述において一時的に保持した実行結果等を含むデータの取得応答メッセージ715を生成し、そのメッセージ715をノード102aへ返す(S1306)。そして、アクセスミドルウェア220aは、本処理を終了する。   When there is no unacquired data (S1305: NO), the access middleware 220a generates a data acquisition response message 715 including the execution result temporarily stored in the above, and returns the message 715 to the node 102a ( S1306). Then, the access middleware 220a ends this process.

以上の処理により、データの取得要求メッセージ713を受信したノード102aは、その取得要求メッセージ713に対応する取得応答メッセージ714を返すことができる。   Through the above processing, the node 102 a that has received the data acquisition request message 713 can return an acquisition response message 714 corresponding to the acquisition request message 713.

なお、上述の処理例では、S1302の判定によって、データの取得要求メッセージ中に存在しないデータが1つでも含まれる場合は、その旨を示す実行結果を含むデータの取得応答メッセージを返している。しかし、取得要求メッセージ中の個々のデータに関して存在の有無の判定を行い、個々のデータに関しての判定結果を実行結果として含むデータの取得応答メッセージを返しても良い。   In the above processing example, if even one non-existent data is included in the data acquisition request message as a result of the determination in S1302, a data acquisition response message including an execution result indicating that fact is returned. However, the presence / absence of each data in the acquisition request message may be determined, and a data acquisition response message including the determination result regarding each data as an execution result may be returned.

図33は、ノード102aにおける共有メモリ参照によるデータ取得処理の一例を表すフローチャートである。この処理は、図27のS1400の処理に該当する。   FIG. 33 is a flowchart illustrating an example of data acquisition processing by reference to the shared memory in the node 102a. This process corresponds to the process of S1400 in FIG.

ノード102aのアクセスミドルウェア220aは、管理情報から、データ位置423(共有メモリID及びメモリアドレス)、データ型及びサイズを取得する。そして、アクセスミドルウェア220aは、これらの情報を用いて共有メモリ253からデータを取得する(S1401)。   The access middleware 220a of the node 102a acquires the data location 423 (shared memory ID and memory address), data type, and size from the management information. Then, the access middleware 220a acquires data from the shared memory 253 using these pieces of information (S1401).

アクセスミドルウェア220aは、この取得したデータの更新時刻を確認し(S1402)、このデータが更新されているか否かを判定する(S1403)。例えば、アクセスミドルウェア220aは、この取得したデータの更新時刻が、更新情報テーブル254におけるこのデータに対応するレコードのタイムスタンプ432よりも新しい場合(又は、このデータが初めて取得したものである場合)、更新されていると判定してよい。   The access middleware 220a confirms the update time of the acquired data (S1402), and determines whether or not this data has been updated (S1403). For example, the access middleware 220a, when the update time of this acquired data is newer than the time stamp 432 of the record corresponding to this data in the update information table 254 (or when this data is acquired for the first time), You may determine that it has been updated.

この取得したデータが更新されていると判定した場合(S1403:YES)、アクセスミドルウェア220aは、この取得したデータと、現在時刻を取得時刻751とする実行結果1705とを一時的に保持する(S1408)。そして、アクセスミドルウェア220aは、S1410の処理に進む。   If it is determined that the acquired data has been updated (S1403: YES), the access middleware 220a temporarily holds the acquired data and an execution result 1705 having the current time as the acquisition time 751 (S1408). ). Then, the access middleware 220a proceeds to the process of S1410.

この取得したデータが更新されていないと判定した場合(S1403:NO)、アクセスミドルウェア220aは、エラー処理方法1710のデータ取得フラグ755が「1」(未更新であってもデータを取得すべき)であるか否かを判定する(S1404)。   If it is determined that the acquired data has not been updated (S1403: NO), the access middleware 220a sets the data acquisition flag 755 of the error processing method 1710 to “1” (data should be acquired even if it has not been updated). It is determined whether or not (S1404).

データ取得フラグ755が「1」(未更新であってもデータを取得すべき)である場合(S1404:YES)、アクセスミドルウェア220aは、この取得したデータと、結果コードを「3」(共有メモリ参照:未更新エラー)とし且つこの取得したデータの更新時刻を取得時刻751とした実行結果1705とを一時的に保持する(S1405、S1408)。そして、アクセスミドルウェア220aは、S1410の処理に進む。   When the data acquisition flag 755 is “1” (data should be acquired even if not updated) (S1404: YES), the access middleware 220a sets the acquired data and the result code to “3” (shared memory). (Reference: Unupdate error) and the execution result 1705 in which the update time of the acquired data is the acquisition time 751 is temporarily held (S1405, S1408). Then, the access middleware 220a proceeds to the process of S1410.

データ取得フラグ755が「0」(未更新の場合はデータを取得すべきでない)の場合(S1404:NO)、アクセスミドルウェア220aは、「NULL」のデータと、結果コードを「3」(共有メモリ参照:未更新エラー)とした実行結果1705とを一時的に保持する(S1406)。そして、アクセスミドルウェア220aは、S1410の処理に進む。   When the data acquisition flag 755 is “0” (data should not be acquired if it has not been updated) (S1404: NO), the access middleware 220a sets the data “NULL” and the result code to “3” (shared memory). The execution result 1705 that is referred to as an unupdate error is temporarily held (S1406). Then, the access middleware 220a proceeds to the process of S1410.

S1410としてアクセスミドルウェア220aは、未取得のデータが残っているか否かを判定する(S1410)。未取得のデータが残っている場合(S1410:YES)、アクセスミドルウェア220aは、S1401の処理に戻り、未取得のデータを取得する。未取得のデータが残っていない場合(S1410:NO)、アクセスミドルウェア220aは、本処理を終了する。   In S1410, the access middleware 220a determines whether unacquired data remains (S1410). When unacquired data remains (S1410: YES), the access middleware 220a returns to the process of S1401 and acquires unacquired data. If unacquired data does not remain (S1410: NO), the access middleware 220a ends this process.

以上の処理により、ノード102aは、エラー処理方法に基づいて共有メモリからデータを取得することができる。   Through the above processing, the node 102a can acquire data from the shared memory based on the error processing method.

図34は、ノード102aにおけるPub/Sub通信によるデータ取得処理の例を表すフローチャートである。この処理は、図27のS1500の同報通知(Pub/Subメッセージ)を受信(購読)する側のノード102aの処理に該当する。   FIG. 34 is a flowchart illustrating an example of data acquisition processing by Pub / Sub communication in the node 102a. This processing corresponds to the processing of the node 102a on the side of receiving (subscribing) the broadcast notification (Pub / Sub message) in S1500 of FIG.

ノード102aのアクセスミドルウェア220aは、管理装置103から取得した管理情報のデータ取得方法422がPub/Sub通信の場合(S1501:YES)、以下の処理を実行する。   When the data acquisition method 422 for management information acquired from the management apparatus 103 is Pub / Sub communication (S1501: YES), the access middleware 220a of the node 102a executes the following processing.

ノード102aのアクセスミドルウェア220aは、管理情報のデータ位置423から、トランザクションIDを抽出する。そして、アクセスミドルウェア220aは、その抽出したトランザクションIDを有するPub/Subメッセージ1520の受信待機を開始する(S1502)。そして、アクセスミドルウェア220aは、タイムアウトが発生するまでこのPub/Subメッセージの受信待機を行う(S1503:NO、S1510:NO)。   The access middleware 220a of the node 102a extracts the transaction ID from the data position 423 of the management information. Then, the access middleware 220a starts waiting to receive the Pub / Sub message 1520 having the extracted transaction ID (S1502). Then, the access middleware 220a waits to receive this Pub / Sub message until a timeout occurs (S1503: NO, S1510: NO).

その抽出したトランザクションIDを有するPub/Subメッセージ1520を受信した場合(S1503:YES)、アクセスミドルウェア220aはPub/Subメッセージ1520からデータ1711を取得する(S1504、S1505)。そして、アクセスミドルウェア220aは、その取得したデータと、結果コード750を「0」(成功)とし且つ取得時刻751を現在時刻とする実行結果1705とを一時的に保持する(S1506)。   When the Pub / Sub message 1520 having the extracted transaction ID is received (S1503: YES), the access middleware 220a acquires the data 1711 from the Pub / Sub message 1520 (S1504, S1505). The access middleware 220a temporarily holds the acquired data and an execution result 1705 in which the result code 750 is “0” (success) and the acquisition time 751 is the current time (S1506).

そして、アクセスミドルウェア220aは、未受信データが存在するか否かを判定する(S1520)。未受信データが存在する場合(S1520:YES)、アクセスミドルウェア220aは、S1503に戻り、再び受信待機を行う。未受信データが存在しない場合(S1520:NO)、本処理を終了する。   Then, the access middleware 220a determines whether there is unreceived data (S1520). If unreceived data exists (S1520: YES), the access middleware 220a returns to S1503 and waits for reception again. If there is no unreceived data (S1520: NO), this process ends.

タイムアウトが発生した場合(S1510:YES)、アクセスミドルウェア220aは、「NULL」のデータと、結果コード750を「4」(Pub/Sub通信:タイムアウトエラー)とする実行結果1705とを一時的に保持する(S1511)。そして、アクセスミドルウェア220aは、本処理を終了する。   When a timeout occurs (S1510: YES), the access middleware 220a temporarily holds “NULL” data and an execution result 1705 in which the result code 750 is “4” (Pub / Sub communication: timeout error). (S1511). Then, the access middleware 220a ends this process.

以上の処理により、ノード102aは、購読対象のトランザクションIDを有するPub/Subメッセージ1520から、データ1711を取得することができる。   Through the above processing, the node 102a can acquire the data 1711 from the Pub / Sub message 1520 having the transaction ID to be subscribed.

図35は、ノード102bが管理装置103に対して管理情報の削除要求を行う処理の一例を表すシーケンスチャートである。   FIG. 35 is a sequence chart illustrating an example of processing in which the node 102b issues a management information deletion request to the management apparatus 103.

ノード102bのアクセスミドルウェア220bは、自ノード102bが分散システム1から離脱するときなどに、以下の処理を開始する。   The access middleware 220b of the node 102b starts the following processing when the own node 102b leaves the distributed system 1 or the like.

ノード102bのアクセスミドルウェア220bは、削除対象の管理情報IDを含めた管理情報の削除要求メッセージ1611を、管理装置103へ送信する(S1601)。   The access middleware 220b of the node 102b transmits a management information deletion request message 1611 including the management information ID to be deleted to the management apparatus 103 (S1601).

管理装置103の管理アプリケーション310は、管理情報の削除要求メッセージ1611を受信すると、そのメッセージ1611に含まれる管理情報ID1706を特定し、その特定した管理情報ID1706に対応する管理情報426を削除する。また、管理アプリケーション310は、リンクテーブル341から、その特定した管理情報ID1706を有するリンク情報(レコード)を削除する。そして、管理アプリケーション310は、削除処理の成功又は失敗の削除結果1613を含む管理情報の削除応答メッセージ1612をノード102bに送信する(S1700)。ノード102bは、管理情報の削除応答メッセージ1612を受信し(S1603)、処理を終了する。   When receiving the management information deletion request message 1611, the management application 310 of the management apparatus 103 specifies the management information ID 1706 included in the message 1611 and deletes the management information 426 corresponding to the specified management information ID 1706. Further, the management application 310 deletes the link information (record) having the specified management information ID 1706 from the link table 341. Then, the management application 310 transmits a management information deletion response message 1612 including a deletion result 1613 indicating the success or failure of the deletion process to the node 102b (S1700). The node 102b receives the management information deletion response message 1612 (S1603), and ends the process.

以上の処理により、ノード102bが削除要求した管理情報IDに対応する管理情報が、管理装置103から削除される。   Through the above processing, the management information corresponding to the management information ID requested to be deleted by the node 102b is deleted from the management apparatus 103.

図36は、管理情報の削除要求メッセージを受信した管理装置103の削除処理を表すフローチャートである。この処理は、図35のS1700の管理装置103側の処理に該当する。   FIG. 36 is a flowchart showing the deletion process of the management apparatus 103 that has received the management information deletion request message. This processing corresponds to the processing on the management apparatus 103 side in S1700 of FIG.

管理装置103の管理アプリケーション310は、管理情報の削除要求メッセージ1611を受信すると、その削除要求メッセージ1611を解析する(S1701)。   When receiving the management information deletion request message 1611, the management application 310 of the management apparatus 103 analyzes the deletion request message 1611 (S1701).

管理アプリケーション310は、リンクテーブル341に、管理情報の削除要求メッセージ1611に含まれる管理情報ID1706と一致する管理情報IDを有するリンク情報(レコード)が存在するか否かを判定する(S1702、S1703)。   The management application 310 determines whether or not link information (record) having a management information ID matching the management information ID 1706 included in the management information deletion request message 1611 exists in the link table 341 (S1702, S1703). .

リンクテーブル341に一致する管理情報IDを有するリンク情報(レコード)が存在する場合(S1703:YES)、管理アプリケーション310は、そのリンク情報(レコード)のリンク先430に格納されている管理情報を削除する。また、管理アプリケーション310は、リンクテーブル341からそのリンク情報(レコード)を削除する(S1704)。そして、管理アプリケーション310は、「成功」を表す削除結果1613を含む管理情報の削除応答メッセージ1612を生成し(S1705)、S1707の処理へ進む。   When there is link information (record) having the management information ID that matches the link table 341 (S1703: YES), the management application 310 deletes the management information stored in the link destination 430 of the link information (record). To do. Also, the management application 310 deletes the link information (record) from the link table 341 (S1704). Then, the management application 310 generates a management information deletion response message 1612 including a deletion result 1613 representing “success” (S1705), and proceeds to the processing of S1707.

リンクテーブル341に一致する管理情報IDを有するリンク情報(レコード)が存在しない場合(S1703:NO)、管理アプリケーション310は、「失敗」を表す削除結果1613を含む管理情報の削除応答メッセージ1612を生成し(S1706)、S1707の処理へ進む。   When there is no link information (record) having a management information ID that matches the link table 341 (S1703: NO), the management application 310 generates a management information deletion response message 1612 including a deletion result 1613 indicating “failure”. (S1706), the process proceeds to S1707.

S1707として管理アプリケーション310は、上述で生成した管理情報の削除応答メッセージ1612を、ノード102bへ返し(S1707)、本処理を終了する。   In S1707, the management application 310 returns the management information deletion response message 1612 generated above to the node 102b (S1707), and ends this processing.

以上の処理により、管理装置103は、ノード102bから削除要求された管理情報の削除処理を実行し、その結果をノード102bに返すことができる。   Through the processing described above, the management apparatus 103 can execute the management information deletion process requested to be deleted from the node 102b and return the result to the node 102b.

上述した実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。例えば、本実施形態を以下の様に表現してもよい。   The embodiments described above are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention. For example, this embodiment may be expressed as follows.

(表現1)
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、分散システムを構成するノードの有するプロセッサにおいて前記コンピュータプログラムが実行されると、
前記プロセッサで実行されるアプリケーションプログラムから、データ識別子と、そのデータ識別子に対応するデータの取得処理においてエラーが発生した場合対応方法を表すエラー処理方法とを含む、データの取得を要求する取得コマンドを、メモリを介して受け取ると、
前記取得コマンドに含まれるデータ識別子に関連する管理情報を、通信インタフェースを介して所定の管理装置から取得し、その取得した管理情報を前記メモリに格納し、前記管理情報には、データ識別子と、そのデータ識別子に対応するデータのデータ取得方法とが含まれており、
その取得した管理情報に含まれるデータ取得方法に基づき、前記データ識別子に対応するデータの取得処理を実行し、
その取得処理においてエラーが発生した場合、前記取得コマンドに含まれる前記エラー処理方法に基づいてエラー処理を実行し、
前記取得処理又は前記エラー処理によって前記データ識別子に対応するデータを取得した場合、その取得したデータを、前記メモリを介して前記アプリケーションプログラムに返す
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
(Expression 1)
A computer-readable recording medium that records a computer program, and when the computer program is executed by a processor of a node that constitutes a distributed system,
An acquisition command for requesting data acquisition from an application program executed by the processor, including a data identifier and an error processing method indicating a response method when an error occurs in the acquisition processing of data corresponding to the data identifier. , Receive through memory,
Management information related to the data identifier included in the acquisition command is acquired from a predetermined management device via a communication interface, the acquired management information is stored in the memory, the management information includes a data identifier, Including a data acquisition method for data corresponding to the data identifier,
Based on the data acquisition method included in the acquired management information, execute data acquisition processing corresponding to the data identifier,
When an error occurs in the acquisition process, an error process is executed based on the error processing method included in the acquisition command,
A computer-readable recording medium that records a computer program that returns the acquired data to the application program via the memory when the data corresponding to the data identifier is acquired by the acquisition process or the error process.

(表現2)
複数のノードによって構成される分散システムに属する管理装置であって、
データを識別するためのデータ識別子と、そのデータ識別子に対応するデータのデータ取得方法とを含む、複数の管理情報を管理し、
前記ノードから、データ識別子を含む管理情報の取得要求メッセージを受信すると、
前記管理情報の取得要求メッセージに含まれるデータ識別子に対応する管理情報を特定し、
その特定した管理情報を含む管理情報の取得応答メッセージを、前記ノードに返す
管理装置。
(Expression 2)
A management device belonging to a distributed system composed of a plurality of nodes,
Managing a plurality of management information including a data identifier for identifying data and a data acquisition method of data corresponding to the data identifier;
When receiving a management information acquisition request message including a data identifier from the node,
Specify management information corresponding to the data identifier included in the management information acquisition request message,
A management apparatus that returns a management information acquisition response message including the identified management information to the node.

(表現3)
分散システムを構成するノードであって、
アプリケーションプログラムから、データ識別子と、そのデータ識別子に対応するデータの取得処理においてエラーが発生した場合の対応方法を表すエラー処理方法とを含む、データの取得を要求する取得コマンドを受け取ると、
前記取得コマンドに含まれるデータ識別子に関連する管理情報を前記管理装置から取得し、
その取得した管理情報に含まれるデータ取得方法に基づき、前記データ識別子に対応するデータの取得処理を実行し、
その取得処理においてエラーが発生した場合、前記取得コマンドに含まれる前記エラー処理方法に基づいてエラー処理を実行し、
前記取得処理又は前記エラー処理によって前記データ識別子に対応するデータを取得した場合、その取得したデータを前記アプリケーションプログラムに返す
ノード。
(Expression 3)
A node constituting a distributed system,
When receiving an acquisition command for requesting acquisition of data, including a data identifier and an error processing method representing a response method when an error occurs in the acquisition processing of data corresponding to the data identifier, from the application program,
Obtaining management information related to the data identifier included in the acquisition command from the management device,
Based on the data acquisition method included in the acquired management information, execute data acquisition processing corresponding to the data identifier,
When an error occurs in the acquisition process, an error process is executed based on the error processing method included in the acquisition command,
A node that, when data corresponding to the data identifier is acquired by the acquisition process or the error process, returns the acquired data to the application program.

1:分散システム 101:通信ネットワーク 102:ノード 103:管理装置



1: Distributed system 101: Communication network 102: Node 103: Management device



Claims (12)

管理装置及び複数のノードによって構成される分散システムであって、
前記管理装置は、データを識別するためのデータ識別子と、そのデータ識別子に対応するデータのデータ取得方法とを含む、管理情報を有し、
前記ノードは、
アプリケーションプログラムから、データ識別子と、そのデータ識別子に対応するデータの取得処理においてエラーが発生した場合の対応方法を表すエラー処理方法とを含む、データの取得を要求する取得コマンドを受け取ると、
前記取得コマンドに含まれるデータ識別子に関連する管理情報を前記管理装置から取得し、
その取得した管理情報に含まれるデータ取得方法に基づき、前記データ識別子に対応するデータの取得処理を実行し、
その取得処理においてエラーが発生した場合、前記取得コマンドに含まれる前記エラー処理方法に基づいてエラー処理を実行し、
前記取得処理又は前記エラー処理によって前記データ識別子に対応するデータを取得した場合、その取得したデータを前記アプリケーションプログラムに返す
分散システム。
A distributed system including a management device and a plurality of nodes,
The management device has management information including a data identifier for identifying data and a data acquisition method for data corresponding to the data identifier;
The node is
When receiving an acquisition command for requesting acquisition of data, including a data identifier and an error processing method representing a response method when an error occurs in the acquisition processing of data corresponding to the data identifier, from the application program,
Obtaining management information related to the data identifier included in the acquisition command from the management device,
Based on the data acquisition method included in the acquired management information, execute data acquisition processing corresponding to the data identifier,
When an error occurs in the acquisition process, an error process is executed based on the error processing method included in the acquisition command,
A distributed system that, when data corresponding to the data identifier is acquired by the acquisition process or the error process, returns the acquired data to the application program.
前記データ取得方法には、Request/Reply通信方法、Publish/Subscribe通信方法、又は共有メモリ参照方法が指定されており、
前記Request/Reply通信方法とは、前記管理情報の指定する他ノードに対してデータの取得要求メッセージを送信し、当該他ノードからの応答を待機する方法であり、
前記Publish/Subscribe通信方法とは、他ノードから発行されるメッセージの内、前記管理情報の指定するトランザクション識別子を含むメッセージの受信を待機する方法であり、
前記共有メモリ参照方法とは、複数のノードで共有するメモリ空間における前記管理情報の指定するメモリアドレスからデータを取得する方法である
請求項1に記載の分散システム。
In the data acquisition method, a Request / Reply communication method, a Publish / Subscribe communication method, or a shared memory reference method is specified,
The Request / Reply communication method is a method of transmitting a data acquisition request message to another node specified by the management information and waiting for a response from the other node.
The Publish / Subscribe communication method is a method of waiting for reception of a message including a transaction identifier specified by the management information among messages issued from other nodes.
The distributed system according to claim 1, wherein the shared memory reference method is a method of acquiring data from a memory address specified by the management information in a memory space shared by a plurality of nodes.
前記エラー処理方法は、データの再取得に関する設定、及びデータの取得待機に関する設定を有する
請求項2に記載の分散システム。
The distributed system according to claim 2, wherein the error processing method has a setting related to data reacquisition and a setting related to data acquisition standby.
前記ノードは、
前記データ取得方法に前記Publish/Subscribe通信方法が指定されており、且つ、前記エラー処理方法がデータの取得待機を行う設定である場合に、所定時間内に前記トランザクション識別子を含むメッセージを受信できなかった旨のエラーが発生したならば、当該メッセージを受信するまで待機する
請求項3に記載の分散システム。
The node is
When the Publish / Subscribe communication method is specified as the data acquisition method and the error processing method is set to wait for data acquisition, a message including the transaction identifier cannot be received within a predetermined time. The distributed system according to claim 3, which waits until the message is received if an error occurs.
前記ノードは、
前記データ取得方法に前記共有メモリ参照方法が指定されており、且つ、前記エラー処理方法がデータの取得待機を行う設定である場合に、前記共有メモリのメモリアドレスに格納されているデータが未更新である旨のエラーが発生したならば、当該データが更新されるまで待機する
請求項3に記載の分散システム。
The node is
If the shared memory reference method is specified as the data acquisition method and the error processing method is set to wait for data acquisition, the data stored in the memory address of the shared memory is not updated. 4. The distributed system according to claim 3, wherein if an error indicating that the error occurs, the system waits until the data is updated.
前記エラー処理方法は、さらに、データの更新時刻に関する設定を有し、
前記ノードは、
前記データ取得方法に前記共有メモリ参照方法が指定されており、且つ、前記エラー処理方法がデータの更新時刻を考慮しない旨の設定である場合に、前記共有メモリのメモリアドレスに格納されているデータが未更新である旨のエラーが発生したならば、前記メモリアドレスに格納されているデータを前記アプリケーションに返す
請求項3に記載の分散システム。
The error handling method further includes a setting related to a data update time,
The node is
The data stored in the memory address of the shared memory when the shared memory reference method is specified as the data acquisition method and the error processing method is set not to consider the data update time 4. The distributed system according to claim 3, wherein if an error indicating that the data has not been updated occurs, the data stored in the memory address is returned to the application.
前記ノードは、
前記データ取得方法にRequest/Reply通信方法が指定されており、且つ、前記エラー処理方法がデータの再取得を行う設定である場合に、所定時間内に前記他ノードからデータ要求のメッセージに対する応答を受けられなかった旨のエラーが発生したならば、前記他ノードに対してデータ要求のメッセージを再送信する
請求項3に記載の分散システム。
The node is
When a Request / Reply communication method is specified as the data acquisition method and the error processing method is set to re-acquire data, a response to a data request message is sent from the other node within a predetermined time. 4. The distributed system according to claim 3, wherein if an error indicating that the request has not been received has occurred, a data request message is retransmitted to the other node.
前記ノードは、
前記データ識別子に対応するデータを取得できなかった場合、そのデータの取得処理に適用されたデータ取得方法と、そのデータ取得方法に対して発生したエラーの情報とを含む、エラーメッセージを前記アプリケーションに返す
請求項1乃至7の何れか1項に記載の分散システム。
The node is
If data corresponding to the data identifier could not be acquired, an error message including a data acquisition method applied to the data acquisition process and information on an error that occurred in the data acquisition method is sent to the application. The distributed system according to any one of claims 1 to 7, which is returned.
前記ノードは、管理情報の登録要求メッセージを前記管理装置へ送信し、前記管理情報の登録要求メッセージには、自ノードの有するデータに対応するデータ識別子が含まれており、
前記管理装置は、前記ノードから前記管理情報の登録要求メッセージを受信すると、前記管理情報の登録要求メッセージに対する管理情報の登録応答メッセージを前記ノードへ返し、前記管理情報の登録応答メッセージには、前記ノードから送信されたデータ識別子に関する管理情報に対応する管理情報識別子が含まれている
請求項1乃至7の何れか1項に記載の分散システム。
The node transmits a management information registration request message to the management device, and the management information registration request message includes a data identifier corresponding to data held by the node,
When the management device receives the management information registration request message from the node, the management device returns a management information registration response message to the management information registration request message to the node. The distributed system according to any one of claims 1 to 7, wherein a management information identifier corresponding to management information related to a data identifier transmitted from a node is included.
前記ノードは、前記管理装置と通信可能となったことを契機として、前記管理情報の登録要求メッセージを前記管理装置へ送信する
請求項9に記載の分散システム。
The distributed system according to claim 9, wherein the node transmits a management information registration request message to the management device when communication with the management device is enabled.
分散システムを構成する複数のノードの各々がデータを取得する方法であって、
アプリケーションプログラムから、データ識別子と、そのデータ識別子に対応するデータの取得処理においてエラーが発生した場合の対応方法を表すエラー処理方法とを含む、データの取得を要求する取得コマンドを受け取ると、
前記取得コマンドに含まれるデータ識別子に関連する管理情報を所定の管理装置から取得し、前記管理情報には、データ識別子と、そのデータ識別子に対応するデータのデータ取得方法とが含まれており、
その取得した管理情報に含まれるデータ取得方法に基づき、前記データ識別子に対応するデータの取得処理を実行し、
その取得処理においてエラーが発生した場合、前記取得コマンドに含まれる前記エラー処理方法に基づいてエラー処理を実行し、
前記取得処理又は前記エラー処理によって前記データ識別子に対応するデータを取得した場合、その取得したデータを前記アプリケーションプログラムに返す
データ取得方法。
A method in which each of a plurality of nodes constituting a distributed system obtains data,
When receiving an acquisition command for requesting acquisition of data, including a data identifier and an error processing method representing a response method when an error occurs in the acquisition processing of data corresponding to the data identifier, from the application program,
The management information related to the data identifier included in the acquisition command is acquired from a predetermined management device, the management information includes a data identifier and a data acquisition method of data corresponding to the data identifier,
Based on the data acquisition method included in the acquired management information, execute data acquisition processing corresponding to the data identifier,
When an error occurs in the acquisition process, an error process is executed based on the error processing method included in the acquisition command,
A data acquisition method for returning the acquired data to the application program when the data corresponding to the data identifier is acquired by the acquisition process or the error process.
分散システムを構成する複数のノードの各々で実行されるコンピュータプログラムであって、前記ノードで実行されると、
アプリケーションプログラムから、データ識別子と、そのデータ識別子に対応するデータの取得処理においてエラーが発生した場合の対応方法を表すエラー処理方法とを含む、データの取得を要求する取得コマンドを受け取ると、
前記取得コマンドに含まれるデータ識別子に関連する管理情報を所定の管理装置から取得し、前記管理情報には、データ識別子と、そのデータ識別子に対応するデータのデータ取得方法とが含まれており、
その取得した管理情報に含まれるデータ取得方法に基づき、前記データ識別子に対応するデータの取得処理を実行し、
その取得処理においてエラーが発生した場合、前記取得コマンドに含まれる前記エラー処理方法に基づいてエラー処理を実行し、
前記取得処理又は前記エラー処理によって前記データ識別子に対応するデータを取得した場合、その取得したデータを前記アプリケーションプログラムに返す
コンピュータプログラム。


A computer program executed on each of a plurality of nodes constituting a distributed system, and executed on the nodes,
When receiving an acquisition command for requesting acquisition of data, including a data identifier and an error processing method representing a response method when an error occurs in the acquisition processing of data corresponding to the data identifier, from the application program,
The management information related to the data identifier included in the acquisition command is acquired from a predetermined management device, the management information includes a data identifier and a data acquisition method of data corresponding to the data identifier,
Based on the data acquisition method included in the acquired management information, execute data acquisition processing corresponding to the data identifier,
When an error occurs in the acquisition process, an error process is executed based on the error processing method included in the acquisition command,
When the data corresponding to the data identifier is acquired by the acquisition process or the error process, the computer program returns the acquired data to the application program.


JP2014170913A 2014-08-25 2014-08-25 Distributed system, data acquisition method, and computer program Active JP6211487B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014170913A JP6211487B2 (en) 2014-08-25 2014-08-25 Distributed system, data acquisition method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014170913A JP6211487B2 (en) 2014-08-25 2014-08-25 Distributed system, data acquisition method, and computer program

Publications (2)

Publication Number Publication Date
JP2016045807A JP2016045807A (en) 2016-04-04
JP6211487B2 true JP6211487B2 (en) 2017-10-11

Family

ID=55636292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014170913A Active JP6211487B2 (en) 2014-08-25 2014-08-25 Distributed system, data acquisition method, and computer program

Country Status (1)

Country Link
JP (1) JP6211487B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3691871B2 (en) * 1995-03-20 2005-09-07 富士通株式会社 Card type storage medium
JP2002215595A (en) * 2001-01-24 2002-08-02 Nec Corp Decentralized object system
JP2007004604A (en) * 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> File location management method, terminal, and file location management server

Also Published As

Publication number Publication date
JP2016045807A (en) 2016-04-04

Similar Documents

Publication Publication Date Title
KR101923245B1 (en) Transparent failover
US10959089B2 (en) Data management microservice in a microservice domain
US10521116B2 (en) System and method for managing object store
US8069246B2 (en) Relay server and relay communication system including a relay group information registration unit, a shared resource information registration unit, and a control unit
US20150134727A1 (en) Cloud-based data server providing home appliance management service and method thereof
CN112738284B (en) Data transmission method, device, equipment and storage medium in service integration
JP5459983B2 (en) Information processing apparatus, information processing apparatus control method, and computer program
CN102365634A (en) System for managing distributed assets and metadata
JP2005311773A (en) Notifying method, connecting device, communicating method, and program
CN101313292A (en) Peer data transfer orchestration
US20070255710A1 (en) Content management method, apparatus, and system
WO2013046352A1 (en) Computer system, data management method and data management program
JP5979986B2 (en) Distribution system and control method thereof
JP2013542681A (en) Content sharing method and apparatus using group change information in content-centric network environment
CN113746641B (en) ODX protocol processing method based on distributed storage
JP5729003B2 (en) Thin client system, location information management server, migration method, and program
JP6153639B2 (en) Protocol automatic setting method for PLC system
WO2018032499A1 (en) Load balancing method and associated device
CN112035062A (en) Migration method of local storage of cloud computing, computer equipment and storage medium
JP6211487B2 (en) Distributed system, data acquisition method, and computer program
KR20210044281A (en) Method and apparatus for ensuring continuous device operation stability in cloud degraded mode
JP6728744B2 (en) Data providing system, data providing method, data providing device, update target device, and computer program
US20150282121A1 (en) Local resource sharing method of machine to machine component and apparatus thereof
JP2017162416A (en) Replication program, redundant system, and replication method
JP2017111555A (en) Distribution history management program, distribution history management system and distribution history management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170913

R150 Certificate of patent or registration of utility model

Ref document number: 6211487

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150