JP5291504B2 - 負荷分散処理システム - Google Patents
負荷分散処理システム Download PDFInfo
- Publication number
- JP5291504B2 JP5291504B2 JP2009069330A JP2009069330A JP5291504B2 JP 5291504 B2 JP5291504 B2 JP 5291504B2 JP 2009069330 A JP2009069330 A JP 2009069330A JP 2009069330 A JP2009069330 A JP 2009069330A JP 5291504 B2 JP5291504 B2 JP 5291504B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- service
- requests
- processing request
- service providing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
しかしながら、リクエスト及び処理結果データがクライアントとサーバ間で直接やり取りされる場合に比べ、負荷分散処理装置を経由することによる伝送遅れが不可避的に生じる。また、高負荷時には負荷分散処理装置に負荷が集中することとなり、システム全体の性能低下が生じるおそれがあった。
しかも、処理要求及び処理結果は、サービス利用側プロセスの処理要求振分部とサービス提供側プロセスの負荷情報管理部間で直接やり取りされるため、特許文献1のように負荷分散処理装置を経由する場合に比べ、電文の送受信が効率化される。また、負荷分散処理装置に負荷が集中することによるシステム全体の性能低下が生じるおそれもない。
負荷情報の収集・配信もリアルタイムで行われるのではなく、所定の時間間隔でまとめて実行される仕組みであるため、負荷情報の頻発によってネットワーク負荷を徒に増大させることもない。
また、上記管理デーモン83は、このミドルウェアの常駐プログラムであり、管理デーモンキュー情報を格納する管理デーモンキュー情報記憶領域89を備えている。
各サービス利用側API84と各サービス提供側API87との間、各サービス利用側API84と管理デーモン83との間、及び各サービス提供側API87と管理デーモン83との間は、TCP/IP(Transmission Control Protocol/Internet Protocol)によって通信可能に接続されている。
また、各サービス提供側プロセスから管理デーモン83に対して、一定の間隔をおいて定期的に自らの負荷状況を示す情報が送信されると共に、管理デーモン83から各サービス利用側プロセスに対して、一定の間隔をおいて定期的に各サービス提供側プロセスの負荷状況を示す情報が送信される。
各サービス利用側プロセスは、管理デーモン83から送られてきた情報を参照し、最も負荷の少ないサービス提供側プロセスを自ら選択し、処理要求を送信する。
以下、図2及び図3のフローチャートに従い、この負荷分散処理システムの動作を説明する。
ここで「自要求件数」とは、当該サービス利用側プロセス自身が当該サービス提供側プロセスに対して発した未完了の処理要求件数を意味しており、サービス利用側API84によって随時更新される情報である。
これに対し「他要求件数」とは、当該サービス利用側プロセス以外のサービス利用側プロセスが当該サービス提供側プロセスに対して発した未完了の処理要求件数を意味しており、管理デーモン83から定期的に送信されるクライアントキュー情報に基づいてサービス利用側API84が更新する情報である。
そこでサービス利用側API84は、自要求件数と他要求件数の合計値が最小となるサービス提供側プロセス82を最も負荷の小さいサービス提供側プロセスと認定する。
ここでYESの判定結果となった場合には、当該サービス提供側プロセスが高負荷状態にあることを意味するため、サービス利用側API84は直ちに処理要求を発することを控える。具体的には、当該処理要求データを振分待ち要求記憶領域85に一旦格納する(S84)。
なお、自要求件数と他要求件数の合計値が最小となるサービス提供側プロセス82が複数存在した場合、サービス利用側API84は所定のルール(例えばラウンドロビン方式)に従って一のサービス提供側プロセス82を選択し、処理要求を送信する。
すなわち、サービス提供側キュー情報記憶領域88には、図5に示すように、サービス利用側ID(IPアドレス+プロセスIDより構成される)、処理要求受信件数、処理要求返信件数のデータ項目を備えたレコードが、サービス利用側プロセス81毎に格納されている。
このためサービス提供側API87は、サービス利用側プロセス81から送信された処理要求に含まれるIPアドレス及びプロセスIDにより、当該サービス利用側プロセス81のレコードを特定することができる。
この処理要求受信件数から処理要求返信件数を減ずることにより、現在処理中の未完了の処理要求件数を割り出すことが可能となる。
そして、サービス提供側API87がサービス提供側プロセス82から処理結果を受け取ると(S71)、当該サービス利用側プロセス81のレコードの処理要求返信件数に「1」を加算する(S72)。
このサービス提供側キュー情報のサマリ情報は、図6に示すように、処理要求受信件数及び処理要求返信件数のデータ項目を備えており、「処理要求受信件数」には当該サービス提供側プロセス82が応対した全サービス利用側プロセス81に係る処理要求件数の総計値が、また「処理要求返信件数」には当該サービス提供側プロセス82が応対した全サービス利用側プロセス81に係る処理要求件数の総計値が格納される。
このためにサービス提供側API87は、サービス提供側キュー情報の全レコードに係る処理要求受信件数を加算してサマリ情報の処理要求受信件数を算出し、同じくサービス提供側キュー情報の全レコードに係る処理要求返信件数を加算してサマリ情報の処理要求返信件数を算出する。
これを受けたサービス利用側API84は、サービス提供側プロセス82の「IPアドレス+プロセスID」をキーにして、処理要求キュー情報記憶領域86を検索し、当該サービス提供側プロセス82のレコードを抽出する(S75)。
つぎにサービス利用側API84は、当該レコードの「自要求件数」から「1」を減算した後(S76)、サービス利用側プロセス81に処理結果を渡す(S77)。
具体的には、サマリ情報の処理要求受信件数から処理要求返信件数を減算し、その算出結果からさらに自要求件数を減算することにより、最新の「他要求件数」が得られるため、この値によって上記レコードの「他要求件数」を上書きする。
すなわち、管理デーモンキュー情報記憶領域89には、図7に示すように、サービス提供側ID(IPアドレス+プロセスID)、サービス利用側ID(IPアドレス+プロセスID)、処理要求受信件数、処理要求返信件数のデータ項目を備えたレコードが、サービス提供側プロセス×サービス利用側プロセス毎に格納されている。
このため管理デーモン83は、サービス提供側プロセス82から送信されたIPアドレス及びプロセスIDにより、当該サービス提供側プロセス82に係る全レコードを抽出した後、各サービス提供側キュー情報のサービス利用側IDに基づいて対応のレコードを特定することができる。
上記のサービス提供側キュー情報は、各サービス提供側プロセス82から非同期で定期的に送信され、これを受けた管理デーモン83は、その都度、管理デーモンキュー情報の当該サービス提供側プロセス82に係るレコードを更新する。
このクライアントキュー情報は、図8に示すように、サービス提供側ID(IPアドレス+プロセスID)及び他要求件数のデータ項目を備えており、サービス利用側プロセス81毎に各サービス提供側プロセス82における「他要求件数(当該サービス利用側プロセス以外のサービス利用側プロセスに係る未完了の処理要求件数の合計値)」が算出され、クライアントキュー情報となされる。
つぎに管理デーモン83は、各サービス利用側プロセス向けのクライアントキュー情報を、対応のサービス利用側API84に送信する(S85)。
上記のS78においては、処理結果と共にサービス提供側API87から送信されたサマリ情報に基づいて、当該サービス提供側プロセス82に係る他要求件数のみが更新されたのに対し、このS86においては、全サービス提供側プロセス82に係る他要求件数が一斉に更新される点で、両処理は内容を異にしている。
そして、当該サービス提供側プロセス82に係る「自要求件数+他要求件数」が所定の閾値以下となった場合、サービス利用側API84は当該サービス提供側プロセス82のレコードの「自要求件数」の値に「1」を加算した後(S93)、当該サービス提供側プロセス82に対して処理要求を送信する(S94)。
つぎにサービス利用側API84は、当該レコードの「自要求件数」から「1」を減算した後(S98)、サービス利用側プロセス81に処理結果を渡す(S99)。
また、各サービス提供側プロセス82の現在の負荷状況を示す処理要求キュー情報は、サービス提供側プロセス82から処理結果が返信される都度、または管理デーモン83からクライアントキュー情報が送信される都度、最新のものに更新される仕組みを備えているため、各サービス提供側プロセス82の実際の負荷を反映させた処理要求の振分が可能となる。
以下、図11〜図29に基づいて証券取引自動執行システムについて説明した後、図30及び図31に基づき、この発明を証券取引自動執行システムに適用した例を説明する。
設定登録部12、執行制御部16、注文分割部18、各発注部20、ボリュームカーブ選択部21及びボリュームカーブ変更部22は、コンピュータのCPUがOS及び専用のアプリケーションプログラムに従って必要な処理を実行することにより実現される。また、アルゴリズムDB14は、同コンピュータのハードディスク内に設けられている。
また、執行制御部16は、通信ネットワークを介して証券取引所のコンピュータ24と接続されている。証券取引所のコンピュータ24から執行制御部16に対しては、市況データ(銘柄コード毎の現在値データ、気配値データ、出来高データ等)及び約定データ(注文ID、約定数量、約定価格、約定日時等)が断続的に送信される。
このためにトレーダは、クライアント端末23上に専用のアプリケーションプログラムを立ち上げて設定登録部12にアクセスし、アルゴリズム設定画面をディスプレイに表示させる。
図12は、クライアント端末23のディスプレイに表示されたアルゴリズム設定画面30の一例を示すものであり、左側ペイン31にはアルゴリズム32、ボリュームカーブ選択部品33、ボリュームカーブ変更部品34、注文分割部品35、発注部品36の各設定項目がツリー状に配置されている。
図においては、「サンプルVWAP1」という名前のボリュームカーブ選択部品が指定されている。
なお、具体的なボリュームカーブのデータは、アルゴリズムDB14に格納されている。
図においては、「サンプル5分先行」という名前のボリュームカーブ変更部品が指定されている。
図においては、「5分スライス」という注文分割部品が選択されている。
図においては、「$LimitOrder」という発注部品のニモニック(略称)に対して「5分後譲歩」という発注部品が関連付けられている。詳細は後述するが、この発注部品のニモニックは、注文分割部品指定欄40において選択された注文分割部品の設定時に、トレーダによって命名されたものである。
図においては、「SQ日」の動作モードが選択されており、そのボリュームカーブとして「VWAP」が、また適用条件として「SQ日」が設定されている。これは、アルゴリズムの起動時がSQ日に該当する場合には、ボリュームカーブとして「VWAP」が参照されるべきことがルール化されていることを意味している。
図においては、タイミングとして「新規案件」が選択入力されている。また、アクションとして「ボリュームカーブ調整(分, 5.0)」が入力されている。これは、トレーダからの新規案件の発注がなされた場合には、現在のボリュームカーブを5分間進めることがルール化されていることを意味している。
ここでは変更条件入力欄45がブランクであるため、新規案件のタイミングに合致する場合には常にボリュームカーブが5分間進められることとなるが、変更条件入力欄45に条件式を予め入力しておくことにより、より細かい制御を行うこともできる。例えば、条件式として「新規案件の注文数量が注文総数の3%超えること」を所定の文法で記述しておくことが該当する。
この動作モードの数に制限はないが、少なくとも「新規発注」に相当する動作モードは設けられる必要がある。
図においては、「PEG動作」が選択されており、そのタイミングとして「時価情報」が選択入力されている。この「タイミング」とは、当該動作モードが発動されるべき時間的条件を意味しており、「時価情報」の値は「時価が変動した場合」を意味している。
アクション入力欄54は、注文の種別(新規注文/訂正注文)及びその価格を算出するためのルールを規定する項目であり、図においては「自己の注文価格を市場の最良気配価格(ただし執行制限値段内)に訂正する」旨が設定されている。
図22は、「5分後譲歩」の発注部品に係る設定内容を模式的に示すものであり、 「新規発注」については、タイミングとして「生成直後」が、アクションとして「新規発注/最良気配価格」が設定されている。新規発注の場合には、単純に新規注文情報を取引所のコンピュータに送信するだけで済むため、条件についてはブランクとなされている。
まずトレーダは、クライアント端末23から執行制御部16にアクセスし、図25に示すように、ディスプレイに自動執行リクエスト画面60を表示させた後、自動執行の細目を設定する。
すなわち、売買種別選択欄61に「買い/売り」の種別を選択入力すると共に、銘柄コード入力欄62に銘柄コードを入力し、市場選択欄63において任意の証券取引所を選択入力し、数量入力欄64に注文総数を入力し、約定価格に上限または下限がある場合には執行制限値段入力欄65に具体的な価格を入力する。つぎに、アルゴリズム選択欄66において▼ボタンをクリックすると、当該トレーダが設定したアルゴリズム名が列挙されたプルダウンメニューが表示されるため、利用を希望するアルゴリズム名を選択する。
例えば、注文分割部品の設定に際し、割当数量入力欄50bに「市場出来高のX%分の数量を注文数量とする」という算出ルールが設定されていた場合、パラメータ入力欄67において、項目名に「関与率」が、型に「小数」が表示される。これに対しトレーダは、値として「0.3」等の具体的な数値を入力する。
つぎに執行制御部16は、注文分割部18に対して銘柄コード、売買種別、数量、発注部品名を渡す(S16)。
執行制御部16は、注文分割部18から現時点におけるボリュームカーブ比率(予定執行率)について問合わせがある度に、アルゴリズムDB14内に格納された対応のボリュームカーブデータを参照して現時点におけるボリュームカーブ比率を算出し、注文分割部18に返す。
これ以降、執行制御部16は注文分割部18からボリュームカーブ比率についての問合わせがある場合には、上記の変更を加えたボリュームカーブ比率(例えば、現時点から5分後におけるボリュームカーブ比率)を注文分割部18に提供する。
つぎに注文分割部18は、銘柄コード、売買種別及び今回の注文数量を発注部20に渡す(S24)。この後、発注部20から執行制御部16経由で証券取引所のコンピュータ24に対して対応の注文情報が送信されることとなるが、詳細は後述する。
つぎに注文分割部18は、現時点までの執行完了数量(約定数量の累積値)と、上記の予定執行数量とを比較し、執行完了数量が予定執行数量を下回っている場合には(S30)、「5分後譲歩」の発注部品をインスタンス化し、つぎの発注部20を生成する(S32)。
そして、この発注部20に対し、銘柄コード、売買種別及び予定執行数量と執行完了数量との差分に該当する注文数量を渡す(S34)。
この自動執行システム10においては、株式売買の自動執行を執行制御部16に指令した後も、トレーダは注文総数の範囲内で自らの判断に基づき個別の注文情報を執行制御部16に送信することができ、この注文情報は執行制御部16から取引所のコンピュータ24に送信される。また、このトレーダの判断に基づく個別注文に対して約定が成立した場合には、取引所のコンピュータ24から執行制御部16に対して約定報告データが送信される。このため、執行完了数量が予定執行数量を上回る事態が生じ得る。
まず、生成直後の発注部20は、「新規発注」モードの設定に従い、以下の内容を備えた注文情報を生成し、執行制御部16経由でトレーダが指定した取引所のコンピュータ24に送信する(S40)。
銘柄コード:4307
売買種別:買い
数量:全割り当て数量
価格:現時点での最良気配価格(指値)
現時点での最良気配価格は、執行制御部16から送信された市況データに基づいて算出する。
発注部20は、この最良気配価格に追従するための処理を、自己の注文の全数量について約定が成立するまで(S42)、あるいは新規注文情報を送信してから5分を経過するまで継続する。
「逆最良気配価格」とは、買い注文を発している場合には売り側の最良気配価格を、売り注文を発している場合には買い側の最良気配価格を意味し、指値をこの価格に変更することにより、高い確度で約定を成立させることが可能となる。この逆最良気配価格は、執行制御部16から送信される市況データに基づいて算出される。
このためトレーダは、予め定義しておいた注文分割部品と発注部品を適宜組み合わせることにより、複雑な動作を行うアルゴリズムを極めて容易に設定することが可能となる。また、アルゴリズムの動作パターンを変更する場合にも、注文分割部品と発注部品の組合せを変更することで簡単に実現できる。
図29は、執行制御部16の内部構造を示す概念図であり、複数の受付部74と、複数のGW(ゲートウェイ)部76を備えている。
また、各GW部76も独立したプロセスよりなり、受付部74から渡された注文情報をフォーマット変換して証券取引所のコンピュータ24に送信する機能や、同コンピュータ24から返された注文確認情報をフォーマット変換して受付部74に渡す等を備えている。
サービス利用側API84及びサービス提供側API87は、それぞれミドルウェアによって提供される機能である。また、このミドルウェアの常駐プログラムである管理デーモン83が起動されている。
これを受けたサービス利用側API84は、処理要求キュー情報を参照して、最も負荷(自要求件数+他要求件数)の小さい受付部74を特定し、この受付部74に係る「自要求件数+他要求件数」の値が所定の閾値以下の場合には、当該受付部74のレコードの「自要求件数」に「1」を加算した後、当該受付部74のサービス提供側API87に対して注文情報を送信する。
この最も負荷の小さい受付部74の「自要求件数+他要求件数」が閾値を超えている場合、注文情報は振分待ち要求記憶領域85に一旦格納され、「自要求件数+他要求件数」が閾値以下となった時点で当該受付部74のサービス提供側API87に送信される。
この注文情報は、受付部74からGW部76に渡され、GW部76を介して証券取引所のコンピュータ24に送信される。
これを受け取ったサービス提供側API87は、当該発注部20のレコードの処理要求返信件数に「1」を加算した後、サービス提供側キュー情報のサマリ情報を生成し、注文確認情報と共にサービス利用側API84に送信する。
つぎにサービス利用側API84は、サービス提供側API87から送信されたサマリ情報に基づいて、当該受付部74のレコードにおける「他要求件数」を更新する。
つぎに管理デーモン83は、当該受付部74から送信されたサービス提供側キュー情報によって管理デーモンキュー情報の処理要求受信件数及び処理要求返信件数を上書き更新する。
これを受けた各発注部20のサービス利用側API84は、処理要求キュー情報中の各受付部74に係る他要求件数を上書き更新する。
サービス利用側API84及びサービス提供側API87は、それぞれミドルウェアによって提供される機能である。また、このミドルウェアの常駐プログラムである管理デーモン83が起動されている。
これを受けたサービス利用側API84は、処理要求キュー情報を参照して、最も負荷(自要求件数+他要求件数)の小さいGW部76を特定し、このGW部76に係る「自要求件数+他要求件数」の値が所定の閾値以下の場合には、当該GW部76のレコードの「自要求件数」に「1」を加算した後、当該GW部76のサービス提供側API87に対して注文情報を送信する。
この最も負荷の小さいGW部76の「自要求件数+他要求件数」が閾値を超えている場合、注文情報は振分待ち要求記憶領域85に一旦格納され、「自要求件数+他要求件数」が閾値以下となった時点で当該GW部76のサービス提供側API87に送信される。
GW部76は、この注文情報を所定のフォーマットに変換した上で証券取引所のコンピュータ24に送信する。
この注文確認情報(処理結果)を受け取ったサービス提供側API87は、受付部74のレコードの処理要求返信件数に「1」を加算した後、サービス提供側キュー情報のサマリ情報を生成し、注文確認情報と共にサービス利用側API84に送信する。
つぎにサービス利用側API84は、サービス提供側API87から送信されたサマリ情報に基づいて、当該GW部76のレコードにおける「他要求件数」を更新する。
つぎに管理デーモン83は、当該GW部76から送信されたサービス提供側キュー情報によって管理デーモンキュー情報の処理要求受信件数及び処理要求返信件数を上書き更新する。
これを受けた各受付部74のサービス利用側API84は、処理要求キュー情報中の各GW部76に係る他要求件数を上書き更新する。
12 設定登録部
16 執行制御部
18 注文分割部
20 発注部
21 ボリュームカーブ選択部
22 ボリュームカーブ変更部
23 クライアント端末
24 証券取引のコンピュータ
30 アルゴリズム設定画面
31 左側ペイン
32 アルゴリズム
33 ボリュームカーブ選択部品
34 ボリュームカーブ変更部品
35 注文分割部品
36 発注部品
37 右側ペイン
38 ボリュームカーブ選択部品指定欄
39 ボリュームカーブ変更部品指定欄
40 注文分割部品指定欄
41 発注部品指定欄
42 ボリュームカーブ選択入力欄
43 適用条件入力欄
44 タイミング選択入力欄
45 変更条件入力欄
46 アクション入力欄
48 タイミング選択入力欄
49 条件入力欄
50 内容入力欄
50a ニモニック入力欄
50b 割当数量入力欄
50c 丸め方法選択欄
52 タイミング選択入力欄
53 条件入力欄
54 アクション入力欄
60 自動執行リクエスト画面
61 売買種別選択欄
62 銘柄コード入力欄
63 市場選択欄
64 数量入力欄
65 執行制限値段入力欄
67 パラメータ入力欄
67a 値入力欄
68 実行ボタン
72 アルゴリズム選択欄
74 受付部
76 GW部
80 負荷分散処理システム
81 サービス利用側プロセス
82 サービス提供側プロセス
83 管理デーモン
84 サービス利用側API
85 振分待ち要求記憶領域
86 処理要求キュー情報記憶領域
87 サービス提供側API
88 サービス提供側キュー情報記憶領域
89 管理デーモンキュー情報記憶領域
Claims (7)
- 処理要求を生成する複数のサービス利用側プロセスと、上記処理要求に対して必要な処理を実行し、処理結果を出力する複数のサービス提供側プロセスと、上記サービス利用側プロセス毎に設けられた処理要求振分部と、上記サービス提供側プロセス毎に設けられた負荷情報管理部と、負荷情報配信部とを備えた負荷分散処理システムであって、
上記処理要求振分部は、サービス提供側プロセス毎に、当該サービス提供側プロセスが応対している全サービス利用側プロセスに係る未完了の処理要求件数を格納しておく第1の記憶領域と、
自己が担当するサービス利用側プロセスから処理要求が渡された際に、上記第1の記憶領域を参照し、未完了の処理要求件数が最も少ないサービス提供側プロセスを特定する機能と、
当該サービス提供側プロセスに係る負荷情報管理部に処理要求を送信する機能と、
当該サービス提供側プロセスによる処理結果を上記負荷情報管理部から受信し、上記サービス利用側プロセスに渡す機能と、
上記負荷情報配信部からサービス提供側プロセス毎の全サービス利用側プロセスに係る未完了の処理要求件数が送信された場合に、これにより上記第1の記憶領域に格納されたサービス提供側プロセス毎の未完了の処理要求件数を更新する機能を備え、
上記負荷情報管理部は、サービス利用側プロセスの処理要求を対応の処理要求振分部から受け取り、自己が担当するサービス提供側プロセスに渡す機能と、
当該サービス提供側プロセスから渡された処理結果を、上記サービス利用側プロセスの処理要求振分部に返信する機能と、
サービス利用側プロセス毎に、処理要求受信件数及び処理結果返信件数を格納する第2の記憶領域と、
処理要求を上記処理要求振分部から受信する度に、上記処理要求受信件数に1を加算する機能と、
処理結果を上記処理要求振分部に返信する度に、上記処理結果返信件数に1を加算する機能と、
所定のタイミングで、各サービス利用側プロセスに係る処理要求受信件数及び処理結果返信件数を、上記負荷情報配信部に送信する機能を備え、
上記負荷情報配信部は、各負荷情報管理部から送信された各サービス利用側プロセスに係る処理要求受信件数及び処理結果返信件数を格納しておく第3の記憶領域と、
所定のタイミングで、サービス提供側プロセス毎に、各サービス利用側プロセスに係る処理要求受信件数から処理結果返信件数を減算して未完了の処理要求件数を求め、これを全サービス利用側プロセス分積算する機能と、
このサービス提供側プロセス毎の全サービス利用側プロセスに係る未完了の処理要求件数を、各処理要求振分部に送信する機能を備えたことを特徴とする負荷分散処理システム。 - 上記負荷情報管理部は、上記処理結果をサービス利用側プロセスの処理要求振分部に返信するに際し、各サービス利用側プロセスに係る処理要求受信件数の集計値と、各サービス利用側プロセスに係る処理結果返信件数の集計値を算出し、処理結果と共に処理要求振分部に送信する機能を備えており、
上記処理要求振分部は、この処理要求受信件数の集計値から処理結果返信件数の集計値を減算して、当該サービス提供側プロセスの全サービス利用側プロセスに係る未完了の処理要求件数を求める機能と、
この未完了の処理要求件数によって、上記第1の記憶領域における該当のサービス提供側プロセスに係る未完了の処理要求件数を更新する機能を備えたことを特徴とする請求項1に記載の負荷分散処理システム。 - 処理要求を生成する複数のサービス利用側プロセスと、上記処理要求に対して必要な処理を実行し、処理結果を出力する複数のサービス提供側プロセスと、上記サービス利用側プロセス毎に設けられた処理要求振分部と、上記サービス提供側プロセス毎に設けられた負荷情報管理部と、負荷情報配信部とを備えた負荷分散処理システムであって、
上記処理要求振分部は、サービス提供側プロセス毎に、自らが当該サービス提供側プロセスに対して送信中の未完了の処理要求件数である自要求件数と、他のサービス利用側プロセスが当該サービス提供側プロセスに対して送信中の未完了の処理要求件数の合計である他要求件数を格納しておく第1の記憶領域と、
自己が担当するサービス利用側プロセスから処理要求が渡された際に、上記第1の記憶領域を参照し、自要求件数と他要求件数の和である未完了の処理要求件数が最も少ないサービス提供側プロセスを特定する機能と、
当該サービス提供側プロセスに係る負荷情報管理部に処理要求を送信する機能と、
当該サービス提供側プロセスに係る自要求件数に1を加算する機能と、
上記負荷情報管理部から処理結果を受信した際に、当該サービス提供側プロセスに係る自要求件数から1を減算する機能と、
この処理結果を上記サービス利用側プロセスに渡す機能と、
上記負荷情報配信部からサービス提供側プロセス毎の他のサービス利用側プロセスに係る未完了の処理要求件数の合計が送信された場合に、これにより上記第1の記憶領域に格納された他要求件数を更新する機能を備え、
上記負荷情報管理部は、サービス利用側プロセスの処理要求を対応の処理要求振分部から受け取り、自己が担当するサービス提供側プロセスに渡す機能と、
当該サービス提供側プロセスから渡された処理結果を、上記サービス利用側プロセスの処理要求振分部に返信する機能と、
サービス利用側プロセス毎に、処理要求受信件数及び処理結果返信件数を格納する第2の記憶領域と、
処理要求を上記処理要求振分部から受信する度に、上記処理要求受信件数に1を加算する機能と、
処理結果を上記処理要求振分部に返信する度に、上記処理結果返信件数に1を加算する機能と、
所定のタイミングで、各サービス利用側プロセスに係る処理要求受信件数及び処理結果返信件数を、上記負荷情報配信部に送信する機能を備え、
上記負荷情報配信部は、各負荷情報管理部から送信された各サービス利用側プロセスに係る処理要求受信件数及び処理結果返信件数を格納しておく第3の記憶領域と、
所定のタイミングで、サービス提供側プロセス毎に、各サービス利用側プロセスに係る処理要求受信件数から処理結果返信件数を減算して未完了の処理要求件数を求め、これを全サービス利用側プロセス分積算する機能と、
このサービス提供側プロセス毎の全サービス利用側プロセスに係る未完了の処理要求件数から、各サービス利用側プロセスに係る未完了の処理要求件数を減算し、各サービス利用側プロセス毎の他要求件数を算出する機能と、
この他要求件数を、対応のサービス利用側プロセスに係る処理要求振分部に送信する機能を備えたことを特徴とする負荷分散処理システム。 - 上記負荷情報管理部は、上記処理結果をサービス利用側プロセスの処理要求振分部に返信するに際し、各サービス利用側プロセスに係る処理要求受信件数の集計値と、各サービス利用側プロセスに係る処理結果返信件数の集計値を算出し、処理結果と共に処理要求振分部に送信する機能を備えており、
上記処理要求振分部は、この処理要求受信件数の集計値から処理結果返信件数の集計値を減算し、その差から自要求件数を減算した他要求件数を算出する機能と、
この他要求件数によって、上記第1の記憶領域における該当のサービス提供側プロセスに係る他要求件数を更新する機能を備えたことを特徴とする請求項3に記載の負荷分散処理システム。 - 上記処理要求振分部は、上記処理要求をサービス提供側プロセスの負荷情報管理部に送信するに際し、当該サービス提供側プロセスに係る未完了の処理要求件数が予め設定された閾値を超えているか否かを判定する機能と、
上記閾値を超えている場合に、当該処理要求を一旦待機用の第4の記憶領域に格納する機能と、
上記第1の記憶領域の格納情報が更新される度に、上記第4の記憶領域に格納された各処理要求について、上記第1の記憶領域を参照して未完了の処理要求件数が最も少ないサービス提供側プロセスを特定する機能と、
当該サービス提供側プロセスの未完了の処理要求件数が予め設定された閾値以下か否かを判定し、上記閾値以下の場合に当該処理要求を対応のサービス提供側プロセスの負荷情報管理部に送信する機能を備えたことを特徴とする請求項1〜4の何れかに記載の負荷分散処理システム。 - 上記サービス利用側プロセスが、予め設定されたタイミングで、予め設定されたルールに従って価格を算出し、この価格による、自己に割り当てられた数量分の新規注文情報を生成する処理を実行する、証券取引自動執行システムの複数の発注プロセスよりなり、
上記サービス提供側プロセスが、上記発注プロセスとゲートウェイプロセスとの間に介在し、発注プロセスによって生成された注文情報を受け付けて上記ゲートウェイプロセスに送信すると共に、ゲートウェイプロセスから送信された証券取引所のコンピュータからの注文確認情報を上記発注プロセスに送信する処理を実行する複数の受付プロセスよりなり、
上記処理要求振分部が、上記発注プロセスによって生成された注文情報を上記処理要求として上記受付プロセスの負荷情報管理部に送信すると共に、当該受付プロセスの負荷情報管理部から送信された上記注文確認情報を上記処理結果として上記発注プロセスに渡し、
上記負荷情報管理部が、上記発注プロセスの処理要求振分部から上記処理要求としての注文情報を受信し、上記受付プロセスに渡すと共に、当該受付プロセスから渡された上記処理結果としての注文確認情報を、上記発注プロセスの処理要求振分部に送信することを特徴とする請求項1〜5の何れかに記載の負荷分散処理システム。 - 上記サービス利用側プロセスが、上記受付プロセスよりなり、
上記サービス提供側プロセスが、上記ゲートウェイプロセスよりなり、
上記処理要求振分部が、上記受付プロセスから渡された注文情報を上記処理要求として上記ゲートウェイプロセスの負荷情報管理部に送信すると共に、当該ゲートウェイプロセスの負荷情報管理部から送信された上記注文確認情報を上記処理結果として上記受付プロセスに渡し、
上記負荷情報管理部が、上記受付プロセスの処理要求振分部から上記処理要求としての注文情報を受信し、上記ゲートウェイプロセスに渡すと共に、ゲートウェイプロセスから渡された上記処理結果としての注文確認情報を、上記受付プロセスの処理要求振分部に送信することを特徴とする請求項6に記載の負荷分散処理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009069330A JP5291504B2 (ja) | 2009-03-23 | 2009-03-23 | 負荷分散処理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009069330A JP5291504B2 (ja) | 2009-03-23 | 2009-03-23 | 負荷分散処理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010224709A JP2010224709A (ja) | 2010-10-07 |
| JP5291504B2 true JP5291504B2 (ja) | 2013-09-18 |
Family
ID=43041851
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009069330A Expired - Fee Related JP5291504B2 (ja) | 2009-03-23 | 2009-03-23 | 負荷分散処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5291504B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9445818B2 (en) * | 2013-03-15 | 2016-09-20 | Prabhat K Ahluwalia | Content inflation and delivery system |
| KR20170047292A (ko) * | 2014-08-22 | 2017-05-04 | 아이이엑스 그룹, 인크. | 전자 거래 시스템에서의 동적 페그 주문 |
| KR102719135B1 (ko) * | 2020-11-30 | 2024-10-18 | 주식회사 디셈버앤컴퍼니 | 매매 할당 시스템 및 방법 |
| JP7669715B2 (ja) * | 2021-02-22 | 2025-04-30 | 日本電気株式会社 | 制御装置、管理装置、システム、制御方法、管理方法、制御プログラムおよび管理プログラム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3966598B2 (ja) * | 1998-03-04 | 2007-08-29 | 富士通株式会社 | サーバ選択システム |
| JP2000268012A (ja) * | 1999-03-12 | 2000-09-29 | Nec Corp | クライアントサーバシステムにおけるサーバ負荷の分散方法ならびに装置 |
| JP4515354B2 (ja) * | 2005-08-16 | 2010-07-28 | 株式会社野村総合研究所 | 負荷分散処理システム及び装置 |
| JP4394710B2 (ja) * | 2007-07-27 | 2010-01-06 | 日本電信電話株式会社 | 負荷制御装置及び方法及びプログラム |
-
2009
- 2009-03-23 JP JP2009069330A patent/JP5291504B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010224709A (ja) | 2010-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6682514B2 (ja) | 半公開市場のためのシステム及び方法 | |
| US7398244B1 (en) | Automated order book with crowd price improvement | |
| US8682778B2 (en) | System and method for linking and managing linked orders in an electronic trading environment | |
| US20010044770A1 (en) | Platform for market programs and trading programs | |
| US20010051909A1 (en) | Market program for interacting with trading programs on a platform | |
| US20010042040A1 (en) | Routing control for orders eligible for multiple markets | |
| US20030101128A1 (en) | State tracking system for a basket trading system | |
| JP2016197451A (ja) | 外貨で証券を取引する方法とシステム | |
| US8825543B2 (en) | System and method for multi-market risk control in a distributed electronic trading environment | |
| US7539638B1 (en) | Representation of order in multiple markets | |
| JP5291504B2 (ja) | 負荷分散処理システム | |
| JP5039309B2 (ja) | 取引システム | |
| JP7171091B2 (ja) | 金融商品取引管理装置、金融商品取引管理システム、金融商品取引管理システムにおける金融商品取引管理方法、プログラム | |
| Chen et al. | Design of an aggregated marketplace under congestion effects: Asymptotic analysis and equilibrium characterization | |
| US7908198B1 (en) | Automated preferences for market participants | |
| JP7560201B2 (ja) | 交渉システム、交渉方法および交渉プログラム | |
| JP7392725B2 (ja) | 交渉システム、交渉方法および交渉プログラム | |
| US7813991B1 (en) | Automated trading negotiation protocols | |
| JP5216299B2 (ja) | 注文システム | |
| US8249975B1 (en) | Automated first look at market events | |
| JP5361456B2 (ja) | 証券取引自動執行システム | |
| CN111367680A (zh) | 一种作业任务分配方法、装置、服务器、系统及存储介质 | |
| US20110246389A1 (en) | Electronic trading spooler | |
| JP5868692B2 (ja) | アルゴリズム取引マッチングシステム及びそれを備えたアルゴリズム取引統合マッチングシステム | |
| CN110648232A (zh) | 处理节点的额度控制方法及装置、存储介质、终端 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111213 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130514 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130528 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130607 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |