JP5230665B2 - Data receiving apparatus and data receiving method - Google Patents
Data receiving apparatus and data receiving method Download PDFInfo
- Publication number
- JP5230665B2 JP5230665B2 JP2010002954A JP2010002954A JP5230665B2 JP 5230665 B2 JP5230665 B2 JP 5230665B2 JP 2010002954 A JP2010002954 A JP 2010002954A JP 2010002954 A JP2010002954 A JP 2010002954A JP 5230665 B2 JP5230665 B2 JP 5230665B2
- Authority
- JP
- Japan
- Prior art keywords
- size
- data
- channel
- buffer
- buffer area
- 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
Links
- 238000000034 method Methods 0.000 title claims description 30
- 239000000872 buffer Substances 0.000 claims description 191
- 238000012545 processing Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000012806 monitoring device Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Landscapes
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
本発明はデータ受信装置、データ受信方法に関し、特に、複数のチャネル毎の受信バッファサイズの好適な制御に関する。 The present invention relates to a data reception apparatus and a data reception method, and more particularly to suitable control of a reception buffer size for each of a plurality of channels.
近年、インタネットの普及により、ネットワーク化が急速に進み、複数のLAN(Local Area Network)伝送制御を行う装置が開発されている。LAN伝送制御装置においては、信号送受信データを一時的に格納するためバッファが従来から設けられている。ここで、安価なコストとする目的から、バッファの記憶容量はできる限り少ない方がよい。 In recent years, with the spread of the Internet, networking has rapidly progressed, and devices that perform a plurality of LAN (Local Area Network) transmission controls have been developed. In the LAN transmission control device, a buffer is conventionally provided for temporarily storing signal transmission / reception data. Here, for the purpose of reducing the cost, the storage capacity of the buffer should be as small as possible.
他方、バッファの記憶容量が受信データ、即ち受信パケットの容量よりも少ない状態では、その受信データを受信することが出来ずに再送要求が発生し、システムのパフォーマンスが低下する。即ち、バッファサイズにおいて、コストとシステムのパフォーマンスとはトレードオフの関係にあり、コストを抑えながらもシステムのパフォーマンスを向上することが求められる。 On the other hand, when the storage capacity of the buffer is smaller than the capacity of the received data, that is, the received packet, the received data cannot be received, a retransmission request is generated, and the system performance is degraded. That is, in the buffer size, the cost and the system performance are in a trade-off relationship, and it is required to improve the system performance while suppressing the cost.
そこで、バッファの記憶容量を送信用データの記憶領域と受信用データの記憶領域に分け、動的に管理する方法(例えば特許文献1参照)が提案されている。また、送信用データの記憶領域と受信用データの記憶領域を兼用で利用する方法(例えば特許文献2参照)が提案されている。 Therefore, a method of dynamically managing the storage capacity of the buffer by dividing it into a storage area for transmission data and a storage area for reception data has been proposed (for example, see Patent Document 1). Also, a method has been proposed in which a storage area for transmission data and a storage area for reception data are used in common (see, for example, Patent Document 2).
しかしながら、従来のLAN伝送制御装置において、特許文献1のような装置では、送受信処理が発生する度にバッファサイズを変更し、処理終了後にバッファサイズを元の容量に戻しているため、複数のLANチャネルを同時に制御した場合、処理負荷が増加し、スループットが低下するという問題があった。
However, in the conventional LAN transmission control device, the device as in
また、特許文献2のような装置では、送受信兼用の伝送バッファを切り替えて使用しているため、伝送バッファを受信用に使用している間はLANデータの送信ができない。このため、リアルタイム制御の信号を送信する場合等において、タイムクリティカル性を保証しての送受信制御ができないという問題があった。 Further, in the apparatus as disclosed in Patent Document 2, since the transmission / reception transmission buffer is switched and used, LAN data cannot be transmitted while the transmission buffer is used for reception. For this reason, when transmitting a signal for real-time control, there is a problem that transmission / reception control with guaranteed time criticality cannot be performed.
この発明は、上記のようなスループットの低下やタイムクリティカル性の問題点を解決するためになされたもので、限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールできるデータ受信装置を提供することを目的とする。 The present invention has been made to solve the above-described problems of throughput reduction and time criticality, and is a data receiving apparatus capable of controlling a retransmission rate for each channel of a plurality of LAN channels with a limited buffer size. The purpose is to provide.
上記課題を解決するため、本発明の一態様は、複数のチャネルからネットワークを介して入力されたデータを、前記複数のチャネル毎に設けられたバッファ領域に格納することにより受信するデータ受信装置であって、前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶する要求再送率記憶部と、前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶するデータサイズ記憶部と、前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定するバッファサイズ決定部とを含むことを特徴とする。 In order to solve the above-described problem, an aspect of the present invention is a data receiving device that receives data input from a plurality of channels via a network by storing the data in a buffer area provided for each of the plurality of channels. A request retransmission rate storage unit that stores, for each of the plurality of channels, a requested retransmission rate that is information on a retransmission rate requested by another device that transmits data to the channel; Based on the data size storage unit that stores a predetermined number of data sizes of data to be transmitted to the channel for each of the plurality of channels, and for each of the plurality of channels based on the stored information on the predetermined number of data sizes. And a buffer size determining unit that determines the size of the buffer area so as to satisfy the stored request retransmission rate.
ここで、前記バッファサイズ決定部は、前記記憶された所定数のデータサイズに対する閾値を仮のバッファサイズとして定め、前記所定数のデータサイズにおいて前記閾値を上回る値の個数の割合である算出再送率が前記要求再送率を満たすように前記閾値を定めることにより前記バッファ領域のサイズを決定することが好ましい。 Here, the buffer size determination unit determines a threshold for the stored predetermined number of data sizes as a temporary buffer size, and a calculated retransmission rate that is a ratio of the number of values exceeding the threshold in the predetermined number of data sizes It is preferable that the size of the buffer area is determined by setting the threshold value so as to satisfy the requested retransmission rate.
また、前記バッファサイズ決定部は、前記定めた閾値を徐々に大きくしながら前記算出再送率を求め、前記算出再送率が前記要求再送率以下となる最大の前記閾値を前記バッファ領域のサイズとして決定することが好ましい。 Further, the buffer size determining unit obtains the calculated retransmission rate while gradually increasing the determined threshold value, and determines the maximum threshold value at which the calculated retransmission rate is equal to or less than the requested retransmission rate as the size of the buffer area. It is preferable to do.
また、前記バッファサイズ決定部は、前記複数のチャネルについて決定した前記バッファ領域のサイズの合計が、利用可能な記憶領域の上限値を超えている場合、前記記憶された要求再送率に基づいて各チャネルのバッファ領域のサイズを調整することを特徴とする。 In addition, the buffer size determination unit, when the total size of the buffer area determined for the plurality of channels exceeds the upper limit of the available storage area, each based on the stored request retransmission rate The size of the buffer area of the channel is adjusted.
また、前記バッファサイズ決定部は、前記複数のチャネルについて決定した前記バッファ領域のサイズの合計が、利用可能な記憶領域の上限値を超えている場合、前記要求再送率が小さいチャネルから優先的に前記決定したバッファ領域のサイズを割り当てることを特徴とする。 In addition, the buffer size determination unit preferentially selects a channel with a low request retransmission rate when the total size of the buffer areas determined for the plurality of channels exceeds an upper limit of an available storage area. A size of the determined buffer area is allocated.
また、前記チャネルに入力されたデータを前記バッファ領域に格納することにより受信するデータ受信処理部を更に含み、前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、他のチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やし、前記入力されたデータの送信元に再送要求を行うことを特徴とする。 And a data reception processing unit that receives the data input to the channel by storing the data in the buffer area, wherein the data reception processing unit is configured such that a size of the data input to the channel is a buffer of the channel. If the value exceeds the value determined as the size of the area, the value determined as the size of the buffer area of the other channel is reduced to determine the size of the buffer area of the channel to which the data is input. And a retransmission request is made to the transmission source of the input data.
また、前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、不足分のサイズを前記他のチャネルの数で割った値を、他のチャネルのバッファ領域のサイズとして決定されている値から減らすことにより、前記不足分のサイズを前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値に加えることを特徴とする。 In addition, when the size of the data input to the channel exceeds the value determined as the size of the buffer area of the channel, the data reception processing unit sets the shortage size to the number of the other channels. Is reduced to a value determined as the size of the buffer area of the channel to which the data is input. It is characterized by adding.
また、前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、前記他のチャネルの要求再送率に応じた値を、そのチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やすことが好ましい。 In addition, when the size of data input to the channel exceeds the value determined as the size of the buffer area of the channel, the data reception processing unit responds to the requested retransmission rate of the other channel. It is preferable to increase the value determined as the size of the buffer area of the channel to which the data is input by decreasing the value determined as the size of the buffer area of the channel.
また、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合の不足分のサイズをB、前記複数のチャネルの全チャネル数をN、チャネルiのバッファ領域のサイズから減らす値をDi、チャネルiの要求再送率をRiとすると、以下の式(4)の関係を満たすことが好ましい。
Further, when the size of the data input to the channel exceeds the value determined as the size of the buffer area of the channel, the shortage size is B, the total number of the plurality of channels is N, If the value to be reduced from the size of the buffer area of channel i is Di and the requested retransmission rate of channel i is Ri, it is preferable to satisfy the relationship of the following equation (4).
また、本発明の他の態様は、複数のチャネルからネットワークを介して入力されたデータを、前記複数のチャネル毎に設けられたバッファ領域に格納することにより受信するデータ受信方法であって、前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶し、前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶し、前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定することを特徴とする。 According to another aspect of the present invention, there is provided a data receiving method for receiving data input from a plurality of channels via a network by storing the data in a buffer area provided for each of the plurality of channels. Data of a request retransmission rate, which is information on a retransmission rate requested by another device that transmits data to a channel, is stored for each of the plurality of channels, and data of data that the other device transmits to the channel A predetermined number of size information is stored for each of the plurality of channels, and the buffer area is configured to satisfy the stored request retransmission rate for each of the plurality of channels based on the stored information on the predetermined number of data sizes. It is characterized by determining the size.
本発明の技術を採用すれば、限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールできるデータ受信装置を提供できる。 By employing the technique of the present invention, it is possible to provide a data receiving apparatus capable of controlling the retransmission rate for each of a plurality of LAN channels with a limited buffer size.
以下、本発明の具体的実施例について図面を用いて詳細に説明する。
本実施形態においては、複数の監視装置と、各監視装置からの検知信号等の情報を受信し、受信した情報に応じた制御を行う制御装置とを含むシステムにおけるデータ伝送制御方式を例として説明する。このようなシステムにおいては、定常的にデータが伝送され、且つ送受信データにタイムクリティカル性が要求されることとなる。本実施形態に係るデータ伝送制御方式を用いることにより、このようなシステムにおける制御装置側のデータ受信部において、限られたバッファサイズ内で複数あるLANチャネルのチャネル毎の再送率をコントロールすることができる。
Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings.
In the present embodiment, a data transmission control method in a system including a plurality of monitoring devices and a control device that receives information such as detection signals from each monitoring device and performs control according to the received information will be described as an example. To do. In such a system, data is constantly transmitted and time criticality is required for transmitted / received data. By using the data transmission control method according to the present embodiment, the data receiving unit on the control device side in such a system can control the retransmission rate for each channel of a plurality of LAN channels within a limited buffer size. it can.
図1は、本実施形態に係るシステムにおいて、複数の監視装置21、22及び各監視装置から送信される情報を受信して各種の制御を行う制御装置10におけるデータ受信部の構成を示すブロック図である。図1に示すように、本実施形態に係る制御装置10は、受信バッファ制御部1、受信バッファ2、LAN受信部3a、3b、・・・3n(以降、総じてLAN受信部3とする)、バス4a、4bを含む。
FIG. 1 is a block diagram illustrating a configuration of a data receiving unit in a
更に、受信バッファ制御部1は、要求再送率格納部11、受信バッファサイズ算出部12、受信バッファサイズ格納部13、データ受信処理部14を含む。また、受信バッファ2は、バッファ領域2a、バッファ領域2b、・・・バッファ領域2nを含む。このLAN受信部3a、3b、・・・3nとバッファ領域2a、2b、・・・2nとの組み合わせにより、チャネルが構成される。例えば、LAN受信部3aに入力された受信データは、バッファ領域2aに一時的に格納されることにより受信される。
Further, the reception
受信バッファ制御部1は、受信バッファ2を制御する装置であり、制御装置10においてデータを受信するデータ受信装置として機能する。受信バッファ2は、受信データを一時記憶するための記憶領域である。LAN受信部3は、外部から受信データが入力されるインタフェースである。図1に示すように、LAN受信部3は、LAN受信部3a、3b、・・・3nというように複数設けられており、夫々が各チャネルに対応している。夫々のLAN受信部3は、インタネット等のネットワーク回線を介して監視装置21、22と接続されている。バス4a、4bは、LAN受信部3と受信バッファ制御部1、若しくは受信バッファ制御部1と受信バッファ2との間でやりとりされる信号を伝送する伝送路である。
The reception
受信バッファ制御部1において、再送要求率格納部11は、夫々のチャネル毎に、接続対象である監視装置21、22が要求している再送率の情報(以降、要求再送率情報とする)を記憶している再送要求率記憶部である。この要求再送率情報は、制御装置10におけるデータ受信について好適なスループットを得るため、チャネル毎に許容できる再送率として総受信データ数に対する再送要求データ数の比であり、夫々のチャネルに接続されている監視装置によって定まるものである。詳細については後述する。
In the reception
受信バッファサイズ算出部12は、要求再送率格納部11に記憶された要求再送率情報に基づき、その要求再送率を満たすための各チャネルのバッファサイズ、即ち、バッファ領域2a、2b、・・・2nに割り当てる受信バッファ2の記憶容量を計算して決定する。即ち、受信バッファサイズ算出部12が、バッファサイズ決定部として機能する。この受信バッファサイズ算出部12の機能が、本実施形態に係る要旨の1つである。詳細は後述する。
The reception buffer
受信バッファサイズ格納部13は、受信バッファサイズ算出部12によって算出された各チャネルのバッファサイズの情報を記憶する記憶部である。データ受信処理部14は、LAN受信部3に入力された受信データを、受信バッファサイズ格納部13に記憶されている情報及び入力されたチャネルに基づいて、バッファ領域2a、2b、・・・2nの対応する領域に保持させることにより、データを受信する。
The reception buffer size storage unit 13 is a storage unit that stores information on the buffer size of each channel calculated by the reception buffer
また、データ受信処理部14は、受信バッファ2におけるバッファ領域2a、2b、・・・2nの容量を、受信バッファサイズ格納部13に記憶されている情報に基づいて設定する他、データの送受信状況等に応じて任意に変更することもできる。 Further, the data reception processing unit 14 sets the capacity of the buffer areas 2a, 2b,... 2n in the reception buffer 2 based on the information stored in the reception buffer size storage unit 13, and the data transmission / reception status It can be arbitrarily changed according to the above.
また、図1に示すように、監視装置21は、LAN送信部21a、21bを含み、監視装置22は、LAN送信部22nを含む。LAN送信部21aはLAN受信部3aに、LAN送信部22aはLAN受信部3bに、LAN送信部22nはLAN受信部3nに、夫々インタネット等の公衆回線や専用回線を介して接続されている。
As shown in FIG. 1, the monitoring device 21 includes LAN transmission units 21a and 21b, and the monitoring device 22 includes a LAN transmission unit 22n. The LAN transmitter 21a is connected to the LAN receiver 3a, the LAN transmitter 22a is connected to the LAN receiver 3b, and the LAN transmitter 22n is connected to the
尚、図1においては、便宜的に、夫々のLAN送信部とLAN受信部とが1対1で接続されているように示されているが、上記説明のように、双方はインタネット等の公衆回線や専用回線に接続されており、物理的には夫々が互いに接続されている。即ち、LAN送信部21a、21b、22nの情報送信先が、夫々LAN受信部3a、3b、3nに設定されていることにより、図1に示すような1対1の接続関係が疑似的に実現されている。
In FIG. 1, for the sake of convenience, each LAN transmission unit and LAN reception unit are shown to be connected one-to-one. However, as described above, both are public such as the Internet. They are connected to lines and dedicated lines and are physically connected to each other. That is, the information transmission destinations of the LAN transmission units 21a, 21b, and 22n are set to the
次に、本実施形態に係る制御装置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で夫々接続されている。
Next, a hardware configuration of the
CPU101は演算手段であり、制御装置全体の動作を制御する。FPGA102は、本実施形態においては、CPU101とRAM103並びにバス4bとの間の情報伝送を行う回路であり、RAM103のコントローラとしても機能する。即ち、図1において説明した受信バッファ制御部1は、FPGA102によって実現される。RAM103は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、図1において説明した受信バッファ2として機能する他、CPU101が情報を処理する際の作業領域として用いられる。
The
ROM104は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD105は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。LAN受信部3は、図1において説明したLAN受信部3a、3b、・・・3nに相当する。尚、本実施形態においては、バス4aでやりとりされる受信データの平均スループットは、バス4bのスループットより低い。
The
このようなハードウェア構成において、ROM104やHDD105若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM103に読み出され、CPU101の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、FPGA102のようなハードウェアとの組み合わせによって、本実施形態に係る制御装置を制御する機能ブロックが構成される。
In such a hardware configuration, a program stored in a storage medium such as the
次に、要求再送率格納部11に記憶される情報について、図3を参照して説明する。図3は、本実施形態に係る要求再送率格納部11に記憶される情報の例を示す図である。図3に示すように、要求再送率格納部11には、LAN受信部3a、3b、・・・3n夫々に要求される再送率を示すテーブルの情報が格納されている。例えば、LAN受信3aの場合、再送率が10%以下であることが求められている。 Next, information stored in the requested retransmission rate storage unit 11 will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of information stored in the request retransmission rate storage unit 11 according to the present embodiment. As shown in FIG. 3, the requested retransmission rate storage unit 11 stores information on a table indicating the retransmission rate required for each of the LAN receivers 3a, 3b,. For example, in the case of LAN reception 3a, the retransmission rate is required to be 10% or less.
この再送率は、典型的には、各チャネルの接続対象である監視装置21、22やLAN送信部21a、21b、・・・22nが送信するデータの種類によって決定される。即ち、監視装置20による監視対象によっては、遅延が許されずリアルタイム性が強く求められるものから、ある程度遅延が発生しても問題ないものまで様々である。従って、図3に示すように、LAM受信部3の夫々に接続されている監視装置20のLAN送信部に応じて、求められている再送率が異なる。本実施形態においては、この要求再送率に応じて、各バッファ領域2a、2b、・・・2nのサイズを決定することにより、限られたサイズでのバッファ領域の有効的な利用を実現する。
This retransmission rate is typically determined by the type of data transmitted by the monitoring devices 21 and 22 and the LAN transmission units 21a, 21b,. In other words, depending on what is monitored by the monitoring device 20, there is a variety from those in which a delay is not allowed and real-time characteristics are strongly required, to those in which a certain amount of delay is not a problem. Therefore, as shown in FIG. 3, the required retransmission rate differs depending on the LAN transmission unit of the monitoring device 20 connected to each of the
次に、受信バッファサイズ格納部13に記憶される情報について、図4を参照して説明する。図4は、本実施形態に係る受信バッファサイズ格納部13に記憶される情報の例を示す図である。図4に示すように、受信バッファサイズ格納部13には、バッファ領域2a、2b、・・・2n夫々の容量を示すテーブルの情報が格納されている。例えば、バッファ領域2aの場合、記憶容量はBuffer2a(byte)である。 Next, information stored in the reception buffer size storage unit 13 will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of information stored in the reception buffer size storage unit 13 according to the present embodiment. As shown in FIG. 4, the reception buffer size storage unit 13 stores table information indicating the capacities of the buffer areas 2a, 2b,. For example, in the case of the buffer area 2a, the storage capacity is Buffer2a (bytes).
次に、本実施形態に係る制御装置10において、受信バッファサイズ算出部12が、各チャネルのバッファ領域のバッファサイズを算出して受信バッファサイズ格納部13に記憶させるまでの動作について説明する。本実施形態に係る受信バッファサイズ算出部12の動作は、大きく分けて受信データサイズのサンプル収集処理及びバッファサイズ計算処理に分けられる。図5は、本実施形態に係る受信バッファサイズ算出部12の動作のうち、受信データサイズのサンプル収集処理を示すフローチャートである。
Next, in the
図5に示す動作を実行する際は、未だ受信バッファ2におけるバッファ領域2a、2b、・・・2nの各バッファサイズは算出されていないため、受信バッファサイズ格納部13には、バッファ領域2a、2b、・・・2nの各バッファサイズとして任意に定められた値を示すテーブルが格納されている。 When executing the operation shown in FIG. 5, since the buffer sizes of the buffer areas 2a, 2b,... 2n in the reception buffer 2 have not yet been calculated, the reception buffer size storage unit 13 includes the buffer areas 2a, A table indicating values arbitrarily determined as buffer sizes 2b,..., 2n is stored.
図5に示すように、受信バッファサイズ算出部12は、まず変数“k”を“0”とする(S501)。そして、LAN受信部3にデータが入力されてデータ受信処理部14によってデータが受信されると(S502)、受信バッファサイズ算出部12は、変数“k”をインクリメントする(S503)。尚、本実施形態において、S502において受信してS503においてカウントされる受信データの単位は、1パケットである。
As shown in FIG. 5, the reception buffer
S503の処理の後、受信バッファサイズ算出部12は、S502において受信された受信データのサイズを、サンプルとして記憶する(S504)。尚、S502においては、必ずしも受信処理部14によるデータの受信が完了する必要はなく、S504において受信データのサイズをサンプルとして記憶できれば良い。従って、S502においては、LAN受信部3にデータが入力されるだけで処理を進めることも可能である。その後、変数“k”の値が予め定められたサンプル数に達するまで、受信バッファサイズ算出部12は、S502からの処理を繰り返す(S505/NO)。そして、変数“k”の値が、予め定められたサンプル数に達すると(S505/YES)、受信バッファサイズ算出部12は、処理を終了する。尚、図5の処理は、周期的に動作させることが好ましいが、処理負荷を低減するために、装置起動時に1回のみ実施する方法もある。
After the processing of S503, the reception buffer
受信バッファサイズ算出部12は、図5に示す処理を、全てのチャネルについて実行する。即ち、全てのチャネルについて、予め定められたサンプル数と同数の受信データサイズのサンプルを収集する。このようにして収集された受信データサイズのサンプルの情報は、図6に示すように、チャネル毎に記憶される。即ち、受信バッファサイズ算出部12が、データサイズ記憶部として機能する。このように記憶された受信データサイズのサンプルに基づき、バッファサイズ計算処理が実行される。
The reception buffer
図7は、本実施形態に係る受信バッファサイズ算出部12の動作のうち、バッファサイズ計算処理を示すフローチャートである。図7の処理の前提として、図5に示す処理が実行されて図6に示すように受信データサイズのサンプルの情報が記憶されており、且つ各チャネルの要求再送率が図3において説明したように要求再送率格納部11に記憶されている。
FIG. 7 is a flowchart showing buffer size calculation processing in the operation of the reception buffer
図7に示す動作においては、算出すべきバッファ領域のサイズとして変数“A”(byte)、図5においてチャネル毎に収集された受信データサイズのサンプル個数、即ち、図5における予め定められたサンプル数として“M”(個)、バッファサイズの算出対象であるチャネルの要求再送率として変数“S”(%)、受信データサイズのサンプルの値が変数“A”の値よりも小さい場合にカウントアップする変数であるサイズアンダーカウンタ“M1”、大きい場合にカウントアップする変数であるサイズオーバーカウンタ“M2”、解析中であるサンプルが何番目であるかを示す変数“n”、計算によって求められる計測再送率として変数“Q”を用いる。 In the operation shown in FIG. 7, the variable “A” (bytes) as the size of the buffer area to be calculated, the number of samples of the received data size collected for each channel in FIG. 5, that is, the predetermined sample in FIG. "M" (number) as the number, variable "S" (%) as the requested retransmission rate of the channel whose buffer size is to be calculated, and counted when the sample value of the received data size is smaller than the value of the variable "A" The size undercounter “M1” that is a variable to be increased, the size overcounter “M2” that is a variable to be counted up when it is large, the variable “n” that indicates the number of the sample being analyzed, and obtained by calculation The variable “Q” is used as the measurement retransmission rate.
図7に示すように、受信バッファサイズ算出部12は、先ず変数“A”を“1”(byte)とする(S701)。更に、受信バッファサイズ算出部12は、変数“n”、“M1”、“M2”を“0”とする(S702)。そして、図6に示すように記憶されたサンプル値を解析対象として順番に読み出し(S703)、変数“n”をインクリメントする(S704)。サンプル値を読み出すと、受信バッファサイズ算出部12は、解析中のサンプル値と変数“A”の値とを比較する(S705)。
As shown in FIG. 7, the reception buffer
S705の結果、解析中のサンプル値が変数“A”の値以下である場合(S705/YES)、即ち、変数“A”の値をバッファサイズとして設定して、解析中のサンプル値に対応する受信データを受信することが可能である場合、受信バッファサイズ算出部12は、変数“M1”をインクリメントする(S706)。他方、解析中のサンプル値が変数“A”よりも大きい場合(S705/NO)、即ち、変数“A”の値をバッファサイズとして設定すると、解析中のサンプル値に対応する受信データを受信することが出来ない場合、受信バッファサイズ算出部12は、変数“M2”をインクリメントする(S707)。
If the sample value being analyzed is equal to or smaller than the value of the variable “A” as a result of S705 (S705 / YES), that is, the value of the variable “A” is set as the buffer size to correspond to the sample value being analyzed. If the received data can be received, the reception buffer
S706、若しくはS707の処理の後、受信バッファサイズ算出部12は、変数“n”の値が変数“M”の値に達するまで、S703からの処理を繰り返す(S708/NO)。他方、変数“n”の値が変数“M”の値に達すると(S708/YES)、受信バッファサイズ算出部12は、計測再送率“Q”の算出(S709)を行う。ここで、計測再送率“Q”(%)は、以下の式(1)によって求められる。
After the processing of S706 or S707, the reception buffer
受信バッファサイズ算出部12は、式(1)により計測再送率Qを求めると、そのQと要求再送率“S”とを比較する(S710)。S710の比較の結果、計測再送率“Q”が要求再送率“S”以下である場合(S710/YES)、即ち、現在の“A”の値で要求再送率が満たされる場合、受信バッファサイズ算出部12は、その時の“A”の値を、そのチャネルのバッファ領域のサイズとして正式に決定し(S711)、処理を終了する。即ち、変数“A”は、図7の処理において、仮のバッファサイズとして用いられる。
When the reception buffer
他方、計測再送率“Q”が要求再送率“S”よりも大きい場合(S710/NO)、即ち、現在の“A”の値では要求再送率が満たされない場合、受信バッファサイズ算出部12は、“A”の値をプラス“1”(byte)し(S712)、S702からの処理を繰り返す。このような処理により、本実施形態に係るバッファサイズ計算処理が完了する。尚、図5の処理と同様に、受信バッファサイズ算出部12は、全てのチャネルに対して、図7の処理を実行する。これにより、図4において説明したように、各チャネルのバッファ領域2a、2b、・・・2nのサイズが決定され、受信バッファサイズ格納部13に情報が記憶される。
On the other hand, when the measured retransmission rate “Q” is larger than the requested retransmission rate “S” (S710 / NO), that is, when the requested retransmission rate is not satisfied with the current value “A”, the reception buffer
図7に示す処理を実行した結果、各チャネルのバッファサイズとして算出された値の合計が、受信バッファ2の記憶容量として用いることができるサイズの上限値以内であれば、算出結果をそのままバッファ領域2a、2b、・・・2nのサイズとして用いれば良い。他方、各チャネルのバッファサイズとして算出された値の合計が、受信バッファ2の記憶容量として用いることができるサイズの上限値を超えている場合があり得る。その場合、例えば、要求再送率の小さいチャネルから優先的に算出されたバッファサイズ、即ち、要求再送率を満たすバッファサイズを割り当てることが好ましい。 As a result of executing the processing shown in FIG. 7, if the sum of the values calculated as the buffer size of each channel is within the upper limit value of the size that can be used as the storage capacity of the reception buffer 2, the calculation result is used as it is in the buffer area. What is necessary is just to use as a size of 2a, 2b, ... 2n. On the other hand, the sum of the values calculated as the buffer size of each channel may exceed the upper limit of the size that can be used as the storage capacity of the reception buffer 2. In this case, for example, it is preferable to allocate a buffer size preferentially calculated from a channel with a small request retransmission rate, that is, a buffer size that satisfies the request retransmission rate.
これは、要求再送率が小さいということは、受信されるデータ数が多いということであり、そのようなチャネルに優先的にバッファを割り当てることにより、システム全体のスループットを向上することができるからである。この他、要求再送率ではなく、ユーザによって設定されたチャネル毎の優先度に基づいてバッファサイズを割り当てる優先度を決定しても良い。 This is because the low request retransmission rate means that the number of received data is large, and the overall system throughput can be improved by preferentially allocating buffers to such channels. is there. In addition, the priority for allocating the buffer size may be determined based on the priority for each channel set by the user instead of the requested retransmission rate.
このように、所定個数のサンプル値に基づいて任意のバッファサイズにおける再送率を計算し、チャネル毎に通信対象の装置によって要求されている再送率が満たされるように、バッファ領域のサイズを決定することにより、限られたバッファサイズにおいて複数あるLANチャネルのチャネル毎の再送率をコントロールすることができる。 In this way, the retransmission rate at an arbitrary buffer size is calculated based on a predetermined number of sample values, and the size of the buffer area is determined so that the retransmission rate requested by the communication target device is satisfied for each channel. This makes it possible to control the retransmission rate for each of a plurality of LAN channels with a limited buffer size.
本発明は図1において説明したような監視装置21、22及び制御装置10を含む監視制御システムに適用でき、チャネル毎の受信データの再送率を制御して一定のスループット特性とタイムクリティカル性を維持するデータの伝送が可能となる。次に、上記方法にて決定した要求再送率を満足する受信バッファサイズより大きなLANデータを受信し、受信バッファがオーバーフローする場合の本発明での動作を説明する。
The present invention can be applied to a monitoring control system including the monitoring devices 21 and 22 and the
図8は本発明の受信データオーバーフロー時の受信処理手順を示すフローチャートである。LAN受信部3に受信データが入力されると、受信バッファ制御部1において、データ受信処理部14が、受信データのサイズを確認し(S801)、受信バッファサイズ格納部13に記憶されている情報を参照して、データが入力されたチャネルのバッファ領域のサイズと受信データのサイズとを比較する(S802)。
FIG. 8 is a flowchart showing a reception processing procedure when reception data overflows according to the present invention. When reception data is input to the
S802の比較の結果、受信データのサイズが、バッファ領域のサイズ以下であれば(S802/YES)、データ受信処理部14は、LAN受信部3に入力された受信データを対応するチャネルのバッファ領域に格納し(S803)、処理を終了する。他方、受信データのサイズが、バッファ領域のサイズよりも大きい場合(S802/NO)、データ受信処理部14は、入力されたデータの受信を可能とするため、他チャネルのバッファ領域のサイズを減少させ(S804)、データが入力されたチャネルのバッファ領域のサイズを増加させる(S805)。そして、S801において入力された受信データの送信元に対してデータの再送要求を送信し(S806)、処理を終了する。
If the size of the received data is equal to or smaller than the size of the buffer area as a result of the comparison in S802 (S802 / YES), the data reception processing unit 14 uses the received data input to the
ここで、S804において、他チャネルの受信バッファのサイズを調整する方法の一例を以下に示す。受信バッファサイズの不足分を“B”(byte)、チャネル数を“N”(個)とし、他チャネルにおいて減少させるバッファサイズを“C”(byte)とすると、この“C”は以下の式(2)で求められる。
Here, an example of a method for adjusting the size of the reception buffer of another channel in S804 will be described below. Assuming that the shortage of the reception buffer size is “B” (bytes), the number of channels is “N” (number), and the buffer size to be reduced in other channels is “C” (bytes), this “C” is expressed by the following equation: Calculated in (2).
即ち、受信データがオーバーフローしたチャネルの受信バッファに、他のチャネルから容量を割り当てる際、他のチャネルから夫々割り当てられるサイズは、“B/(N−1)”(byte)となる。 That is, when a capacity is allocated from another channel to the reception buffer of the channel in which the reception data overflows, the size allocated from each other channel is “B / (N−1)” (bytes).
また、式(2)の例のように、他のチャネルから均等にサイズを割り当てるのではなく、各チャネルの再送要求率を考慮して割り当て量を決定することもできる。その場合、チャネル“i”の受信バッファの調整サイズを“Di”(byte)、要求再送率を“Ri”とすると、この“Di”は、以下の式(3)で求められる。
Further, as in the example of Expression (2), the allocation amount can be determined in consideration of the retransmission request rate of each channel, instead of allocating the size equally from other channels. In this case, assuming that the adjustment size of the reception buffer of channel “i” is “Di” (bytes) and the requested retransmission rate is “Ri”, this “Di” is obtained by the following equation (3).
他のチャネルから夫々割り当てる容量として、式(3)によって求められる“Di”を適用することにより、要求再送率の小さいチャネルからは少なく、要求再送率の大きいチャネルからは多く割り当てられる。この他、不足している容量を、再送要求率の最も大きいチャネルのバッファ容量からすべて割り当てるようにしても良い。 By applying “Di” obtained by the equation (3) as the capacity allocated from each of the other channels, the channel having a smaller request retransmission rate is allocated less and the channel having a higher requested retransmission rate is allocated more. In addition, all the insufficient capacity may be allocated from the buffer capacity of the channel with the largest retransmission request rate.
尚、上記実施形態においては、図7のS701において、変数“A”の初期値として“1”を用い、S712において“1”ずつ増加させていく場合を例として説明した。これに限らず、バッファ領域2a、2b、・・・2n夫々のサイズとして最低限確保すべきサイズがある場合は、そのサイズを変数“A”の初期値として用いることが好ましい。また、S712において変数“A”の値を増加させる単位は、“1”に限らず、例えばバッファ領域を構成する記憶媒体のセルの単位とすることもできる。 In the above embodiment, the case where “1” is used as the initial value of the variable “A” in S701 of FIG. 7 and incremented by “1” in S712 has been described as an example. However, the present invention is not limited to this, and when there is a minimum size to be secured as the size of each of the buffer areas 2a, 2b,. Further, the unit for increasing the value of the variable “A” in S712 is not limited to “1”, and may be, for example, a unit of a cell of the storage medium constituting the buffer area.
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 receive buffer controller,
2 receive buffer,
2a, 2b, 2n buffer area,
3, 3a, 3b, 3n LAN receiver,
4a, 4b bus,
11 retransmission request rate storage unit,
12 Receive buffer size calculator,
13 Receive buffer size storage,
14 data reception processing unit,
101 CPU,
102 FPGA,
103 RAM,
104 ROM,
105 HDD
Claims (10)
前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶する要求再送率記憶部と、
前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶するデータサイズ記憶部と、
前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定するバッファサイズ決定部とを含むことを特徴とするデータ受信装置。 A data receiving device for receiving data input from a plurality of channels via a network by storing the data in a buffer area provided for each of the plurality of channels,
A requested retransmission rate storage unit that stores a requested retransmission rate, which is information on a retransmission rate requested by another device that transmits data to the channel, for each of the plurality of channels;
A data size storage unit for storing a predetermined number of data sizes of data transmitted from the other device to the channel for each of the plurality of channels;
A buffer size determining unit that determines the size of the buffer area so as to satisfy the stored request retransmission rate for each of the plurality of channels based on the stored information on the predetermined number of data sizes. Data receiving device.
前記データ受信処理部は、前記チャネルに入力されたデータのサイズが、前記チャネルのバッファ領域のサイズとして決定されている値を超えている場合、他のチャネルのバッファ領域のサイズとして決定されている値を減らすことにより、前記データが入力されたチャネルのバッファ領域のサイズとして決定されている値を増やし、前記入力されたデータの送信元に再送要求を行うことを特徴とする請求項1乃至5いずれかに記載のデータ受信装置。 A data reception processing unit for receiving the data input to the channel by storing the data in the buffer area;
When the size of the data input to the channel exceeds the value determined as the size of the buffer area of the channel, the data reception processing unit is determined as the size of the buffer area of another channel 6. The value determined as the size of the buffer area of the channel to which the data is input is increased by decreasing the value, and a retransmission request is made to the transmission source of the input data. The data receiving device according to any one of the above.
When the size of data input to the channel exceeds the value determined as the size of the buffer area of the channel, the shortage size is B, the total number of the plurality of channels is N, and the channel i 9. The data receiving apparatus according to claim 8, wherein the following relationship is satisfied, where Di is a value to be reduced from the size of the buffer area and Ri is a requested retransmission rate of channel i.
前記チャネルに対してデータを送信する他の機器が要求している再送率の情報である要求再送率を前記複数のチャネル毎に記憶し、
前記他の機器が前記チャネルに対して送信するデータのデータサイズの情報を前記複数のチャネル毎に所定数記憶し、
前記記憶された所定数のデータサイズの情報に基づき、前記複数のチャネル毎に前記記憶された要求再送率を満たすように前記バッファ領域のサイズを決定することを特徴とするデータ受信方法。 A data receiving method for receiving data input from a plurality of channels via a network by storing the data in a buffer area provided for each of the plurality of channels,
Storing a requested retransmission rate, which is information on a retransmission rate requested by another device that transmits data to the channel, for each of the plurality of channels;
Storing a predetermined number of data size information for each of the plurality of channels, the data transmitted by the other device to the channel;
A data receiving method, comprising: determining a size of the buffer area so as to satisfy the stored request retransmission rate for each of the plurality of channels based on the stored information on a predetermined number of data sizes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010002954A JP5230665B2 (en) | 2010-01-08 | 2010-01-08 | Data receiving apparatus and data receiving method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010002954A JP5230665B2 (en) | 2010-01-08 | 2010-01-08 | Data receiving apparatus and data receiving method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011142563A JP2011142563A (en) | 2011-07-21 |
JP5230665B2 true JP5230665B2 (en) | 2013-07-10 |
Family
ID=44458099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010002954A Expired - Fee Related JP5230665B2 (en) | 2010-01-08 | 2010-01-08 | Data receiving apparatus and data receiving method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5230665B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014115207A1 (en) * | 2013-01-25 | 2014-07-31 | パナソニック株式会社 | Bus interface device, relay device, and bus system comprising both |
CN118337770B (en) * | 2024-06-14 | 2024-09-20 | 深圳旷世科技有限公司 | Audio transmission method and device, storage medium and electronic equipment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0417456A (en) * | 1990-05-11 | 1992-01-22 | Nec Corp | Picture communication control system |
JPH09102793A (en) * | 1995-10-06 | 1997-04-15 | Hitachi Cable Ltd | Repeater system |
JP2885764B2 (en) * | 1997-06-19 | 1999-04-26 | 北陸日本電気ソフトウェア株式会社 | Printer device |
JPH11196097A (en) * | 1997-12-26 | 1999-07-21 | Toshiba Corp | Data communication control device and method therefor |
JP2009081595A (en) * | 2007-09-26 | 2009-04-16 | Fujitsu Telecom Networks Ltd | Packet data relay apparatus |
-
2010
- 2010-01-08 JP JP2010002954A patent/JP5230665B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011142563A (en) | 2011-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9124506B2 (en) | Techniques for end-to-end network bandwidth optimization using software defined networking | |
EP3255553A1 (en) | Transmission control method and device for direct memory access | |
JP6179321B2 (en) | Storage management device, control method, and control program | |
US11489735B2 (en) | Dynamic network allocation apparatus, dynamic network allocation method and non-transitory computer-readable medium | |
JP6015342B2 (en) | Information processing method, program, information processing apparatus, and information processing system | |
US10037162B2 (en) | Storage management device, storage management method, and computer-readable recording medium | |
US20150032977A1 (en) | Memory management system, method and computer program product | |
US10965613B2 (en) | Multi-pipe bandwidth control in hosted systems | |
US20130198478A1 (en) | Resources allocation in a computer storage system | |
CN113315716A (en) | Method and equipment for training congestion control model and method and equipment for congestion control | |
US9326161B2 (en) | Application-driven control of wireless networking settings | |
EP3200494A1 (en) | Radio resource allocation method and radio network controller | |
EP4037272A1 (en) | Data processing method and device | |
US8429348B2 (en) | Method and mechanism for delaying writing updates to a data cache | |
JP2015011365A (en) | Provisioning apparatus, system, provisioning method, and provisioning program | |
JP5230665B2 (en) | Data receiving apparatus and data receiving method | |
US9948564B2 (en) | Data streaming scheduler for dual chipset architectures that includes a high performance chipset and a low performance chipset | |
US10126956B2 (en) | Information processing device and information processing method | |
US9775069B1 (en) | System for configuring distributed audio output using a designated audio device | |
US11481341B2 (en) | System and method for dynamically adjusting priority-based allocation of storage system resources | |
WO2014045417A1 (en) | Information processing device, and load testing method | |
US9182941B2 (en) | Flow control with buffer reclamation | |
JP2018128956A (en) | Load distribution device and load distribution method | |
KR102216125B1 (en) | Method, apparatus and system for scheduling transmission and reception of media contents | |
KR102359687B1 (en) | Cyber remote management device for multi-client |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130220 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |