(57)【特許請求の範囲】
【請求項１】
処理対象データを記憶するインメモリデータベースを装備したサーバ装置を複数備え、
前記各サーバ装置の前記各インメモリデータベースに、同一の前記処理対象データがそれぞれ記憶されており、当該処理対象データのマスタデータが、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータに対応するスレーブデータが、前記マスタデータが配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置は、処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段を備え、
前記各サーバ装置の前記各インメモリデータベースに、前記処理対象データが複数のデータ群に区分けして記憶されており、当該各データ群の各マスタデータ群が、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータ群に対応するスレーブデータ群が、前記マスタデータ群が配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置が有する前記インメモリデータ管理手段は、処理要求を受けた前記処理対象データが含まれる前記マスタデータ群を自装置が保持している場合に、当該マスタデータ群内のマスタデータに対する要求された処理を行うと共に、当該マスタデータ群に対応する他の前記サーバ装置に保持された前記スレーブデータ群に対してコピー処理を行う、
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶した振り分け装置を備え、
前記振り分け装置は、前記処理対象データを特定する情報を含む処理要求を受け付けて、当該処理要求と前記配置テーブルとに基づいて前記処理対象データのマスタデータが配置されている前記サーバ装置を特定し、当該特定したサーバ装置に前記処理対象データの処理要求を振り分ける振り分け手段を備えた、
情報処理システム。
【請求項３】
請求項２に記載の情報処理システムであって、
前記サーバ装置は、前記配置テーブルを記憶すると共に、
前記サーバ装置が有する前記インメモリデータ管理手段は、前記配置テーブルに基づいて、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが他の前記サーバ装置に配置されている場合に、当該他のサーバ装置に処理要求を振り分ける、
情報処理システム。
【請求項４】
請求項３に記載の情報処理システムであって、
前記サーバ装置が有する前記インメモリデータ管理手段は、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが自装置に配置されている場合には、そのマスタデータに対する処理のみを行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行い、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが他の前記サーバ装置に配置されている場合には、そのマスタデータに対する処理要求のみを他のサーバ装置に処理要求を振り分け、
前記他のサーバ装置が有する前記インメモリデータ管理手段は、前記サーバ装置から振り分けられた処理要求にて特定される前記処理対象データのマスタデータが自装置に配置されている場合には、そのマスタデータに対する処理を行うと共に、このマスタデータに対応する別の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行う、
情報処理システム。
【請求項５】
請求項１乃至４のいずれかに記載の情報処理システムであって、
前記サーバ装置が有する前記インメモリデータ管理手段は、データの内容を変更しない処理要求を受けた前記処理対象データのスレーブデータが自装置に配置されている場合に、当該スレーブデータに対して要求された処理を行う、
情報処理システム。
【請求項６】
請求項５に記載の情報処理システムであって、
前記サーバ装置が有する前記インメモリデータ管理手段は、更新の処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、そのマスタデータに対して更新処理を行うと共に、参照の処理要求を受けた前記処理対象データのスレーブデータが自装置に配置されている場合に、そのスレーブデータに対して参照処理を行う、
情報処理システム。
【請求項７】
処理対象データを記憶するインメモリデータベースを装備し、他のサーバ装置に接続されたサーバ装置であって、
前記インメモリデータベースに、他のサーバ装置と同一の前記処理対象データを記憶すると共に、自サーバ装置及び他のサーバ装置のいずれか１つに分散して配置された前記処理対象データのマスタデータと、他のサーバ装置に記憶されている前記処理対象データのマスタデータに対応するスレーブデータと、を記憶し、
処理要求を受けた前記処理対象データのマスタデータが自サーバ装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段を備え、
自サーバ装置及び他のサーバ装置の前記各インメモリデータベースに、前記処理対象データが複数のデータ群に区分けして記憶されており、当該各データ群の各マスタデータ群が、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータ群に対応するスレーブデータ群が、前記マスタデータ群が配置されていない他の前記サーバ装置に配置されており、
前記インメモリデータ管理手段は、処理要求を受けた前記処理対象データが含まれる前記マスタデータ群を自装置が保持している場合に、当該マスタデータ群内のマスタデータに対する要求された処理を行うと共に、当該マスタデータ群に対応する他の前記サーバ装置に保持された前記スレーブデータ群に対してコピー処理を行う、
サーバ装置。
【請求項８】
請求項７に記載のサーバ装置であって、
前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶し、
前記インメモリデータ管理手段は、前記配置テーブルに基づいて、処理要求にて特定される前記処理対象データのマスタデータが配置されている他のサーバ装置を特定し、当該他のサーバ装置に処理要求を振り分ける、
サーバ装置。
【請求項９】
他のサーバ装置に接続され、処理対象データを記憶するインメモリデータベースを装備したサーバ装置の前記インメモリデータベースに、他のサーバ装置と同一の前記処理対象データが記憶されていると共に、自サーバ装置及び他のサーバ装置のいずれか１つに分散して配置された前記処理対象データのマスタデータと、他のサーバ装置に記憶されている前記処理対象データのマスタデータに対応するスレーブデータと、が記憶されており、
前記サーバ装置に、処理要求を受けた前記処理対象データのマスタデータが自サーバ装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段、を実現させ、
自サーバ装置及び他のサーバ装置の前記各インメモリデータベースに、前記処理対象データが複数のデータ群に区分けして記憶されており、当該各データ群の各マスタデータ群が、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータ群に対応するスレーブデータ群が、前記マスタデータ群が配置されていない他の前記サーバ装置に配置されており、
前記インメモリデータ管理手段は、処理要求を受けた前記処理対象データが含まれる前記マスタデータ群を自装置が保持している場合に、当該マスタデータ群内のマスタデータに対する要求された処理を行うと共に、当該マスタデータ群に対応する他の前記サーバ装置に保持された前記スレーブデータ群に対してコピー処理を行う、
プログラム。
【請求項１０】
請求項９に記載のプログラムであって、
前記サーバ装置が、前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶しており、
前記インメモリデータ管理手段は、前記配置テーブルに基づいて、処理要求にて特定される前記処理対象データのマスタデータが配置されている他のサーバ装置を特定し、当該他のサーバ装置に処理要求を振り分ける、
プログラム。
【請求項１１】
処理対象データを記憶するインメモリデータベースを装備したサーバ装置が複数備えられており、
前記各サーバ装置の前記各インメモリデータベースに、同一の前記処理対象データがそれぞれ記憶されており、当該処理対象データのマスタデータが、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータに対応するスレーブデータが、前記マスタデータが配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置が、処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、当該マスタデータに対する要求された処理を行い、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行い、
前記各サーバ装置の前記各インメモリデータベースに、前記処理対象データが複数のデータ群に区分けして記憶されており、当該各データ群の各マスタデータ群が、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータ群に対応するスレーブデータ群が、前記マスタデータ群が配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置は、処理要求を受けた前記処理対象データが含まれる前記マスタデータ群を自装置が保持している場合に、当該マスタデータ群内のマスタデータに対する要求された処理を行うと共に、当該マスタデータ群に対応する他の前記サーバ装置に保持された前記スレーブデータ群に対してコピー処理を行う、
情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法であって、
前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶した振り分け装置が、前記処理対象データを特定する情報を含む処理要求を受け付けて、当該処理要求と前記配置テーブルとに基づいて前記処理対象データのマスタデータが配置されている前記サーバ装置を特定し、当該特定したサーバ装置に前記処理対象データの処理要求を振り分け、
前記サーバ装置が、前記振り分け装置にて振り分けられた処理要求を受けた前記処理対象データのマスタデータに対する処理を行う、
情報処理方法。
【請求項１３】
請求項１２に記載の情報処理方法であって、
前記サーバ装置が、前記配置テーブルを記憶しており、当該配置テーブルに基づいて、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが他の前記サーバ装置に配置されている場合に、当該他のサーバ装置に処理要求を振り分ける、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムにかかり、特に、インメモリにてデータベースを管理する情報処理システムに関する。
【背景技術】
【０００２】
航空管制システムなど交通機関のデータを扱う基幹業務システムでは、データベースの処理に関しては、「高速性」と「高信頼性」が要求されている。このうち、高信頼性を実現するための技術としては、データベースを二重化することが一般的に行われている。
【０００３】
また、データ処理の高速化を実現する技術としては、インメモリデータベースがある。インメモリデータベースとは、データをディスク上ではなく、メインメモリ上に格納することによって、アプリケーションからデータへのアクセスの高速化を実現している。
【０００４】
ここで、特許文献１に、インメモリデータベースを用いたシステムの一例が開示されている。このシステムでは、インメモリデータベースを装備した現用系のノード装置と待機系のノード装置とを備える。そして、まず、現用系のノード装置が、業務データの更新指示に基づいて更新ログを生成し、メモリに保持する。その後、現用系のノード装置は、生成した更新ログを待機系のノード装置に送信して、これを受信した待機系のノード装置は更新ログをメモリに保持する。さらに、その後、現用系のノード装置は、メモリに保持している更新ログに基づいて業務データを実更新し、これとは非同期に、待機系のノード装置も更新ログに基づいて業務データを実更新する。これにより、現用系と待機系との複数のノード装置のメモリに、同じ業務データを保持することを可能としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開ＷＯ２００８／１０５０９８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術では、全てのノード装置にて業務データの実更新処理を行っているため、全てのノード装置の負荷が高くなる、という問題が生じる。すると、データの処理速度の低下や、ノード装置自体の動作が不安定になるなど、システム全体としての性能低下という問題が生じる。
【０００７】
このため、本発明の目的は、上述した課題である、インメモリデータベースを搭載した情報処理システムの性能の低下という問題を解決することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一形態である情報処理システムは、
処理対象データを記憶するインメモリデータベースを装備したサーバ装置を複数備え、
前記各サーバ装置の前記各インメモリデータベースに、同一の前記処理対象データがそれぞれ記憶されており、当該処理対象データのマスタデータが、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータに対応するスレーブデータが、前記マスタデータが配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置は、処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段を備えた、
という構成をとる。
【０００９】
また、本発明の他の形態であるサーバ装置は、
処理対象データを記憶するインメモリデータベースを装備し、他のサーバ装置に接続されたサーバ装置であって、
前記インメモリデータベースに、他のサーバ装置と同一の前記処理対象データを記憶すると共に、自サーバ装置及び他のサーバ装置のいずれか１つに分散して配置された前記処理対象データのマスタデータと、他のサーバ装置に記憶されている前記処理対象データのマスタデータに対応するスレーブデータと、を記憶し、
処理要求を受けた前記処理対象データのマスタデータが自サーバ装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段を備えた、
という構成をとる。
【００１０】
また、本発明の他の形態であるプログラムは、
他のサーバ装置に接続され、処理対象データを記憶するインメモリデータベースを装備したサーバ装置の前記インメモリデータベースに、他のサーバ装置と同一の前記処理対象データが記憶されていると共に、自サーバ装置及び他のサーバ装置のいずれか１つに分散して配置された前記処理対象データのマスタデータと、他のサーバ装置に記憶されている前記処理対象データのマスタデータに対応するスレーブデータと、が記憶されており、
前記サーバ装置に、処理要求を受けた前記処理対象データのマスタデータが自サーバ装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段、を実現させるためのプログラムである。
【００１１】
さらに、本発明の他の構成である情報処理方法は、
処理対象データを記憶するインメモリデータベースを装備したサーバ装置が複数備えられており、
前記各サーバ装置の前記各インメモリデータベースに、同一の前記処理対象データがそれぞれ記憶されており、当該処理対象データのマスタデータが、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータに対応するスレーブデータが、前記マスタデータが配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置が、処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、当該マスタデータに対する要求された処理を行い、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行う、
という構成をとる。
【発明の効果】
【００１２】
本発明は、以上のように構成されることにより、データベースを備えた各装置の処理負荷を分散して、処理速度の高速化とシステム全体の信頼性の向上を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態１における情報処理システムの全体構成を示すブロック図である。
【図２】図１に開示したＡＰサーバとＯＬＴＰサーバの構成を示すブロック図である。
【図３】図２に開示したデータ管理テーブル、及び、メモリテーブルの一例を示す図である。
【図４】図２に開示したＡＰサーバとＯＬＴＰサーバの動作を示す説明図である。
【図５】図２に開示したＡＰサーバとＯＬＴＰサーバの動作を示す説明図である。
【図６】図２に開示したＡＰサーバとＯＬＴＰサーバの動作を示す説明図である。
【図７】図２に開示したＡＰサーバとＯＬＴＰサーバの動作を示す説明図である。
【図８】図２に開示したＡＰサーバとＯＬＴＰサーバの動作を示すフローチャートである。
【図９】本発明の付記１における情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図８を参照して説明する。図１乃至図３は、情報処理システムの構成を示す図であり、図４乃至図８は、情報処理システムの動作を示す図である。
【００１５】
［構成］
本発明における情報処理システムは、例えば、航空管制システムといった各航空機の状態などを管理するシステムである。そして、情報処理システムは、図１に示すように、各航空機の状態を表す情報などの処理対象データに対して所定の処理を行うよう指示する処理システム１１〜１３と、上記処理対象データをデータベースに格納して管理する現用系システムとしてのフロントシステム２０と、このフロントシステム２０に障害が生じたときに当該フロントシステム２０に代わって作動する待機系システムとしてのバックアップシステム３０と、を備える。
【００１６】
そして、上記各システム１１，２０，３０は、それぞれが複数台のサーバコンピュータにて構成されていてもよく、あるいは、それぞれが１台のサーバコンピュータにて構成されていてもよい。
【００１７】
なお、本発明における情報処理システムは、必ずしも航空管制システムに適用されるものであることに限定されず、いかなる情報を管理するシステムであってもよく、また、いかなる用途に利用されるシステムであってもよい。加えて、本発明における情報処理システムは、上述した各システム１１等，２０，３０を備えた構成であることに限定されない。
【００１８】
そして、本実施形態における処理システム１１等は、フロントシステム２０に格納されている各処理対象データに対する更新処理や参照処理などの処理要求を、当該フロントシステム２０に対して行う機能を有する。
【００１９】
また、本実施形態におけるフロントシステム２０は、通信サーバ２１と、ＡＰサーバ２２と、ＯＬＴＰサーバ２３と、ＤＢサーバ２４と、を備える。なお、通信サーバ２１と、ＡＰサーバ２２と、ＯＬＴＰサーバ２３とは、それぞれ複数台のサーバコンピュータにて構成されている。また、フロントシステム２０とバックアップシステム３０とは、それぞれほぼ同一構成であるため、以下ではフロントシステム２０についてのみ説明し、バックアップシステム３０の構成についての説明は省略する。
【００２０】
以下、フロントシステム２０の構成について詳細に説明する。通信サーバ２１は、処理システム１１等からフロントシステム２０に対する処理要求メッセージを受信するなど、プロトコル制御を行って通信処理を行う。なお、処理要求メッセージは、例えば、処理対象を特定する識別情報である「ＦＯＩＤ」と、当該処理対象データに対する処理内容を表す「メッセージ」（例えば、「更新」や「参照」など）と、を含むデータである。そして、処理要求メッセージには、例えば、処理対象データを特定する「ＦＯＩＤ」が複数含まれている場合もある。
【００２１】
また、ＡＰサーバ２２は、複数台のサーバコンピュータ、あるいは、単一のサーバコンピュータにて構成されており、主に、処理システム１１等からの処理要求メッセージを、ＯＬＴＰサーバ２３に振り分ける処理を行う振り分け装置として機能する。具体的に、図２に示すように、ＡＰサーバ２００は、装備されたＣＰＵなどの演算装置にプログラムが組み込まれることで構築された、振り分け部２０１を備えている。また、ＡＰサーバ２００は、装備された記憶装置に形成されたデータ管理テーブル２０２を備えている。
【００２２】
ここで、データ管理テーブル２０２に記憶されるデータの一例を図３（１−１）及び図３（１−２）を参照して説明する。まず、データ管理テーブル２０２（配置テーブル）には、図３（１−１）に示すように、「ハッシュ値」と「グループ」の対応表がある。このハッシュ値は、処理要求メッセージに含まれる処理対象データを特定する「ＦＯＩＤ」をハッシュ処理した値であり、その値によって処理対象データが格納されているグループが特定される。また、データ管理テーブル２０３には、図３（１−２）に示すように、「ＦＩＯＤグループ」と「マスタ」と「スレーブ」との対応表がある。ＦＯＩＤグループは、図３（１−１）で特定された処理対象データが区分けされるグループであり、各グループに属する処理対象データのマスタデータが格納されているＯＬＴＰサーバと、スレーブデータが格納されているＯＬＴＰサーバと、が特定されている。
【００２３】
そして、ＡＰサーバ２００の振り分け部２０１（振り分け手段）は、処理システム１１等から通信サーバ２１を介して受け付けた処理要求メッセージ内の「ＦＯＩＤ」をハッシュ処理してハッシュ値を算出し、そのハッシュ値に対応するマスタデータの所在を、データ管理テーブルに従って特定する。例えば、処理要求メッセージにて処理要求された処理対象データの「ＦＯＩＤ」のハッシュ値が「１」である場合には、図３（１−１）からグループが「＃１」と特定でき、図３（１−２）からこのグループのマスタデータは、「ＯＬＴＰサーバ＃１」に格納されている、と特定する。そして、振り分け部２０１は、マスタデータが格納されているＯＬＴＰサーバを特定したら、そのＯＬＴＰサーバに、処理要求メッセージを振り分けて送信する。なお、振り分け部２０１は、上述したようにＦＯＩＤをハッシュ処理したハッシュ値を利用してＦＩＯＤグループを特定することに限定されず、いかなる方法にてＦＯＩＤグループを特定して、そのマスタデータが格納されているＯＬＴＰサーバを特定し、当該特定したＯＬＴＰサーバに処理要求メッセージを振り分けてもよい。
【００２４】
なお、ＡＰサーバ２００の振り分け部２０１は、処理要求メッセージ内に「ＦＯＩＤ」が複数含まれている場合には、先頭の「ＦＯＩＤ」のハッシュ値のみを算出し、その値に応じて振り分け先となるＯＬＴＰサーバを特定して、当該ＯＬＴＰサーバに処理要求メッセージを振り分ける。
【００２５】
次に、ＯＬＴＰサーバ３００について説明する。ＯＬＴＰサーバ３００は、それぞれが主記憶装置にデータベースを格納して処理するインメモリデータベース３０４を装備した複数台のサーバコンピュータにて構成されている。
【００２６】
そして、ＯＬＴＰサーバ３００は、主に、ＡＰサーバ２００から振り分けられた処理要求メッセージを受けて、自サーバのインメモリデータベース３０４に格納されている処理対象データのマスタデータに対して、要求された処理を行う機能を備える。具体的に、図２に示すように、ＯＬＴＰサーバ３００は、装備されたＣＰＵなどの演算装置にプログラムが組み込まれることで構築された、インメモリデータ管理部３０１を備えている。また、ＯＬＴＰサーバ３００は、装備された記憶装置に形成されたデータ管理テーブル３０２と、メモリテーブル３０３と、を備えている。
【００２７】
ここで、データ管理テーブル３０２に記憶されるデータは、上述したＡＰサーバ２００と同様に、図３（１−１）、（１−２）に示すように、「ハッシュ値」と「グループ」の対応表と、「ＦＩＯＤグループ」と「マスタ」と「スレーブ」との対応表と、である。また、メモリテーブル３０３は、図３（２）に示すように、「ＦＯＩＤ」と、そのデータの実際の格納先である「アドレス」との対応表である。
【００２８】
そして、ＯＬＴＰサーバ３００のインメモリデータ管理部３０１（インメモリ管理手段）は、まず、ＤＢサーバ２４に格納されている処理対象データを、主記憶装置上に配置して、インメモリデータベース３０４を構築する。このとき、インメモリデータ管理部３０１は、他のＯＬＴＰサーバと協働して、主記憶装置上に配置する全ての処理対象データを、全てのＯＬＴＰサーバに配置する。但し、処理対象データのマスタデータは、１つのＯＬＴＰサーバのみに配置されるようにし、他のＯＬＴＰサーバには、その複製であるスレーブデータを配置する。
【００２９】
具体的に、複数のＯＬＴＰサーバ３００への処理対象データの配置の様子を、図４を参照して説明する。ここでは、３台のＯＬＴＰサーバ３１０，３２０，３３０が装備されており、処理対象データは、３つのデータ群（ＦＯデータ群１，２，３）に区分けされていることとする。
【００３０】
この場合に、まず、各ＯＬＴＰサーバ３１０，３２０，３３０には、それぞれ全ての処理対象データ、つまり、３つのＦＯデータ群１，２，３（３１１〜３１３，３２１〜３２３，３３１〜３３３）がそれぞれインメモリデータベースに配置される。但し、３つのＦＯデータ群１，２，３の各マスタデータ群は、１つのＯＬＴＰサーバのみに配置される。例えば、ＦＯデータ群１のマスタデータは、ＯＬＴＰサーバ＃１（３１０）のみに配置され、他のＯＬＴＰサーバ＃２（３２０）、＃３（３３０）には、ＦＯデータ群１のスレーブデータが配置される。同様に、ＦＯデータ群２のマスタデータは、ＯＬＴＰサーバ＃２（３２０）のみに配置され、他のＯＬＴＰサーバ＃１（３１０）、＃３（３３０）には、ＦＯデータ群２のスレーブデータが配置される。また、ＦＯデータ群３のマスタデータは、ＯＬＴＰサーバ＃３（３３０）のみに配置され、他のＯＬＴＰサーバ＃１（３１０）、＃２（３２０）には、ＦＯデータ群３のスレーブデータが配置される。
【００３１】
そして、ＯＬＴＰサーバ３００のインメモリデータ管理部３０１は、上述したようにＡＰサーバ２００から振り分けられた処理要求メッセージを受けると、処理対象データのマスタデータが自サーバのインメモリデータベース３０４に配置されているため、かかるマスタデータに対する処理を行う。また、インメモリデータ管理部３０１は、処理要求メッセージに従って処理を行ったマスタデータを、当該マスタデータの複製である他のＯＬＴＰサーバに配置されているスレーブデータに対してコピー処理を行う。このとき、コピー処理は、ＦＯデータ群単位で行うが、処理対象データ単位で行ってもよい。
【００３２】
また、ＯＬＴＰサーバ３００のインメモリデータ管理部３０１は、ＡＰサーバ２００から振り分けられた処理要求メッセージに、自サーバにマスタデータが配置されていない「ＦＯＩＤ」が存在している場合には、上述したＡＰサーバ２００の振り分け部２０１と同様に、そのＦＯＩＤのマスタデータを配置している他のＯＬＴＰサーバに、処理要求メッセージを振り分ける処理を行う。
【００３３】
具体的に、インメモリデータ管理部３０１は、まず、振り分けられた処理要求メッセージに含まれるＦＯＩＤのうち、自サーバにマスタデータが配置されているＦＯＩＤの処理対象データを処理し、他のＯＬＴＰサーバに格納されているスレーブデータにコピー処理を行う。そして、自サーバにマスタデータが配置されていないＦＯＩＤに対しては、ハッシュ値を算出し、そのハッシュ値に対応するマスタデータの所在を、データ管理テーブル３０２に従って特定する。そして、マスタデータが格納されている他のＯＬＴＰサーバを特定したら、その他のＯＬＴＰサーバに、処理要求メッセージを振り分けて送信する。これにより、他のＯＬＴＰサーバは、受け付けた処理要求メッセージに従って、自サーバにマスタデータが配置されているＦＯＩＤの処理対象データを処理し、別のＯＬＴＰサーバに格納されているスレーブデータにコピー処理を行う。
【００３４】
なお、インメモリデータ管理部３０１は、処理要求の内容が、データの内容を変更しない「参照」処理である場合には、その処理対象データのマスタデータが自サーバに配置されておらずスレーブデータに配置されている場合であっても、かかるスレーブデータに対して「参照」処理を行う。
【００３５】
［動作］
次に、上述した情報処理システムの動作を、図４乃至図７の説明図、及び、図８のフローチャートを参照して説明する。
【００３６】
事前に、ＯＬＴＰサーバ３１０，３２０，３３０は、図４に示すように、ＤＢサーバ２４に格納されている処理対象データを、それぞれが装備している主記憶装置上に配置して、インメモリデータベースを構築する。このとき、処理対象データは３つのＦＯデータ群１，２，３に区分けされており、ＦＯデータ群１のマスタデータは、ＯＬＴＰサーバ＃１（３１０）のみに配置され、他のＯＬＴＰサーバ＃２（３２０）、＃３（３３０）には、ＦＯデータ群１のスレーブデータが配置される。また、ＦＯデータ群２のマスタデータは、ＯＬＴＰサーバ＃２（３２０）のみに配置され、他のＯＬＴＰサーバ＃１（３１０）、＃３（３３０）には、ＦＯデータ群２のスレーブデータが配置される。また、ＦＯデータ群３のマスタデータは、ＯＬＴＰサーバ＃３（３３０）のみに配置され、他のＯＬＴＰサーバ＃１（３１０）、＃２（３２０）には、ＦＯデータ群３のスレーブデータが配置される。
【００３７】
そして、所定の処理システム１１等からフロントシステム２０に処理要求メッセージが送信されると、通信サーバ２１を介してＡＰサーバ２２（２００）にて受信される（図８のステップＳ１）。
【００３８】
ＡＰサーバ２００は、受け付けた処理要求メッセージ内の「ＦＯＩＤ」をハッシュ処理してハッシュ値を算出し（図８のステップＳ２）、そのハッシュ値に対応するマスタデータの所在を、データ管理テーブル２０２に従って特定する。例えば、処理要求メッセージにて処理要求された処理対象データの「ＦＯＩＤ」のハッシュ値が「１」である場合には、図３（１−１）からグループが「＃１」と特定でき（図８のステップＳ３）、図３（１−２）からこのグループのマスタデータは、「ＯＬＴＰサーバ＃１（３１０）」に格納されている、と特定する（図８のステップＳ４）。そして、ＡＰサーバ２００は、マスタデータが格納されているＯＬＴＰサーバ３１０，３２０，３３０に、処理要求メッセージを振り分けて送信する（図４の矢印Ｙ１，Ｙ２，Ｙ３）。
【００３９】
そして、ＯＬＴＰサーバ３１０，３２０，３３０は、上述したようにＡＰサーバ２００から振り分けられた処理要求メッセージを受けると、当該処理要求メッセージの処理対象データのマスタデータが自サーバのインメモリデータベース３０４に配置されているため、かかるマスタデータに対する処理、例えば、「更新」処理を行う（図８のステップＳ６）。
【００４０】
その後、ＯＬＴＰサーバ３１０，３２０，３３０は、処理要求メッセージに従って処理を行ったマスタデータを、当該マスタデータの複製である他のＯＬＴＰサーバに配置されているスレーブデータに対してコピー処理を行う（図８のステップＳ７）。例えば、ＯＬＴＰサーバ３１０で、ＦＯデータ群１内のマスタデータを更新処理した場合には、このマスタデータに対応する他のＯＬＴＰサーバ３２０，３３０に格納されているスレーブデータであるＦＯデータ群１（３２１，３２２）に、コピー処理を行う（図５の矢印Ｙ１１，Ｙ１２）。なお、他のマスタデータが処理された場合も同様である（図５の矢印Ｙ２１，Ｙ２２，Ｙ３１，Ｙ３２参照）。
【００４１】
これにより、マスタデータが配置されているＯＬＴＰサーバに対して処理要求が振り分けられるため、各ＯＬＴＰサーバの処理負荷が分散される。従って、各ＯＬＴＰサーバの処理負荷を抑制でき、データ処理速度の向上やシステムの動作の安定化を図ることができる。その結果、情報処理システム全体の性能向上を図ることができる。
【００４２】
なお、上述したＡＰサーバ２００では、処理要求メッセージ内に「ＦＯＩＤ」が複数含まれている場合には、先頭の「ＦＯＩＤ」のみに基づいて振り分けが行われる。すると、ＡＰサーバ２００から振り分けられた処理要求メッセージには、ＯＬＴＰサーバ３００にマスタデータが配置されていない「ＦＯＩＤ」が存在していることがあるが、ＯＬＴＰサーバ３００が上述したＡＰサーバ２００の振り分け部２０１と同様に、そのＦＯＩＤのマスタデータを配置している他のＯＬＴＰサーバに、処理要求メッセージを振り分ける処理を行う。
【００４３】
例えば、図６に示すように、ＯＬＴＰサーバ３１０が処理要求メッセージを受けた場合には、まず、処理要求メッセージに含まれるＦＯＩＤのうち、自サーバにマスタデータが配置されているＦＯＩＤの処理対象データを処理し（図６の矢印Ｙ４１参照）、他のＯＬＴＰサーバに格納されているスレーブデータにコピー処理を行う。そして、自サーバにマスタデータが配置されていないＦＯＩＤに対しては、ハッシュ値を算出し、そのハッシュ値に対応するマスタデータの所在を、データ管理テーブルに従って特定する。そして、処理対象データのマスタデータがＦＯデータ群２であるとすると、他のＯＬＴＰサーバ３２０を特定し、当該他のＯＬＴＰサーバ３２０に、処理要求メッセージを振り分けて送信する（図８のステップＳ５）。
【００４４】
そして、他のＯＬＴＰサーバ３２０は、受け付けた処理要求メッセージに従って、自サーバにマスタデータが配置されているＦＯＩＤの処理対象データを処理し（図６の矢印Ｙ４２参照）、別のＯＬＴＰサーバに格納されているスレーブデータにコピー処理を行う。
【００４５】
このようにすることで、処理要求メッセージに複数の処理対象データに対する処理要求が含まれている場合であっても、マスタデータが配置されているＯＬＴＰサーバに適切に処理を振り分けることができる。従って、上述同様に、各ＯＬＴＰサーバの処理負荷が分散され、データ処理速度の向上やシステムの動作の安定化を図ることができる。
【００４６】
また、図７を参照して、ＯＬＴＰサーバ３１０が受け付けた処理要求メッセージがＦＯデータ群１に含まれるマスタデータの「更新」処理であるが（図７の矢印Ｙ５１参照）、かかる「更新」処理を行うに伴って、自サーバ３１０にマスタデータが無いＦＯデータ群２のデータの内容を「参照」処理する必要がある場合を説明する。この場合には、ＯＬＴＰサーバ３１０は、ＦＯデータ群１に含まれるマスタデータに対する「更新」処理を行うと共に（図７の矢印Ｙ５２参照）、さらに、自サーバ３１０に格納されたＦＯデータ群２のスレーブデータに対して、「参照」処理を行う（図７の矢印Ｙ５３参照）。
【００４７】
このように、「参照」処理などスレーブデータに対して処理を行っても影響の無い処理については、マスタデータを格納している他のＯＬＴＰサーバに処理要求を振り分けずに、特定の処理を行うＯＬＴＰサーバで同時に処理を行うようにする。これにより、ＯＬＴＰサーバの処理負荷の増大を抑制しつつ、処理の高速化を図ることができる。
【００４８】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理システムの構成の概略を、図９のブロック図を参照して説明する。また、本発明におけるサーバ装置、プログラム、情報処理方法の構成の概略について説明する。但し、本発明は、以下の構成に限定されない。
【００４９】
（付記１）
処理対象データを記憶するインメモリデータベース５１０，６１０，７１０を装備したサーバ装置５００，６００，７００を複数備え、
前記各サーバ装置５００，６００，７００の前記各インメモリデータベース５１０，６１０，７１０に、同一の前記処理対象データがそれぞれ記憶されており、当該処理対象データのマスタデータが、いずれか１つの前記サーバ装置５００，６００，７００に分散して配置されていると共に、当該マスタデータに対応するスレーブデータが、前記マスタデータが配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置５００，６００，７００は、処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段５２０，６２０，７２０を備えた、
情報処理システム。
【００５０】
（付記２）
付記１に記載の情報処理システムであって、
前記各サーバ装置の前記各インメモリデータベースに、前記処理対象データが複数のデータ群に区分けして記憶されており、当該各データ群の各マスタデータ群が、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータ群に対応するスレーブデータ群が、前記マスタデータ群が配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置が有する前記インメモリデータ管理手段は、処理要求を受けた前記処理対象データが含まれる前記マスタデータ群を自装置が保持している場合に、当該マスタデータ群内のマスタデータに対する要求された処理を行うと共に、当該マスタデータ群に対応する他の前記サーバ装置に保持された前記スレーブデータ群に対してコピー処理を行う、
情報処理システム。
【００５１】
（付記３）
付記１又は２に記載の情報処理システムであって、
前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶した振り分け装置を備え、
前記振り分け装置は、前記処理対象データを特定する情報を含む処理要求を受け付けて、当該処理要求と前記配置テーブルとに基づいて前記処理対象データのマスタデータが配置されている前記サーバ装置を特定し、当該特定したサーバ装置に前記処理対象データの処理要求を振り分ける振り分け手段を備えた、
情報処理システム。
【００５２】
（付記４）
付記３に記載の情報処理システムであって、
前記サーバ装置は、前記配置テーブルを記憶すると共に、
前記サーバ装置が有する前記インメモリデータ管理手段は、前記配置テーブルに基づいて、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが他の前記サーバ装置に配置されている場合に、当該他のサーバ装置に処理要求を振り分ける、
情報処理システム。
【００５３】
（付記５）
付記４に記載の情報処理システムであって、
前記サーバ装置が有する前記インメモリデータ管理手段は、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが自装置に配置されている場合には、そのマスタデータに対する処理のみを行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行い、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが他の前記サーバ装置に配置されている場合には、そのマスタデータに対する処理要求のみを他のサーバ装置に処理要求を振り分け、
前記他のサーバ装置が有する前記インメモリデータ管理手段は、前記サーバ装置から振り分けられた処理要求にて特定される前記処理対象データのマスタデータが自装置に配置されている場合には、そのマスタデータに対する処理を行うと共に、このマスタデータに対応する別の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行う、
情報処理システム。
【００５４】
（付記６）
付記１乃至５のいずれかに記載の情報処理システムであって、
前記サーバ装置が有する前記インメモリデータ管理手段は、データの内容を変更しない処理要求を受けた前記処理対象データのスレーブデータが自装置に配置されている場合に、当該スレーブデータに対して要求された処理を行う、
情報処理システム。
【００５５】
（付記７）
付記６に記載の情報処理システムであって、
前記サーバ装置が有する前記インメモリデータ管理手段は、更新の処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、そのマスタデータに対して更新処理を行うと共に、参照の処理要求を受けた前記処理対象データのスレーブデータが自装置に配置されている場合に、そのスレーブデータに対して参照処理を行う、
情報処理システム。
【００５６】
（付記８）
処理対象データを記憶するインメモリデータベースを装備し、他のサーバ装置に接続されたサーバ装置であって、
前記インメモリデータベースに、他のサーバ装置と同一の前記処理対象データを記憶すると共に、自サーバ装置及び他のサーバ装置のいずれか１つに分散して配置された前記処理対象データのマスタデータと、他のサーバ装置に記憶されている前記処理対象データのマスタデータに対応するスレーブデータと、を記憶し、
処理要求を受けた前記処理対象データのマスタデータが自サーバ装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段を備えた、
サーバ装置。
【００５７】
（付記９）
付記８に記載のサーバ装置であって、
前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶し、
前記インメモリデータ管理手段は、前記配置テーブルに基づいて、処理要求にて特定される前記処理対象データのマスタデータが配置されている他のサーバ装置を特定し、当該他のサーバ装置に処理要求を振り分ける、
サーバ装置。
【００５８】
（付記１０）
他のサーバ装置に接続され、処理対象データを記憶するインメモリデータベースを装備したサーバ装置の前記インメモリデータベースに、他のサーバ装置と同一の前記処理対象データが記憶されていると共に、自サーバ装置及び他のサーバ装置のいずれか１つに分散して配置された前記処理対象データのマスタデータと、他のサーバ装置に記憶されている前記処理対象データのマスタデータに対応するスレーブデータと、が記憶されており、
前記サーバ装置に、処理要求を受けた前記処理対象データのマスタデータが自サーバ装置に配置されている場合に、当該マスタデータに対する要求された処理を行うと共に、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行うインメモリデータ管理手段、を実現させるためのプログラム。
【００５９】
（付記１１）
付記１０に記載のプログラムであって、
前記サーバ装置が、前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶しており、
前記インメモリデータ管理手段は、前記配置テーブルに基づいて、処理要求にて特定される前記処理対象データのマスタデータが配置されている他のサーバ装置を特定し、当該他のサーバ装置に処理要求を振り分ける、
プログラム。
【００６０】
（付記１２）
処理対象データを記憶するインメモリデータベースを装備したサーバ装置が複数備えられており、
前記各サーバ装置の前記各インメモリデータベースに、同一の前記処理対象データがそれぞれ記憶されており、当該処理対象データのマスタデータが、いずれか１つの前記サーバ装置に分散して配置されていると共に、当該マスタデータに対応するスレーブデータが、前記マスタデータが配置されていない他の前記サーバ装置に配置されており、
前記サーバ装置が、処理要求を受けた前記処理対象データのマスタデータが自装置に配置されている場合に、当該マスタデータに対する要求された処理を行い、このマスタデータに対応する他の前記サーバ装置に配置された前記スレーブデータに対してコピー処理を行う、
情報処理方法。
【００６１】
（付記１３）
付記１２に記載の情報処理方法であって、
前記各サーバ装置に対する前記処理対象データのマスタデータの配置を特定する配置テーブルを記憶した振り分け装置が、前記処理対象データを特定する情報を含む処理要求を受け付けて、当該処理要求と前記配置テーブルとに基づいて前記処理対象データのマスタデータが配置されている前記サーバ装置を特定し、当該特定したサーバ装置に前記処理対象データの処理要求を振り分け、
前記サーバ装置が、前記振り分け装置にて振り分けられた処理要求を受けた前記処理対象データのマスタデータに対する処理を行う、
情報処理方法。
【００６２】
（付記１４）
付記１３に記載の情報処理方法であって、
前記サーバ装置が、前記配置テーブルを記憶しており、当該配置テーブルに基づいて、前記振り分け装置にて振り分けられた処理要求にて特定される前記処理対象データのマスタデータが他の前記サーバ装置に配置されている場合に、当該他のサーバ装置に処理要求を振り分ける、
情報処理方法。
【符号の説明】
【００６３】
１１〜１３  処理システム
２０  フロントシステム
２１，３１  通信サーバ
２２，３２，２００  ＡＰサーバ
２３，３３，３００，３１０，３２０，３３０  ＯＬＴＰサーバ
２４，３４  ＤＢサーバ
３０  バックアップシステム
２０１  振り分け部
２０２，３０２  データ管理テーブル
３０１  インメモリデータ管理部
３０３  メモリテーブル
３０４  インメモリデータベース
３１１，３１２，３１３，３２１，３２２，３２３，３３１，３３２，３３３  ＦＯデータ群
【図１】
0005760350.tif 000002
【図２】
0005760350.tif 000003
【図３】
0005760350.tif 000004
【図４】
0005760350.tif 000005
【図５】
0005760350.tif 000006
【図６】
0005760350.tif 000007
【図７】
0005760350.tif 000008
【図８】
0005760350.tif 000009
【図９】
0005760350.tif 000010