(57)【要約】  複数サーバで分散管理されているデータの整合性を保証してデータ更新する情報処理装置を提供することを目的とし、当該情報処理装置は、各種テーブルを記憶する記憶部と、前記アプリケーションの実行を制御する制御部と、を備え、前記記憶部は、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とを対応づけて記憶し、前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する機能を有する。
2014054128.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置であって、
各種テーブルを記憶する記憶部と、
前記アプリケーションの実行を制御する制御部と、
を備え、
前記記憶部は、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とを対応づけて記憶し、
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する
ことを特徴とする、情報処理装置。
【請求項２】
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記選択した前記更新方法情報の更新方法にしたがってデータを更新する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、前記リクエストを送信するユーザと、前記リクエストが送信される情報処理装置との組み合わせに対応する前記閾値情報を記憶し、
前記制御部は、前記ユーザが前記アプリケーションを利用した実績情報に基づいて前記閾値情報を算出する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項４】
前記記憶部は、一の計算機に前記閾値情報を送信する前に該閾値情報を送信すべき他の計算機を前記一の計算機の依存計算機として記憶し、
前記制御部は、前記依存計算機への前記閾値情報の送信が完了した場合に、前記一の計算機に前記閾値情報を送信する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項５】
前記記憶部は、前記アプリケーションのバージョンと前記閾値判定方法情報と前記更新方法情報とを対応付けて記憶し、
前記制御部は、前記アプリケーションのバージョンに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項６】
前記計算機は、ネットワークを介して接続された１つ以上の他の計算機とクラスタを構成し、
前記記憶部は、前記クラスタ内における前記計算機の状態を示すクラスタ状態情報と前記閾値判定方法情報と前記更新方法情報とを対応付けて記憶し、
前記制御部は、前記クラスタ状態情報に対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する
ことを特徴とする、請求項５に記載の情報処理装置。
【請求項７】
前記記憶部は、前記閾値情報と前記閾値情報を合成する方法を示す閾値合成方法情報とを対応付けて記憶し、
前記制御部は、前記クラスタ状態情報に応じて、前記クラスタ内の前記計算機と前記他の計算機との間で前記閾値合成方法情報を用いて前記閾値情報を合成する
ことを特徴とする、請求項６に記載の情報処理装置。
【請求項８】
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報に前記リクエストに含まれる入力値を代入して、前記閾値と前記入力値の前記閾値判定方法情報への代入結果とを比較して、前記データ正常性が確保できるかを判定する
ことを特徴とする、請求項５に記載の情報処理装置。
【請求項９】
前記更新方法情報にはマージ方法名が記載された処理スプリクトが含まれ、
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記選択した前記更新方法情報の前記処理スプリクトに記載された前記マージ方法名が示すマージ方法にしたがって前記データを更新する
ことを特徴とする、請求項２に記載の情報処理装置。
【請求項１０】
ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置を用いたデータ更新方法であって、
前記情報処理装置は、各種テーブルを記憶する記憶部と、前記アプリケーションの実行を制御する制御部と、を備え、
前記記憶部には、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とが対応づけて記憶され、
前記制御部が、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できるかを判定する第１のステップと、
前記制御部が、前記第１のステップにおいて前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する第２のステップと
を含むことを特徴とする、データ更新方法。
【請求項１１】
コンピュータを、
ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置であって、
各種テーブルを記憶する記憶部と、前記アプリケーションの実行を制御する制御部と、を備え、
前記記憶部は、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とを対応づけて記憶し、
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する、
情報処理装置として機能させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、データ更新方法及びプログラムに関し、複数サーバで分散管理されているデータの整合性を保証してデータを更新する情報処理装置、データ更新方法及びプログラムに適用して好適なるものである。
【背景技術】
【０００２】
大量のデータセンタが利用するクラウドサービスの基盤は、一般的に複数データセンタで構成され、データの複製は異なるデータセンタに配置される。また、データセンタは、要求されたアプリケーションを実行して、データを参照したりする。ここで、データ複製に対する更新処理の制御に関して、以下の従来技術が存在する。【０００３】
例えば、非特許文献１は、データの複製を複数データセンタに分散配置する技術であり、いくつかのデータセンタが破損することによりデータ複製が参照できない場合にも、他のデータセンタに格納されたデータ複製の１つを参照することができる。【０００４】
しかし、非特許文献１では、データ複製に対する更新が制限される。例えば、複数データの複製を同時に更新する場合には、いずれかのデータ複製に対する更新処理が、他のデータ複製に対する更新処理結果で上書きされてしまう恐れがあるため更新が制限される。また、関連する複数の処理を１つの処理単位にまとめて管理するトランザクション処理では、更新処理結果が上書きされてしまうと、いずれかの処理が完了したにもかかわらず、その処理結果が蓄積されているデータに反映されず、処理を再度実行させるなどデータセンタの不便を強いることとなる。さらに、データセンタ間のネットワークが切断される分断障害が発生した場合には、処理がどこまで実行されたかを把握することができなくなるため、データ複製に対してさらなる制限が加えられる。【０００５】
そこで、上記問題を解決するために、以下の技術が開示されている。例えば、特許文献１では、同一データに対して複数個所からデータが更新された場合には、後でデータの更新結果をマージすることにより、分散配置されたデータセンタからのデータ更新を可能としている。また、特許文献２では、コピー元のサーバと、他のデータセンタに属するコピー先のサーバとが障害等により分断されて同期が取れなくなった時点で、コピー先のサーバを切り離す。そして、コピー先のサーバによるデータの更新等をさせないようにして、障害復旧時点でのデータの整合性を保証している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１１−５−８３４２号公報
【特許文献２】特許第４４６１１４７号公報
【非特許文献】
【０００７】
【非特許文献１】”Cassandra - A Decentralized Structured Storage System”
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１では、複数のデータセンタからデータが更新されたデータをマージした場合に、アプリケーションによって規定されたデータの正常値を逸脱する可能性があった。例えば、在庫数を減算するアプリケーションを実行した場合に、複数個所からの更新をマージした時点で在庫数がマイナスとなってしまう可能性があるという問題があった。また、特許文献２では、複数のデータセンタ間の接続が切断された場合には、複数のデータセンタのうちのいずれか１つのデータセンタでしたかデータを更新できない。すなわち、特定の１つのデータセンタでしかアプリケーションを実行することができず、当該データセンタを利用するデータセンタしかサービスを継続できないという問題があった。【０００９】
本発明は以上の点を考慮してなされたもので、複数サーバで分散管理されているデータの整合性を保証してデータ更新することが可能な情報処理装置、データ更新方法及びプログラムを提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するために本発明においては、ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置であって、各種テーブルを記憶する記憶部と、前記アプリケーションの実行を制御する制御部と、を備え、前記記憶部は、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とを対応づけて記憶し、前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択することを特徴とする、情報処理装置が提供される。【００１１】
かかる構成によれば、ユーザ端末からのリクエストに応じてアプリケーションを実行する際に、該アプリケーションに対応する閾値判定方法情報をもとにデータ正常性が確保できるかを判定し、データ正常性が確保できると判定された場合に、該閾値判定方法情報に対応する更新方法情報を選択してデータを更新する。これにより、複数の情報処理装置においてアプリケーションにより更新されるデータが分散管理されている場合で、データの整合性を保証してデータ更新することが可能となり、アプリケーション可用性及びアプリケーション実行時間短縮を実現する頻度を高めることができる。
【発明の効果】
【００１２】
本発明によれば、データの整合性を保証してデータ更新することによりアプリケーションの可用性を向上させたりアプリケーション実行時間を短縮したりすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る計算機システムのハードウェア構成を示すブロック図である。
【図２】同実施形態にかかる計算機のメモリの格納情報を示すブロック図である。
【図３】同実施形態にかかる管理計算機のメモリの格納情報を示すブロック図である。
【図４】同実施形態にかかるユーザリクエストの一例を示す図表である。
【図５】同実施形態にかかるユーザリクエストの一例を示す図表である。
【図６】同実施形態にかかるデータ格納部の一例を示す図表である。
【図７】同実施形態にかかるデータ格納部の一例を示す図表である。
【図８】同実施形態にかかる更新リクエストの一例を示す図表である。
【図９】同実施形態にかかる計算機名リストの一例を示す図表である。
【図１０】同実施形態にかかるユーザ名リストの一例を示す図表である。
【図１１】同実施形態にかかるアプリケーション別閾値判定方法情報の一例を示す図表である。
【図１２】同実施形態にかかる閾値バージョンの一例を示す図表である。
【図１３】同実施形態にかかる閾値テーブルの一例を示す図表である。
【図１４】同実施形態にかかるユーザ処理実績情報の一例を示す図表である。
【図１５】同実施形態にかかる局所ユーザ処理実績情報の一例を示す図表である。
【図１６】同実施形態にかかるクラスタ状態情報の一例を示す図表である。
【図１７】同実施形態にかかる計算機位置情報の一例を示す図表である。
【図１８】同実施形態にかかる伝播情報の一例を示す図表である。
【図１９】同実施形態にかかる閾値計算方法情報の一例を示す図表である。
【図２０】同実施形態にかかる更新方法別処理スクリプト情報の一例を示す図表である。
【図２１】同実施形態にかかる選択済み更新方法情報の一例を示す図表である。
【図２２】同実施形態にかかる閾値合成方法情報の一例を示す図表である。
【図２３】同実施形態にかかるマージリクエストの一例を示す図表である。
【図２４】同実施形態にかかるマージ方法別処理スクリプト情報の一例を示す図表である。
【図２５】同実施形態にかかるクラスタ内計算機状態情報の一例を示す図表である。
【図２６】同実施形態にかかる更新方法選択処理の全体処理を示すフローチャートである。
【図２７】同実施形態にかかるアプリケーション実行処理及びデータ更新処理を示すタイミングチャートである。
【図２８】同実施形態にかかるアプリケーション実行処理を示すフローチャートである。
【図２９】同実施形態にかかる更新方法選択処理を示すフローチャートである。
【図３０】同実施形態にかかる更新処理を示すフローチャートである。
【図３１】同実施形態にかかる閾値検索処理を示すフローチャートである。
【図３２】同実施形態にかかる閾値合成処理の概要を説明する概念図である。
【図３３】同実施形態にかかる閾値合成処理を示すタイミングチャートである。
【図３４】同実施形態にかかる閾値合成処理を示すフローチャートである。
【図３５】同実施形態にかかるマージ処理を示すタイミングチャートである。
【図３６】同実施形態にかかるマージ処理を示すフローチャートである。
【図３７】同実施形態にかかるユーザ処理実績作成処理を示すタイミングチャートである。
【図３８】同実施形態にかかる閾値テーブル作成及び伝播処理を示すタイミングチャートである。
【図３９】同実施形態にかかる閾値テーブル作成処理を示すフローチャートである。
【図４０】同実施形態にかかる閾値情報伝播処理を説明する概念図である。
【図４１】同実施形態にかかる閾値情報伝播処理を示すフローチャートである。
【図４２】同実施形態にかかる管理者設定画面の一例を示す概念図である。
【図４３】同実施形態にかかるユーザリクエスト処理完了画面の一例を示す概念図である。
【図４４】同実施形態にかかる更新方法リスト取得処理を示すタイミングチャートである。
【図４５】同実施形態にかかる更新可否リスト取得リクエストの一例を示す図表である。
【図４６】同実施形態にかかる更新方法リストの一例を示す図表である。
【図４７】同実施形態にかかる更新方法リスト取得処理を示すフローチャートである。
【図４８】同実施形態にかかるユーザリクエスト画面の一例を示す概念図である。
【発明を実施するための形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
なお、以後の説明では「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」、「ａａａキュー」等の表現にて本発明の情報を説明するが、これら情報は必ずしもテーブル、リスト、ＤＢ、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」、「ａａａキュー」等について「ａａａ情報」と呼ぶことがある。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いるが、これらについてはお互いに置換が可能である。
【００１６】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御デバイス）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
【００１７】
また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【００１８】
（１）第１の実施の形態
（１−１）本実施の形態の概要
まず、本実施の形態の概要について説明する。
本実施の形態では、大地震など大規模通信インフラ障害発生時の以下の課題を解決することである。
【００１９】
大地震で発生する大規模通信インフラ障害として、複数データセンタ間の接続が切断される、または接続帯域が小さく通信が困難なケース（これを分断障害と呼ぶ）が考えられる。さらにこのとき、ユーザは特定の場所から特定のデータセンタを利用できるが、その他のデータセンタを利用できなくなること（これを局所接続と呼ぶ）も考えられる。
【００２０】
特定のアプリケーションでは、分断障害の場合にも局所接続だけを利用しアプリケーションを継続実行してほしいというユーザニーズがある。このようなアプリケーションとしては、例えば、食品および薬などの生活必需品の在庫管理、または銀行口座からの出金処理などが挙げられる。これは、大地震などの災害時には、災害発生個所の各データセンタを利用するユーザは、手持ちの必需品や金品をなくしていることが多いためである。
【００２１】
このようなアプリケーションは、通常、データ整合性を保証するためにデータセンタ間通信を利用して実施されるが、分断障害の場合はデータセンタ間の通信ができなくなり、正常な処理を実施できなくなることが問題となる。
【００２２】
例えば、上記した特許文献１では、複数箇所のデータセンタから同一データに対して更新されマージされた場合に、各アプリケーションによって規定されたデータ正常性を逸脱し異常値となる可能性がある。例えば、在庫管理における在庫払い出し処理の場合、在庫数データの正常値は正の値であり、異常値は負の値である。２箇所のデータセンタで在庫数を減算するアプリケーションを実行した場合に、各データセンタのアプリケーションでは在庫が負の値にならない範囲で正常終了しても、各更新をマージした時点で在庫数が負の値になる可能性がある。
【００２３】
また、上記した特許文献１では、分断障害時には、いずれか１つのデータ複製しか更新できない。つまり、特定の１つのデータセンタでしかアプリケーションを継続実行できないこととなる。局所接続を考慮すると、特定場所に居住するユーザは、アプリケーションを利用可能だが、他のユーザはアプリケーションを利用できず不便を強いられる。
【００２４】
そこで、本実施の形態では、分断時にデータ正常性を保証しながら、複数のデータ複製に対して同時更新することを第１の目的としている。
【００２５】
また、本実施の形態の第２の目的は、大規模通信インフラ障害がない正常時にも、複数データセンタ上で同時に実行されるアプリケーションの実行時間を短縮することである。例えば、局所接続の環境で特定のデータセンタを利用していたユーザが移動するケースや、同環境で別の位置にいる複数ユーザが同一アプリケーションを実行するケースなどが考えられる。
【００２６】
前者のケースでは、移動前に利用するデータセンタＡ及びユーザ移動後に利用するデータセンタＢが、同一のデータとアプリケーションを格納していることを前提とする。ユーザが移動するケースの場合、データセンタＡのアプリケーションに対して複数リクエストが送信される途中で、データセンタＢにリクエストの送信が開始されることがある。この場合、データセンタＡのアプリケーションがデータを更新途中の状態でも、データセンタＢのアプリケーションに対して新たなリクエストが送信される可能性がある。
【００２７】
このとき、データセンタＢのアプリケーションが、受信したリクエストに基づき処理を実行する際には、通常、アプリケーションは、データ整合性を保証するためにデータセンタ間通信を利用する。しかし、データセンタ間通信の遅延などにより、アプリケーションの処理完了が遅延して、データ整合性が保証されない場合がある。
【００２８】
上記特許文献１では、アプリケーションを同時に実行することが可能なため、アプリケーション実行時間は短縮できるが、上記したように、データ正常性を損なう可能性がある。また、上記特許文献２では、いずれかのデータセンタしかアプリケーションを実行できないため、データセンタＢはデータセンタＡからの処理完了通信を待つ必要があり、データセンタＢの処理遅延を回避できない。
【００２９】
そこで、本実施の形態では、データ正常性を保証しながら、データセンタ間通信の遅延を排除することでアプリケーション実行時間を短縮することを第２の目的としている。すなわち、本実施の形態では、分断障害時のアプリケーションの可用性向上とアプリケーションの実行時間短縮を実現するために、一時的にデータが不整合となることを許可する。そして、アプリケーションごとに規定されたデータの正常性を保証できる範囲であればデータの同時更新を許可し、そうでなければデータの同時更新を許可しない仕組みを提供する。
【００３０】
具体的に、データ正常性保証範囲の例として、在庫数減算アプリケーションの場合を考える。本実施の形態では、在庫数が１０である場合に、在庫数が負の値にならないという正常性を保証しながら、２つのデータセンタでの同時更新を許可する。このためには、１つのデータセンタで許可する減算幅を５とするパターンが考えられる。また一方のデータセンタでは減算幅を７とし、別のデータセンタでは減算幅を３とするパターンも考えられる。いずれのパターンにおいても、各データセンタで減算幅という数値に対して閾値を設けることで、アプリケーションの同時更新が可能かを判定することができる。すなわち、在庫数と減算値を比較して同時許可を判定するように、アプリケーションの入力値と特定の閾値に基づいてデータ正常性保証範囲を判定することができる。
【００３１】
この閾値を適切に設定するために利用できる特性として、ユーザとデータセンタの相関関係が挙げられる。局所接続のケースを考えると、特定ユーザは特定データセンタを頻繁に利用し、それ以外のデータセンタは利用しないという局地的な相関関係がある。この場合、上記の閾値をユーザとデータセンタの組の相関関係に比例して設定することで、より頻繁に利用するデータセンタではより広範囲な処理を実行することができる。
【００３２】
しかし、上記した従来技術では、ユーザとデータセンタとの相関関係は考慮されておらず、相関関係に応じた閾値を設定することはできない。
【００３３】
本実施の形態では、ユーザとデータセンタとの相関関係を利用して、閾値を適切に設定することで、上記した第１の目的と第２の目的である、分断障害時のアプリケーション可用性や、アプリケーションの実行時間短縮などの効果を最大限得ることが可能となる。
【００３４】
また、本実施の形態では、上記の効果を得られる閾値を適切に再計算および再配布することを第３の目的としている。局所接続するユーザとデータセンタとの相関関係は、時間経過によって変化することが考えられる。例えば、ユーザが拠点を移転するケースでは、時間経過に応じて閾値を再計算および再配布する周期は１時間から１日の周期で実施し、アプリケーションを改変および再配布する周期が半年から数年であるのに対して比較的短いと考えられる。そのため、アプリケーションを配布する仕込みとは別に閾値を配布する仕組みを提供する。これにより、閾値変更のたびにアプリケーションを改変したり再配布したりする必要がなくなり、アプリケーションを管理するコストの削減に寄与する。
【００３５】
また、本実施の形態では、閾値に応じて更新方法を変更するだけでなく、同時に閾値に応じたマージ方法を選択する機能を提供することを第４の目的としている。
【００３６】
また、本実施の形態では、複数データセンタで構成されるクラスタの障害の種類に応じて、データセンタ間で必要に応じた通信をして閾値を融通している。このように、閾値を緩和して、分断障害時のアプリケーション可用性を向上させたり、アプリケーション実行時間を短縮させたりする効果を最大限に得ることを第５の目的としている。
【００３７】
すなわち、本実施の形態は、上記第１〜第５の目的を達成することにより、データの整合性を保証してデータ更新することによりアプリケーションの可用性を向上させたりアプリケーション実行時間を短縮させたりすることを可能としている。
【００３８】
（１−２）計算機システムの構成
次に、本実施の形態にかかる計算機システム１のハードウェア構成について説明する。図１に示すように、計算機システム１は、計算機１０１、ユーザ端末１０５、管理計算機１３３、計算機１４４及び管理者端末１４７から構成される。計算機１０１は、ユーザ端末１０５、管理計算機１３３、計算機１４４と接続されている。また、計算機１０１は、ユーザ端末１０５から送信されたユーザリクエスト１４５を受信し、アプリケーションの実行および更新方法選択を実施する。また、管理計算機１３３は、計算機管理者端末１４７と接続されている。ユーザ端末１０５は、通信部１０４、計算機１４４と接続されており、いずれかの計算機にユーザリクエスト１４５を送信する。
【００３９】
計算機１４４は、計算機１０１と同等のハードウェア構成をもつ計算機である。図１の例では、計算機１０１と計算機１４４の２つの計算機が接続された構成を示しているが、単一の計算機もしくは２つ以上の計算機がネットワークを介して協働する構成としてもよい。
【００４０】
計算機１０１は、データ正常性を保証しながら分断障害時のアプリケーション可用性向上およびアプリケーション実行時間短縮を実現するため、データ正常性が保証できる範囲に基づきデータ更新方法を選択するコンピュータ装置である。
【００４１】
計算機１０１は、メモリ（記憶部）１０３、ＣＰＵ（演算部）１０２、通信部１０４及びタイマー１０７から構成されている。メモリ１０３は、ハードディスクドライブなどの記憶装置で構成される。ＣＰＵ１０２は、メモリ１０３に保持されるプログラム類を読み出すなどして各種処理を実行し、装置全体の統括制御を行なうとともに各種判定、演算及び制御処理を行なう。また、通信部１０４及びタイマー１０７は、ユーザ端末１０５とのデータ通信を行う。図１に示す例では、ユーザ端末１０５および管理計算機１３３が計算機１０１の入力部ともいえる。
【００４２】
なお、メモリ１０３には、本実施形態の情報処理装置として必要な機能を実装する為のプログラム、および各種テーブル等が格納されている。本実施形態の情報処理装置として備えるべき機能は、計算機１０１が備えるプログラムを実行することで実装される機能といえる。図１では、こうした機能を処理部として示している。
【００４３】
また、図１では計算機１０１を単体のコンピュータ装置として示しているが、本実施形態の情報処理装置として必要な機能を実装した他装置とネットワークを介して互いに協働し、複数装置をもって計算機１０１を構成するとしてもよい。
【００４４】
メモリ１０３には、アプリケーション制御部１０６、更新方法選択部１１０、更新実行部１１４、マージ実行部１１９、処理実績収集部１２３、クラスタ状態更新部１２４、参照実行部１４９が格納される。また、メモリ１０３には、計算機固有情報１２５、アプリケーション別閾値判定方法情報１２６、閾値情報１２７、選択済み更新方法情報１２８、更新方法別処理スクリプト情報１２９、マージ方法別処理スクリプト情報１３０、データ格納部１３１、マージリクエストキュー１３２及び更新リクエスト１４６などのテーブルやデータが格納される。メモリ１０３は、通信部１０４及びタイマー１０７と接続されており、通信部１０４を介してユーザ端末１０５、管理計算機１３３または計算機１４４から受信した情報を格納する。
【００４５】
通信部１０４は、メモリ１０３、ＣＰＵ１０２、ユーザ端末１０５、管理計算機１３３及び計算機１４４と接続されている。アプリケーション制御部１０６は、アプリケーション１０８及びリクエストパース部１０９を含む。タイマー１０７は、メモリ１０３と接続されている。更新方法選択部１１０は、閾値検索部１１１、閾値判定部１１２及び更新方法取得インタフェース１３を含む。更新実行部１１４は、更新インタフェース１１５、更新処理起動部１１６及び処理スクリプト１１７を含む。処理スクリプト１１７はマージ処理名１１８を含む。マージ実行部１１９はマージ処理起動部１２０、マージ処理スクリプト１２１及びマージ起動インタフェース１２２を含む。
【００４６】
具体的に、計算機１０１は、ユーザ端末１０５からのユーザリクエスト１４５を受信し、アプリケーション制御部１０６を実行させて、ユーザリクエスト１４５に応じたアプリケーション１０８を実行することで、データを更新させる更新リクエスト１４６を更新方法選択部１１０に提供する。そして、計算機１０１は、更新方法選択部１１０を実行することで、閾値情報１２７、選択済み更新方法情報１２８及びユーザリクエスト１４５を参照して、データ正常性が保証できる更新方法のうち、可用性および処理時間短縮効果が得られる更新方法を選択する。
【００４７】
また、計算機１０１は、更新実行部１１４を実行することで、選択した更新方法を使用し、データ格納部１３１のデータを更新する。更新実行部１１４は、選択済み更新方法情報１２８、更新方法別処理スクリプト情報１２９及び更新リクエスト１４６を使用して、データを更新する。また、計算機１０１は、参照実行部１４９を実行することで、データ格納部１３１のデータを参照する。また、計算機１０１は、マージ実行部１１９を実行することで、データ格納部１３１の整合性を復元する処理（マージ）を実行する。
【００４８】
なお、計算機１０１は、アプリケーション別閾値判定方法情報１２６の所定の評価式に含まれる評価値を閾値情報１２７とする。ＣＰＵ１０２は、選択処理において、アプリケーションごとに該当した評価式に対応する数値を用いて、アプリケーションごとの評価値を算出し、当該評価値を用いて更新方法を選択する。
【００４９】
また、メモリ１０３のアプリケーション別閾値判定方法情報１２６には、各評価式を計算するプログラムを含む。ＣＰＵ１０２は、更新方法を選択する処理において、アプリケーションごとに該当した評価式に対応するプログラムを用いて、アプリケーションごとの評価値を算出し、当該評価値を用いて更新方法を選択する。
【００５０】
なお、更新方法は、計算機によって実行されるプログラムである処理スクリプトを起動する方法を意味し、処理スクリプトに含まれる各種の処理部も、物理的には計算機上で実行されるものである。
【００５１】
次に、図２を参照して計算機１０１のメモリ１０３に格納され、各部から参照及び更新される計算機固有情報１２５及び閾値情報１２７の詳細について説明する。
【００５２】
計算機固有情報１２５は、計算機１０１の固有の情報であって、計算機名リスト２０１、クラスタ状態情報２０２、局所ユーザ処理実績情報２０３及びクラスタ内計算機状態情報２０９から構成されている。また、閾値情報１２７は、閾値バージョン２０５、閾値テーブル２０６、閾値合成方法情報２０７及び伝播情報２０８から構成されている。各情報の詳細は後で詳細に説明する。
【００５３】
図１に戻り、管理計算機１３３の構成について説明する。図１に示すように、管理計算機１３３は、ＣＰＵ１３４、通信部１３５及びメモリ１３６などから構成されている。ＣＰＵ１３４は、メモリ１３６に保持されるプログラム類を読み出すなどして各種処理を実行し、装置全体の統括制御を行なうとともに各種判定、演算及び制御処理を行なう。また、通信部１３５は、計算機１０１とのデータ通信を行う。また、管理計算機１３３は、管理者端末１４７と接続され、管理者端末１４７を介して管理者の入力を受け付ける。
【００５４】
また、メモリ１３６には、ユーザ固有情報１３７、アプリケーション別閾値判別方法情報１３８、閾値テーブル作成部１３９、閾値情報伝播管理部１４０、閾値情報１４１、計算機固有情報１４２及び閾値計算方法情報１４３が格納されている。図３に示すように、ユーザ固有情報１３７には、ユーザ名リスト３０１及びユーザ処理実績情報３０２が含まれる。各情報の詳細は後で説明する。
【００５５】
（１−３）データ構成
次に、各テーブルまたはリストのデータ構成について説明する。まず、ユーザ端末１０５から送信されるユーザリクエスト１４５について説明する。図４は、ユーザリクエスト１４５の一例を示す図表であり、アプリケーションが「Ａ在庫管理」である場合にユーザ端末１０５から送信されるユーザリクエスト１４５Ａの一例である。
【００５６】
図４に示すように、ユーザリクエスト１４５Ａは、ユーザ名欄４０１、アプリケーション入力値１欄４０２、アプリケーション入力値２欄４０３及びアプリケーション名欄４０４から構成される。
【００５７】
ユーザ名欄４０１には、リクエストの要求元であるユーザの名称を示す情報が格納される。アプリケーション入力値１欄４０２及びアプリケーション入力値２欄４０３には、アプリケーションへの入力値がそれぞれ格納される。また、アプリケーション名欄４０４には、リクエストが要求するアプリケーションの名称が格納される。
【００５８】
図４では、例えば、ユーザ「User1」が、アプリケーション「Ａ在庫管理」の実行を要求し、当該アプリケーションの入力値は「Package1/Warehouse1」及び「10」であることがわかる。
【００５９】
また、図５は、ユーザリクエスト１４５の一例を示す図表であり、アプリケーションが「Ｂ口座残高引出」である場合にユーザ端末１０５から送信されるユーザリクエスト１４５Ｂの一例である。
【００６０】
図５に示すように、ユーザリクエスト１４５Ｂは、ユーザ名欄５０１、アプリケーション入力値１欄５０２、アプリケーション入力値２欄５０３及びアプリケーション名欄５０４から構成される。
【００６１】
ユーザ名欄５０１には、リクエストの要求元であるユーザの名称を示す情報が格納される。アプリケーション入力値欄５０２には、アプリケーションへの入力値が格納される。また、アプリケーション名欄５０３には、アプリケーションの名称が格納される。
【００６２】
図５では、例えば、ユーザ「User1」が、アプリケーション「Ｂ口座残高引出」の実行を要求し、当該アプリケーションの入力値は「10000」であることがわかる。
【００６３】
次に、アプリケーションが参照および更新するデータを格納する計算機１０１のデータ格納部１３１について説明する。図６は、ＤＢ名がＤＢ１であるデータ格納部１３１を示す図表である。図６に示すように、データ格納部１３１は、キー欄６０１及び値欄６０２から構成される。キー欄６０１には、データ格納部１３１に格納されたデータの参照または更新する際に使用されるキーが格納される。また、値欄６０２には、キー欄６０１に格納されたキーに対応するデータの値が格納される。
【００６４】
例えば、図６では、データのキー「在庫数/Package1/Warehouse1」に対応する値は「200」であり、データのキー「在庫数/Package1/Warehouse2」に対応する値は「300」であることがわかる。
【００６５】
次に、ＤＢ名がＤＢ２であるデータ格納部１３１について説明する。図７に示すように、データ格納部１３１は、キー欄７０１及び値欄７０２から構成される。キー欄７０１には、データ格納部１３１に格納されたデータの参照または更新する際に使用されるキーが格納される。また、値欄７０２には、キー欄７０１に格納されたキーに対応するデータの値が格納される。
【００６６】
例えば、図７では、データのキー「残高/User1」に対応する値は「100000」であり、データのキー「残高/User2」に対応する値は「20000」であることがわかる。
【００６７】
次に、計算機１０１のアプリケーション制御部１０６が更新実行部１１４の更新インタフェース１１５に送信する更新リクエスト１４６について説明する。図８に示すように、更新リクエスト１４６は、ＤＢ名欄８０１、キー欄８０２及び値欄８０３から構成される。ＤＢ名欄８０１には、データ格納部１３１を特定する名称が格納される。キー欄８０２には、データ格納部１３１の更新箇所を特定するキーの情報が格納される。値欄８０３には、キーに対応するデータの更新値の情報が格納される。
【００６８】
例えば、図８では、ＤＢ名がＤＢ１に格納されているデータのうち、キー「在庫数/Package1/Warehouse1」に対応するデータを「１９０」に更新することがわかる。
【００６９】
次に、計算機１０１の計算機固有情報１２５に含まれる計算機名リスト２０１について説明する。計算機名リスト２０１は、後述する閾値テーブル２０６に格納される計算機１０１の名称の一覧である。
【００７０】
図９に示すように、計算機名リスト２０１は、番号欄９０１及び計算機名欄９０２から構成される。番号欄９０１には、計算機名リスト２０１に記載される順番を示す番号が格納される。計算機名欄９０２には、番号欄９０１に格納された番号に対応する計算機１０１の計算機名が格納される。計算機名には、計算機１０１を一意に示す値が格納される。
【００７１】
具体的に、計算機名リスト２０１の各行について説明する。図９では、例えば、番号「１」に対応する計算機１０１の計算機名は「DC1」であり、番号「２」に対応する計算機１０１の計算機名は「DC2」であり、番号「３」に対応する計算機１０１の計算機名は「DC3」であり、番号「４」に対応する計算機１０１の計算機名は「DC4」であることがわかる。
【００７２】
次に、管理計算機１３３のユーザ固有情報１３７に含まれるユーザ名リスト３０１について説明する。ユーザ名リスト３０１は、計算機１０１を利用するユーザの名称の一覧である。図１０に示すように、ユーザ名リスト３０１は、番号欄１００１及びユーザ名欄１００２から構成される。
【００７３】
番号欄１００１には、ユーザ名リスト３０１に記載される順番を示す番号が格納される。ユーザ名欄１００２には、番号欄１００１に格納された番号に対応するユーザ名が格納される。ユーザ名は、ユーザに一意に与えられ。ユーザを特定することができる情報である。
【００７４】
具体的に、ユーザ名リストの各行について説明する。図１０では、例えば、番号「１」に対応するユーザ名は「User1」であり、番号「２」に対応するユーザ名は「User2」であり、番号「３」に対応するユーザ名は「User3」であり、番号「４」に対応する計算機１０１の計算機名は「User4」であることがわかる。
【００７５】
次に、計算機１０１のメモリ１０３に格納されているアプリケーション別閾値判定方法情報１２６について説明する。アプリケーション別閾値判定方法情報１３８は、アプリケーションの各バージョン等に対応する閾値判定方法を管理するテーブルである。また、アプリケーション別閾値判定方法情報１２６は、閾値判定部１１２が、閾値判定処理を実施し、データ正常性を保証できるか否かを判定するために使用される。具体的には、実施するアプリケーションのアプリケーション名およびアプリケーションバージョンに対応する更新判定方法に基づいて、データの正常性を判定する。また、アプリケーション別閾値判定方法情報１２６には、更新判定処理において、特定の更新方法を優先的に選択することを可能とするための優先順位を含む。この優先順位は、分断障害時のアプリケーションの可用性を向上させたり、アプリケーションの実行時間を短縮させたりする効果が高いものを優先的に選択できるように設定される。なお、アプリケーション別閾値判定方法情報１２６は、管理者端末１４７を介して管理者により作成され、管理計算機１３３の閾値情報伝播管理部１４０から計算機１０１に送信される。また、アプリケーション別閾値判定方法情報１２６は、適切な方法で管理計算機１３３に自動作成するようにしてもよい。
【００７６】
図１１に示すように、アプリケーション別閾値判定方法情報１２６は、番号欄１１０１、アプリケーション名欄１１０２、アプリケーションバージョン欄１１０３、優先順位欄１１０４、クラスタ状態欄１１０５、閾値判定方法欄１１０６及び更新方法名欄１１０７から構成される。
【００７７】
番号欄１１０１には、アプリケーション別閾値判定方法を管理するための番号が格納される。アプリケーション名欄１１０２には、アプリケーションの名称が格納される。アプリケーションバージョン欄１１０３には、アプリケーションのバージョンを示す情報が格納される。優先順位欄１１０４には、閾値判定処理における優先順位の情報が格納され、優先順位欄に格納された数値が小さいほど、対応するアプリケーションが優先的に処理されることを意味する。クラスタ状態欄１１０５には、閾値判定処理の判定条件となるクラスタ状態の情報が格納される。
【００７８】
閾値判定方法欄１１０６には、閾値を判定するための評価式が格納される。当該評価式に所定の数値を代入することにより、真偽値を導き出すことができる。閾値判定方法により導き出された真偽値は、後述する更新方法を適用可能かを示す値である。また、閾値判定方法に代入する数値は、閾値判定部１１２が参照可能なデータとしてメモリ１０３上に格納されている値である。すなわち、閾値情報１３７に含まれる数値や、ユーザリクエスト１４５に含まれるアプリケーション入力値などを示す。更新方法名欄１１０７には、閾値判定処理の結果選択される更新方法の情報が格納される。具体的に、更新方法名欄１１０７には、「非ロック」または「ロック」が格納され、「非ロック」はデータをロックすることなく更新処理を実施することを示し、「ロック」はデータをロックして更新処理を実施することを示す。
【００７９】
具体的に、アプリケーション別閾値判定方法情報１２６の行１１０８及び行１１０９を例示して説明する。図１１では、例えば、番号「１」で管理される閾値判定方法は、アプリケーション名が「Ａ在庫管理」であり、アプリケーションバージョンが「２」であり、優先順位が「１」である。閾値判定処理において、優先順位の値が小さいほうが優先的に処理される行であるため、クラスタ状態が「分断障害時」の場合に、番号「１」の閾値判定方法１１０６「(入力値)<(a2)*(平均入力値)」が優先的に評価される。評価式に入力値や閾値（a2）や平均入力値などの所定の値を代入して、当該数式の真偽を評価する。
【００８０】
番号「１」で管理される閾値判定方法の評価の結果、真偽値が「真」であった場合には、更新方法名「非ロック１」に対応する更新方法が採用される。また、番号「２」で管理される閾値判定方法は、アプリケーション名が「Ａ在庫管理」であり、アプリケーションバージョンが「２」であり、優先順位は「２」であり、クラスタ状態が「Default」の場合に、閾値判定方法は「true」であり、更新方法名は「ロック」である。これは、クラスタ状態が「分断障害時」ではない場合、すなわち、正常な状態である場合には、常にデータをロックして更新処理することを意味する。
【００８１】
このように、アプリケーション別閾値判定方法情報１２６において、優先順位１１０４の値に小さい値を設定しておくことにより、ユーザリクエスト１４５に対応するアプリケーションを実行してデータを更新する際に、分断障害時のアプリケーション可用性向上やアプリケーションの実行時間短縮の効果が高い更新方法を選択することが可能となる。
【００８２】
次に、図１２を参照して閾値情報１２７に含まれる閾値バージョン２０５について説明する。閾値バージョン２０５は、閾値のバージョンを示す情報であって、閾値バージョン２０５に格納されている閾値のバージョンがインクリメントされたタイミングで閾値に関する情報が伝播される。
【００８３】
次に閾値情報１２７の閾値テーブル２０６について説明する。閾値テーブル２０６は、アプリケーション１０８に対応する閾値を管理するテーブルである。
【００８４】
図１３に示すように、閾値テーブル２０６は、番号欄１３０１、閾値名欄１３０２、ユーザ名欄１３０３、計算機名欄１３０４、閾値欄１３０５及び閾値差分欄１３０６から構成される。
【００８５】
番号欄１３０１には、閾値名、ユーザ名および計算機名の組み合わせを一意に識別する番号が格納される。閾値名欄１３０２には、閾値判定方法で使用される閾値を特定する名称が格納される。ユーザ名欄１３０３には、ユーザを識別する名称が格納される。計算機名欄１３０４には、計算機１０１を識別する名称が格納される。閾値欄１３０５には、閾値名欄１３０２に格納される閾値名、ユーザ名欄１３０３に格納されるユーザ名、計算機名欄１３０４に格納される計算機名の組み合わせに対して設定される閾値であって、閾値判定処理に使用される閾値が格納される。閾値差分欄１３０６には、閾値が更新された場合に、更新前後の閾値の値の差分の値が格納される。
【００８６】
具体的に、閾値テーブル２０６の行１３０７、行１３０８及び行１３０９を例示して説明する。図１３では、例えば、番号「１」で管理される閾値は、閾値名「ａ１」の閾値であり、ユーザ名「Ｕｓｅｒ１」が、計算機名「ＤＣ１」を使用する場合に設定される閾値は「０．３」、前回の閾値との差分は「０．１」であることがわかる。また、番号「２」で管理される閾値は、閾値名「ａ１」の閾値であり、ユーザ名「Ｕｓｅｒ１」が、計算機名「ＤＣ２」を使用する場合に設定される閾値は「０．５」、前回の閾値との差分は「０」であることがわかる。また、番号「３」で管理される閾値は、閾値名「ａ１」の閾値であり、ユーザ名「Ｕｓｅｒ１」が、計算機名「ＤＣ３」を使用する場合に設定される閾値は「０．２」、前回の閾値との差分は「−０．１」であることがわかる。このように、ユーザが計算機ＤＣ１〜ＤＣ３を使用する場合に、ユーザが使用する計算機毎に閾値が設定される。
【００８７】
次に、管理計算機１３３のメモリ１３６に格納されているユーザ固有情報１３７に含まれるユーザ処理実績情報３０２について説明する。
【００８８】
図１４に示すように、ユーザ処理実績情報３０２は、番号欄１４０１、ユーザ名欄１４０２、計算機名欄１４０３、アプリケーション名欄１４０４、処理回数欄１４０５、合計処理回数１４０６及び入力値平均欄１４０７から構成される。
【００８９】
番号欄１４０１には、ユーザ処理実績を識別する番号が格納される。ユーザ名欄１４０２には、ユーザ処理実績の対象となるユーザを識別する名称が格納される。計算機名欄１４０３には、ユーザ処理実績の対象となるユーザが使用した計算機を識別する名称が格納される。アプリケーション名欄１４０４には、ユーザ処理実績の対象となるユーザが使用したアプリケーションを識別する名称が格納される。処理回数欄１４０５には、ユーザ処理実績の対象となるユーザが計算機名欄１４０３に格納されている計算機を使用してアプリケーション名欄１４０４に格納されているアプリケーションを実行した回数が格納される。合計処理回数１４０６には、ユーザがアプリケーションを実行した合計回数が格納される。入力値平均欄１４０７には、アプリケーションを実行した際に入力した値の平均値が格納される。
【００９０】
具体的に、ユーザ処理実績情報３０２の行１４０８及び行１４０９を例示して説明する。図１４では、例えば、番号「１」で管理されるユーザ処理実績は、ユーザ名が「Ｕｓｅｒ１」のユーザにより、計算機「ＤＣ１」を使用してアプリケーション名「Ａ在庫管理」が実行された処理回数が「３」回であり、合計処理回数が「５」回であり、アプリケーション名「Ａ在庫管理」の平均入力値が「１０」であることがわかる。また、番号「２」で管理されるユーザ処理実績は、ユーザ名が「Ｕｓｅｒ１」のユーザにより、計算機「ＤＣ２」を使用してアプリケーション名「Ａ在庫管理」が実行された処理回数が「２」回であり、合計処理回数が「５」回であり、アプリケーション名「Ａ在庫管理」の平均入力値が「１０」であることがわかる。
【００９１】
次に、計算機１０１のメモリ１０３に格納されている計算機固有情報１２５に含まれる局所ユーザ処理実績情報２０３について説明する。ユーザ処理実績情報３０２は、複数の局所ユーザ処理実績情報２０３に格納された情報を結合することにより作成される。図１５に示すように、局所ユーザ処理実績情報２０３は、番号欄１５０１、ユーザ名欄１５０２、計算機欄１５０３、アプリケーション名欄１５０４、処理回数欄１５０５及び平均入力値欄１５０６から構成される。
【００９２】
番号欄１５０１には、局所ユーザ処理実績を識別する番号が格納される。ユーザ名欄１５０２には、ユーザ処理実績の対象となるユーザを識別する名称が格納される。計算機欄１５０３には、ユーザ処理実績の対象となるユーザが使用した計算機を識別する名称が格納される。アプリケーション名欄１５０４には、ユーザ処理実績の対象となるユーザが使用したアプリケーションを識別する名称が格納される。処理回数欄１５０５には、ユーザ処理実績の対象となるユーザが計算機名欄１５０３に格納されている計算機を使用してアプリケーション名欄１５０４に格納されているアプリケーションを実行した回数が格納される。平均入力値欄１５０６には、アプリケーションを実行した際に入力した値の平均値が格納される。
【００９３】
具体的に、局所ユーザ処理実績情報２０３の行１５０７及び行１５０８を例示して説明する。図１５では、例えば、番号「１」で管理される局所ユーザ処理実績は、ユーザ名が「Ｕｓｅｒ１」のユーザにより、計算機「ＤＣ１」を使用してアプリケーション名「Ａ在庫管理」が実行された処理回数が「１」回であり、アプリケーション名「Ａ在庫管理」の平均入力値が「１０」であることがわかる。また、番号「２」で管理される局所ユーザ処理実績は、ユーザ名が「Ｕｓｅｒ２」のユーザにより、計算機「ＤＣ１」を使用してアプリケーション名「Ｃ充電量管理」が実行された処理回数が「３」回であり、アプリケーション名「Ｃ充電量管理」の平均入力値が「３０」であることがわかる。
【００９４】
次に、計算機１０１のメモリ１０３に格納されているクラスタ状態情報２０２について説明する。クラスタとは、１つ以上の計算機１０１の集合である。特に、クラスタ内の計算機のデータ格納部１３１が同一のデータを持つ場合に、データを更新する際に通信が必要な計算機を集合体として扱うためのものである。クラスタ状態とは、計算機１０１自身の状態またはクラスタを構成する計算機１０１の通信障害等の状態を示し、計算機１０１が正常な状態と同様の処理が出来ない状態などを示す。
【００９５】
図１６に示すように、クラスタ状態情報２０２は、番号欄１６０１及びクラスタ状態欄１６０３から構成される。
【００９６】
番号欄１６０１には、クラスタ状態を管理するための番号が格納される。クラスタ名欄１６０２には、クラスタを識別する名称が格納される。クラスタ状態欄１６０３には、クラスタの状態を示す情報が格納される。
【００９７】
具体的に、クラスタ状態情報２０２の行１６０４及び行１６０５を例示して説明する。図１６では、例えば、番号が「１」で管理されるクラスタ状態は、クラスタ名が「Ｃ１」でのクラスタ状態が「正常」であることがわかる。また、番号が「２」で管理されるクラスタ状態は、クラスタ名が「Ｃ２」のクラスタ状態が「分断障害」であることがわかる。
【００９８】
次に、計算機１０１のメモリ１０３に格納されている計算機固有情報１２５に含まれる計算機位置情報２０４について説明する。計算機位置情報２０４は、計算機１０１の物理的な位置や、計算機１０１の接続関係から導き出される論理的な位置を示す情報である。図１７に示すように、計算機位置情報２０４は、計算機名欄１７０１、座標１欄１７０２、座標２欄１７０３及び座標３欄１７０４から構成される。
【００９９】
計算機名欄１７０１には、計算機１０１を識別する名称が格納される。座標１欄１７０２及び座標２欄１７０３には、計算機１０１が位置する緯度経度を示す情報が格納される。また、座標３欄１７０４には、計算機１０１に接続される管理計算機１３３等との接続関係から導き出される論理的な位置を示す情報が格納される。
【０１００】
具体的に、計算機位置情報２０４の行１７０５を例示して説明する。図１７では、例えば、計算機名「ＤＣ１」の緯度経度は「３５．００、１３５．００」であり、論理的な位置情報は「１０」であることがわかる。
【０１０１】
次に、計算機１０１のメモリ１０３に格納されている閾値情報１２７に含まれる伝播情報２０８について説明する。伝播情報２０８は、管理計算機１３３により伝播される閾値情報１２７の伝播情報や伝播条件を示す情報である。図１８に示すように、伝播情報２０８は、計算機名欄１８０１、依存計算機欄１８０２、閾値バージョン欄１８０３及び伝播時刻欄１８０４から構成される。
【０１０２】
計算機名欄１８０１には、計算機１０１を識別する名称が格納される。依存計算機欄１８０２には、計算機名欄１８０１に格納された計算機名に対応する計算機１０１に閾値情報１２７を送信する際に、該閾値情報１２７の送信が完了されていることが条件となる計算機１０１を示す情報が格納される。閾値バージョン欄１８０３には、伝播対象の閾値情報１２７のバージョン情報が格納される。伝播時刻欄１８０４には、最新の閾値情報１２７送信時刻が格納される。
【０１０３】
具体的に、伝播情報２０８の行１８０５及び行１８０６を例示して説明する。図１８では、例えば、計算機「ＤＣ１」に閾値情報１２７を送信する際には、計算機「ＤＣ３」への閾値情報１３７の送信が完了されている必要があり、伝播すべき閾値情報１２７の閾値バージョンは「２」であり、伝播時刻は「xx/yy/zz 13:00:00」であることがわかる。また、計算機「ＤＣ２」に閾値情報１２７を送信する際には、閾値情報１３７を送信する際の依存計算機はなく、伝播すべき閾値情報１２７の閾値バージョンは「２」であり、伝播時刻は「xx/yy/zz 13:00:00」であることがわかる。
【０１０４】
次に、管理計算機１３３のメモリ１３６に格納されている閾値計算方法情報１４３について説明する。閾値計算方法情報１４３は、各閾値を導出するための計算方法を示す。図１９に示すように、閾値計算方法情報１４３は、閾値名欄１９０１及び計算方法欄１９０２から構成される。
【０１０５】
閾値名欄１９０１には、閾値を識別する名称が格納される。計算方法欄１９０２には、各閾値を算出するための計算方法が格納される。
【０１０６】
具体的に、閾値計算方法情報１４３の行１９０３及び行１９０４を例示して説明する。図１９では、例えば、閾値「ａ１」は、「（処理回数）/（合計処理回数）」により算出される。また、閾値「ａ２」は、「ｍｉｎ（在庫数）」が閾値である。すなわち、在庫数の最小値が閾値「ａ２」の値として算出される。
【０１０７】
次に、計算機１０１のメモリ１０３に格納されている更新方法別処理スクリプト情報１２９について説明する。図２０に示すように、更新方法別処理スクリプト情報１２９は、データの更新方法に対応する処理スクリプトの起動方法を示す情報である。更新方法別処理スクリプト情報１２９は、更新実行部１１４により参照されて、処理スクリプト１１７が軌道される。図２０に示すように、更新方法別処理スクリプト情報１２９は、更新方法名欄２００１、処理スクリプト名書式欄２００２、クラスタ状態欄２００３及び更新結果欄２００４から構成される。
【０１０８】
更新方法名欄２００１には、データの更新方法の名称が格納される。処理スクリプト名書式欄２００２には、更新方法名欄２００１に格納された更新方法を実現するための処理スクリプト１１７の起動方法が格納される。クラスタ状態欄２００３には、クラスタの状態を示す情報が格納される。更新結果欄２００４には、更新結果を示す情報が格納される。
【０１０９】
具体的に、更新方法別処理スクリプト情報１２９の行２００５及び行２００７を例示して説明する。図２０では、更新方法が「ロック」の場合には、処理スクリプト「http://db/sync/(テ゛ータヘ゛ース名)/(キー)/(値)」が起動されることがわかる。また、更新方法が「非ロック１」の場合には、処理スクリプト「http://db/async1/ (テ゛ータヘ゛ース名)/(キー)/(値)」が起動されることがわかる。
【０１１０】
次に、計算機１０１のメモリ１０３に格納されている選択済み更新方法情報１２８について説明する。図２１に示すように、選択済み更新方法情報１２８には、選択された更新方法を示す情報が格納される。図２１では、更新方法として「非ロック１」が選択されたことがわかる。
【０１１１】
次に、計算機１０１のメモリ１０３に格納されている閾値合成方法情報２０７について説明する。閾値合成方法情報２０７は、後述する閾値検索処理において、計算機１０１間で送受信される閾値情報に含まれる閾値を合成し新たな閾値を取得する閾値合成処理の方法を示す情報であり、閾値検索部１１１が閾値合成処理を実行する際に使用される情報である。
【０１１２】
図２２に示すように、閾値合成方法情報２０７は、閾値名欄２２０１及び閾値合成方法名欄２２０２から構成される。閾値名欄２２０１には、閾値を識別する名称が格納される。閾値合成方法名欄２２０２には、閾値合成処理の方法を示す情報が格納される。
【０１１３】
具体的に、閾値合成方法情報２０７の行２２０３及び行２２０４を例示して説明する。図２２では、閾値が「ａ１」の場合の閾値合成方法は「総和型」であり、閾値が「ａ２」の場合の閾値合成方法は「最大値型」であることがわかる。
【０１１４】
次に、計算機１０１のメモリ１０３に格納されているマージリクエストキュー１３２に格納されるマージリクエストついて説明する。マージリクエストには、データの更新処理の実行後に、マージ実行部１１９に実行させる処理方法が含まれる。図２３に示すように、マージリクエストキュー１３２に含まれるマージリクエスト２３００は、ＤＢ名欄２３０１、キー欄２３０２、更新前値欄２３０３、更新後値欄２３０４及びマージ処理名欄２３０５から構成される。
【０１１５】
ＤＢ名欄２３０１には、データ格納部１３１を識別する情報が格納される。キー欄２３０２には、データ格納部１３１内のデータを識別するキーが格納される。更新前値欄２３０３には、指定されたデータの更新を処理する前の値が格納される。更新後値欄２３０４には、指定されたデータの更新を処理した後の値が格納される。マージ処理名欄２３０５には、指定されたデータをマージする際のマージ方法の情報が格納される。
【０１１６】
具体的に、マージリクエスト２３００の行２３０６を例示して説明する。図２３では、ＤＢ名「ＤＢ１」のキー「在庫数/Package1/Warehouse1」に対応するデータの更新前の値が「２００」であり、更新後の値が「１９０」であり、マージ処理する場合には更新値を総和してマージする「総和型マージ」処理が行われることがわかる。
【０１１７】
次に、計算機１０１のメモリ１０３に格納されているマージ方法別処理スクリプト情報１３０について説明する。マージ方法別処理スクリプト情報１３０は、１つ以上のマージ処理に対して、マージ実行部１１９がマージ処理を実行する際に参照され、マージ実行部１１９が処理スクリプト１１７を起動する方法を示す情報が格納される。図２４に示すように、マージ方法別処理スクリプト情報１３０は、図２４に示すように、マージ処理名欄２４０１及び処理スクリプト名書式欄２４０２から構成される。
【０１１８】
マージ処理名欄２４０１には、マージ処理方法を識別する名称が格納される。処理スクリプト名書式欄２４０２には、マージ処理名に対応するマージ処理を実行する際の処理スクリプト１１７の起動方法が格納される。
【０１１９】
具体的に、マージ方法別処理スクリプト情報１３０の行２４０３及び行２４０４を例示して説明する。図２４では、マージ処理名が「三方マージ」の場合の処理スクリプト１１７の起動方法は「http://merge/threeway//(テ゛ータヘ゛ース名)/(キー)/(更新前値)/(更新後値)」である。また、マージ処理名が「上書きマージ」の場合の処理スクリプト１１７の起動方法は「http://merge/override/ (テ゛ータヘ゛ース名)/(キー)/(更新後値)」であることがわかる。
【０１２０】
次に、計算機１０１のメモリ１０３に格納されている計算機固有情報１２５に含まれるクラスタ内計算機状態情報２０９について説明する。クラスタ内計算機状態情報２０９は、クラスタに含まれる計算機の状態を示す情報である。クラスタ内計算機状態は、計算機自身または計算機を接続するネットワークの障害により、クラスタ内に含まれる任意の２つの計算機の間の接続が正常または異常である状態を示す。図２５に示すように、クラスタ内計算機状態情報２０９は、計算機名欄４８０１、ＤＣ１欄４８０２、ＤＣ２欄４８０３、ＤＣ３欄４８０４及びクラスタ名欄４８０８から構成される。
【０１２１】
計算機名欄４８０１には、クラスタに含まれる計算機１０１の名称が格納される。ＤＣ１欄４８０２、ＤＣ２欄４８０３及びＤＣ３欄４８０４には、それぞれ、接続される１０１との接続状態の情報が格納される。クラスタ名欄４８０８には、クラスタを識別する名称が格納される。
【０１２２】
具体的に、クラスタ内計算機状態情報２０９の行４８０５〜行４８０７を例示して説明する。図２５では、クラスタ名「Ｃ１」に含まれる計算機１０１は、「ＤＣ１」、「ＤＣ２」及び「ＤＣ３」であり、「ＤＣ１」と「ＤＣ１」とは同一計算機のため、ＤＣ１欄４８０２には同一計算機であることを示す「×」が格納される。また、ＤＣ２欄４８０３には「ＤＣ１」と「ＤＣ２」との接続が「正常」であることを示す情報が格納され、後述する閾値合成処理の実施が可能であることを示す。ＤＣ３欄４８０４には「ＤＣ１」と「ＤＣ３」との接続が「通信不可」の状態であることを示す情報が格納される。また、行４８０６のＤＣ３欄には、「ＤＣ２」と「ＤＣ３」との接続が「通信不可」の状態であることを示す情報が格納される。
【０１２３】
（１−４）データ更新処理
次に、本実施の形態における情報処理方法の実行手順について図２６〜図４１を参照して説明する。以下に説明する情報処理方法に対応する各機能部は、計算機１０１がメモリ１０３から読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【０１２４】
本実施の形態では、ユーザ端末１０５からのユーザリクエスト１４５を受信して、計算機１０１がメモリ１０３に格納されたアプリケーション１０８を実行して更新リクエスト１４６を更新実行部１１４に送信する。そして、更新実行部１１４は、予め選択された所定の更新方法に応じてデータ格納部１３１のデータを更新する。このとき、計算機１０１は、ユーザリクエスト１４５に含まれる情報をもとにアプリケーション１０８を実行するだけでなく、ユーザリクエスト１４５および所定の閾値情報を用いて、データ正常性が保証できる更新方法のうち、可用性及び処理時間短縮効果が得られる更新方法を選択する。
【０１２５】
まず、本実施の形態にかかる更新方法選択処理の全体処理について説明する。更新方法選択処理において、計算機１０１及び管理計算機１３３が実行する全体処理は、アプリケーション実行及びデータ更新処理シーケンス(Ｓ１)、閾値合成処理シーケンス(Ｓ２)、マージ処理シーケンス(Ｓ３)、ユーザ処理実績作成処理シーケンス(Ｓ４)及び閾値テーブル作成および伝播処理シーケンス(Ｓ５)の５つの処理シーケンスからなる。計算機１０１は、ユーザ端末１０５からのユーザリクエスト１４５を受信した時点と、マージ処理の周期になった時点と、閾値テーブル２０６作成周期になった時点の３つの時点で上記した５つのシーケンスを必要に応じて実行する。
【０１２６】
図２６に示すように、まず、計算機１０１は、ユーザ端末１０５からユーザリクエスト１４５を受信する（２５０１）。ステップ２５０１では、計算機１０１上の複数のＣＰＵ１０２を用いて複数のスレッドまたはプロセスとして実行し、複数のユーザリクエスト１４５を同時に受信してもよい。また、ステップ２５０１では、複数の計算機１０１上で別のプロセスとして実行され、複数のユーザリクエスト１４５を同時に受信してもよい。
【０１２７】
次に、ステップ２５０１において受信したユーザ端末１０５からのユーザリクエストに応じて、計算機１０１のアプリケーション制御部１０６、更新方法選択部１１０、更新実行部１１４がアプリケーションの実行およびデータ更新処理シーケンス（Ｓ１）を実施する（Ｓ２５０２）。ステップ２５０１では、必要に応じて、一の計算機１０１と他の計算機１０１の閾値検索部１１１が閾値合成処理シーケンス（Ｓ２）を実行する。ステップ２５０１は、ステップ２５０１と同様に複数スレッドまたは複数プロセスの形態で実行してもよい。また、ステップ２５０２は、ステップ２５０１と同様に複数計算機上で実行してもよい。
【０１２８】
次に、計算機１０１は、マージ処理のタイミングかを判定する（２５０３）。ステップ２５０３において、マージ処理のタイミングであった場合には、マージ実行部１１９が、マージリクエストキュー１３２を参照して、マージ処理シーケンス（Ｓ３）を実施する（２５０４）。また、ステップ２５０３において、マージ処理のタイミングではない場合には、ステップ２５０５以降の処理を実行する。
【０１２９】
ステップ２５０５において、計算機１０１及び管理計算機１３３は、閾値テーブル２０６の作成周期であるかを判定する（２５０５）。ステップ２５０５において、閾値テーブル２０６の作成周期であると判定された場合には、計算機１０１の処理実績収集部１２３及び管理計算機１３３の閾値テーブル作成部１３９は、局所ユーザ処理実績情報収集及びユーザ処理実績作成処理シーケンス（Ｓ４）を実施する（２５０６）。
【０１３０】
そして、管理計算機１３３の閾値テーブル作成部１３９、閾値情報伝播管理部１４０、計算機１０１の更新方法選択部１１０が閾値テーブル２０６の作成および伝播処理シーケンス（Ｓ５）を実施して（２５０７）、処理を終了する。
【０１３１】
一方、ステップ２５０５において、閾値テーブル２０６の作成周期ではないと判定された場合には、処理を終了する。
【０１３２】
次に図２７を参照して、アプリケーション実行処理及びデータ更新処理シーケンス（Ｓ１）について説明する。当該処理は、計算機１０１がユーザ端末１０５からのユーザリクエスト１４５を受信したタイミングで実行される処理であり、アプリケーション１０８の実行及びアプリケーションを実行することにより派生するデータ更新処理も含む。以下では、更新方法選択部１１０が更新方法選択処理（Ｐ２）において閾値に基づく更新方法の選択を実施し、更新実行部１６０５が選択された結果を用いて更新処理（Ｐ３）を実行するシーケンスについて説明する。
【０１３３】
図２７に示すように、まず、ユーザ端末１０５は、ユーザリクエスト１４５を計算機１０１のアプリケーション制御部１０６に送信する（２６０７）。そして、アプリケーション制御部１０６は、データ更新可否取得インタフェースを更新方法選択部１１０に送信する（２６０８）。次に、アプリケーション制御部１０６は、アプリケーションを実行（Ｐ１）する（２６０９）。次に、更新方法選択部１１０は、参照リクエストを参照実行部１４９へ送信する。
【０１３４】
次に、参照実行部１４９は、参照リクエストに対応する参照結果を更新方法選択部１１０へ送信する。次に、更新方法選択部１１０は、更新方法選択処理（Ｐ２）を実行する（２６１２）。次に、更新方法選択部１１０は、更新方法選択結果通知を更新実行部１１４へ送信する。次に、アプリケーション制御部１０６は、更新インタフェースを更新実行部１１４へ送信する。次に、更新実行部１１４は、更新処理（Ｐ３）を実行する（２６１５）。次に、更新実行部１１４は、マージリクエストをマージリクエストキュー１３２へ送信する。次に、更新実行部１１４は、更新結果をアプリケーション制御部１０６へ送信する。最後に、アプリケーション制御部１０６は、アプリケーションを終了する処理を実行する（２６１８）。
【０１３５】
次に、図２８を参照して、アプリケーション実行処理（Ｐ１）について説明する。アプリケーション実行処理（Ｐ１）は、計算機１０１のアプリケーション制御部１０６により実行される処理である。アプリケーション制御部１０６は、ユーザ端末１０５からのユーザリクエスト１４５に応じてアプリケーション１０８を実行するとともに、アプリケーション１０８への入力を利用し予め更新方法選択処理（Ｐ２）を実行する。これにより、アプリケーション１０８が更新実行部１１４に対してデータ更新を要求する際には、予め選択した更新方法を利用することができる。
【０１３６】
図２８に示すように、アプリケーション制御部１０６は、ユーザ端末１０５からユーザリクエスト１４５を取得する（２７０１）。
【０１３７】
そして、アプリケーション制御部１０６のリクエストパース部１０９は、ユーザリクエスト１４５からユーザ名、アプリケーション名およびアプリケーション入力値を取得する（２７０２）。そして、リクエストパース部１０９は、ステップ２７０２において取得したユーザ名、アプリケーション名およびアプリケーション入力値を更新方法選択部１１０の更新方法取得インタフェース１１３に送信し、更新方法選択部１１０に更新方法選択処理（Ｐ２）を実施させる（２７０３）。
【０１３８】
そして、アプリケーション制御部１０６は、アプリケーション名に合致するアプリケーション１０８を実行する（２７０４）。ステップ２７０４は、ステップ２７０３の終了を待たずにステップ２７０２の直後に実施し、ステップ２７０２とステップ２７０３とを同時に実行してもよい。例えば、計算機１０１上でステップ更新方法選択処理（Ｐ２）を実行するプロセスとアプリケーション１０８を実行するプロセスを同時に実行しておき、リクエストパース部１０９が２つのプロセスを同時に実行させてもよい。
【０１３９】
そして、アプリケーション１０８は、更新リクエスト１４６を作成し、更新実行部１１４の更新インタフェース１１５に送信する（２７０５）。
【０１４０】
上記したアプリケーション実行処理（Ｐ１）により、リクエストパース部１０９が更新方法選択処理（Ｐ２）に必要な情報であるユーザ名、アプリケーション名およびアプリケーション入力値をユーザリクエスト１４５から取得し、更新方法選択処理（Ｐ２）に引き渡す。この処理は、アプリケーション１０８の実行とは別に実施するようにしてもよい。これにより、更新方法選択処理（Ｐ２）に必要な情報とそれを引き渡すタイミングを知る必要なく、アプリケーション１０８を実装することができる。
【０１４１】
また、図示していない他の計算機において、更新方法選択処理（Ｐ２）を実行できない場合でも、更新インタフェース１１５を受信することが出来れば、アプリケーション１０８を改変することなく実行させることが可能となる。これにより、計算機間でのアプリケーション１０８の移行が可能となる。具体的に、他の計算機で実行可能な更新インタフェース１１５としては、ＳＱＬなどの汎用的なクエリがあり、ＳＱＬに対応したデータベースソフトウェアを実行している計算機ではアプリケーション１０８を実行することもできる。
【０１４２】
次に、図２９を参照して、更新方法選択処理（Ｐ２）について説明する。更新方法選択処理（Ｐ２）は、更新方法選択部１１０により実行され、当該処理により後述する更新実行部１１４における更新処理に使用する選択済み更新方法情報１２８を取得することができる。更新方法選択部１１０が備える閾値検索部１１１および閾値判定部１１２は、それぞれ閾値情報１２７からの閾値の検索と、当該閾値を利用して優先順位に従い更新方法選択処理を実行して、最終結果として選択済み更新方法情報１２８を取得する。
【０１４３】
閾値とは、アプリケーション毎に決められたデータ正常性が保証できる境界を意味する。また、閾値判定方法は、特定アプリケーションで特定更新方法を用いてデータの更新を実施したときにデータ正常性が保証できる範囲内であることが確認できた場合に、当該更新方法を用いるように選択する判定処理を意味する。さらに、優先順位は、データ正常性が保証される更新方法が複数ある場合に、複数の更新方法のうちアプリケーション可用性向上効果もしくはアプリケーション実行時間短縮効果が高いものを先に検索することを意味する。
【０１４４】
図２９に示すように、まず、更新方法選択部１１０は、更新方法取得インタフェース１１３によりユーザ名、アプリケーション名、アプリケーション入力値を取得する（２８０１）。
【０１４５】
そして、閾値判定部１１２は、アプリケーション別閾値判定方法情報１２６を参照して、アプリケーション名が含まれる行を、検索対象閾値判定リストLthに格納する（２８０２）。そして、閾値判定部１１２は、検索対象閾値判定リストLthを優先順位でソートする（２８０３）。
【０１４６】
そして、閾値判定部１１２は、検索対象閾値判定リストLthに行があるか判定する（２８０４）。ステップ２８０４において、検索対象閾値判定リストLthに行があると判定された場合には、閾値判定部１１２は、ステップ２８０５以降の処理を実行する。一方、ステップ２８０４において、検索対象閾値判定リストLthに行がないと判定された場合には、閾値判定部１１２は、ステップ２８１５以降の処理を実行する。
【０１４７】
ステップ２８０５において、閾値判定部１１２は、検索対象閾値判定リストLthの先頭行のクラスタ状態欄１１０５の情報をメモリに記憶する。そして、閾値判定部１１２は、計算機固有情報１２５のクラスタ状態と一致するかを判定する（２８０６）。ステップ２８０６において、計算機固有情報１２５のクラスタ状態と一致する場合は、ステップ２８０７以降の処理を実行する。一方、ステップ２８０６において、計算機固有情報１２５のクラスタ状態と一致しない場合は、ステップ２８０４へ戻る。
【０１４８】
ステップ２８０７において、閾値判定部１１２は、該当行の閾値判定方法１１０６に記載された閾値名と、ユーザ名、計算機名とを閾値検索部１１１に送信し、閾値検索部１１１が閾値検索処理（Ｐ３）を実施し、閾値判定部１１２に閾値を返す。
【０１４９】
そして、閾値判定部１１２は、アプリケーション別閾値判定方法情報１２６の閾値判定方法に、受信した閾値、アプリケーション入力値、ユーザ名を入力して閾値判定結果を取得する（２８０８）。
【０１５０】
そして、閾値判定部１１２は、閾値判定結果がtrueかを判定する（２８０９）。ステップ２８０９において、閾値判定結果がtrueであると判定された場合には、閾値判定部１１２は、ステップ２８１３以降の処理を実行する。一方、ステップ２８０９において、前記閾値判定結果がtrueではないと判定された場合には、閾値判定部１１２は、ステップ２８１０以降の処理を実行する。
【０１５１】
ステップ２８１０では、閾値合成方法情報２０７に該当する閾値名が含まれるかを判定する。ステップ２８１０において、閾値合成方法情報２０７に該当する閾値名が含まれると判定された場合は、閾値判定部１１２は、ステップ２８１１以降の処理を実行する。一方、閾値合成方法情報２０７に該当する閾値名が含まれていないと判定された場合には、閾値判定部１１２は、ステップ２８１４以降の処理を実行する。
【０１５２】
ステップ２８１１では、閾値検索部１１１は、閾値判定部１１２から閾値合成処理シーケンスに必要なユーザ名、計算機名および閾値名を送信されると、閾値合成処理シーケンス（Ｓ２）を実施して閾値を取得し、閾値判定部１１２に送信する。
【０１５３】
そして、閾値判定部１１２は、ステップ２８１１で取得した閾値を用いて、再度取得した閾値判定結果がtrueかを判定する（２８１２）。ステップ２８１２において、閾値判定結果がtrueである場合には、閾値判定部１１２は、ステップ２８１３以降の処理を実行する。一方、ステップ２８１２において、閾値判定結果がtrueではないと判定された場合には、閾値判定部１１２は、ステップ２８１４以降の処理を実行する。
【０１５４】
また、ステップ２８１３では、更新方法選択部１１０は、該当行の更新方法名をメモリ上の選択済み更新方法情報１２８に格納する。
【０１５５】
また、ステップ２８１４では、閾値判定部１１２は、検索対象閾値判定リストLthから先頭行を削除する。次いで、閾値判定部１１２は、デフォルトを選択済み更新方法情報に格納する（ステップ２８１５）。
【０１５６】
上記した更新方法選択処理（Ｐ２）により、閾値判定部１１２が更新方法の選択に必要な閾値を特定し、閾値検索部１１１が特定した閾値を閾値情報から検索する。そして、閾値判定部１１２は、閾値、ユーザ名およびアプリケーション入力値を用いて閾値を判定し、その結果更新方法を選択することができる。これにより、データ正常性が保証できる範囲の更新方法を選択することが可能となる。
【０１５７】
次に、図３０を参照して、更新処理（Ｐ３）について説明する。図３０に示すように、更新実行部１１４は、更新インタフェース１１５により更新リクエストを取得する（２９０１）。そして、更新実行部１１４は、メモリ上の選択済み更新方法情報１２８を参照する（２９０２）。
【０１５８】
そして、更新実行部１１４は、更新方法別処理スクリプト情報１２９を参照し、ステップ２９０２で参照した選択済み更新方法情報１２８と同一の更新方法名である行を検索し、処理スクリプト名を取得する（２９０３）。
【０１５９】
そして、ステップ２９０３で取得した処理スクリプト名に対応する処理スクリプト名書式に更新リクエスト１４６に含まれるデータベース名、キー及び値を代入し、処理スクリプト名を取得して更新処理起動部１１６に提供する（２９０４）。
【０１６０】
続いて、更新処理起動部１１６は、ステップ２９０４において提供された処理スクリプト名で指定された処理スクリプト１１７を起動する（２９０５）。
【０１６１】
そして、更新処理起動部１１６は、処理スクリプト１１７の起動により更新された値について、キー、更新前の値、更新後の値をメモリに格納する（２９０６）。そして、処理スクリプト１１７は、処理スクリプトを起動した後、必要となるマージ処理名、キー、更新前値、更新後値をマージリクエスト２６１６に記載し、マージリクエストキュー１３２に送信する（２９０７）。
【０１６２】
次に、図３１を参照して、閾値検索処理（Ｐ４）について説明する。図３１に示すように、閾値検索部１１１は、閾値判定部１１２からユーザ名、データ処理計算機名、閾値名を取得する（３００１）。そして、閾値検索部１１１は、閾値テーブル２０６を参照して、ステップ３００１で取得した閾値名（ａ１）、ユーザ名（Ｕｓｅｒ１）、データ処理計算機名（ＤＣ１）が含まれる行を検索する（３００２）。
【０１６３】
続いて、閾値判定部１１２は、閾値テーブル２０６において該当行が検索できたかを判定する（３００３）。ステップ３００３において、該当行が検索できたと判定された場合には、閾値判定部１１２は、該当行の閾値（０．３）を閾値判定部１１２に送信する（Ｓ３００４）。一方、ステップ３００３において、該当行が検索できなかったと判定された場合には、閾値判定部１１２は、閾値名（ａ１）を含み、ユーザ名（Default）、データ処理計算機名（Default）を含む行の閾値（０）を閾値判定部１１２に送信する。
【０１６４】
次に、図３２〜図３４を参照して、閾値合成処理について説明する。閾値合成処理は、閾値検索部１１１が、閾値検索処理（Ｐ４）を実行中に実行する処理であり、一の計算機１０１の閾値検索部１１１と他の計算機１０１の閾値検索部１１１とが通信することにより実施される。以下では、図３２に示すように、計算機名ＤＣ１の計算機１０１が、計算機名ＤＣ２の計算機とは通信可能でありかつ計算機名ＤＣ３とは通信不可能な状態で、３つの計算機が同一のクラスタに所属している場合に閾値合成処理（Ｐ５）実行するシーケンスについて説明する。
【０１６５】
図３３では、計算機ＤＣ１の閾値検索部１１１と計算機ＤＣ２の閾値検索部１１１とが通信して閾値合成処理（Ｐ５）を実行するシーケンスについて説明する。閾値合成処理（Ｐ５）は、閾値検索処理（Ｐ４）の実行中に、計算機１０１間で閾値を融通し合い、閾値同士を合成する処理である。ここで、融通処理とは、計算機１０１が更新方法選択処理を実行する際に、閾値情報１２７から得られる閾値が小さい場合に、単一の計算機１０１が取得できる閾値のみを利用するよりも、複数の計算機１０１が取得できる閾値を合算してより大きな閾値として一時的に利用し、更新方法選択処理を実行可能とする処理である。本実施の形態では、閾値合成処理（Ｐ５）により、特定ユーザが特定計算機のみを利用でき、その計算機における閾値が小さい場合に、他の計算機と閾値の情報を交換し、一時的に閾値を大きくして可用性向上及び実行時間短縮を図っている。
【０１６６】
図３３に示すように、まず、計算機ＤＣ１の閾値検索部１１１は、計算機ＤＣ２の閾値検索部１１１に融通判定要求を送信する（３２０３）。
【０１６７】
計算機ＤＣ１の閾値検索部１１１から融通判定要求を送信された計算機ＤＣ２の閾値検索部１１１は、融通判定処理を実行する（Ｓ３２０４）。そして、計算機ＤＣ２の閾値検索部１１１は、融通判定処理の結果である融通可否情報を計算機ＤＣ１の閾値検索部１１１に送信する（３２０５）。
【０１６８】
そして、融通可否情報を計算機ＤＣ１から受信した計算機ＤＣ２の閾値検索部１１１は、閾値合成処理（Ｐ５）を実行する（３２０６）。そして、計算機ＤＣ１の閾値検索部１１１は、閾値合成処理（Ｐ５）を実行した結果を示す融通済み通知を計算機ＤＣ２の閾値検索部１１１に送信する（３２０７）。最後に、ＤＣ２の閾値検索部１１１は、融通後閾値更新処理を実行する（３２０８）。
【０１６９】
次に、図３４を参照して、閾値合成処理（Ｐ５）の詳細について説明する。図３４に示すように、閾値検索部１１１は、閾値判定部１１２からユーザ名、データ処理計算機名、閾値名を取得する（３３０１）。そして、閾値検索部１１１は、クラスタ内計算機状態情報２０９から同一クラスタに所属する別の計算機名を検索する（３３０２）。そして、閾値検索部１１１は、ステップ３３０２における検索の結果、該当した計算機のうち正常な計算機に閾値が融通可能かを問い合わせる（３３０３）。
【０１７０】
そして、ステップ３３０３の問い合わせの結果、閾値検索部１１１は、融通可能判定情報を受信したかを判定する（３３０４）。ステップ３３０４において、融通可能判定情報を受信したと判定された場合には、閾値検索部１１１は、ステップ３３０５以降の処理を実行する。一方、ステップ３３０５において、融通可能判定情報を受信していないと判定された場合には、閾値検索部１１１は、閾値合成処理（Ｐ５）を終了する。
【０１７１】
ここで、融通可能判定情報とは、閾値の融通が可能であるかを計算機１０１が判定する処理である。例えば、閾値ａ１について、融通可能かを他の計算機１０１に問い合わせた場合に、該問い合わせを受信した計算機１０１の閾値検索部１１１が、閾値が融通可能かを判定する。具体的に、該計算機１０１における閾値ａ１が０より大きいか、などの判定処理を実行し、融通可能である場合には、融通可能な閾値ａ１の値を融通可能判定情報として返す。
【０１７２】
そして、ステップ３３０５において、閾値検索部１１１は、閾値合成方法情報２０７を参照して、閾値名に該当する行の閾値合成方法名を取得する（３３０５）。そして、閾値検索部１１１は、ステップ３３０５において取得した閾値合成方法に応じた合成処理を実行する（３３０６）。
【０１７３】
ここで、ステップ３３０６において実行される合成処理とは、ステップ３３０４で受信した１つ以上の融通可能判定情報に基づいて実施される。例えば、閾値合成処理を実施する計算機における閾値が０．２であり、受信した融通可能判定情報が「閾値０．３を融通可能」との情報を含み、かつステップ３３０５において取得した閾値合成方法が「総和型」であったとする。この場合、閾値合成方法に示されるとおり、閾値０．２及び閾値０．３の総和を求めることで、合成後の閾値０．５を取得することができる。
【０１７４】
このように、閾値合成処理（Ｐ５）を実行することにより、２つ以上の計算機において、閾値を合成し、単一計算機で使用できる閾値より大きな閾値に基づいて更新方法を選択することが可能となる。これにより、分断障害時のアプリケーション可用性およびアプリケーション実行時間短縮を実現する頻度を高めることができる。
【０１７５】
次に、図３５及び図３６を参照して、マージ処理について説明する。マージ処理は、マージ実行部１１９が実行する処理であり、一の計算機１０１のマージ実行部１１９と他の計算機１０１のマージ実行部１１９とが通信することにより実施される。以下では、計算機ＤＣ１のマージ実行部１１９が計算機ＤＣ２のマージリクエストキュー１３２から情報を取得可能で、２つの計算機が同一のクラスタに所属している場合に、マージ実行処理（Ｐ６）を実行するシーケンスについて説明する。
【０１７６】
図３５に示すように、まず、タイマー１０７は、マージ起動インタフェース１２２をマージ実行部１１９に送信する（３４０５）。ステップ３４０５において、マージ起動インタフェース１２２を受信したマージ実行部１１９は、マージ処理を起動させる（３４０６）。
【０１７７】
ステップ３４０６においてマージ処理が起動されると、計算機ＤＣ１のマージリクエストキュー１３２は、マージ実行部１１９にマージリクエスト取得を要求する（３４０７）。続いて、計算機ＤＣ２のマージリクエストキュー１３２は、マージ実行部１１９にマージリクエスト取得を要求する（３４０８）。その後、マージ実行部１１９は、マージ処理を実行（Ｐ６）する（３４０９）。
【０１７８】
次に、図３６を参照して、マージ実行部１１９によるマージ処理について説明する。マージ処理は、タイマー１０７によりマージ起動インタフェース１２２が呼び出されたタイミングで実行される。マージ処理では、マージ実行部１１９は、更新実行部１１４により生成されたマージリクエスト２６１６に応じた処理が実行される。
【０１７９】
以下では、マージ起動インタフェース１２２は、タイマー１０７により周期的にマージ実行部に対して呼び出す場合を示すが、かかる例に限定されない。例えば、マージ起動インタフェース１２２は、計算機１０１におけるクラスタ状態情報２０２の状態変更に応じて呼び出されるようにしてもよい。クラスタ状態情報２０２の状態変更とは、例えばクラスタに含まれる計算機間の通信が不可能である「分断障害」の状態が、通信経路の回復などにより「正常」に変更される場合などを意味する。クラスタ状態が「分断障害」の状態では、クラスタに含まれる計算機同士が互いに通信しないまま独自にデータを更新し、データ格納部１３１のデータが異なり整合性がない状態となっている可能性がある。クラスタ状態が「分断障害」から「正常」に変更されたタイミングで、計算機間の通信が可能となる。このため、通信が可能となったタイミングで各計算機からマージリクエストを集約し、データに対してマージ処理を実行することで、データ整合性がある状態にする。
【０１８０】
図３６に示すように、マージ実行部１１９は、マージ起動インタフェース１２２を呼び出されたタイミングでマージ処理を開始する（３５０１）。
【０１８１】
そして、マージ実行部１１９は、マージリクエストキュー１３２が空かを判定する（３５０２）。ステップ３５０２において、マージリクエストキュー１３２が空ではない場合には、マージリクエストキュー１３２から先頭マージリクエストを取得し、マージリクエストキュー１３２から先頭マージリクエストを削除する（３５０３）。
【０１８２】
そして、ステップ３５０３において取得したマージリクエストから、マージ処理名１１８を取得し、マージ処理起動部１２０がマージ処理名１１８に該当する処理スクリプト１１７を起動する（３５０４）。
【０１８３】
次に、図３７を参照して、ユーザ処理実績作成処理シーケンス（Ｓ４）について説明する。ユーザ処理実績作成処理は、管理計算機１３３が、局所ユーザ処理実績情報２０３を収集して、ユーザ処理実績情報３０２を作成する処理である、局所ユーザ処理実績情報２０３は、管理計算機１３３に接続された各計算機によって作成されたユーザ処理実績の情報であり、ユーザ処理実績情報３０２は、全ての計算機のユーザ処理実績を集約したものである。
【０１８４】
例えば、ユーザUser1が、計算機ＤＣ１と計算機ＤＣ２を利用した場合に、計算機ＤＣ１及び計算機ＤＣ２にそれぞれ作成された局所ユーザ処理実績情報２０３が作成される。各計算機のユーザ処理実績情報２０３を管理計算機１３３が集約し、一つのユーザ処理実績情報３０２にまとめることで、ユーザUser1が全ての計算機を利用した実績を管理することができる。
【０１８５】
図３７に示すように、タイマー１０７は、タイマーシグナルを管理計算機１３３の閾値テーブル作成部１３９に送信する（３６０４）。ステップ３６０４においてタイマーシグナルを受信した閾値テーブル作成部１３９は、ユーザ処理実績作成処理を開始する（３６０５）。
【０１８６】
閾値テーブル作成部１３９は、各計算機１０１の処理実績収集部１２３から、局所ユーザ処理実績情報２０３を受信する（３６０６）。そして、閾値テーブル作成部１３９は、ステップ３６０６において各計算機１０１から受信した局所ユーザ処理実績情報２０３を集計して、ユーザ処理実績情報３０２を作成する（３６０７）。
【０１８７】
次に、図３８を参照して、閾値テーブル作成及び伝播処理シーケンス（Ｓ５）について説明する。閾値テーブル作成処理は、管理計算機１３３の閾値テーブル作成部１３９により実行され、閾値伝播処理は、閾値情報伝播管理部１４０が実行する処理である。本実施の形態では、閾値テーブル作成部１３９が閾値情報１２７の閾値テーブル２０６を作成する閾値テーブル作成処理（Ｐ７）を実行する。閾値テーブル作成部１３９は、閾値テーブル作成処理により作成された閾値情報１２７を閾値情報伝播管理部３７０２に提供する。そして、閾値情報伝播管理部１４０は、各計算機１０１の更新方法選択部１１０に閾値情報１２７を送信する。
【０１８８】
図３８に示すように、まず、閾値テーブル作成部１３９は閾値テーブル作成処理（Ｐ７）を実行する（３７０４）。そして、閾値テーブル作成部１３９は、閾値テーブル作成処理で作成された閾値情報を閾値情報伝播管理部１４０に送信する（３７０５）。
【０１８９】
そして、閾値情報伝播管理部１４０は、閾値情報伝播処理（Ｐ８）を実行する。そして、閾値情報伝播管理部１４０は、閾値情報を計算機１０１の更新方法選択部１１０に送信する（３７０７）。そして、更新方法選択部１１０は、閾値情報伝播完了を閾値情報伝播管理部１４０へ送信する（３７０８）。
【０１９０】
次に、図３９を参照して、閾値テーブル作成処理（Ｐ７）について説明する。以下では、特に、閾値テーブル作成処理で閾値ａ１を作成する場合について説明する。閾値テーブル作成処理は、管理計算機１３３の閾値テーブル作成部１３９が、閾値テーブル２０６を作成する処理である。閾値テーブル２０６には、ユーザ名と計算機名の組み合わせに対応する閾値が格納される。
【０１９１】
閾値テーブル作成処理（Ｐ７）により、閾値テーブル２０６にユーザ名と計算機名の組み合わせに対応する閾値を設定することができ、特定アプリケーションを実行した場合の更新方法を、計算機１０１に応じて選択することができる。ユーザとデータセンタの相関関係を利用して、特定ユーザに対して相関が大きい計算機に対して大きい閾値を設定することにより、分断障害時のアプリケーションの可用性及びアプリケーションの実行時間短縮の効果を得られる頻度を最大化することが可能となる。
【０１９２】
以下では、閾値テーブル作成処理のうち、閾値名をａ１とし、当該閾値に関連する閾値テーブル２０６の値を更新する処理について説明する。なお、閾値テーブル２０６は、上記したように、１つ以上の閾値を格納することができる。閾値テーブル２０６に複数の閾値を格納する場合には、以下の処理を各閾値に対して繰り返し実行することにより、閾値テーブル２０６全体の作成及び更新を行うことができる。
【０１９３】
図３９に示すように、まず、閾値テーブル作成部１３９は、閾値計算方法情報１４３を参照して、閾値名に対応する計算方法を参照する（３８０１）。例えば、計算方法が（処理回数）／（合計処理回数）である場合には、ユーザ処理実績のうち、特定計算機における処理回数を、計算機全体における処理回数で除算する計算式である。また、ステップ３８０１において、閾値テーブル作成部１３９は、検索対象ユーザ名リストLuを作成し、ユーザ名リスト３０１で初期化する。
【０１９４】
そして、閾値テーブル作成部１３９は、検索対象ユーザ名リストに残りの要素があるかを判定する（３８０２）。ステップ３８０２において、検索対象ユーザ名リストに残りの要素があると判定された場合には、検索対象ユーザ名リストの先頭を該当ユーザ名（User1）とし、検索対象計算機名リストLdcを作成、計算機名リスト２０１で初期化する（３８０３）。一方、ステップ３８０２において、検索対象ユーザ名リストに残値の要素がないと判定された場合には、ステップ３８１２以降の処理を実行する。
【０１９５】
続いて、閾値テーブル作成部１３９は、検索対象計算機名リストLdcに残りの要素があるかを判定する（３８０４）。ステップ３８０４において、検索対象計算機名リストLdcに残りの要素があると判定された場合には、ステップ３８０５以降の処理を実行する。一方、ステップ３８０４において、検索対象計算機名リストLdcに残りの要素がないと判定された場合には、ステップ３８１１以降の処理を実行する。
【０１９６】
ステップ３８０５において、閾値テーブル作成部１３９は、検索対象計算機名リストLdcの先頭を該当計算機名（ＤＣ１）とする。また閾値テーブル作成部１３９は、ユーザ処理実績情報３０２を参照して、該当ユーザ名と該当計算機名が記載された行の処理回数（２）及び合計処理回数（５）を参照する。ステップ３８０１において参照した計算方法に処理回数（２）および合計処理回数（５）を代入して、計算結果を新規の閾値（0.4）として取得する。このとき、相関の大きい計算機に対しては、処理回数の数値が大きくなり、閾値の値も大きくなる。すなわち、閾値計算方法情報１４３に設定された計算方法が、処理回数に応じて閾値を求める計算式であるため、ステップ３８０５における閾値の計算においてユーザと計算機１０１との相関に応じた閾値を算出することができる。
【０１９７】
そして、閾値テーブル作成部１３９は、閾値テーブル２０６の該当閾値名（a1）、該当ユーザ名（User1）、該当計算機名（ＤＣ１）が記載された行を検索する（３８０６）。
【０１９８】
そして、閾値テーブル作成部１３９は、該当行を検索できたかを判定する（３８０７）。ステップ３８０７において、該当行を検索できたと判定された場合には、閾値テーブル作成部１３９は、検索行の閾値（０．３）を取得し、新規に設定する閾値（０．４）との差分を計算して、該当行の閾値差分（０．１）に格納する。また、閾値テーブル作成部１３９は、該当行の閾値に新規に設定する閾値（０．４）を格納する。閾値差分（０．１）は、後述する閾値情報伝播処理で使用する情報である。
【０１９９】
一方、ステップ３８０７において、該当行を検索できなかったと判定された場合には、閾値テーブル作成部１３９は、閾値テーブル２０６に、該当閾値名（ａ１）、該当ユーザ名（User1）、該当計算機名（DC1）、閾値（0.4）を格納するための行を作成する。また、閾値差分１３０６の値は閾値と同値とする。
【０２００】
そして、閾値テーブル作成部１３９は、検索対象計算機名リストLdcから、該当計算機名を削除する（３８１０）。続いて、閾値テーブル作成部１３９は、検索対象ユーザ名リストLuから、該当ユーザ名を削除する（３８１１）。そして、閾値テーブル作成部１３９は、閾値バージョン２０５の値をインクリメントする（３８１２）。
【０２０１】
上記した閾値テーブル作成処理（Ｐ７）により、ユーザと相関の大きい計算機に対して大きい閾値を設定して、分断障害時のアプリケーションの可用性及びアプリケーションの実行時間短縮の効果を得られる頻度を最大化することが可能となる。
【０２０２】
次に、図４０及び４１を参照して、閾値情報伝播処理（P8）について説明する。図４０は、閾値伝播処理の概要を説明する概念図である。図４０に示すように、管理計算機１３３から管理計算機１３３に接続された各計算機１０１ａ、１０１ｂ及び１０１ｃに閾値情報が伝播される。管理計算機１３３は、閾値テーブル２０６を有し、閾値の差分情報を参照して閾値情報１２７を伝播する順番を決定する。
【０２０３】
具体的には、管理計算機１３３の閾値テーブル２０６かでは、計算機ＤＣ１の閾値は０．２から０．４に増加し、閾値差分は０．２であることがわかる。また、計算機ＤＣ２の閾値は０．５から０．３に減少し、閾値差分は−０．２であることがわかる。また、計算機ＤＣ４の閾値は０．３のまま変更していないため、閾値差分は０．０であることがわかる。
【０２０４】
この場合、管理計算機１３３は、閾値が小さいものから送信し閾値差分が負の計算機への送信が完了するまで、閾値差分が正である計算機に送信しない。すなわち、計算機ＤＣ１の送信可否は、計算機ＤＣ２に依存する関係となっている。この依存関係を、伝播情報２０８の依存計算機欄１８０２に格納する。
【０２０５】
閾値情報伝播管理部１４０は、伝播情報２０８を参照して、閾値の伝播対象となる計算機１０１に対して、該計算機１０１の依存計算機への閾値情報１２７の送信が完了したことを確認した後、該計算機１０１への閾値情報１２７の送信を開始する。このように、閾値情報伝播処理において、計算機１０１の依存関係を遵守して閾値情報１２７を送信する。これにより、計算機１０１の閾値伝播中に分断障害が発生し、すべての計算機に対して閾値を送信することができなくなったとしても、一部の計算機１０１に閾値情報１２７を送信した状態で計算機１０１の更新方法選択部１１０がデータ正常性を保証してデータ更新を行うことができる。
【０２０６】
例えば、図４０では、計算機ＤＣ１、計算機ＤＣ２及び計算機ＤＣ３の間で、閾値の合計が１を超えないことによりデータ正常性が保証されるアプリケーションが稼働されているとする。このとき、閾値情報伝播処理において、計算機ＤＣ２への送信が終わったあとに分断障害が発生したとする。本来は、計算機ＤＣ２への閾値情報１２７の送信の後にＤＣ１に閾値情報１２７が送信されるところ、分断障害のため、計算機ＤＣ１へ閾値情報１２７を送信することができない。この場合、計算機ＤＣ１の閾値は０．２のままであり、計算機ＤＣ２の閾値は０．３に更新されており、計算機ＤＣ３の閾値は０．３のままである。すなわちこの状態では、閾値の合計は１を超えていない状態であり、仮にこの状態が継続されても、更新方法選択部１１０において選択される更新方法はデータ正常性を保証することができることとなる。
【０２０７】
閾値情報伝播管理部１４０により実行される閾値情報伝播処理（Ｐ８）は、管理計算機１３３上の閾値情報１２７を１つ以上の計算機１０１の更新方法選択部１１０に送信する処理である。
【０２０８】
図４１に示すように、閾値情報伝播処理（Ｐ８）は、閾値バージョン２０５がインクリメントされたタイミングで起動される（４００１）。閾値情報伝播管理部１４０は、伝播情報２０８の依存計算機及び伝播情報の情報をクリアする（４００２）。
【０２０９】
そして、閾値情報伝播管理部１４０は、閾値テーブル２０６を参照して、閾値差分が負である行の計算機名をＡとし、閾値差分が正である行の計算機名をＢとし、伝播情報２０８内に計算機名Ｂを検索し、該当行の依存計算機に計算機名Ｂを記載する（４００３）。図４０では、計算機名がＤＣ１である計算機の閾値差分は０．１である。また計算機名がＤＣ３である計算機の閾値差分は−０．１である。したがって、計算機ＤＣ１をＢとし、計算機ＤＣ３をＡとし、伝播情報２０８内の計算機ＤＣ１を検索する。その結果、図１８の伝播情報２０８の行１８０５を検索して、該当行の依存計算機欄１８０２にＤＣ３を格納する。
【０２１０】
そして、閾値情報伝播管理部１４０は、伝播情報２０８を走査して（４００４）、伝播情報２０８内に次に閾値情報１２７を送信する必要のある計算機１０１があるかを判定する（４００５）。ステップ４００５において、伝播情報２０８内に次の計算機１０１があると判定された場合には、次の計算機を、閾値情報伝播管理部１４０は、閾値情報１２７を送信する該当計算機１０１（該当計算機＝ＤＣ１）とする（４００６）。一方、ステップ４００５において、伝播情報２０８内に次の計算機１０１がないと判定された場合には、閾値情報伝播管理部１４０は、閾値情報伝播処理を終了する。
【０２１１】
そして、ステップ４００６において該当計算機とした計算機について、依存計算機があるかを判定する（４００７）。ステップ４００７において、依存計算機があると判定された場合には、依存計算機の閾値バージョン２０５が最新かを判定する（４００８）。一方、ステップ４００７において、依存計算機がないと判定された場合には、ステップ４００５以降の処理を繰り返す。
【０２１２】
ステップ４００８において、依存計算機の閾値バージョン２０５が最新であると判定された場合には、閾値情報伝播管理部１４０は、ステップ４０１０以降の処理を実行する。一方、ステップ４０８において、依存計算機の閾値バージョン２０５が最新ではないと判定された場合には、閾値情報伝播管理部１４０は、依存計算機に閾値テーブル２０６を送信して、伝播情報２０８の閾値バージョン２０５を最新にする（４００９）。
【０２１３】
そして、閾値情報伝播管理部１４０は、該当計算機（ＤＣ１）に閾値情報１２７を送信し、伝播情報２０８の該当計算機に該当する行の閾値バージョン２０５を最新にする（４０１０）。
【０２１４】
次に、管理計算機１３３に接続されている管理者端末１４７の管理者画面のユーザインタフェースについて説明する。管理者画面のユーザインタフェースとしては、例えば、アプリケーション別閾値判定方法情報１２６における優先順位１１０４を設定するための優先度設定画面を例示できる。図４２に示す管理者設定画面４１０１は、管理者が使用する設定画面の一例である。また、優先度設定画面４１０２は、管理者がアプリケーション別閾値判定方法情報１２６に格納される優先順位を入力するための画面の一例である。
【０２１５】
図４２に示すように、Ａ在庫管理４１０３は、アプリケーション「Ａ在庫管理」に関する更新方法の優先順位を設定する入力欄である。また、Ｂ口座残高引出４１０４は、アプリケーション「Ｂ口座残高引出」に関する更新方法の優先順位を設定する入力欄である。また、表示欄４１０５、表示欄４１０６、表示欄４１０７には、それぞれ、非ロック１、非ロック２、ロックが表示され、それぞれ更新方法の名称を示している。また、入力欄４１０８〜４１１３は、優先順位の入力欄である。
【０２１６】
管理者は、管理者設定画面４１０１の入力欄４１０８〜４１３３の入力欄に数値を入力する。管理者により入力欄４１０８〜４１３３に入力された数値がアプリケーション別閾値判定方法情報１２６の優先順位として設定される。数値の小さい閾値が入力された場合には、当該閾値に対応する更新方法が、上記した更新方法選択処理において、優先的に選択される更新方法となる。
【０２１７】
次に、ユーザ端末１０５の表示画面のユーザインタフェースの一例について説明する。図４３は、ユーザ端末１０５の表示画面に表示されるユーザリクエスト処理完了画面の一例である。図４３に示すユーザリクエスト処理完了画面４２０１は、ユーザ端末１０５から送信されたユーザリクエスト１４５に対応するアプリケーション１０８の実行結果を返答する画面である。
【０２１８】
図４３に示すように、ユーザリクエスト処理完了画面４２０１は、Ａ在庫管理処理結果欄４２０２及びＢ口座残高引出処理結果欄４２０３を含む。
【０２１９】
Ａ在庫管理処理結果欄４２０２の処理結果欄４２０２には、「処理完了です。（更新終了）」と表示されている。これは、ユーザからのリクエストに応じてアプリケーション「Ａ在庫管理」が実行され、データの更新も完了したことを意味する。
【０２２０】
また、Ｂ口座残高引出処理結果欄４２０３の処理結果欄４２０５には、「処理を受け付けましたが、現在処理を完了できません。（更新待ち）」と表示されている。これは、ユーザからのリクエストに応じてアプリケーション「Ｂ口座残高引出」が実行されたが、選択された更新方法による更新が、現在のクラスタ状態では完了できなかったことを意味する。
【０２２１】
上記の表示例以外にも、更新処理の間にロックが発生し、それによって計算機側でロックが開放されるまで待機するために返答が返ってこないという内容を表示しても良い。この例のうち、アプリケーション可用性向上およびアプリケーション実行時間短縮の効果が現れている例は、アプリケーション「Ａ在庫管理」の処理結果である。
【０２２２】
上記アプリケーション「Ａ在庫管理」の処理結果は、計算機１０１がユーザのリクエストに対して処理完了を通知して次のリクエストを待機している状態であることを意味する。一方、アプリケーション「Ｂ口座残高引出」の処理結果は、処理を完了していないことを通知し、ユーザ端末から次のリクエストを送信できないか、または送信しても実行されない状態であることを意味する。これはユーザから見ると、一時的にアプリケーションが使用できない状態にあるのと同義である。
【０２２３】
また、上記したように、処理結果がロックなどにより返答が返ってこない場合には、計算機１０１が次のリクエストを受け付けられないだけでなく、ユーザ端末は計算機からの返答を待つ必要があり、その間にユーザが別の処理を開始することをも妨げる。しかし、本実施の形態では、アプリケーション処理結果として処理完了を通知する頻度を高くすることができる。ユーザリクエスト処理完了画面において、ユーザ及び計算機１０１によって異なる結果が表示することが可能となる。
【０２２４】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【０２２５】
（１−５）本実施の形態の効果
本実施形態によれば、データ正常性を保証し、かつ分断障害時のアプリケーション可用性およびアプリケーション実行時間短縮を実現できる。更新方法選択処理（Ｐ２）により、閾値判定部が更新方法の選択に必要な閾値を特定し、閾値検索部が閾値検索処理（Ｐ４）により前記特定した閾値を閾値情報から検索し、前記閾値、ユーザ名およびアプリケーション入力値を用いて閾値判定し、その結果更新方法を選択する。更新方法選択処理（Ｐ２）は、更新方法に設定した優先順位に従い、データ正常性が保証される更新方法が複数ある場合に、そのうちアプリケーション可用性向上効果もしくはアプリケーション実行時間短縮効果が高いものを先に検索することができる。
【０２２６】
また更新方法選択処理（Ｐ２）は、アプリケーション１０８とは別に実装することができ、本実施の形態の更新方法選択システムを前提にしないアプリケーション１０８を改変することなく上記システムに移行し、同等の効果を得ることができる。
【０２２７】
また、アプリケーション制御処理（Ｐ１）および更新処理（Ｐ３）により、アプリケーション１０８が更新実行部１１４に対してデータ更新を要求する際には、更新方法選択処理（Ｐ２）にて予め選択した更新方法を利用することができる。
【０２２８】
また、閾値合成処理（Ｐ５）を実施することにより、２つ以上の計算機において閾値を合成し、単一計算機で使用できる閾値より大きな閾値に基づいて更新方法を選択することで、分断障害時アプリケーション可用性およびアプリケーション実行時間短縮を実現する頻度を高めることができる。
【０２２９】
また、マージ処理（Ｐ６）により、適切なタイミングでデータの整合性を復元することができる。
【０２３０】
また、閾値テーブル作成処理（Ｐ７）により、ユーザに対して相関の大きい計算機に対して大きな閾値を算出し、上記した本発明の効果を最大化することができる。
【０２３１】
また、閾値情報伝播処理（Ｐ８）により、計算機１０１の依存関係を遵守し閾値情報１２７を送信することにより、計算機１０１の閾値伝播中に分断障害が発生し、全ての計算機に対して閾値を送信することができなくなっても、一部計算機に送信した状態で計算機１０１内の更新方法選択部１１０がデータ正常性を保証しつづけることができる。
【０２３２】
（２）第２の実施の形態
（２−１）本実施の形態の概要
次に、第２の実施の形態について説明する。
本実施の形態では、計算機１０１に含まれる更新方法を選択する更新方法選択部１１０が、現在利用可能な更新方法を選択し、選択された更新方法に対して現在の計算機１０１の状態により決定できる更新結果の推定値を算出する。そして、選択された更新方法及び更新結果の推定値をリストとしてユーザ端末に返答する。
【０２３３】
（２−２）計算機システムの構成
本実施の形態における計算機１０１を含む計算機システムの構成は、第１の実施の形態と同様であり、図１〜図３に示す構成である。計算機１０１は、データ正常性を保証しながら分断障害時のアプリケーション可用性向上およびアプリケーション実行時間短縮が可能であるかどうかをユーザに通知するため、アプリケーションの入力値の範囲と、入力値の範囲に応じた採用可能な更新方法のリストを作成する。さらに、計算機１０１は、各更新方法を採用した場合に更新実行部より得られると推定できる更新結果をリストに追加して、ユーザ端末に返答する。
【０２３４】
（２−３）データ構成
本実施の形態におけるデータ構成は、第１の実施の形態とほぼ同様であるため、異なるデータ構成については、後述するデータ更新処理の説明で詳細に説明する。
【０２３５】
（２−４）データ更新処理
次に、本実施の形態における情報処理方法の実行手順について説明する。以下では、第１の実施の形態と異なる処理について特に詳細に説明する。
【０２３６】
図４４を参照して、本実施の形態における更新方法リスト取得シーケンス（Ｓ６）について説明する。更新方法リスト取得処理は、計算機１０１が、ユーザ端末１０５からの更新方法リスト取得リクエストを受信したタイミングで実行される。本実施の形態では、ユーザ端末１０５は、更新方法リスト取得リクエストをアプリケーション制御部１０６に送信し、アプリケーション制御部１０６は、所定のアプリケーションの更新方法を問い合わせる更新方法取得インタフェース４３０８を呼び出す。そして、計算機１０１の更新方法選択部１１０が更新方法リスト取得処理（Ｐ９）において、閾値に基づいた更新方法対応リストを算出し、ユーザ端末１０５に返答する。
【０２３７】
図４４に示すように、まず、ユーザ端末１０５は、更新可否リスト取得リクエストをアプリケーション制御部１０６に送信する（４３０７）。更新可否リスト取得リクエストは、ユーザ端末１０５が更新方法リストを取得する際に、計算機１０１に送信する情報である。
【０２３８】
図４５に示すように、更新可否リスト取得リクエストは、ユーザ名欄４４０１、アプリケーション入力値１欄４４０２及びアプリケーション名欄４４０３から構成される。ユーザ名欄４４０１には、更新方法リスト取得リクエストの要求元であるユーザの名称が格納される。アプリケーション入力値１欄４４０２には、更新方法リスト取得リクエストが要求するアプリケーションへの入力値の１つが格納される。アプリケーション名欄４４０３には、更新方法リスト取得リクエストが要求するアプリケーションが格納される。
【０２３９】
例えば、図４５では、ユーザ名「User1」のユーザが、アプリケーション入力値「Package1/Warehouse1」で、アプリケーション「A在庫管理」についての更新方法リストの取得と要求していることがわかる。
【０２４０】
図４４に戻り、アプリケーション制御部１０６は、更新方法取得インタフェースを更新方法選択部１１０へ送信する（４３０８）。次に、更新方法選択部１１０は、参照リクエストを参照実行部１４９に送信する。次に、参照実行部１４９は、参照結果を更新方法選択部１１０に送信する。次に、更新方法選択部１１０は、更新方法リスト取得処理（Ｐ９）を実行する（４３１１）。ステップ４３１１における更新方法知ると取得処理（Ｐ９）については後で詳細に説明する。
【０２４１】
次に、更新方法選択部１１０は、更新方法リストをアプリケーション制御部１０６に通知する（４３１２）。更新方法リストは、更新方法選択部１１０がユーザ端末１０５からの更新方法リスト取得リクエストに応じて作成する情報である。
【０２４２】
図４６に示すように、更新方法リスト４５００は、アプリケーション入力値範囲欄４５０１、更新方法名欄４５０２及び更新結果推定値欄４５０３から構成される。アプリケーション入力値範囲欄４５０１には、アプリケーションに対する入力値の１つが格納される。更新方法名欄４５０２には、更新方法選択部１１０によって選択される更新方法が格納される。更新結果推定値欄４５０３には、アプリケーション入力値をリクエストした場合に、返答が予想される更新結果の推定値が格納される。
【０２４３】
例えば、図４６では、アプリケーション入力値範囲が「(アプリケーション入力値2)<20」である場合に選択される更新方法名は「非ロック１」であり、更新結果の推定値は「現在この計算機で更新完了可能」であることがわかる。これは、アプリケーション入力値２の値が２０より小さい場合には、「非ロック１」の方法で更新処理が実行され、該更新処理が実行された結果、当該計算機での更新が正常に完了することが推定されることを意味している。
【０２４４】
次に、図４７を参照して、上記したステップ４３１１における更新方法リスト取得処理（Ｐ９）の詳細について説明する。更新方法リスト取得処理は、ユーザ端末１０５からの更新可否取得リクエストを受けて、更新方法取得リクエストに記載のアプリケーションについて、更新方法リストを取得する処理である。
【０２４５】
まず、更新方法選択部１１０は、更新方法取得インタフェース１１３により、ユーザ名、アプリケーション名及びアプリケーション入力値を取得する（４６０１）。
【０２４６】
そして、閾値判定部１１２は、アプリケーション別閾値判定方法情報１２６を参照し、ステップ４６０１で取得したアプリケーション名が含まれる行を、検索対象閾値判定リストLthに格納する（４６０２）。
【０２４７】
そして、閾値判定部１１２は、検索対象閾値判定リストLthを優先順位でソートし（４６０３）して、更新方法リストを初期化する（４６０４）。
【０２４８】
そして、閾値判定部１１２は、検索対象閾値判定リストLthに行があるかを判定する（４６０５）。ステップ４６０５において、検索対象閾値判定リストLthに行があると判定された場合には、ステップ４６０６以降の処理を実行する。一方、ステップ４６０５において、検索対象閾値判定リストLthに行がないと判定された場合には、更新方法リスト取得処理を終了する。
【０２４９】
そして、ステップ４６０６において、閾値判定部１１２は、検索対象閾値判定リストLthの先頭行のクラスタ状態をメモリに記憶する。
【０２５０】
続いて、閾値判定部１１２は、ステップ４６０６でメモリに記憶したクラスタ状態と計算機固有情報１２５のクラスタ状態とが一致するかを判定する（４６０７）。ステップ４６０７において、計算機固有情報１２５のクラスタ状態と一致すると判定された場合には、ステップ４６０８以降の処理を実行する。一方、ステップ４６０７において、計算機固有情報１２５のクラスタ状態と一致しないと判定された場合には、ステップ４６０５以降の処理に戻る。
【０２５１】
ステップ４６０８において、閾値判定部１１２は、該当行の閾値判定方法１１０６に記載された閾値名と、ユーザ名及び計算機名を閾値検索部１１１に送信し、閾値検索部１１１が閾値検索処理（Ｐ３）を実施し、閾値判定部１１２に当該閾値を返信する（４６０８）。
【０２５２】
そして、閾値判定部１１２は、該当行の閾値判定方法１１０６に、受信した閾値、アプリケーション入力値及びユーザ名を入力して、閾値判定結果または閾値に関する評価式を取得する（４６０９）。
【０２５３】
そして、閾値判定部１１２は、更新方法リストに、該当行の更新方法名を記載し、ステップ４６０９において取得した閾値判定結果または閾値に関する評価式をアプリケーション入力値範囲として格納する（４６１０）。
【０２５４】
そして、閾値判定部１１２は、更新方法別処理スクリプト情報１２９のうち更新方法名が格納された行を検索し、該当行の更新結果を取得し、更新方法リストの追加行の更新結果推定値に、当該更新結果を格納する（４６１１）。
【０２５５】
そして、閾値判定部１１２は、検索対象閾値判定リストLthから先頭行を削除する（４６１２）。
【０２５６】
次に、図４８を参照して、本実施形態にかかるユーザ端末１０５におけるユーザリクエスト画面の一例について説明する。ユーザリクエスト画面は、ユーザ端末１０５から送信されたユーザリクエスト１４５に応じたアプリケーションが実行結果を返答する画面である。
【０２５７】
図４８に示すように、ユーザリクエスト作成および送信画面４７０１には、A在庫管理リクエスト作成表示欄４７０２及びB口座残高引出表示欄４７０３を含む。
【０２５８】
A在庫管理リクエスト作成表示欄４７０２には、更新結果推定値を表示させる表示欄４７０４とリクエストする入力値を入力させる入力欄４７０７が含まれる。表示欄４７０４には、例えば、「入力値が１００までの場合現在この計算機で処理完了可能」であることが表示される。ユーザは、表示欄４７０４に表示された更新結果推定値を参照して、例えば、１００以下の入力値を入力欄４７０７に入力する。
【０２５９】
また、B口座残高引出表示欄４７０３には、更新結果推定値を表示させる表示欄４７０５とリクエストする入力値を入力させる入力欄４７０９が含まれる。表示欄４７０５には、例えば、「現在この計算機で処理完了不可能」であることが表示される。ユーザは、表示欄４７０５に表示された更新結果推定値を参照して、現在、当該アプリケーションについての入力ができないことを認識する。
【０２６０】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【０２６１】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０２６２】
（２−５）本実施の形態の効果
こうした本実施形態によれば、データ正常性を保証し、かつ分断障害時のアプリケーション可用性およびアプリケーション実行時間短縮を実現できる入力値の範囲と更新方式をユーザに通知することができる。
【符号の説明】
【０２６３】
１０１  計算機
１０３  メモリ
１０４  通信部
１０５  ユーザ端末
１０６  アプリケーション制御部
１１０  更新方法選択部
１１４  更新実行部
１１９  マージ実行部
１２３  処理実績収集部
１２４  クラスタ状態更新部
１２５  計算機固有情報
１２６  アプリケーション別閾値判定方法情報
１２７  閾値情報
１３３  管理計算機
【図１】
2014054128.tif 000003
【図２】
2014054128.tif 000004
【図３】
2014054128.tif 000005
【図４】
2014054128.tif 000006
【図５】
2014054128.tif 000007
【図６】
2014054128.tif 000008
【図７】
2014054128.tif 000009
【図８】
2014054128.tif 000010
【図９】
2014054128.tif 000011
【図１０】
2014054128.tif 000012
【図１１】
2014054128.tif 000013
【図１２】
2014054128.tif 000014
【図１３】
2014054128.tif 000015
【図１４】
2014054128.tif 000016
【図１５】
2014054128.tif 000017
【図１６】
2014054128.tif 000018
【図１７】
2014054128.tif 000019
【図１８】
2014054128.tif 000020
【図１９】
2014054128.tif 000021
【図２０】
2014054128.tif 000022
【図２１】
2014054128.tif 000023
【図２２】
2014054128.tif 000024
【図２３】
2014054128.tif 000025
【図２４】
2014054128.tif 000026
【図２５】
2014054128.tif 000027
【図２６】
2014054128.tif 000028
【図２７】
2014054128.tif 000029
【図２８】
2014054128.tif 000030
【図２９】
2014054128.tif 000031
【図３０】
2014054128.tif 000032
【図３１】
2014054128.tif 000033
【図３２】
2014054128.tif 000034
【図３３】
2014054128.tif 000035
【図３４】
2014054128.tif 000036
【図３５】
2014054128.tif 000037
【図３６】
2014054128.tif 000038
【図３７】
2014054128.tif 000039
【図３８】
2014054128.tif 000040
【図３９】
2014054128.tif 000041
【図４０】
2014054128.tif 000042
【図４１】
2014054128.tif 000043
【図４２】
2014054128.tif 000044
【図４３】
2014054128.tif 000045
【図４４】
2014054128.tif 000046
【図４５】
2014054128.tif 000047
【図４６】
2014054128.tif 000048
【図４７】
2014054128.tif 000049
【図４８】
2014054128.tif 000050
【手続補正書】
【提出日】平成28年7月1日(2016.7.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置であって、
各種テーブルを記憶する記憶部と、
前記アプリケーションの実行を制御する制御部と、
を備え、
前記記憶部は、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とを対応づけて記憶し、
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する
ことを特徴とする、情報処理装置。
【請求項２】
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記選択した前記更新方法情報の更新方法にしたがってデータを更新する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、前記リクエストを送信するユーザと、前記リクエストが送信される情報処理装置との組み合わせに対応する前記閾値情報を記憶し、
前記制御部は、前記ユーザが前記アプリケーションを利用した実績情報に基づいて前記閾値情報を算出する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項４】
前記記憶部は、一の計算機に前記閾値情報を送信する前に該閾値情報を送信すべき他の計算機を前記一の計算機の依存計算機として記憶し、
前記制御部は、前記依存計算機への前記閾値情報の送信が完了した場合に、前記一の計算機に前記閾値情報を送信する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項５】
前記記憶部は、前記アプリケーションのバージョンと前記閾値判定方法情報と前記更新方法情報とを対応付けて記憶し、
前記制御部は、前記アプリケーションのバージョンに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項６】
計算機は、ネットワークを介して接続された１つ以上の他の計算機とクラスタを構成し、
前記記憶部は、前記クラスタ内における前記計算機の状態を示すクラスタ状態情報と前記閾値判定方法情報と前記更新方法情報とを対応付けて記憶し、
前記制御部は、前記クラスタ状態情報に対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する
ことを特徴とする、請求項５に記載の情報処理装置。
【請求項７】
前記記憶部は、前記閾値情報と前記閾値情報を合成する方法を示す閾値合成方法情報とを対応付けて記憶し、
前記制御部は、前記クラスタ状態情報に応じて、前記クラスタ内の前記計算機と前記他の計算機との間で前記閾値合成方法情報を用いて前記閾値情報を合成する
ことを特徴とする、請求項６に記載の情報処理装置。
【請求項８】
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報に前記リクエストに含まれる入力値を代入して、前記閾値と前記入力値の前記閾値判定方法情報への代入結果とを比較して、前記データ正常性が確保できるかを判定する
ことを特徴とする、請求項５に記載の情報処理装置。
【請求項９】
前記更新方法情報にはマージ方法名が記載された処理スプリクトが含まれ、
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記選択した前記更新方法情報の前記処理スプリクトに記載された前記マージ方法名が示すマージ方法にしたがって前記データを更新する
ことを特徴とする、請求項２に記載の情報処理装置。
【請求項１０】
ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置を用いたデータ更新方法であって、
前記情報処理装置は、各種テーブルを記憶する記憶部と、前記アプリケーションの実行を制御する制御部と、を備え、
前記記憶部には、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とが対応づけて記憶され、
前記制御部が、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できるかを判定する第１のステップと、
前記制御部が、前記第１のステップにおいて前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する第２のステップと
を含むことを特徴とする、データ更新方法。
【請求項１１】
コンピュータを、
ユーザ端末から送信されるリクエストに基づいて所定のアプリケーションを実行する情報処理装置であって、
各種テーブルを記憶する記憶部と、前記アプリケーションの実行を制御する制御部と、を備え、
前記記憶部は、前記アプリケーションと、データの正常性を確保できる境界を示す閾値情報を用いてデータ正常性が確保できるかを判定する判定方法を示す閾値判定方法情報と、該閾値の判定結果に応じたデータの更新方法を示す更新方法情報とを対応づけて記憶し、
前記制御部は、前記アプリケーションに対応する前記閾値判定方法情報をもとに前記データ正常性が確保できると判定された場合に、前記閾値判定方法情報に対応する前記更新方法情報を選択する、
情報処理装置として機能させるための、プログラム。
【国際調査報告】
2014054128.tif 000051
2014054128.tif 000052
2014054128.tif 000053