(57)【要約】【課題】処理効率を向上する。【解決手段】作業量の多い処理依頼１１ａや作業量の少ない処理依頼１１ａを複数の情報処理装置２０に分散する分散処理システム１において、振り分け装置１０は、処理依頼１１ａを受付けて、受付けた処理依頼１１ａの作業量を予め設定された基準値に基づいて判定し、判定結果１１ｂに基づいて各情報処理装置２０の処理能力に基づいて各情報処理装置２０に予め設定した振り分け優先度に基づいて振り分け先を決定する振り分け優先度方式１２ａと、ラウンドロビン方式１２ｂのいずれか一方の振り分け先の決定方式を選択し、選択した振り分け先の決定方式で、振り分け先を決定し、受付けた処理依頼１１ａを決定した振り分け先に振り分ける。情報処理装置２０は、振り分け装置１０から振り分けられた処理依頼１１ａを処理する。【選択図】図１
2015191457.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置に処理依頼を振り分ける振り分け装置において、
前記振り分け装置は、
前記処理依頼を受付けて、受付けた前記処理依頼の作業量を予め設定された基準値に基づいて判定する判定部と、
前記情報処理装置それぞれの処理能力に基づいて予め設定された振り分け優先度による振り分け先の決定方式と、ラウンドロビンによる振り分け先の決定方式とのいずれかを判定結果に基づいて選択する選択部と、
選択した振り分け先の決定方式に基づいて受付けた前記処理依頼を前記情報処理装置に振り分ける振り分け部と、を備える、
ことを特徴する振り分け装置。
【請求項２】
前記判定結果が、前記作業量が前記基準値よりも大きい場合に、
前記選択部は、
前記振り分け優先度による振り分け先の決定方式を選択することを特徴とする請求項１に記載の振り分け装置。
【請求項３】
前記振り分け優先度による振り分け先の決定方式は、前記振り分け優先度が最も高い前記情報処理装置を第１振り分け先候補として振り分け先を決定する方式であることを特徴とする請求項１または請求項２に記載の振り分け装置。
【請求項４】
前記振り分け部は、
前記情報処理装置に振り分けられかつ未処理である、前記情報処理装置それぞれの処理待ち処理依頼数と、予め設定した前記情報処理装置それぞれの前記処理待ち処理依頼数の上限値と、を取得し、
前記選択した振り分け先の決定方式に基づいて振り分け先候補を決定し、
決定した前記振り分け先候補の前記処理待ち処理依頼数が前記上限値に達している場合には、前記振り分け先候補に基づいて前記振り分け先候補を再度決定し直し、決定した前記振り分け先候補の前記処理待ち処理依頼数が前記上限値に達していない場合には、前記振り分け先候補を振り分け先として前記情報処理装置に受付けた前記処理依頼を振り分けることを特徴とする請求項３に記載の振り分け装置。
【請求項５】
前記上限値は、前記処理能力に基づいて設定されていることを特徴とする請求項４に記載の振り分け装置。
【請求項６】
前記処理依頼は、前記処理部の処理の対象となる、１または２以上の処理対象を含んで構成され、
前記作業量は、前記処理依頼に含まれる前記処理対象の数であることを特徴とする請求項１乃至５のいずれか１項に記載の振り分け装置。
【請求項７】
複数の情報処理装置と前記複数の情報処理装置に処理依頼を振り分ける振り分け装置とを有する分散処理システムにおける分散処理方法において、
前記振り分け装置は、
前記処理依頼を受付けて、受付けた前記処理依頼の作業量を予め設定された基準値に基づいて判定し、
前記情報処理装置それぞれの処理能力に基づいて予め設定された振り分け優先度による振り分け先の決定方式と、ラウンドロビンによる振り分け先の決定方式とのいずれかを判定結果に基づいて選択し、
選択した振り分け先の決定方式に基づいて受付けた前記処理依頼を前記情報処理装置に振り分け、
前記情報処理装置は、
振り分けられた前記処理依頼を処理する、
ことを特徴とする分散処理方法。
【請求項８】
複数の情報処理装置と前記複数の情報処理装置に処理依頼を振り分ける振り分け装置とを有する分散処理システムにおいて、
前記振り分け装置は、
前記処理依頼を受付けて、受付けた前記処理依頼の作業量を予め設定された基準値に基づいて判定する判定部と、
前記情報処理装置それぞれの処理能力に基づいて予め設定された振り分け優先度による振り分け先の決定方式と、ラウンドロビンによる振り分け先の決定方式とのいずれかを前記判定部による判定結果に基づいて選択する選択部と、
選択した振り分け先の決定方式に基づいて受付けた前記処理依頼を前記情報処理装置に振り分ける振り分け部と、を備え、
前記情報処理装置は、
振り分けられた前記処理依頼を処理する処理部を備える、
ことを特徴とする分散処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振り分け装置、分散処理方法、および分散処理システムに関する。
【背景技術】
【０００２】
従来から複数台のコンピュータと、処理依頼を受付け、受付けた処理依頼を複数台のコンピュータに振り分ける振り分け装置とを有する分散処理システムが知られている。たとえば、証券会社における売買システムは、振り分け装置が顧客から注文電文を受付け、複数台のコンピュータのいずれかに注文電文を振り分け、各コンピュータが振り分けられた注文電文を処理する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２５０５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような、分散処理システムでは、受付けた処理依頼を複数台のコンピュータに振り分ける際、一部のコンピュータに処理が滞留しないようにし、分散処理システム全体の処理効率を向上させることが求められている。
【０００５】
本発明は、この点に鑑みてなされたものであり、処理効率を向上可能な振り分け装置、分散処理方法、および分散処理システムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の複数の情報処理装置に処理依頼を振り分ける振り分け装置は、判定部と、選択部と、振り分け部とを備える。判定部は、処理依頼を受付けて、受付けた処理依頼の作業量を予め設定された基準値に基づいて判定する。選択部は、情報処理装置それぞれの処理能力に基づいて予め設定された振り分け優先度による振り分け先の決定方式と、ラウンドロビンによる振り分け先の決定方式とのいずれかを判定部による判定結果に基づいて選択する。振り分け部は、選択した振り分け先の決定方式に基づいて受付けた処理依頼を情報処理装置に振り分ける。
【発明の効果】
【０００７】
振り分け装置、分散処理方法、および分散処理システムによれば、処理効率を向上できる。
【図面の簡単な説明】
【０００８】
【図１】第一実施形態における分散処理システムの概要を示す図である。
【図２】第二実施形態における売買注文システムの概要を示す図である。
【図３】第二実施形態における注文電文のデータ構成例を示す図である。
【図４】第二実施形態における情報処理装置の構成例を示す図である。
【図５】第二実施形態におけるフロントエンドサーバの機能ブロック図である。
【図６】第二実施形態におけるバックエンドサーバ情報テーブルの一例を示す図である。
【図７】第二実施形態における注文件数閾値テーブルの一例を示す図である。
【図８】第二実施形態におけるラウンドロビン情報テーブルの一例を示す図である。
【図９】第二実施形態におけるキュー情報テーブルの一例を示す図である。
【図１０】第二実施形態におけるバックエンドサーバの機能ブロック図である。
【図１１】第二実施形態における注文電文振り分け処理のフローチャートである。
【図１２】第二実施形態における振り分け優先度方式による振り分け処理のフローチャートである。
【図１３】第二実施形態におけるラウンドロビン方式による振り分け処理のフローチャートである。
【図１４】第二実施形態における注文電文変換処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施の形態について説明する。
［第一実施形態］
図１は、第一実施形態における分散処理システムの概要を示す図である。
【００１０】
分散処理システム１は、情報処理装置２０ａ、２０ｂ、…、２０ｎのいずれかに処理依頼１１ａを振り分けて処理するシステムである。処理依頼１１ａは、所定の作業量で処理可能であり、作業量の多い処理依頼１１ａや作業量の少ない処理依頼１１ａがある。分散処理システム１は、振り分け装置１０と、情報処理装置２０ａ、２０ｂ、…、２０ｎとを有する。情報処理装置２０ａ、２０ｂ、…、２０ｎの処理能力には、差異がある。なお、情報処理装置２０ａ、２０ｂ、…、２０ｎは、複数の情報処理装置２０の一例である。
【００１１】
振り分け装置１０は、処理依頼１１ａを受付けて複数の情報処理装置２０のいずれかに、受付けた処理依頼１１ａを振り分ける装置である。情報処理装置２０は、振り分け装置１０から振り分けられた処理依頼１１ａを処理する装置である。
【００１２】
振り分け装置１０は、判定部１１と選択部１２と振り分け部１３とを備える。判定部１１は、処理依頼１１ａを受付けて、受付けた処理依頼１１ａの作業量を予め設定された基準値に基づいて判定する。具体的には、判定部１１は、処理依頼１１ａの作業量と基準値との大小関係を判定する。
【００１３】
選択部１２は、判定結果１１ｂに基づいて振り分け先の決定方式を選択する。振り分け先の決定方式は、振り分け優先度方式１２ａとラウンドロビン方式１２ｂとがある。
振り分け優先度方式１２ａは、各情報処理装置２０の処理能力に基づいて各情報処理装置２０に予め振り分け優先度を設定し、設定した振り分け優先度に基づいて振り分け先を決定する方式である。振り分け優先度は、処理能力が高い情報処理装置２０ほど高く設定される。振り分け優先度方式１２ａでは、振り分け装置１０は、１つ前の処理依頼１１ａが振り分けられた振り分け先にかかわらず、複数の情報処理装置２０のうち振り分け優先度が高い情報処理装置２０に処理依頼１１ａを振り分ける。
【００１４】
ラウンドロビン方式１２ｂは、ラウンドロビンにより各情報処理装置２０を順番に処理依頼１１ａの振り分け先とする方式である。ラウンドロビン方式１２ｂでは、振り分け装置１０は、各情報処理装置２０に処理依頼１１ａを順番に振り分ける。
【００１５】
選択部１２は、振り分け優先度方式１２ａまたはラウンドロビン方式１２ｂのいずれかを選択する。具体的には選択部１２は、判定結果１１ｂが「作業量＞基準値」である場合には、振り分け優先度方式１２ａを選択し、「作業量≦基準値」である場合には、ラウンドロビン方式１２ｂを選択する。
【００１６】
振り分け部１３は、選択結果１２ｃに基づいて振り分け先を決定し、受付けた処理依頼１１ａを決定した振り分け先に振り分ける。
情報処理装置２０は、処理部２１を備える。処理部２１は、振り分け装置１０から振り分けられた処理依頼１１ａを処理する。
【００１７】
一般に、分散処理システム１では、想定される作業量に対して十分対応できるように情報処理装置２０が配置されるが、稀に想定される作業量を超える処理依頼を受けることが考えられる。複数ある情報処理装置２０の中には、想定される作業量の範囲内の処理依頼が所定の間隔で振り分けられていれば十分対応可能であるが、想定される作業量を超えるような処理依頼が振り分けられたときに処理が遅延する恐れがある情報処理装置２０も考えられる。このような処理の遅延状態を回避するため、処理の遅延を生じる恐れのある作業量を予め基準値として決めておくことができる。基準値は、分散処理システム１の構成及び適用される環境に応じて適宜決められる。
【００１８】
第一実施形態では、受付けた処理依頼１１ａの作業量と基準値との大小関係を判定し、判定結果に応じて振り分け先の決定方式を選択する。したがって、作業量が基準値以下、すなわち、想定される作業量内の処理依頼が続く状態では、振り分け装置１０は、ラウンドロビン方式１２ｂによって処理依頼１１ａを情報処理装置２０に順番に振り分ける処理を行う。ラウンドロビン方式１２ｂを用いることによって、想定される作業量の範囲内の処理依頼が続く状態において、振り分け処理の速度を上げ、全体として処理効率を上げることができる。そして、作業量が基準値を超えるような処理依頼を受付けたときは、振り分け優先度方式１２ａを用いることによって、当該処理依頼を振り分け優先度が高い、すなわち処理能力の高い情報処理装置２０に振り分ける。その後、想定される作業量内の処理依頼が続く状態に戻れば、ラウンドロビン方式１２ｂによって処理依頼１１ａを情報処理装置２０に順番に振り分ける処理を行う。
【００１９】
以上が第一実施形態における分散処理システム１である。このような分散処理システム１によれば、振り分け装置１０は、処理依頼１１ａの作業量に応じて振り分け先の決定方式を変更して振り分け先を決定する。これによれば、振り分け装置１０は、基準値よりも作業量が多い処理依頼１１ａと、基準値よりも作業量が少ない処理依頼１１ａとで異なる振り分け先の決定方式により振り分け先を決定できる。具体的には、基準値よりも作業量が多い処理依頼１１ａを受付けた場合には、振り分け優先度方式１２ａにより振り分け優先度が高い情報処理装置２０を処理依頼１１ａの振り分け先と決定する。
【００２０】
これによれば分散処理システム１は、基準値よりも作業量が多い処理依頼１１ａが処理能力の低い情報処理装置２０に振り分けられることによって、当該情報処理装置２０に処理依頼１１ａが滞留することを抑止する。すなわち、分散処理システム１は、システム全体としての処理効率を向上させることができる。
【００２１】
［第二実施形態］
（システム概要について）
次に、第二実施形態について説明する。図２は、第二実施形態における売買注文システムの概要を示す図である。
【００２２】
売買注文システム５０は、証券会社において株式等の売買注文を実行するシステムである。売買注文システム５０は、機関投資家から売買に関する注文電文を受付け、受付けた注文電文を処理可能な形式に変換し、売買注文を実行する。なお、機関投資家から送信される注文電文は、１注文電文中に１または２以上の注文データを含む。注文電文については後で図３を用いて詳細に説明する。
【００２３】
売買注文システム５０は、ゲートウェイシステム８０と、ゲートウェイシステム８０とネットワーク６５を介して接続する機関投資家端末６０と、ゲートウェイシステム８０とネットワーク７５を介して接続する証券会社システム７０とを含んで構成される。
【００２４】
機関投資家端末６０は、株式等の売買に関する注文電文を送信する端末である。
ゲートウェイシステム８０は、機関投資家端末６０から注文電文を受付け、証券会社システム７０で処理可能な形式に注文電文を変換するシステムである。なお、ゲートウェイシステム８０は、分散処理システム１の一実施形態である。
【００２５】
証券会社システム７０は、処理可能な形式に変換された注文電文に基づいて売買注文を実行する。
ゲートウェイシステム８０は、フロントエンドサーバ１００と、フロントエンドサーバ１００とネットワーク９５を介して接続するバックエンドサーバ９０ａ、９０ｂ、…、９０ｎとを含んで構成される。なお、バックエンドサーバ９０ａ、９０ｂ、…、９０ｎは、複数のバックエンドサーバ９０の一例である。
【００２６】
バックエンドサーバ９０は、フロントエンドサーバ１００から振り分けられた注文電文を証券会社システム７０が処理可能な形式に変換するサーバである。バックエンドサーバ９０は、１注文電文単位で処理する。バックエンドサーバ９０は、注文電文に含まれる注文データを取得し、証券会社システム７０が処理可能な形式に個々の注文データを変換して、証券会社システム７０に送信する。したがって、１つの注文電文の処理にかかる時間は、注文電文に含まれる注文データの件数が多いほど増加する。なお、バックエンドサーバ９０は、情報処理装置２０の一実施形態である。
【００２７】
フロントエンドサーバ１００は、機関投資家端末６０から注文電文を受付け、複数のバックエンドサーバ９０のいずれかに受付けた注文電文を振り分けるサーバである。フロントエンドサーバ１００は、ラウンドロビン方式または振り分け優先度方式のいずれか一方の方式を用いて複数のバックエンドサーバ９０のいずれかに注文電文を振り分ける。
【００２８】
振り分け優先度方式は、各バックエンドサーバ９０の処理能力（たとえば、単位時間当たりの注文データの処理件数）に基づいて各バックエンドサーバ９０に予め振り分け優先度を設定し、設定した振り分け優先度に基づいて振り分け先を決定する方式である。振り分け優先度方式による振り分け先の決定については、後で図１２を用いて詳細に説明する。
【００２９】
ラウンドロビン方式は、ラウンドロビンにより各バックエンドサーバ９０を順番に振り分け先とする方式である。なお、フロントエンドサーバ１００は、振り分け装置１０の一実施形態である。ラウンドロビン方式による振り分け先の決定については、後で図１３を用いて詳細に説明する。
【００３０】
（注文電文について）
次に注文電文について図３を用いて説明する。図３は、第二実施形態における注文電文のデータ構成例を示す図である。
【００３１】
注文電文１１０は、注文電文ヘッダと注文件数と１または２以上の注文データとを含んで構成される。注文電文ヘッダは、送信者、受信者など、電文の送受信に不可欠な情報やデータなどを含む。注文件数は、注文電文に含まれる注文データの件数を識別可能な情報である。注文データは、注文電文に含まれる株式等の売買の注文を構成する情報である。たとえば、銘柄を識別するコード、株式の数量等を含む。注文データは、バックエンドサーバ９０が変換する変換対象である。１つの注文データは、１つの注文に対する情報を構成する。すなわち、注文件数分の注文データが注文電文に含まれる。
【００３２】
（ハードウェア構成について）
次にフロントエンドサーバ１００のコンピュータのハードウェア構成について図４を用いて説明する。図４は、第二実施形態における情報処理装置の構成例を示す図である。情報処理装置１２０は、プロセッサ１２１によって装置全体が制御されている。プロセッサ１２１には、バス１２７を介してＲＡＭ（Random Access Memory）１２２と複数の周辺機器が接続されている。プロセッサ１２１は、マルチプロセッサであってもよい。プロセッサ１２１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１２１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３３】
ＲＡＭ１２２は、情報処理装置１２０の主記憶装置として使用される。ＲＡＭ１２２には、プロセッサ１２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１２２には、プロセッサ１２１による処理に必要な各種データが格納される。
【００３４】
バス１２７に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１２３、グラフィック処理装置１２４、入力インタフェース１２５、ネットワークインタフェース１２６がある。
【００３５】
ＨＤＤ１２３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１２３は、情報処理装置１２０の補助記憶装置として使用される。ＨＤＤ１２３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３６】
グラフィック処理装置１２４には、モニタ１２４ａが接続されている。グラフィック処理装置１２４は、プロセッサ１２１からの命令に従って、画像をモニタ１２４ａの画面に表示させる。モニタ１２４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３７】
入力インタフェース１２５には、キーボード１２５ａとマウス１２５ｂとが接続されている。入力インタフェース１２５は、キーボード１２５ａやマウス１２５ｂから送られてくる信号をプロセッサ１２１に送信する。なお、マウス１２５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３８】
ネットワークインタフェース１２６は、ネットワーク９５、６５に接続されている。ネットワークインタフェース１２６は、ネットワーク９５、６５を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３９】
以上のようなハードウェア構成によって、第二実施形態の処理機能を実現することができる。なお、第一実施形態に示した振り分け装置１０および情報処理装置２０、第二実施形態におけるバックエンドサーバ９０も図４に示した情報処理装置１２０と同様のハードウェアにより実現することができる。
【００４０】
情報処理装置１２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第二実施形態の処理機能を実現する。情報処理装置１２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、情報処理装置１２０に実行させるプログラムをＨＤＤ１２３に格納しておくことができる。プロセッサ１２１は、ＨＤＤ１２３内のプログラムの少なくとも一部をＲＡＭ１２２にロードし、プログラムを実行する。また情報処理装置１２０に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１２１からの制御により、ＨＤＤ１２３にインストールされた後、実行可能となる。またプロセッサ１２１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４１】
（フロントエンドサーバの機能について）
次にフロントエンドサーバ１００の機能について図５を用いて説明する。図５は、第二実施形態におけるフロントエンドサーバの機能ブロック図である。
【００４２】
フロントエンドサーバ１００は、注文受付部１０１と注文電文受信キュー１０２と記憶部１０３と振り分け処理部１０４とを備える。
注文受付部１０１は、機関投資家端末６０から注文電文を受付けて、注文電文受信キュー１０２に受付けた注文電文を格納する。注文受付部１０１は、注文電文を受付けたことを機関投資家端末６０に応答電文により応答する。
【００４３】
注文電文受信キュー１０２は、注文受付部１０１が機関投資家端末６０から受付けた注文電文を格納する。
記憶部１０３は、フロントエンドサーバ１００で用いる各種情報を記憶する。各種情報は、振り分け先の決定に用いる振り分け先決定情報と、振り分け先の決定方式の決定に用いる振り分け先決定方式決定情報とを含む。振り分け先決定情報は、振り分けられた注文電文を格納するバックエンドサーバ９０の注文電文受信キューで処理待ちしている注文電文の件数に関する情報（以下、処理待ち注文電文数）と、注文データの件数（作業量）の判定に用いる注文件数閾値とを含む。記憶部１０３が有する各種情報については、図６〜図９を用いて後で詳細に説明する。
【００４４】
振り分け処理部１０４は、各バックエンドサーバ９０への注文電文の振り分けに関する各種処理を実行する。振り分け処理部１０４は、注文電文取得部１０４ａと注文件数取得部１０４ｂと振り分け先決定方式決定部１０４ｃと振り分け先決定部１０４ｄと振り分け実行部１０４ｅとを含んで構成される。
【００４５】
注文電文取得部１０４ａは、所定のタイミングで注文電文受信キュー１０２に格納された注文電文の有無を確認して、注文電文受信キュー１０２から注文電文を取得する。
注文件数取得部１０４ｂは、注文電文取得部１０４ａが取得した注文電文から注文件数を取得する。
【００４６】
振り分け先決定方式決定部１０４ｃは、注文電文の注文件数（作業量）と振り分け先決定方式決定情報とに基づいて、振り分け優先度方式またはラウンドロビン方式のいずれかの振り分け先の決定方式を用いるか決定する。振り分け先決定方式決定部１０４ｃは、注文電文の注文件数と、注文件数閾値とに基づいて注文電文の作業量を判定し、判定結果に基づいてどちらの振り分け先の決定方式を用いるか決定する。振り分け先の決定方式の決定については、後で図１１を用いて詳細に説明する。
【００４７】
振り分け先決定部１０４ｄは、決定した振り分け先の決定方式と振り分け先決定情報とに基づいて、振り分け先となるバックエンドサーバ９０を決定する。
振り分け実行部１０４ｅは、振り分け先と決定したバックエンドサーバ９０に注文電文を振り分ける。振り分け実行部１０４ｅは、振り分け先に注文電文を振り分けた後、記憶部１０３が記憶する、振り分け先の処理待ち注文電文数を＋１（更新）する。
【００４８】
ここで記憶部１０３が記憶するフロントエンドサーバで用いる各種情報について図６〜図９を用いて説明する。
図６は、第二実施形態におけるバックエンドサーバ情報テーブルの一例を示す図である。バックエンドサーバ情報テーブル１３０は、各バックエンドサーバ９０に関する情報を有するテーブルであり、振り分け先の決定に用いられる。
【００４９】
バックエンドサーバ情報テーブル１３０は、キュー名と装置名と振り分け優先度と通常振り分け順序情報とを含んで構成される。
キュー名は、フロントエンドサーバ１００から振り分けられた注文電文を格納する、各バックエンドサーバ９０の注文電文受信キューを識別可能な識別情報である。装置名は、各バックエンドサーバ９０を識別可能な識別情報である。
【００５０】
振り分け優先度は、振り分け優先度方式により注文電文を振り分ける場合に、各バックエンドサーバ９０が注文電文の振り分け先候補として選ばれる優先度を識別可能な情報である。振り分け優先度は、バックエンドサーバ９０の処理能力に基づいて、処理能力が高いバックエンドサーバ９０ほど優先度が高く設定される（小さい数字が割り当てられる）。
【００５１】
通常振り分け順序情報は、ラウンドロビン方式により注文電文を振り分ける場合に、注文電文の振り分け先候補として選択されるバックエンドサーバ９０の順序を識別可能な情報である。ラウンドロビン方式による注文電文の振り分けでは、フロントエンドサーバ１００は、通常振り分け順序情報に設定された番号に沿って順番に注文電文を振り分けていく。
【００５２】
たとえば、バックエンドサーバ情報テーブル１３０は、キュー名「＃１」、装置名「＃００１」、振り分け優先度「１」、通常振り分け順序情報「ｎ」である情報を備える。これは、「＃００１」であるバックエンドサーバ９０は、「＃１」の注文電文受信キューを有し、当該バックエンドサーバ９０の振り分け優先度が「１」であり、通常振り分け順序情報が「ｎ」であることを示す。
【００５３】
図７は、第二実施形態における注文件数閾値テーブルの一例を示す図である。注文件数閾値テーブル１４０は、注文電文の処理にかかる作業量の判定に用いられるテーブルであり、振り分け先の決定方式の決定に用いられる。注文件数閾値テーブル１４０は、注文件数閾値を含んで構成される。
【００５４】
注文件数閾値は、注文電文の作業量の判定に用いられる閾値であり、予め設定された基準となる注文件数が設定される。注文件数閾値は、たとえば、処理の遅延が生じる恐れがある注文件数に基づいて設定される。処理の遅延が生じる恐れがある注文件数は、ゲートウェイシステム８０で想定している注文件数を超える件数である。処理の遅延が生じる恐れがある注文件数の注文データを含む注文電文は、振り分けられるバックエンドサーバ９０によっては処理の遅延を生じさせる恐れがある。処理の遅延が生じる恐れがある注文件数は、ゲートウェイシステム８０の構成及び適用される環境に応じて適宜決められる。
【００５５】
たとえば、注文件数閾値には「５０」が設定されており、フロントエンドサーバ１００は、注文件数閾値を用いて注文電文の注文データの件数が５０以上（注文件数閾値以上）であるか否かを判定することで、注文電文の作業量を判定する。
【００５６】
図８は、第二実施形態におけるラウンドロビン情報テーブルの一例を示す図である。ラウンドロビン情報テーブル１５０は、ラウンドロビン方式による注文電文の振り分けで最後に注文電文を振り分けられた振り分け先（以下、最終振り分け先）を識別可能な情報を有するテーブルであり、次の振り分け先の決定に用いられる。
【００５７】
ラウンドロビン情報テーブル１５０は、ラウンドロビン情報を含んで構成される。ラウンドロビン情報は、ラウンドロビン方式により最後に注文電文を振り分けられた振り分け先を識別可能な情報である。ラウンドロビン情報の項目には、最終振り分け先であるバックエンドサーバ９０の通常振り分け順序情報が設定される。
【００５８】
たとえば、ラウンドロビン情報テーブル１５０は、ラウンドロビン情報「１」である情報を備える。これはラウンドロビン方式により通常振り分け順序情報が「１」であるバックエンドサーバ９０に最後に注文電文が振り分けられたことを示す。
【００５９】
図９は、第二実施形態におけるキュー情報テーブルの一例を示す図である。キュー情報テーブル１６０は、フロントエンドサーバ１００から振り分けられた注文電文を格納する、各バックエンドサーバ９０の注文電文受信キューに関する情報を有するテーブルである。キュー情報テーブル１６０は、振り分け先の決定に用いられる。キュー情報テーブル１６０は、キュー名とキュー上限値と処理待ち注文電文数を含んで構成される。
【００６０】
キュー上限値は、注文電文受信キューが格納する注文電文の件数の上限値であり、バックエンドサーバ９０の処理能力に基づいて予め設定される。
処理待ち注文電文数は、バックエンドサーバ９０の注文電文受信キューに格納され、処理待ちしている注文電文の件数を識別可能な情報である。処理待ち注文電文数は、バックエンドサーバ９０の注文電文受信キューに格納されている注文電文の件数が増減する度に更新される。具体的には、フロントエンドサーバ１００は、１つの注文電文をバックエンドサーバ９０に振り分けると処理待ち注文電文数を＋１する。またバックエンドサーバ９０は、１つの注文電文を処理し終えると処理待ち注文電文数を−１する。
【００６１】
たとえば、キュー情報テーブル１６０は、キュー名「＃１」、キュー上限値「１２」、処理待ち注文電文数「０」である情報を備える。これは、キュー名が「＃１」であるキューは、注文電文を格納する上限値が「１２」であり、現在１つも注文電文が格納されていないことを示す。
【００６２】
（バックエンドサーバの機能）
次にバックエンドサーバ９０の機能について説明する。図１０は、第二実施形態におけるバックエンドサーバの機能ブロック図である。
【００６３】
バックエンドサーバ９０は、注文電文受信キュー９１と注文電文取得部９２と注文電文処理部９３とを備える。注文電文受信キュー９１は、フロントエンドサーバ１００から振り分けられた注文電文を格納する。
【００６４】
注文電文取得部９２は、所定のタイミングで注文電文受信キュー９１に格納された注文電文の有無を確認して、注文電文受信キュー９１から注文電文を取得する。
注文電文処理部９３は、注文電文取得部９２が取得した注文電文を処理する。具体的には注文電文処理部９３は、注文電文に含まれる注文データを取得し、証券会社システム７０が処理可能な形式に個々の注文データを変換して、証券会社システム７０に送信する。また、注文電文処理部９３は、注文電文を処理すると、キュー情報テーブル１６０の処理待ち注文電文数を−１（更新）する。
【００６５】
（注文電文振り分け処理のフローチャート）
次にフロントエンドサーバ１００が行う注文電文の振り分けについて説明する。図１１は、第二実施形態における注文電文振り分け処理のフローチャートである。フロントエンドサーバ１００は、稼働後に図示しないホストコンピュータやＨＤＤ１２３等から各種情報を記憶部１０３に読み込むと注文電文振り分け処理を開始する。フロントエンドサーバ１００は、注文電文振り分け処理を稼働している間中行う。
【００６６】
［ステップＳ１１］注文電文取得部１０４ａは、所定のタイミングで注文電文受信キュー１０２に格納された注文電文の存在の有無を確認する。
［ステップＳ１２］注文電文取得部１０４ａは、注文電文受信キュー１０２に注文電文が存在すると判定した場合にはステップＳ１３にすすみ、注文電文受信キュー１０２に注文電文が存在しないと判定した場合にはステップＳ１１にすすむ。
【００６７】
［ステップＳ１３］注文電文取得部１０４ａは、注文電文受信キュー１０２から注文電文を取得する。
［ステップＳ１４］注文件数取得部１０４ｂは、注文電文から注文件数を取得する。
【００６８】
［ステップＳ１５］振り分け先決定方式決定部１０４ｃは、取得した注文件数と注文件数閾値とを比較して注文件数が注文件数閾値を超えるか否かを判定する。振り分け先決定方式決定部１０４ｃは、注文件数が注文件数閾値を超えると判定した場合にはステップＳ１６にすすみ、注文件数が注文件数閾値を超えないと判定した場合にはステップＳ１７にすすむ。
【００６９】
［ステップＳ１６］振り分け処理部１０４は、振り分け優先度方式による振り分け処理を行う。振り分け優先度方式による振り分け処理において、振り分け処理部１０４は、振り分け優先度方式により振り分け先となるバックエンドサーバ９０を決定し、振り分け先と決定したバックエンドサーバ９０に注文電文を振り分け、ステップＳ１１にすすむ。
【００７０】
［ステップＳ１７］振り分け処理部１０４は、ラウンドロビン方式による振り分け処理を行う。ラウンドロビン方式による振り分け処理において、振り分け処理部１０４は、ラウンドロビン方式により振り分け先となるバックエンドサーバ９０を決定し、振り分け先と決定したバックエンドサーバ９０に注文電文を振り分け、ステップＳ１１にすすむ。
【００７１】
このような注文電文振り分け処理によれば、フロントエンドサーバ１００は、注文電文に含まれる注文データの件数が注文件数閾値を超える場合（注文電文の作業量が多い場合）に振り分け優先度方式による振り分け処理を行う。これにより、フロントエンドサーバ１００は、注文件数閾値を超える件数の注文データを含む注文電文（作業量の多い注文電文）が振り分け優先度の低い（処理能力の低い）バックエンドサーバ９０に振り分けられることを抑止する。これにより、フロントエンドサーバ１００は、処理能力の低いバックエンドサーバ９０に作業量が多い注文電文が振り分けられることによって、当該バックエンドサーバ９０に注文電文が過度に滞留することを抑止する。すなわち、フロントエンドサーバ１００は、ゲートウェイシステム全体としての処理効率を向上させることができる。
【００７２】
（振り分け優先度方式による振り分け処理のフローチャート）
次に振り分け優先度方式による振り分け処理について図１２を用いて説明する。図１２は、第二実施形態における振り分け優先度方式による振り分け処理のフローチャートである。
【００７３】
振り分け優先度方式による振り分け処理は、受付けた注文電文の注文件数が注文件数閾値を超えている場合に行われる処理である。振り分け優先度方式による振り分け処理は、振り分け先決定部１０４ｄと振り分け実行部１０４ｅが行う処理である。
【００７４】
［ステップＳ２１］振り分け先決定部１０４ｄは、バックエンドサーバ情報テーブル１３０に基づいて振り分け優先度が最も高いバックエンドサーバ９０を振り分け先候補と設定する。
【００７５】
［ステップＳ２２］振り分け先決定部１０４ｄは、設定した振り分け先候補のキュー名を取得する。
［ステップＳ２３］振り分け先決定部１０４ｄは、取得したキュー名に基づいてキュー情報テーブル１６０から処理待ち注文電文数とキュー上限値を取得する。
【００７６】
［ステップＳ２４］振り分け先決定部１０４ｄは、振り分け先候補の処理待ち注文電文数がキュー上限値未満であるか否かを判定する。振り分け先決定部１０４ｄは、処理待ち注文電文数がキュー上限値未満であると判定した場合にはステップＳ２７にすすみ、処理待ち注文電文数がキュー上限値に達していると判定した場合にはステップＳ２５にすすむ。
【００７７】
［ステップＳ２５］振り分け先決定部１０４ｄは、振り分け先候補の次の振り分け優先度を有するバックエンドサーバ９０が存在するか否かを判定する。振り分け先決定部１０４ｄは、振り分け先候補の次の振り分け優先度を有するバックエンドサーバが存在すると判定した場合にはステップＳ２６にすすみ、振り分け先候補の次の振り分け優先度を有するバックエンドサーバ９０が存在しないと判定した場合にはステップＳ２１にすすむ。
【００７８】
［ステップＳ２６］振り分け先決定部１０４ｄは、振り分け先候補の次の振り分け優先度を有するバックエンドサーバ９０を新たな振り分け先候補と設定し、ステップＳ２２にすすむ。
【００７９】
［ステップＳ２７］振り分け先決定部１０４ｄは、振り分け先候補を振り分け先と決定する。
［ステップＳ２８］振り分け実行部１０４ｅは、振り分け先と決定したバックエンドサーバ９０の注文電文受信キュー９１に注文電文を格納する。
【００８０】
［ステップＳ２９］振り分け実行部１０４ｅは、キュー情報テーブル１６０の処理待ち注文電文数を更新する。振り分け実行部１０４ｅは、振り分け先と決定したバックエンドサーバ９０の処理待ち注文電文数を＋１し、振り分け優先度方式による振り分け処理を終了する。
【００８１】
このような振り分け優先度方式による振り分け処理によれば、フロントエンドサーバ１００は、注文件数閾値を超える件数の注文データを含む注文電文を振り分け優先度が高いバックエンドサーバ９０に振り分ける。
【００８２】
これによりフロントエンドサーバ１００は、振り分け優先度が低い（処理能力が低い）バックエンドサーバ９０に作業量が多い注文電文（注文件数閾値を超える件数の注文データを含む注文電文）が振り分けられることを抑止できる。
【００８３】
また、フロントエンドサーバ１００は、注文電文が過度に滞留していない（処理待ち注文電文数がキュー上限値に達していない）バックエンドサーバ９０のうちの処理能力が高い（振り分け優先度が高い）バックエンドサーバ９０に優先的に注文電文を振り分ける。
【００８４】
このように、フロントエンドサーバ１００は、注文電文が過度に滞留していないバックエンドサーバ９０のうちの処理能力が高いバックエンドサーバ９０に優先的に注文電文を振り分けることによって処理能力が高いバックエンドサーバ９０に注文電文が過度に滞留することも抑止する。すなわち、フロントエンドサーバ１００は、ゲートウェイシステム全体としての処理効率を向上させることができる。
【００８５】
（ラウンドロビン方式による振り分け処理のフローチャート）
次にラウンドロビン方式による振り分け処理について図１３を用いて説明する。図１３は、第二実施形態におけるラウンドロビン方式による振り分け処理のフローチャートである。
【００８６】
ラウンドロビン方式による振り分け処理は、受付けた注文電文の注文件数が注文件数閾値を超えていない場合に行われる処理である。ラウンドロビン方式による振り分け処理は、振り分け先決定部１０４ｄと振り分け実行部１０４ｅとが行う処理である。
【００８７】
［ステップＳ３１］振り分け先決定部１０４ｄは、ラウンドロビン情報テーブル１５０からラウンドロビン情報を取得し、最終振り分け先を特定する。
［ステップＳ３２］振り分け先決定部１０４ｄは、特定した最終振り分け先の次の順序の通常振り分け順序情報を有するバックエンドサーバ９０が存在するか否かをバックエンドサーバ情報テーブル１３０に基づいて判定する。振り分け先決定部１０４ｄは、特定した最終振り分け先の次の順序の通常振り分け順序情報を有するバックエンドサーバ９０があると判定した場合にはステップＳ３４にすすみ、特定した最終振り分け先の次の順序の通常振り分け順序情報を有するバックエンドサーバ９０がないと判定した場合にはステップＳ３３にすすむ。
【００８８】
［ステップＳ３３］振り分け先決定部１０４ｄは、通常振り分け先順序情報が１であるバックエンドサーバ９０を振り分け先候補と設定し、ステップＳ３５にすすむ。
［ステップＳ３４］振り分け先決定部１０４ｄは、最終振り分け先の次の順序の通常振り分け順序情報を有するバックエンドサーバ９０を振り分け先候補と設定する。
【００８９】
［ステップＳ３５］振り分け先決定部１０４ｄは、読み込んだバックエンドサーバ情報テーブル１３０に基づいて振り分け先候補のキュー名を取得する。
［ステップＳ３６］振り分け先決定部１０４ｄは、取得したキュー名に基づいてキュー情報テーブル１６０から処理待ち注文電文数とキュー上限値を取得する。
【００９０】
［ステップＳ３７］振り分け先決定部１０４ｄは、振り分け先候補の処理待ち注文電文数がキュー上限値未満であるか否かを判定する。振り分け先決定部１０４ｄは、処理待ち注文電文数がキュー上限値未満であると判定した場合にはステップＳ３９にすすみ、処理待ち注文電文数がキュー上限値未満でないと判定した場合にはステップＳ３８にすすむ。
【００９１】
［ステップＳ３８］振り分け先決定部１０４ｄは、現在の振り分け先候補を最終振り分け先と設定し、ステップＳ３２にすすむ。
［ステップＳ３９］振り分け先決定部１０４ｄは、振り分け先候補を振り分け先と決定する。
【００９２】
［ステップＳ４０］振り分け実行部１０４ｅは、振り分け先と決定したバックエンドサーバ９０の注文電文受信キュー９１に注文電文を格納する。
［ステップＳ４１］振り分け実行部１０４ｅは、キュー情報テーブル１６０の処理待ち注文電文数を更新する。振り分け実行部１０４ｅは、振り分け先と決定したバックエンドサーバ９０の注文電文受信キュー９１の処理待ち注文電文数を＋１する。
【００９３】
［ステップＳ４２］振り分け実行部１０４ｅは、ラウンドロビン情報テーブル１５０のラウンドロビン情報を更新する。振り分け実行部１０４ｅは、ラウンドロビン情報を、注文電文を振り分けたバックエンドサーバ９０の通常振り分け順序情報に変更（更新）し、ラウンドロビン方式による振り分け処理を終了する。
【００９４】
このようなラウンドロビン方式による振り分け処理によれば、フロントエンドサーバ１００は、注文電文が過度に滞留していない（処理待ち注文電文数がキュー上限値に達していない）バックエンドサーバ９０に順番に注文電文を振り分けることができる。
【００９５】
これにより、フロントエンドサーバ１００は、一部のバックエンドサーバ９０に注文電文が過度に滞留することを抑止し、ゲートウェイシステム全体としての処理効率を向上させることができる。
【００９６】
（注文電文変換処理のフローチャート）
次に各バックエンドサーバ９０で行われる注文電文変換処理について図１４を用いて説明する。図１４は、第二実施形態における注文電文変換処理のフローチャートである。
【００９７】
注文電文変換処理は、注文電文が振り分けられた場合にバックエンドサーバ９０が行う処理である。
［ステップＳ５１］注文電文取得部９２は、所定のタイミングで注文電文受信キュー９１に格納された注文電文の存在の有無を確認する。
【００９８】
［ステップＳ５２］注文電文取得部９２は、注文電文受信キュー９１に注文電文が存在すると判定した場合にはステップＳ５３にすすみ、注文電文受信キュー９１に注文電文が存在しないと判定した場合にはステップＳ５１にすすむ。
【００９９】
［ステップＳ５３］注文電文取得部９２は、注文電文受信キュー９１から注文電文を取得する。
［ステップＳ５４］注文電文処理部９３は、注文電文を変換する。注文電文処理部９３は、注文電文に含まれる注文データを取得し、証券会社システム７０が処理可能な形式に個々の注文データを変換する。
【０１００】
［ステップＳ５５］注文電文処理部９３は、キュー情報テーブル１６０の処理待ち注文電文数を更新する。注文電文処理部９３は、キュー情報テーブル１６０の自バックエンドサーバ９０の注文電文受信キュー９１の処理待ち注文電文数を−１し、ステップＳ５１にすすむ。
【０１０１】
以上が第二実施形態におけるゲートウェイシステム８０である。
このようなゲートウェイシステム８０によれば、フロントエンドサーバ１００は、注文電文に含まれる注文データの件数が注文件数閾値未満の（想定される範囲内の注文データ）注文電文を受付けた場合には、ランドロビン方式により振り分け先を決定する。そして、フロントエンドサーバ１００は、注文電文に含まれる注文データの件数が注文件数閾値を超える（想定される範囲を超える注文データ）注文電文を受付けた場合には、振り分け優先度方式により振り分け先を決定する。
【０１０２】
これにより、フロントエンドサーバ１００は、作業量の多い（注文件数閾値を超える件数の注文データ）注文電文が振り分け優先度の低い（処理能力の低い）バックエンドサーバ９０に振り分けられることを抑止する。
【０１０３】
また、フロントエンドサーバ１００は、バックエンドサーバ９０の処理待ち注文電文数がキュー上限値に達している場合には、当該バックエンドサーバ９０には注文電文を振り分けない。
【０１０４】
これにより、フロントエンドサーバ１００は、一部のバックエンドサーバ９０に注文電文が過度に滞留することを抑止し、ゲートウェイシステム全体としての処理効率を向上させることができる。
【０１０５】
なお、フロントエンドサーバ１００が、記憶部１０３が記憶する各種情報を保持していることに限らない。たとえば、記憶部１０３が記憶する各種情報を図示しない外部装置が保持していてもよい。
【０１０６】
なお、振り分けられた注文電文を格納する注文電文受信キュー９１は、バックエンドサーバ９０が備えることに限らない。バックエンドサーバ９０の注文電文取得部９２が振り分けられた注文電文を取得できさえすればよく、たとえば、フロントエンドサーバ内に備えていてもよいし、図示しない外部装置が備えていてもよい。
【０１０７】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、振り分け装置１０、情報処理装置２０、バックエンドサーバ９０、フロントエンドサーバ１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読取り可能な記録媒体（可搬型記録媒体を含む）に記録しておくことができる。コンピュータで読取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（Flexible Disk:ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disk − Read Only Memory）、ＣＤ−Ｒ／ＲＷ（Recordable／Rewritable）などがある。光磁気記録媒体には、ＭＯ（Magneto Optical disk）などがある。
【０１０８】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０９】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受取ったプログラムにしたがった処理を実行することもできる。
【０１１０】
なお、上述の実施の形態は、実施の形態の要旨を逸脱しない範囲内において種々の変更を加えることができる。
さらに、上述の実施の形態は、多数の変形、変更が当業者にとって可能であり、説明した正確な構成および応用例に限定されるものではない。
【符号の説明】
【０１１１】
１  分散処理システム
１０  振り分け装置
１１  判定部
１１ａ  処理依頼
１１ｂ  判定結果
１２  選択部
１２ａ  振り分け優先度方式
１２ｂ  ラウンドロビン方式
１２ｃ  選択結果
１３  振り分け部
２０、２０ａ、２０ｂ、２０ｎ  情報処理装置
２１  処理部
【図１】
2015191457.tif 000003
【図２】
2015191457.tif 000004
【図３】
2015191457.tif 000005
【図４】
2015191457.tif 000006
【図５】
2015191457.tif 000007
【図６】
2015191457.tif 000008
【図７】
2015191457.tif 000009
【図８】
2015191457.tif 000010
【図９】
2015191457.tif 000011
【図１０】
2015191457.tif 000012
【図１１】
2015191457.tif 000013
【図１２】
2015191457.tif 000014
【図１３】
2015191457.tif 000015
【図１４】
2015191457.tif 000016