特許第6669908号(P6669908)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ みずほ情報総研株式会社の特許一覧

特許6669908情報処理システム、情報処理方法及び情報処理プログラム
<>
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000002
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000003
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000004
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000005
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000006
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000007
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000008
  • 特許6669908-情報処理システム、情報処理方法及び情報処理プログラム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6669908
(24)【登録日】2020年3月2日
(45)【発行日】2020年3月18日
(54)【発明の名称】情報処理システム、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20200309BHJP
   G06F 16/182 20190101ALI20200309BHJP
【FI】
   G06F9/50 120A
   G06F16/182
   G06F9/50 150E
【請求項の数】10
【全頁数】17
(21)【出願番号】特願2019-28162(P2019-28162)
(22)【出願日】2019年2月20日
【審査請求日】2019年2月20日
(73)【特許権者】
【識別番号】592131906
【氏名又は名称】みずほ情報総研株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】久保 雅史
(72)【発明者】
【氏名】伊藤 文乃
【審査官】 加藤 優一
(56)【参考文献】
【文献】 特開2018−92252(JP,A)
【文献】 特開2017−162320(JP,A)
【文献】 特開2015−022606(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455− 9/54
G06F 12/00
G06F 16/00 −16/958
(57)【特許請求の範囲】
【請求項1】
複数の計算リソースを備えた情報処理サーバに接続された制御部と、
同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、
各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備えた情報処理システムであって、
前記制御部が、
前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、
前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、
前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行することを特徴とする情報処理システム。
【請求項2】
前記割振ルールには、前記ネッティンググループに属する各取引情報に割り振る初期計算リソース数、単位計算時間が記録され、
前記制御部が、
各取引情報に含まれる取引量を取得し、
前記取引量、初期計算リソース数、及び単位計算時間を用いて、各取引情報の計算時間を算出し、
前記計算時間が長い第1取引情報に対して、前記第1取引情報よりも前記計算時間が短い第2取引情報の一部の計算リソースを割り振る変更を行ない、
前記第2取引情報の計算時間が、前記ネッティンググループに属する各取引情報の計算時間を超える場合には、前記変更を取り消すことを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記制御部が、前記第2取引情報として、割り振られた計算リソース数が多い取引情報を特定することを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記割振ルール記憶部には、平常日及び特異日に応じて割振ルールが記録されており、
前記制御部が、
前記取引情報に含まれる取引日に基づいて、平常日又は特異日のいずれかを特定し、
前記特定した平常日又は特異日のいずれかに応じた割振ルールを用いて、各取引情報に計算リソース数を割り振ることを特徴とする請求項1〜3の何れか一項に記載の情報処理システム。
【請求項5】
前記制御部が、前記取引情報に含まれる取引量が基準範囲を超えると判定した場合には、前記商品毎の取引量の割合に応じて計算リソース数を割り振ることを特徴とする請求項1〜4の何れか一項に記載の情報処理システム。
【請求項6】
前記取引情報には、商品種別が設定されており、
前記割振ルールには、取引情報の商品種別に基づいて計算リソース数が記録されていることを特徴とする請求項1〜5の何れか一項に記載の情報処理システム。
【請求項7】
前記取引情報には、商品の年限が設定されており、
前記割振ルールには、取引情報の商品の年限に基づいて計算リソース数が記録されていることを特徴とする請求項1〜6の何れか一項に記載の情報処理システム。
【請求項8】
前記制御部が、
前記計算処理において、取引情報の計算処理を終了した空計算リソースを検知した場合、前記ネッティンググループに属する他の取引情報の計算処理に対して、前記空計算リソースを割り振り、
前記見直し処理において、前記空計算リソースを割り振った計算処理の実績計算時間について、前記空計算リソースを割り振らなかった場合の換算計算時間を算出することを特徴とする請求項1〜7の何れか一項に記載の情報処理システム。
【請求項9】
複数の計算リソースを備えた情報処理サーバに接続された制御部と、
同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、
各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備えた情報処理システムを用いて、情報処理を行なう方法であって、
前記制御部が、
前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、
前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、
前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行することを特徴とする情報処理方法。
【請求項10】
複数の計算リソースを備えた情報処理サーバに接続された制御部と、
同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、
各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備えた情報処理システムを用いて、情報処理を行なうためのプログラムであって、
前記制御部を、
前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、
前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、
前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行する手段として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理対象ファイルを用いた並列分散処理において、負荷分散を図るための情報処理システム、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
複数の計算処理サーバを利用して、分散して計算処理を行なう場合がある(例えば、特許文献1を参照。)。この文献に記載された技術では、計算スロット管理サーバの制御部は、夜間バッチ処理の処理所要時間を実行結果履歴データ記憶部に記録する。締めバッチ処理を行なう場合には、制御部は、夜間バッチ処理を行なった計算スロットについて実行結果履歴を用いて重み付け値を算出する。新規スロットについては、新規スロットと同一計算モデルの計算スロット毎に平均残存期間を算出し、平均残存期間に近い既処理スロットの単位処理時間を算出する。そして、単位処理時間に取引件数を乗算して重み付け値を算出し、重み付け値の大きい順番に、ホストシステムに、ポジションや収益の算出処理のリクエストを発行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−83975号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、まとめて取り扱う複数の処理対象ファイルについて、複数の計算リソースによる並列分散処理により、同時期に計算処理を行なう場合がある。ここで、各処理対象ファイルによって計算時間が異なると、全体の計算終了は、計算時間が長い処理対象ファイルに依存することになる。また、各処理対象ファイルの容量が動的に変化する場合、固定的に定めた計算リソース配分では、全体の計算時間を短縮化できないという課題がある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、情報処理システムは、複数の計算リソースを備えた情報処理サーバに接続された制御部と、同時期に計算処理を行なうネッティンググループに関するネッティング情報記憶部と、各商品の計算処理に割り振る計算リソースの割振ルールを記録する割振ルール記憶部とを備える。そして、前記制御部が、前記ネッティング情報記憶部を用いて、ネッティンググループに属する取引情報を特定し、前記割振ルール記憶部の割振ルールを用いて、前記ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、前記情報処理サーバで計算処理の並列分散処理を実行し、前記計算処理の実績計算時間を用いて、前記割振ルール記憶部の割振ルールを変更する見直し処理を実行する。
【発明の効果】
【0006】
本発明によれば、処理対象ファイルの状況を考慮して、並列分散処理を実行することができる。
【図面の簡単な説明】
【0007】
図1】本実施形態のシステム概略図。
図2】本実施形態のハードウェア構成例の説明図。
図3】本実施形態の処理手順の説明図であって、(a)は日次処理、(b)は週次処理の説明図。
図4】本実施形態の処理手順の説明図。
図5】本実施形態の処理手順の説明図。
図6】本実施形態の処理手順の説明図であって、(a)は平常日見直し処理、(b)は特異日見直し処理の説明図。
図7】本実施形態の処理の説明図であって、(a)は商品種別・年限に対する負荷、単位計算時間の関係、(b)はコア数の割当時の説明図。
図8】他の実施形態の処理手順の説明図。
【発明を実施するための形態】
【0008】
以下、図1図7を用いて、情報処理システム、情報処理方法及び情報処理プログラムの実施形態を説明する。
図1に示すように、本実施形態では、ネットワークを介して接続された情報処理サーバ群10、管理サーバ20を用いる。
【0009】
(ハードウェア構成例)
図2は、情報処理サーバ群10、管理サーバ20等として機能する情報処理装置H10のハードウェア構成例である。
【0010】
情報処理装置H10は、通信装置H11、入力装置H12、表示装置H13、記憶部H14、プロセッサH15を有する。なお、このハードウェア構成は一例であり、他のハードウェアを有していてもよい。
【0011】
通信装置H11は、他の装置との間で通信経路を確立して、データの送受信を実行するインタフェースであり、例えばネットワークインタフェースカードや無線インタフェース等である。
【0012】
入力装置H12は、利用者等からの入力を受け付ける装置であり、例えばマウスやキーボード等である。表示装置H13は、各種情報を表示するディスプレイやタッチパネル等である。
【0013】
記憶部H14は、情報処理サーバ群10、管理サーバ20の各種機能を実行するためのデータや各種プログラムを格納する記憶装置(例えば、後述する取引情報記憶部22〜第2ファイル記憶部27)である。記憶部H14の一例としては、ROM、RAM、ハードディスク等がある。
【0014】
プロセッサH15は、記憶部H14に記憶されるプログラムやデータを用いて、情報処理サーバ群10、管理サーバ20における各処理(例えば、後述する制御部21における処理)を制御する。プロセッサH15の一例としては、例えばCPUやMPU等がある。このプロセッサH15は、ROM等に記憶されるプログラムをRAMに展開して、各種処理に対応する各種プロセスを実行する。例えば、プロセッサH15は、情報処理サーバ群10、管理サーバ20のアプリケーションプログラムが起動された場合、後述する各処理を実行するプロセスを動作させる。
【0015】
プロセッサH15は、自身が実行するすべての処理についてソフトウェア処理を行なうものに限られない。例えば、プロセッサH15は、自身が実行する処理の少なくとも一部についてハードウェア処理を行なう専用のハードウェア回路(例えば、特定用途向け集積回路:ASIC)を備えてもよい。すなわち、プロセッサH15は、(1)コンピュータプログラム(ソフトウェア)に従って動作する1つ以上のプロセッサ、(2)各種処理のうち少なくとも一部の処理を実行する1つ以上の専用のハードウェア回路、或いは(3)それらの組み合わせ、を含む回路(circuitry)として構成し得る。プロセッサは、CPU並びに、RAM及びROM等のメモリを含み、メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【0016】
(各情報処理装置の機能)
情報処理サーバ群10は、計算リソースとして、複数の計算処理ユニット(コア)を備えた第1サーバ群11、第2サーバ群12、第3サーバ群13により構成される。第1サーバ群11は、多数の計算処理ユニット(例えば、8コア)を備える。また、第2サーバ群12は、第1サーバ群11よりも少ない計算処理ユニット(例えば、4コア)を備える。また、第3サーバ群13は、第2サーバ群12よりも少ない計算処理ユニット(例えば、2コア)を備える。本実施形態では、第1サーバ群11〜第3サーバ群13の総コア数を用いて、複数の処理対象ファイルの並列分散処理により計算処理を実行する。
【0017】
管理サーバ20は、情報処理サーバ群10において実行される計算処理を管理するコンピュータシステムである。例えば、管理サーバ20は、上流システムから、処理対象ファイルとして、勘定系や市場系の処理に基づいて生成された取引ファイル(本実施形態では、店頭でのデリバティブ取引等の証券金融取引ファイル)を取得する。そして、情報処理サーバ群10の第1サーバ群11〜第3サーバ群13に取引ファイルを割り振ることより、計算処理(業務処理)を実行する。例えば、証券金融取引における信用リスクを時価に反映させるための信用評価調整(CVA:Credit valuation adjustment)処理等を行なう。
【0018】
管理サーバ20は、制御部21、取引情報記憶部22、ネッティング情報記憶部23、割振ルール記憶部24、実績情報記憶部25、第1ファイル記憶部26、第2ファイル記憶部27を備える。
【0019】
制御部21は、後述する処理(ネッティング段階、振分段階、監視段階、更新段階等の各処理)を行なう。そのための情報処理プログラムを実行することにより、ネッティング部211、振分部212、監視部213、更新部214として機能する。
【0020】
ネッティング部211は、同時期に計算処理を行なう複数の取引ファイルと、個別に計算処理を行なう取引ファイルとに分ける処理を実行する。複数の取引をまとめて信用評価調整処理を行なう必要がある場合には、同時期に複数の取引ファイルをまとめてネッティンググループとして計算処理を行なう。
【0021】
振分部212は、割振ルールに基づいて、情報処理サーバ群10において、取引ファイルについての計算処理に用いるコア数を割り振る処理を実行する。この振分部212は、現在日が平常日又は特異日のいずれかであるかを識別するカレンダ情報を保持する。特異日は、五十日、月末日、期末日等に応じて、取引が増えるイベントがある暦日である。一方、平常日は、取引が増えるイベントがない暦日(特異日以外)である。更に、振分部212は、取引量の急増を判定するための基準割合に関するデータを保持する。そして、振分部212は、コア数を割り振るための管理テーブルを保持する。
【0022】
監視部213は、情報処理サーバ群10における計算処理の状況を監視し、処理を終了したコアに対して、新たな計算処理を割り振る処理を実行する。
更新部214は、計算処理に用いるコアの割振ルールを更新する処理を実行する。
取引情報記憶部22には、情報処理サーバ群10における計算処理(信用評価調整処理)に用いる取引ファイルが記録される。この取引ファイルは、上流システムから取得した場合に記録される。この取引ファイルは、商品種別毎に生成されており、この商品種別において行なわれた個別取引についての複数の取引レコードが含まれる。この取引レコードのレコード数は、取引日の取引量に応じて変化する。この取引レコードには、年限、取引内容に関するデータが記録される。
【0023】
商品種別データ領域には、取引が行なわれた商品の種別を特定するための識別子に関するデータが記録される。本実施形態では、商品種別として、オプション(複雑系商品)、IRS(金利系商品)、FX(為替系商品)等がある。
【0024】
年限データ領域には、この取引が継続する期間の長さ(年限)に関するデータが記録される。例えば、「5年未満」、「5年〜10年」、「10年以上」が記録される。この期間について各年毎に信用評価調整処理が行なわれるため、年限が長いほど、計算負荷が大きくなる。
取引内容データ領域には、各個別取引に用いられた取引条件に関するデータが記録される。この取引条件を用いて、信用評価調整処理を行なう。
【0025】
ネッティング情報記憶部23には、同時期に計算処理を行なう商品種別(ネッティング対象)を特定するためのネッティング管理テーブルが記録される。このネッティング管理テーブルは、信用評価調整処理において、まとめて計算する必要がある商品種別が決められた場合に登録される。このネッティング管理テーブルには、ネッティングコード、商品種別に関するデータが記録される。
【0026】
ネッティングコードデータ領域には、同時期に計算処理を行なうネッティンググループを特定するための識別子に関するデータが記録される。
商品種別データ領域には、このネッティンググループに属するネッティング対象の取引ファイルの商品種別を特定するための識別子に関するデータが記録される。
【0027】
割振ルール記憶部24には、取引ファイルを用いた計算処理に用いるコア数を特定するための割振ルール管理テーブルが記録される。この割振ルール管理テーブルは、計算処理に用いるコア数が決められた場合に登録される。この割振ルール管理テーブルは、ネッティングコード、商品種別、年限に対して、単位負荷、単位計算時間、暦日種別、コア数に関するデータが記録される。
【0028】
ネッティングコードデータ領域には、同時期に計算処理を行なうネッティンググループを特定するための識別子に関するデータが記録される。なお、ネッティンググループに属さない商品種別については、このデータ領域は空欄にしておく。
【0029】
商品種別データ領域には、計算処理に用いる取引ファイルの商品の種別を特定するための識別子に関するデータが記録される。
年限データ領域には、取引が継続する期間の長さ(年限)に関するデータが記録される。
【0030】
単位負荷データ領域には、取引ファイルに含まれる各個別取引の計算処理の負荷に関するデータが記録される。この単位負荷は、年限が長くなるほど大きくなるように設定されている。
【0031】
単位計算時間データ領域には、取引ファイルに含まれる各個別取引の計算処理に要する計算時間に関するデータが記録される。本実施形態では、商品種別毎に同じ単位計算時間を設定する。
【0032】
暦日種別データ領域には、平常日又は特異日のいずれかの取り扱いを識別するためのフラグが記録される。
コア数データ領域には、この取引ファイルの計算処理に割り振るコア数に関するデータが記録される。
【0033】
実績情報記憶部25には、実行した計算処理について実績管理レコードが記録される。この実績管理レコードは、計算処理を終了した場合に記録される。実績管理レコードには、処理日、ネッティングコード、商品種別、年限に対して、暦日種別、取引量、コア数、実績計算時間に関するデータが記録される。
【0034】
処理日データ領域には、計算処理を行なった年月日に関するデータが記録される。
ネッティングコードデータ領域には、同時期に計算処理を行なったネッティンググループを特定するための識別子に関するデータが記録される。
【0035】
商品種別データ領域には、計算処理に用いた取引ファイルの商品種別に関するデータが記録される。
年限データ領域には、取引が継続する期間の長さ(年限)に関するデータが記録される。
【0036】
暦日種別データ領域には、平常日又は特異日のいずれかの取り扱いを識別するためのフラグが記録される。
取引量データ領域には、計算処理に用いた取引ファイルに含まれる取引レコード数に関するデータが記録される。
【0037】
コア数データ領域には、この取引ファイルの計算処理に割り振ったコア数に関するデータが記録される。
実績計算時間データ領域には、この取引ファイルの計算処理に要した時間に関するデータが記録される。
【0038】
第1ファイル記憶部26には、上流システムから取得した取引ファイルの中で、ネッティングを行なう取引ファイルが記録される。
第2ファイル記憶部27には、上流システムから取得した取引ファイルの中で、ネッティングを行なわない取引ファイルが記録される。
【0039】
(日次処理)
次に、図3(a)を用いて、日次処理を説明する。
まず、管理サーバ20の制御部21は、ネッティング処理を実行する(ステップS1−1)。具体的には、制御部21のネッティング部211は、上流システムから取得した取引ファイルを取引情報記憶部22に記録する。次に、ネッティング部211は、ネッティング情報記憶部23を用いて、取引情報記憶部22に記録された取引ファイルについて、商品種別を用いてネッティング対象又はネッティング非対象を識別する。そして、ネッティング部211は、ネッティング対象の取引ファイルについては、ネッティング情報記憶部23から取得したネッティングコードに関連付けて、第1ファイル記憶部26に記録する。一方、ネッティング非対象の取引ファイルについては、第2ファイル記憶部27に記録する。
【0040】
次に、管理サーバ20の制御部21は、コア数割当処理を実行する(ステップS1−2)。具体的には、制御部21の振分部212は、第1ファイル記憶部26、第2ファイル記憶部27に記録された取引ファイルに対して、割振ルール記憶部24を用いて、コア数を割り振る。このコア数割当処理についての詳細は、図4図5を用いて後述する。
【0041】
次に、管理サーバ20の制御部21は、評価計算処理を実行する(ステップS1−3)。具体的には、制御部21の監視部213は、第1ファイル記憶部26に記録され、同じネッティンググループに属する取引ファイルについては、情報処理サーバ群10において、割り振られたコア数により、同時期に計算処理を実行させる(マルチスレッド)。一方、第2ファイル記憶部27に記録されたネッティング非対象の取引ファイルについては、情報処理サーバ群10において、順次、割り振られたコア数により、計算処理を実行させる(シングルスレッド)。
【0042】
次に、管理サーバ20の制御部21は、実績記録処理を実行する(ステップS1−4)。具体的には、制御部21の監視部213は、情報処理サーバ群10における計算処理状況を監視する。取引ファイルの計算処理を終了した場合、監視部213は、処理日、ネッティングコード、商品種別、年限に対して、暦日種別、取引量、コア数、実績計算時間を記録した実績管理レコードを生成し、実績情報記憶部25に記録する。
【0043】
そして、まだ計算処理を行なっていない取引ファイルが第1ファイル記憶部26、第2ファイル記憶部27に残っている場合、管理サーバ20の制御部21は、この取引ファイルに対して、コア数割当処理(ステップS1−2)〜実績記録処理(ステップS1−4)を実行する。
【0044】
(週次処理)
次に、図3(b)を用いて、週次処理を説明する。
ここでは、管理サーバ20の制御部21は、平常日見直し処理を実行する(ステップS2−1)。具体的には、制御部21の更新部214は、暦日種別データ領域に平常日フラグが記録された実績管理レコードを用いて見直し処理を実行する。この見直し処理の詳細は、図6(a)を用いて後述する。
【0045】
そして、管理サーバ20の制御部21は、特異日見直し処理を実行する(ステップS2−2)。具体的には、制御部21の更新部214は、暦日種別データ領域に特異日フラグが記録された実績管理レコードを用いて見直し処理を実行する。この見直し処理の詳細は、図6(b)を用いて後述する。
【0046】
(コア数割当処理)
次に、図4図5を用いて、ネッティンググループに属する取引ファイルについてのコア数割当処理を説明する。ここでは、商品種別・年限毎に以下の処理を繰り返す。
【0047】
まず、管理サーバ20の制御部21は、取引量の特定処理を実行する(ステップS3−1)。具体的には、制御部21の振分部212は、第1ファイル記憶部26に記録された取引ファイルに含まれる取引レコード数(今回取引量)を算出する。
【0048】
次に、管理サーバ20の制御部21は、特異日かどうかについての判定処理を実行する(ステップS3−2)。具体的には、制御部21の振分部212は、システムタイマから現在日を取得する。そして、振分部212は、カレンダ情報を用いて、現在日が平常日又は特異日を識別する。
【0049】
平常日であり、特異日ではないと判定した場合(ステップS3−2において「NO」の場合)、管理サーバ20の制御部21は、取引量は急増しているかどうかについての判定処理を実行する(ステップS3−3)。具体的には、制御部21の振分部212は、実績情報記憶部25から、処理対象と同じ商品種別・年限が記録されるとともに、平常日フラグが記録された直近の実績管理レコードを取得する。そして、振分部212は、取得した実績管理レコードに記録された取引量(過去取引量)を特定する。次に、振分部212は、過去取引量と今回取引量とを比較する。そして、振分部212は、過去取引量に対して、今回取引量が基準割合以上で増加している場合には、急増と判定する。
【0050】
取引量は急増していないと判定した場合(ステップS3−3において「NO」の場合)、管理サーバ20の制御部21は、平常日の初期コア数の特定処理を実行する(ステップS3−4)。具体的には、制御部21の振分部212は、割振ルール記憶部24から、平常日フラグに関連付けられたコア数を取得し、初期コア数として特定する。
【0051】
一方、特異日と判定した場合や、取引量の急増と判定した場合(ステップS3−2、S3−3において「YES」の場合)、管理サーバ20の制御部21は、特異日の初期コア数の特定処理を実行する(ステップS3−5)。具体的には、制御部21の振分部212は、割振ルール記憶部24から、特異日フラグに関連付けられたコア数を取得し、初期コア数として特定する。
【0052】
次に、管理サーバ20の制御部21は、計算時間の算出処理を実行する(ステップS3−6)。具体的には、制御部21の振分部212は、割振ルール記憶部24から、商品種別・年限に関連付けられた単位負荷を取得し、取引量に乗算して、今回負荷を算出する。そして、振分部212は、今回負荷に単位計算時間を乗算して全体計算時間を算出し、この全体計算時間をコア数で除算することにより計算時間を算出する。そして、振分部212は、算出した計算時間を管理テーブルに記録する。
以上の処理を、商品種別・年限毎に繰り返す。
【0053】
図7(a)に示すように、管理テーブル501には、ネッティンググループAにおいては、商品種別「複雑系商品」、「金利系商品」、「為替系商品」の各年限に対して、単位負荷、単位計算時間が設定されている。そして、各取引ファイルのレコード数(取引量)に応じて、今回負荷が算出される。更に、今回負荷に単位計算時間を乗算した全体計算時間が記録される。
【0054】
そして、図7(b)に示すように、管理テーブル502に、各商品種別・年限に割り振ったコア数を記録し、このコア数で全体計算時間を除算して算出した計算時間を記録する。
【0055】
次に、図5に示すように、管理サーバ20の制御部21は、計算時間が長い商品種別・年限の特定処理を実行する(ステップS4−1)。具体的には、制御部21の振分部212は、ネッティンググループの管理テーブルにおいて、計算時間が最も長い商品種別・年限を特定する。ここで、複数の商品種別・年限において計算時間が最も長くなっている場合には、コア数が最も多い商品種別・年限を特定する。
【0056】
図7(b)に示す管理テーブル502では、初期コア数を用いる場合、「複雑系商品」の「10年以上」の計算時間が最も長くなっている。
次に、管理サーバ20の制御部21は、コア数の仮変更処理を実行する(ステップS4−2)。具体的には、制御部21の振分部212は、特定した商品種別・年限のコア数に「1」を加算する。図7(b)に示す管理テーブル503では、「複雑系商品」の「10年以上」のコア数を「6」から「7」に仮変更する。
【0057】
次に、管理サーバ20の制御部21は、計算時間が短い商品種別・年限の特定処理を実行する(ステップS4−3)。具体的には、制御部21の振分部212は、ネッティンググループの管理テーブルにおいて、計算時間が最も短い商品種別・年限を特定する。ここで、複数の商品種別・年限において計算時間が最も短くなっている場合には、コア数が最も多い商品種別・年限を特定する。なお、「2」以上のコア数が割り振られている商品種別・年限を変更対象として選択し、コア数が「1」の商品種別・年限は選択対象外とする。図7(b)に示す管理テーブル503では、「為替系商品」の「5年未満」、「5年〜10年」の計算時間も、「10年以上」の計算時間と同じであるが、割り振られたコア数が多い「10年以上」を優先して特定する。
【0058】
次に、管理サーバ20の制御部21は、コア数の仮変更処理を実行する(ステップS4−4)。具体的には、制御部21の振分部212は、特定した商品種別・年限のコア数から「1」を減算する。図7(b)に示す管理テーブル503では、「為替系商品」の「10年以上」のコア数を「3」から「2」に仮変更する。
【0059】
次に、管理サーバ20の制御部21は、コア数を変更した商品種別・年限の計算時間の再算出処理を実行する(ステップS4−5)。具体的には、制御部21の振分部212は、コア数を変更した商品種別・年限について、変更したコア数を用いて計算時間を再度、算出し、管理テーブルに記録する。
【0060】
図7(b)に示す管理テーブル503で示すように、「複雑系商品」の「10年以上」、「為替系商品」の「10年以上」の計算時間を再算出して変更する。
次に、管理サーバ20の制御部21は、コア数を減らした計算時間が、最長時間を超えたかどうかについての判定処理を実行する(ステップS4−6)。具体的には、制御部21の振分部212は、再算出した計算時間と、管理テーブルに記録された最長の計算時間とを比較する。図7(b)に示す管理テーブル503では、コア数を減らした「為替系商品」の「10年以上」の計算時間は「750」であり、最長時間の「複雑系商品」の「10年以上」の計算時間「1071」を超えていない。
【0061】
コア数を減らすことにより、最長時間を超えたと判定した場合(ステップS4−6において「YES」の場合)、管理サーバ20の制御部21は、コア数の仮変更の取消処理を実行する(ステップS4−7)。具体的には、制御部21の振分部212は、仮変更したコア数を元に戻す。
【0062】
一方、コア数を減らしても、最長時間を超えていないと判定した場合(ステップS4−6において「NO」の場合)、管理サーバ20の制御部21は、コア数の仮変更の取消処理(ステップS4−7)をスキップする。
【0063】
次に、管理サーバ20の制御部21は、他の変更候補があるかどうかについての判定処理を実行する(ステップS4−8)。具体的には、制御部21の振分部212は、コア数を変更できる商品種別・年限を探す。
【0064】
他の変更候補があると判定した場合(ステップS4−8において「YES」の場合)、管理サーバ20の制御部21は、計算時間が長い商品種別・年限の特定処理(ステップS4−1)に戻る。
【0065】
一方、他の変更候補がないと判定した場合(ステップS4−8において「NO」の場合)、管理サーバ20の制御部21は、コア数割当処理を終了する。
図7(b)に示す管理テーブル503では、最長時間は「複雑系商品」の「10年以上」の計算時間「1071」であり、管理テーブル504に示すように、コア数を「7」から「8」に仮変更した場合、計算時間は「938」となる。ここで、計算時間が短い「為替系商品」の「5年〜10年」のコア数を「2」から「1」に仮変更した場合、計算時間は「1000」となり、最長時間を超える。なお、「為替系商品」の「5年未満」のコア数は「1」であるため、変更できない。
【0066】
図7(b)に示す管理テーブル503で次に計算時間が短い「複雑系商品」の「5年未満」コア数を、管理テーブル504に示すように、「4」から「3」に仮変更した場合、計算時間「833」であり、最長時間を超えないので、コア数を変更する。
【0067】
一方、管理テーブル504では、最長時間は「複雑系商品」の「5年〜10年」の計算時間「1000」である。ここで、他のいずれの商品種別・年限のコア数を減らしても、最長時間以上になるので、他の変更候補がない。
【0068】
(平常日見直し処理)
次に、図6(a)を用いて、平常日見直し処理を説明する。この処理は、商品毎に繰り返す。なお、商品種別・年限毎に平常日見直し処理を行なってもよい。
【0069】
まず、管理サーバ20の制御部21は、実績の取得処理を実行する(ステップS5−1)。具体的には、制御部21の更新部214は、実績情報記憶部25から、処理対象の商品種別について、平常日フラグが記録され、処理日が直近の所定期間(ここでは、1週間)の実績管理レコードを抽出する。
【0070】
次に、管理サーバ20の制御部21は、実績値に応じて単位計算時間の算出処理を実行する(ステップS5−2)。具体的には、制御部21の更新部214は、実績管理レコードに記録された実績計算時間、コア数、取引量を、それぞれ総和する。そして、実績計算時間の総和値を、コア数の総和値及び取引量の総和値で除算することにより、単位計算時間(実績単位計算時間)を算出する。
【0071】
次に、管理サーバ20の制御部21は、当初の単位計算時間の特定処理を実行する(ステップS5−3)。具体的には、制御部21の更新部214は、割振ルール記憶部24に記録されている単位計算時間(初期単位計算時間)を取得する。
【0072】
次に、管理サーバ20の制御部21は、許容範囲内かどうかについての判定処理を実行する(ステップS5−4)。具体的には、制御部21の更新部214は、初期単位計算時間と実績単位計算時間とを比較する。ここでは、実績単位計算時間を初期単位計算時間で除算し、基準割合(例えば、±30%)内に含まれる場合には、許容範囲内と判定する。
【0073】
許容範囲内と判定した場合(ステップS5−4において「YES」の場合)、管理サーバ20の制御部21は、実績値に応じた単位計算時間で更新処理を実行する(ステップS5−5)。具体的には、制御部21の更新部214は、実績単位計算時間を、商品種別、平常日フラグに関連付けて、割振ルール記憶部24に記録する。
【0074】
一方、許容範囲内でないと判定した場合(ステップS5−4において「NO」の場合)、管理サーバ20の制御部21は、特異日扱い処理を実行する(ステップS5−6)。具体的には、制御部21の更新部214は、実績管理レコードを特異日見直し処理に用いるために、メモリに仮記憶する。
【0075】
(特異日見直し処理)
次に、図6(b)を用いて、特異日見直し処理を説明する。この処理も、商品毎に繰り返す。なお、商品種別・年限毎に特異日見直し処理を行なってもよい。
【0076】
まず、管理サーバ20の制御部21は、実績の取得処理を実行する(ステップS6−1)。具体的には、制御部21の更新部214は、実績情報記憶部25から、処理対象の商品種別について、特異日フラグが記録され、処理日が直近の所定期間(ここでは、1週間)の実績管理レコードを抽出する。更に、特異日扱い処理(ステップS5−6)において、メモリに仮記憶した実績管理レコードを取得する。
【0077】
次に、管理サーバ20の制御部21は、ステップS5−2と同様に、実績値に応じて単位計算時間の算出処理を実行する(ステップS6−2)。
次に、管理サーバ20の制御部21は、実績値に応じた単位計算時間で更新処理を実行する(ステップS6−3)。具体的には、制御部21の更新部214は、実績単位計算時間を、商品種別、特異日フラグに関連付けて、割振ルール記憶部24に記録する。
【0078】
以上、本実施形態によれば、以下のような効果を得ることができる。
(1)本実施形態によれば、管理サーバ20の制御部21は、ネッティング処理(ステップS1−1)、コア数割当処理(ステップS1−2)、評価計算処理(ステップS1−3)を実行する。これにより、同時期に計算処理を行なう取引ファイルに対して、割振ルールを用いて、計算リソースを割り振って分散並列処理を行なうことができる。
【0079】
(2)本実施形態によれば、管理サーバ20の制御部21は、実績記録処理を実行する(ステップS1−4)。これにより、取引量が変化する取引ファイルの計算処理に要する負荷を記録することができる。
【0080】
(3)本実施形態によれば、管理サーバ20の制御部21は、平常日見直し処理(ステップS2−1)、特異日見直し処理(ステップS2−2)を実行する。これにより、平常日や特異日に応じて、適切な計算リソースの配分を決める割振ルールを更新することができる。
【0081】
(4)本実施形態によれば、特異日と判定した場合や、取引量の急増と判定した場合(ステップS3−2、S3−3において「YES」の場合)、管理サーバ20の制御部21は、特異日の初期コア数の特定処理を実行する(ステップS3−5)。これにより、平常日と異なる特異日に応じた計算リソースの割振を行なうことができる。
【0082】
(5)本実施形態によれば、管理サーバ20の制御部21は、計算時間が長い商品種別・年限の特定処理(ステップS4−1)、コア数の仮変更処理(ステップS4−2)を実行する。これにより、取引ファイルの計算時間を平準化することができる。
【0083】
(6)本実施形態によれば、管理サーバ20の制御部21は、計算時間が短い商品種別・年限の特定処理(ステップS4−3)、コア数の仮変更処理(ステップS4−4)、コア数を変更した商品種別・年限の計算時間の再算出処理(ステップS4−5)を実行する。これにより、計算時間が短い取引ファイルの計算リソースを、計算時間が長い取引ファイルの計算処理に用いることができる。
【0084】
また、最長時間を超えたと判定した場合(ステップS4−6において「YES」の場合)、管理サーバ20の制御部21は、コア数の仮変更の取消処理を実行する(ステップS4−7)。これにより、同時期に計算を行なう取引ファイルの計算時間の平準化を図ることができる。
【0085】
(7)本実施形態によれば、許容範囲内と判定した場合(ステップS5−4において「YES」の場合)、管理サーバ20の制御部21は、実績値に応じた単位計算時間で更新処理を実行する(ステップS5−5)。これにより、実績に応じて、計算リソースの割振ルールを変更することができる。
【0086】
(8)本実施形態によれば、許容範囲内でないと判定した場合(ステップS5−4において「NO」の場合)、管理サーバ20の制御部21は、特異日扱い処理を実行する(ステップS5−6)。そして、特異日見直し処理において、管理サーバ20の制御部21は、実績の取得処理を実行する(ステップS6−1)。これにより、平常日とは異なる状況の場合には、特異日として扱うことができる。
【0087】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、計算時間が長い商品種別・年限及び計算時間が短い商品種別・年限に割り振ったコア数を変更する。コア数の割振方法はこれに限定されるものではない。例えば、全体負荷を考慮して、コア数を割り振るようにしてもよい。
【0088】
図8を用いて、全体負荷を考慮したコア数割当処理を説明する。
まず、管理サーバ20の制御部21は、商品種別・年限毎に以下の処理を繰り返す。
ここでは、管理サーバ20の制御部21は、ステップS3−1と同様に、取引量の特定処理を実行する(ステップS7−1)。
【0089】
次に、管理サーバ20の制御部21は、総合負荷の算出処理を実行する(ステップS7−2)。具体的には、制御部21の振分部212は、取引量に単位負荷及び単位計算時間を乗算した総合負荷を算出する。
【0090】
次に、管理サーバ20の制御部21は、総合負荷に応じてコア数候補の算出処理を実行する(ステップS7−3)。具体的には、制御部21の振分部212は、総合負荷の合計値を、全コア数で除算して、一つのコアで負担する単位負荷を算出する。そして、振分部212は、商品種別・年限毎に、総合負荷を単位負荷で除算することにより、コア数候補を算出する。この場合、小数点を切り捨てる。
【0091】
すべての商品種別・年限についての繰り返し処理を終了した場合、管理サーバ20の制御部21は、コア数候補の調整処理を実行する(ステップS7−4)。具体的には、制御部21の振分部212は、コア数候補を合計した合計値と、全コア数とを比較する。合計値が全コア数よりも少ない場合には、各商品種別・年限の総合負荷を、コア数候補で除算して、予想計算時間を算出する。そして、振分部212は、予想計算時間が最も長い商品種別・年限に、合計値と全コア数との差分のコア数を割り振る。
【0092】
なお、図4図5に示すコア数割当処理(第1割当処理)と、図8に示すコア数割当処理(第2割当処理)とを併用してもよい。例えば、平常日と判定した場合には、第1割当処理を実行し、特異日と判定した場合には、第2割当処理を実行するようにしてもよい。
【0093】
・上記実施形態では、管理サーバ20の制御部21は、計算時間が長い商品種別・年限の特定処理(ステップS4−1)、計算時間が短い商品種別・年限の特定処理(ステップS4−3)を実行する。変更する商品種別・年限の特定の順番はこれに限定されるものではなく、先に計算時間が短い商品種別・年限を特定するようにしてもよい。
【0094】
・上記実施形態では、許容範囲内でないと判定した場合(ステップS5−4において「NO」の場合)、管理サーバ20の制御部21は、特異日扱い処理を実行する(ステップS5−6)。許容範囲内でない場合、割振ルールの更新対象外としてもよい。
【0095】
・上記実施形態では、管理サーバ20の制御部21は、評価計算処理を実行する(ステップS1−3)。ここで、早く計算処理を終了した取引ファイルに割り振った空コアを、まだ処理を終了していない取引ファイルの計算処理に割り振るようにしてもよい。この場合には、動的に割り当てた空コアを割り振られた計算処理の実績計算時間において、空コアが割り振られなかった場合を想定した計算時間を算出し、実績情報記憶部25に記録する。例えば、空コアが割り振られる前の計算時間と、空コアが割り振られた後の計算時間とを、それぞれのコア数で除算した単位時間を算出する。そして、この単位時間に、空コアが割り振られる前のコア数を乗算することにより換算計算時間を算出する。これにより、動的なコアの割振に対して、本来のコア数を割り当てた場合の計算時間を記録することができる。
【符号の説明】
【0096】
10…情報処理サーバ群、11…第1サーバ群、12…第2サーバ群、13…第3サーバ群、20…管理サーバ、21…制御部、211…ネッティング部、212…振分部、213…監視部、214…更新部、22…取引情報記憶部、23…ネッティング情報記憶部、24…割振ルール記憶部、25…実績情報記憶部、26…第1ファイル記憶部、27…第2ファイル記憶部。
【要約】
【課題】処理対象ファイルの状況を考慮して、並列分散処理を実行するための情報処理システム、情報処理方法及び情報処理プログラムを提供する。
【解決手段】管理サーバ20の制御部21が、ネッティング情報記憶部23を用いて、ネッティンググループに属する取引情報を特定し、割振ルール記憶部24の割振ルールを用いて、ネッティンググループに属する各取引情報に割り振った計算リソース数を用いて、情報処理サーバ群10で計算処理の並列分散処理を実行し、計算処理の実績計算時間を用いて、割振ルール記憶部24の割振ルールを変更する見直し処理を実行する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8