JP5033150B2 - Data transmission control device, data transmission control method, and data transmission control program - Google Patents

Data transmission control device, data transmission control method, and data transmission control program Download PDF

Info

Publication number
JP5033150B2
JP5033150B2 JP2009029028A JP2009029028A JP5033150B2 JP 5033150 B2 JP5033150 B2 JP 5033150B2 JP 2009029028 A JP2009029028 A JP 2009029028A JP 2009029028 A JP2009029028 A JP 2009029028A JP 5033150 B2 JP5033150 B2 JP 5033150B2
Authority
JP
Japan
Prior art keywords
data
queue
transmission
data transmission
packet
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
Application number
JP2009029028A
Other languages
Japanese (ja)
Other versions
JP2010187129A (en
Inventor
勝 片山
愼一郎 茶木
直明 山中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009029028A priority Critical patent/JP5033150B2/en
Publication of JP2010187129A publication Critical patent/JP2010187129A/en
Application granted granted Critical
Publication of JP5033150B2 publication Critical patent/JP5033150B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ送信における遅延時間を安定させる技術に関する。   The present invention relates to a technique for stabilizing a delay time in data transmission.

近年、例えば、インターネットなどの通信ネットワークにおいて、ルータなどに帯域制御装置(データ送信制御装置)が用いられる。帯域制御装置では、例えば、複数のユーザそれぞれのデータが、別々のキューに格納される。そして、各キュー内のデータは、予め割り振られた帯域に応じた読出レート(読出速度)で順次読み出され、送信先に向けて送られる。   In recent years, for example, in a communication network such as the Internet, a bandwidth control device (data transmission control device) is used for a router or the like. In the bandwidth control device, for example, data for each of a plurality of users is stored in separate queues. The data in each queue is sequentially read at a reading rate (reading speed) corresponding to a pre-allocated bandwidth and sent to the transmission destination.

図10および図11を用いて、従来の帯域制御装置によるデータ送信制御方法について説明する。図10は、従来の帯域制御装置におけるキューによるデータ管理を示す概念図である。また、図11は、従来の帯域制御装置によるデータ送信制御方法の一例を示す説明図である。なお、各構成に付与した符号は、図1と整合をとったものである。   A data transmission control method by a conventional bandwidth control device will be described with reference to FIGS. 10 and 11. FIG. 10 is a conceptual diagram showing data management by a queue in a conventional bandwidth control apparatus. FIG. 11 is an explanatory diagram showing an example of a data transmission control method by a conventional bandwidth control apparatus. In addition, the code | symbol provided to each structure has taken consistency with FIG.

図10に示すように、複数のキュー7それぞれにデータが格納され、それらのデータが所定の読出レート(ここでは、上から順に比が1:2:1)で読み出され、各送信先に送られる。データがパケット単位で送受信される場合に、どのキュー7のパケットから読み出して送信するかを決めるキューイング・アルゴリズムの一つとして、例えば、WFQ(Weighted Fair Queuing)がある。WFQは、データの多さ、大きさ、重要性などに応じてパケットを読み出すときの優先順位を変える技術であり、音声やビデオのストリーミングに優先的に順位を譲ることで安定したストリーミングを実現することができるなどの特徴がある。   As shown in FIG. 10, data is stored in each of the plurality of queues 7, and the data is read at a predetermined reading rate (here, the ratio is 1: 2: 1 in order from the top), and is transmitted to each transmission destination. Sent. One example of a queuing algorithm that determines which queue 7 to read and transmit when data is transmitted and received in packet units is WFQ (Weighted Fair Queuing). WFQ is a technology that changes the priority when reading packets according to the amount, size, importance, etc. of data, and realizes stable streaming by giving priority to audio and video streaming. There are features such as being able to.

例えば、図11に示すように、端末A(端末2の「A」。以下同様)から端末Cに送信するデータと、端末Bから端末Dに送信するデータとが、ネットワーク上で同じ帯域制御装置(ルータ)を経由する場合について説明する。端末Aから送信されたデータは、キュー7a(7)に一旦蓄積され、その後、読み出されて端末Cに送信される。端末Bから送信されたデータは、キュー7b(7)に一旦蓄積され、その後、読み出されて端末Dに送信される。データはパケット単位で送受信される。   For example, as shown in FIG. 11, the data transmitted from terminal A (“A” of terminal 2; the same applies hereinafter) to terminal C and the data transmitted from terminal B to terminal D are the same bandwidth control device on the network. The case of passing through (router) will be described. The data transmitted from the terminal A is temporarily stored in the queue 7a (7), then read out and transmitted to the terminal C. The data transmitted from the terminal B is temporarily stored in the queue 7b (7), then read out and transmitted to the terminal D. Data is transmitted and received in packets.

各キュー7に対応して、デフィシットカウンタDC(以下、単に「DC」という。)が設けられている。制御部90は、各キュー7に与えられている帯域(ここでは、キュー7aとキュー7bの帯域比が1:2)に比例したクレジット(DCに蓄積するための数値)を定期的に発行し、各DCに蓄積する。つまり、DCは、クレジットを受け取るごとにその分カウントアップする。   A corresponding counter DC (hereinafter simply referred to as “DC”) is provided for each queue 7. The control unit 90 periodically issues credits (numerical values for accumulating in the DC) proportional to the bandwidth given to each queue 7 (here, the bandwidth ratio between the queue 7a and the queue 7b is 1: 2). , Accumulate in each DC. That is, the DC counts up each time it receives a credit.

そして、DCの値がキュー7の先頭パケット(次に読み出すパケット)のバイト数以上になったら、その先頭パケットは読み出されて送信され、それとともに、読み出されたパケットのバイト数だけDCの値が減算される。この方式の場合、例えば、キュー7aとキュー7bの読出レートの比は、帯域比と同じく1:2となる。   When the DC value is equal to or greater than the number of bytes of the first packet (the packet to be read next) in the queue 7, the first packet is read and transmitted, and at the same time, the number of bytes of the DC is equal to the number of bytes of the read packet. The value is subtracted. In the case of this method, for example, the ratio of the reading rates of the queue 7a and the queue 7b is 1: 2 as with the bandwidth ratio.

前記した従来の方式では、読出レートを自由に割り振ることができるという特徴がある。しかし、通信には、固定の読出レートを申告できないサービスもある。例えば、IP(Internet Protocol)ネットワーク上で音声情報を伝達するサービスであるVoIP(Voice over IP)や、IPを利用してデジタルテレビ放送を配信するサービスであるIPTV(IP Television)などである。   The conventional method described above has a feature that the reading rate can be freely assigned. However, there are some services that cannot declare a fixed readout rate. For example, there are VoIP (Voice over IP) which is a service for transmitting voice information on an IP (Internet Protocol) network, and IPTV (IP Television) which is a service for distributing digital television broadcasting using IP.

それらのサービスにおける通信では、帯域が常時変動する。例えば、IPTVの場合、平均的帯域は算出できるが、シーンチェンジを繰り返す時間帯と、静止画に近い時間帯では、画像データの読出レートが大きく変わる。その瞬間的な読出レートは、キューへの蓄積パケット数に依存する。パケットが蓄積されているキューは、遅延状態(待ち状態)となっている。このような処理では、キューに蓄積するパケットの量が大きく変動するため、遅延時間は安定しない。   In communication using these services, the bandwidth constantly varies. For example, in the case of IPTV, the average bandwidth can be calculated, but the readout rate of image data varies greatly between the time zone where scene changes are repeated and the time zone close to a still image. The instantaneous read rate depends on the number of packets stored in the queue. The queue in which the packets are accumulated is in a delay state (waiting state). In such processing, the delay time is not stable because the amount of packets accumulated in the queue varies greatly.

そのような場合の従来の通信技術としては、例えば、動画の配信サービスにおいて、サーバにアクセスしている人数から統計的に視聴予測を行い、その予測結果に応じて帯域を確保するものがある。また、通常、リクエストデータよりもレスポンスデータのほうが大きいことを利用してトラヒック量を予測し、ダイナミックに帯域を変化させて通信を制御するものもある。   As a conventional communication technique in such a case, for example, in a moving picture distribution service, there is a technique in which viewing prediction is statistically performed from the number of people accessing a server, and a band is secured according to the prediction result. In some cases, the amount of response data is usually larger than that of request data, so that the traffic volume is predicted and the communication is controlled by dynamically changing the bandwidth.

さらに、特許文献1では、ユーザごとの帯域の不足や余剰を逐次計測し、ユーザ間での帯域の貸し借りをダイナミックに行う技術が開示されている。
これらの技術によれば、通信の高速化などの所定の効果を得ることができる。
Further, Patent Document 1 discloses a technique for measuring bandwidth shortages and surpluses for each user sequentially and dynamically renting and borrowing bandwidth between users.
According to these techniques, it is possible to obtain a predetermined effect such as an increase in communication speed.

特開2005−191288号公報JP 2005-191288 A

しかし、ネットワークを経由するか否かを問わず、特に双方向の通信においては、高速化だけでなく、遅延時間の安定化が望まれる場合がある。例えば、音声の双方向通信やテレビ会議、あるいは、ロボットや遠隔医療におけるフィードバック制御の場合などである。それらの場合、遅延時間が小さいことだけでなく、遅延時間が安定していることが重要である。具体的には、例えば、触覚センサを用いた遠隔手術の場合、遅延時間の平均値が小さいことだけでなく、遅延時間が安定していることが望まれる。   However, there is a case where it is desired to stabilize not only the speed but also the delay time, particularly in bidirectional communication, regardless of whether or not the data passes through a network. For example, it is the case of feedback control in voice two-way communication, video conference, or robot or telemedicine. In those cases, it is important that not only the delay time is small but also the delay time is stable. Specifically, for example, in the case of remote surgery using a tactile sensor, it is desired that not only the average value of the delay time is small but also that the delay time is stable.

そこで、本発明は、複数のキューを用いたデータ送信制御において、キューごとにデータ送信の遅延時間を安定させることを課題とする。   Therefore, an object of the present invention is to stabilize the delay time of data transmission for each queue in data transmission control using a plurality of queues.

前記課題を解決するために、本発明は、外部からデータを受信するデータ受信部と、受信したデータをこのデータの送信先ごとに振り分けるデータ振分部と、複数のキューを有し、送信先ごとに振り分けられたデータを、送信先ごとに対応したキューに格納する記憶部と、複数のキューそれぞれに格納されたデータを送信先に向けて外部に送信するデータ送信部と、記憶部のキューそれぞれに格納されたデータをデータ送信部から外部に送信する場合の単位時間当たりのデータ量である送信レートを制御する制御部と、を備えるデータ送信制御装置である。制御部は、キューごとに、格納されたデータ量が多いほど送信レートを高くするとともに、複数のキューそれぞれの送信レートを、予め定められた複数段階のいずれかの送信レートで制御しており、複数のキューそれぞれに関し、送信レートが所定段階以上である時間が所定時間継続した場合、当該送信レートを1段階以上低くするIn order to solve the above problems, the present invention includes a data receiving unit that receives data from the outside, a data distribution unit that distributes the received data for each destination of the data, and a plurality of queues. A storage unit that stores data distributed for each destination in a queue corresponding to each destination, a data transmission unit that transmits data stored in each of the plurality of queues to the destination, and a queue in the storage unit A data transmission control apparatus comprising: a control unit that controls a transmission rate that is a data amount per unit time when data stored in each is transmitted from the data transmission unit to the outside. For each queue, the control unit increases the transmission rate as the amount of stored data increases, and controls the transmission rate of each of the plurality of queues at one of a plurality of predetermined transmission rates. For each of the plurality of queues, when the time during which the transmission rate is equal to or higher than a predetermined level continues for a predetermined time, the transmission rate is decreased by one level or more .

かかる発明によれば、キューごとに、格納されたデータ量が多いほど送信レートを高くすることで、キューごとにデータ送信の遅延時間を安定させることができる。
また、複数のキューそれぞれに関し、送信レートが所定段階以上である時間が所定時間継続した場合、当該送信レートを1段階以上低くすることで、遅延時間の安定化とともに、送信レートが高くなった状態の長時間継続の回避による通信の安定化を実現することができる。
According to this invention, it is possible to stabilize the delay time of data transmission for each queue by increasing the transmission rate as the amount of stored data increases for each queue.
In addition, for each of the plurality of queues, when the time during which the transmission rate is equal to or higher than a predetermined level continues for a predetermined time, the transmission rate is increased by lowering the transmission rate by one level or more, thereby stabilizing the delay time. It is possible to achieve stable communication by avoiding long-term continuation.

前記課題を解決するために、データは、パケット単位で送受信されており、制御部は、キューごとに割り振られた帯域の大きさに比例した所定値であるクレジットの値に所定の係数を乗算した値を、キューそれぞれに対応するカウンタに加算して記憶し、カウンタに記憶された値の合計が当該キューにおいて次に送信するパケットのデータ量以上になったときに、当該キューにおける当該パケットをデータ送信部から外部に送信するとともに、カウンタに記憶された値の合計から当該キューにおける当該パケットのデータ量を減算する。なお、所定の係数は、当該カウンタに対応するキューに格納されているパケットの総データ量に比例した係数である。   In order to solve the above problem, data is transmitted and received in units of packets, and the control unit multiplies a predetermined coefficient by a credit value, which is a predetermined value proportional to the size of the bandwidth allocated to each queue. The value is added to the counter corresponding to each queue and stored, and when the sum of the values stored in the counter exceeds the data amount of the next packet to be transmitted in the queue, the packet in the queue is stored as data. While transmitting to the outside from a transmission part, the data amount of the said packet in the said queue is subtracted from the sum total of the value memorize | stored in the counter. The predetermined coefficient is a coefficient proportional to the total data amount of packets stored in the queue corresponding to the counter.

かかる発明によれば、キューごとに、クレジットの値にパケットの総データ量に比例した所定の係数を乗算した値をカウンタに加算して記憶し、カウンタに記憶された値の合計が次に送信するパケットのデータ量以上になったときに当該パケットをデータ送信部から外部に送信することで、送信レートをダイナミックかつ細かく変更することができるので、キューごとのデータ送信の遅延時間をより一層安定させることができる。   According to this invention, for each queue, a value obtained by multiplying the credit value by a predetermined coefficient proportional to the total data amount of the packet is added to the counter and stored, and the sum of the values stored in the counter is transmitted next. The transmission rate can be changed dynamically and finely by transmitting the packet from the data transmission unit to the outside when the amount of data exceeds the data amount to be transmitted, so that the delay time of data transmission for each queue is further stabilized. Can be made.

前記課題を解決するために、本発明は、データ送信制御方法をコンピュータに実行させるためのデータ送信制御プログラムである。   In order to solve the above problems, the present invention is a data transmission control program for causing a computer to execute a data transmission control method.

かかる発明によれば、このデータ送信制御プログラムをインストールされたコンピュータは、このデータ送信制御プログラムに基づいた各機能を実現することができる。   According to this invention, the computer in which this data transmission control program is installed can realize each function based on this data transmission control program.

本発明によれば、複数のキューを用いたデータ送信制御において、キューごとにデータ送信の遅延時間を安定させることができる。   According to the present invention, in data transmission control using a plurality of queues, the delay time of data transmission can be stabilized for each queue.

本実施形態のデータ送信制御装置を含む全体構成図である。It is a whole lineblock diagram containing the data transmission control device of this embodiment. 本実施形態におけるキュー長と読出レートとの関係を示す概念図である。It is a conceptual diagram which shows the relationship between the queue length in this embodiment, and a reading rate. 第1の実施形態(第3の実施形態)におけるパケット送信の様子を示す説明図である。It is explanatory drawing which shows the mode of the packet transmission in 1st Embodiment (3rd Embodiment). 第1の実施形態におけるパケット送信の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a packet transmission process in 1st Embodiment. 第2の実施形態におけるパケット送信の様子を示す説明図である。It is explanatory drawing which shows the mode of the packet transmission in 2nd Embodiment. 第2の実施形態におけるパケット送信の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a packet transmission process in 2nd Embodiment. 第3の実施形態におけるパケット送信の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a packet transmission process in 3rd Embodiment. 比較例における受信レート、送信レート、キュー長および遅延時間の変化の概観を示すグラフである。6 is a graph showing an overview of changes in a reception rate, a transmission rate, a queue length, and a delay time in a comparative example. 第3の実施形態における受信レート、送信レート、キュー長および遅延時間の変化の概観を示すグラフである。10 is a graph showing an overview of changes in reception rate, transmission rate, queue length, and delay time in the third embodiment. 従来の帯域制御装置におけるキューによるデータ管理を示す概念図である。It is a conceptual diagram which shows the data management by the queue in the conventional bandwidth control apparatus. 従来の帯域制御装置によるデータ送信制御方法の一例を示す説明図である。It is explanatory drawing which shows an example of the data transmission control method by the conventional band control apparatus.

以下、本発明を実施するための形態(以下、実施形態という。)について、図面を参照(言及図以外も適宜参照)しながら説明する。なお、以下において、第1の実施形態、第2の実施形態、第3の実施形態について説明するが、「本実施形態」と記載した場合はそれらのすべての実施形態を含むものとする。   DESCRIPTION OF EMBODIMENTS Hereinafter, modes for carrying out the present invention (hereinafter referred to as embodiments) will be described with reference to the drawings (other than the referenced drawings as appropriate). In the following, the first embodiment, the second embodiment, and the third embodiment will be described. However, when “this embodiment” is described, all the embodiments are included.

(第1の実施形態)
まず、本実施形態のデータ送信制御装置を含む全体構成について説明する。図1に示すように、インターネットなどのネットワーク1に、ルータの役割を果たすデータ送信制御装置3が複数台設けられている。ユーザが使用するコンピュータ装置である端末2は、データ送信制御装置3に接続され、他の端末2と通信可能になっている。
(First embodiment)
First, the overall configuration including the data transmission control device of this embodiment will be described. As shown in FIG. 1, a plurality of data transmission control devices 3 serving as routers are provided in a network 1 such as the Internet. The terminal 2 which is a computer device used by the user is connected to the data transmission control device 3 and can communicate with other terminals 2.

データ送信制御装置3は、データ受信部4、データ振分部5、記憶部6、データ送信部8および制御部9を備えて構成される。
データ受信部4は、外部(自身のデータ送信制御装置3が接続されたデータ送信制御装置3や端末2。以下同様)から送信先のあるデータを受信する手段であり、例えば、通信インターフェイスにより実現される。
The data transmission control device 3 includes a data reception unit 4, a data distribution unit 5, a storage unit 6, a data transmission unit 8, and a control unit 9.
The data receiving unit 4 is means for receiving data having a transmission destination from the outside (the data transmission control device 3 or the terminal 2 to which the data transmission control device 3 is connected), and the like. Is done.

データ振分部5は、データ受信部4が受信したデータを送信先ごとに振り分ける手段であり、例えば、CPU(Central Processing Unit)により実現される。
記憶部6は、データを記憶する手段であり、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクなどによって実現される。また、記憶部6は、データ振分部5によって送信先ごとに振り分けられたデータをそれぞれ格納する複数のキュー7を有する。
The data distribution unit 5 is a unit that distributes the data received by the data reception unit 4 for each transmission destination, and is realized by, for example, a CPU (Central Processing Unit).
The storage unit 6 is means for storing data, and is realized by, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a hard disk, or the like. In addition, the storage unit 6 includes a plurality of queues 7 each storing data distributed by the data distribution unit 5 for each transmission destination.

データ送信部8は、複数のキュー7それぞれに格納されたデータをそれぞれの送信先に向けて外部に送信する手段であり、例えば、通信インターフェイスにより実現される。
制御部9は、複数のキュー7それぞれに格納されたデータをデータ送信部8から外部に送信する場合の送信レート(単位時間当たりの送信データ量。読出レートと同じ。)を制御する手段であり、例えば、CPUにより実現される。制御部9は、キュー7ごとに、格納されたデータ量が多いほど、段階的あるいは連続的に送信レート(読出レート)を高くする制御を行う(詳細は後記)。
The data transmission unit 8 is means for transmitting data stored in each of the plurality of queues 7 toward the respective transmission destinations, and is realized by, for example, a communication interface.
The control unit 9 is a means for controlling the transmission rate (the amount of transmission data per unit time, which is the same as the reading rate) when data stored in each of the plurality of queues 7 is transmitted from the data transmission unit 8 to the outside. For example, it is realized by a CPU. The control unit 9 performs control to increase the transmission rate (reading rate) stepwise or continuously as the amount of stored data increases for each queue 7 (details will be described later).

次に、本実施形態におけるキュー長と読出レートとの関係について説明する。図2に示すように、ここでは、説明を簡単にするために、キュー7の全体の長さを相対的に「3」とする(他図についても同様)。また、以下、「キュー長」とは、キュー7に格納されたデータの長さのことを指す。   Next, the relationship between the queue length and the read rate in this embodiment will be described. As shown in FIG. 2, here, in order to simplify the description, the entire length of the queue 7 is relatively “3” (the same applies to other figures). Hereinafter, the “queue length” refers to the length of data stored in the queue 7.

本実施形態のコンセプトは、キュー長が長い場合は読出レートを上げ、キュー長が短い場合は読出レートを下げることである。図2の例では、キュー長が通常(「2」)のとき、読出レートは「2」となっており、そのときの遅延時間(データがキュー7に滞在している時間)は「キュー長(「2」)」÷「読出レート(「2」)」で「1」と考えることができる。   The concept of this embodiment is to increase the read rate when the queue length is long, and to decrease the read rate when the queue length is short. In the example of FIG. 2, when the queue length is normal (“2”), the read rate is “2”, and the delay time (time during which data stays in the queue 7) is “queue length”. (“2”) ”÷“ read rate (“2”) ”can be considered as“ 1 ”.

キュー長が短く(「1」)なると、読出レートを「1」とし、そのときの遅延時間は「キュー長(「1」)」÷「読出レート(「1」)」で、やはり「1」となる。
同様に、キュー長が長く(「3」)なると、読出レートを「3」とし、そのときの遅延時間は「キュー長(「3」)」÷「読出レート(「3」)」で、やはり「1」となる。
When the queue length is short (“1”), the reading rate is “1”, and the delay time at that time is “queue length (“ 1 ”)” ÷ “reading rate (“ 1 ”)”, which is also “1”. It becomes.
Similarly, when the queue length becomes long (“3”), the read rate is set to “3”, and the delay time at that time is “queue length (“ 3 ”)” ÷ “read rate (“ 3 ”)”. “1”.

続いて、このコンセプトをWFQに適用した場合について説明する。図3に示すように、端末Aから端末Cに送信するデータがキュー7a(7)に格納されること、端末Bから端末Dに送信するデータがキュー7b(7)に格納されること、キュー7aとキュー7bの帯域比が1:2であること、キュー7の全体の長さを相対的に「3」とすること、各キュー7に対応してDCが設けられていること、制御部9が各キュー7に与えられている帯域に比例したクレジットを定期的に発行すること、DCの値が先頭パケットのバイト数以上になったらその先頭パケットが読み出されるとともにDCから当該パケット長が減算されることなどは、図11の場合と同様である。   Next, a case where this concept is applied to WFQ will be described. As shown in FIG. 3, the data transmitted from the terminal A to the terminal C is stored in the queue 7a (7), the data transmitted from the terminal B to the terminal D is stored in the queue 7b (7), the queue The bandwidth ratio between the queue 7a and the queue 7b is 1: 2, the overall length of the queue 7 is relatively "3", a DC is provided for each queue 7, and the control unit 9 periodically issues a credit proportional to the bandwidth given to each queue 7, and when the DC value exceeds the number of bytes of the first packet, the first packet is read and the packet length is subtracted from the DC This is the same as in the case of FIG.

次に、図3の例における制御部9の処理について説明する。なお、以下では1つのキュー7についての処理を説明するが、実際にはその処理がすべてのキュー7に対して順番に行われる。
図4に示すように、制御部9は、キュー7に対してクレジットを発行する(ステップS10)。キュー7aに対してであればクレジット「10」を発行し、キュー7bに対してであればクレジット「20」を発行する。
Next, processing of the control unit 9 in the example of FIG. 3 will be described. In the following, the processing for one queue 7 will be described, but actually, the processing is sequentially performed for all the queues 7.
As shown in FIG. 4, the control unit 9 issues a credit to the queue 7 (step S10). If it is for the queue 7a, a credit “10” is issued, and if it is for the queue 7b, a credit “20” is issued.

次に、制御部9は、キュー7におけるキュー長(「K」。パケットの総量)を調べる(ステップS20)。
キュー長が「K≦1」を満たすとき(ステップS20で「K≦1」)、制御部9は、「X=1」を設定する(ステップS30)。なお、「X」は、クレジットに乗算する係数であり、詳細は後記する。
Next, the control unit 9 checks the queue length (“K”, the total amount of packets) in the queue 7 (step S20).
When the queue length satisfies “K ≦ 1” (“K ≦ 1” in step S20), the control unit 9 sets “X = 1” (step S30). “X” is a coefficient by which credit is multiplied, and details will be described later.

キュー長が「1<K≦2」を満たすとき(ステップS20で「1<K≦2」)、制御部9は、「X=2」を設定する(ステップS40)。
キュー長が「2<K」を満たすとき(ステップS20で「2<K」)、制御部9は、「X=3」を設定する(ステップS50)。
When the queue length satisfies “1 <K ≦ 2” (“1 <K ≦ 2” in step S20), the control unit 9 sets “X = 2” (step S40).
When the queue length satisfies “2 <K” (“2 <K” in step S20), the control unit 9 sets “X = 3” (step S50).

続いて、制御部9は、「DC≧DCth」の条件を満たすか否かを判定する(ステップS60)。ここで、「DCth」は、キュー7にパケットが長時間存在ないときにDCが増えすぎないようにするための閾値(上限値)であり、例えば、パケットの平均サイズの5倍程度の数値である。なお、DCthは、キュー7ごとに別々の値を設定してもよいし、同じ値を設定してもよい。 Subsequently, the control unit 9 determines whether or not the condition “DC ≧ DC th ” is satisfied (step S60). Here, “DC th ” is a threshold value (upper limit value) for preventing DC from increasing excessively when there is no packet in the queue 7 for a long time. It is. DC th may be set to a different value for each queue 7 or may be set to the same value.

「DC≧DCth」の条件を満たす場合(ステップS60でYes)、制御部9は、DCの値をそのままとし(ステップS70:「DC=DC」)、ステップS90に進む。なお、このステップS70における「DC=DC」では、実質的に何も処理しないが、ステップS80との対比で理解を容易にするために記載している(以下同様)。 When the condition of “DC ≧ DC th ” is satisfied (Yes in Step S60), the control unit 9 keeps the value of DC as it is (Step S70: “DC = DC”), and proceeds to Step S90. It should be noted that “DC = DC” in step S70 does not process anything substantially, but is described for ease of understanding in comparison with step S80 (the same applies hereinafter).

「DC≧DCth」の条件を満たさない場合(ステップS60でNo)、制御部9は、ステップS10で発行したクレジットに、ステップS30,S40,S50で設定した「X」を乗算した値をDCに加算し(ステップS80:「DC=DC+クレジット×X」)、ステップS90に進む。このステップS80の処理が第1の実施形態のポイントの1つである。DCに対して、単にクレジットを加算するのではなく、クレジットに「X」を乗算した値を加算することで、図2で説明した「キュー長が長い場合は読出レートを上げ、キュー長が短い場合は読出レートを下げる」というコンセプトを実現できる。 When the condition of “DC ≧ DC th ” is not satisfied (No in step S60), the control unit 9 sets a value obtained by multiplying the credit issued in step S10 by “X” set in steps S30, S40, and S50 to DC. (Step S80: “DC = DC + credit × X”), the process proceeds to step S90. The process of step S80 is one of the points of the first embodiment. The DC is not simply added with a credit, but is added with a value obtained by multiplying the credit by “X”. As described in FIG. 2, “when the queue length is long, the reading rate is increased and the queue length is short. In this case, the concept of “lowering the read rate” can be realized.

次に、制御部9は、キュー7にパケットがあるか否かを判定し(ステップS90)、パケットがない場合(No)はステップS10に戻り、パケットがある場合(Yes)はステップS100に進む。   Next, the control unit 9 determines whether or not there is a packet in the queue 7 (step S90). If there is no packet (No), the process returns to step S10, and if there is a packet (Yes), the process proceeds to step S100. .

続いて、制御部9は、「DC≧パケット長(先頭パケットの長さ)」の条件を満たすか否かを判定し(ステップS90)、条件を満たさない場合(No)はステップS10に戻り、条件を満たす場合(Yes)はステップS110に進む。
次に、制御部9は、先頭パケットをデータ送信部8から外部に送信するとともに、DCから当該パケット長を減算し(ステップS110:「DC=DC−パケット長」)、ステップS10に戻る。
Subsequently, the control unit 9 determines whether or not the condition “DC ≧ packet length (the length of the first packet)” is satisfied (step S90). If the condition is not satisfied (No), the process returns to step S10. If the condition is satisfied (Yes), the process proceeds to step S110.
Next, the control unit 9 transmits the leading packet from the data transmission unit 8 to the outside, and subtracts the packet length from the DC (step S110: “DC = DC−packet length”), and returns to step S10.

このように、キュー長に応じた所定の係数Xをクレジットに乗算してからDCに加算することで、読出レートをダイナミックに変更し、キューごとのデータ送信の遅延時間を安定させることができる。   Thus, by multiplying the credit by a predetermined coefficient X corresponding to the queue length and adding it to DC, the read rate can be dynamically changed, and the delay time of data transmission for each queue can be stabilized.

(第2の実施形態)
次に、第2の実施形態について説明する。図5を図3と比較して参照すればわかるように、第2の実施形態は、第1の実施形態と比較して、各キュー7に対応して、DCに加えて、ローンカウンタLC(以下、単に「LC」という。)が設けられている点で相違している。なお、LCは、読出レートが高くなった状態が長時間継続しないようにするための変数であり、初期値は例えばゼロである。LCの処理の詳細については図6を参照して後記するが、概要を説明すると、読出レートが高いときにLCは順次加算され、読出レートが高くなった状態が長時間継続したとき、つまり、LCが所定の閾値(上限値)LCthを超えたときに、強制的に読出レートを下げることで、通信を安定させることができる。
(Second Embodiment)
Next, a second embodiment will be described. As can be seen by comparing FIG. 5 with FIG. 3, the second embodiment corresponds to each queue 7 in addition to DC, as compared to the first embodiment, in addition to the loan counter LC ( Hereinafter, it is different in that it is simply referred to as “LC”). Note that LC is a variable for preventing the state in which the reading rate is high from continuing for a long time, and the initial value is, for example, zero. Details of the processing of the LC will be described later with reference to FIG. 6, but the outline will be described. When the reading rate is high, the LC is sequentially added, and when the state in which the reading rate is high continues for a long time, that is, When the LC exceeds a predetermined threshold (upper limit value) LCth , communication can be stabilized by forcibly reducing the reading rate.

次に、図5の例における制御部9の処理について、図6を参照して説明する。なお、以下では1つのキュー7についての処理を説明するが、実際にはその処理がすべてのキュー7に対して順番に行われる。また、図4の処理と同じ処理については同じステップ番号を付与し(例えば「ステップS10」)、重複説明を適宜省略する。   Next, processing of the control unit 9 in the example of FIG. 5 will be described with reference to FIG. In the following, the processing for one queue 7 will be described, but actually, the processing is sequentially performed for all the queues 7. Further, the same processing as the processing of FIG. 4 is given the same step number (for example, “Step S10”), and redundant description is appropriately omitted.

図6に示すように、制御部9は、キュー7に対してクレジットを発行する(ステップS10)。
次に、制御部9は、キュー7におけるキュー長(「K」)を調べる(ステップS21)。
As shown in FIG. 6, the control unit 9 issues a credit to the queue 7 (step S10).
Next, the control unit 9 checks the queue length (“K”) in the queue 7 (step S21).

キュー長が「K≦1」を満たすとき(ステップS21で「K≦1」)、制御部9は、「X=1」を設定する(ステップS30)。
キュー長が「1<K」を満たすとき(ステップS21で「1<K」)、制御部9は、「LC≧LCth」の条件を満たすか否かを判定する(ステップS22)。ここで、LCthは、読出レートが高くなった状態が長時間継続しないようにするための閾値(上限値)であり、例えば、パケットの平均サイズの10倍程度の数値である。なお、LCthは、キュー7ごとに別々の値を設定してもよいし、同じ値を設定してもよい。
When the queue length satisfies “K ≦ 1” (“K ≦ 1” in step S21), the control unit 9 sets “X = 1” (step S30).
When the queue length satisfies “1 <K” (“1 <K” in step S21), the control unit 9 determines whether or not the condition “LC ≧ LC th ” is satisfied (step S22). Here, LC th is a threshold value (upper limit value) for preventing the state in which the reading rate is high from continuing for a long time, and is, for example, a numerical value about 10 times the average size of the packet. LC th may be set to a different value for each queue 7 or the same value.

「LC≧LCth」の条件を満たす場合(ステップS22でYes)、制御部9は、ステップS30に進む。このように、キュー長が長くてもLCがLCth以上であれば読出レートを上げないことで、読出レートが高くなった状態の長時間継続を回避することができる。 When the condition “LC ≧ LC th ” is satisfied (Yes in Step S22), the control unit 9 proceeds to Step S30. In this way, even if the queue length is long, if the LC is equal to or greater than LCth , the read rate is not increased, so that it is possible to prevent the read rate from increasing for a long time.

「LC≧LCth」の条件を満たさない場合(ステップS22でNo)、制御部9は、再び、キュー7におけるキュー長(「K」)を調べる(ステップS23)。
キュー長が「1<K≦2」を満たすとき(ステップS23で「1<K≦2」)、制御部9は、「X=2」を設定する(ステップS40)。
キュー長が「2<K」を満たすとき(ステップS23で「2<K」)、制御部9は、「X=3」を設定する(ステップS50)。
When the condition “LC ≧ LC th ” is not satisfied (No in Step S22), the control unit 9 checks the queue length (“K”) in the queue 7 again (Step S23).
When the queue length satisfies “1 <K ≦ 2” (“1 <K ≦ 2” in step S23), the control unit 9 sets “X = 2” (step S40).
When the queue length satisfies “2 <K” (“2 <K” in step S23), the control unit 9 sets “X = 3” (step S50).

続いて、制御部9は、「DC≧DCth」の条件を満たすか否かを判定する(ステップS51)。
「DC≧DCth」の条件を満たす場合(ステップS51でYes)、制御部9は、DCの値をそのままとし(ステップS52:「DC=DC」)、また、ステップS10で発行したクレジットに、ステップS40,S50で設定した「X」を乗算した値をLCに加算し(ステップS52:「LC=LC+クレジット×X」)、ステップS54に進む。
Subsequently, the control unit 9 determines whether or not the condition “DC ≧ DC th ” is satisfied (step S51).
When the condition of “DC ≧ DC th ” is satisfied (Yes in Step S51), the control unit 9 keeps the DC value as it is (Step S52: “DC = DC”), and the credit issued in Step S10 is A value obtained by multiplying “X” set in steps S40 and S50 is added to the LC (step S52: “LC = LC + credit × X”), and the process proceeds to step S54.

「DC≧DCth」の条件を満たさない場合(ステップS51でNo)、制御部9は、クレジットに「X」を乗算した値をDCに加算し(ステップS53:「DC=DC+クレジット×X」)、また、クレジットに「X」を乗算した値をLCに加算し(ステップS53:「LC=LC+クレジット×X」)、ステップS54に進む。 When the condition of “DC ≧ DC th ” is not satisfied (No in Step S51), the control unit 9 adds the value obtained by multiplying the credit by “X” to the DC (Step S53: “DC = DC + credit × X”). Further, a value obtained by multiplying the credit by “X” is added to the LC (step S53: “LC = LC + credit × X”), and the process proceeds to step S54.

続いて、制御部9は、「DC≧パケット長(先頭パケットの長さ)」の条件を満たすか否かを判定し(ステップS54)、条件を満たさない場合(No)はステップS10に戻り、条件を満たす場合(Yes)はステップS55に進む。
次に、制御部9は、先頭パケットをデータ送信部8から外部に送信するとともに、DCから当該パケット長を減算し(「DC=DC−パケット長」)(ステップS55)、ステップS10に戻る。
Subsequently, the control unit 9 determines whether or not the condition “DC ≧ packet length (the length of the first packet)” is satisfied (step S54). If the condition is not satisfied (No), the process returns to step S10. If the condition is satisfied (Yes), the process proceeds to step S55.
Next, the control unit 9 transmits the leading packet from the data transmission unit 8 to the outside, and subtracts the packet length from DC (“DC = DC−packet length”) (step S55), and returns to step S10.

ステップS30の後、制御部9は、「DC≧DCth」の条件を満たすか否かを判定する(ステップS60)。
「DC≧DCth」の条件を満たす場合(ステップS60でYes)、制御部9は、DCの値をそのままとし(ステップS70:「DC=DC」)、ステップS90に進む。
After step S30, the control unit 9 determines whether or not the condition “DC ≧ DC th ” is satisfied (step S60).
When the condition of “DC ≧ DC th ” is satisfied (Yes in Step S60), the control unit 9 keeps the value of DC as it is (Step S70: “DC = DC”), and proceeds to Step S90.

「DC≧DCth」の条件を満たさない場合(ステップS60でNo)、制御部9は、クレジットをDCに加算し(ステップS81:「DC=DC+クレジット」)、ステップS90に進む。 When the condition of “DC ≧ DC th ” is not satisfied (No in Step S60), the control unit 9 adds the credit to DC (Step S81: “DC = DC + credit”), and proceeds to Step S90.

次に、制御部9は、キュー7にパケットがあるか否かを判定し(ステップS90)、パケットがない場合(No)はステップS10に戻り、パケットがある場合(Yes)はステップS100に進む。   Next, the control unit 9 determines whether or not there is a packet in the queue 7 (step S90). If there is no packet (No), the process returns to step S10, and if there is a packet (Yes), the process proceeds to step S100. .

続いて、制御部9は、「DC≧パケット長(先頭パケットの長さ)」の条件を満たすか否かを判定し(ステップS100)、条件を満たさない場合(No)はステップS10に戻り、条件を満たす場合(Yes)はステップS111に進む。
次に、制御部9は、先頭パケットをデータ送信部8から外部に送信するとともに、DCから当該パケット長を減算し(「DC=DC−パケット長」)、また、LCから当該パケット長を減算し(「LC=LC−パケット長」)(ステップS111)、ステップS10に戻る。
Subsequently, the control unit 9 determines whether or not the condition “DC ≧ packet length (the length of the first packet)” is satisfied (step S100). If the condition is not satisfied (No), the process returns to step S10. If the condition is satisfied (Yes), the process proceeds to step S111.
Next, the control unit 9 transmits the first packet from the data transmission unit 8 to the outside, subtracts the packet length from DC (“DC = DC−packet length”), and subtracts the packet length from the LC. (“LC = LC−packet length”) (step S111), the process returns to step S10.

このように、キュー長が長くて読出レートを上げている間はLCが増加し続け、LCがLCth以上になったときはキュー長が長くても読出レートを下げるようにしたので、遅延時間の安定化とともに、読出レートが高くなった状態の長時間継続の回避による通信の安定化を実現することができる。 Thus, the LC continues to increase while the queue length is long and the read rate is increased, and when the LC is equal to or greater than LCth , the read rate is decreased even if the queue length is long. In addition, the stabilization of communication can be realized by avoiding long-term continuation in a state where the reading rate is high.

(第3の実施形態)
次に、第3の実施形態について説明する。第1の実施形態で3段階の読出レートを使い分けていたのに対し、第3の実施形態は、読出レートを連続的に変化させる点で相違している。
(Third embodiment)
Next, a third embodiment will be described. While the first embodiment uses three different read rates, the third embodiment is different in that the read rate is continuously changed.

図3の例における制御部9の処理について説明する。なお、以下では1つのキュー7についての処理を説明するが、実際にはその処理がすべてのキュー7に対して順番に行われる。また、図4の処理と同じ処理については同じステップ番号を付与し(例えば「ステップS10」)、重複説明を適宜省略する。   Processing of the control unit 9 in the example of FIG. 3 will be described. In the following, the processing for one queue 7 will be described, but actually, the processing is sequentially performed for all the queues 7. Further, the same processing as the processing of FIG. 4 is given the same step number (for example, “Step S10”), and redundant description is appropriately omitted.

図7に示すように、制御部9は、キュー7に対してクレジットを発行する(ステップS10)。
次に、制御部9は、キュー7におけるキュー長(パケットの総量)を「K」とし、キュー長に関する所定の規定値を「Kth」とし、「X=K/Kth」を設定する(ステップS21)。Kthとしては、例えば、図2における通常のキュー長である「2」のような数値を適用すればよい。
As shown in FIG. 7, the control unit 9 issues a credit to the queue 7 (step S10).
Next, the control unit 9 sets the queue length (total amount of packets) in the queue 7 to “K”, sets a predetermined specified value for the queue length to “K th ”, and sets “X = K / K th ” ( Step S21). As K th , for example, a numerical value such as “2” which is a normal queue length in FIG. 2 may be applied.

ステップS60〜S110は図4と同様なので説明を省略する。これらの処理により、例えば、キュー長が「0」であればクレジットはDCに加算されず、キュー長がKthの1.5倍であればクレジットの1.5倍の値がDCに加算される。 Steps S60 to S110 are the same as those in FIG. With these processes, for example, if the queue length is “0”, credits are not added to DC, and if the queue length is 1.5 times Kth , 1.5 times the credit is added to DC. The

このように、クレジットに乗算する係数である「X」に「K/Kth」を採用することで読出レートをダイナミックかつ細かく変更することができるので、キューごとのデータ送信の遅延時間をより一層安定させることができる。なお、この「X=K/Kth」は、第2の実施形態に適用してもよい。 In this way, by adopting “K / K th ” for “X” that is a coefficient for multiplying credit, the read rate can be dynamically and finely changed, so that the delay time of data transmission for each queue can be further increased. It can be stabilized. This “X = K / K th ” may be applied to the second embodiment.

図8に示すように、比較例(従来技術)の場合、受信レートが図のように変化するとき、送信レートは規定値未満のとき以外は規定値で一定に維持されるので、キュー長および遅延時間は受信レートの変化にほぼ連動する。   As shown in FIG. 8, in the case of the comparative example (prior art), when the reception rate changes as shown in the figure, the transmission rate is kept constant at the specified value except when it is less than the specified value. The delay time is almost linked to the change in the reception rate.

一方、図9に示すように、第3の実施形態の場合、受信レートが比較例のときと同じように変化するとき、送信レートは前記したようにキュー長が長くなると高くなるので受信レートにある程度連動する。それにより、キュー長も、比較例の場合に比べて緩やかな変化となる。そして、遅延時間は、前記コンセプトに従い一定となる。   On the other hand, as shown in FIG. 9, in the case of the third embodiment, when the reception rate changes in the same way as in the comparative example, the transmission rate becomes higher as the queue length becomes longer as described above. Linked to some extent. As a result, the queue length also changes more gradually than in the comparative example. The delay time is constant according to the concept.

なお、第1の実施形態および第2の実施形態の場合も、遅延時間が比較例の場合より格段に安定する。   In the case of the first embodiment and the second embodiment, the delay time is much more stable than in the comparative example.

また、本実施形態のデータ送信制御装置3は、コンピュータ装置に、前記した各処理のプログラムを実行させることで実現することができる。   In addition, the data transmission control device 3 of the present embodiment can be realized by causing a computer device to execute the program for each process described above.

以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、本発明は、ネットワークを経由しないロボットや遠隔医療におけるフィードバック制御の場合などにも適用することができる。
Although description of this embodiment is finished above, the aspect of the present invention is not limited to these.
For example, the present invention can be applied to a robot that does not pass through a network or feedback control in telemedicine.

また、遅延時間の長さは、適用分野や場面に応じて、例えば、数ミリ秒〜数百ミリ秒程度の値になるように、各数値を設定することで調節できる。
さらに、データがパケット形式でない場合にも適用できる。
Further, the length of the delay time can be adjusted by setting each numerical value so as to be a value of, for example, about several milliseconds to several hundred milliseconds according to the application field or scene.
Furthermore, the present invention can also be applied when data is not in a packet format.

また、DCやLC、およびそれらを用いた処理は、本発明にとって必須ではなく、使用の有無を適宜選択すればよい。また、DCやLCを使用する際に、DCthやLCthの値は、映像通信や、遠隔医療におけるフィードバック制御など、適用場面に応じて適宜自由に設定すればよい。 Moreover, DC and LC, and the process using them are not indispensable for this invention, and the presence or absence of use should just be selected suitably. Further, when using DC or LC, the values of DC th and LC th may be freely set as appropriate according to the application scene such as video communication or feedback control in telemedicine.

さらに、制御部9は、CPUにより実現するものとしたが、それ以外に、FPGA(Field Programmable Gate Array)などのLSI(Large Scale Integration)などによって実現してもよい。つまり、制御部9の機能は、ソフトウェアで実現してもよいし、ハードウェアで実現してもよい。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
Furthermore, although the control unit 9 is realized by a CPU, it may be realized by an LSI (Large Scale Integration) such as an FPGA (Field Programmable Gate Array). That is, the function of the control unit 9 may be realized by software or hardware.
In addition, about a concrete structure, it can change suitably in the range which does not deviate from the main point of this invention.

1 ネットワーク
2 端末
3 データ送信制御装置
4 データ受信部
5 データ振分部
6 記憶部
7 キュー
8 データ送信部
9 制御部
DESCRIPTION OF SYMBOLS 1 Network 2 Terminal 3 Data transmission control apparatus 4 Data receiving part 5 Data distribution part 6 Storage part 7 Queue 8 Data transmission part 9 Control part

Claims (5)

外部からデータを受信するデータ受信部と、
前記受信したデータをこのデータの送信先ごとに振り分けるデータ振分部と、
複数のキューを有し、前記送信先ごとに振り分けられたデータを、前記送信先ごとに対応したキューに格納する記憶部と、
前記複数のキューそれぞれに格納されたデータを前記送信先に向けて外部に送信するデータ送信部と、
前記記憶部のキューそれぞれに格納されたデータを前記データ送信部から外部に送信する場合の単位時間当たりのデータ量である送信レートを制御する制御部と、を備え、
前記制御部は、
前記キューごとに、格納されたデータ量が多いほど前記送信レートを高くするとともに、
前記複数のキューそれぞれの送信レートを、予め定められた複数段階のいずれかの送信レートで制御しており、
前記複数のキューそれぞれに関し、前記送信レートが所定段階以上である時間が所定時間継続した場合、当該送信レートを1段階以上低くする
ことを特徴とするデータ送信制御装置。
A data receiver for receiving data from the outside;
A data distribution unit that distributes the received data for each transmission destination of the data;
A storage unit having a plurality of queues, and storing data distributed to each destination in a queue corresponding to each destination;
A data transmission unit configured to transmit data stored in each of the plurality of queues to the transmission destination;
A control unit that controls a transmission rate that is a data amount per unit time when the data stored in each queue of the storage unit is transmitted from the data transmission unit to the outside, and
The controller is
For each queue, the greater the amount of data stored, the higher the transmission rate ,
The transmission rate of each of the plurality of queues is controlled at any one of a plurality of predetermined transmission rates,
The data transmission control device according to claim 1, wherein, for each of the plurality of queues, when the time during which the transmission rate is equal to or higher than a predetermined level continues for a predetermined time, the transmission rate is decreased by one level or more .
前記データは、パケット単位で送受信されており、
前記制御部は、前記キューごとに割り振られた帯域の大きさに比例した所定値であるクレジットの値に所定の係数を乗算した値を、前記キューそれぞれに対応するカウンタに加算して記憶し、前記カウンタに記憶された値の合計が当該キューにおいて次に送信するパケットのデータ量以上になったときに、当該キューにおける当該パケットを前記データ送信部から外部に送信するとともに、前記カウンタに記憶された値の合計から当該キューにおける当該パケットのデータ量を減算し、
前記所定の係数は、当該カウンタに対応するキューに格納されているパケットの総データ量に比例した係数である
ことを特徴とする請求項1に記載のデータ送信制御装置。
The data is transmitted and received in packet units,
The control unit adds a value obtained by multiplying a predetermined coefficient to a credit value, which is a predetermined value proportional to the size of the bandwidth allocated to each queue, to a counter corresponding to each of the queues, and stores the value. When the sum of the values stored in the counter exceeds the data amount of the next packet to be transmitted in the queue, the packet in the queue is transmitted from the data transmission unit to the outside and stored in the counter. Subtract the data amount of the packet in the queue from the sum of
The data transmission control device according to claim 1, wherein the predetermined coefficient is a coefficient proportional to a total data amount of packets stored in a queue corresponding to the counter.
外部からデータを受信するデータ受信部と、
前記受信したデータをこのデータの送信先ごとに振り分けるデータ振分部と、
複数のキューを有し、前記送信先ごとに振り分けられたデータを、前記送信先ごとに対応したキューに格納する記憶部と、
前記複数のキューそれぞれに格納されたデータを前記送信先に向けて外部に送信するデータ送信部と、
前記記憶部のキューそれぞれに格納されたデータを前記データ送信部から外部に送信する場合の単位時間当たりのデータ量である送信レートを制御する制御部と、を備えるデータ送信制御装置によるデータ送信制御方法であって、
前記制御部は、
前記キューごとに、格納されたデータ量が多いほど前記送信レートを高くするとともに、
前記複数のキューそれぞれの送信レートを、予め定められた複数段階のいずれかの送信レートで制御しており、
前記複数のキューそれぞれに関し、前記送信レートが所定段階以上である時間が所定時間継続した場合、当該送信レートを1段階以上低くする
ことを特徴とするデータ送信制御方法。
A data receiver for receiving data from the outside;
A data distribution unit that distributes the received data for each transmission destination of the data;
A storage unit having a plurality of queues, and storing data distributed to each destination in a queue corresponding to each destination;
A data transmission unit configured to transmit data stored in each of the plurality of queues to the transmission destination;
A data transmission control by a data transmission control device comprising: a control unit that controls a transmission rate that is a data amount per unit time when data stored in each queue of the storage unit is transmitted from the data transmission unit to the outside A method,
The controller is
For each queue, the greater the amount of data stored, the higher the transmission rate ,
The transmission rate of each of the plurality of queues is controlled at any one of a plurality of predetermined transmission rates,
A data transmission control method for reducing the transmission rate by one or more steps when the time during which the transmission rate is at or above a predetermined level continues for a predetermined time with respect to each of the plurality of queues .
前記データは、パケット単位で送受信されており、
前記制御部は、前記キューごとに割り振られた帯域の大きさに比例した所定値であるクレジットの値に所定の係数を乗算した値を、前記キューそれぞれに対応するカウンタに加算して記憶し、前記カウンタに記憶された値の合計が当該キューにおいて次に送信するパケットのデータ量以上になったときに、当該キューにおける当該パケットを前記データ送信部から外部に送信するとともに、前記カウンタに記憶された値の合計から当該キューにおける当該パケットのデータ量を減算し、
前記所定の係数は、当該カウンタに対応するキューに格納されているパケットの総データ量に比例した係数である
ことを特徴とする請求項に記載のデータ送信制御方法。
The data is transmitted and received in packet units,
The control unit adds a value obtained by multiplying a predetermined coefficient to a credit value, which is a predetermined value proportional to the size of the bandwidth allocated to each queue, to a counter corresponding to each of the queues, and stores the value. When the sum of the values stored in the counter exceeds the data amount of the next packet to be transmitted in the queue, the packet in the queue is transmitted from the data transmission unit to the outside and stored in the counter. Subtract the data amount of the packet in the queue from the sum of
The data transmission control method according to claim 3 , wherein the predetermined coefficient is a coefficient proportional to a total data amount of packets stored in a queue corresponding to the counter.
請求項3または請求項4に記載のデータ送信制御方法をコンピュータに実行させるためのデータ送信制御プログラム。 A data transmission control program for causing a computer to execute the data transmission control method according to claim 3 or 4 .
JP2009029028A 2009-02-10 2009-02-10 Data transmission control device, data transmission control method, and data transmission control program Expired - Fee Related JP5033150B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009029028A JP5033150B2 (en) 2009-02-10 2009-02-10 Data transmission control device, data transmission control method, and data transmission control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009029028A JP5033150B2 (en) 2009-02-10 2009-02-10 Data transmission control device, data transmission control method, and data transmission control program

Publications (2)

Publication Number Publication Date
JP2010187129A JP2010187129A (en) 2010-08-26
JP5033150B2 true JP5033150B2 (en) 2012-09-26

Family

ID=42767518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009029028A Expired - Fee Related JP5033150B2 (en) 2009-02-10 2009-02-10 Data transmission control device, data transmission control method, and data transmission control program

Country Status (1)

Country Link
JP (1) JP5033150B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6303452B2 (en) 2013-12-02 2018-04-04 富士通株式会社 Communication node

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002344509A (en) * 2001-05-17 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> Method for controlling readout rate of router and packet and its process program
CA2451764A1 (en) * 2001-07-05 2003-01-16 Sandburst Corporation Method and apparatus for allocating link bandwidth
JP3844449B2 (en) * 2002-05-31 2006-11-15 日本電信電話株式会社 Stream delivery method and apparatus
JP4574223B2 (en) * 2004-05-11 2010-11-04 日本電信電話株式会社 Packet processing device
JP4577230B2 (en) * 2006-02-17 2010-11-10 Kddi株式会社 Traffic control apparatus, method, and program using token bucket

Also Published As

Publication number Publication date
JP2010187129A (en) 2010-08-26

Similar Documents

Publication Publication Date Title
US7142508B2 (en) System and method for controlling data transfer rates on a network
EP2992652B1 (en) Managing bandwidth allocation among flows through assignment of drop priority
JP4309185B2 (en) Congestion control mechanism for streaming media
Bolot et al. A rate control mechanism for packet video in the Internet
US8259566B2 (en) Adaptive quality of service policy for dynamic networks
TWI680662B (en) Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device
CA2492882C (en) Data rate control
WO2008082599A1 (en) Hierarchical virtual queuing
Su et al. Smooth control of adaptive media playout for video streaming
US6952424B1 (en) Method and system for network processor scheduling outputs using queueing
US7155533B2 (en) Procedure and controller for a packet-oriented data network for the transmission of data in variable time slots
JP5033150B2 (en) Data transmission control device, data transmission control method, and data transmission control program
JP3937337B2 (en) Delivery rate control method and system
CN114979091B (en) Data transmission method, related device, equipment and storage medium
Shin et al. Quality of service for internet multimedia
KR101217208B1 (en) Method of control for a data transmission between the protocol layers in portable device
JP2009163440A (en) Load distribution method, load distribution system, load distribution server and load distribution program
JP3922567B2 (en) Packet transfer control system, packet transfer control method, program, and router
JP2005340922A (en) Real time remote communication system and communication quality controller
CN112737971A (en) Data processing method, device, storage medium and network equipment
Chakareski et al. Rate-distortion optimized packet scheduling over bottleneck links
Tunali et al. Robust quality adaptation for internet video streaming
TWI760171B (en) Bandwidth Management Methods
Hu et al. Scene aware smooth playout control for portable media players over random VBR channels
Abramova Analysis of the Impact of Priority Traffic Control Mechanisms on Network Quality of Service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110222

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120604

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: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120629

R150 Certificate of patent or registration of utility model

Ref document number: 5033150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees