説明

データ受信装置、データ受信方法

【課題】限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールできるデータ受信装置を提供する。
【解決手段】複数のチャネル3a、3b・・・からネットワークを介して入力されたデータを、チャネル毎に設けられたバッファ領域2a、2b・・・に格納することにより受信するデータ受信装置1が、チャネルに対してデータを送信する他の機器が要求している要求再送率を記憶する要求再送率格納部11と、他の機器がチャネルに対して送信するデータのデータサイズをチャネル毎に所定数記憶し、記憶された所定数のデータサイズに基づき、チャネル毎に記憶された要求再送率を満たすようにバッファ領域2a、2b・・・のサイズを決定するバッファサイズ算出部12とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ受信装置、データ受信方法に関し、特に、複数のチャネル毎の受信バッファサイズの好適な制御に関する。
【背景技術】
【0002】
近年、インタネットの普及により、ネットワーク化が急速に進み、複数のLAN(Local Area Network)伝送制御を行う装置が開発されている。LAN伝送制御装置においては、信号送受信データを一時的に格納するためバッファが従来から設けられている。ここで、安価なコストとする目的から、バッファの記憶容量はできる限り少ない方がよい。
【0003】
他方、バッファの記憶容量が受信データ、即ち受信パケットの容量よりも少ない状態では、その受信データを受信することが出来ずに再送要求が発生し、システムのパフォーマンスが低下する。即ち、バッファサイズにおいて、コストとシステムのパフォーマンスとはトレードオフの関係にあり、コストを抑えながらもシステムのパフォーマンスを向上することが求められる。
【0004】
そこで、バッファの記憶容量を送信用データの記憶領域と受信用データの記憶領域に分け、動的に管理する方法(例えば特許文献1参照)が提案されている。また、送信用データの記憶領域と受信用データの記憶領域を兼用で利用する方法(例えば特許文献2参照)が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−196097号公報
【特許文献2】特開2009−10835号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のLAN伝送制御装置において、特許文献1のような装置では、送受信処理が発生する度にバッファサイズを変更し、処理終了後にバッファサイズを元の容量に戻しているため、複数のLANチャネルを同時に制御した場合、処理負荷が増加し、スループットが低下するという問題があった。
【0007】
また、特許文献2のような装置では、送受信兼用の伝送バッファを切り替えて使用しているため、伝送バッファを受信用に使用している間はLANデータの送信ができない。このため、リアルタイム制御の信号を送信する場合等において、タイムクリティカル性を保証しての送受信制御ができないという問題があった。
【0008】
この発明は、上記のようなスループットの低下やタイムクリティカル性の問題点を解決するためになされたもので、限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールできるデータ受信装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の一態様は、複数のチャネルからネットワークを介して入力されたデータを、前記複数のチャネル毎に設けられたバッファ領域に格納することにより受信するデータ受信装置であって、前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶する要求再送率記憶部と、前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶するデータサイズ記憶部と、前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定するバッファサイズ決定部とを含むことを特徴とする。
【0010】
ここで、前記バッファサイズ決定部は、前記記憶された所定数のデータサイズに対する閾値を仮のバッファサイズとして定め、前記所定数のデータサイズにおいて前記閾値を上回る値の個数の割合である算出再送率が前記要求再送率を満たすように前記閾値を定めることにより前記バッファ領域のサイズを決定することが好ましい。
【0011】
また、前記バッファサイズ決定部は、前記定めた閾値を徐々に大きくしながら前記算出再送率を求め、前記算出再送率が前記要求再送率以下となる最大の前記閾値を前記バッファ領域のサイズとして決定することが好ましい。
【0012】
また、前記バッファサイズ決定部は、前記複数のチャネルについて決定した前記バッファ領域のサイズの合計が、利用可能な記憶領域の上限値を超えている場合、前記記憶された要求再送率に基づいて各チャネルのバッファ領域のサイズを調整することを特徴とする。
【0013】
また、前記バッファサイズ決定部は、前記複数のチャネルについて決定した前記バッファ領域のサイズの合計が、利用可能な記憶領域の上限値を超えている場合、前記要求再送率が小さいチャネルから優先的に前記決定したバッファ領域のサイズを割り当てることを特徴とする。
【0014】
また、前記チャネルに入力されたデータを前記バッファ領域に格納することにより受信するデータ受信処理部を更に含み、前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、他のチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やし、前記入力されたデータの送信元に再送要求を行うことを特徴とする。
【0015】
また、前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、不足分のサイズを前記他のチャネルの数で割った値を、他のチャネルのバッファ領域のサイズとして決定されている値から減らすことにより、前記不足分のサイズを前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値に加えることを特徴とする。
【0016】
また、前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、前記他のチャネルの要求再送率に応じた値を、そのチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やすことが好ましい。
【0017】
また、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合の不足分のサイズをB、前記複数のチャネルの全チャネル数をN、チャネルiのバッファ領域のサイズから減らす値をDi、チャネルiの要求再送率をRiとすると、以下の式(4)の関係を満たすことが好ましい。

【0018】
また、本発明の他の態様は、複数のチャネルからネットワークを介して入力されたデータを、前記複数のチャネル毎に設けられたバッファ領域に格納することにより受信するデータ受信方法であって、前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶し、前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶し、前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定することを特徴とする。
【発明の効果】
【0019】
本発明の技術を採用すれば、限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールできるデータ受信装置を提供できる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態に係るデータ受信装置を含むデータの送受信システムを示すブロック図である。
【図2】本発明の実施形態に係る制御装置のハードウェア構成を示す図である。
【図3】本発明の実施形態に係る要求再送率格納部に記憶される情報の例を示す図である。
【図4】本発明の実施形態に係るバッファサイズ格納部13に記憶される情報の例を示す図である。
【図5】本発明の実施形態に係る受信データサイズのサンプル収集処理を示すフローチャートである。
【図6】本発明の実施形態に係る受信データサイズのサンプルの情報を示す図である。
【図7】本発明の実施形態に係るバッファサイズ計算処理を示すフローチャートである。
【図8】本発明の実施形態に係るデータオーバーフロー時の受信処理を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の具体的実施例について図面を用いて詳細に説明する。
本実施形態においては、複数の監視装置と、各監視装置からの検知信号等の情報を受信し、受信した情報に応じた制御を行う制御装置とを含むシステムにおけるデータ伝送制御方式を例として説明する。このようなシステムにおいては、定常的にデータが伝送され、且つ送受信データにタイムクリティカル性が要求されることとなる。本実施形態に係るデータ伝送制御方式を用いることにより、このようなシステムにおける制御装置側のデータ受信部において、限られたバッファサイズ内で複数あるLANチャネルのチャネル毎の再送率をコントロールすることができる。
【0022】
図1は、本実施形態に係るシステムにおいて、複数の監視装置21、22及び各監視装置から送信される情報を受信して各種の制御を行う制御装置10におけるデータ受信部の構成を示すブロック図である。図1に示すように、本実施形態に係る制御装置10は、受信バッファ制御部1、受信バッファ2、LAN受信部3a、3b、・・・3n(以降、総じてLAN受信部3とする)、バス4a、4bを含む。
【0023】
更に、受信バッファ制御部1は、要求再送率格納部11、受信バッファサイズ算出部12、受信バッファサイズ格納部13、データ受信処理部14を含む。また、受信バッファ2は、バッファ領域2a、バッファ領域2b、・・・バッファ領域2nを含む。このLAN受信部3a、3b、・・・3nとバッファ領域2a、2b、・・・2nとの組み合わせにより、チャネルが構成される。例えば、LAN受信部3aに入力された受信データは、バッファ領域2aに一時的に格納されることにより受信される。
【0024】
受信バッファ制御部1は、受信バッファ2を制御する装置であり、制御装置10においてデータを受信するデータ受信装置として機能する。受信バッファ2は、受信データを一時記憶するための記憶領域である。LAN受信部3は、外部から受信データが入力されるインタフェースである。図1に示すように、LAN受信部3は、LAN受信部3a、3b、・・・3nというように複数設けられており、夫々が各チャネルに対応している。夫々のLAN受信部3は、インタネット等のネットワーク回線を介して監視装置21、22と接続されている。バス4a、4bは、LAN受信部3と受信バッファ制御部1、若しくは受信バッファ制御部1と受信バッファ2との間でやりとりされる信号を伝送する伝送路である。
【0025】
受信バッファ制御部1において、再送要求率格納部11は、夫々のチャネル毎に、接続対象である監視装置21、22が要求している再送率の情報(以降、要求再送率情報とする)を記憶している再送要求率記憶部である。この要求再送率情報は、制御装置10におけるデータ受信について好適なスループットを得るため、チャネル毎に許容できる再送率として総受信データ数に対する再送要求データ数の比であり、夫々のチャネルに接続されている監視装置によって定まるものである。詳細については後述する。
【0026】
受信バッファサイズ算出部12は、要求再送率格納部11に記憶された要求再送率情報に基づき、その要求再送率を満たすための各チャネルのバッファサイズ、即ち、バッファ領域2a、2b、・・・2nに割り当てる受信バッファ2の記憶容量を計算して決定する。即ち、受信バッファサイズ算出部12が、バッファサイズ決定部として機能する。この受信バッファサイズ算出部12の機能が、本実施形態に係る要旨の1つである。詳細は後述する。
【0027】
受信バッファサイズ格納部13は、受信バッファサイズ算出部12によって算出された各チャネルのバッファサイズの情報を記憶する記憶部である。データ受信処理部14は、LAN受信部3に入力された受信データを、受信バッファサイズ格納部13に記憶されている情報及び入力されたチャネルに基づいて、バッファ領域2a、2b、・・・2nの対応する領域に保持させることにより、データを受信する。
【0028】
また、データ受信処理部14は、受信バッファ2におけるバッファ領域2a、2b、・・・2nの容量を、受信バッファサイズ格納部13に記憶されている情報に基づいて設定する他、データの送受信状況等に応じて任意に変更することもできる。
【0029】
また、図1に示すように、監視装置21は、LAN送信部21a、21bを含み、監視装置22は、LAN送信部22nを含む。LAN送信部21aはLAN受信部3aに、LAN送信部22aはLAN受信部3bに、LAN送信部22nはLAN受信部3nに、夫々インタネット等の公衆回線や専用回線を介して接続されている。
【0030】
尚、図1においては、便宜的に、夫々のLAN送信部とLAN受信部とが1対1で接続されているように示されているが、上記説明のように、双方はインタネット等の公衆回線や専用回線に接続されており、物理的には夫々が互いに接続されている。即ち、LAN送信部21a、21b、22nの情報送信先が、夫々LAN受信部3a、3b、3nに設定されていることにより、図1に示すような1対1の接続関係が疑似的に実現されている。
【0031】
次に、本実施形態に係る制御装置10のハードウェア構成について説明する。図2は、本実施形態に係るハードウェア構成の例を示す図である。図2に示すように、本実施形態に係る制御装置は、一般的なサーバやPC等と同様の構成を含む。即ち、本実施形態に係る情報処理端末は、CPU(Central Processing Unit)101、FPGA(Fiela Programmable Gate Array)102、RAM(Random Access Memory)103、ROM(Read Only Memory)104、HDD(Hard Disk Drive)105及びLAN受信部3を含む。また、図2に示すように、ROM104、HDD105及びLAN受信部3とFPGA102との間がバス4aで、FPGA102とRAM103との間がバス4bで夫々接続されている。
【0032】
CPU101は演算手段であり、制御装置全体の動作を制御する。FPGA102は、本実施形態においては、CPU101とRAM103並びにバス4bとの間の情報伝送を行う回路であり、RAM103のコントローラとしても機能する。即ち、図1において説明した受信バッファ制御部1は、FPGA102によって実現される。RAM103は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、図1において説明した受信バッファ2として機能する他、CPU101が情報を処理する際の作業領域として用いられる。
【0033】
ROM104は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD105は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。LAN受信部3は、図1において説明したLAN受信部3a、3b、・・・3nに相当する。尚、本実施形態においては、バス4aでやりとりされる受信データの平均スループットは、バス4bのスループットより低い。
【0034】
このようなハードウェア構成において、ROM104やHDD105若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM103に読み出され、CPU101の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、FPGA102のようなハードウェアとの組み合わせによって、本実施形態に係る制御装置を制御する機能ブロックが構成される。
【0035】
次に、要求再送率格納部11に記憶される情報について、図3を参照して説明する。図3は、本実施形態に係る要求再送率格納部11に記憶される情報の例を示す図である。図3に示すように、要求再送率格納部11には、LAN受信部3a、3b、・・・3n夫々に要求される再送率を示すテーブルの情報が格納されている。例えば、LAN受信3aの場合、再送率が10%以下であることが求められている。
【0036】
この再送率は、典型的には、各チャネルの接続対象である監視装置21、22やLAN送信部21a、21b、・・・22nが送信するデータの種類によって決定される。即ち、監視装置20による監視対象によっては、遅延が許されずリアルタイム性が強く求められるものから、ある程度遅延が発生しても問題ないものまで様々である。従って、図3に示すように、LAM受信部3の夫々に接続されている監視装置20のLAN送信部に応じて、求められている再送率が異なる。本実施形態においては、この要求再送率に応じて、各バッファ領域2a、2b、・・・2nのサイズを決定することにより、限られたサイズでのバッファ領域の有効的な利用を実現する。
【0037】
次に、受信バッファサイズ格納部13に記憶される情報について、図4を参照して説明する。図4は、本実施形態に係る受信バッファサイズ格納部13に記憶される情報の例を示す図である。図4に示すように、受信バッファサイズ格納部13には、バッファ領域2a、2b、・・・2n夫々の容量を示すテーブルの情報が格納されている。例えば、バッファ領域2aの場合、記憶容量はBuffer2a(byte)である。
【0038】
次に、本実施形態に係る制御装置10において、受信バッファサイズ算出部12が、各チャネルのバッファ領域のバッファサイズを算出して受信バッファサイズ格納部13に記憶させるまでの動作について説明する。本実施形態に係る受信バッファサイズ算出部12の動作は、大きく分けて受信データサイズのサンプル収集処理及びバッファサイズ計算処理に分けられる。図5は、本実施形態に係る受信バッファサイズ算出部12の動作のうち、受信データサイズのサンプル収集処理を示すフローチャートである。
【0039】
図5に示す動作を実行する際は、未だ受信バッファ2におけるバッファ領域2a、2b、・・・2nの各バッファサイズは算出されていないため、受信バッファサイズ格納部13には、バッファ領域2a、2b、・・・2nの各バッファサイズとして任意に定められた値を示すテーブルが格納されている。
【0040】
図5に示すように、受信バッファサイズ算出部12は、まず変数“k”を“0”とする(S501)。そして、LAN受信部3にデータが入力されてデータ受信処理部14によってデータが受信されると(S502)、受信バッファサイズ算出部12は、変数“k”をインクリメントする(S503)。尚、本実施形態において、S502において受信してS503においてカウントされる受信データの単位は、1パケットである。
【0041】
S503の処理の後、受信バッファサイズ算出部12は、S502において受信された受信データのサイズを、サンプルとして記憶する(S504)。尚、S502においては、必ずしも受信処理部14によるデータの受信が完了する必要はなく、S504において受信データのサイズをサンプルとして記憶できれば良い。従って、S502においては、LAN受信部3にデータが入力されるだけで処理を進めることも可能である。その後、変数“k”の値が予め定められたサンプル数に達するまで、受信バッファサイズ算出部12は、S502からの処理を繰り返す(S505/NO)。そして、変数“k”の値が、予め定められたサンプル数に達すると(S505/YES)、受信バッファサイズ算出部12は、処理を終了する。尚、図5の処理は、周期的に動作させることが好ましいが、処理負荷を低減するために、装置起動時に1回のみ実施する方法もある。
【0042】
受信バッファサイズ算出部12は、図5に示す処理を、全てのチャネルについて実行する。即ち、全てのチャネルについて、予め定められたサンプル数と同数の受信データサイズのサンプルを収集する。このようにして収集された受信データサイズのサンプルの情報は、図6に示すように、チャネル毎に記憶される。即ち、受信バッファサイズ算出部12が、データサイズ記憶部として機能する。このように記憶された受信データサイズのサンプルに基づき、バッファサイズ計算処理が実行される。
【0043】
図7は、本実施形態に係る受信バッファサイズ算出部12の動作のうち、バッファサイズ計算処理を示すフローチャートである。図7の処理の前提として、図5に示す処理が実行されて図6に示すように受信データサイズのサンプルの情報が記憶されており、且つ各チャネルの要求再送率が図3において説明したように要求再送率格納部11に記憶されている。
【0044】
図7に示す動作においては、算出すべきバッファ領域のサイズとして変数“A”(byte)、図5においてチャネル毎に収集された受信データサイズのサンプル個数、即ち、図5における予め定められたサンプル数として“M”(個)、バッファサイズの算出対象であるチャネルの要求再送率として変数“S”(%)、受信データサイズのサンプルの値が変数“A”の値よりも小さい場合にカウントアップする変数であるサイズアンダーカウンタ“M1”、大きい場合にカウントアップする変数であるサイズオーバーカウンタ“M2”、解析中であるサンプルが何番目であるかを示す変数“n”、計算によって求められる計測再送率として変数“Q”を用いる。
【0045】
図7に示すように、受信バッファサイズ算出部12は、先ず変数“A”を“1”(byte)とする(S701)。更に、受信バッファサイズ算出部12は、変数“n”、“M1”、“M2”を“0”とする(S702)。そして、図6に示すように記憶されたサンプル値を解析対象として順番に読み出し(S703)、変数“n”をインクリメントする(S704)。サンプル値を読み出すと、受信バッファサイズ算出部12は、解析中のサンプル値と変数“A”の値とを比較する(S705)。
【0046】
S705の結果、解析中のサンプル値が変数“A”の値以下である場合(S705/YES)、即ち、変数“A”の値をバッファサイズとして設定して、解析中のサンプル値に対応する受信データを受信することが可能である場合、受信バッファサイズ算出部12は、変数“M1”をインクリメントする(S706)。他方、解析中のサンプル値が変数“A”よりも大きい場合(S705/NO)、即ち、変数“A”の値をバッファサイズとして設定すると、解析中のサンプル値に対応する受信データを受信することが出来ない場合、受信バッファサイズ算出部12は、変数“M2”をインクリメントする(S707)。
【0047】
S706、若しくはS707の処理の後、受信バッファサイズ算出部12は、変数“n”の値が変数“M”の値に達するまで、S703からの処理を繰り返す(S708/NO)。他方、変数“n”の値が変数“M”の値に達すると(S708/YES)、受信バッファサイズ算出部12は、計測再送率“Q”の算出(S709)を行う。ここで、計測再送率“Q”(%)は、以下の式(1)によって求められる。

【0048】
受信バッファサイズ算出部12は、式(1)により計測再送率Qを求めると、そのQと要求再送率“S”とを比較する(S710)。S710の比較の結果、計測再送率“Q”が要求再送率“S”以下である場合(S710/YES)、即ち、現在の“A”の値で要求再送率が満たされる場合、受信バッファサイズ算出部12は、その時の“A”の値を、そのチャネルのバッファ領域のサイズとして正式に決定し(S711)、処理を終了する。即ち、変数“A”は、図7の処理において、仮のバッファサイズとして用いられる。
【0049】
他方、計測再送率“Q”が要求再送率“S”よりも大きい場合(S710/NO)、即ち、現在の“A”の値では要求再送率が満たされない場合、受信バッファサイズ算出部12は、“A”の値をプラス“1”(byte)し(S712)、S702からの処理を繰り返す。このような処理により、本実施形態に係るバッファサイズ計算処理が完了する。尚、図5の処理と同様に、受信バッファサイズ算出部12は、全てのチャネルに対して、図7の処理を実行する。これにより、図4において説明したように、各チャネルのバッファ領域2a、2b、・・・2nのサイズが決定され、受信バッファサイズ格納部13に情報が記憶される。
【0050】
図7に示す処理を実行した結果、各チャネルのバッファサイズとして算出された値の合計が、受信バッファ2の記憶容量として用いることができるサイズの上限値以内であれば、算出結果をそのままバッファ領域2a、2b、・・・2nのサイズとして用いれば良い。他方、各チャネルのバッファサイズとして算出された値の合計が、受信バッファ2の記憶容量として用いることができるサイズの上限値を超えている場合があり得る。その場合、例えば、要求再送率の小さいチャネルから優先的に算出されたバッファサイズ、即ち、要求再送率を満たすバッファサイズを割り当てることが好ましい。
【0051】
これは、要求再送率が小さいということは、受信されるデータ数が多いということであり、そのようなチャネルに優先的にバッファを割り当てることにより、システム全体のスループットを向上することができるからである。この他、要求再送率ではなく、ユーザによって設定されたチャネル毎の優先度に基づいてバッファサイズを割り当てる優先度を決定しても良い。
【0052】
このように、所定個数のサンプル値に基づいて任意のバッファサイズにおける再送率を計算し、チャネル毎に通信対象の装置によって要求されている再送率が満たされるように、バッファ領域のサイズを決定することにより、限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールすることができる。
【0053】
本発明は図1において説明したような監視装置21、22及び制御装置10を含む監視制御システムに適用でき、チャネル毎の受信データの再送率を制御して一定のスループット特性とタイムクリティカル性を維持するデータの伝送が可能となる。次に、上記方法にて決定した要求再送率を満足する受信バッファサイズより大きなLANデータを受信し、受信バッファがオーバーフローする場合の本発明での動作を説明する。
【0054】
図8は本発明の受信データオーバーフロー時の受信処理手順を示すフローチャートである。LAN受信部3に受信データが入力されると、受信バッファ制御部1において、データ受信処理部14が、受信データのサイズを確認し(S801)、受信バッファサイズ格納部13に記憶されている情報を参照して、データが入力されたチャネルのバッファ領域のサイズと受信データのサイズとを比較する(S802)。
【0055】
S802の比較の結果、受信データのサイズが、バッファ領域のサイズ以下であれば(S802/YES)、データ受信処理部14は、LAN受信部3に入力された受信データを対応するチャネルのバッファ領域に格納し(S803)、処理を終了する。他方、受信データのサイズが、バッファ領域のサイズよりも大きい場合(S802/NO)、データ受信処理部14は、入力されたデータの受信を可能とするため、他チャネルのバッファ領域のサイズを減少させ(S804)、データが入力されたチャネルのバッファ領域のサイズを増加させる(S805)。そして、S801において入力された受信データの送信元に対してデータの再送要求を送信し(S806)、処理を終了する。
【0056】
ここで、S804において、他チャネルの受信バッファのサイズを調整する方法の一例を以下に示す。受信バッファサイズの不足分を“B”(byte)、チャネル数を“N”(個)とし、他チャネルにおいて減少させるバッファサイズを“C”(byte)とすると、この“C”は以下の式(2)で求められる。

【0057】
即ち、受信データがオーバーフローしたチャネルの受信バッファに、他のチャネルから容量を割り当てる際、他のチャネルから夫々割り当てられるサイズは、“B/(N−1)”(byte)となる。
【0058】
また、式(2)の例のように、他のチャネルから均等にサイズを割り当てるのではなく、各チャネルの再送要求率を考慮して割り当て量を決定することもできる。その場合、チャネル“i”の受信バッファの調整サイズを“Di”(byte)、要求再送率を“Ri”とすると、この“Di”は、以下の式(3)で求められる。

【0059】
他のチャネルから夫々割り当てる容量として、式(3)によって求められる“Di”を適用することにより、要求再送率の小さいチャネルからは少なく、要求再送率の大きいチャネルからは多く割り当てられる。この他、不足している容量を、再送要求率の最も大きいチャネルのバッファ容量からすべて割り当てるようにしても良い。
【0060】
尚、上記実施形態においては、図7のS701において、変数“A”の初期値として“1”を用い、S712において“1”ずつ増加させていく場合を例として説明した。これに限らず、バッファ領域2a、2b、・・・2n夫々のサイズとして最低限確保すべきサイズがある場合は、そのサイズを変数“A”の初期値として用いることが好ましい。また、S712において変数“A”の値を増加させる単位は、“1”に限らず、例えばバッファ領域を構成する記憶媒体のセルの単位とすることもできる。
【符号の説明】
【0061】
1 受信バッファ制御部、
2 受信バッファ、
2a、2b、2n バッファ領域、
3、3a、3b、3n LAN受信部、
4a、4b バス、
11 再送要求率格納部、
12 受信バッファサイズ算出部、
13 受信バッファサイズ格納部、
14 データ受信処理部、
101 CPU、
102 FPGA、
103 RAM、
104 ROM、
105 HDD

【特許請求の範囲】
【請求項1】
複数のチャネルからネットワークを介して入力されたデータを、前記複数のチャネル毎に設けられたバッファ領域に格納することにより受信するデータ受信装置であって、
前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶する要求再送率記憶部と、
前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶するデータサイズ記憶部と、
前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定するバッファサイズ決定部とを含むことを特徴とするデータ受信装置。
【請求項2】
前記バッファサイズ決定部は、前記記憶された所定数のデータサイズに対する閾値を仮のバッファサイズとして定め、前記所定数のデータサイズにおいて前記閾値を上回る値の個数の割合である算出再送率が前記要求再送率を満たすように前記閾値を定めることにより前記バッファ領域のサイズを決定することを特徴とする請求項1に記載のデータ受信装置。
【請求項3】
前記バッファサイズ決定部は、前記定めた閾値を徐々に大きくしながら前記算出再送率を求め、前記算出再送率が前記要求再送率以下となる最大の前記閾値を前記バッファ領域のサイズとして決定することを特徴とする請求項2に記載のデータ受信装置。
【請求項4】
前記バッファサイズ決定部は、前記複数のチャネルについて決定した前記バッファ領域のサイズの合計が、利用可能な記憶領域の上限値を超えている場合、前記記憶された要求再送率に基づいて各チャネルのバッファ領域のサイズを調整することを特徴とする請求項1乃至3いずれかに記載のデータ受信装置。
【請求項5】
前記バッファサイズ決定部は、前記複数のチャネルについて決定した前記バッファ領域のサイズの合計が、利用可能な記憶領域の上限値を超えている場合、前記要求再送率が小さいチャネルから優先的に前記決定したバッファ領域のサイズを割り当てることを特徴とする請求項4に記載のデータ受信装置。
【請求項6】
前記チャネルに入力されたデータを前記バッファ領域に格納することにより受信するデータ受信処理部を更に含み、
前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、他のチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やし、前記入力されたデータの送信元に再送要求を行うことを特徴とする請求項1乃至5いずれかに記載のデータ受信装置。
【請求項7】
前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、不足分のサイズを前記他のチャネルの数で割った値を、他のチャネルのバッファ領域のサイズとして決定されている値から減らすことにより、前記不足分のサイズを前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値に加えることを特徴とする請求項6に記載のデータ受信装置。
【請求項8】
前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、前記他のチャネルの要求再送率に応じた値を、そのチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やすことを特徴とする請求項6に記載のデータ受信装置。
【請求項9】
前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合の不足分のサイズをB、前記複数のチャネルの全チャネル数をN、チャネルiのバッファ領域のサイズから減らす値をDi、チャネルiの要求再送率をRiとすると、以下の関係を満たすことを特徴とする請求項8に記載のデータ受信装置。

【請求項10】
複数のチャネルからネットワークを介して入力されたデータを、前記複数のチャネル毎に設けられたバッファ領域に格納することにより受信するデータ受信方法であって、
前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶し、
前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶し、
前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定することを特徴とするデータ受信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−142563(P2011−142563A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−2954(P2010−2954)
【出願日】平成22年1月8日(2010.1.8)
【出願人】(000153443)株式会社日立情報制御ソリューションズ (359)
【Fターム(参考)】