(57)【要約】【課題】処理対象ファイルの状況を考慮して、並列分散処理を実行するための情報処理システム、情報処理方法及び情報処理プログラムを提供する。【解決手段】管理サーバ２０の制御部２１が、ネッティング情報記憶部２３を用いて、ネッティンググループに属する取引情報を特定し、割振ルール記憶部２４の割振ルールを用いて、ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、情報処理サーバ群１０で計算処理の並列分散処理を実行し、計算処理の実績計算時間を用いて、割振ルール記憶部２４の割振ルールを変更する見直し処理を実行する。【選択図】図１
2020135426.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算リソースを備えた情報処理サーバに接続された制御部と、
同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、
各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備えた情報処理システムであって、
前記制御部が、
前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、
前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、
前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行することを特徴とする情報処理システム。
【請求項２】
前記割振ルールには、前記ネッティンググループに属する各取引情報に割り振る初期計算リソース数、単位計算時間が記録され、
前記制御部が、
各取引情報に含まれる取引量を取得し、
前記取引量、初期計算リソース数、及び単位計算時間を用いて、各取引情報の計算時間を算出し、
前記計算時間が長い第１取引情報に対して、前記第１取引情報よりも前記計算時間が短い第２取引情報の一部の計算リソースを割り振る変更を行ない、
前記第２取引情報の計算時間が、前記ネッティンググループに属する各取引情報の計算時間を超える場合には、前記変更を取り消すことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記制御部が、前記第２取引情報として、割り振られた計算リソース数が多い取引情報を特定することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記割振ルール記憶部には、平常日及び特異日に応じて割振ルールが記録されており、
前記制御部が、
前記取引情報に含まれる取引日に基づいて、平常日又は特異日のいずれかを特定し、
前記特定した平常日又は特異日のいずれかに応じた割振ルールを用いて、各取引情報に計算リソース数を割り振ることを特徴とする請求項１〜３の何れか一項に記載の情報処理システム。
【請求項５】
前記制御部が、前記取引情報に含まれる取引量が基準範囲を超えると判定した場合には、前記商品毎の取引量の割合に応じて計算リソース数を割り振ることを特徴とする請求項１〜４の何れか一項に記載の情報処理システム。
【請求項６】
前記取引情報には、商品種別が設定されており、
前記割振ルールには、取引情報の商品種別に基づいて計算リソース数が記録されていることを特徴とする請求項１〜５の何れか一項に記載の情報処理システム。
【請求項７】
前記取引情報には、商品の年限が設定されており、
前記割振ルールには、取引情報の商品の年限に基づいて計算リソース数が記録されていることを特徴とする請求項１〜６の何れか一項に記載の情報処理システム。
【請求項８】
前記制御部が、
前記計算処理において、取引情報の計算処理を終了した空計算リソースを検知した場合、前記ネッティンググループに属する他の取引情報の計算処理に対して、前記空計算リソースを割り振り、
前記見直し処理において、前記空計算リソースを割り振った計算処理の実績計算時間について、前記空計算リソースを割り振らなかった場合の換算計算時間を算出することを特徴とする請求項１〜７の何れか一項に記載の情報処理システム。
【請求項９】
複数の計算リソースを備えた情報処理サーバに接続された制御部と、
同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、
各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備えた情報処理システムを用いて、情報処理を行なう方法であって、
前記制御部が、
前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、
前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、
前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行することを特徴とする情報処理方法。
【請求項１０】
複数の計算リソースを備えた情報処理サーバに接続された制御部と、
同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、
各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備えた情報処理システムを用いて、情報処理を行なうためのプログラムであって、
前記制御部を、
前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、
前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、
前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行する手段として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理対象ファイルを用いた並列分散処理において、負荷分散を図るための情報処理システム、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
複数の計算処理サーバを利用して、分散して計算処理を行なう場合がある（例えば、特許文献１を参照。）。この文献に記載された技術では、計算スロット管理サーバの制御部は、夜間バッチ処理の処理所要時間を実行結果履歴データ記憶部に記録する。締めバッチ処理を行なう場合には、制御部は、夜間バッチ処理を行なった計算スロットについて実行結果履歴を用いて重み付け値を算出する。新規スロットについては、新規スロットと同一計算モデルの計算スロット毎に平均残存期間を算出し、平均残存期間に近い既処理スロットの単位処理時間を算出する。そして、単位処理時間に取引件数を乗算して重み付け値を算出し、重み付け値の大きい順番に、ホストシステムに、ポジションや収益の算出処理のリクエストを発行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−８３９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、まとめて取り扱う複数の処理対象ファイルについて、複数の計算リソースによる並列分散処理により、同時期に計算処理を行なう場合がある。ここで、各処理対象ファイルによって計算時間が異なると、全体の計算終了は、計算時間が長い処理対象ファイルに依存することになる。また、各処理対象ファイルの容量が動的に変化する場合、固定的に定めた計算リソース配分では、全体の計算時間を短縮化できないという課題がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、情報処理システムは、複数の計算リソースを備えた情報処理サーバに接続された制御部と、同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備える。そして、前記制御部が、前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行する。
【発明の効果】
【０００６】
本発明によれば、処理対象ファイルの状況を考慮して、並列分散処理を実行することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態のシステム概略図。
【図２】本実施形態のハードウェア構成例の説明図。
【図３】本実施形態の処理手順の説明図であって、（ａ）は日次処理、（ｂ）は週次処理の説明図。
【図４】本実施形態の処理手順の説明図。
【図５】本実施形態の処理手順の説明図。
【図６】本実施形態の処理手順の説明図であって、（ａ）は平常日見直し処理、（ｂ）は特異日見直し処理の説明図。
【図７】本実施形態の処理の説明図であって、（ａ）は商品種別・年限に対する負荷、単位計算時間の関係、（ｂ）はコア数の割当時の説明図。
【図８】他の実施形態の処理手順の説明図。
【発明を実施するための形態】
【０００８】
以下、図１〜図７を用いて、情報処理システム、情報処理方法及び情報処理プログラムの実施形態を説明する。
図１に示すように、本実施形態では、ネットワークを介して接続された情報処理サーバ群１０、管理サーバ２０を用いる。
【０００９】
（ハードウェア構成例）
図２は、情報処理サーバ群１０、管理サーバ２０等として機能する情報処理装置Ｈ１０のハードウェア構成例である。
【００１０】
情報処理装置Ｈ１０は、通信装置Ｈ１１、入力装置Ｈ１２、表示装置Ｈ１３、記憶部Ｈ１４、プロセッサＨ１５を有する。なお、このハードウェア構成は一例であり、他のハードウェアを有していてもよい。
【００１１】
通信装置Ｈ１１は、他の装置との間で通信経路を確立して、データの送受信を実行するインタフェースであり、例えばネットワークインタフェースカードや無線インタフェース等である。
【００１２】
入力装置Ｈ１２は、利用者等からの入力を受け付ける装置であり、例えばマウスやキーボード等である。表示装置Ｈ１３は、各種情報を表示するディスプレイやタッチパネル等である。
【００１３】
記憶部Ｈ１４は、情報処理サーバ群１０、管理サーバ２０の各種機能を実行するためのデータや各種プログラムを格納する記憶装置（例えば、後述する取引情報記憶部２２〜第２ファイル記憶部２７）である。記憶部Ｈ１４の一例としては、ＲＯＭ、ＲＡＭ、ハードディスク等がある。
【００１４】
プロセッサＨ１５は、記憶部Ｈ１４に記憶されるプログラムやデータを用いて、情報処理サーバ群１０、管理サーバ２０における各処理（例えば、後述する制御部２１における処理）を制御する。プロセッサＨ１５の一例としては、例えばＣＰＵやＭＰＵ等がある。このプロセッサＨ１５は、ＲＯＭ等に記憶されるプログラムをＲＡＭに展開して、各種処理に対応する各種プロセスを実行する。例えば、プロセッサＨ１５は、情報処理サーバ群１０、管理サーバ２０のアプリケーションプログラムが起動された場合、後述する各処理を実行するプロセスを動作させる。
【００１５】
プロセッサＨ１５は、自身が実行するすべての処理についてソフトウェア処理を行なうものに限られない。例えば、プロセッサＨ１５は、自身が実行する処理の少なくとも一部についてハードウェア処理を行なう専用のハードウェア回路（例えば、特定用途向け集積回路：ＡＳＩＣ）を備えてもよい。すなわち、プロセッサＨ１５は、（１）コンピュータプログラム（ソフトウェア）に従って動作する１つ以上のプロセッサ、（２）各種処理のうち少なくとも一部の処理を実行する１つ以上の専用のハードウェア回路、或いは（３）それらの組み合わせ、を含む回路（circuitry）として構成し得る。プロセッサは、ＣＰＵ並びに、ＲＡＭ及びＲＯＭ等のメモリを含み、メモリは、処理をＣＰＵに実行させるように構成されたプログラムコード又は指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【００１６】
（各情報処理装置の機能）
情報処理サーバ群１０は、計算リソースとして、複数の計算処理ユニット（コア）を備えた第１サーバ群１１、第２サーバ群１２、第３サーバ群１３により構成される。第１サーバ群１１は、多数の計算処理ユニット（例えば、８コア）を備える。また、第２サーバ群１２は、第１サーバ群１１よりも少ない計算処理ユニット（例えば、４コア）を備える。また、第３サーバ群１３は、第２サーバ群１２よりも少ない計算処理ユニット（例えば、２コア）を備える。本実施形態では、第１サーバ群１１〜第３サーバ群１３の総コア数を用いて、複数の処理対象ファイルの並列分散処理により計算処理を実行する。
【００１７】
管理サーバ２０は、情報処理サーバ群１０において実行される計算処理を管理するコンピュータシステムである。例えば、管理サーバ２０は、上流システムから、処理対象ファイルとして、勘定系や市場系の処理に基づいて生成された取引ファイル（本実施形態では、店頭でのデリバティブ取引等の証券金融取引ファイル）を取得する。そして、情報処理サーバ群１０の第１サーバ群１１〜第３サーバ群１３に取引ファイルを割り振ることより、計算処理（業務処理）を実行する。例えば、証券金融取引における信用リスクを時価に反映させるための信用評価調整（ＣＶＡ：Credit valuation adjustment）処理等を行なう。
【００１８】
管理サーバ２０は、制御部２１、取引情報記憶部２２、ネッティング情報記憶部２３、割振ルール記憶部２４、実績情報記憶部２５、第１ファイル記憶部２６、第２ファイル記憶部２７を備える。
【００１９】
制御部２１は、後述する処理（ネッティング段階、振分段階、監視段階、更新段階等の各処理）を行なう。そのための情報処理プログラムを実行することにより、ネッティング部２１１、振分部２１２、監視部２１３、更新部２１４として機能する。
【００２０】
ネッティング部２１１は、同時期に計算処理を行なう複数の取引ファイルと、個別に計算処理を行なう取引ファイルとに分ける処理を実行する。複数の取引をまとめて信用評価調整処理を行なう必要がある場合には、同時期に複数の取引ファイルをまとめてネッティンググループとして計算処理を行なう。
【００２１】
振分部２１２は、割振ルールに基づいて、情報処理サーバ群１０において、取引ファイルについての計算処理に用いるコア数を割り振る処理を実行する。この振分部２１２は、現在日が平常日又は特異日のいずれかであるかを識別するカレンダ情報を保持する。特異日は、五十日、月末日、期末日等に応じて、取引が増えるイベントがある暦日である。一方、平常日は、取引が増えるイベントがない暦日（特異日以外）である。更に、振分部２１２は、取引量の急増を判定するための基準割合に関するデータを保持する。そして、振分部２１２は、コア数を割り振るための管理テーブルを保持する。
【００２２】
監視部２１３は、情報処理サーバ群１０における計算処理の状況を監視し、処理を終了したコアに対して、新たな計算処理を割り振る処理を実行する。
更新部２１４は、計算処理に用いるコアの割振ルールを更新する処理を実行する。
取引情報記憶部２２には、情報処理サーバ群１０における計算処理（信用評価調整処理）に用いる取引ファイルが記録される。この取引ファイルは、上流システムから取得した場合に記録される。この取引ファイルは、商品種別毎に生成されており、この商品種別において行なわれた個別取引についての複数の取引レコードが含まれる。この取引レコードのレコード数は、取引日の取引量に応じて変化する。この取引レコードには、年限、取引内容に関するデータが記録される。
【００２３】
商品種別データ領域には、取引が行なわれた商品の種別を特定するための識別子に関するデータが記録される。本実施形態では、商品種別として、オプション（複雑系商品）、ＩＲＳ（金利系商品）、ＦＸ（為替系商品）等がある。
【００２４】
年限データ領域には、この取引が継続する期間の長さ（年限）に関するデータが記録される。例えば、「５年未満」、「５年〜１０年」、「１０年以上」が記録される。この期間について各年毎に信用評価調整処理が行なわれるため、年限が長いほど、計算負荷が大きくなる。
取引内容データ領域には、各個別取引に用いられた取引条件に関するデータが記録される。この取引条件を用いて、信用評価調整処理を行なう。
【００２５】
ネッティング情報記憶部２３には、同時期に計算処理を行なう商品種別（ネッティング対象）を特定するためのネッティング管理テーブルが記録される。このネッティング管理テーブルは、信用評価調整処理において、まとめて計算する必要がある商品種別が決められた場合に登録される。このネッティング管理テーブルには、ネッティングコード、商品種別に関するデータが記録される。
【００２６】
ネッティングコードデータ領域には、同時期に計算処理を行なうネッティンググループを特定するための識別子に関するデータが記録される。
商品種別データ領域には、このネッティンググループに属するネッティング対象の取引ファイルの商品種別を特定するための識別子に関するデータが記録される。
【００２７】
割振ルール記憶部２４には、取引ファイルを用いた計算処理に用いるコア数を特定するための割振ルール管理テーブルが記録される。この割振ルール管理テーブルは、計算処理に用いるコア数が決められた場合に登録される。この割振ルール管理テーブルは、ネッティングコード、商品種別、年限に対して、単位負荷、単位計算時間、暦日種別、コア数に関するデータが記録される。
【００２８】
ネッティングコードデータ領域には、同時期に計算処理を行なうネッティンググループを特定するための識別子に関するデータが記録される。なお、ネッティンググループに属さない商品種別については、このデータ領域は空欄にしておく。
【００２９】
商品種別データ領域には、計算処理に用いる取引ファイルの商品の種別を特定するための識別子に関するデータが記録される。
年限データ領域には、取引が継続する期間の長さ（年限）に関するデータが記録される。
【００３０】
単位負荷データ領域には、取引ファイルに含まれる各個別取引の計算処理の負荷に関するデータが記録される。この単位負荷は、年限が長くなるほど大きくなるように設定されている。
【００３１】
単位計算時間データ領域には、取引ファイルに含まれる各個別取引の計算処理に要する計算時間に関するデータが記録される。本実施形態では、商品種別毎に同じ単位計算時間を設定する。
【００３２】
暦日種別データ領域には、平常日又は特異日のいずれかの取り扱いを識別するためのフラグが記録される。
コア数データ領域には、この取引ファイルの計算処理に割り振るコア数に関するデータが記録される。
【００３３】
実績情報記憶部２５には、実行した計算処理について実績管理レコードが記録される。この実績管理レコードは、計算処理を終了した場合に記録される。実績管理レコードには、処理日、ネッティングコード、商品種別、年限に対して、暦日種別、取引量、コア数、実績計算時間に関するデータが記録される。
【００３４】
処理日データ領域には、計算処理を行なった年月日に関するデータが記録される。
ネッティングコードデータ領域には、同時期に計算処理を行なったネッティンググループを特定するための識別子に関するデータが記録される。
【００３５】
商品種別データ領域には、計算処理に用いた取引ファイルの商品種別に関するデータが記録される。
年限データ領域には、取引が継続する期間の長さ（年限）に関するデータが記録される。
【００３６】
暦日種別データ領域には、平常日又は特異日のいずれかの取り扱いを識別するためのフラグが記録される。
取引量データ領域には、計算処理に用いた取引ファイルに含まれる取引レコード数に関するデータが記録される。
【００３７】
コア数データ領域には、この取引ファイルの計算処理に割り振ったコア数に関するデータが記録される。
実績計算時間データ領域には、この取引ファイルの計算処理に要した時間に関するデータが記録される。
【００３８】
第１ファイル記憶部２６には、上流システムから取得した取引ファイルの中で、ネッティングを行なう取引ファイルが記録される。
第２ファイル記憶部２７には、上流システムから取得した取引ファイルの中で、ネッティングを行なわない取引ファイルが記録される。
【００３９】
（日次処理）
次に、図３（ａ）を用いて、日次処理を説明する。
まず、管理サーバ２０の制御部２１は、ネッティング処理を実行する（ステップＳ１−１）。具体的には、制御部２１のネッティング部２１１は、上流システムから取得した取引ファイルを取引情報記憶部２２に記録する。次に、ネッティング部２１１は、ネッティング情報記憶部２３を用いて、取引情報記憶部２２に記録された取引ファイルについて、商品種別を用いてネッティング対象又はネッティング非対象を識別する。そして、ネッティング部２１１は、ネッティング対象の取引ファイルについては、ネッティング情報記憶部２３から取得したネッティングコードに関連付けて、第１ファイル記憶部２６に記録する。一方、ネッティング非対象の取引ファイルについては、第２ファイル記憶部２７に記録する。
【００４０】
次に、管理サーバ２０の制御部２１は、コア数割当処理を実行する（ステップＳ１−２）。具体的には、制御部２１の振分部２１２は、第１ファイル記憶部２６、第２ファイル記憶部２７に記録された取引ファイルに対して、割振ルール記憶部２４を用いて、コア数を割り振る。このコア数割当処理についての詳細は、図４、図５を用いて後述する。
【００４１】
次に、管理サーバ２０の制御部２１は、評価計算処理を実行する（ステップＳ１−３）。具体的には、制御部２１の監視部２１３は、第１ファイル記憶部２６に記録され、同じネッティンググループに属する取引ファイルについては、情報処理サーバ群１０において、割り振られたコア数により、同時期に計算処理を実行させる（マルチスレッド）。一方、第２ファイル記憶部２７に記録されたネッティング非対象の取引ファイルについては、情報処理サーバ群１０において、順次、割り振られたコア数により、計算処理を実行させる（シングルスレッド）。
【００４２】
次に、管理サーバ２０の制御部２１は、実績記録処理を実行する（ステップＳ１−４）。具体的には、制御部２１の監視部２１３は、情報処理サーバ群１０における計算処理状況を監視する。取引ファイルの計算処理を終了した場合、監視部２１３は、処理日、ネッティングコード、商品種別、年限に対して、暦日種別、取引量、コア数、実績計算時間を記録した実績管理レコードを生成し、実績情報記憶部２５に記録する。
【００４３】
そして、まだ計算処理を行なっていない取引ファイルが第１ファイル記憶部２６、第２ファイル記憶部２７に残っている場合、管理サーバ２０の制御部２１は、この取引ファイルに対して、コア数割当処理（ステップＳ１−２）〜実績記録処理（ステップＳ１−４）を実行する。
【００４４】
（週次処理）
次に、図３（ｂ）を用いて、週次処理を説明する。
ここでは、管理サーバ２０の制御部２１は、平常日見直し処理を実行する（ステップＳ２−１）。具体的には、制御部２１の更新部２１４は、暦日種別データ領域に平常日フラグが記録された実績管理レコードを用いて見直し処理を実行する。この見直し処理の詳細は、図６（ａ）を用いて後述する。
【００４５】
そして、管理サーバ２０の制御部２１は、特異日見直し処理を実行する（ステップＳ２−２）。具体的には、制御部２１の更新部２１４は、暦日種別データ領域に特異日フラグが記録された実績管理レコードを用いて見直し処理を実行する。この見直し処理の詳細は、図６（ｂ）を用いて後述する。
【００４６】
（コア数割当処理）
次に、図４、図５を用いて、ネッティンググループに属する取引ファイルについてのコア数割当処理を説明する。ここでは、商品種別・年限毎に以下の処理を繰り返す。
【００４７】
まず、管理サーバ２０の制御部２１は、取引量の特定処理を実行する（ステップＳ３−１）。具体的には、制御部２１の振分部２１２は、第１ファイル記憶部２６に記録された取引ファイルに含まれる取引レコード数（今回取引量）を算出する。
【００４８】
次に、管理サーバ２０の制御部２１は、特異日かどうかについての判定処理を実行する（ステップＳ３−２）。具体的には、制御部２１の振分部２１２は、システムタイマから現在日を取得する。そして、振分部２１２は、カレンダ情報を用いて、現在日が平常日又は特異日を識別する。
【００４９】
平常日であり、特異日ではないと判定した場合（ステップＳ３−２において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、取引量は急増しているかどうかについての判定処理を実行する（ステップＳ３−３）。具体的には、制御部２１の振分部２１２は、実績情報記憶部２５から、処理対象と同じ商品種別・年限が記録されるとともに、平常日フラグが記録された直近の実績管理レコードを取得する。そして、振分部２１２は、取得した実績管理レコードに記録された取引量（過去取引量）を特定する。次に、振分部２１２は、過去取引量と今回取引量とを比較する。そして、振分部２１２は、過去取引量に対して、今回取引量が基準割合以上で増加している場合には、急増と判定する。
【００５０】
取引量は急増していないと判定した場合（ステップＳ３−３において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、平常日の初期コア数の特定処理を実行する（ステップＳ３−４）。具体的には、制御部２１の振分部２１２は、割振ルール記憶部２４から、平常日フラグに関連付けられたコア数を取得し、初期コア数として特定する。
【００５１】
一方、特異日と判定した場合や、取引量の急増と判定した場合（ステップＳ３−２、Ｓ３−３において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、特異日の初期コア数の特定処理を実行する（ステップＳ３−５）。具体的には、制御部２１の振分部２１２は、割振ルール記憶部２４から、特異日フラグに関連付けられたコア数を取得し、初期コア数として特定する。
【００５２】
次に、管理サーバ２０の制御部２１は、計算時間の算出処理を実行する（ステップＳ３−６）。具体的には、制御部２１の振分部２１２は、割振ルール記憶部２４から、商品種別・年限に関連付けられた単位負荷を取得し、取引量に乗算して、今回負荷を算出する。そして、振分部２１２は、今回負荷に単位計算時間を乗算して全体計算時間を算出し、この全体計算時間をコア数で除算することにより計算時間を算出する。そして、振分部２１２は、算出した計算時間を管理テーブルに記録する。
以上の処理を、商品種別・年限毎に繰り返す。
【００５３】
図７（ａ）に示すように、管理テーブル５０１には、ネッティンググループＡにおいては、商品種別「複雑系商品」、「金利系商品」、「為替系商品」の各年限に対して、単位負荷、単位計算時間が設定されている。そして、各取引ファイルのレコード数（取引量）に応じて、今回負荷が算出される。更に、今回負荷に単位計算時間を乗算した全体計算時間が記録される。
【００５４】
そして、図７（ｂ）に示すように、管理テーブル５０２に、各商品種別・年限に割り振ったコア数を記録し、このコア数で全体計算時間を除算して算出した計算時間を記録する。
【００５５】
次に、図５に示すように、管理サーバ２０の制御部２１は、計算時間が長い商品種別・年限の特定処理を実行する（ステップＳ４−１）。具体的には、制御部２１の振分部２１２は、ネッティンググループの管理テーブルにおいて、計算時間が最も長い商品種別・年限を特定する。ここで、複数の商品種別・年限において計算時間が最も長くなっている場合には、コア数が最も多い商品種別・年限を特定する。
【００５６】
図７（ｂ）に示す管理テーブル５０２では、初期コア数を用いる場合、「複雑系商品」の「１０年以上」の計算時間が最も長くなっている。
次に、管理サーバ２０の制御部２１は、コア数の仮変更処理を実行する（ステップＳ４−２）。具体的には、制御部２１の振分部２１２は、特定した商品種別・年限のコア数に「１」を加算する。図７（ｂ）に示す管理テーブル５０３では、「複雑系商品」の「１０年以上」のコア数を「６」から「７」に仮変更する。
【００５７】
次に、管理サーバ２０の制御部２１は、計算時間が短い商品種別・年限の特定処理を実行する（ステップＳ４−３）。具体的には、制御部２１の振分部２１２は、ネッティンググループの管理テーブルにおいて、計算時間が最も短い商品種別・年限を特定する。ここで、複数の商品種別・年限において計算時間が最も短くなっている場合には、コア数が最も多い商品種別・年限を特定する。なお、「２」以上のコア数が割り振られている商品種別・年限を変更対象として選択し、コア数が「１」の商品種別・年限は選択対象外とする。図７（ｂ）に示す管理テーブル５０３では、「為替系商品」の「５年未満」、「５年〜１０年」の計算時間も、「１０年以上」の計算時間と同じであるが、割り振られたコア数が多い「１０年以上」を優先して特定する。
【００５８】
次に、管理サーバ２０の制御部２１は、コア数の仮変更処理を実行する（ステップＳ４−４）。具体的には、制御部２１の振分部２１２は、特定した商品種別・年限のコア数から「１」を減算する。図７（ｂ）に示す管理テーブル５０３では、「為替系商品」の「１０年以上」のコア数を「３」から「２」に仮変更する。
【００５９】
次に、管理サーバ２０の制御部２１は、コア数を変更した商品種別・年限の計算時間の再算出処理を実行する（ステップＳ４−５）。具体的には、制御部２１の振分部２１２は、コア数を変更した商品種別・年限について、変更したコア数を用いて計算時間を再度、算出し、管理テーブルに記録する。
【００６０】
図７（ｂ）に示す管理テーブル５０３で示すように、「複雑系商品」の「１０年以上」、「為替系商品」の「１０年以上」の計算時間を再算出して変更する。
次に、管理サーバ２０の制御部２１は、コア数を減らした計算時間が、最長時間を超えたかどうかについての判定処理を実行する（ステップＳ４−６）。具体的には、制御部２１の振分部２１２は、再算出した計算時間と、管理テーブルに記録された最長の計算時間とを比較する。図７（ｂ）に示す管理テーブル５０３では、コア数を減らした「為替系商品」の「１０年以上」の計算時間は「750」であり、最長時間の「複雑系商品」の「１０年以上」の計算時間「1071」を超えていない。
【００６１】
コア数を減らすことにより、最長時間を超えたと判定した場合（ステップＳ４−６において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、コア数の仮変更の取消処理を実行する（ステップＳ４−７）。具体的には、制御部２１の振分部２１２は、仮変更したコア数を元に戻す。
【００６２】
一方、コア数を減らしても、最長時間を超えていないと判定した場合（ステップＳ４−６において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、コア数の仮変更の取消処理（ステップＳ４−７）をスキップする。
【００６３】
次に、管理サーバ２０の制御部２１は、他の変更候補があるかどうかについての判定処理を実行する（ステップＳ４−８）。具体的には、制御部２１の振分部２１２は、コア数を変更できる商品種別・年限を探す。
【００６４】
他の変更候補があると判定した場合（ステップＳ４−８において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、計算時間が長い商品種別・年限の特定処理（ステップＳ４−１）に戻る。
【００６５】
一方、他の変更候補がないと判定した場合（ステップＳ４−８において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、コア数割当処理を終了する。
図７（ｂ）に示す管理テーブル５０３では、最長時間は「複雑系商品」の「１０年以上」の計算時間「1071」であり、管理テーブル５０４に示すように、コア数を「７」から「８」に仮変更した場合、計算時間は「938」となる。ここで、計算時間が短い「為替系商品」の「５年〜１０年」のコア数を「２」から「１」に仮変更した場合、計算時間は「1000」となり、最長時間を超える。なお、「為替系商品」の「５年未満」のコア数は「１」であるため、変更できない。
【００６６】
図７（ｂ）に示す管理テーブル５０３で次に計算時間が短い「複雑系商品」の「５年未満」コア数を、管理テーブル５０４に示すように、「４」から「３」に仮変更した場合、計算時間「833」であり、最長時間を超えないので、コア数を変更する。
【００６７】
一方、管理テーブル５０４では、最長時間は「複雑系商品」の「５年〜１０年」の計算時間「1000」である。ここで、他のいずれの商品種別・年限のコア数を減らしても、最長時間以上になるので、他の変更候補がない。
【００６８】
（平常日見直し処理）
次に、図６（ａ）を用いて、平常日見直し処理を説明する。この処理は、商品毎に繰り返す。なお、商品種別・年限毎に平常日見直し処理を行なってもよい。
【００６９】
まず、管理サーバ２０の制御部２１は、実績の取得処理を実行する（ステップＳ５−１）。具体的には、制御部２１の更新部２１４は、実績情報記憶部２５から、処理対象の商品種別について、平常日フラグが記録され、処理日が直近の所定期間（ここでは、１週間）の実績管理レコードを抽出する。
【００７０】
次に、管理サーバ２０の制御部２１は、実績値に応じて単位計算時間の算出処理を実行する（ステップＳ５−２）。具体的には、制御部２１の更新部２１４は、実績管理レコードに記録された実績計算時間、コア数、取引量を、それぞれ総和する。そして、実績計算時間の総和値を、コア数の総和値及び取引量の総和値で除算することにより、単位計算時間（実績単位計算時間）を算出する。
【００７１】
次に、管理サーバ２０の制御部２１は、当初の単位計算時間の特定処理を実行する（ステップＳ５−３）。具体的には、制御部２１の更新部２１４は、割振ルール記憶部２４に記録されている単位計算時間（初期単位計算時間）を取得する。
【００７２】
次に、管理サーバ２０の制御部２１は、許容範囲内かどうかについての判定処理を実行する（ステップＳ５−４）。具体的には、制御部２１の更新部２１４は、初期単位計算時間と実績単位計算時間とを比較する。ここでは、実績単位計算時間を初期単位計算時間で除算し、基準割合（例えば、±３０％）内に含まれる場合には、許容範囲内と判定する。
【００７３】
許容範囲内と判定した場合（ステップＳ５−４において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、実績値に応じた単位計算時間で更新処理を実行する（ステップＳ５−５）。具体的には、制御部２１の更新部２１４は、実績単位計算時間を、商品種別、平常日フラグに関連付けて、割振ルール記憶部２４に記録する。
【００７４】
一方、許容範囲内でないと判定した場合（ステップＳ５−４において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、特異日扱い処理を実行する（ステップＳ５−６）。具体的には、制御部２１の更新部２１４は、実績管理レコードを特異日見直し処理に用いるために、メモリに仮記憶する。
【００７５】
（特異日見直し処理）
次に、図６（ｂ）を用いて、特異日見直し処理を説明する。この処理も、商品毎に繰り返す。なお、商品種別・年限毎に特異日見直し処理を行なってもよい。
【００７６】
まず、管理サーバ２０の制御部２１は、実績の取得処理を実行する（ステップＳ６−１）。具体的には、制御部２１の更新部２１４は、実績情報記憶部２５から、処理対象の商品種別について、特異日フラグが記録され、処理日が直近の所定期間（ここでは、１週間）の実績管理レコードを抽出する。更に、特異日扱い処理（ステップＳ５−６）において、メモリに仮記憶した実績管理レコードを取得する。
【００７７】
次に、管理サーバ２０の制御部２１は、ステップＳ５−２と同様に、実績値に応じて単位計算時間の算出処理を実行する（ステップＳ６−２）。
次に、管理サーバ２０の制御部２１は、実績値に応じた単位計算時間で更新処理を実行する（ステップＳ６−３）。具体的には、制御部２１の更新部２１４は、実績単位計算時間を、商品種別、特異日フラグに関連付けて、割振ルール記憶部２４に記録する。
【００７８】
以上、本実施形態によれば、以下のような効果を得ることができる。
（１）本実施形態によれば、管理サーバ２０の制御部２１は、ネッティング処理（ステップＳ１−１）、コア数割当処理（ステップＳ１−２）、評価計算処理（ステップＳ１−３）を実行する。これにより、同時期に計算処理を行なう取引ファイルに対して、割振ルールを用いて、計算リソースを割り振って分散並列処理を行なうことができる。
【００７９】
（２）本実施形態によれば、管理サーバ２０の制御部２１は、実績記録処理を実行する（ステップＳ１−４）。これにより、取引量が変化する取引ファイルの計算処理に要する負荷を記録することができる。
【００８０】
（３）本実施形態によれば、管理サーバ２０の制御部２１は、平常日見直し処理（ステップＳ２−１）、特異日見直し処理（ステップＳ２−２）を実行する。これにより、平常日や特異日に応じて、適切な計算リソースの配分を決める割振ルールを更新することができる。
【００８１】
（４）本実施形態によれば、特異日と判定した場合や、取引量の急増と判定した場合（ステップＳ３−２、Ｓ３−３において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、特異日の初期コア数の特定処理を実行する（ステップＳ３−５）。これにより、平常日と異なる特異日に応じた計算リソースの割振を行なうことができる。
【００８２】
（５）本実施形態によれば、管理サーバ２０の制御部２１は、計算時間が長い商品種別・年限の特定処理（ステップＳ４−１）、コア数の仮変更処理（ステップＳ４−２）を実行する。これにより、取引ファイルの計算時間を平準化することができる。
【００８３】
（６）本実施形態によれば、管理サーバ２０の制御部２１は、計算時間が短い商品種別・年限の特定処理（ステップＳ４−３）、コア数の仮変更処理（ステップＳ４−４）、コア数を変更した商品種別・年限の計算時間の再算出処理（ステップＳ４−５）を実行する。これにより、計算時間が短い取引ファイルの計算リソースを、計算時間が長い取引ファイルの計算処理に用いることができる。
【００８４】
また、最長時間を超えたと判定した場合（ステップＳ４−６において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、コア数の仮変更の取消処理を実行する（ステップＳ４−７）。これにより、同時期に計算を行なう取引ファイルの計算時間の平準化を図ることができる。
【００８５】
（７）本実施形態によれば、許容範囲内と判定した場合（ステップＳ５−４において「ＹＥＳ」の場合）、管理サーバ２０の制御部２１は、実績値に応じた単位計算時間で更新処理を実行する（ステップＳ５−５）。これにより、実績に応じて、計算リソースの割振ルールを変更することができる。
【００８６】
（８）本実施形態によれば、許容範囲内でないと判定した場合（ステップＳ５−４において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、特異日扱い処理を実行する（ステップＳ５−６）。そして、特異日見直し処理において、管理サーバ２０の制御部２１は、実績の取得処理を実行する（ステップＳ６−１）。これにより、平常日とは異なる状況の場合には、特異日として扱うことができる。
【００８７】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、計算時間が長い商品種別・年限及び計算時間が短い商品種別・年限に割り振ったコア数を変更する。コア数の割振方法はこれに限定されるものではない。例えば、全体負荷を考慮して、コア数を割り振るようにしてもよい。
【００８８】
図８を用いて、全体負荷を考慮したコア数割当処理を説明する。
まず、管理サーバ２０の制御部２１は、商品種別・年限毎に以下の処理を繰り返す。
ここでは、管理サーバ２０の制御部２１は、ステップＳ３−１と同様に、取引量の特定処理を実行する（ステップＳ７−１）。
【００８９】
次に、管理サーバ２０の制御部２１は、総合負荷の算出処理を実行する（ステップＳ７−２）。具体的には、制御部２１の振分部２１２は、取引量に単位負荷及び単位計算時間を乗算した総合負荷を算出する。
【００９０】
次に、管理サーバ２０の制御部２１は、総合負荷に応じてコア数候補の算出処理を実行する（ステップＳ７−３）。具体的には、制御部２１の振分部２１２は、総合負荷の合計値を、全コア数で除算して、一つのコアで負担する単位負荷を算出する。そして、振分部２１２は、商品種別・年限毎に、総合負荷を単位負荷で除算することにより、コア数候補を算出する。この場合、小数点を切り捨てる。
【００９１】
すべての商品種別・年限についての繰り返し処理を終了した場合、管理サーバ２０の制御部２１は、コア数候補の調整処理を実行する（ステップＳ７−４）。具体的には、制御部２１の振分部２１２は、コア数候補を合計した合計値と、全コア数とを比較する。合計値が全コア数よりも少ない場合には、各商品種別・年限の総合負荷を、コア数候補で除算して、予想計算時間を算出する。そして、振分部２１２は、予想計算時間が最も長い商品種別・年限に、合計値と全コア数との差分のコア数を割り振る。
【００９２】
なお、図４、図５に示すコア数割当処理（第１割当処理）と、図８に示すコア数割当処理（第２割当処理）とを併用してもよい。例えば、平常日と判定した場合には、第１割当処理を実行し、特異日と判定した場合には、第２割当処理を実行するようにしてもよい。
【００９３】
・上記実施形態では、管理サーバ２０の制御部２１は、計算時間が長い商品種別・年限の特定処理（ステップＳ４−１）、計算時間が短い商品種別・年限の特定処理（ステップＳ４−３）を実行する。変更する商品種別・年限の特定の順番はこれに限定されるものではなく、先に計算時間が短い商品種別・年限を特定するようにしてもよい。
【００９４】
・上記実施形態では、許容範囲内でないと判定した場合（ステップＳ５−４において「ＮＯ」の場合）、管理サーバ２０の制御部２１は、特異日扱い処理を実行する（ステップＳ５−６）。許容範囲内でない場合、割振ルールの更新対象外としてもよい。
【００９５】
・上記実施形態では、管理サーバ２０の制御部２１は、評価計算処理を実行する（ステップＳ１−３）。ここで、早く計算処理を終了した取引ファイルに割り振った空コアを、まだ処理を終了していない取引ファイルの計算処理に割り振るようにしてもよい。この場合には、動的に割り当てた空コアを割り振られた計算処理の実績計算時間において、空コアが割り振られなかった場合を想定した計算時間を算出し、実績情報記憶部２５に記録する。例えば、空コアが割り振られる前の計算時間と、空コアが割り振られた後の計算時間とを、それぞれのコア数で除算した単位時間を算出する。そして、この単位時間に、空コアが割り振られる前のコア数を乗算することにより換算計算時間を算出する。これにより、動的なコアの割振に対して、本来のコア数を割り当てた場合の計算時間を記録することができる。
【符号の説明】
【００９６】
１０…情報処理サーバ群、１１…第１サーバ群、１２…第２サーバ群、１３…第３サーバ群、２０…管理サーバ、２１…制御部、２１１…ネッティング部、２１２…振分部、２１３…監視部、２１４…更新部、２２…取引情報記憶部、２３…ネッティング情報記憶部、２４…割振ルール記憶部、２５…実績情報記憶部、２６…第１ファイル記憶部、２７…第２ファイル記憶部。
【図１】
2020135426.tif 000003
【図２】
2020135426.tif 000004
【図３】
2020135426.tif 000005
【図４】
2020135426.tif 000006
【図５】
2020135426.tif 000007
【図６】
2020135426.tif 000008
【図７】
2020135426.tif 000009
【図８】
2020135426.tif 000010