特許第6502134号(P6502134)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許6502134データ送信制御装置、データ送信制御方法、及び、プログラム
<>
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000002
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000003
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000004
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000005
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000006
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000007
  • 特許6502134-データ送信制御装置、データ送信制御方法、及び、プログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6502134
(24)【登録日】2019年3月29日
(45)【発行日】2019年4月17日
(54)【発明の名称】データ送信制御装置、データ送信制御方法、及び、プログラム
(51)【国際特許分類】
   H04L 13/08 20060101AFI20190408BHJP
   H04L 29/08 20060101ALI20190408BHJP
   H04L 12/861 20130101ALI20190408BHJP
   H04L 12/28 20060101ALI20190408BHJP
【FI】
   H04L13/08
   H04L13/00 307C
   H04L12/861
   H04L12/28 200Z
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2015-55159(P2015-55159)
(22)【出願日】2015年3月18日
(65)【公開番号】特開2016-178369(P2016-178369A)
(43)【公開日】2016年10月6日
【審査請求日】2018年1月15日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】安田 浩哉
(72)【発明者】
【氏名】昆 信
(72)【発明者】
【氏名】横田 英昭
【審査官】 松崎 孝大
(56)【参考文献】
【文献】 特開昭58−059665(JP,A)
【文献】 特開昭62−176372(JP,A)
【文献】 特開平04−177972(JP,A)
【文献】 特開平05−276344(JP,A)
【文献】 米国特許第07581019(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 13/08
H04L 12/28
H04L 12/861
H04L 29/08
(57)【特許請求の範囲】
【請求項1】
データ送信装置が備えるデータ送信用メモリに書き込まれる送信用データのデータ量を受け付ける受付部と、
前記送信用データの送信先であるデータ受信用メモリから読み出される被読出データのデータ量を取得する取得部と、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ受信用メモリに記憶させた場合における前記データ受信用メモリの記憶データ量を計数する計数部と、
前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ受信用メモリに送信しないように前記データ送信装置を制御する判別制御部と、
を備えることを特徴とするデータ送信制御装置。
【請求項2】
前記計数部は、送信を許可しないと判別された場合には予め定められた待ち時間が経過したか否かを判別し、前記待ち時間が経過したと判別した場合には前記データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、前記待ち時間経過後に計数された前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可すると判別した場合には前記データ送信用メモリが記憶する未送信の前記送信用データを前記データ受信用メモリに送信するように前記データ送信装置を制御する、
ことを特徴とする請求項1に記載のデータ送信制御装置。
【請求項3】
前記取得部は、複数の前記データ受信用メモリの各々について前記被読出データのデータ量を取得し、
前記計数部は、前記送信用データのデータ量と複数の前記被読出データのデータ量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データを当該データ受信用メモリに記憶させた場合における当該データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、各前記データ受信用メモリの前記記憶データ量と前記記憶容量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データの送信許否を判別し、いずれか1つの前記データ受信用メモリについて送信を許可すると判別した場合には当該データ受信用メモリに当該データ受信用メモリ専用のデータ送信経路を介して未送信の前記送信用データを送信するように前記データ送信装置を制御する、
ことを特徴とする請求項1に記載のデータ送信制御装置。
【請求項4】
前記取得部は、複数の前記データ受信用メモリの各々について前記被読出データのデータ量を取得し、
前記計数部は、前記送信用データのデータ量と複数の前記被読出データのデータ量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データを当該データ受信用メモリに記憶させた場合における当該データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、各前記データ受信用メモリの前記記憶データ量と前記記憶容量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データの送信許否を判別し、少なくとも1つの前記データ受信用メモリについて送信を許可すると判別した場合には、送信を許可すると判別された前記データ受信用メモリのうちの所定条件を満たすいずれかの前記データ受信用メモリに当該データ受信用メモリ専用のデータ送信経路を介して未送信の前記送信用データを送信するように前記データ送信装置を制御する、
ことを特徴とする請求項1に記載のデータ送信制御装置。
【請求項5】
前記判別制御部は、送信を許可すると判別された前記データ受信用メモリのうちの空き容量が最である前記データ受信用メモリに当該データ受信用メモリ専用のデータ送信経路を介して未送信の前記送信用データを送信するように前記データ送信装置を制御することを特徴とする請求項4に記載のデータ送信制御装置。
【請求項6】
前記計数部は、全ての前記データ受信用メモリについて送信を許可しないと判別された場合には予め定められた待ち時間が経過したか否かを判別し、前記待ち時間が経過したと判別した場合には前記データ受信用メモリごとに当該データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、前記待ち時間経過後に計数された各前記データ受信用メモリの前記記憶データ量と前記記憶容量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データの送信許否を判別し、判別結果に基づいて前記データ送信装置を制御する、
ことを特徴とする請求項3乃至5のいずれか一項に記載のデータ送信制御装置。
【請求項7】
前記判別制御部は、前記記憶データ量が前記データ受信用メモリの記憶容量を超えた場合に送信を許可しないと判別することを特徴とする請求項1乃至6のいずれか一項に記載のデータ送信制御装置。
【請求項8】
送信用データのデータ量を受け付ける受付ステップと、
前記送信用データのデータ送信先から読み出される被読出データのデータ量を取得する取得ステップと、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ送信先に記憶させた場合における前記データ送信先の記憶データ量を計数する計数ステップと、
前記記憶データ量と前記データ送信先の記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ送信先に送信しないように制御する判別制御ステップと、
を備えることを特徴とするデータ送信制御方法。
【請求項9】
コンピュータを、
データ送信装置が備えるデータ送信用メモリに書き込まれる送信用データのデータ量を受け付ける受付部、
前記送信用データの送信先であるデータ受信用メモリから読み出される被読出データのデータ量を取得する取得部、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ受信用メモリに記憶させた場合における前記データ受信用メモリの記憶データ量を計数する計数部、
前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ受信用メモリに送信しないように前記データ送信装置を制御する判別制御部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ送信制御装置、データ送信制御方法、及び、プログラムに関する。
【背景技術】
【0002】
メモリがオーバーフローしないようにデータの受信側でフロー制御を行うデータ送受信システムが知られている。
【0003】
例えば、特許文献1は、ネットワーク機器が備えるバッファメモリ内のパケット数がしきい値を超えた場合にはネットワーク機器からパケット送信装置にその旨を通知させてパケット送信を停止させるシステムを開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−104192号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般的に、上記フロー制御にはIEEE802.3xに規定されるPAUSEフレームを用いた制御方法が採用される。この制御方法は、受信システムが備える受信メモリの空き容量が少なくなった場合に、受信システムから送信システムにデータ送信の停止を要求するPAUSEフレームを送信させ、PAUSEフレームで指定された時間が経過するまで送信システムによるデータ出力を停止させる。これにより、メモリのオーバーフローの発生が抑制されるが、PAUSEフレームの通知はインバンド(In-Band)方式で行われるため、PAUSEフレームの通知のたびに通信帯域の一部が占有されてしまい送信システムによるデータ送信が遅延するという問題があった。
【0006】
本発明は、以上のような課題を解決するためのものであり、メモリのオーバーフローの発生を抑制しつつ、メモリのオーバーフローの発生を抑制するための処理に起因するデータ送信の遅延を抑制するデータ送信制御装置等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の第1の観点に係るデータ送信制御装置は、
データ送信装置が備えるデータ送信用メモリに書き込まれる送信用データのデータ量を受け付ける受付部と、
前記送信用データの送信先であるデータ受信用メモリから読み出される被読出データのデータ量を取得する取得部と、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ受信用メモリに記憶させた場合における前記データ受信用メモリの記憶データ量を計数する計数部と、
前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ受信用メモリに送信しないように前記データ送信装置を制御する判別制御部と、
を備えることを特徴とする。
【0008】
上記目的を達成するために、本発明の第2の観点に係るデータ送信制御方法は、
送信用データのデータ量を受け付ける受付ステップと、
前記送信用データのデータ送信先から読み出される被読出データのデータ量を取得する取得ステップと、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ送信先に記憶させた場合における前記データ送信先の記憶データ量を計数する計数ステップと、
前記記憶データ量と前記データ送信先の記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ送信先に送信しないように制御する判別制御ステップと、
を備えることを特徴とする。
【0009】
上記目的を達成するために、本発明の第3の観点に係るプログラムは、
コンピュータを、
データ送信装置が備えるデータ送信用メモリに書き込まれる送信用データのデータ量を受け付ける受付部、
前記送信用データの送信先であるデータ受信用メモリから読み出される被読出データのデータ量を取得する取得部、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ受信用メモリに記憶させた場合における前記データ受信用メモリの記憶データ量を計数する計数部、
前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ受信用メモリに送信しないように前記データ送信装置を制御する判別制御部、
として機能させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、メモリのオーバーフローの発生を抑制しつつ、メモリのオーバーフローの発生を抑制するための処理に起因するデータ送信の遅延を抑制できる。
【図面の簡単な説明】
【0011】
図1】実施形態1のデータ送受信システムの全体構成を示す図である。
図2】実施形態1のデータ送信制御装置(制御部)の構成を示すブロック図である。
図3】実施形態1のデータ送信制御処理の流れを示すフローチャートである。
図4】PAUSEフレームを用いたフロー制御の流れを示すシーケンス図である。
図5】実施形態2のデータ送受信システムの全体構成を示す図である。
図6】実施形態2のデータ送信制御処理の流れを示すフローチャートである。
図7】変形例のデータ送信制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。
【0013】
(実施形態1)
データ送信先における記憶容量の逼迫をデータ送信元に知らせるために行われるPAUSEフレームの通知は通信回線の混雑を引き起こし、その結果としてデータ送信元によるデータ送信が遅延する。この点に関し、本実施形態に係るデータ送信制御装置は、データ送信先のメモリにデータがどの程度滞留しているかをデータ送信元に推定させるので、データ送信元によるデータ送信を制御するにあたりPAUSEフレームの通知を必要としない。従って、本実施形態に係るデータ送信制御装置は、メモリのオーバーフローを抑制しつつ、PAUSEフレームの通知に起因するデータ送信の遅延を抑制できる。以下、このデータ送信制御装置及びこのデータ送信制御装置を構成要素に含むデータ送信装置のハードウェア構成を、図1、2を参照して説明する。
【0014】
図1に示すデータ送信装置1は、データ送信経路1を介して様々なデータをデータ受信装置2に送信する情報端末であり、データ送信用バッファメモリ11と、データ書込制御部12と、データ読出制御部13と、制御部(データ送信制御装置)14と、データベース15と、を備える。
【0015】
データ送信用バッファメモリ11は、様々な送信用データを一時記憶する揮発性の半導体メモリから構成される。
【0016】
データ書込制御部12は、データ書込処理用のハードウェア回路を備え、送信用データを受け付けると、受け付けた送信用データをデータ送信用バッファメモリ11に書き込む。また、データ書込制御部12は、送信用データをデータ送信用バッファメモリ11に書き込むたびに書き込んだ送信用データのデータ量を制御部14に供給する。
【0017】
データ読出制御部13は、データ読出処理用のハードウェア回路を備え、データ送信用バッファメモリ11が記憶している未送信の送信用データを読み出し、読み出した送信用データをデータ送信先に送信する。例えば、データ送信先がデータ受信用バッファメモリ21の場合には、データ読出制御部13は、読み出した送信用データをデータ送信経路1を介してデータ受信装置2に送信する。データ書込制御部22は、データ送信経路1を介して送信されてきた送信用データを受信すると、受信した送信用データをデータ受信用バッフメモリ21に書き込む。なお、データ送信経路1は、LANケーブル等の通信ケーブルである。
【0018】
制御部14は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等(いずれも図示せず)を備え、データ送信装置1が行うデータ送信を制御する。制御部14における本発明特有の機能については後述する。
【0019】
データベース15は、フラッシュメモリ等の読み書き可能な不揮発性の半導体メモリから構成される。データベース15は、データ送信先であるデータ受信用バッファメモリ21の記憶容量、データ読出制御部23がデータ受信用バッファメモリ21から周期的に読み出すデータ(以下、被読出データと称す。)のデータ量等を予め記憶している。
【0020】
図2に示すように、データ送信装置1の制御部(データ送信制御装置)14は、本発明特有の機能として、加算制御部(受付部)141と、減算制御部(取得部)142と、計数部143と、送信許否判別部(判別制御部)144と、を備える。これらの構成要素の機能は、CPU等が、ROMに記憶されているデータ送信制御プログラムを実行することで実現される。
【0021】
加算制御部141は、送信用データがデータ送信用バッファメモリ11に書き込まれるたびにデータ書込制御部12から供給される送信用データのデータ量を受け付ける。そして、受け付けた送信用データのデータ量を加算するよう計数部143に要求する。
【0022】
減算制御部142は、データベース15に記憶されているデータ受信用バッファメモリ21についての被読出データのデータ量を取得する。そして、取得した被読出データのデータ量を減算するよう計数部143に要求する。
【0023】
計数部143は、図1に示すデータ受信用バッファメモリ21に記憶されているデータのサイズの推定値(以下、記憶データ量と称す。)を保持する。なお、記憶データ量の初期値は0(バイト)である。計数部143は、加算制御部141から加算要求を受け付けると、データ送信用バッファメモリ11に書き込まれた送信用データのデータ量を、計数部143が保持するデータ受信用バッファメモリ21の記憶データ量に加算する。また、減算制御部142から減算要求を受け付けると、計数部143が保持する記憶データ量からデータ受信用バッファメモリ21の被読出データのデータ量を減算する。計数部143は、このような加算・減算により、データ受信用バッファメモリ21の記憶データ量を計数する。
【0024】
送信許否判別部144は、データベース15に記憶されているデータ受信用バッファメモリ21の記憶容量を取得する。そして、計数部143により計数された記憶データ量がデータ受信用バッファメモリ21の記憶容量以下か否かを判別する。判別の結果、送信許否判別部144は、記憶データ量が記憶容量を超えていると判別した場合には、データ送信用バッファメモリ11に記憶されている未送信の送信用データをデータ受信用バッファメモリ21に送信することを許可しない旨をデータ読出制御部13に通知する。そして、所定の待ち時間が経過すると再度同様の判別を行い、記憶データ量が記憶容量以下であると判別した場合には未送信の送信用データをデータ受信用バッファメモリ21に送信することを許可する旨をデータ読出制御部13に通知する。なお、上記待ち時間は、データ受信用バッファメモリ21から被読出データが読み出される周期より長ければ、1μs、10μs、データ送信装置1が備える(図示しない)RTC(Real Time Clock)が計時する10クロック分の時間、100クロック分の時間等の固定時間であってよい。
【0025】
以下、制御部(データ送信制御装置)14が実行するデータ送信制御処理の流れについて、図3に示すフローチャートを参照して説明する。
【0026】
[データ送信制御処理]
制御部14は、データ書込制御部12から送信用データのデータ量を受け付けると、データ送信制御処理を開始する。
【0027】
制御部14の構成要素である加算制御部141は、データ送信制御処理が開始されると、送信用データのデータ量を加算するよう計数部143に要求する(ステップS1)。また、減算制御部142は、データベース15に記憶されているデータ受信用バッファメモリ21についての被読出データのデータ量を取得する。そして、取得した被読出データのデータ量を減算するよう計数部143に要求する(ステップS2)。
【0028】
計数部143は、加算制御部141からの加算要求に従い、保持するデータ受信用バッファメモリ21の記憶データ量に送信用データのデータ量を加算する。なお、計数部143が保持する記憶データ量の初期値は0バイトである。次に、計数部143は、減算制御部142からの減算要求に従い、保持するデータ受信用バッファメモリ21の記憶データ量からデータ受信用バッファメモリ21の被読出データのデータ量を減算する。計数部143は、このような加算・減算により、データ受信用バッファメモリ21の記憶データ量(推定値)を計数する(ステップS3)。なお、計数部143は、記憶データ量をバイト単位以外の任意のデータ量計数用の単位(例えばビット単位、ワード単位)で計数してよい。
【0029】
送信許否判別部144は、データベース15に予め記憶されているデータ受信用バッファメモリ21の記憶容量を取得する。そして、ステップS3で計数されたデータ受信用バッファメモリ21の記憶データ量がデータ受信用バッファメモリ21の記憶容量以下か否かを判別し(ステップS4)、記憶データ量が記憶容量を超えていると判別した場合には(ステップS4;No)、送信用データの送信を許可しない旨をデータ読出制御部13に通知する(ステップS5)。データ読出制御部13は、上記通知を受けた場合にはデータ送信用バッファメモリ11に記憶されている未送信の送信用データを送信先に送信しない。
【0030】
送信許否判別部144は、データ送信を許可しない旨を通知した場合、所定の待ち時間(以下、単に待ち時間と称す。)が経過したか否かを判別する(ステップS6)。そして、待ち時間が経過していないと判別した場合には(ステップS6;No)、待ち時間が経過するまで繰り返しステップS6の処理を実行する。そして、待ち時間が経過したと判別した場合には(ステップS6;Yes)、ステップS1に処理を戻す。
【0031】
ステップS1に処理が戻ると、加算制御部141は、データ書込制御部12から新たに送信用データのデータ量を受け付けている場合には受け付けたデータ量を加算するよう計数部143に要求し、受け付けていなければ要求しない(ステップS1)。減算制御部142は、上記待ち時間経過中にデータ受信用バッファメモリ21から読み出されたと推定される被読出データのデータ量を減算するよう計数部143に要求する(ステップS2)。
【0032】
計数部143は、上記加算・減算要求に従って、保持するデータ受信用バッファメモリ21の記憶データ量に対して加算・減算を行い、待ち時間経過後の記憶データ量を計数する(ステップS3)。
【0033】
送信許否判別部144は、待ち時間経過後の記憶データ量がデータ受信用バッファメモリ21の記憶容量以下か否かを判別し(ステップS4)、記憶データ量が記憶容量以下であると判別した場合には(ステップS4;Yes)、送信用データの送信を許可する旨をデータ読出制御部13に通知する(ステップS7)。データ読出制御部13は、上記通知を受けた場合にはデータ送信用バッファメモリ11に記憶されている未送信の送信用データをデータ送信経路1を介してデータ受信装置2に送信する。データ書込制御部22は、データ送信装置1から送信された送信用データを受信し、受信した送信用データをデータ受信用バッファメモリ21に書き込む。
【0034】
以上説明したように、本実施形態に係るデータ送信制御装置(制御部14)によれば、データ受信用バッファメモリ21に滞留するデータ量の推定値をデータ送信制御装置が計数するので、データ受信用バッファメモリ21のオーバーフローを制御するにあたりPAUSEフレームの通知を必要としない。従って、PAUSEフレームの通知に起因するデータ送信の遅延が抑制される。
【0035】
また、本実施形態に係るデータ送信制御装置(制御部14)によれば、従来よりデータ受信用バッファメモリ21の記憶容量を削減することができる。以下、その理由を図4を参照して説明する。
図4は、送信システムから送信されたデータを受信システムが受信したことにより、システム間でフロー制御が発生した場合を示している。従来の方法におけるフロー制御は受信システム側が主導して行う。受信システムは、データ受信用バッファメモリのデータ滞留量を監視し、データの受信によりデータ滞留量が一定の値を超えた場合には送信システムに対してPAUSEフレームを送信する。送信システムは、PAUSEフレームを受信した場合にはデータ送信経路へのデータ送出を停止することにより、データ受信用バッファメモリのオーバーフローを回避する。
【0036】
本処理において、フロー制御の可否の判定から実際にデータ送信が停止されるまでの間には以下に示すタイムラグが発生する。受信システムにおけるPAUSEフレームの送出は、対向側データ送信経路のインバンド通信で行われるため、他のデータ送信途中の場合はその送信終了まで待つ必要がある(以下、この待ち時間をC1とする。)。更に、PAUSEフレームが送信されてから送信システムに到達するまでの送信遅延時間(以下、この送信遅延時間をC2とする。)、送信システムがPAUSEフレームを受信してからPAUSEフレームの内容を解釈するまでの時間(以下、この時間をC3とする。)がかかる。また、送信システムがデータ送信中であれば送信処理の終了を待つ必要がある(以下、この待ち時間をC4とする。)。従って、データ受信用バッファメモリのオーバーフローを回避するためには、C1〜4の合計から求まるタイムラグの間に送信システムから受信システムに送信されるデータをデータ受信用バッファメモリに全て格納しなければならない。そのため、通常、データ受信用バッファメモリには記憶容量が十分に大きいものが採用される。
これに対して、本実施形態に係るデータ送信制御装置(制御部14)は、PAUSEフレームの送出を必要としないため、C1〜4の合計であるタイムラグは発生しない。そのため、上記タイムラグの間に送信されるデータを考慮して記憶容量が十分に大きいデータ受信用バッファメモリを採用する必要がない。従って、データ受信用バッファメモリの記憶容量の削減が図れる。
【0037】
(実施形態2)
続いて、図5に示すようにデータ送信経路が冗長化されたデータ送受信システムに本発明を適用した例を説明する。なお、以下の説明において、実施形態1と共通する構成要素等については、同一の符号を付し、その説明を省略する。
【0038】
本実施形態において、データ送信装置1は、複数のデータ送信用バッファメモリ11−1〜N(Nは2以上の整数)を備える。また、データ受信装置2は、複数のデータ受信用バッファメモリ21−1〜Nを備える。なお、データ送信用バッファメモリ11−1〜Nに記憶された各送信用データは、データ送信経路1〜Nを介してデータ受信用バッファメモリ21−1〜Nのそれぞれに送信される。その他の構成は実施形態1と同様である。
【0039】
次に、本実施形態におけるデータ送信制御処理の流れについて、図6に示すフローチャートを参照して説明する。
【0040】
[データ送信制御処理]
制御部14は、データ書込制御部12から送信用データのデータ量を受け付けると、データ送信制御処理を開始する。
【0041】
制御部14の構成要素である加算制御部141は、データ送信制御処理が開始されると、制御部14が記憶するカウンタ(内部変数)nに1を加算する(ステップS8)。なお、カウンタnは1以上N以下の整数であり、カウンタnの初期値は0である。続いて、加算制御部141は、送信用データのデータ量を加算するよう計数部143に要求する(ステップS1)。
【0042】
減算制御部142は、カウンタnの値が1なので、データベース15に予め記憶されているデータ受信用バッファメモリ21−1について被読出データのデータ量1を取得する。そして、取得した被読出データのデータ量1を減算するよう計数部143に要求する(ステップS2’)。
【0043】
計数部143は、加算制御部141からの加算要求に従い、保持するデータ受信用バッファメモリ21−1の記憶データ量1に送信用データのデータ量を加算する。なお、計数部143は、データ受信バッファメモリ21−1〜Nの記憶データ量1〜N(それぞれ初期値は0)を保持している。ここでは、カウンタnの値が1なので、加算対象にデータ受信用バッファメモリ21−1の記憶データ量1が選択されている(後述する減算についても同様)。次に、計数部143は、保持するデータ受信用バッファメモリ21−1の記憶データ量1からデータ受信用バッファメモリ21−1の被読出データのデータ量1を減算する。計数部143は、このような加算・減算により、データ受信バッファメモリ21−1の記憶データ量1(推定値)を計数する(ステップS3’)。
【0044】
送信許否判別部144は、データベース15に予め記憶されているデータ受信用バッファメモリ21−1の記憶容量1を取得する。そして、ステップS3’で計数されたデータ受信用バッファメモリ21−1の記憶データ量1がデータ受信用バッファメモリ21−1の記憶容量1以下か否かを判別し(ステップS4’)、記憶データ量1が記憶容量1を超えていると判別した場合には(ステップS4’;No)、カウンタnの値がN未満か否かを判別する(ステップS9)。なお、Nの値は、データ送信用バッファメモリ11−1〜Nの個数及び受信用バッファメモリ21−1〜Nの個数と一致する。
【0045】
送信許否判別部144は、カウンタnの値がN未満であると判別した場合には(ステップS9;Yes)、ステップS8に処理を戻す。この場合、加算制御部141は、カウンタnに1を加算する。以下、データ受信用バッファメモリ21−2について、上述した処理と同様の処理が実行される。
【0046】
ステップS8、S1、S2’、S3’、S4’、S9の処理は、データ受信用バッファメモリ21−2〜NのいずれかがステップS4’の条件を満たすまで、データ受信用バッファメモリ21−2、21−3、21−4・・・というように昇順で実行される。ここで、データ受信用バッファメモリ21−2がステップS4’の条件を満たしたとする。この場合、送信許否判別部144は、データ受信用バッファメモリ21−2へのデータ送信経路2を介した送信用データの送信を許可する旨をデータ書込制御部12とデータ読出制御部13に通知し(ステップS7’)、カウンタnの値を初期化する(カウンタnの値を0に戻す)(ステップS10)。
【0047】
データ書込制御部12は、上記通知を受けた場合には未送信の送信用データを送信用バッファメモリ11−2に書き込む。また、データ読出制御部13は、送信用バッファメモリ11−2に書き込まれた未送信の送信用データを送信用バッファメモリ11−2専用のデータ送信経路2を介してデータ受信装置2に送信する。データ書込制御部22は、データ送信装置1から送信された送信用データを受信し、受信した送信用データをデータ受信用バッファメモリ21−2に書き込む。このようにして、データ受信用バッファメモリ21−1〜Nのうち、十分な空き領域を有するデータ受信用バッファメモリ21−nに送信用データが書き込まれていく。そして、データ読出制御部23は、周期的にデータ受信用バッファメモリ21−1〜Nからデータを読み出し、多重部24に供給する。多重部24は、供給されたデータを論理的に1つのデータに纏めて他のデータ送信先に送信する。なお、このように複数のデータ送信経路1〜Nを1本の論理データ送信経路として扱う方法としては、IEEE802.3ad規格で規定されているリングアグリケーション等が挙げられる。
【0048】
続いて、データ受信用バッファメモリ21−1〜NのいずれもステップS4’の条件を満たさない場合の処理について説明する。この場合、カウンタnの値はNまで加算されるため、ステップS9において、送信許否判別部144は、カウンタnの値がN以上であると判別する(ステップS9;No)。そして、送信許否判別部144は、待ち時間が経過したか否かを判別し(ステップS6)、待ち時間が経過していないと判別した場合には(ステップS6;No)、待ち時間が経過するまで繰り返しステップS6の処理を実行する。そして、待ち時間が経過したと判別した場合には(ステップS6;Yes)、カウンタnを初期化し(カウンタnの値を0に戻し)(ステップS11)、ステップS8に処理を戻す。そして、上述したステップS8以下の処理が再度実行される。
【0049】
以上説明したように、本実施形態に係るデータ送信制御装置(制御部14)によれば、データ送信経路が冗長化されたデータ送受信システムにおいて実施形態1と同様のオーバーフロー制御を実現できる。従って、実施形態1に比べてデータ送信速度と耐障害性に優れたデータ送受信システムにおいて、実施形態1と同様のオーバーフロー制御を実現できる。
【0050】
(変形例)
以上、本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。即ち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【0051】
例えば、データ受信用バッファメモリ21−1〜Nの中からデータ送信先を判別する方法は、データ送信先においてオーバーフローの発生を防止できれば、上記実施形態2で説明した判別方法に限定されない。例えば、ステップS4’のデータ送信条件を満たすデータ受信用バッファメモリ21−nのうち、空き容量が最も小さいデータ受信用バッファメモリ21−nをデータ送信先として判別してもよい。以下、この判別方法について図7を参照して具体的に説明する。
【0052】
図7に示すように、ステップS4’において、送信許否判別部144は、データ受信用バッファメモリ21−nの記憶データ量nがデータ受信用バッファメモリ21−nの記憶容量n以下か否かを判別する(なお、ステップS8、S1、S2’、S3’の処理内容は上記実施形態2と同様なので説明を省略する)。そして、記憶データ量nが記憶容量n以下であると判別した場合には(ステップS4’;Yes)、データ受信用バッファメモリ21−nの空き容量を計数する(ステップS12)。次に、送信許否判別部144は、カウンタnの値がN未満か否かを判別し(ステップS9)、カウンタnの値がN未満であると判別した場合には(ステップS9;Yes)、ステップS8に処理を戻す。ステップS8に処理が戻ると、カウンタnの値に1が加算され、カウンタnの値がNになるまでステップS8、S1、S2’、S3’、S4’、S12、S9の処理が繰り返し実行される。なお、送信許否判別部144は、ステップS4’において記憶データ量nが記憶容量nを超えていると判別した場合には(ステップS4’;No)、データ受信用バッファメモリ21−nはデータ送信先には成り得ないので、ステップS12の空き容量の計数処理をスキップして、ステップS9の処理を実行する。
【0053】
カウンタnの値がNまで加算されると、送信許否判別部144は、カウンタnの値がN以上であると判別し(ステップS9;No)、ステップS4’のデータ送信条件を満たすデータ受信用バッファメモリ21−nが存在するか否かを判別する(ステップS13)。ここで、送信許否判別部144は、データ送信条件を満たすデータ受信用バッファメモリ21−nが存在すると判別した場合には(ステップS13;Yes)、ステップS12で計数した各データ受信用バッファメモリ21−nの空き容量に基づいて、データ送信条件を満たす受信用バッファメモリ21−nのうちの空き容量が最少のものを判別する。そして、空き容量が最少のデータ受信用バッファメモリ21−nへのデータ送信経路n(データ受信用バッファメモリ21−n専用のデータ送信経路n)を介したデータ送信を許可する旨をデータ書込制御部12及びデータ読出制御部13に通知し(ステップS7”)、カウンタnの値を初期化する(カウンタnの値を0に戻す)(ステップS10)。なお、ステップS13において、送信許否判別部144は、ステップS4’のデータ送信条件を満たすデータ受信用バッファメモリ21−nが存在しないと判別した場合には(ステップS13;No)、ステップS6、S11の処理を実行する(ステップS6、S11の処理内容は上記実施形態2と同様なので説明を省略する)。
【0054】
また、上記実施形態2では、ステップS4’の判別をデータ受信用バッファメモリ21−1、21−2、21−3・・・というように1からnまで昇順で実行したが、Nからnまで降順で実行してもよい。
【0055】
また、上記実施形態2では図6のステップS10においてカウンタnの値を初期化したが(カウンタnの値を0に戻したが)、初期化せずにデータ送信制御処理終了時のカウンタnの値を保持してもよい。その場合、次のデータ送信制御処理は、前回のデータ送信制御処理終了時のカウンタnの値が引き継がれた状態で実行される。
【0056】
また、本発明は、レイヤ3におけるパケット通信、レイヤ2におけるフレーム通信、ATM(Asynchronous Transfer Mode)等、非同期型のデータ通信分野に適用可能である。また、物理レイヤについても有線、無線を問わず適用可能である。
【0057】
また、通常、データは双方向で送受信されるため、データ送信装置1とデータ受信装置2とがそれぞれ互いの全構成を含み、ある場面ではデータ送信装置1がデータ受信装置2として機能し、データ受信装置2がデータ送信装置1として機能してもよい。
【0058】
なお、本発明に係る機能を実現するための構成を予め備えたデータ送信制御装置(制御部14)として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係るデータ送信制御装置として機能させることもできる。即ち、上記実施形態で例示したデータ送信制御装置による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するCPU等が実行できるように適用することで、本発明に係るデータ送信制御装置として機能させることができる。また、本発明に係るデータ送信制御方法は、データ送信制御装置を用いて実施できる。
【0059】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体[CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical disc)等]に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【0060】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0061】
(付記1)
データ送信装置が備えるデータ送信用メモリに書き込まれる送信用データのデータ量を受け付ける受付部と、
前記送信用データの送信先であるデータ受信用メモリから読み出される被読出データのデータ量を取得する取得部と、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ受信用メモリに記憶させた場合における前記データ受信用メモリの記憶データ量を計数する計数部と、
前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ受信用メモリに送信しないように前記データ送信装置を制御する判別制御部と、
を備えることを特徴とするデータ送信制御装置。
【0062】
(付記2)
前記計数部は、送信を許可しないと判別された場合には予め定められた待ち時間が経過したか否かを判別し、前記待ち時間が経過したと判別した場合には前記データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、前記待ち時間経過後に計数された前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可すると判別した場合には前記データ送信用メモリが記憶する未送信の前記送信用データを前記データ受信用メモリに送信するように前記データ送信装置を制御する、
ことを特徴とする付記1に記載のデータ送信制御装置。
【0063】
(付記3)
前記取得部は、複数の前記データ受信用メモリの各々について前記被読出データのデータ量を取得し、
前記計数部は、前記送信用データのデータ量と複数の前記被読出データのデータ量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データを当該データ受信用メモリに記憶させた場合における当該データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、各前記データ受信用メモリの前記記憶データ量と前記記憶容量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データの送信許否を判別し、いずれか1つの前記データ受信用メモリについて送信を許可すると判別した場合には当該データ受信用メモリに当該データ受信用メモリ専用のデータ送信経路を介して未送信の前記送信用データを送信するように前記データ送信装置を制御する、
ことを特徴とする付記1に記載のデータ送信制御装置。
【0064】
(付記4)
前記取得部は、複数の前記データ受信用メモリの各々について前記被読出データのデータ量を取得し、
前記計数部は、前記送信用データのデータ量と複数の前記被読出データのデータ量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データを当該データ受信用メモリに記憶させた場合における当該データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、各前記データ受信用メモリの前記記憶データ量と前記記憶容量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データの送信許否を判別し、少なくとも1つの前記データ受信用メモリについて送信を許可すると判別した場合には、送信を許可すると判別された前記データ受信用メモリのうちの所定条件を満たすいずれかの前記データ受信用メモリに当該データ受信用メモリ専用のデータ送信経路を介して未送信の前記送信用データを送信するように前記データ送信装置を制御する、
ことを特徴とする付記1に記載のデータ送信制御装置。
【0065】
(付記5)
前記判別制御部は、送信を許可すると判別された前記データ受信用メモリのうちの空き容量が最大である前記データ受信用メモリに当該データ受信用メモリ専用のデータ送信経路を介して未送信の前記送信用データを送信するように前記データ送信装置を制御することを特徴とする付記4に記載のデータ送信制御装置。
【0066】
(付記6)
前記計数部は、全ての前記データ受信用メモリについて送信を許可しないと判別された場合には予め定められた待ち時間が経過したか否かを判別し、前記待ち時間が経過したと判別した場合には前記データ受信用メモリごとに当該データ受信用メモリの記憶データ量を計数し、
前記判別制御部は、前記待ち時間経過後に計数された各前記データ受信用メモリの前記記憶データ量と前記記憶容量とに基づいて、前記データ受信用メモリごとに未送信の前記送信用データの送信許否を判別し、判別結果に基づいて前記データ送信装置を制御する、
ことを特徴とする付記3乃至5のいずれかに記載のデータ送信制御装置。
【0067】
(付記7)
前記判別制御部は、前記記憶データ量が前記データ受信用メモリの記憶容量を超えた場合に送信を許可しないと判別することを特徴とする付記1乃至6のいずれかに記載のデータ送信制御装置。
【0068】
(付記8)
送信用データのデータ量を受け付ける受付ステップと、
前記送信用データのデータ送信先から読み出される被読出データのデータ量を取得する取得ステップと、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ送信先に記憶させた場合における前記データ送信先の記憶データ量を計数する計数ステップと、
前記記憶データ量と前記データ送信先の記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ送信先に送信しないように制御する判別制御ステップと、
を備えることを特徴とするデータ送信制御方法。
【0069】
(付記9)
コンピュータを、
データ送信装置が備えるデータ送信用メモリに書き込まれる送信用データのデータ量を受け付ける受付部、
前記送信用データの送信先であるデータ受信用メモリから読み出される被読出データのデータ量を取得する取得部、
前記送信用データのデータ量と前記被読出データのデータ量とに基づいて、未送信の前記送信用データを前記データ受信用メモリに記憶させた場合における前記データ受信用メモリの記憶データ量を計数する計数部、
前記記憶データ量と前記データ受信用メモリの記憶容量とに基づいて、未送信の前記送信用データの送信許否を判別し、送信を許可しないと判別した場合には未送信の前記送信用データを前記データ受信用メモリに送信しないように前記データ送信装置を制御する判別制御部、
として機能させることを特徴とするプログラム。
【符号の説明】
【0070】
1 データ送信装置
2 データ受信装置
11、11−1〜N データ送信用バッファメモリ
12 データ書込制御部
13 データ読出制御部
14 制御部
15 データベース
21、21−1〜N データ受信用バッファメモリ
22 データ書込制御部
23 データ読出制御部
24 多重部
141 加算制御部
142 減算制御部
143 計数部
144 送信許否判別部
図1
図2
図3
図4
図5
図6
図7