JP5937539B2 - 流量制御装置、通信制御システム、流量制御方法及びプログラム - Google Patents

流量制御装置、通信制御システム、流量制御方法及びプログラム Download PDF

Info

Publication number
JP5937539B2
JP5937539B2 JP2013083506A JP2013083506A JP5937539B2 JP 5937539 B2 JP5937539 B2 JP 5937539B2 JP 2013083506 A JP2013083506 A JP 2013083506A JP 2013083506 A JP2013083506 A JP 2013083506A JP 5937539 B2 JP5937539 B2 JP 5937539B2
Authority
JP
Japan
Prior art keywords
data
queue
stored
control device
flow control
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
Application number
JP2013083506A
Other languages
English (en)
Other versions
JP2014206835A (ja
Inventor
克樹 冨田
克樹 冨田
宏正 土肥
宏正 土肥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Frontech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Frontech Ltd filed Critical Fujitsu Frontech Ltd
Priority to JP2013083506A priority Critical patent/JP5937539B2/ja
Publication of JP2014206835A publication Critical patent/JP2014206835A/ja
Application granted granted Critical
Publication of JP5937539B2 publication Critical patent/JP5937539B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、流量制御装置、通信制御システム、流量制御方法及びプログラムに関する。
証券取引システムでは、一般に、証券取引所からの各取引銘柄の価格データは、発注業務を行うアプリケーションが実装された装置(以降、単に業務装置と記す。)に通信制御プログラムを介して送信され、受信した価格データを基に業務装置が売買価格を指定して注文を発注する。
通信制御プログラムからのデータの受信をトリガーにして業務装置が業務処理を開始するこのような方式をコールバック方式という。コールバック方式は、証券取引システムに限られず、複数の装置間でデータをやり取りする通信制御システムにおいて、広く採用されている方式である。
一方で、業務装置側から通信制御プログラムにデータを要求する方式も知られている。そのような方式は、例えば、特許文献1に開示されている。
特開2012−094174号公報
ところで、コールバック方式を採用する従来の通信制御システムでは、上位装置からのデータの発生頻度の上昇に伴って業務装置におけるコールバックイベントの発生頻度も高まる傾向にある。このため、上位装置からのデータの発生頻度によっては、処理能力を超えた過度の負荷が業務装置に生じ得るが、業務装置に処理能力を超えた負荷が生じると、業務装置の処理性能が劣化し業務処理が遅延してしまう。
このようにして生じる業務処理の遅延は、さまざまな問題を引き起こす可能性がある。例えば、証券取引システムを想定すると、証券取引システムでやり取りされる価格データには有効期限があるため、業務処理の遅延により有効期限が切れた古い価格で発注が行われる場合には、業務エラーとなりその注文は不成立として処理される。つまり、業務処理の遅延によって取引機会を損失してしまう。
また、通信制御プログラムは、通常、業務装置からの応答を待って次のデータを業務装置に送信するように構成されている。このため、業務処理の遅延により業務装置からの応答が得られるまでの時間が長くなると、通信制御プログラムが管理するキュー、上位装置、その他それらの間の伝送路などに上位装置からのデータが滞留することになる。そして、限界を超えてデータが滞留した場合には、伝送路が強制的に切断されてしまうため、通信が維持できなくなってしまう。この場合も、業務の継続ができず取引機会を損失してしまう。
以上のような実情を踏まえ、本発明は、処理能力の低い業務装置であっても処理を遅滞なく行うことができるように、業務装置へのデータの流量を制御する流量制御装置、通信制御システム、流量制御方法及びプログラムを提供することを目的とする。
本発明の第一の態様は、所定の一種類の種別のデータのみを格納する閾値が1のキューを少なくとも一つ含む、互いに異なる種別のデータを格納する複数のキューと、第1の装置から受信したデータの種別に基づいて、前記複数のキューのいずれかに前記受信したデータを格納させるエンキューイング処理部と、前記複数のキューのいずれかから格納されたデータを取り出して、第2の装置へ送信する通知処理部と、を備え、前記エンキューイング処理部は、データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されているときには、前記キューに格納されている前記受信したデータと同じ種別のデータを削除してから前記キューに前記受信したデータを格納させ、データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されておらず、且つ、格納先として決定されたキューの深さが閾値に達しているときには、前記キューに格納されている最も古いデータを削除してから前記キューに前記受信したデータを格納させる流量制御装置を提供する。
本発明の第二の態様は、第一の態様の流量制御装置と、第一の態様の流量制御装置から送信されたデータに基づいて業務処理を行う第2の装置と、を備える通信制御システムを提供する。
本発明の第三の態様は、第1の装置からデータを受信し、所定の一種類の種別のデータのみを格納する閾値が1のキューを少なくとも一つ含む互いに異なる種別のデータを格納する複数のキューから、前記受信したデータの種別に基づいて格納先のキューを決定し、データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されているときには、前記キューに格納されている前記受信したデータと同じ種別のデータを削除してから前記キューに前記受信したデータを格納させ、
データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されておらず、且つ、格納先として決定されたキューの深さが閾値に達しているときに、前記キューに格納されている最も古いデータを削除してから前記キューに前記受信したデータを格納させ、前記複数のキューのいずれかから格納されたデータを取り出して、第2の装置へ送信する流量制御方法を提供する。
本発明の第四の態様は、所定の一種類の種別のデータのみを格納する閾値が1のキューを少なくとも一つ含む、互いに異なる種別のデータを格納する複数のキューを備えたコンピュータに、第1の装置からデータを受信する工程と、前記複数のキューから、前記受信したデータの種別に基づいて格納先のキューを決定する工程と、データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されているときには、前記キューに格納されている前記受信したデータと同じ種別のデータを削除してから前記キューに前記受信したデータを格納させる工程と、データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されておらず、且つ、格納先として決定されたキューの深さが閾値に達しているときに、前記キューに格納されている最も古いデータを削除してから前記キューに前記受信したデータを格納させる工程と、前記複数のキューのいずれかから格納されたデータを取り出して、前記第2の装置へ送信する工程と、を実行させるプログラムを提供する。
本発明によれば、処理能力の低い業務装置であっても処理を遅滞なく行うことができるように、業務装置へのデータの流量を制御する流量制御装置、通信制御システム、流量制御方法及びプログラムを提供することができる。
本発明の実施例1に係る通信制御システムの構成を示す図である。 本発明の実施例1に係る通信制御システムの機能を示すブロック図である。 本発明の実施例1に係る流量制御装置の動作を示すフローチャートである。 本発明の実施例1に係る流量制御装置の動作環境定義ファイルの一例を示す図である。 本発明の実施例1に係る流量制御装置のエンキューイング処理の動作を示すフローチャートである。 本発明の実施例1に係る流量制御装置の通知処理の動作を示すフローチャートである。 本発明の実施例1に係る流量制御装置のハードウェア構成を示す図である。 本発明の実施例2に係る流量制御装置のエンキューイング処理の動作を示すフローチャートである。
以下、図面を参照しながら本発明の各実施例について説明する。
図1は、本実施例に係る通信制御システムの構成を示す図である。図1に示す通信制御システム1は、ネットワークを通じて接続される接続先装置2との間でデータをやり取りするシステムであり、接続先装置2からのデータの受信をトリガーにして業務処理を開始するコールバック方式を採用した業務処理システムである。
通信制御システム1は、通信制御装置10と、業務装置30と、通信制御装置10と業務装置30との間に設けられた流量制御装置20と、から構成されている。
通信制御装置10は、主に、接続先装置2からのデータを業務装置30に向けて送信することで接続先装置2(第1の装置)と業務装置30(第2の装置)の間の通信を制御するという役割を担っている。通信制御装置10は、通信制御プログラム11を実行することにより、接続先装置2から受信したデータを順番に業務装置30に向けて送信する。なお、通信制御装置10は、先に送信したデータについての流量制御装置20からの応答を待って次のデータを送信するように構成されている。
流量制御装置20は、主に、通信制御装置10から業務装置30へ向けて送信されたデータが業務装置30の処理能力を超えて業務装置30へ送信されないようにデータの流量を制御するという役割と、接続先装置2からのデータが通信制御システム10に過度に滞留しないように通信制御装置10にデータの送信を促すという役割を担っている。流量制御装置20は、流量制御プログラム21を実行することにより、通信制御装置10を介して接続先装置2から受信したデータをキュー23に一旦格納し、格納したデータを格納動作とは非同期で取り出して業務装置30へ送信する。流量制御装置20がデータの格納と送信を非同期で行うことで、通信制御装置10から業務装置30へのデータの流量が制御される。また、流量制御装置20がデータの格納後直ぐに通信制御装置10に応答を返すことで、通信制御装置10からのデータの送信が促される。なお、流量制御装置20も、先に送信したデータについての業務装置30からの応答を待って次のデータを送信するように構成されている。
業務装置30は、接続先装置2からのデータに基づいて業務処理を実行するという役割を担っている。業務装置30は、業務アプリケーションプログラム31を実行することにより、接続先装置2からのデータの受信をトリガーに発生するコールバックイベントで、受信したデータに基づいて業務処理を実行する。
本実施例に係る通信制御システム1は、通信制御装置10と業務装置30との間に流量制御装置20を含む点が従来の通信制御システムと異なっている。以降、接続先装置2が各銘柄の価格データを送信する証券取引所のサーバであり、通信制御システム1が証券取引所のサーバから各銘柄の価格データを受信し、受信した価格データに基づいて売買価格を指定して注文を発注する証券取引システムである場合を例にして、流量制御装置20についてさらに詳細に説明する。
図2は、本実施例に係る通信制御システムの機能を示すブロック図である。図3は、本実施例に係る流量制御装置の動作を示すフローチャートである。図4は、本実施例に係る流量制御装置の動作環境定義ファイルの一例を示す図である。図5は、本実施例に係る流量制御装置のエンキューイング処理の動作を示すフローチャートである。図6は、本実施例に係る流量制御装置の通知処理の動作を示すフローチャートである。
まず、図2を参照しながら、流量制御装置20の論理構成について説明する。流量制御装置20は、図2に示されるように、エンキューイング処理部22と、複数のキュー(キュー23a、キュー23b、キュー23c)と、複数の通知処理部(通知処理部24a、通知処理部24b、通知処理部24c)を備えている。
エンキューイング処理部22は、証券取引所のサーバから受信した価格データの銘柄に基づいて複数のキューのいずれかに受信した価格データを格納させるように構成されている。つまり、エンキューイング処理部22は、価格データの銘柄に基づいて、格納先のキューを決定する。
キュー23a、キュー23b、キュー23cは、予め決められた互いに異なる銘柄の価格データを格納するFIFO(First In First Out)形式のキューであり、それぞれ、内部に格納することができる価格データの件数である閾値を有している。なお、以降では、キュー23a、キュー23b、キュー23cをキュー23と総称する。
通知処理部24a、通知処理部24b、通知処理部24cの各々は、対応するキュー23a、キュー23b、キュー23cから、格納された価格データを取り出して、業務アプリケーションプログラム31が実行されている業務装置30に送信するように構成されている。つまり、複数の通知処理部は、全体として、複数のキューのいずれかから格納された価格データを取り出して業務装置30へ送信するように構成されている。なお、通知処理部24a、通知処理部24b、通知処理部24cを通知処理部24と総称する。
次に、図2から図6を参照しながら、流量制御装置20の動作について説明する。
流量制御プログラム21が開始されると、流量制御装置20は、まず動作環境定義ファイル25を読み込んで(図3のステップS1)、初期設定を行う。動作環境定義ファイル25には、図4に示されるように、少なくとも、エンキューイング処理部22がデータの種別を判別するための設定情報と、各キュー(キュー23a、キュー23b、キュー23c)の設定情報とが記載されている。
ここでは、動作環境定義ファイル25に従った初期設定により、エンキューイング処理部22は、受信した価格データの“銘柄コード”によって価格データの種別を判別するように構成される。また、キュー23aは、銘柄コードYYYYで特定される銘柄の価格データのみを格納する閾値が1のキューとして、キュー23bは、銘柄コードXXXXで特定される銘柄の価格データのみを格納する閾値が1のキューとして、キュー23cは、銘柄コードXXXX及びYYYY以外の銘柄コードで特定される銘柄の価格データを格納する閾値が5のキューとして、構成される。
初期設定が完了すると、流量制御装置20では、エンキューイング処理部22がエンキューイング処理を開始し(図3のステップS10)、通知処理部24が通知処理を開始する(図3のステップS20)。
エンキューイング処理を開始したエンキューイング処理部22は、通信制御プログラム11を介した証券取引所のサーバからの価格データの到着を監視し、証券取引所のサーバからの価格データを受信する(図5のステップS11)。価格データを受信すると、エンキューイング処理部22は、受信した価格データの銘柄コードに基づいて、格納先のキュー23を決定する(図5のステップS12)。その後、格納先のキュー23の深さ(即ち、キュー23に格納されているデータの件数)が閾値(即ち、キューが許容する最大深さ)に達しているか否かを判断する(図5のステップS13)。格納先のキュー23の深さが閾値に達しているときには、そのキュー23に格納されている最も古いデータを削除してから(図5のステップS14)、受信した価格データをキュー23に格納する(図5のステップS15)。格納先のキュー23の深さが閾値に達していないときには、キュー23に格納された価格データを削除することなく受信した価格データをキュー23に格納する(図5のステップS15)。
キュー23への価格データの格納が完了すると、流量制御装置20は、受信した価格データを処理したことを通信制御プログラム11に通知する(図5のステップS16)。つまり、通信制御プログラム11に応答を返す。最後に、エンキューイング処理の終了指示の有無を確認し(図5のステップS17)、終了指示がある場合には、エンキューイング処理を終了する。終了指示がない場合には、ステップS11に戻って上記の処理を繰り返す。
従って、図2に示すように、企業の銘柄コードなど、企業の識別であり得るYYYY、XXXX、ZZZZの価格データをエンキューイング処理部22が順に受信する場合を例に説明すると、エンキューイング処理部22は具体的には次のように動作する。
最初に受信した銘柄コードYYYYの価格データについては、格納先として決定したキュー23aの深さがすでに閾値である1に達しているので、エンキューイング処理部22は、キュー23aに格納されている銘柄コードYYYYの古いデータを削除してから、受信した新しい銘柄コードYYYYのデータをキュー23aに格納させる。そして、キュー23aへのデータの格納完了後、その旨を通信制御プログラム11に通知する。
上記通知を受けて通信制御プログラム11から送信された銘柄コードXXXXの価格データについても、格納先として決定されたキュー23bの深さがすでに閾値である1に達しているので、エンキューイング処理部22は、銘柄コードYYYYの価格データの場合と同様に、キュー23bに格納されている銘柄コードXXXXの古いデータを削除してから、受信した新しい銘柄コードXXXXのデータをキュー23bに格納させる。そして、キュー23bへのデータの格納完了後、その旨を通信制御プログラム11に通知する。
最後に受信する銘柄コードZZZZの価格データについては、格納先として決定されたキュー23cの深さが閾値である5に達していないので、エンキューイング処理部22は、キュー23cに格納されている価格データを削除することなく、受信した銘柄コードZZZZのデータをキュー23cに格納させる。この場合も、キュー23cへのデータの格納完了後、その旨を通信制御プログラム11に通知する。
一方、通知処理を開始した通知処理部24は、まず、価格データを取り出すキュー23を選択する(図6のステップS21)。キュー23の選択方法としては、任意の選択方法が採用し得る。例えば、キュー23a、キュー23b、キュー23cを順に選択する方法を採用してもよい。また、通知処理部24がエンキューイング処理部22からキュー23への格納を知らせる通知を受けて、その通知により対応するキュー23を選択する方法を採用してもよい。キュー23が選択されると、対応する通知処理部24が選択されたキュー23から価格データを取り出し(図6のステップS22)、取り出した価格データを業務アプリケーションプログラム31に送信する(図6のステップS23)。その後、業務アプリケーションプログラム31からの応答があるまで待機し(図6のステップS24)、応答を確認後、ステップS22におけるキューからのデータの取り出しを確定する(図6のステップS25)。さらに、通知処理の終了指示の有無を確認し(図6のステップS26)、終了指示がある場合には、通知処理を終了する。終了指示がなければ、ステップS21に戻って、上記の処理を繰り返す。
従って、図2に示すように、キュー23a、キュー23b、キュー23cが順に選択され、通知処理部24a、通知処理部24b、通知処理部24cが順にキューから価格データを取り出して業務アプリケーションプログラム31に送信する場合を例に説明すると、通知処理部24は具体的には次のように動作する。
まず、通知処理部24aがキュー23aに格納されている銘柄コードYYYYの価格データを取り出して、業務アプリケーションプログラム31に送信する。この価格データは、銘柄コードYYYYの最新の価格データである。次に、業務アプリケーションプログラム31からの応答を待って、通知処理部24bがキュー23bに格納されている銘柄コードXXXXの価格データを取り出して、業務アプリケーションプログラム31に送信する。この価格データも、銘柄コードXXXXの最新の価格データである。さらに、業務アプリケーションプログラム31からの応答を待って、通知処理部24cがキュー23cに格納されている価格データのうち最も古い価格データを取り出して、業務アプリケーションプログラム31に送信する。
以上のように、本実施例に係る流量制御装置20は、格納先のキューの深さが閾値に達していれば最も古い価格データを削除して、また、閾値に達していなければ価格データを削除することなく、最新の価格データである受信した価格データを対応するキュー23に格納させて通信制御プログラム11に応答を返す。従って、キューの状態によらず、通信制御プログラム11に速やかに応答を返すことができる。このため、流量制御装置20及び通信制御システム1によれば、通信制御プログラム11が管理するキュー、その上位装置である証券取引所のサーバ、その他それらの間の伝送路などに価格データが過度に滞留することを防止することが可能であり、データの滞留に起因する取引機会の損失を防止することが可能となる。
また、本実施例に係る流量制御装置20は、各キューの閾値を超えて価格データを保持することがない。従って、通信制御プログラム11から大量の価格データが送信された場合であっても、キューの設定により業務アプリケーションプログラム31に送信される価格データの流量を制限することができる。このため、流量制御装置20及び通信制御システム1によれば、業務装置30の処理能力に応じたキューの設定を行うことで、業務アプリケーションプログラム31を実行する業務装置30に過度に負荷がかかることが避けることができるため、処理能力が低い業務装置30が使用される場合であっても、処理を遅滞なく行うことが可能であり、業務処理の遅延に起因する取引機会の損失を防止することができる。
さらに、本実施例に係る流量制御装置20は、価格データの銘柄に基づいて決定される格納先のキューの深さが閾値に達している場合には、最も古い価格データを削除する一方で、新しい価格データをキューの閾値により許容される範囲内で維持する。このため、流量制御装置20及び通信制御システム1によれば、証券取引システムのように、取り扱うデータに有効期限があり、古いデータで処理した場合に業務エラーが生じ得るシステムにおいては、業務エラーの発生を抑制することができる。
さらに、本実施例に係る流量制御装置20は、異なる銘柄の価格データを格納する複数のキューを有している。従って、通知処理部24が複数のキューから順番にデータを取り出して送信する場合であれば、特定の銘柄の価格データが大量に発生した場合であっても、他の銘柄の価格データも確実に業務装置30へ送信することができる。このため、流量制御装置20及び通信制御システム1によれば、すべての銘柄の価格データを安定して業務装置30に送信することが可能であり、価格データの送信遅延に起因する取引機会の損失を防止することが可能となる。
なお、流量制御装置20のキューの設定は業務装置30の処理能力に応じて任意に設定可能であるが、複数のキューのうちの少なくとも1つのキューは、キュー23aまたはキュー23bのように、所定の一種類の種別のデータのみを格納する閾値が1のキュー(以降、単に、閾値が1のキューと記す。)として設定されることが望ましい。このようにキューを設定することで、そのキューに格納される種別のデータについては、業務装置30への最新のデータの送信を保証することが可能となる。
ただし、閾値が1のキューをデータの種別毎に用意すると、必要なキューの数が非常に多くなってしまう場合がある。このような場合には、閾値が1のキューをデータの種別毎に設ける設定は、流量制御装置20のリソースの観点から現実的ではない。従って、流量制御装置20のリソースとの関係で、閾値が1のキューの数を決定し、発生頻度の高い種別のデータを優先的に閾値が1のキューに割り当てることが望ましい。また、閾値が1のキューに割り当てられなかった残りの種別のデータは、キュー23cのような、複数の種別のデータを格納する閾値が2以上のキューに割り当てられる。この場合、このキューは、割り当てられたデータの種別の数以上の閾値を有するように設定されることが望ましい。そのようにキューを設定することで、複数の種別のデータを格納するキューにおいて、割り当てられた種別の最新のデータが削除される可能性を低くすることができる。なお、閾値が1のキューも割り当てられたデータの種別の数以上の閾値を有していることを考慮すると、流量制御装置20が有する複数のキューの各々は、そのキューに格納されるべきデータの種別の数以上の閾値を有することが望ましい。
また、キュー23毎に通知処理部24が設けられている例について上述したが、通知処理部24は、必ずしもキュー23毎に設けられる必要はない。一つの通知処理部24が、複数のキュー23からデータが取り出すように構成されてもよい。通知処理部24は、所定の順番で複数のキュー23から特定のキューを選択してデータを取り出してもよく、また、キューイングがあった順番で複数のキュー23から特定のキューを選択してデータを取り出してもよい。
また、通信制御装置10と流量制御装置20が別々に設けられた例について上述したが、通信制御装置10と流量制御装置20は一体として構成され、通信制御プログラム11と流量制御プログラム21の間でプロセス間通信を行ってもよい。
最後に、図7を参照しながら、本実施例に係る流量制御装置のハードウェア構成について説明する。図7は、本実施例に係る流量制御装置のハードウェア構成を示す図である。本実施例に係る流量制御装置20は、流量制御プログラム21を実行するコンピュータであり、図7に示されるように、CPU(Central Processing Unit)41、ROM(Read Only Memory)42、RAM(Random Access Memory)43、補助記憶装置としてのHDD(Hard Disk Drive)44、表示処理部45、入力インタフェース46、及び、通信インタフェース47を備えていて、それらがバス48で接続されていることにより各種データが各要素間で互いに授受可能となっている。補助記憶装置は、HDD44に限られず、たとえばSSD(Solid State Drive)であってもよい。表示処理部45は、例えば液晶ディスプレイなどのモニタ50に接続されている。入力インタフェース46は、キーボード60及びマウス70などの入力装置に接続されている。通信インタフェース47はネットワークに接続されていて、そのネットワークを介して通信制御装置10及び業務装置30と接続されている。
流量制御装置20では、CPU41がROM42またはHDD44が予め記憶している流量制御プログラム21を読み出して実行することにより、キュー23がRAM43またはHDD44に作成され、上述した流量制御動作が実現される。
本実施例に係る流量制御装置は、エンキューイング処理部の動作が実施例1に係る流量制御装置20と異なっている。装置の物理構成及び論理構成などその他の点については、実施例1に係る流量制御装置20と同様である。このため、本実施例に係る流量制御装置の構成要素は、実施例1に係る流量制御装置20の構成要素と同一の符号で参照する。
図8は、本実施例に係る流量制御装置のエンキューイング処理の動作を示すフローチャートである。以下、図8を参照しながら、本実施例に係る流量制御装置のエンキューイング処理部22の動作について説明する。
エンキューイング処理を開始したエンキューイング処理部22は、通信制御プログラム11を介した証券取引所のサーバからの価格データの到着を監視し、証券取引所のサーバからの価格データを受信する(図8のステップS31)。そして、受信した価格データの銘柄コードに基づいて、格納先のキュー23を決定する(図8のステップS32)。これらの動作は、実施例1に係る流量制御装置20と同様である。
次に、受信した価格データと同じ銘柄の価格データが格納先のキュー23に存在するか否かを判断する(図8のステップS33)。格納先のキュー23に同じ銘柄の価格データが存在しているときには、そのキュー23に格納されている同じ銘柄の価格データを削除してから(図8のステップS34)、受信した価格データをキュー23に格納する(図8のステップS37)。格納先のキュー23に同じ銘柄の価格データが存在しないときには、さらに、格納先のキュー23の深さが閾値(最大深さ)に達しているか否かを判断する(図8のステップS35)。格納先のキュー23の深さが閾値に達しているときには、そのキュー23に格納されている最も古いデータを削除してから(図8のステップS36)、受信した価格データをキュー23に格納する(図8のステップS37)。格納先のキュー23の深さが閾値に達していないときには、キュー23に格納された価格データを削除することなく受信した価格データをキュー23に格納する(図8のステップS37)。
キュー23への価格データの格納が完了すると、流量制御装置は、受信した価格データを処理したことを通信制御プログラム11に通知する(図8のステップS38)。最後に、エンキューイング処理の終了指示の有無を確認し(図8のステップS39)、終了指示がある場合には、エンキューイング処理を終了する。終了指示がない場合には、ステップS31に戻って上記の処理を繰り返す。
以上のように動作する本実施例に係る流量制御装置及びそれを備えた本実施例に係る通信制御システムによっても、実施例1に係る流量制御装置20及び通信制御システム1と同様に、取引機会の損失を防止することができる。また、本実施例に係る流量制御装置及び通信制御システムによれば、キュー23に同じ種別のデータが存在する場合には、そのデータを削除してから最新のデータをキュー23に格納するため、業務装置30への古いデータの送信を防止することができる。さらに、複数の種別のデータを格納する閾値が2以上のキューにおいて、割り当てられた種別の最新のデータが削除される可能性をさらに低くすることができる可能であり、特に、キューが格納されるべきデータの種別の数以上の閾値を有する場合には、種別の最新のデータが削除されることを確実に防止することができる。
以上では、流量制御装置を備えた通信制御システムとして証券取引システムを例示して説明したが、上述した流量制御技術は証券取引システムに限られず、任意の通信システムに適用可能である。上述した実施例は、発明の理解を容易にするために本発明の具体例を示したものであり、本発明はこれらに実施例に限定されるものではない。本発明の流量制御装置、通信制御システム、流量制御方法及びプログラムは、特許請求の範囲に規定された本発明の思想を逸脱しない範囲において、さまざまな変形、変更が可能である。
1 通信制御システム
2 接続先装置
10 通信制御装置
11 通信制御プログラム
20 流量制御装置
21 流量制御プログラム
22 エンキューイング処理部
23、23a、23b、23c キュー
24、24a、24b、24c 通知処理部
25 動作環境定義ファイル
30 業務装置
31 業務アプリケーションプログラム
41 CPU
42 ROM
43 RAM
44 HDD
45 表示処理部
46 入力インタフェース
47 通信インタフェース
48 バス
50 モニタ
60 キーボード
70 マウス

Claims (8)

  1. 所定の一種類の種別のデータのみを格納する閾値が1のキューを少なくとも一つ含む、互いに異なる種別のデータを格納する複数のキューと、
    第1の装置から受信したデータの種別に基づいて、前記複数のキューのいずれかに前記受信したデータを格納させるエンキューイング処理部と、
    前記複数のキューのいずれかから格納されたデータを取り出して、第2の装置へ送信する通知処理部と、を備え、
    前記エンキューイング処理部は、
    データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されているときには、前記キューに格納されている前記受信したデータと同じ種別のデータを削除してから前記キューに前記受信したデータを格納させ、
    データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されておらず、且つ、格納先として決定されたキューの深さが閾値に達しているときには、前記キューに格納されている最も古いデータを削除してから前記キューに前記受信したデータを格納させる
    ことを特徴とする流量制御装置。
  2. 請求項1に記載の流量制御装置において、
    前記エンキューイング処理部は、
    前記第1の装置と前記第2の装置の間の通信を制御する通信制御装置を介して、前記第1の装置からデータを受信し、
    前記受信したデータが格納されると、前記通信制御装置に前記受信したデータを処理したことを通知する
    ことを特徴とする流量制御装置。
  3. 請求項1または請求項2に記載の流量制御装置において、
    前記複数のキューの各々は、当該キューに格納されるべきデータの種別の数以上の閾値を有する
    ことを特徴とする流量制御装置。
  4. 請求項1乃至請求項3のいずれか1項に記載の流量制御装置において、
    複数の前記通知処理部を備え、
    前記複数の通知処理部の各々は、前記複数のキューのうちの対応するキューから格納されたデータを取り出して、前記第2の装置へ送信する
    ことを特徴とする流量制御装置。
  5. 請求項1乃至請求項4のいずれか1項に記載の流量制御装置において、
    前記複数のキューの少なくとも一つは、複数の種別のデータを格納するキューである
    ことを特徴とする流量制御装置。
  6. 請求項1乃至請求項5のいずれか1項に記載の流量制御装置と、
    前記流量制御装置から送信されたデータに基づいて業務処理を行う第2の装置と、を備える
    ことを特徴とする通信制御システム。
  7. 第1の装置からデータを受信し、
    所定の一種類の種別のデータのみを格納する閾値が1のキューを少なくとも一つ含む互いに異なる種別のデータを格納する複数のキューから、前記受信したデータの種別に基づいて格納先のキューを決定し、
    データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されているときには、前記キューに格納されている前記受信したデータと同じ種別のデータを削除してから前記キューに前記受信したデータを格納させ、
    データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されておらず、且つ、格納先として決定されたキューの深さが閾値に達しているときに、前記キューに格納されている最も古いデータを削除してから前記キューに前記受信したデータを格納させ、
    前記複数のキューのいずれかから格納されたデータを取り出して、第2の装置へ送信する
    ことを特徴とする流量制御方法。
  8. 所定の一種類の種別のデータのみを格納する閾値が1のキューを少なくとも一つ含む、
    互いに異なる種別のデータを格納する複数のキューを備えたコンピュータに、
    第1の装置からデータを受信する工程と、
    前記複数のキューから、前記受信したデータの種別に基づいて格納先のキューを決定する工程と、
    データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されているときには、前記キューに格納されている前記受信したデータと同じ種別のデータを削除してから前記キューに前記受信したデータを格納させる工程と、
    データの種別に基づいて格納先として決定されたキューに前記受信したデータと同じ種別のデータが格納されておらず、且つ、格納先として決定されたキューの深さが閾値に達しているときに、前記キューに格納されている最も古いデータを削除してから前記キューに前記受信したデータを格納させる工程と、
    前記複数のキューのいずれかから格納されたデータを取り出して、第2の装置へ送信する工程と、を実行させる
    ことを特徴とするプログラム。
JP2013083506A 2013-04-12 2013-04-12 流量制御装置、通信制御システム、流量制御方法及びプログラム Expired - Fee Related JP5937539B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013083506A JP5937539B2 (ja) 2013-04-12 2013-04-12 流量制御装置、通信制御システム、流量制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013083506A JP5937539B2 (ja) 2013-04-12 2013-04-12 流量制御装置、通信制御システム、流量制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014206835A JP2014206835A (ja) 2014-10-30
JP5937539B2 true JP5937539B2 (ja) 2016-06-22

Family

ID=52120346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013083506A Expired - Fee Related JP5937539B2 (ja) 2013-04-12 2013-04-12 流量制御装置、通信制御システム、流量制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5937539B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6459654B2 (ja) * 2014-11-07 2019-01-30 富士通株式会社 イベントドリブンシステム、情報処理装置、イベントドリブンプログラムおよびイベントドリブン方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305563A (ja) * 1996-05-21 1997-11-28 Toshiba Corp データ伝送装置
JPH11184715A (ja) * 1997-12-24 1999-07-09 Matsushita Electric Ind Co Ltd データ処理プロセス実行制御装置
JP2000242575A (ja) * 1999-02-23 2000-09-08 Daisho Syst Service Kk 送信方法、送信装置、通信システム、及び記録媒体

Also Published As

Publication number Publication date
JP2014206835A (ja) 2014-10-30

Similar Documents

Publication Publication Date Title
US10528405B2 (en) Methods, apparatus and computer programs for managing persistence
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
JP2010204876A (ja) 分散システム
CN112148644B (zh) 处理输入/输出请求的方法、装置和计算机程序产品
US20130117440A1 (en) Service collaboration device, service collaboration method, and computer-readable recording medium
JP4834622B2 (ja) ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム
JP2005521945A (ja) 共通作業キュー環境における最適格サーバ
JP5937539B2 (ja) 流量制御装置、通信制御システム、流量制御方法及びプログラム
US20160057068A1 (en) System and method for transmitting data embedded into control information
JP2008124977A (ja) メッセージ配送方法、装置及びプログラム
JP6046523B2 (ja) インメモリ型分散データベース、データ分散方法及びプログラム
US9647966B2 (en) Device, method and non-transitory computer readable storage medium for performing instant message communication
US9367361B2 (en) Information processing device, method for processing information, and non-transitory computer-readable recording medium having stored therein information processing program
US11003600B2 (en) Method and system for scheduling I/O operations for processing
US10996986B2 (en) Method and system for scheduling i/o operations for execution
WO2014203728A1 (ja) メッセージ制御システム、メッセージ制御装置、メッセージ制御方法及びプログラム
US20180210771A1 (en) Information processing system and control method
US10148585B2 (en) Communication control method, information processing apparatus, and storage medium
JPWO2016079786A1 (ja) 計算機システム及びデータ処理方法
WO2023223599A1 (ja) 計算機システム及びメトリクスの算出方法
US11968253B2 (en) Request delivery device, request delivery method, and request delivery program
JP7395908B2 (ja) 情報処理システム
US11941432B2 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program
US10705761B2 (en) Method of and system for scheduling transmission of I/O operations
US20230221961A1 (en) Remote front-drop for recovery after pipeline stall

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160512

R150 Certificate of patent or registration of utility model

Ref document number: 5937539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees