トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 低速回線を使用したリアル更新データ転送システム
【発明者】 【氏名】鍛治 隆一

【氏名】釜谷 勝敏

【要約】 【課題】株価データ等を受信するクライアント・サーバ方式の情報表示システムでは、クライアント・サーバ間はサーバ側からの一方的なデータ送信や、ポーリング方式が使用されているが、クライアント・サーバ間が低速な回線の場合、サーバ側からの一方的なデータ送信は転送量が回線の転送量を越える可能性がある。またポーリング方式でも無効なポーリングコマンドのため不要トラヒックの発生やポーリング間隔による情報受信遅れが発生し、株価が更新された場合のリアルタイムの受信が困難であった。

【解決手段】クライアント側から受信したい銘柄等をあらかじめサーバに登録しておき、サーバではその銘柄のデータが更新されると、クライアントに更新されたことを通知し、通知を受けたクライアントがサーバにある更新データを取得することで、無効なコマンドを発生させることなく、低速な回線でもリアルタイムの受信が可能となる。
【特許請求の範囲】
【請求項1】 情報配信センタより表示データを受信して記憶する記憶部を有するサーバと、該サーバより前記表示データを受信して表示する複数のクライアントと、前記サーバと複数のクライアント間を複数の回線にて接続する情報表示システムにおいて、前記サーバの記憶部では、各クライアントごとに、前記情報配信センタよりの表示データを送信すべきか否かを示すフラグをもち、該フラグに従い、前記情報配信センタよりの表示データを各クライアントに送信することを特徴とする低速回線を使用したリアル更新データ転送システム。
【請求項2】 情報配信センタより表示データを受信して記憶する記憶部を有するサーバと、該サーバより前記表示データを受信して表示する複数のクライアントと、前記サーバと複数のクライアント間を複数の回線にて接続する情報表示システムにおいて、クライアントが、表示データを受信表示するには、サーバにたいし接続要求を送信し、接続要求を受信したサーバは、現在の接続回線数を見て、接続回線数があらかじめ定められた値より少ない場合は、接続要求を許可する応答信号を前記クライアントに送信し、接続回線数があらかじめ定められた値と等しいか大きい場合は、接続要求を不許可とする応答信号を前記クライアントに送信し、接続要求を許可する応答信号を受信したクライアントは、受信したい表示データを示す情報をサーバに送信し、サーバでは、サーバの記憶部に記憶されているクライアントが受信したい表示データに対応して、その表示データを前記クライアントに送信することを示すフラグを記憶することを特徴とする低速回線を使用したリアル更新データ転送システム。
【請求項3】 請求項1および請求項2の低速回線を使用したリアル更新データ転送システムにおいて、情報配信センタは株価データ配信センタであって、表示データは株価データであることを特徴とする低速回線を使用したリアル更新データ転送システム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、株式取引データ等を表示するクライアント・サーバ方式の情報表示システムにおける、表示データ転送システムに関するものである。
【0002】
【従来の技術】従来のクライアント・サーバ方式の株式取引データを表示する情報表示システムでは、更新されたデータをクライアントに送信する場合、サーバ側から株価データを一方的に送信する方法やポーリング方式が使用されていた。ポーリング方式は、クライアントからサーバに対し、定期的にデータ更新確認するコマンドを送信し、表示している銘柄のデータが更新されているかを調べ、更新されていたらデータを取得する方式である。
【0003】
【発明が解決しようとする課題】しかし、クライアント・サーバ間の回線が低速な回線の場合、サーバ側から一方的に送信する方法では、回線の転送容量を越える可能性がある。またポーリング方式は、定期的にクライアントからのポーリングのためのコマンドがサーバに対して送信されるため、不要なポーリングコマンドが送信され、無駄なトラヒックが発生するとともに、ポーリング間隔によっては、取引データがポーリング間隔分遅れるという問題があった。
【0004】本発明の目的は、サーバ側からの一方的な送信により回線の転送容量がオーバーする問題や、ポーリング方式がもつ無効トラヒックやポーリング遅延を防止し、取引データが更新されてからクライアントが受信されるまでの遅れがないリアルタイムの表示データ転送システムを実現することにある。
【0005】
【課題を解決するための手段】上記の目的を達成するために本発明は、情報配信センタより表示データを受信して記憶する記憶部を有するサーバと、該サーバより前記表示データを受信して表示する複数のクライアントと、前記サーバと複数のクライアント間を複数の回線にて接続する情報表示システムにおいて、前記サーバの記憶部では、各クライアントごとに、前記情報配信センタよりの表示データを送信すべきか否かを示すフラグをもち、該フラグに従い、前記情報配信センタよりの表示データを各クライアントに送信することを特徴とする低速回線を使用したリアル更新データ転送システムを提供する。
【0006】また、本発明は、情報配信センタより表示データを受信して記憶する記憶部を有するサーバと、該サーバより前記表示データを受信して表示する複数のクライアントと、前記サーバと複数のクライアント間を複数の回線にて接続する情報表示システムにおいて、クライアントが、表示データを受信表示するには、サーバにたいし接続要求を送信し、接続要求を受信したサーバは、現在の接続回線数を見て、接続回線数があらかじめ定められた値より少ない場合は、接続要求を許可する応答信号を前記クライアントに送信し、接続回線数があらかじめ定められた値と等しいか大きい場合は、接続要求を不許可とする応答信号を前記クライアントに送信し、接続要求を許可する応答信号を受信したクライアントは、受信したい表示データを示す情報をサーバに送信し、サーバでは、サーバの記憶部に記憶されているクライアントが受信したい表示データに対応して、その表示データを前記クライアントに送信することを示すフラグを記憶することを特徴とする低速回線を使用したリアル更新データ転送システムを提供する。
【0007】さらに、本発明は、請求項1および請求項2の低速回線を使用したリアル更新データ転送システムにおいて、情報配信センタは株価データ配信センタであって、表示データは株価データであることを特徴とする低速回線を使用したリアル更新データ転送システムを提供する。
【0008】
【発明の実施の形態】以下、本発明の実施の形態を詳細に説明する。図1は本発明の構成図で、サーバ13は、高速専用回線12で、株価データ配信センタなどの情報配信センタ11と接続されている。サーバ13は記憶部14をもち、記憶部14には、情報配信センタ11から受信した表示データを記憶する表示データテーブル15やクライアント対応のフラグを記憶する管理テーブル16がある。複数のクライアントである、クライアント1、クライアント2、・・・クライアントnは低速公衆回線17を介してサーバ13に接続される。
【0009】図2に、サーバ13とクライアントが低速公衆回線17を介して、サーバ13の記憶部14の表示データテーブル15に記憶されている表示データを受信するまでの制御信号の信号シーケンスを示す。表示データを受信したいクライアントは、まず接続要求信号をサーバに送信する。サーバからは接続されているクライアント数が一定数以下ならば、接続許可の応答信号をクライアントに返す。クライアントは受信したい表示データを示すコードを含んだ更新データ登録信号をサーバに送る。サーバは要求された表示データの、そのクライアントのフラグを0から1にし、登録完了信号を返す。これで、サーバの管理テーブル16のクライアントの表示したい表示データにクライアントがその表示データを受信したいということが登録される。
【0010】情報配信センタ11からサーバ13には表示データの更新データが高速専用回線12を用いて、定期的または更新がある度に送信される。サーバは表示データの更新が行われると、その表示データの受信を希望しているクライアントに対し、更新通知信号を送信する。サーバはクライアントから更新データ取得要求信号がくるまで一定間隔で更新通知信号を送信し続ける。クライアントからの更新データ取得要求信号が受信されると、サーバは更新された表示データを送信し、クライアントは更新データ取得完了信号を送信する。
【0011】以上の制御信号のシーケンスで、クライアントは受信を希望する表示データを受信することができる。この方法では、一度受信希望の表示データをサーバに登録すれば、あとは、その表示データが更新されたときだけに通知が来て、そのときのみデータを受信するので、ポーリングコマンドのような定期的なコマンドトラヒックが不要であるとともに、表示データが更新されたらすぐに、更新データを受信することができるので、株価データなどのようなリアルタイムでの取得が必要な表示データの場合、遅れがなく情報を取得できるのできわめて有効である。
【0012】以下、サーバとクライアントの制御フローをもとに、本発明の動作を詳細に説明する。図6はサーバでの更新データ登録フローである。サーバ13はクライアントからの接続要求信号が来るかを見ている(STEP601でNOのループ)、接続要求信号が来ると(STEP601でYES)、サーバ13は現在低速公衆回線17でサーバ13に接続されている回線数をチェックする(STEP602)。接続数があらかじめ定めた一定数以下でなければ(STEP603でNO)、接続数に余裕がないと判断し、応答信号に接続不許可を付与し(STEP604)、クライアントに送信する(STEP612)。接続数があらかじめ定めた一定数以下であれば(STEP603でYES)、接続数に余裕があると判断し、応答信号に接続許可を付与し(STEP605)、クライアントに送信する(STEP606)。
【0013】応答信号に接続許可を付与し(STEP605)、クライアントに送信(STEP606)した場合、クライアントからどの表示データを受信したいかの情報を含んだ更新データ登録信号がくるのをまつ(STEP607)。サーバ13は一定時間だけ更新データ登録信号を待っている(STEP607でNO、STEP608でNOのループ)。一定時間たっても更新データ登録信号が来なければ(STEP608でYES)、再度応答信号をクライアントに送信する(STEP609でNOでSTEP606)。再送を一定回数繰り返しても更新データ登録信号がクライアントから来なければ(STEP609でYES)、制御フローは終了する。もし更新データ登録信号がクライアントから来れば(STEP607でYES)、サーバ13は記憶部14の表示データテーブル15に対応してある管理テーブル16のそのクライアントのフラグをセットし(STEP610)、クライアントに登録完了信号を送信する。
【0014】図3に表示データ15と管理テーブル16の構成例を示す。この表示データ15は、図1の情報配信センタ11を株式取引データセンタとした場合である。図3の表示データテーブル15には、銘柄を番号で識別する銘柄コード、実際の銘柄名、現在の株価である現在値のほか、前場、後場、高値、低値の値が入っている。管理テーブル16はこの表示データテーブル15の各銘柄に対応してクライアントからの更新データの登録によりフラグが立てられる(フラグを1にする)。図3では、クライアント1は国際電気と八木電気の株価データの受信を要求し、クライアント2は、国際電気、国際電子、国際アンテナの各社の株価データを要求していることを表している。すなわち、サーバ13では、クライアント1から更新データ登録信号を受信すると(STEP607でYES)、その更新データ登録信号に含まれている銘柄コード、例えば1234であればそれを抽出し、表示データテーブル15の銘柄コード1234にアクセスし、それに対応しているクライアント1のところのフラグを1にする(STEP610)。
【0015】次に、図7のクライアントの更新データ登録フローに従い、クライアントが表示データの受信を要求する制御について説明する。例としてクライアント1が国際電気の株価データを受信表示データとして登録する場合とする。クライアント1は、まずサーバ13に対し、接続要求信号を送信し(STEP701)、応答信号が来るかを一定時間待っている(STEP702NO、STEP703のNOのループ)。もし一定時間、応答信号が来なければ(STEP703でYES)、いままでの接続要求信号の再送回数を見て(STEP704)、一定回数以下であれば(STEP704でNO)、再度接続要求信号を送信する(STEP702)。もし、一定回数再送を行っても応答信号が来なければ(STEP704でYES)、接続要求信号の送信を中止する。
【0016】サーバ13からの応答信号を受信すると(STEP702でYES)、その応答信号が接続許可の応答信号であるかを見る(STEP705)。もし接続不許可の応答信号であると(STEP705でNO)、再度、接続要求信号を送信する(STEP701)。この場合、すぐに接続要求信号を送信しても不許可になる確率が高いので、タイミングをとり、一定時間経過後に接続要求信号を送信するのが望ましい。もし受信した応答信号が接続許可付きの応答信号であれば(STEP705でYES)、クライアント1は更新データ登録信号を送信する(STEP706)。この信号には、受信登録したい国際電気の銘柄コード1234を一緒に送信する。更新データ登録信号を送信すると、クライアント1はサーバ13からの登録が完了したことを示す登録完了信号がくるのを待っている(STEP707でNO、STEP708でNOのループ)。もし一定時間たっても登録完了信号が来なければ(STEP708でNO)、今までの更新データ登録信号の送信回数を見て(STEP709)、一定回数に達しなければ(STEP709でNO)再度更新データ登録信号をサーバ13に送信する(STEP706)。もし一定回数に達していれば(STEP709でYES)、再度の信号送信を中止する。
【0017】次に、情報配信センタ11より表示データが更新されたときのサーバ13が更新データをクライアントに送信する制御について、図8の更新データ送信フローをもとに説明する。サーバ13は高速専用回線12を介して情報配信センタ11より表示データが来るかを待っている(STEP801でNOのループ)。表示データを受信すると(STEP801でYES)、サーバ13は記憶部14の表示データテーブル15の内容を更新する(STEP802)。例えば、情報配信センタ11より、国際電気の株価データが更新されたら、図3の銘柄コード1234の国際電気の現在値を初めとする値が更新される。国際電気の表示データが更新されると、その更新された表示データに対応して、受信登録をしているクライアント、すなわちフラグが1のクライアントが管理テーブル16にいるかを見る(STEP803)。もしいなければ(STEP803でNO)、次の表示データ受信をまつ(STEP801でNOのループ)。
【0018】もし、フラグが1のクライアントがいれば(STEP803でYES)、そのクライアントに対し、更新されたことを示す更新通知信号を送信する(STEP804)。図3で国際電気の株価データが更新されたとすると、国際電気に対応している管理テーブル16のフラグが1のクライアントは、クライアント1、クライアント2、クライアントnであるので、これらのクライアントに更新通知信号を送信する(STEP804)。複数のクライアントに更新通知信号を送信する方法は各種考えられるが、ここでは簡単のために、更新通知信号送信(STEP804)以下のフローをクライアントごとに並列に走らせるものとする。ここではクライアント1への送信についてのみ説明する。この更新通知信号には、更新された国際電気の銘柄コード1234が含まれている。サーバ13は更新通知信号を受信したクライアント1からの更新データ取得要求信号が、くるのを待つ(STEP805でNO、STEP806でNOのループ)。一定時間まっても更新データ取得信号がこなければ(STEP806でYES)、更新通知信号を一定回数すでに送出したかをみて(STEP807)、一定回数以下なら(STEP807でNO)、再度更新通知信号をクライアント1に送信する(STEP804)。更新通知信号の送信回数が一定回数になると(STEP807でYES)、クライアント1にはとどかないと判断し本フローを終了する。
【0019】クライアント1からの更新データ取得要求信号を受信すると(STEP805でYES)、サーバ13は表示データテーブル15の表示データを編集する(STEP808)。すなわち、表示データテーブル15に記憶されているデータは、メモリ削減上、通常は16進数で蓄積されているので、これを文字コードに変換する。また、図3の株価データでは、株式の直近の約定値を表示するさい、東証では後場の約定値がない場合には前場の約定値を表示するなど表示上の基準があるので、それらの制御を行う。編集が終わると、編集された表示データをクライアント1に送信し(STEP809)、クライアント1から取得完了信号がくるのを待つ(STEP810でNO、STEP811でNOのループ)。一定時間まっても取得完了信号がこなければ(STEP811でYES)、取得完了信号を一定回数すでに送出したかをみて(STEP812)、一定回数以下なら(STEP812でNO)、再度表示データをクライアント1に送信する(STEP809)。取得完了信号の送信回数が一定回数になると(STEP812でYES)、クライアント1にはとどかないと判断し本フローを終了する。取得完了信号がクライアント1からくれば(STEP810でYES)、更新データがクライアント1に届いたと判断し本フローを終了する。
【0020】次に、クライアントが更新された表示データを受信する制御を図9の表示データ受信フローで説明する。更新データ登録を行ったクライアントは、サーバ13から更新通知信号が来るかを見ている(STEP901でNOのループ)。更新通知信号を受信すると(STEP901でYES)、サーバ13に更新データ取得要求信号を送信する(STEP902)。この更新データ取得要求信号には、更新通知信号に含まれていた、更新された表示データを示すコード、例えば図3の株価データであれば、国際電気の銘柄コード1234が含まれている。更新データ取得要求信号を送信した(STEP902)クライアントは、サーバ13から更新された表示データがくるかを待つ(STEP903でNO、STEP904でNOのループ)。一定時間経過しても更新データが受信されないと(STEP904でYES)、更新データ取得要求信号を一定回数送信したかを見て(STEP905)、一定回数送信していなければ(STEP905でNO)更新データ取得要求信号を再送信し(STEP902)、サーバ13から更新データがくるかを待つ(STEP903でNO、STEP904でNOのループ)。一定回数、更新データ取得要求信号を送信しても更新データが受信されないと(STEP905でYES)、制御フローを中止する。更新データを受信すると(STEP903でYES)、取得完了信号を送信し(STEP906)、制御フローを終了する。クライアントは、受信した更新された表示データをクライアントの表示装置に表示することになる。
【0021】以上の説明で、サーバ・クライアント間の信号送受の信頼性を確保するために、要求信号を送信してからそれに対する応答信号が一定時間こないと、要求信号の再送信を行っているが、この再送信までの時間は、サーバ・クライアント間の回線速度によって決まる定数である。すなわち遅い回線速度では、送信される信号が相手に届くまでに時間がかかるので、応答信号をまつ時間は長くなる。
【0022】図4には、表示データテーブル15と管理テーブル16の他の構成例を示す。表示データテーブル15は図3に示した表示データ15の株価データと同じである。管理テーブル16はフラグに2ビット割り当て、クライアントの登録状態をより細かく表示したものである。フラグの示す情報を図5に示す。フラグの最初のビットは、サーバ側でクライアントからの表示データの登録要求を登録したかどうかを示し、2ビット目は、クライアント側でサーバに登録されたことが確認されたかを示している。11であれば、サーバ側で登録され、クライアント側でも登録が行われたことが確認された状態であり、10はサーバ側で登録されたが、クライアント側では登録されたことが確認されていない状態である。図6の制御フローで言えば、サーバ側で、管理テーブルフラグをセット(STEP610)というのは、最初のビットを1にする状態である。続いて、登録完了信号を送出する(STEP611)。図7では、クライアント側でこの登録完了信号を待っている(STEP707)。登録完了信号が来なければ、一定時間待ち(STEP708でNOのループ)、それでも来なければ(STEP708でYES)、更新データ登録信号を再送信してくる(STEP709でNOで、STEP706)。サーバ側では登録完了信号を送信してから一定時間待ち、更新データ登録信号が来なければ、クライアントに登録完了信号が届いたと判断し、2ビット目を1にする。
【0023】このようにフラグを2ビットにして、クライアント側の状態を表示することにより、サーバ側は更新データの受信登録をおこなったが、クライアント側ではそれが確認されないので、再送信ループにある状態で、クライアントに更新通知信号の送出(図8のSTEP804)を行うなどのサーバとクライアントの制御状態が同期しない制御を避けることができる。以上の説明では、サーバ側で2ビット目を0から1にするのをタイミングで行ったが、より確実にするには、クライアント側から登録完了確認信号をもらうことである。
【0024】また、以上の説明は、更新された表示データの登録についてのみ説明したが、登録した表示データを削除することも可能である。それには更新データ登録信号の送信(STEP607)の代わりに更新データ削除信号を送信することで容易に行える。この信号を受信したサーバではフラグを1から0に変更する。また図4,図5に示すように01という状態を作り、サーバ側では削除したがクライアント側は未完了の状態を設ければ、サーバ、クライアント間の制御状態の不一致を防ぐことができる。
【0025】以上詳細に説明したように、サーバ・クライアント間の転送回線が低速度であっても、サーバの表示データが更新されたときのみに、サーバから通知された更新銘柄のみのデータをクライアントが受信するので、サーバがクライアントに送信する転送量は少なくて済む。そのため低速度回線を用いても転送時間が少ないのでリアルタイムの転送が可能である。また、サーバからの一方的なデータの転送では回線の転送容量を越えてしまうことも生ずるが、クライアント側からデータの転送を要求することでクライアント側の性能、環境に適応したプロトコルの採用、例えばエラー時の再送をするか、しないかを選択できるようにするなども可能となる。またサーバ側では複数のクライアントの監視をしなくてよいので、負荷が軽くなるなどのメリットもある。
【0026】
【発明の効果】本発明により、定期的なポーリングコマンドがなくなり、無駄なトラヒックがないので、サーバ・クライアント間が低速回線でもリアルタイムで更新された表示データ受信が可能となり、株価データ受信などのようなリアルタイムが必要な情報表示システムを経済的に構成できる。
【出願人】 【識別番号】000001122
【氏名又は名称】株式会社日立国際電気
【出願日】 平成12年9月28日(2000.9.28)
【代理人】 【識別番号】100093872
【弁理士】
【氏名又は名称】高崎 芳紘
【公開番号】 特開2002−108746(P2002−108746A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−297646(P2000−297646)