(57)【要約】【課題】  情報処理システム全体としての性能を劣化させることなく、システム構成を簡略化させて安価に構築し得る情報処理システム及び方法並びに情報処理装置を提案する。【解決手段】  情報処理システムを構成する各ノードが、ユースケースにおける各役割、各役割のノードが実行すべき処理及び各処理の実行順序が規定された、ユースケースごとのユースケース処理定義をそれぞれ記憶保持し、上位装置からのユースケースの実行命令に応じて、自ノードに割り振られた役割の処理を、直ちに実行するか又は他のノードの処理を待つかを当該ユースケースのユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他のノードと共有するようにした。【選択図】        図７
2020149651.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを有し、各前記ノードが他の前記ノードと連携して所定の一連の処理でなるユースケースを実行する情報処理システムにおいて、
各前記ノードは、
前記ユースケースにおける各役割、各前記役割の前記ノードが実行すべき処理及び各前記処理の実行順序が規定された、前記ユースケースごとのユースケース処理定義をそれぞれ記憶保持し、
上位装置からの前記ユースケースの実行命令に応じて、自ノードに割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有する
ことを特徴とする情報処理システム。
【請求項２】
前記上位装置からの前記ユースケースの実行命令を受信した前記ノードは、
当該ユースケースにおけるいずれかの前記役割が割り振られた各前記ノードにおいて実行された各前記処理の処理結果を集約し、集約結果を前記上位装置に送信する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ユースケースの実行命令は、
当該ユースケースにおける各前記役割をそれぞれ果たすべき前記ノードの要件を含み、
各前記ノードは、
前記要件に対する自ノードの合致度を表すスコアを前記役割ごとにそれぞれ算出し、
前記上位装置からの前記ユースケースの実行命令を受信した前記ノードは、
各前記ノードが算出した前記役割ごとの前記スコアに基づいて、各前記役割ごとに当該役割を果たすべき前記ノードを決定する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
各前記ノードは、
いずれかの前記役割の前記要件が自ノードの情報だけでは前記スコアを算出できない場合には、当該役割及び当該要件と、必要な情報とを含む判定依頼を他のすべての前記ノードに送信し、
前記判定依頼を受信した各前記ノードは、
当該判定依頼に含まれる前記役割及び前記要件をどの程度満たすかを表す前記スコアを算出し、算出結果を当該判定依頼の送信元の前記ノードに送信し、
前記判定依頼の送信元の前記ノードは、
他の各前記ノードからそれぞれ送信されてきた前記判定依頼に対する応答に基づいて、当該判定依頼において指定した前記役割に対する自ノードの前記スコアを算出する
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記判定依頼の送信元の前記ノードは、
他の各前記ノードからの当該判定依頼に対する前記応答に基づいて、可能性のあるすべての他の前記ノードとの組合せに対する前記スコアをそれぞれ算出し、
算出した前記スコアのうちの最も大きい前記スコアを、対応する前記役割に対する前記スコアとして、前記上位装置からの前記ユースケースの実行命令を受信した前記ノードに送信する
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
複数のノードを有し、各前記ノードが他の前記ノードと連携して所定の一連の処理でなるユースケースを実行する情報処理システムにおいて実行される情報処理方法であって、
各前記ノードが、前記ユースケースにおける各役割、各前記役割の前記ノードが実行すべき処理及び各前記処理の実行順序が規定された、前記ユースケースごとのユースケース処理定義をそれぞれ記憶保持する第１のステップと、
上位装置からの前記ユースケースの実行命令に応じて、自ノードに割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有する第２のステップと
を備えることを特徴とする情報処理方法。
【請求項７】
前記上位装置からの前記ユースケースの実行命令を受信した前記ノードが、当該ユースケースにおけるいずれかの前記役割が割り振られた各前記ノードにおいて実行された各前記処理の処理結果を集約し、集約結果を前記上位装置に送信する第３のステップを備える
ことを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記ユースケースの実行命令は、
当該ユースケースにおける各前記役割をそれぞれ果たすべき前記ノードの要件を含み、
前記第２のステップは、
各前記ノードが、前記要件に対する自ノードの合致度を表すスコアを前記役割ごとにそれぞれ算出するスコア算出ステップと、
前記上位装置からの前記ユースケースの実行命令を受信した前記ノードが、各前記ノードが算出した前記役割ごとの前記スコアに基づいて、各前記役割ごとに当該役割を果たすべき前記ノードを決定する役割ノード決定ステップとを備え、
前記上位装置からの前記ユースケースの実行命令を受信した前記ノードにより前記役割が割り振られた前記ノードが、前記上位装置からの前記ユースケースの実行命令に応じて、自ノードに割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有する
ことを特徴とする請求項６に記載の情報処理方法。
【請求項９】
前記スコア算出ステップにおいて、
各前記ノードは、
いずれかの前記役割の前記要件が自ノードの情報だけでは前記スコアを算出できない場合には、当該役割及び当該要件と、必要な情報とを含む判定依頼を他のすべての前記ノードに送信し、
前記判定依頼を受信した各前記ノードは、
当該判定依頼に含まれる前記役割及び前記要件をどの程度満たすかを表す前記スコアを算出し、算出結果を当該判定依頼の送信元の前記ノードに送信し、
前記判定依頼の送信元の前記ノードは、
他の各前記ノードからそれぞれ送信されてきた前記判定依頼に対する応答に基づいて、当該判定依頼において指定した前記役割に対する自ノードの前記スコアを算出する
ことを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記判定依頼の送信元の前記ノードは、
他の各前記ノードからの当該判定依頼に対する前記応答に基づいて、可能性のあるすべての他の前記ノードとの組合せに対する前記スコアをそれぞれ算出し、
算出した前記スコアのうちの最も大きい前記スコアを、対応する前記役割に対する前記スコアとして、前記上位装置からの前記ユースケースの実行命令を受信した前記ノードに送信する
ことを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
複数のノードを有する情報処理システムにおける１つの前記ノードを構成し、他の前記ノードと連携して所定の一連の処理でなるユースケースを実行する情報処理装置において、
前記ユースケースにおける各役割、各前記役割の前記ノードが実行すべき処理及び各前記処理の実行順序が規定された、前記ユースケースごとのユースケース処理定義をそれぞれ記憶保持する記憶装置と、
上位装置からの前記ユースケースの実行命令に応じて、自己に割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有するユースケース実行部と
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム及び方法並びに情報処理装置に関し、複数のノードを有する情報処理システムに適用して好適なものである。
【背景技術】
【０００２】
従来、情報処理システムにおいて、複数のストレージ装置やコンピュータ装置などの情報処理装置（以下、これをノードと呼ぶ）を管理する場合、これらノードを統合管理するためのソフトウェア（Federated管理ツール）が実装された管理サーバを管理対象のノードとは別に設ける構成が広く用いられている（例えば、特許文献１参照）。
【０００３】
通常、この種の情報処理システムでは、管理サーバが、管理に必要な情報を各ノードからそれぞれ収集して記憶保持し、ユーザから何らかのユースケース（特定の目的を達成するための一連の処理からなるイベント）の実行命令が与えられた場合に、記憶保持した情報に基づいて、必要なコマンドを必要なタイミングで必要なノードに送信することで、要求されたユースケースを実行するよう対応する各ノードをそれぞれ制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７１９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、情報処理システムに対しては、従来から導入コスト及び管理コストの低減化が望まれている。そのための１つの方法として、情報処理システム内のノードを上述のように統合管理する管理サーバを省略した構成を採用する方法が考えられる。
【０００６】
しかしながら、管理サーバを省略した構成とする場合、複数のノードを連携させるユースケースでは、ユーザが、これらのノードに対してそれぞれ個別に必要な設定を行わなければならず、そのために相応の労力及び時間を要する問題があった。
【０００７】
かかる問題を解決するための手段として、情報処理システム内の１又は複数のノードに管理サーバの機能を搭載する方法が考えられる。しかしながら、この方法によると、管理サーバの機能が搭載されたノードでは、管理のためにプロセッサやメモリなどの情報処理資源を大きく消費することとなり、ノード本来の処理に対する性能（ストレージ装置であればＩ／Ｏ性能など）に影響を与えるおそれがある。また、この方法によると、管理サーバの機能を搭載するノードに、情報処理システム内の全ノードの構成情報を集約できるような管理サーバ相当のメモリが必要となるため、情報処理システムの導入コストが上昇してしまうという問題もある。
【０００８】
本発明は以上の点を考慮してなされたもので、情報処理システム全体としての性能を劣化させることなく、システム構成を簡略化させて安価に構築し得る情報処理システム及び方法並びに情報処理装置を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、複数のノードを有し、各前記ノードが他の前記ノードと連携して所定の一連の処理でなるユースケースを実行する情報処理システムにおいて、各前記ノードは、前記ユースケースにおける各役割、各前記役割の前記ノードが実行すべき処理及び各前記処理の実行順序が規定された、前記ユースケースごとのユースケース処理定義をそれぞれ記憶保持し、上位装置からの前記ユースケースの実行命令に応じて、自ノードに割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有するようにした。
【００１０】
また本発明においては、複数のノードを有し、各前記ノードが他の前記ノードと連携して所定の一連の処理でなるユースケースを実行する情報処理システムにおいて実行される情報処理方法であって、各前記ノードが、前記ユースケースにおける各役割、各前記役割の前記ノードが実行すべき処理及び各前記処理の実行順序が規定された、前記ユースケースごとのユースケース処理定義をそれぞれ記憶保持する第１のステップと、上位装置からの前記ユースケースの実行命令に応じて、自ノードに割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有する第２のステップとを設けるようにした。
【００１１】
さらに本発明においては、複数のノードを有する情報処理システムにおける１つの前記ノードを構成し、他の前記ノードと連携して所定の一連の処理でなるユースケースを実行する情報処理装置において、前記ユースケースにおける各役割、各前記役割の前記ノードが実行すべき処理及び各前記処理の実行順序が規定された、前記ユースケースごとのユースケース処理定義をそれぞれ記憶保持する記憶装置と、上位装置からの前記ユースケースの実行命令に応じて、自己に割り振られた前記役割の処理を、直ちに実行するか又は他の前記ノードの処理を待つかを当該ユースケースの前記ユースケース処理定義に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他の前記ノードと共有するユースケース実行部とを設けるようにした。
【００１２】
本発明の情報処理システム及び方法並びに情報処理装置によれば、システム内のいずれのノードの性能を劣化させることなく、システム内の各ノードを管理するための管理サーバを省略させることができる。
【発明の効果】
【００１３】
本発明によれば、情報処理システム全体としての性能を劣化させることなく、システム構成を簡略化させて安価に構築し得る情報処理システム及び方法並びに情報処理装置を実現できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態による情報処理システムの全体構成を示すブロック図である。
【図２】第１の実施の形態によるノードの論理構成を示すブロック図である。
【図３】第１の連携処理機能の説明に供するブロック図である。
【図４】第１の連携処理機能の説明に供するブロック図である。
【図５】第１の連携処理機能の説明に供するブロック図である。
【図６】第１の連携処理機能の説明に供するブロック図である。
【図７】ユースケース実行処理の処理手順を示すフローチャートである。
【図８】第２の実施の形態による情報処理システムの全体構成を示すブロック図である。
【図９】ノード要件の説明に供する図表である。
【図１０】第２の実施の形態によるノードの論理構成を示すブロック図である。
【図１１】第２の連携処理機能の説明に供するブロック図である。
【図１２】第２の連携処理機能の説明に供するブロック図である。
【図１３】ノード要件重みテーブルの構成例を示す図表である。
【図１４】第１の確認画面の構成例を示す図である。
【図１５】第２の確認画面の構成例を示す図である。
【図１６】第２の連携処理機能の説明に供するブロック図である。
【図１７】第２の連携処理機能の説明に供するブロック図である。
【図１８】第１の役割ノード決定処理の処理手順を示すフローチャートである。
【図１９】第２の役割ノード決定処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）第１の実施の形態
（１−１）本実施の形態による情報処理システムの構成
図１において、１は全体として本実施の形態による情報処理システムを示す。この情報処理システム１は、１又は複数のクライアント端末２と、クラスタ３を構成する複数のノード４とがネットワーク５を介して相互に接続されて構成される。
【００１７】
クライアント端末２は、ＣＰＵ（Central Processing Unit）及びメモリ等の情報処理資源と、液晶ディスプレイ又は有機ＥＬ（Electro Luminescence）ディスプレイなどの表示装置と、キーボード及びマウスなどの入力装置とを備えたコンピュータ装置から構成される。クライアント端末２は、ユーザ操作や実装されたアプリケーションからの要求に応じてネットワーク５を介して各種コマンドをノード４に送信したり、ノード４からネットワーク５を介して送信されてくる情報に基づいて必要な画面を表示する。
【００１８】
ノード４は、他のノード４と連携して各種ユースケースを実行可能な情報処理装置から構成される。以下においては、適宜、ノード４がストレージ装置である場合について説明するが、ノード４がサーバ装置やワークステーションのようなコンピュータ装置であってもよい。
【００１９】
ノード４がストレージ装置である場合、ノード４は、それぞれハードディスク装置やＳＳＤ（Solid State Drive）のような大容量の不揮発性記憶装置から構成される複数の記憶装置と、記憶装置に対するデータの読書きを制御するコントローラ１０とを備える。
【００２０】
コントローラ１０は、ＣＰＵ１１、メモリ１２及び外部記憶装置１３などの情報処理資源を備えて構成される。ＣＰＵ１１は、ノード４全体の動作制御を司るプロセッサである。またメモリ１２は、例えば半導体メモリから構成され、ＣＰＵ１１のワークメモリとして利用される。後述するユースケース実行プログラム１４はこのメモリ１２に格納されて保持される。外部記憶装置１３は、ハードディスク装置やＳＳＤのような大容量の不揮発性記憶装置から構成される。後述するユースケース処理定義１５はこの外部記憶装置１３に格納されて保持される。
【００２１】
ネットワーク５は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。このネットワーク５を介したクライアント端末２及びノード４間の通信は、例えばネットワーク５がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク５がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００２２】
（１−２）第１の連携処理機能
次に、クラスタ３を構成する各ノード４に搭載された第１の連携処理機能について説明する。この機能は、クライアント端末２から与えられたユースケースの実行命令（以下、これをユースケース実行命令と呼ぶ）に応じて、ユーザにより指定された各ノード４が他のノード４と連携してそのユースケースを実行する機能である。
【００２３】
実際上、本情報処理システム１の場合、各ノード４は、図２に示すように、ユースケースごとの定義（以下、これをユースケース処理定義と呼ぶ）１５を予め外部記憶装置１３に保持している。これらのユースケース処理定義１５は、それぞれ対応するユースケースにおける各役割と、役割が割り振られた各ノード４がそれぞれ実行すべき処理と、これら処理の実行順序（処理順序）とがそれぞれ規定されたものである。
【００２４】
因みに、図２のユースケース処理定義１５は、コピーペアを作成する前段階の「コピーペア初期設定」というユースケースのユースケース処理定義である。このユースケースは、クライアント端末２からのデータが読み書きされるプライマリ（Primary）ボリュームと、プライマリボリュームに格納されたデータのコピー先となるセカンダリ（Secondary）ボリュームとを作成し、これらをコピーペアに設定する前に実行される一連の処理である。
【００２５】
このユースケース処理定義１５によれば、「コピーペア初期設定」というユースケースにおけるノード４の役割としては、「プライマリ（Primary）」、「セカンダリ（Secondary）」及び「クオラム（Quorum）」という３つの役割がある。そして、このユースケースでは、まず、「プライマリ」及び「セカンダリ」の各ノード４がそれぞれ「クオラム」のノード４へのリモートパスを設定すると共に（「Ａ：リモートパス設定」及び「Ｂ：リモートパス設定」）、「クオラム」のノード４が自ノード４内にクオラムボリュームを作成し（「Ｃ：Quorum VOLを作成」）、その後、そのとき「クオラム」のノード４が作成したかかるボリュームをそのとき設定しようとするコピーペアのクオラムボリュームとして「プライマリ」及び「セカンダリ」の各ノード４がそれぞれ内部設定する（「Ｄ：Quorum VOLディスク設定」及び「Ｅ：Quorum VOLディスク設定」）。
【００２６】
なお「クオラムボリューム」は、対応するコピーペアの管理のために利用されるボリュームであり、そのコピーペアを構成する２つのボリュームのうちのどちらのボリュームがプライマリボリュームでどちらのボリュームがセカンダリボリュームであるかといった種々の情報が格納される。「プライマリ」及び「セカンダリ」の各ノード４はコピーペアの運用時には、このクオラムボリュームに格納された情報を適宜参照しながらプライマリボリュームに格納されたデータをセカンダリボリュームにコピーするリモートコピー処理を実行する。
【００２７】
また本情報処理システム１の場合、各ノード４には、図２に示すように、それぞれ共有部２０、処理部２１及び集約部２２が設けられている。これら共有部２０、処理部２１及び集約部２２は、いずれも図１に示すＣＰＵ１１がメモリ１２に格納されたユースケース実行プログラム１４を実行することにより具現化される機能部である。これらの機能部のうち、共有部２０は、他のノード４と情報を共有する機能を有する。また処理部２１は、各種ユースケースにおける各種処理を実行する機能を有し、集約部２２は、自ノード４を含む複数のノード４で行われた処理の処理結果を集約する機能を有する。
【００２８】
そして本情報処理システム１において、ユーザは、所望するユースケースの処理をクラスタ３内の所望するノード４に実行させる場合、クライアント端末２を操作して、そのユースケースと、そのユースケースにおける各役割をそれぞれ果たすべきノード４とを指定し、さらにそのユースケースにおいて設定すべき必要な要件（例えば、作成するボリュームの容量など）を指定した上で、そのユースケースの実行を指示する。
【００２９】
この結果、図３に示すように、かかる指示に応じて、実行すべきユースケースと、そのユースケースにおける各役割をそれぞれ果たすべき各ノード４と、必要な要件とが指定されたユースケース実行命令ＣＯＭ１がそのクライアント端末２からクラスタ３内のいずれかのノード４に送信される（Ｓ１）。
【００３０】
このユースケース実行命令ＣＯＭ１を受信したノード（以下、これをユースケース実行命令受信ノードと呼ぶ）４の共有部２０は、そのユースケース実行命令ＣＯＭ１においていずれかの役割が割り振られた各ノード４に対して、そのユースケース実行命令ＣＯＭ１をそれぞれ転送する（Ｓ２）。また、かかる共有部２０は、自ノード４に何らかの役割が割り振られている場合には、そのユースケース実行命令ＣＯＭ１を自ノード４内の処理部２１に送信する（Ｓ３）。これにより、これらのノード４間でそのユースケース実行命令ＣＯＭ１が共有される。
【００３１】
そして、かかるユースケース実行命令ＣＯＭ１を共有した各ノード４の処理部２１は、それぞれそのユースケース実行命令ＣＯＭ１において指定されたユースケースのユースケース処理定義１５を外部記憶装置１３から読み出し、読み出したユースケース処理定義１５を参照して、自ノード４に割り当てられた役割について規定されている各処理を順次実行する。
【００３２】
この際、各ノード４の処理部２１は、図４に示すように、他の役割のノード４の処理を待たなくてもよい処理については速やかにその処理を実行し（Ｓ４）、処理結果を連携する他のすべてのノード４にそれぞれ転送する（Ｓ５）。またノード４は、図５に示すように、他のノード４の処理結果を利用する処理など、他のノード４の処理を待たなければならない処理については、当該他のノード４の処理が完了して、その処理結果が転送されてきた後に自ノード４が実行すべき処理を実行し（Ｓ６）、その処理結果をすべての他のノード４にそれぞれ転送する（Ｓ７）。
【００３３】
そして、かかるユースケース実行命令ＣＯＭ１において指定されたユースケースに関する一連の処理が完了すると、図６に示すように、ユースケース実行命令受信ノード４の集約部２２が当該ユースケース実行命令受信ノード４の処理部２１から各ノード４の処理結果を取得して集約し（Ｓ８）、集約結果をそのユースケース実行命令ＣＯＭ１の送信元のクライアント端末２に送信する（Ｓ９）。この結果、かかる集約結果でなるユースケースの実行結果がそのクライアント端末２に表示される。
【００３４】
図７は、このような第１の連携処理機能に関連してユースケース実行命令ＣＯＭ１において何らかの役割が割り振られたノード４の処理部２１が実行する一連の処理（以下、これをユースケース実行処理と呼ぶ）の処理手順を示す。
【００３５】
かかる処理部２１は、クライアント端末２やユースケース実行命令受信ノード４から送信されてきたユースケース実行命令ＣＯＭ１を受信すると、この図７に示すユースケース実行処理を開始し、まず、そのユースケース実行命令ＣＯＭ１において指定されたユースケースのユースケース処理定義１５を参照して、自ノード４が次の処理を実行するに際して他のノード４の処理結果を待つ必要があるか否かを判断する（Ｓ１０）。
【００３６】
そして処理部２１は、この判断で否定結果を得るとステップＳ１３に進む。これに対して、処理部２１は、ステップＳ１０の判断で肯定結果を得ると、次に実行すべき処理を図示しない所定のテーブル（以下、これを待ち処理テーブルと呼ぶ）に登録する（Ｓ１１）。そして処理部２１は、この後、待ち処理テーブルに登録した処理を実行するために必要な他のノード４の処理結果を受信するのを待ち受ける（Ｓ１２）。
【００３７】
そして処理部２１は、やがて待ち処理テーブルに登録した処理を実行するために必要な他のノード４の処理結果を受信すると、自ノード４が次に実行すべき処理を実行し（Ｓ１３）、その処理結果を連携先の他のすべてのノード４にそれぞれ送信する（Ｓ１４）。
【００３８】
また処理部２１は、この後、かかるユースケース処理定義１５を参照して、自ノード４が実行すべきすべての処理を実行し終えたか否かを判断する（Ｓ１５）。そして処理部２１は、この判断で否定結果を得るとステップＳ１０に戻り、この後、ステップＳ１０以降の処理を上述と同様に実行する。
【００３９】
そして処理部２１は、やがて自ノード４が実行すべきすべての処理を実行し終えることによりステップＳ１５で肯定結果を得ると、自ノード４がユースケース実行命令受信ノード４であるか否かを判断する（Ｓ１６）。そして処理部２１は、この判断で否定結果を得ると、このユースケース実行処理を終了する。
【００４０】
これに対して、処理部２１は、ステップＳ１６の判断で肯定結果を得ると、集約部２２を呼び出し（Ｓ１７）、この後、このユースケース実行処理を終了する。
【００４１】
かくして、このとき呼び出された集約部２２は、自ノード４及び他のノード４の各処理部２１の処理結果を自ノード４内の処理部２１から取得して集約し、集約結果をかかるユースケース実行命令ＣＯＭ１の送信元のクライアント端末２に送信する。これにより、かかるユースケース実行命令ＣＯＭ１に対するクラスタ３での処理結果がこのクライアント端末２に表示される。
【００４２】
（１−３）本実施の形態の効果
以上のように本実施の形態の情報処理システム１では、各ノード４がユースケースごとのユースケース処理定義１５をそれぞれ保持し、当該ユースケース処理定義１５に基づいて、自ノード４に割り振られた役割の処理を、直ちに実行するか又は他のノードの処理を待つかを判断しながら適切なタイミングで実行し、当該処理の処理結果を他のノード４と共有する。
【００４３】
従って、本情報処理システム１では、システム内の各ノード４を統合管理するための管理サーバを必要とすることなく、クライアント端末２から要求されたユースケースを適切に実行することができる。この際、いずれのノード４も管理サーバのようなシステム全体の制御処理を実行する必要がないため、いずれのノード４も処理性能に影響を受けず、また、いずれのノード４にも管理サーバ相当のハードウェアを搭載する必要がない。
【００４４】
従って、本情報処理システム１によれば、システム内のいずれのノード４の性能を劣化させることなく、システム内の各ノード４を管理するための管理サーバを省略させることができるため、システム全体としての性能を劣化させることなく、システム構成を簡略化させて安価に構築することができる。
【００４５】
（２）第２の実施の形態
図１との対応部分に同一符号を付して示す図８は、第２の実施の形態による情報処理システム３０を示す。この情報処理システム３０は、ユーザが所望するユースケースの処理をクラスタ３内のノード３１に実行させる際、そのユースケースにおける各役割をそれぞれ果たすべきノード３１をそれぞれ指定する必要がない点が第１の実施の形態の情報処理システム１と相違する。
【００４６】
実際上、第１の実施の形態の情報処理システム１では、所望するユースケースをクラスタ３内のノード４に実行させる際、上述のようにユーザがそのユースケースにおける各役割をそれぞれ果たすべきノード４をそれぞれ指定しなければならない。
【００４７】
このため、かかる情報処理システム１では、所望するユースケースを実行させるに際して、ユーザが、そのユースケースにおける役割ごとに、例えば、図９に示すようなその役割を果たすために必要な要件（以下、これらを対応する役割のノード要件と呼ぶ）を満たすノード４をクラスタ３内から探し出して指定する必要がある。しかしながら、このような作業は、相応の時間や労力を要する問題がある。
【００４８】
例えば、図９は「ＧＡＤ初期設定」のユースケースにおける各役割のノード要件の一例であるが、この例の場合、ユーザは、「プライマリ（Primary）」という役割については、「セカンダ（Secondary）リノードと同じストレージモデル」というモデル要件（ｐ１）と、「300GB以上の残容量」という残容量要件（ｐ２）と、「クオラム（Quorum）ノードと通信できる」という通信要件（ｐ３）といったすべてのノード要件ｐ１〜ｐ３を満たすノード３１をクラスタ３内から探し出さなければならない。
【００４９】
そこで本実施の形態の情報処理システム３０には、ユーザがユースケースと、そのユースケースにおける各役割のード要件とをそれぞれ指定することによって、役割ごとに最適なノード４をクラスタ３内のノード４が連携して探し出してユーザに提示し、ユーザからの了解が得られた場合にこれらのノード４によって第１の連携処理機能と同様にしてそのユースケースの処理を実行する第２の連携処理機能が搭載されている。
【００５０】
このような第２の連携処理機能を実現するための手段として、本実施の形態の情報処理システム３０の場合、各ノード３１は、図１０に示すように、共有部３２、処理部３３、集約部３４、判定部３５及び役割決定部３６を備えている。これら共有部３２、処理部３３、集約部３４、判定部３５及び役割決定部３６は、いずれも図８に示すＣＰＵ１０がメモリ１２に格納されたユースケース実行プログラム３７を実行することにより具現化される機能部である。
【００５１】
このうち共有部３２、処理部３３及び集約部３４は、図２〜図７について上述した第１の実施の形態の共有部２０、処理部２１及び集約部２２とそれぞれ同様の機能を有する。また判定部３５は、ユーザが指定した各役割のノード要件を自ノード３１がどの程度満たしているかを、役割ごとに０〜１の範囲の数値（以下、これを役割スコアと呼ぶ）として算出する機能を有し、役割決定部３６は、各ノード３１がそれぞれ算出した役割ごとの役割スコアに基づいて、各役割のノード３１をそれぞれ決定する機能を有する。
【００５２】
そして本実施の形態の情報処理システム３０において、ユーザは、所望するユースケースの処理をクラスタ３内で実行させたい場合、クライアント端末２を操作して、そのユースケースと、そのユースケースにおける各役割と、例えば図９に示すようなそのユースケースにおける役割ごとの具体的なノード要件とをそれぞれ指定した上で、そのユースケースの実行を指示する。
【００５３】
この結果、かかる指示に応じて、図１１に示すように、実行すべきユースケースと、そのユースケースにおける各役割と、役割ごとのノード要件とを含むユースケース実行命令ＣＯＭ２が、そのクライアント端末２からクラスタ３内のアクセス可能ないずれかのノード３１に送信される（Ｓ２０）。
【００５４】
そして、このユースケース実行命令ＣＯＭ２を受信したノード（ユースケース実行命令受信ノード）３１の役割決定部３６は、そのユースケース実行命令ＣＯＭ２をクラスタ３内の他のすべてのノード３１と、自ノード３１内の判定部３５とにそれぞれ転送する（Ｓ２１）。これにより、そのユースケース実行命令ＣＯＭ２がクラスタ３内のすべてのノード３１間で共有される。
【００５５】
また、クライアント端末２やユースケース実行命令受信ノード３１から送信されてきたユースケース実行命令ＣＯＭ２を受信した各ノード３１の判定部３５は、図１２に示すように、自ノード３１が各役割のノード要件をどの程度満たすかを表す上述の役割スコアを、ユースケース実行命令ＣＯＭ２において指定されたユースケースの役割ごとにそれぞれ算出する（Ｓ２２）。
【００５６】
そのための手段として、各ノード３１は、ユースケースごとに、例えば図１３に示すように、そのユースケースにおける各役割のモデル要件ｐ１、残容量要件ｐ２及び通信要件ｐ３といった各ノード要件ｐ１〜ｐｎに対して予め定義された重みｗ１〜ｗｎがそれぞれ登録されたユースケースごとのテーブル（以下、これをノード要件重みテーブルと呼ぶ）３８を外部記憶装置１３（図８）に保持している。
【００５７】
そして判定部３５は、このノード要件重みテーブル３８を参照して、各ノード要件に対する自ノード３１の合致度を表すスコア（０〜１）をｓ１〜ｓｎとして、次式
【数１】
2020149651.tif 000003
により役割スコアＳを役割ごとにそれぞれ算出する。
【００５８】
この際、各ノード３１の判定部３５は、例えば、図９の「プライマリ（Primary）」という役割の「Secondaryと同じストレージモデル」というノード要件や、「セカンダリ（Secondary）」という役割の「Primaryと同じストレージモデル」というノード要件のように、自ノード３１の情報だけでは役割スコアＳを算出できないノード要件がある場合には、その役割及びそのノード要件と、必要な情報とを含む判定依頼を他のすべてのノードにそれぞれ送信することにより、そのノード要件を満たすか否かを各ノード３１にそれぞれ問い合わせる。
【００５９】
なお、ここでいう「必要な情報」は、かかるノード要件を満たすか否かを判定するために必要な情報を指す。例えば、図９の例において「プライマリ（Primary）」という役割の「Secondaryと同じストレージモデル」というノード要件の場合、このノード要件を満たすか否かを他のノード３１が判定するためには当該他のノード３１が判定依頼の送信元のノード（以下、これを依頼元ノードと呼ぶ）３１のストレージモデルを知る必要がある。そこで依頼元ノード３１は、自己のストレージモデルを「必要な情報」として含む判定依頼を他のすべてのノード３１にそれぞれ送信する。
【００６０】
また、この判定依頼を受信した各ノード３１の判定部３５は、その判定依頼に含まれる役割及びノード要件をどの程度満たすかを表す役割スコアＳを算出し、算出結果を依頼元ノード３１に送信する。例えば、あるノード３１が他のノード（依頼元ノード）３１から「プライマリ（Primary）」という役割の「Secondaryと同じストレージモデル」というノード要件に対する判定依頼を受信した場合、自ノード３１のストレージモデルがその判定依頼に含まれる依頼元ノード３１のストレージモデルと一致する場合には「１」、自ノード３１のストレージモデルが依頼元ノード３１のストレージモデルと一致しない場合には「０」をかかる役割の役割スコアＳとして依頼元ノード３１に送信する。
【００６１】
かくして、かかる依頼元ノード３１の判定部３５は、他のすべてのノード３１からそれぞれ与えられた判定依頼に対する応答に基づいて、その判定依頼において指定した役割に対する自己の役割スコアＳを算出する。この際、判定部３５は、例えば「自ノードがプライマリノード、○○というノードがセカンダリノード、△△というノードがクオラムノードである場合」、「自ノードがプライマリノード、○○というノードがセカンダリノード、□□というノードがクオラムノードである場合」などのように、可能性のあるすべての組合せに対する役割スコアＳをそれぞれ算出する。そして判定部３５は、このようにして算出した役割スコアＳのうち最も大きい役割スコアＳをユースケース実行命令受信ノード３１に送信する（Ｓ２３）。
【００６２】
ユースケース実行命令受信ノード３１側では、判定部３５が、自ノード３１に関して上述のようにして役割ごとの役割スコアＳをそれぞれ算出する。そしてユースケース実行命令受信ノード３１の役割決定部３６は、自ノード３１の判定部３５により役割ごとの役割スコアＳがそれぞれ算出され、かつ、他のすべてのノード３１から役割ごとの役割スコアＳがそれぞれ送信されてくると、これらの役割スコアＳに基づいて、ユースケース実行命令ＣＯＭ２において指定されたユースケースにおける各役割をそれぞれ果たすべきノード３１をそれぞれ決定する（Ｓ２４）。具体的に、かかる役割決定部３６は、役割ごとに、その役割の役割スコアＳが最も高かったノード３１をその役割を果たすべきノード３１として決定する。
【００６３】
そして、かかる役割決定部３６は、この決定結果をユースケース実行命令ＣＯＭ２の送信元のクライアント端末２に送信する（Ｓ２５）。この結果、ユーザが指定したユースケースにおける各役割をそれぞれ果たすべきノードとして決定された各ノード３１の識別子がそれぞれ表示された、例えば図１４に示すような第１の確認画面４０がそのクライアント端末２に表示される。
【００６４】
そして、第１の確認画面４０においてユーザが各役割のノード３１の決定を承認する旨の操作（図１４の例では、ＯＫボタン４１Ａをクリックする操作であり、以下、これを確認操作と呼ぶ）を行うと、確認操作が行われた旨の通知がユースケース実行命令受信ノード３１に送信される。なお、この後、クライアント端末２側では、それまで表示されていた第１の確認画面４０が図１５に示すような第２の確認画面４２に切り替わる。
【００６５】
そして、かかる確認操作が行われた旨の通知を受信したユースケース実行命令受信ノード３１の役割決定部３６は、図１６に示すように、ステップＳ２０（図１１）でクライアント端末２から与えられたユースケース実行命令ＣＯＭ２において指定されたユースケースと、そのユースケースにおける各役割をそれぞれ果たすべきノード４（図１２のステップＳ２４で役割を割り振った各ノード３１）及びこれらノード３１の役割と、必要な要件（例えば、作成するボリュームの容量など）とを含む新たなユースケース実行命令ＣＯＭ３を生成し（Ｓ２６）、これを自ノード３１内の共有部３２に送信する（Ｓ２７）。
【００６６】
また共有部３２は、かかる新たなユースケース実行命令ＣＯＭ３を受信すると、これをステップＳ２４で役割が割り振られた各ノード３１にそれぞれ転送する（Ｓ２８）。また共有部３２は、自ノード３１に何らかの役割が割り振られている場合には、そのユースケース実行命令ＣＯＭ３を自ノード３１内の処理部３３に送信する（Ｓ２９）。
【００６７】
かくして、この後、図４〜図６について上述した第１の実施の形態による第１の連携処理機能に関する処理（Ｓ４〜Ｓ８）と同様の処理が実行され、図１７に示すように、その処理結果がユースケース実行命令受信ノード３１の集約部３４により集約されて（Ｓ３０）、ステップＳ２０（図１１）でユースケース実行命令ＣＯＭ２を送信してきたクライアント端末２に送信される（Ｓ３１）。
【００６８】
図１８は、このような第２の連携処理機能に関連してクライアント端末２から送信されてきたユースケース実行命令ＣＯＭ２を受信したノード（ユースケース実行命令受信ノード）３１において、そのユースケース実行命令ＣＯＭ２で指定されたユースケースにおける各役割のノード３１を決定するまでの一連の処理（以下、これを第１の役割ノード決定処理と呼ぶ）の流れを示す。
【００６９】
かかるユースケース実行命令受信ノード３１では、クライアント端末２からのユースケース実行命令ＣＯＭ２が与えられるとこの図１８に示す第１の役割ノード決定処理が開始され、まず、役割決定部３６が、このユースケース実行命令ＣＯＭ２を他のすべてのノード３１と、自ノード３１内の判定部３５とにそれぞれ転送する（Ｓ４０）。
【００７０】
続いて、かかるユースケース実行命令ＣＯＭ２を受領した判定部３５が、役割ごとの役割スコアを算出するに際して、他のノード３１の情報が必要なノード要件があるか否かを判断する（Ｓ４１）。そして判定部３５は、この判断で否定結果を得るとステップＳ４４に進む。
【００７１】
これに対して、判定部３５は、ステップＳ４１の判断で肯定結果を得ると、他のすべてのノード３１に上述の判定依頼を送信し（Ｓ４２）、この後、当該判定依頼に対する各ノード３１からの返答をすべて受信し終えるのを待ち受ける（Ｓ４３）。
【００７２】
そして判定部３５は、やがて、かかる判定依頼に対するすべての他のノード３１からの返答を受信し終えることによりステップＳ４３で肯定結果を得ると、自ノード３１について、役割ごとの役割スコアＳをそれぞれ算出し、算出結果を役割決定部３６に送信する（Ｓ４４）。
【００７３】
一方、このとき役割決定部３６は、自ノード３１内の判定部３５及び他のすべてのノード３１から、ユースケース実行命令ＣＯＭ２において指定されたユースケースの各役割に対する役割スコアＳが送信されてくるのを待ち受けている（Ｓ４５）。
【００７４】
そして役割決定部３６は、自ノード３１内の判定部３５及び他のすべてのノード３１からかかる役割ごとの役割スコアＳが送信されてくると、各役割をそれぞれ割り振るノード３１を決定する（Ｓ４６）。また役割決定部３６は、この決定結果をかかるユースケース実行命令ＣＯＭ２の送信元のクライアント端末２に送信することにより、図１４について上述した第１の確認画面４０をそのクライアント端末２に表示させる（Ｓ４７）。
【００７５】
この後、役割決定部３６は、上述のようにして決定した各役割のノード３１への割振りがユーザにより承認されるのを待ち受け（Ｓ４８）、承認されなかった場合（図１４の第１の確認画面４０においてキャンセルボタン４１Ｂがクリックされた場合）には、ステップＳ４６に戻って、この後、各役割をそれぞれ割り振るノード４１の組合せを順次他の組合せに切り替えながら、ステップＳ４８で肯定結果を得るまでステップＳ４６〜ステップＳ４８の処理を繰り返す。
【００７６】
そして役割決定部３６は、やがて自ノード３１がユーザに提案した各役割を割り振るノード３１の組合せを承認することによりステップＳ４８で肯定結果を得ると、この第１の役割ノード決定処理に関する処理を終了する。
【００７７】
なお、この後、ユースケース実行命令受信ノード３１では、図１６のステップＳ２６〜ステップＳ２９について上述した処理と、自ノード３１に何らかの役割が割り振られている場合には図７について上述したユースケース実行処理とが行われ、この後、図１７について上述したステップＳ３０及びステップＳ３１の処理が行われる。
【００７８】
一方、図１９は、第２の連携処理機能に関連して、ユースケース実行命令受信ノード３１からクライアント端末２からのユースケース実行命令ＣＯＭ２が転送されてきたノード３１において、そのユースケース実行命令ＣＯＭ２において指定されたユースケースにおける各役割のノード３１を決定するまでの過程で実行される一連の処理（以下、これを第２の役割ノード決定処理と呼ぶ）の処理手順を示す。
【００７９】
この場合、かかるノード３１では、ステップＳ５０〜ステップＳ５３が図１８のステップＳ４１〜ステップＳ４４と同様に実行される。そして、かかるノード３１では、この後、判定部３５が、ステップＳ５３において算出した役割ごとの役割スコアＳをユースケース実行命令受信ノード３１に送信する。以上により、この第２の役割ノード決定処理が終了する。
【００８０】
なお、この後、このノード３１には、上述のようにユースケース実行命令受信ノード３１から新たなユースケース実行命令ＣＯＭ３が送信される。かくして、かかるノード３１では、この新たなユースケース実行命令ＣＯＭ３に応じて図７について上述したユースケース実行処理が実行される。
【００８１】
以上のように本実施の形態の情報処理システム３０では、ユースケース実行命令ＣＯＭ２において指定されたユースケースにおける各役割に対する役割スコアＳを各ノード３１がそれぞれ算出し、これら各ノード３１が算出した役割ごとの役割スコアＳに基づいて、ユースケース実行命令受信ノード３１がそのユースケースにおける各役割をそれぞれ最適なノード３１に割り振る。
【００８２】
従って、本情報処理システム３０では、所望するユースケースをクラスタ３のノード３１に実行させるに際してそのユースケースにおける各役割のノード３１を指定する必要がなく、そのための労力や時間を省略させることができる。従って、本情報処理システム３０によれば、第１の実施の形態の情報処理システム１により得られる効果に加えて、より使い勝手を向上させることができるという効果をも得ることができる。
【００８３】
（３）他の実施の形態
なお上述の第１及び第２の実施の形態においては、本発明を図１や図８のように構成された情報処理システム１，３０に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の情報処理システムに広く適用することができる。
【００８４】
また上述の第１及び第２の実施の形態においては、各ノード４，３１において、上位装置（クライアント端末２）からのユースケース実行命令ＣＯＭ１，２に応じて、自己に割り振られた役割の処理を、直ちに実行するか又は他のノード４，３１の処理を待つかを当該ユースケースのユースケース処理定義１５に基づいて判断しながら規定のタイミングで実行し、当該処理の処理結果を他のノード４，３１と共有するユースケース実行部を、ＣＰＵ１１及びユースケース実行プログラム１４により構成するようにした場合について述べたが、本発明はこれに限らず、かかるユースケース実行部の一部又は全部の処理を専用のハードウェアにより処理するようにしてもよい。
【００８５】
さらに上述の第２の実施の形態においては、ノード要件重みテーブル３８を図１３のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【産業上の利用可能性】
【００８６】
本発明は、複数のノードを有し、各ノードが他のノードと連携して所定の一連の処理でなるユースケースを実行する種々の構成の情報処理システムに広く適用することができる。
【符号の説明】
【００８７】
１，３０……情報処理システム、２……クライアント端末、３……クラスタ、４，３１……ノード、１１……ＣＰＵ、１４，３７……ユースケース実行プログラム、１５……ユースケース処理定義、２０，３２……共有部、２１，３３……処理部、２２，３４……集約部、３５……判定部、３６……役割決定部、３８……ノード要件重みテーブル、４０，４２……確認画面。
【図１】
2020149651.tif 000004
【図２】
2020149651.tif 000005
【図３】
2020149651.tif 000006
【図４】
2020149651.tif 000007
【図５】
2020149651.tif 000008
【図６】
2020149651.tif 000009
【図７】
2020149651.tif 000010
【図８】
2020149651.tif 000011
【図９】
2020149651.tif 000012
【図１０】
2020149651.tif 000013
【図１１】
2020149651.tif 000014
【図１２】
2020149651.tif 000015
【図１３】
2020149651.tif 000016
【図１４】
2020149651.tif 000017
【図１５】
2020149651.tif 000018
【図１６】
2020149651.tif 000019
【図１７】
2020149651.tif 000020
【図１８】
2020149651.tif 000021
【図１９】
2020149651.tif 000022