説明

フロー制御方法

【目的】 相手端末からの確認応答受信による回線制御装置からの割り込み回数を最小限に抑えつつ、回線利用率を低下させることなく特定の回線へのトラフィックの偏りを防止する。
【構成】 回線制御装置内のバッファ残数が所定数、例えば20%になるまでは、通信管理プログラム3は、確認応答なしのデータ送信要求を回線制御装置5に対して発行する。回線制御装置5は、装置内のバッファ6の残数が所定数未満になったとき、通信管理プログラム3に通知する。通信管理プログラム3は、フロー制御開始フラグ31をONにして、フロー制御を行う。フロー制御時において、回線制御装置5に対する確認応答なしのデータ送信要求の発行数を一定数に抑える。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の回線を収容し、複数の回線によって共有される複数のバッファを備えた回線制御装置の上位の通信管理プログラムにおける、送信側のフロー制御方法に関する。
【0002】
【従来の技術】従来、複数の回線を収容するオンラインシステムにおいて、各々の通信回線で使用する最大バッファ数をシステム初期化時にあらかじめ設定しておき、回線バッファ割当て最大数の範囲内で、各回線が使用するバッファを割当てることにより、ある特定の回線に偏ったバッファ使用を回避し、他の回線にバッファ使用が保証されるようにした、回線バッファの割り当て技術が提案されている(特開平3−46049号公報を参照)。
【0003】また、他の従来技術としては、ウィンドウ制御がある。このウィンドウ制御においては、パケットのウィンドウサイズ(一度に送信できるパケットの最大数)によって、相手側から確認応答を受けないで送信できる個数を制限するもので、ある特定の回線に偏ったバッファの使用によって、他の回線がバッファを確保できなくなることを防止するものである。
【0004】
【発明が解決しようとする課題】しかしながら、上記した前者の方式、つまりシステム初期化時に回線毎に使用する最大バッファ個数をあらかじめ割り当てる方式は、回線数毎に割当て最大数分のバッファを確保しているために、メモリの使用効率が悪いという問題がある。また、システムを停止することなく回線を追加するシステムへの適用が困難であり、回線追加も考慮してシステム初期化時にバッファを確保すると、回線が追加されるまでこのバッファが使用されず、メモリの使用効率が更に悪化するという問題がある。
【0005】他方、上記した後者のパケットのウィンドウのように、一定個数のデータを送信する毎に常に確認応答をもらうという方式は、通信制御装置(CCP)などの通信専用のプロセッサ上では影響は少ないが、通信専用のプロセッサではないシステムにおいては、確認応答を受信する度に割り込みが発生し、オーバヘッドが大きいという問題がある。
【0006】本発明の目的は、相手端末からの確認応答受信による回線制御装置からの割り込み回数を最小限に抑えつつ、回線利用率を低下させることなく特定の回線へのトラフィックの偏りを防止したフロー制御方法を提供することにある。
【0007】
【課題を解決するための手段】上記の課題を解決するために本発明は、通信管理手段を備えたサーバと、複数の回線を収容し、該複数の回線で共用される複数のバッファを備え、該サーバに接続された回線制御装置と、該各回線に接続された端末から構成され、該通信管理手段がデータ送信要求を受け付けたとき、相手端末からの確認応答を要するデータ送信要求あるいは相手端末からの確認応答を要しないデータ送信要求を発行し、該送信要求のデータを格納するために該回線制御装置内の所定数のバッファを割り当て、前記サーバから端末に対して所定の伝送手順に従ってデータが送信されるフロー制御方法において、前記通信管理手段は、前記回線制御装置内の未使用のバッファが所定数に達するまで、確認応答を要しないデータ送信要求を発行し、前記回線制御装置内の未使用のバッファが所定数未満になったとき、該確認応答を要しないデータ送信要求の発行数を所定数以下に抑え、該発行数が所定数を超えたときは相手端末からの確認応答を受信するまで該データ送信要求を抑止することを特徴としている。
【0008】
【作用】回線制御装置は、回線制御装置内のバッファの使用状況を通信管理プログラムに対して通知する。回線制御装置内のバッファ残数が一定以下になると、通信管理プログラムはフロー制御を開始する。そして、回線制御装置に送信要求したデータに対して、一定数毎に相手端末からの応答をデータリンク単位に監視する。相手端末からの確認応答を受信するまで、回線制御装置に対する送信要求発行数を端末毎に一定数に抑える。これによって、相手端末からの確認応答受信に基づく、回線制御装置から通信管理プログラムへの割り込み回数が最小限に抑えられ、しかも回線利用率を低下させることなく、また特定の回線へのトラフィックの偏りを回避して、他の回線へのバッファの割り当てが保証される。
【0009】
【実施例】以下、本発明の一実施例を図面を用いて詳細に説明する。図1は、本発明の実施例のブロック構成図である。図1において、1はサーバ、2はサーバ1上で動作するアプリケーションプログラム、3はサーバ1上で動作する通信管理プログラムである。31はフロー制御開始フラグ、32はデータリンク管理テーブル、33は該テーブルに設けられたデータ送信確認応答報告割込み監視フラグ(以下、監視フラグ)、34は該テーブルに設けられた送信数カウンタであり、これらは通信管理プログラムによって制御される。4はバス、5は複数の回線を収容できる回線制御装置、6は回線制御装置5内の複数のバッファ、7は通信回線、8は通信回線に接続された端末である。
【0010】図2は、確認応答なしのデータ送信のシーケンス例を示す。まず、回線制御装置内のバッファ全体に占める未使用のバッファの割合が20%以上のときのデータ送信のシーケンスを説明する。アプリケーションプログラム2がデータ送信要求201を通信管理プログラム3に発行し、通信管理プログラム3は確認応答なしのデータ送信要求202を回線制御装置5に発行する。
【0011】これに対して、回線制御装置5は、回線制御装置5内のバッファ6へのデータの書き込みが完了したときに、回線制御装置5内の未使用のバッファの割合は20%以上という情報を付加して、回線制御装置内のバッファへのデータ書き込み完了を割り込み203で通信管理プログラム3に通知する。そして、回線制御装置5は端末8に対してHDLC伝送手順のIフレーム(Information)204を送信し、端末8はRRフレーム(Receive Ready)205を回線制御装置5に送信することにより、正常にIフレーム204を受信したことを回線制御装置5に通知する。
【0012】次に、回線制御装置内のバッファ全体に占める未使用のバッファの割合が20%未満のときのデータ送信のシーケンスを説明する。アプリケーションプログラム2がデータ送信要求206を通信管理プログラム3に発行し、通信管理プログラム3は確認応答なしのデータ送信要求207を回線制御装置5に発行する。
【0013】これに対して、回線制御装置5は、回線制御装置5内のバッファ6へのデータの書き込みが完了したときに、回線制御装置5内の未使用のバッファの割合は20%未満という情報を付加して、回線制御装置5内のバッファへのデータ書き込み完了を割り込み208で通信管理プログラム3に通知する。そして、回線制御装置5は端末8に対してHDLC伝送手順のIフレーム209を送信し、端末8はRRフレーム210を回線制御装置5に送信する。
【0014】なお、確認応答なしのデータ送信においては、相手端末からRRフレームを受信したときに割り当てられたバッファが解放される。
【0015】図3は、確認応答ありのデータ送信のシーケンス例を示す。アプリケーションプログラム2がデータ送信要求301を通信管理プログラム3に発行し、通信管理プログラム3は確認応答ありのデータ送信要求302を回線制御装置5に発行する。これに対して、回線制御装置5は回線制御装置5内のバッファ6へのデータの書き込みが完了したときに、回線制御装置5内の未使用のバッファの割合は20%未満という情報を付加して、回線制御装置5内のバッファへのデータ書き込み完了を割り込み303で通信管理プログラム3に通知する。
【0016】そして、回線制御装置5は端末8に対して、HDLC伝送手順のIフレーム304を送信し、端末8からRRフレーム305を受信すると、データ送信確認応答報告を割り込み306で通信管理プログラム3に通知する。そして、相手端末からの確認応答を受信すると、割り当てられたバッファを解放する。
【0017】図4は、本発明のフロー制御処理のフローチャートであり、通信管理プログラムが回線制御装置に対してデータ送信要求を発行するときの処理フローチャートである。
【0018】アプリケーションプログラム2からデータ送信要求を受けて、通信管理プログラム3が回線制御装置5に対してデータ送信要求を発行するとき、通信管理プログラム3は、フロー制御開始フラグ31をチェックする(ステップ401)。このフロー制御開始フラグ31は、回線制御装置5内の未使用のバッファの割合が20%未満となったときに、前述した回線制御装置5からの情報によってONにされる。
【0019】フロー制御開始フラグがOFFの場合には(ステップ401:YES)、通信管理プログラム3は確認応答なしで回線制御装置5に対してデータ送信要求を発行する(ステップ403)。従って、回線制御装置5の未使用のバッファの割合が20%未満になるまでは、通信管理プログラム3は確認応答なしのデータ送信要求を回線制御装置5に発行し、回線制御装置5からのデータ送信確認応答の割り込みの回数が最小限に抑えられる。また、フロー制御開始フラグがONの場合には、回線制御装置5内の未使用のバッファの割合が20%未満であるので(ステップ401:NO)、フロー制御処理を行う(ステップ402)。
【0020】図5は、通信回線(データリンク)単位に行うフロー制御処理の詳細フローチャートであり、図4のステップ402の処理内容を示す。まず、通信管理プログラム3は、データリンク管理テーブル32内の監視フラグ33をチェックする(ステップ501)。この監視フラグ33は、通信管理プログラム3が確認応答ありのデータ送信要求を回線制御装置5に対して発行中のときにONとなる。
【0021】初期設定時には監視フラグはOFFであるので(ステップ501:NO)、通信管理プログラム3は、確認応答ありのデータ送信要求を回線制御装置5に対して発行し(ステップ502)、回線制御装置5からデータ送信確認応答報告割り込みがあると(図3の306)、データリンク管理テーブル32内の監視フラグ33をONにする(ステップ503)。
【0022】一方、監視フラグ33がONであれば(ステップ501:YES)、通信管理プログラム3は、確認応答なしのデータ送信要求を回線制御装置5に対して発行し(ステップ504)、データリンク管理テーブル32の送信数カウンタ34を1カウントアップする(ステップ505)。この送信カウンタ34は、データ送信確認応答報告割り込み(図3の306)を受け付けたときにクリアされる。
【0023】次いで、データリンク管理テーブル32の送信数カウンタ34とアウトスタンディングフレーム数(受信確認を得ることなく連続的に送れるIフレームの最大数)とを比較し(ステップ506)、送信数カウンタ<アウトスタンディングフレーム数となるように、つまり回線制御装置5に対する送信要求の発行数が端末毎に一定数に抑止する。このように、回線制御装置5内の未使用のバッファの割合が20%未満のとき、発行数が一定数に抑止された確認応答なしのデータ送信要求を行っているので、その間、確認応答の割込みが発生せず、処理全体として割込み回数が低減される。
【0024】データリンク管理テーブル32の送信数カウンタ34の方が大きい場合(ステップ506:NO)、回線制御装置5からのデータ送信確認応答報告割り込みを受け付けるまで、回線制御装置5へのデータ送信要求の発行を抑止する(ステップ507)。
【0025】図6は、通信管理プログラムが回線制御装置内のバッファへのデータ書き込み完了を受け付けたときのフローチャートである。通信管理プログラム3は、データ送信要求時に、フロー制御開始フラグをチェックする(ステップ601)。フロー制御開始フラグがOFFであれば(ステップ601:YES)、ステップ604に進む。回線制御装置内のバッファへデータを書き込み、回線制御装置5内のバッファ全体に占める未使用のバッファの割合をチェックし、未使用のバッファの割合が20%未満ならば、図2の通知208を基に(ステップ604:YES)、通信管理プログラム3はフロー制御開始フラグ31をONにする(ステップ605)。
【0026】一方、フロー制御開始フラグ31がONであれば(ステップ601:NO)、ステップ602に進む。回線制御装置5内のバッファ6へデータを書き込み、回線制御装置5内のバッファ全体に占める未使用のバッファの割合をチェックし(ステップ602)、未使用のバッファり割合が50%以上ならば(ステップ602:YES)、通信管理プログラム3はフロー制御開始フラグをOFFにする(ステップ603)。
【0027】図7は、通信管理プログラムが回線制御装置からのデータ送信確認応答報告割り込みを受け付けたときのフローチャートである。通信管理プログラム3が、図3のデータ送信確認応答報告割り込み306を受け付けると、データリンク管理テーブル32の送信カウンタ34を0クリアする(ステップ701)。次に、図5R>5のステップ503でONになっている監視フラグ33を、回線制御装置5からのデータ送信確認応答報告割り込みによってOFFにする(ステップ702)。つづいて、回線制御装置5へのデータ送信要求の発行抑止を解除する(ステップ703)。
【0028】以下、本発明の動作を説明すると、未使用のバッファの割合が20%に達するまでは、フロー制御開始フラグ31はOFFであるので、通信管理プログラム3は回線制御装置5に対して確認応答なしのデータ送信要求を発行する(図4のステップ401、402)。従って、確認応答なしのデータ送信要求時には、回線制御装置5からのデータ送信確認応答の割り込みが発生せず、割り込み回数が低減される。
【0029】未使用のバッファの割合が20%未満であることが回線制御装置5から通信管理プログラム3に通知されると、通信管理プログラム3は、フロー制御開始フラグ31をONにして、フロー制御処理を開始する(図4のステップ402)。次いで、図5のステップ501で、監視フラグ33は最初OFFであるので、通信管理プログラム3は回線制御装置5に対して確認応答ありのデータ送信要求を発行する(ステップ502)。
【0030】これに対して、図3で説明したように、回線制御装置5から割込み306があると、通信管理プログラム3は監視フラグ33をONにして(ステップ503)、図4のステップ401に戻る。フロー制御開始フラグ31はONであるので、ステップ402に進み、次いで、図5のステップ501で、監視フラグはONになっているので、ステップ504に進み、通信管理プログラム3は回線制御装置5に対して確認応答なしのデータ送信要求を発行する。
【0031】そして、確認応答なしのデータ送信要求の発行数が送信数カウンタ34でカウントされ(データ送信要求の度にIフレームが送信される)、そのカウント値がアウトスタンディングフレーム数に達するまで、確認応答なしのデータ送信が行われる。つまり、ステップ505、506においてデータ送信要求の発行数が一定数(アウトスタンディングフレーム数以下)に抑えられる。そして、一定数に達したときは、相手端末からの確認応答による、回線制御装置5からの割込み306があるまで、データ送信要求の発行が抑止される(ステップ507)。
【0032】本実施例においては、回線制御装置5内のバッファ書き込み完了通知時に、回線制御5内のバッファの使用状況の情報を付加し、回線制御装置5のバッファの未使用の割合が20%未満になってから、通信管理プログラム3のフロー制御を開始しているので、ある特定のデータリンクにサービスが偏り、他のデータリンクがサービスを受けられなくなることが防止される。
【0033】また、通信管理プログラム3はフロー制御開始後、回線制御装置5からデータ送信確認応答報告を受け付けるまでは、端末単位にアウトスタンディグフレーム数まで回線制御装置5に送信するため、回線利用率も落ちない。そして、回線制御装置5の未使用のバッファの割合が20%未満になるまでは、通信管理プログラム3は確認応答なしのデータ送信要求を回線制御装置5に発行し、回線制御装置5からのデータ送信確認応答の割り込みの回数を最小限に抑えている。
【0034】なお、上記した本実施例では、回線制御装置5内のバッファへの書き込み完了通知時に、回線制御装置のバッファ使用状況を通信管理プログラム3が通知しているが、非同期に回線制御装置5から回線制御装置5内のバッファ個数が一定以下になったことを、通知するようにしてもよい。
【0035】
【発明の効果】以上に説明したように、本発明によれば、回線制御装置内の未使用のバッファが所定数に達するまでは、確認応答を要しないデータ送信要求を発行し、回線制御装置内の未使用のバッファが所定数未満になったとき、確認応答を要しないデータ送信要求の発行数を所定数以下に抑え、該発行数が所定数を超えたときは相手端末からの確認応答を受信するまで該データ送信要求を抑止しているので、回線制御装置からの割り込み回数が最小限に抑えられ、また、回線利用率を低下させることなく特定の回線へのトラフィックの偏りが防止される。
【図面の簡単な説明】
【図1】本発明の実施例のブロック構成図である。
【図2】確認応答なしのデータ送信のシーケンス例を示す。
【図3】確認応答ありのデータ送信のシーケンス例を示す。
【図4】本発明のフロー制御処理のフローチャートである。
【図5】通信回線単位に行うフロー制御処理の詳細フローチャートである。
【図6】通信管理プログラムが回線制御装置内のバッファへのデータ書き込み完了を受け付けたときのフローチャートである。
【図7】通信管理プログラムが回線制御装置からのデータ送信確認応答報告割り込みを受け付けたときのフローチャートである。
【符号の説明】
1 サーバ
2 アプリケーションプログラム
3 通信管理プログラム
31 フロー制御開始フラグ
32 データリンク管理テーブル
33 監視フラグ
34 送信数カウンタ
4 バス
5 回線制御装置
6 バッファ
7 通信回線
8 端末

【特許請求の範囲】
【請求項1】 通信管理手段を備えたサーバと、複数の回線を収容し、該複数の回線で共用される複数のバッファを備え、該サーバに接続された回線制御装置と、該各回線に接続された端末から構成され、該通信管理手段がデータ送信要求を受け付けたとき、相手端末からの確認応答を要するデータ送信要求あるいは相手端末からの確認応答を要しないデータ送信要求を発行し、該送信要求のデータを格納するために該回線制御装置内の所定数のバッファを割り当て、前記サーバから端末に対して所定の伝送手順に従ってデータが送信されるフロー制御方法において、前記通信管理手段は、前記回線制御装置内の未使用のバッファが所定数に達するまで、確認応答を要しないデータ送信要求を発行し、前記回線制御装置内の未使用のバッファが所定数未満になったとき、該確認応答を要しないデータ送信要求の発行数を所定数以下に抑え、該発行数が所定数を超えたときは相手端末からの確認応答を受信するまで該データ送信要求を抑止することを特徴とするフロー制御方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図6】
image rotate


【図5】
image rotate


【図7】
image rotate