JP5278157B2 - Transmission apparatus and transmission method - Google Patents

Transmission apparatus and transmission method Download PDF

Info

Publication number
JP5278157B2
JP5278157B2 JP2009119301A JP2009119301A JP5278157B2 JP 5278157 B2 JP5278157 B2 JP 5278157B2 JP 2009119301 A JP2009119301 A JP 2009119301A JP 2009119301 A JP2009119301 A JP 2009119301A JP 5278157 B2 JP5278157 B2 JP 5278157B2
Authority
JP
Japan
Prior art keywords
buffer
usage rate
reception
reception buffer
type
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
JP2009119301A
Other languages
Japanese (ja)
Other versions
JP2010268321A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009119301A priority Critical patent/JP5278157B2/en
Publication of JP2010268321A publication Critical patent/JP2010268321A/en
Application granted granted Critical
Publication of JP5278157B2 publication Critical patent/JP5278157B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a transmitter and a transmission method for preventing a depletion of a receiving buffer. <P>SOLUTION: The transmission method includes the steps of: periodically calculating a usage rate of a buffer memory; accumulating the calculated usage rate in a volatile memory; calculating a predicted usage rate based on the accumulated usage rate; adding the receiving buffer to a buffer pool, when the calculated predicted usage rate is larger than a risk threshold; and deleting the added receiving buffer from the buffer memory, when the predicted usage rate is smaller than a predetermined safety threshold. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、伝送装置および伝送方法に関する。   The present invention relates to a transmission apparatus and a transmission method.

従来、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)のようなネットワークプロトコルを使用するシステムでは、任意の装置から受信したパケットを他の送信先装置へ伝送する伝送装置が用いられる。   Conventionally, for example, in a system using a network protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol), a transmission device that transmits a packet received from an arbitrary device to another destination device is used.

このような伝送装置は、受信パケットを格納するためのバッファメモリを有し、パケットを受信するたびに、受信パケットをバッファメモリに格納するとともに、送信先装置へ受信パケットを送信する。そして、伝送装置は、送信先装置からパケットの受信が完了した旨の通知を受信した場合に、パケットが格納されているバッファメモリを解放する。   Such a transmission apparatus has a buffer memory for storing received packets, and each time a packet is received, the received packet is stored in the buffer memory and the received packet is transmitted to the transmission destination apparatus. Then, when the transmission apparatus receives a notification that the reception of the packet is completed from the transmission destination apparatus, the transmission apparatus releases the buffer memory in which the packet is stored.

ここで、図17および図18を用いて、従来の伝送装置によるバッファメモリの管理方式について説明する。図17および図18は、従来の伝送装置の構成例を示す図である。図17に示すように、従来の伝送装置910は、バッファプール911と、Ether HD(Ethernet(登録商標) Hard)912と、Etherドライバ913と、ネットワークドライバ914と、ネットワークプロトコル915とを有する。   Here, a buffer memory management method by a conventional transmission apparatus will be described with reference to FIGS. 17 and 18. 17 and 18 are diagrams illustrating a configuration example of a conventional transmission apparatus. As illustrated in FIG. 17, the conventional transmission apparatus 910 includes a buffer pool 911, an Ether HD (Ethernet (registered trademark) Hard) 912, an Ether driver 913, a network driver 914, and a network protocol 915.

バッファプール911は、複数の受信バッファを有するバッファメモリである。図17に示した例において、バッファプール911は、サイズが2048[Byte]である受信バッファを複数個有する。このようなバッファプール911の構成は、システム起動時に、伝送装置910によって決定される。例えば、図17に示した例において、伝送装置910は、起動時に、2048[Byte]の受信バッファを3000個生成することにより、バッファプール911を構築する。   The buffer pool 911 is a buffer memory having a plurality of reception buffers. In the example illustrated in FIG. 17, the buffer pool 911 includes a plurality of reception buffers having a size of 2048 [Bytes]. Such a configuration of the buffer pool 911 is determined by the transmission apparatus 910 when the system is started. For example, in the example illustrated in FIG. 17, the transmission apparatus 910 constructs the buffer pool 911 by generating 3000 reception buffers of 2048 [Byte] at the time of activation.

また、図17に示した例において、Ether HD912は、外部装置からパケットを受信する。Etherドライバ913は、Ether HD912によってパケットが受信された場合に、ネットワークドライバ914を起動し、受信パケットをネットワークドライバ914へ送信する。ネットワークドライバ914は、バッファプール911から受信バッファを捕捉して、捕捉した受信バッファに受信パケットを格納する。そして、ネットワークドライバ914は、受信パケットを格納した受信バッファをネットワークプロトコル915へ通知する。ネットワークプロトコル915は、所定の通信規格に則って伝送処理を行う。   In the example illustrated in FIG. 17, the Ether HD 912 receives a packet from an external device. The Ether driver 913 activates the network driver 914 and transmits the received packet to the network driver 914 when the packet is received by the Ether HD 912. The network driver 914 captures the reception buffer from the buffer pool 911 and stores the reception packet in the captured reception buffer. Then, the network driver 914 notifies the network protocol 915 of the reception buffer storing the received packet. The network protocol 915 performs transmission processing according to a predetermined communication standard.

続いて、図18に示した従来の伝送装置920について説明する。なお、ここでは、図17に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。図18に示すように、従来の伝送装置920は、バッファプール921を有する。   Next, the conventional transmission apparatus 920 shown in FIG. 18 will be described. Here, parts having the same functions as the constituent parts shown in FIG. 17 are denoted by the same reference numerals, and detailed description thereof is omitted. As shown in FIG. 18, the conventional transmission apparatus 920 has a buffer pool 921.

図18に示した例において、バッファプール921は、サイズの異なる複数種類の受信バッファを有する。具体的には、バッファプール921は、サイズが2048[Byte]である受信バッファと、サイズが1024[Byte]である受信バッファと、サイズが512[Byte]である受信バッファとを有する。すなわち、図18に示した従来の伝送装置920は、起動時に、2048[Byte]、1024[Byte]、512[Byte]の受信バッファを生成することにより、バッファプール921を構築する。   In the example shown in FIG. 18, the buffer pool 921 has a plurality of types of reception buffers having different sizes. Specifically, the buffer pool 921 includes a reception buffer having a size of 2048 [Bytes], a reception buffer having a size of 1024 [Bytes], and a reception buffer having a size of 512 [Bytes]. That is, the conventional transmission apparatus 920 shown in FIG. 18 constructs a buffer pool 921 by generating reception buffers of 2048 [Byte], 1024 [Byte], and 512 [Byte] at the time of activation.

このような構成の下、図18に示したネットワークドライバ924は、受信パケットのサイズが512[Byte]以下であれば、512[Byte]の受信バッファに受信パケットを格納する。また、ネットワークドライバ924は、受信パケットのサイズが512[Byte]より大きく、1024[Byte]以下であれば、1024[Byte]の受信バッファに受信パケットを格納する。また、ネットワークドライバ924は、受信パケットのサイズが1024[Byte]より大きく、2048[Byte]以下であれば、2048[Byte]の受信バッファに受信パケットを格納する。   Under such a configuration, if the size of the received packet is 512 [Bytes] or less, the network driver 924 illustrated in FIG. 18 stores the received packet in the 512 [Byte] reception buffer. Also, if the size of the received packet is larger than 512 [Bytes] and smaller than 1024 [Bytes], the network driver 924 stores the received packet in the 1024 [Byte] reception buffer. In addition, if the size of the received packet is larger than 1024 [Bytes] and equal to or smaller than 2048 [Bytes], the network driver 924 stores the received packet in the 2048 [Byte] reception buffer.

なお、近年では、受信パケットサイズの統計データを算定して、算定した統計データに基づいて、起動時に生成したバッファメモリ領域内で受信バッファの個数を動的に変更する技術が知られている。   In recent years, a technique has been known in which statistical data of a received packet size is calculated, and the number of reception buffers is dynamically changed in a buffer memory area generated at startup based on the calculated statistical data.

特開2005−84179号公報JP 2005-84179 A 特開平8−65353号公報JP-A-8-65353 特開昭63−158941号公報Japanese Unexamined Patent Publication No. 63-158941

しかしながら、上述した従来技術には、受信バッファが枯渇するおそれがあるという問題があった。具体的には、図17に示した伝送装置910のように、バッファプール921を同一サイズの受信バッファにより構築すると、小さいサイズのパケットがバーストした場合、メモリ容量としては余裕があるにも関わらず受信バッファが枯渇してしまう場合がある。   However, the above-described conventional technique has a problem that the reception buffer may be exhausted. Specifically, when the buffer pool 921 is constructed with the same size reception buffer as in the transmission apparatus 910 shown in FIG. 17, when a packet with a small size bursts, the memory capacity is not limited. The receive buffer may be exhausted.

例えば、図17に示した伝送装置910が、2048[Byte]の受信バッファを3000個有しているものとする。このような状態において、伝送装置910は、10[Byte]のパケットを受信した場合に、2048[Byte]の受信バッファに受信パケットを格納する。このとき、受信パケットが格納された受信バッファのうち、2038[Byte]のメモリ領域は不使用領域となる。すなわち、上記例において、伝送装置910が、例えば、10[Byte]のパケットを連続して3000個受信すると、全ての受信バッファが用いられてしまうので、受信バッファは枯渇してしまう。   For example, it is assumed that the transmission apparatus 910 illustrated in FIG. 17 has 3000 reception buffers of 2048 [Bytes]. In such a state, when the transmission apparatus 910 receives a 10 [Byte] packet, the transmission apparatus 910 stores the received packet in a 2048 [Byte] reception buffer. At this time, the memory area of 2038 [Byte] in the reception buffer storing the reception packet becomes an unused area. That is, in the above example, if the transmission apparatus 910 receives 3000 packets of 10 [Bytes] continuously, for example, all the reception buffers are used, and therefore the reception buffers are exhausted.

また、図18に示した伝送装置920のように、複数種類の受信バッファを用いる場合、バッファメモリは効率良く用いられるため、図17に示した例と比較すると受信バッファの枯渇は発生しにくいとも考えられる。しかし、どのようなサイズのパケットのバーストが発生するかは動的に刻々と変化するため、最適な受信バッファの個数を予測することは困難である。すなわち、システム起動における受信バッファの個数が最適であるとは限らない。このため、図18に示した伝送装置920を用いても、受信バッファの枯渇が発生するおそれがある。   In addition, when a plurality of types of reception buffers are used as in the transmission device 920 illustrated in FIG. 18, the buffer memory is used efficiently, so that it is unlikely that the reception buffer is exhausted as compared with the example illustrated in FIG. 17. Conceivable. However, it is difficult to predict the optimum number of reception buffers because the size of a burst of packets that changes dynamically changes every moment. That is, the number of reception buffers at system startup is not always optimal. For this reason, even if the transmission apparatus 920 shown in FIG. 18 is used, the reception buffer may be exhausted.

また、上述した受信バッファの個数を動的に変更する技術を用いると、サイズの異なる複数種類のパケットが同時にバーストした場合に、受信バッファの枯渇が発生するおそれがある。例えば、2048[Byte]、1024[Byte]、512[Byte]の受信バッファを有する場合において、複数種類のパケットが同時にバーストしたものとする。かかる場合、上記従来技術を用いて受信バッファを再構築しても受信バッファが枯渇するという問題を解消することができない。   In addition, when the above-described technique for dynamically changing the number of reception buffers is used, when a plurality of types of packets having different sizes burst at the same time, the reception buffers may be exhausted. For example, in the case of having reception buffers of 2048 [Byte], 1024 [Byte], and 512 [Byte], it is assumed that a plurality of types of packets burst simultaneously. In such a case, even if the reception buffer is reconstructed using the conventional technique, the problem that the reception buffer is exhausted cannot be solved.

開示の技術は、上記に鑑みてなされたものであって、受信バッファの枯渇を防止することができる伝送装置および伝送方法を提供することを目的とする。   The disclosed technology has been made in view of the above, and an object thereof is to provide a transmission apparatus and a transmission method that can prevent the reception buffer from being exhausted.

本願の開示する伝送装置は、一つの態様において、受信パケットを記憶するサイズの異なる複数種類の受信バッファを複数有するバッファメモリと、パケットを受信するたびに前記バッファメモリの使用率を受信バッファの種類ごとに算出する算出部と、所定の監視周期が経過するたびに、前記算出部によって算出された使用率に基づいて、前記バッファメモリの使用率の変動量を算出し、算出した変動量に基づいて前記バッファメモリにおける将来の使用率である予測使用率を受信バッファの種類ごとに予測する予測部と、前記予測部によって予測された予測使用率が所定の危険閾値より大きい受信バッファの種類が存在する場合に、前記バッファメモリに該受信バッファの種類に対応するサイズの受信バッファを追加するメモリ管理部とを備え、前記算出部は、前記バッファメモリの使用率の増加率が所定の増加率閾値よりも大きい場合に、短期的に使用率が増加したことを示す短期増加フラグを設定し、前記予測部は、前記算出部によって短期増加フラグが設定され、かつ、前記予測部によって予測された予測使用率が所定の安全閾値より小さい受信バッファの種類が存在する場合に、該受信バッファの種類に対応するサイズの受信バッファの一部を前記バッファメモリから削除するTransmission device disclosed in the application, in one embodiment, a buffer memory having a plurality of receive buffers of a plurality of types having different sizes for storing the received packet, the type of the receive buffer utilization of the buffer memory each time it receives a packet A calculation unit that calculates each time, and a fluctuation amount of the usage rate of the buffer memory is calculated based on the usage rate calculated by the calculation unit every time a predetermined monitoring period elapses, and based on the calculated fluctuation amount there are prediction unit and the type of the predicted predicted usage reception is greater than the predetermined danger threshold buffer by the prediction unit for predicting predicted utilization is utilization of future for each type of the reception buffer in the buffer memory Te when a memory management unit for adding the receive buffer size corresponding to the type of the receiving buffer in the buffer memory Wherein the calculation unit, when the rate of increase in utilization of the buffer memory is larger than the predetermined increase rate threshold, set the short-term increase flag indicating that short term usage increases, the prediction unit When the short-term increase flag is set by the calculation unit and there is a reception buffer type whose predicted usage rate predicted by the prediction unit is smaller than a predetermined safety threshold, the size corresponding to the reception buffer type A part of the reception buffer is deleted from the buffer memory .

本願の開示する伝送装置の一つの態様によれば、受信バッファの枯渇を防止することができるという効果を奏する。   According to one aspect of the transmission device disclosed in the present application, it is possible to prevent the reception buffer from being exhausted.

図1は、使用率が急激に高くなる状況を説明するための図である。FIG. 1 is a diagram for explaining a situation where the usage rate increases rapidly. 図2は、使用率が緩やかに高くなる状況を説明するための図である。FIG. 2 is a diagram for explaining a situation where the usage rate gradually increases. 図3は、実施例1に係る伝送装置の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of the transmission apparatus according to the first embodiment. 図4は、監視データの一例を示す図である。FIG. 4 is a diagram illustrating an example of monitoring data. 図5は、監視周期データおよび増加フラグの一例を示す図である。FIG. 5 is a diagram illustrating an example of monitoring cycle data and an increase flag. 図6は、最適パタンデータの一例を示す図である。FIG. 6 is a diagram illustrating an example of the optimum pattern data. 図7は、起動時における伝送装置の構成例を示す図である。FIG. 7 is a diagram illustrating a configuration example of the transmission apparatus at the time of activation. 図8は、実施例1に係る伝送装置によるパケット受信処理手順を示すフローチャートである。FIG. 8 is a flowchart illustrating the packet reception processing procedure performed by the transmission apparatus according to the first embodiment. 図9は、実施例1におけるスケジューリング部によるスケジューリング処理手順を示すフローチャートである。FIG. 9 is a flowchart illustrating a scheduling processing procedure by the scheduling unit according to the first embodiment. 図10は、実施例1におけるバッファプール制御部によるバッファプール制御処理手順を示すフローチャートである。FIG. 10 is a flowchart illustrating a buffer pool control processing procedure by the buffer pool control unit according to the first embodiment. 図11は、実施例1における最適バッファパタン予測部による短期用パタン計算処理手順を示すフローチャートである。FIG. 11 is a flowchart illustrating a short-term pattern calculation processing procedure by the optimum buffer pattern prediction unit according to the first embodiment. 図12は、実施例1における最適バッファパタン予測部による長期用パタン計算処理手順を示すフローチャートである。FIG. 12 is a flowchart illustrating a long-term pattern calculation processing procedure by the optimum buffer pattern prediction unit according to the first embodiment. 図13は、実施例1における最適バッファパタン予測部による追加用予測処理手順を示すフローチャートである。FIG. 13 is a flowchart illustrating the additional prediction processing procedure performed by the optimum buffer pattern prediction unit according to the first embodiment. 図14は、実施例1における最適バッファパタン予測部による削除用予測処理手順を示すフローチャートである。FIG. 14 is a flowchart illustrating a deletion prediction processing procedure by the optimum buffer pattern prediction unit according to the first embodiment. 図15は、実施例1に係る伝送装置による起動処理手順を示すフローチャートである。FIG. 15 is a flowchart illustrating the activation processing procedure performed by the transmission apparatus according to the first embodiment. 図16は、追加処理および削除処理を同時に行う場合における最適バッファパタン予測部による短期用パタン計算処理手順を示すフローチャートである。FIG. 16 is a flowchart showing a short-term pattern calculation processing procedure by the optimum buffer pattern prediction unit when the addition process and the deletion process are performed simultaneously. 図17は、従来の伝送装置の構成例を示す図である。FIG. 17 is a diagram illustrating a configuration example of a conventional transmission apparatus. 図18は、従来の伝送装置の構成例を示す図である。FIG. 18 is a diagram illustrating a configuration example of a conventional transmission apparatus.

以下に、本願の開示する伝送装置および伝送方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願の開示する伝送装置および伝送方法が限定されるものではない。以下の実施例に示す伝送装置は、例えば、基地局や、ルータなどに適用することができる。   Hereinafter, embodiments of a transmission device and a transmission method disclosed in the present application will be described in detail with reference to the drawings. The transmission apparatus and the transmission method disclosed in the present application are not limited by this embodiment. The transmission apparatus shown in the following embodiments can be applied to, for example, a base station or a router.

まず、実施例1に係る伝送装置100について説明する。実施例1に係る伝送装置100は、パケットを受信するたびにバッファメモリの使用率を算出する。そして、伝送装置100は、所定の監視周期が経過するたびに、算出した使用率に基づいて、バッファメモリの使用率の変動量を算出し、算出した変動量に基づいて将来の使用率を予測する。そして、伝送装置100は、予測した使用率が所定の危険閾値より大きい場合に、メモリ内のヒープ領域やリザーブ領域などの空き領域を受信バッファとして確保し、確保した受信バッファをバッファメモリに追加する。また、伝送装置100は、予測した使用率が所定の安全閾値より小さい場合に、追加した受信バッファをバッファメモリから削除して、ヒープ領域やリザーブ領域に解放する。   First, the transmission apparatus 100 according to the first embodiment will be described. The transmission apparatus 100 according to the first embodiment calculates the buffer memory usage rate each time a packet is received. Then, every time a predetermined monitoring period elapses, the transmission apparatus 100 calculates the fluctuation amount of the buffer memory usage rate based on the calculated usage rate, and predicts the future usage rate based on the calculated fluctuation amount. To do. Then, when the predicted usage rate is larger than the predetermined risk threshold, the transmission apparatus 100 secures a free area such as a heap area or a reserved area in the memory as a reception buffer, and adds the secured reception buffer to the buffer memory. . In addition, when the predicted usage rate is smaller than the predetermined safety threshold, the transmission device 100 deletes the added reception buffer from the buffer memory and releases it to the heap area or the reserved area.

これにより、実施例1に係る伝送装置100は、システム稼働中においても、刻々と変化するパケットの受信状況に応じて、受信バッファを動的に生成することができる。その結果、実施例1に係る伝送装置100は、受信バッファの枯渇を防止することができる。   As a result, the transmission apparatus 100 according to the first embodiment can dynamically generate a reception buffer according to the reception status of packets that change every moment even during the operation of the system. As a result, the transmission apparatus 100 according to the first embodiment can prevent the reception buffer from being exhausted.

また、実施例1に係る伝送装置100は、使用率に応じて、上述した監視周期を変動させる。具体的には、伝送装置100は、受信バッファの各種類に対応する使用率のうち、最も高い使用率(以下、「最大使用率」と言う)が大きいほど監視周期を小さい値にし、最大使用率が小さいほど監視周期を大きい値にする。   Further, the transmission apparatus 100 according to the first embodiment varies the monitoring cycle described above according to the usage rate. Specifically, the transmission apparatus 100 sets the monitoring cycle to a smaller value as the highest usage rate (hereinafter referred to as “maximum usage rate”) among the usage rates corresponding to each type of reception buffer, and the maximum usage rate. The smaller the rate, the larger the monitoring period.

このため、伝送装置100は、使用率が高い場合に、短い監視周期でバッファプールを監視するので、受信バッファの枯渇に対して即座に対応することができる。また、伝送装置100は、使用率が低い場合に、長い監視周期でバッファプールを監視するので、監視負荷を低減することができる。   For this reason, since the transmission apparatus 100 monitors the buffer pool with a short monitoring cycle when the usage rate is high, it can immediately cope with the depletion of the reception buffer. Moreover, since the transmission apparatus 100 monitors the buffer pool with a long monitoring cycle when the usage rate is low, the monitoring load can be reduced.

また、実施例1に係る伝送装置100は、使用率が短時間で急激に増加したか否かを判定して、受信バッファの削除処理を行うか否かを決定する。具体的には、伝送装置100は、使用率が急激に増加したために受信バッファを追加した場合、その後に、使用率が低下したならば受信バッファを削除する。一方、伝送装置100は、使用率が長時間にわたって徐々に増加したために受信バッファを追加した場合、その後に受信バッファを削除しない。   Also, the transmission apparatus 100 according to the first embodiment determines whether or not the usage rate has increased rapidly in a short time, and determines whether or not to perform the reception buffer deletion process. Specifically, the transmission apparatus 100 deletes the reception buffer when the usage rate decreases after the reception buffer is added because the usage rate has rapidly increased. On the other hand, if the reception buffer is added because the usage rate has gradually increased over a long period of time, the transmission apparatus 100 does not delete the reception buffer thereafter.

このように削除処理を行うか否かを判断する理由について、図1及び図2を用いて説明する。図1は、使用率が急激に高くなる状況を説明するための図である。また、図2は、使用率が緩やかに高くなる状況を説明するための図である。なお、図1および図2において、縦軸はバッファメモリの使用率を示し、横軸は、時間経過を示す。   The reason for determining whether or not to perform the deletion process will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram for explaining a situation where the usage rate increases rapidly. FIG. 2 is a diagram for explaining a situation in which the usage rate gradually increases. 1 and 2, the vertical axis indicates the buffer memory usage rate, and the horizontal axis indicates the passage of time.

図1に示した例では、まず、最初に使用率が短時間で急激に増加している。その後、使用率は徐々に低くなっていき、所定の値に戻っている。このような状況は、一般に、災害や、祭りなどのイベントなどが行われる場合に発生することが考えられる。したがって、図1に示した例のように、使用率が短時間で急激に増加する場合、一般に、使用率は徐々に低くなっていく。そこで、実施例1に係る伝送装置100は、図1に示した例のように、使用率が短時間で急激に増加する場合、使用率増加時に受信バッファをバッファプールに追加し、使用率低下時にバッファプールから受信バッファを削除する処理を行う。すなわち、伝送装置100は、受信バッファの枯渇が発生する可能性がある時間帯のみ、受信バッファをバッファプールに追加する。   In the example shown in FIG. 1, first, the usage rate increases rapidly in a short time. Thereafter, the usage rate gradually decreases and returns to a predetermined value. Such a situation can generally occur when an event such as a disaster or a festival is held. Therefore, when the usage rate increases rapidly in a short time as in the example shown in FIG. 1, the usage rate generally decreases gradually. Therefore, the transmission apparatus 100 according to the first embodiment adds a reception buffer to the buffer pool when the usage rate increases, as in the example illustrated in FIG. Sometimes delete the receive buffer from the buffer pool. In other words, the transmission apparatus 100 adds the reception buffer to the buffer pool only during a time period in which the reception buffer may be exhausted.

一方、図2に示した例では、使用率が緩やかに増加している。そして、その後は、使用率が低下することなく、所定の値にとどまっている。このような状況は、一般に、人口増加時などに発生することが考えられる。したがって、図2に示した例のように、使用率が徐々に増加する場合、一般に、使用率はその後に低くなっていくケースはほとんどない。そこで、実施例1に係る伝送装置100は、図2に示した例のように、使用率が徐々に増加する場合、使用率増加時に受信バッファをバッファプールに追加するが、バッファプールから受信バッファを削除する処理は行わない。   On the other hand, in the example shown in FIG. 2, the usage rate increases moderately. Thereafter, the usage rate does not decrease and remains at a predetermined value. Such a situation can generally occur when the population increases. Therefore, as in the example shown in FIG. 2, when the usage rate gradually increases, generally, there is almost no case where the usage rate decreases thereafter. Therefore, as in the example illustrated in FIG. 2, the transmission apparatus 100 according to the first embodiment adds a reception buffer to the buffer pool when the usage rate increases when the usage rate gradually increases. The process of deleting is not performed.

以下に、上述した伝送装置100について詳細に説明する。   Hereinafter, the transmission apparatus 100 described above will be described in detail.

[実施例1に係る伝送装置の構成]
次に、図3を用いて、実施例1に係る伝送装置100の構成について説明する。図3は、実施例1に係る伝送装置100の構成例を示す図である。図3に示すように、伝送装置100は、Ether HD111と、Etherドライバ112と、ネットワークドライバ120と、ネットワークプロトコル130と、バッファプール140と、使用率算出部150と、揮発性メモリ160と、CPU171と、不揮発性メモリ173と、Timer172と、OS180と、バッファプール制御部191と、最適バッファパタン予測部192とを有する。
[Configuration of Transmission Apparatus According to First Embodiment]
Next, the configuration of the transmission apparatus 100 according to the first embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating a configuration example of the transmission apparatus 100 according to the first embodiment. As illustrated in FIG. 3, the transmission apparatus 100 includes an Ether HD 111, an Ether driver 112, a network driver 120, a network protocol 130, a buffer pool 140, a usage rate calculation unit 150, a volatile memory 160, and a CPU 171. A non-volatile memory 173, a Timer 172, an OS 180, a buffer pool control unit 191, and an optimum buffer pattern prediction unit 192.

Ether HD111は、外部装置からパケットを受信するインタフェースである。Etherドライバ112は、Ether HD111によってパケットが受信された場合に、ネットワークドライバ120を起動し、受信パケットをネットワークドライバ120へ送信する。   The Ether HD 111 is an interface that receives a packet from an external device. The Ether driver 112 activates the network driver 120 when a packet is received by the Ether HD 111 and transmits the received packet to the network driver 120.

ネットワークドライバ120は、バッファプール140から受信バッファを捕捉して、Etherドライバ112から受け付けた受信パケットを、捕捉した受信バッファに格納するとともに、使用率算出部150を起動する。このとき、ネットワークドライバ120は、受信パケットのサイズに基づいて、捕捉する受信バッファを決定する。例えば、ネットワークドライバ120は、1800[Byte]のパケットを受信した場合、2048[Byte]の受信バッファを捕捉して、捕捉した受信バッファに受信パケットを格納する。   The network driver 120 captures the reception buffer from the buffer pool 140, stores the received packet received from the Ether driver 112 in the captured reception buffer, and activates the usage rate calculation unit 150. At this time, the network driver 120 determines a reception buffer to be captured based on the size of the reception packet. For example, when the network driver 120 receives a 1800 [Byte] packet, the network driver 120 captures a 2048 [Byte] reception buffer and stores the received packet in the captured reception buffer.

また、ネットワークドライバ120は、受信パケットを格納した受信バッファをネットワークプロトコル130へ通知する。ネットワークプロトコル130は、所定の通信規格に則って伝送処理を行う。   Further, the network driver 120 notifies the network protocol 130 of the reception buffer storing the received packet. The network protocol 130 performs transmission processing according to a predetermined communication standard.

バッファプール140は、サイズの異なる複数種類の受信バッファを有する。図3に示した例において、バッファプール140は、サイズが2048[Byte]である受信バッファと、サイズが1024[Byte]である受信バッファと、サイズが512[Byte]である受信バッファとを有する。   The buffer pool 140 has a plurality of types of reception buffers having different sizes. In the example illustrated in FIG. 3, the buffer pool 140 includes a reception buffer having a size of 2048 [Bytes], a reception buffer having a size of 1024 [Bytes], and a reception buffer having a size of 512 [Bytes]. .

なお、図3には図示することを省略したが、伝送装置100は、バッファプール140の他に、ヒープ領域やリザーブ領域などに用いるメモリを有する。このようなヒープ領域およびリザーブ領域は、コンパイラやリンカによって割り当てられる領域であり、主にプログラムが動的に可変長のメモリ領域を要求する場合に用いられる。すなわち、ヒープ領域およびリザーブ領域は、OS(Operating System)やアプリケーションソフトなどのプログラムによって自由に確保される空き領域である。   Although not shown in FIG. 3, the transmission apparatus 100 includes a memory used for a heap area, a reserved area, and the like in addition to the buffer pool 140. Such heap area and reserve area are areas allocated by a compiler and a linker, and are mainly used when a program dynamically requests a variable-length memory area. That is, the heap area and the reserved area are free areas that are freely secured by programs such as an OS (Operating System) and application software.

使用率算出部150は、ネットワークドライバ120によって受信パケットがバッファプール140に格納されるたびに、バッファプール140の使用率、および、監視周期などを算出する。以下に、使用率算出部150の処理について具体的に説明する。   The usage rate calculation unit 150 calculates the usage rate, the monitoring cycle, and the like of the buffer pool 140 each time a received packet is stored in the buffer pool 140 by the network driver 120. Hereinafter, the processing of the usage rate calculation unit 150 will be specifically described.

使用率算出部150は、受信パケットがバッファプール140に格納されるたびに、受信バッファの種類ごとに、受信パケットが格納されている受信バッファの個数を、受信バッファの総数で除算することにより、受信バッファの使用率を算出する。   The usage rate calculation unit 150 divides the number of reception buffers storing reception packets by the total number of reception buffers for each type of reception buffer every time reception packets are stored in the buffer pool 140. Calculate the usage rate of the receive buffer.

例えば、バッファプール140が、2048[Byte]の受信バッファを100個有しているものとする。また、2048[Byte]の受信バッファのうち、20個の受信バッファに受信パケットが格納されているものとする。かかる場合、使用率算出部150は、受信パケットが格納されている受信バッファの個数「20」を、受信バッファの総数「100」で除算することにより、2048[Byte]の受信バッファの使用率として、「20%」を算出する。同様に、使用率算出部150は、1024[Byte]および512[Byte]の受信バッファについても使用率を算出する。   For example, it is assumed that the buffer pool 140 has 100 reception buffers of 2048 [Bytes]. In addition, it is assumed that reception packets are stored in 20 reception buffers of 2048 [Byte] reception buffers. In this case, the usage rate calculation unit 150 divides the number of reception buffers “20” in which received packets are stored by the total number of reception buffers “100”, thereby obtaining the usage rate of the reception buffer of 2048 [Bytes]. , “20%” is calculated. Similarly, the usage rate calculation unit 150 calculates the usage rate for the reception buffers of 1024 [Byte] and 512 [Byte].

そして、使用率算出部150は、算出した使用率を揮発性メモリ160に記憶させる。このとき、使用率算出部150は、パケットを受信した時刻に対応付けて、受信バッファの種類ごとに使用率を揮発性メモリ160に記憶させる。なお、以下では、使用率算出部150によって揮発性メモリ160に記憶される使用率の情報を「監視データ」と表記するものとする。   Then, the usage rate calculation unit 150 stores the calculated usage rate in the volatile memory 160. At this time, the usage rate calculation unit 150 stores the usage rate in the volatile memory 160 for each type of reception buffer in association with the time when the packet is received. Hereinafter, the usage rate information stored in the volatile memory 160 by the usage rate calculation unit 150 is referred to as “monitoring data”.

また、使用率算出部150は、使用率を算出した後に、受信バッファの種類ごとに算出した各使用率から最大使用率を抽出して、抽出した最大使用率に基づいて監視周期を決定する。具体的には、使用率算出部150は、最大使用率が大きいほど監視周期を小さい値にし、最大使用率が小さいほど監視周期を大きい値にすることを決定し、決定した監視周期を不揮発性メモリ173に記憶させる。なお、以下では、使用率算出部150によって不揮発性メモリ173に記憶される監視周期を「監視周期データ」と表記するものとする。   In addition, after calculating the usage rate, the usage rate calculation unit 150 extracts the maximum usage rate from each usage rate calculated for each type of reception buffer, and determines a monitoring cycle based on the extracted maximum usage rate. Specifically, the usage rate calculation unit 150 determines that the monitoring cycle is set to a smaller value as the maximum usage rate is higher, and the monitoring cycle is set to a higher value as the maximum usage rate is lower. It is stored in the memory 173. Hereinafter, the monitoring period stored in the nonvolatile memory 173 by the usage rate calculation unit 150 is referred to as “monitoring period data”.

例えば、使用率算出部150が、最大使用率が「30%」である場合、監視周期を「6時間」に決定し、最大使用率が「50%」である場合、監視周期を「1時間」に決定し、最大使用率が「90%」である場合、監視周期を「3分」に決定するものとする。また、ここでは、2048[Byte]の受信バッファの使用率が「30%」であり、1024[Byte]の受信バッファの使用率が「90%」であり、512[Byte]の受信バッファの使用率が「10%」であるものとする。   For example, when the maximum usage rate is “30%”, the usage rate calculation unit 150 determines the monitoring cycle to be “6 hours”, and when the maximum usage rate is “50%”, the monitoring cycle is set to “1 hour”. When the maximum usage rate is “90%”, the monitoring cycle is determined to be “3 minutes”. Here, the usage rate of the reception buffer of 2048 [Byte] is “30%”, the usage rate of the reception buffer of 1024 [Byte] is “90%”, and the usage rate of the reception buffer of 512 [Byte] is used. It is assumed that the rate is “10%”.

かかる場合、使用率算出部150は、最大使用率として、「90%」を抽出する。そして、使用率算出部150は、抽出した最大使用率が「90%」であるので、監視周期を「3分」にすることを決定する。   In such a case, the usage rate calculation unit 150 extracts “90%” as the maximum usage rate. Then, since the extracted maximum usage rate is “90%”, the usage rate calculation unit 150 determines to set the monitoring cycle to “3 minutes”.

また、使用率算出部150は、使用率を算出した後に、受信バッファの種類ごとに、使用率の増加率を算出する。続いて、使用率算出部150は、受信バッファの種類ごとに算出した各増加率から、最も高い増加率(以下、「最大増加率」と言う)を抽出する。そして、使用率算出部150は、抽出した最大増加率が所定の増加率閾値よりも大きい場合に、短時間で使用率が増加したことを示す短期増加フラグを、不揮発性メモリ173に記憶させる。一方、使用率算出部150は、最大増加率が増加率閾値以下である場合に、長時間にわたって使用率が徐々に増加したことを示す長期増加フラグを、不揮発性メモリ173に記憶させる。なお、以下では、使用率算出部150によって不揮発性メモリ173に記憶される長期増加フラグまたは短期増加フラグを「増加フラグ」と表記するものとする。   In addition, after calculating the usage rate, the usage rate calculation unit 150 calculates an increase rate of the usage rate for each type of reception buffer. Subsequently, the usage rate calculation unit 150 extracts the highest increase rate (hereinafter, referred to as “maximum increase rate”) from each increase rate calculated for each type of reception buffer. Then, when the extracted maximum increase rate is larger than a predetermined increase rate threshold, the usage rate calculation unit 150 stores a short-term increase flag indicating that the usage rate has increased in a short time in the nonvolatile memory 173. On the other hand, when the maximum increase rate is equal to or less than the increase rate threshold, the usage rate calculation unit 150 stores a long-term increase flag indicating that the usage rate has gradually increased over a long period of time in the nonvolatile memory 173. Hereinafter, the long-term increase flag or the short-term increase flag stored in the nonvolatile memory 173 by the usage rate calculation unit 150 is referred to as an “increase flag”.

揮発性メモリ160は、上述した監視データを記憶する。図4に、監視データの一例を示す。図4に示すように、監視データは、パケットを受信した時刻に対応付けて、受信バッファの種類ごとに使用率を記憶する。   The volatile memory 160 stores the monitoring data described above. FIG. 4 shows an example of the monitoring data. As shown in FIG. 4, the monitoring data stores the usage rate for each type of reception buffer in association with the time when the packet is received.

図4に示した例は、時刻「10時00分00秒」において、2048[Byte]、1024[Byte]、512[Byte]の受信バッファの使用率が全て「10%」であったことを示している。また、図4に示した例は、時刻「10時10分00秒」において、2048[Byte]、1024[Byte]、512[Byte]の受信バッファの使用率が、それぞれ「70%」、「30%」、「10%」であったことを示している。   In the example shown in FIG. 4, at the time “10:00:00”, the usage rates of the reception buffers of 2048 [Byte], 1024 [Byte], and 512 [Byte] are all “10%”. Show. In the example shown in FIG. 4, at the time “10:10:00”, the usage rates of the reception buffers of 2048 [Byte], 1024 [Byte], and 512 [Byte] are “70%”, “ 30% "and" 10% ".

CPU(Central Processing Unit)171は、伝送装置100を全体制御し、例えば、使用率算出部150や、OS180等の各部を制御する。Timer172は、後述するOS180に対してタイマー割り込みを行う。   A CPU (Central Processing Unit) 171 controls the transmission apparatus 100 as a whole, and controls, for example, each unit such as the usage rate calculation unit 150 and the OS 180. The Timer 172 issues a timer interrupt to the OS 180 described later.

不揮発性メモリ173は、監視周期データ、増加フラグ、最適パタンデータなどを記憶する。具体的には、不揮発性メモリ173は、使用率算出部150によって監視周期データおよび増加フラグが記憶される。   The nonvolatile memory 173 stores monitoring cycle data, an increase flag, optimum pattern data, and the like. Specifically, in the nonvolatile memory 173, the monitoring period data and the increase flag are stored by the usage rate calculation unit 150.

図5に、不揮発性メモリ173が記憶する監視周期データおよび増加フラグの一例を示す。図5に示した例では、不揮発性メモリ173は、監視周期データとして「180」を記憶し、増加フラグとして「1」を記憶している。   FIG. 5 shows an example of monitoring cycle data and an increase flag stored in the nonvolatile memory 173. In the example illustrated in FIG. 5, the nonvolatile memory 173 stores “180” as monitoring cycle data and “1” as an increase flag.

なお、図5に示した例において、監視周期データは秒単位の数値が記憶されるものとする。すなわち、図5に示した例では、不揮発性メモリ173は、監視周期データとして「180秒(3分)」を記憶している。また、図5に示した例において、増加フラグが「1」である場合、短期増加フラグであることを示し、増加フラグが「2」である場合、長期増加フラグであることを示すものとする。すなわち、図5に示した例では、不揮発性メモリ173は、増加フラグとして「短期増加フラグ」を記憶している。   In the example shown in FIG. 5, it is assumed that the monitoring cycle data stores a numerical value in units of seconds. That is, in the example illustrated in FIG. 5, the nonvolatile memory 173 stores “180 seconds (3 minutes)” as the monitoring cycle data. In the example shown in FIG. 5, when the increase flag is “1”, it indicates a short-term increase flag, and when the increase flag is “2”, it indicates a long-term increase flag. . That is, in the example illustrated in FIG. 5, the nonvolatile memory 173 stores a “short-term increase flag” as the increase flag.

また、不揮発性メモリ173は、後述するバッファプール制御部191によって最適パタンデータが記憶される。ここで言う「最適パタンデータ」とは、受信バッファが追加または削除された後におけるバッファプール140が有する受信バッファの個数を示す。かかる最適パタンデータは、伝送装置100が再起動する場合に用いられる。伝送装置100による再起動処理については、図7を用いて後に説明する。   The nonvolatile memory 173 stores optimum pattern data by a buffer pool control unit 191 described later. Here, the “optimum pattern data” indicates the number of reception buffers that the buffer pool 140 has after the reception buffer is added or deleted. Such optimum pattern data is used when the transmission apparatus 100 is restarted. The restart process by the transmission apparatus 100 will be described later with reference to FIG.

図6に、不揮発性メモリ173が記憶する最適パタンデータの一例を示す。図6に示した例では、不揮発性メモリ173は、2048[Byte]の受信バッファの個数として「100個」を記憶している。また、不揮発性メモリ173は、1024[Byte]の受信バッファの個数として「200個」を記憶し、512[Byte]の受信バッファの個数として「300個」を記憶している。   FIG. 6 shows an example of the optimum pattern data stored in the nonvolatile memory 173. In the example illustrated in FIG. 6, the nonvolatile memory 173 stores “100” as the number of 2048 [Byte] reception buffers. The non-volatile memory 173 stores “200” as the number of reception buffers of 1024 [Bytes], and stores “300” as the number of reception buffers of 512 [Bytes].

すなわち、図6に示した最適パタンデータは、バッファプール140が、2048[Byte]、1024[Byte]、512[Byte]の受信バッファを、それぞれ「100個」、「200個」、「300個」有することが最適であることを示している。   That is, the optimum pattern data shown in FIG. 6 is that the buffer pool 140 has 2048 [Byte], 1024 [Byte], and 512 [Byte] reception buffers of “100”, “200”, and “300”, respectively. "It is optimal to have."

OS180は、伝送装置100に搭載される基本ソフトウェアであり、伝送装置100全体を管理する。かかるOS180は、スケジューリング部181と、メモリ管理部182とを有する。   The OS 180 is basic software installed in the transmission apparatus 100 and manages the entire transmission apparatus 100. The OS 180 includes a scheduling unit 181 and a memory management unit 182.

スケジューリング部181は、不揮発性メモリ173に記憶されている監視周期データに基づいて、バッファプール制御部191を起動する。例えば、不揮発性メモリ173が図5に示した状態であるものとする。かかる場合、スケジューリング部181は、不揮発性メモリ173から監視周期データ「180」を読み出す。そして、スケジューリング部181は、「180秒(3分)」ごとに、バッファプール制御部191を起動する。   The scheduling unit 181 activates the buffer pool control unit 191 based on the monitoring cycle data stored in the nonvolatile memory 173. For example, it is assumed that the nonvolatile memory 173 is in the state shown in FIG. In such a case, the scheduling unit 181 reads the monitoring cycle data “180” from the nonvolatile memory 173. Then, the scheduling unit 181 activates the buffer pool control unit 191 every “180 seconds (3 minutes)”.

メモリ管理部182は、バッファプール140に対して、受信バッファの追加処理および削除処理を行う。具体的には、メモリ管理部182は、後述するバッファプール制御部191から、追加または削除する受信バッファの種類およびサイズを受け付けた場合に、CPU171に対して、割り込み禁止信号を発行する。続いて、メモリ管理部182は、バッファプール制御部191から受け付けた受信バッファの種類およびサイズに基づいて、受信バッファの追加および削除を行う。その後、メモリ管理部182は、CPU171に対して、割り込み禁止解除信号を発行する。   The memory management unit 182 performs reception buffer addition processing and deletion processing on the buffer pool 140. Specifically, the memory management unit 182 issues an interrupt prohibition signal to the CPU 171 when receiving the type and size of the reception buffer to be added or deleted from the buffer pool control unit 191 described later. Subsequently, the memory management unit 182 adds and deletes the reception buffer based on the type and size of the reception buffer received from the buffer pool control unit 191. Thereafter, the memory management unit 182 issues an interrupt prohibition release signal to the CPU 171.

なお、受信バッファの追加処理または削除処理を行う場合に、CPU171に対して割り込み禁止信号を発行する理由は、受信バッファの追加処理中や削除処理中に、追加対象の受信バッファや削除対象の受信バッファを用いられないようにするためである。   Note that the reason why the interrupt prohibition signal is issued to the CPU 171 when the reception buffer addition processing or deletion processing is performed is that the reception buffer to be added or the reception of the deletion target is received during the reception buffer addition processing or deletion processing. This is to prevent the buffer from being used.

バッファプール制御部191は、最適バッファパタン予測部192と連動して、バッファプール140に追加または削除する受信バッファの種類およびサイズを算出し、算出した受信バッファの種類およびサイズをメモリ管理部182に通知する。なお、バッファプール制御部191および最適バッファパタン予測部192による処理については、図10〜図14を用いて詳細に説明する。   The buffer pool control unit 191 calculates the type and size of the reception buffer to be added to or deleted from the buffer pool 140 in conjunction with the optimum buffer pattern prediction unit 192, and stores the calculated type and size of the reception buffer in the memory management unit 182. Notice. The processing by the buffer pool control unit 191 and the optimum buffer pattern prediction unit 192 will be described in detail with reference to FIGS.

[実施例1に係る伝送装置による起動処理]
次に、実施例1に係る伝送装置100による起動処理について説明する。図7は、起動時における伝送装置100の構成例を示す図である。なお、図7に例示した伝送装置100は、図3に示した伝送装置100と同様の装置であるが、図7には、起動処理に関連する処理部のみを図示する。
[Startup Process by Transmission Device According to Embodiment 1]
Next, a startup process performed by the transmission apparatus 100 according to the first embodiment will be described. FIG. 7 is a diagram illustrating a configuration example of the transmission apparatus 100 at the time of activation. The transmission apparatus 100 illustrated in FIG. 7 is the same apparatus as the transmission apparatus 100 illustrated in FIG. 3, but FIG. 7 illustrates only a processing unit related to the startup process.

図7に示した伝送装置100において、記憶部210は、OSや各種アプリケーションを形成する各種プログラム群を記憶する。CPU171は、伝送装置100が起動される場合に、リセットベクタによりBOOTプログラム220を起動する。   In the transmission apparatus 100 illustrated in FIG. 7, the storage unit 210 stores various program groups that form an OS and various applications. When the transmission apparatus 100 is activated, the CPU 171 activates the BOOT program 220 using the reset vector.

BOOTプログラム220は、カーネルローダ230を起動する。カーネルローダ230は、カーネルをメモリに展開し、初期化部240を起動する。なお、上述したカーネルローダ230は、IPL(Initial Program Loader)であってもよい。   The BOOT program 220 activates the kernel loader 230. The kernel loader 230 expands the kernel in the memory and activates the initialization unit 240. Note that the kernel loader 230 described above may be an IPL (Initial Program Loader).

初期化部240は、不揮発性メモリ173に最適パタンデータが記憶されている場合に、不揮発性メモリ173に記憶されている最適パタンデータに基づいて、バッファプール140内に受信バッファを生成する。   When the optimum pattern data is stored in the nonvolatile memory 173, the initialization unit 240 generates a reception buffer in the buffer pool 140 based on the optimum pattern data stored in the nonvolatile memory 173.

例えば、不揮発性メモリ173が、図6に示した状態であるものとする。かかる場合、初期化部240は、バッファプール140に、2048[Byte]の受信バッファを「100個」生成し、1024[Byte]の受信バッファを「200個」生成し、512[Byte]の受信バッファを「300個」生成する。   For example, it is assumed that the nonvolatile memory 173 is in the state shown in FIG. In this case, the initialization unit 240 generates “100” reception buffers of 2048 [Bytes] in the buffer pool 140, generates “200” reception buffers of 1024 [Bytes], and receives 512 [Bytes]. Generate “300” buffers.

一方、初期化部240は、不揮発性メモリ173に最適パタンデータが記憶されていない場合に、システムデータからパタンデータを読み出し、読み出したパタンデータに基づいて、バッファプール140内に受信バッファを生成する。なお、ここで言う「システムデータ」とは、伝送装置100に予め各種情報の初期値などが記憶される領域を示す。すなわち、システムデータに記憶されているパタンデータとは、伝送装置100が生成する受信バッファの個数の初期値を示す。   On the other hand, when the optimum pattern data is not stored in the nonvolatile memory 173, the initialization unit 240 reads the pattern data from the system data, and generates a reception buffer in the buffer pool 140 based on the read pattern data. . Here, “system data” refers to an area in which initial values of various information are stored in advance in the transmission apparatus 100. That is, the pattern data stored in the system data indicates an initial value of the number of reception buffers generated by the transmission apparatus 100.

上述したように、バッファプール制御部191は、バッファプール140に対して受信バッファの追加処理や削除処理を行った場合に、変更後の受信バッファの個数を、最適パタンデータとして不揮発性メモリ173に記憶する。これにより、伝送装置100は、人為的に再起動が行われる場合や、障害時などに再起動が行われる場合であっても、不揮発性メモリ173に記憶されている最適パタンデータに基づいて、受信バッファを生成することができる。すなわち、伝送装置100は、シャットダウン前におけるバッファプール140の構成を再現することができる。   As described above, when the buffer pool control unit 191 performs the process of adding or deleting the reception buffer with respect to the buffer pool 140, the number of reception buffers after the change is stored in the nonvolatile memory 173 as the optimum pattern data. Remember. Thereby, the transmission apparatus 100 is based on the optimum pattern data stored in the non-volatile memory 173 even when it is manually restarted or when it is restarted in the event of a failure. A receive buffer can be generated. That is, the transmission apparatus 100 can reproduce the configuration of the buffer pool 140 before the shutdown.

[実施例1に係る伝送装置による処理手順]
次に、図8〜図15を用いて、実施例1に係る伝送装置100による各種処理の手順について説明する。
[Processing Procedure by Transmission Device According to Embodiment 1]
Next, procedures of various processes performed by the transmission apparatus 100 according to the first embodiment will be described with reference to FIGS.

[パケット受信処理手順]
まず、図8を用いて、実施例1に係る伝送装置100によるパケット受信処理の手順について説明する。図8は、実施例1に係る伝送装置100によるパケット受信処理手順を示すフローチャートである。
[Packet reception processing procedure]
First, the procedure of packet reception processing by the transmission apparatus 100 according to the first embodiment will be described with reference to FIG. FIG. 8 is a flowchart illustrating a packet reception processing procedure performed by the transmission apparatus 100 according to the first embodiment.

図8に示すように、伝送装置100のEtherドライバ112は、Ether HD111によってパケットが受信された場合に(ステップS101肯定)、ネットワークドライバ120を起動する。   As illustrated in FIG. 8, the Ether driver 112 of the transmission apparatus 100 activates the network driver 120 when a packet is received by the Ether HD 111 (Yes in Step S101).

ネットワークドライバ120は、受信パケットのサイズに基づいて、捕捉する受信バッファを決定し、捕捉した受信バッファに受信パケットを格納するとともに(ステップS102)、使用率算出部150を起動する。   The network driver 120 determines a reception buffer to be captured based on the size of the reception packet, stores the reception packet in the captured reception buffer (step S102), and activates the usage rate calculation unit 150.

ネットワークドライバ120によって起動された使用率算出部150は、バッファプール140の使用率を算出して、算出した使用率を、パケットを受信した時刻に対応付けて、揮発性メモリ160に記憶させる(ステップS103)。このとき、使用率算出部150は、受信パケットの種類ごとに、使用率を揮発性メモリ160に記憶させる。   The usage rate calculation unit 150 activated by the network driver 120 calculates the usage rate of the buffer pool 140, and stores the calculated usage rate in the volatile memory 160 in association with the time when the packet is received (Step S1). S103). At this time, the usage rate calculation unit 150 stores the usage rate in the volatile memory 160 for each type of received packet.

また、使用率算出部150は、受信バッファの種類ごとに算出した各使用率から最大使用率を抽出し、抽出した最大使用率に基づいて監視周期を決定する(ステップS104)。具体的には、使用率算出部150は、最大使用率が大きいほど監視周期を小さい値にし、最大使用率が小さいほど監視周期を大きい値にすることを決定する。   Also, the usage rate calculation unit 150 extracts the maximum usage rate from each usage rate calculated for each type of reception buffer, and determines a monitoring cycle based on the extracted maximum usage rate (step S104). Specifically, the usage rate calculation unit 150 determines that the monitoring cycle is set to a smaller value as the maximum usage rate is higher, and the monitoring cycle is set to a higher value as the maximum usage rate is lower.

続いて、使用率算出部150は、受信バッファの種類ごとに、使用率の増加率を算出する。続いて、使用率算出部150は、受信バッファの種類ごとに算出した使用率の増加率から、最大増加率を抽出する。そして、使用率算出部150は、抽出した最大増加率が所定の増加率閾値よりも大きい場合に(ステップS105肯定)、増加フラグを短期増加フラグにすることを決定する(ステップS106)。一方、使用率算出部150は、最大増加率が増加率閾値以下である場合に(ステップS105否定)、増加フラグを長期増加フラグにすることを決定する(ステップS107)。   Subsequently, the usage rate calculation unit 150 calculates an increase rate of the usage rate for each type of reception buffer. Subsequently, the usage rate calculation unit 150 extracts the maximum increase rate from the increase rate of the usage rate calculated for each type of reception buffer. Then, when the extracted maximum increase rate is larger than the predetermined increase rate threshold (Yes at Step S105), the usage rate calculation unit 150 determines to set the increase flag as a short-term increase flag (Step S106). On the other hand, when the maximum increase rate is equal to or less than the increase rate threshold (No at Step S105), the usage rate calculation unit 150 determines to set the increase flag as the long-term increase flag (Step S107).

そして、使用率算出部150は、上記ステップ104において決定した監視周期を、不揮発性メモリ173に記憶させる(ステップS108)。また、使用率算出部150は、上記ステップS106またはステップS107において決定した増加フラグを不揮発性メモリ173に記憶させる(ステップS108)。   Then, the usage rate calculation unit 150 stores the monitoring cycle determined in step 104 in the nonvolatile memory 173 (step S108). In addition, the usage rate calculation unit 150 stores the increase flag determined in Step S106 or Step S107 in the nonvolatile memory 173 (Step S108).

[スケジューリング処理手順]
次に、図9を用いて、実施例1におけるスケジューリング部181によるスケジューリング処理の手順について説明する。図9は、実施例1におけるスケジューリング部181によるスケジューリング処理手順を示すフローチャートである。
[Scheduling procedure]
Next, the procedure of the scheduling process by the scheduling unit 181 according to the first embodiment will be described with reference to FIG. FIG. 9 is a flowchart illustrating a scheduling process procedure performed by the scheduling unit 181 according to the first embodiment.

図9に示すように、伝送装置100のスケジューリング部181は、まず、不揮発性メモリ173から監視周期データを読み出して監視周期を取得する(ステップS201)。そして、スケジューリング部181は、取得した監視周期が経過した場合に(ステップS202肯定)、バッファプール制御部191を起動する(ステップS203)。スケジューリング部181は、監視周期が経過するたびに(ステップS202肯定)、バッファプール制御部191を起動する(ステップS203)。   As illustrated in FIG. 9, the scheduling unit 181 of the transmission apparatus 100 first reads the monitoring cycle data from the nonvolatile memory 173 and acquires the monitoring cycle (step S201). Then, when the acquired monitoring cycle has elapsed (Yes at Step S202), the scheduling unit 181 activates the buffer pool control unit 191 (Step S203). The scheduling unit 181 activates the buffer pool control unit 191 every time the monitoring cycle elapses (Yes at Step S202) (Step S203).

スケジューリング部181によって起動されたバッファプール制御部191は、バッファプール制御処理を実行する(ステップS204)。なお、バッファプール制御部191によるバッファプール制御処理については、図10を用いて後に説明する。   The buffer pool control unit 191 activated by the scheduling unit 181 executes buffer pool control processing (step S204). The buffer pool control process by the buffer pool control unit 191 will be described later with reference to FIG.

[バッファプール制御処理手順]
次に、図10を用いて、図9のステップS204におけるバッファプール制御処理の手順について説明する。図10は、実施例1におけるバッファプール制御部191によるバッファプール制御処理手順を示すフローチャートである。
[Buffer pool control processing procedure]
Next, the procedure of the buffer pool control process in step S204 of FIG. 9 will be described using FIG. FIG. 10 is a flowchart illustrating the buffer pool control processing procedure by the buffer pool control unit 191 in the first embodiment.

図10に示すように、バッファプール制御部191は、不揮発性メモリ173に記憶されている増加フラグが短期増加フラグである場合に(ステップS301短期増加フラグ)、最適バッファパタン予測部192を起動して、短期用パタン計算処理を行わせる(ステップS302)。なお、最適バッファパタン予測部192による短期用パタン計算処理については、図11を用いて後に説明する。   As illustrated in FIG. 10, when the increase flag stored in the nonvolatile memory 173 is a short-term increase flag (step S301 short-term increase flag), the buffer pool control unit 191 activates the optimum buffer pattern prediction unit 192. Thus, a short-term pattern calculation process is performed (step S302). The short-term pattern calculation processing by the optimum buffer pattern prediction unit 192 will be described later with reference to FIG.

一方、バッファプール制御部191は、不揮発性メモリ173に記憶されている増加フラグが長期増加フラグである場合に(ステップS301長期増加フラグ)、最適バッファパタン予測部192を起動して、長期用パタン計算処理を行わせる(ステップS303)。なお、最適バッファパタン予測部192による長期用パタン計算処理については、図12を用いて後に説明する。   On the other hand, when the increase flag stored in the non-volatile memory 173 is a long-term increase flag (step S301 long-term increase flag), the buffer pool control unit 191 activates the optimum buffer pattern prediction unit 192 and sets the long-term pattern. Calculation processing is performed (step S303). The long-term pattern calculation processing by the optimum buffer pattern prediction unit 192 will be described later with reference to FIG.

ここで、最適バッファパタン予測部192は、短期用パタン計算処理又は長期用パタン計算処理を行うことにより、受信バッファを追加すると判定した場合、バッファプール140を変更する旨の情報を、バッファプール制御部191に通知する。このとき、最適バッファパタン予測部192は、追加する受信バッファの種類と、追加する受信バッファの個数(以下、「追加個数」と言う)とをバッファプール制御部191に通知する。   Here, the optimum buffer pattern prediction unit 192 performs the short-term pattern calculation process or the long-term pattern calculation process, and determines that the buffer pool 140 is to be changed when it is determined that the reception buffer is to be added. Notification to the unit 191. At this time, the optimum buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of the type of reception buffer to be added and the number of reception buffers to be added (hereinafter referred to as “additional number”).

また、最適バッファパタン予測部192は、受信バッファを削除すると判定した場合、バッファプール140を変更する旨の情報を、バッファプール制御部191に通知する。このとき、最適バッファパタン予測部192は、削除する受信バッファの種類と、削除する受信バッファの個数(以下、「削除個数」と言う)とをバッファプール制御部191に通知する。   Further, when it is determined that the reception buffer is to be deleted, the optimum buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of information indicating that the buffer pool 140 is to be changed. At this time, the optimum buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of the type of reception buffer to be deleted and the number of reception buffers to be deleted (hereinafter referred to as “deletion number”).

また、最適バッファパタン予測部192は、バッファプール140に対して、受信バッファの追加処理および削除処理を行わないと判定した場合、バッファプール140を変更しない旨の情報をバッファプール制御部191に通知する。   Also, if the optimum buffer pattern prediction unit 192 determines that the reception buffer addition processing and deletion processing are not performed on the buffer pool 140, the optimal buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of information indicating that the buffer pool 140 is not changed. To do.

そして、バッファプール制御部191は、最適バッファパタン予測部192から、バッファプール140を変更しない旨の情報を受け付けた場合(ステップS304否定)、処理を終了する。   When the buffer pool control unit 191 receives information indicating that the buffer pool 140 is not changed from the optimum buffer pattern prediction unit 192 (No in step S304), the buffer pool control unit 191 ends the processing.

一方、バッファプール制御部191は、最適バッファパタン予測部192から、バッファプール140を変更する旨の情報を受け付けた場合に(ステップS304肯定)、かかる変更処理が、追加処理、または、削除処理のいずれであるかを判定する(ステップS305)。   On the other hand, when the buffer pool control unit 191 receives information indicating that the buffer pool 140 is to be changed from the optimum buffer pattern prediction unit 192 (Yes in step S304), the change processing is performed as addition processing or deletion processing. It is determined which one (step S305).

変更処理が追加処理である場合(ステップS305追加)、バッファプール制御部191は、最適バッファパタン予測部192から受け付けた追加個数に基づいて、追加する受信バッファのサイズを、受信バッファの種類ごとに算出する(ステップS306)。そして、バッファプール制御部191は、算出した受信バッファのサイズと、受信バッファの種類との組合せをメモリ管理部182に通知する。   When the change process is an addition process (step S305 addition), the buffer pool control unit 191 determines the size of the reception buffer to be added for each type of reception buffer based on the additional number received from the optimum buffer pattern prediction unit 192. Calculate (step S306). Then, the buffer pool control unit 191 notifies the memory management unit 182 of the combination of the calculated reception buffer size and the reception buffer type.

バッファプール制御部191から受信バッファのサイズと種類との組合せを受け付けたメモリ管理部182は、CPU171に対して、割り込み禁止信号を発行する(ステップS307)。続いて、メモリ管理部182は、メモリのヒープ領域およびリザーブ領域のうち、バッファプール制御部191から受け付けた受信バッファのサイズ分の領域を受信バッファとして確保し、確保した受信バッファをバッファプール140に追加する(ステップS308)。続いて、メモリ管理部182は、CPU171に対して、割り込み禁止解除信号を発行する(ステップS309)。   The memory management unit 182 that has received the combination of the size and type of the reception buffer from the buffer pool control unit 191 issues an interrupt prohibition signal to the CPU 171 (step S307). Subsequently, the memory management unit 182 secures, as a reception buffer, an area corresponding to the size of the reception buffer received from the buffer pool control unit 191 among the heap area and the reserve area of the memory, and stores the secured reception buffer in the buffer pool 140. It adds (step S308). Subsequently, the memory management unit 182 issues an interrupt prohibition release signal to the CPU 171 (step S309).

メモリ管理部182による受信バッファ変更処理が完了した場合に(ステップS310肯定)、バッファプール制御部191は、変更処理後のバッファプール140のバッファパタンを、最適パタンデータとして不揮発性メモリ173に記憶させる(ステップS311)。   When the reception buffer change processing by the memory management unit 182 is completed (Yes at Step S310), the buffer pool control unit 191 stores the buffer pattern of the buffer pool 140 after the change processing in the nonvolatile memory 173 as optimum pattern data. (Step S311).

一方、変更処理が削除処理である場合(ステップS305削除)、バッファプール制御部191は、最適バッファパタン予測部192から受け付けた削除個数に基づいて、削除する受信バッファのサイズを、受信バッファの種類ごとに算出する(ステップS312)。   On the other hand, when the change process is a deletion process (deletion at step S305), the buffer pool control unit 191 determines the size of the reception buffer to be deleted based on the number of deletions received from the optimum buffer pattern prediction unit 192, and the type of reception buffer. It calculates for every (step S312).

続いて、バッファプール制御部191は、バッファプール140から、上記ステップS312において算出したサイズ分の受信バッファを削除したと仮定した場合に、受信バッファのサイズが初期値以上であるか否かを判定する(ステップS313)。なお、バッファプール制御部191は、ステップS313における判定処理を、受信バッファの種類ごとに行う。   Subsequently, the buffer pool control unit 191 determines whether or not the size of the reception buffer is equal to or larger than the initial value when it is assumed that the reception buffer of the size calculated in step S312 is deleted from the buffer pool 140. (Step S313). The buffer pool control unit 191 performs the determination process in step S313 for each type of reception buffer.

そして、削除後の受信バッファのサイズが初期値よりも小さくなる場合(ステップS313否定)、バッファプール制御部191は、処理を終了する。一方、削除後のバッファプール140の受信バッファが初期値以上になる場合(ステップS313肯定)、バッファプール制御部191は、ステップS312において算出したサイズと、受信バッファの種類との組合せをメモリ管理部182に通知する。   If the size of the reception buffer after deletion is smaller than the initial value (No at Step S313), the buffer pool control unit 191 ends the process. On the other hand, when the reception buffer of the buffer pool 140 after the deletion is equal to or larger than the initial value (Yes at Step S313), the buffer pool control unit 191 sets the combination of the size calculated at Step S312 and the type of the reception buffer to the memory management unit 182 is notified.

続いて、メモリ管理部182は、CPU171に対して、割り込み禁止信号を発行し(ステップS307)、バッファプール140から、バッファプール制御部191から受け付けたサイズ分の領域を削除する(ステップS308)。続いて、メモリ管理部182は、CPU171に対して、割り込み禁止解除信号を発行する(ステップS309)。   Subsequently, the memory management unit 182 issues an interrupt prohibition signal to the CPU 171 (step S307), and deletes an area for the size received from the buffer pool control unit 191 from the buffer pool 140 (step S308). Subsequently, the memory management unit 182 issues an interrupt prohibition release signal to the CPU 171 (step S309).

そして、メモリ管理部182による受信バッファ変更処理が完了した場合に(ステップS310肯定)、バッファプール制御部191は、変更処理後のバッファプール140のバッファパタンを、最適パタンデータとして不揮発性メモリ173に記憶させる(ステップS311)。   When the reception buffer changing process by the memory management unit 182 is completed (Yes at Step S310), the buffer pool control unit 191 stores the buffer pattern of the buffer pool 140 after the changing process in the nonvolatile memory 173 as optimum pattern data. Store (step S311).

[短期用パタン計算処理手順]
次に、図11を用いて、図10のステップS302における短期用パタン計算処理の手順について説明する。図11は、実施例1における最適バッファパタン予測部192による短期用パタン計算処理手順を示すフローチャートである。
[Short-term pattern calculation processing procedure]
Next, the procedure of the short-term pattern calculation process in step S302 of FIG. 10 will be described with reference to FIG. FIG. 11 is a flowchart illustrating a short-term pattern calculation processing procedure by the optimum buffer pattern prediction unit 192 according to the first embodiment.

図11に示すように、最適バッファパタン予測部192は、短期用パタン計算処理を行う場合に、まず、短期監視用閾値をシステムデータから読み出す(ステップS401)。短期監視用閾値は、所定の範囲の値であり、例えば、「30%〜60%」といった値である。   As shown in FIG. 11, when performing the short-term pattern calculation process, the optimum buffer pattern prediction unit 192 first reads out the short-term monitoring threshold value from the system data (step S401). The short-term monitoring threshold is a value in a predetermined range, for example, a value such as “30% to 60%”.

続いて、最適バッファパタン予測部192は、使用率が短期監視用閾値の上限を超えている受信バッファの種類が存在するか否かを判定する(ステップS402)。例えば、上記例のように、短期監視用閾値が「30%〜60%」である場合、最適バッファパタン予測部192は、使用率が短期監視用閾値の上限「60%」を超えている受信バッファの種類が存在するか否かを判定する。   Subsequently, the optimum buffer pattern prediction unit 192 determines whether or not there is a type of reception buffer whose usage rate exceeds the upper limit of the short-term monitoring threshold (step S402). For example, when the short-term monitoring threshold is “30% to 60%” as in the above example, the optimum buffer pattern prediction unit 192 receives the usage rate exceeding the upper limit “60%” of the short-term monitoring threshold. It is determined whether or not a buffer type exists.

短期監視用閾値の上限を超えている受信バッファの種類が存在する場合(ステップS402肯定)、最適バッファパタン予測部192は、短期監視用閾値の上限を超えている受信バッファの種類について、追加用予測処理を行う(ステップS403)。最適バッファパタン予測部192は、追加用予測処理の結果、追加処理を行うと判定した場合、現状の受信バッファの合計サイズと、追加する受信バッファのサイズとの比率(以下、「追加比率」という)を算出する。なお、最適バッファパタン予測部192による追加用予測処理については、図13を用いて、後に説明する。   When there is a type of reception buffer that exceeds the upper limit of the short-term monitoring threshold (Yes in step S402), the optimum buffer pattern predicting unit 192 adds an additional buffer type that exceeds the upper limit of the short-term monitoring threshold. A prediction process is performed (step S403). When the optimum buffer pattern prediction unit 192 determines that the addition process is to be performed as a result of the prediction process for addition, the ratio between the current total size of the reception buffer and the size of the reception buffer to be added (hereinafter referred to as “addition ratio”). ) Is calculated. Note that the additional prediction processing by the optimum buffer pattern prediction unit 192 will be described later with reference to FIG.

続いて、最適バッファパタン予測部192は、追加用予測処理の結果、追加処理を行わないと判定した場合(ステップS404否定)、処理を終了する。一方、最適バッファパタン予測部192は、追加処理を行うと判定した場合(ステップS404肯定)、追加用予測処理において算出した追加比率に基づいて、バッファプール140に追加する受信バッファの個数と、受信バッファの種類とを決定する(ステップS405)。   Subsequently, when the optimum buffer pattern prediction unit 192 determines that the addition process is not performed as a result of the prediction process for addition (No at Step S404), the process ends. On the other hand, if the optimum buffer pattern prediction unit 192 determines that the additional process is to be performed (Yes in step S404), the number of reception buffers to be added to the buffer pool 140 based on the additional ratio calculated in the additional prediction process, and the reception The type of buffer is determined (step S405).

例えば、最適バッファパタン予測部192が、追加用予測処理の結果、512[Byte]の受信バッファを追加すると判定したものとする。また、ここでは、最適バッファパタン予測部192が、追加比率として「10%」を算出したものとする。かかる場合、最適バッファパタン予測部192は、512[Byte]の受信バッファが、現状よりも「10%」増加するように、追加する受信バッファの個数を算出する。例えば、現状の512[Byte]の受信バッファが合計51200[Byte]である場合、最適バッファパタン予測部192は、「10%」増加させるために、追加する受信バッファの個数として「10個」を算出する。   For example, it is assumed that the optimum buffer pattern prediction unit 192 determines to add a 512 [Byte] reception buffer as a result of the prediction process for addition. Here, it is assumed that the optimum buffer pattern prediction unit 192 calculates “10%” as the additional ratio. In such a case, the optimum buffer pattern prediction unit 192 calculates the number of reception buffers to be added so that the reception buffer of 512 [Bytes] increases by “10%” from the current state. For example, when the current 512 [Byte] reception buffers are 51200 [Byte] in total, the optimum buffer pattern prediction unit 192 increases “10%” as the number of reception buffers to be added in order to increase “10%”. calculate.

続いて、最適バッファパタン予測部192は、ステップS405において決定した受信バッファの個数にマージンを加算する(ステップS406)。続いて、最適バッファパタン予測部192は、バッファプール140を変更する旨の情報と、追加する受信バッファの種類と、追加個数とをバッファプール制御部191に通知する(ステップS407)。   Subsequently, the optimum buffer pattern prediction unit 192 adds a margin to the number of reception buffers determined in step S405 (step S406). Subsequently, the optimum buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of information indicating that the buffer pool 140 is to be changed, the type of reception buffer to be added, and the number of additions (step S407).

一方、最適バッファパタン予測部192は、短期監視用閾値の上限を超えている受信バッファの種類が存在しない場合(ステップS402否定)、使用率が短期監視用閾値の下限より小さいか否かを、受信バッファの種類ごとに判定する(ステップS408)。例えば、上記例のように、短期監視用閾値が「30%〜60%」である場合、最適バッファパタン予測部192は、使用率が短期監視用閾値の下限「30%」より小さいか否かを、受信バッファの種類ごとに判定する。   On the other hand, when there is no type of reception buffer that exceeds the upper limit of the short-term monitoring threshold (No in step S402), the optimum buffer pattern prediction unit 192 determines whether the usage rate is smaller than the lower limit of the short-term monitoring threshold. A determination is made for each type of reception buffer (step S408). For example, when the short-term monitoring threshold is “30% to 60%” as in the above example, the optimum buffer pattern prediction unit 192 determines whether the usage rate is smaller than the lower limit “30%” of the short-term monitoring threshold. Is determined for each type of reception buffer.

使用率が短期監視用閾値の下限より小さい受信バッファが存在しない場合(ステップS408否定)、最適バッファパタン予測部192は、処理を終了する。一方、使用率が短期監視用閾値の下限より小さい受信バッファが存在する場合(ステップS408肯定)、最適バッファパタン予測部192は、使用率が短期監視用閾値の下限より小さい受信バッファの種類について、削除用予測処理を行う(ステップS409)。最適バッファパタン予測部192は、削除用予測処理の結果、削除処理を行うと判定した場合、現状の受信バッファの合計サイズと、削除する受信バッファのサイズとの比率(以下、「削除比率」という)を算出する。なお、最適バッファパタン予測部192による削除用予測処理については、図14を用いて、後に説明する。   If there is no reception buffer whose usage rate is smaller than the lower limit of the short-term monitoring threshold (No at step S408), the optimum buffer pattern prediction unit 192 ends the process. On the other hand, when there is a reception buffer whose usage rate is smaller than the lower limit of the short-term monitoring threshold (Yes in step S408), the optimum buffer pattern prediction unit 192 uses the reception buffer type whose usage rate is smaller than the lower limit of the short-term monitoring threshold. A deletion prediction process is performed (step S409). If the optimum buffer pattern prediction unit 192 determines that the deletion process is to be performed as a result of the deletion prediction process, the optimal buffer pattern prediction unit 192 is a ratio between the current total size of the reception buffer and the size of the reception buffer to be deleted (hereinafter referred to as “deletion ratio”) ) Is calculated. The deletion prediction process performed by the optimum buffer pattern prediction unit 192 will be described later with reference to FIG.

続いて、最適バッファパタン予測部192は、削除用予測処理の結果、削除処理を行わないと判定した場合(ステップS410否定)、処理を終了する。一方、最適バッファパタン予測部192は、削除処理を行うと判定した場合(ステップS410肯定)、削除用予測処理において算出した削除比率に基づいて、バッファプール140から削除する受信バッファの個数と、受信バッファの種類とを決定する(ステップS411)。   Subsequently, when it is determined that the deletion process is not performed as a result of the deletion prediction process (No in step S410), the optimum buffer pattern prediction unit 192 ends the process. On the other hand, when it is determined that the deletion process is to be performed (Yes in step S410), the optimum buffer pattern prediction unit 192 determines the number of reception buffers to be deleted from the buffer pool 140 based on the deletion ratio calculated in the deletion prediction process, and the reception The type of buffer is determined (step S411).

続いて、最適バッファパタン予測部192は、バッファプール140を変更する旨の情報と、削除する受信バッファの種類と、削除個数とをバッファプール制御部191に通知する(ステップS412)。   Subsequently, the optimum buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of information indicating that the buffer pool 140 is to be changed, the type of reception buffer to be deleted, and the number of deletions (step S412).

このように、実施例1に係る伝送装置100は、1回の処理において、バッファプール140に対する受信バッファの追加処理または削除処理のいずれか一方のみを行う。言い換えれば、伝送装置100は、受信バッファの追加処理と削除処理とを同時に行わない。これは、追加処理と削除処理とを同時に行うと、バッファプール140に対する受信バッファの変更処理が煩雑になる可能性があるからである。ただし、図11に示した処理手順のように、伝送装置100は、削除処理よりも追加処理を優先的に行うので、受信バッファの枯渇を防止することができる。   As described above, the transmission apparatus 100 according to the first embodiment performs only one of the reception buffer addition process and the deletion process for the buffer pool 140 in one process. In other words, the transmission apparatus 100 does not perform the reception buffer addition process and the deletion process at the same time. This is because if the addition process and the deletion process are performed simultaneously, the process of changing the reception buffer for the buffer pool 140 may become complicated. However, as in the processing procedure illustrated in FIG. 11, the transmission apparatus 100 preferentially performs the addition process over the deletion process, and thus can prevent the reception buffer from being exhausted.

[長期用パタン計算処理手順]
次に、図12を用いて、図10のステップS303における長期用パタン計算処理の手順について説明する。図12は、実施例1における最適バッファパタン予測部192による長期用パタン計算処理手順を示すフローチャートである。
[Long-term pattern calculation processing procedure]
Next, the procedure of the long-term pattern calculation process in step S303 in FIG. 10 will be described with reference to FIG. FIG. 12 is a flowchart illustrating a long-term pattern calculation processing procedure by the optimum buffer pattern prediction unit 192 according to the first embodiment.

図12に示すように、最適バッファパタン予測部192は、長期用パタン計算処理を行う場合に、まず、長期監視用閾値をシステムデータから読み出す(ステップS501)。長期監視用閾値は、所定の値であり、例えば、「60%」といった値である。   As shown in FIG. 12, when performing the long-term pattern calculation process, the optimum buffer pattern prediction unit 192 first reads a long-term monitoring threshold value from the system data (step S501). The long-term monitoring threshold is a predetermined value, for example, “60%”.

続いて、最適バッファパタン予測部192は、使用率が長期監視用閾値を超えている受信バッファの種類が存在するか否かを判定する(ステップS502)。使用率が長期監視用閾値を超えている受信バッファの種類が存在しない場合(ステップS502否定)、最適バッファパタン予測部192は、処理を終了する。   Subsequently, the optimum buffer pattern prediction unit 192 determines whether or not there is a type of reception buffer whose usage rate exceeds the long-term monitoring threshold (step S502). If there is no type of reception buffer whose usage rate exceeds the long-term monitoring threshold (No in step S502), the optimum buffer pattern prediction unit 192 ends the process.

一方、長期監視用閾値を超えている受信バッファの種類が存在する場合(ステップS502肯定)、最適バッファパタン予測部192は、長期監視用閾値の上限を超えている受信バッファの種類について、追加用予測処理を行う(ステップS503)。なお、最適バッファパタン予測部192による追加用予測処理については、図13を用いて、後に説明する。   On the other hand, when there is a reception buffer type that exceeds the long-term monitoring threshold (Yes in step S502), the optimum buffer pattern prediction unit 192 adds an additional buffer type that exceeds the upper limit of the long-term monitoring threshold. Prediction processing is performed (step S503). Note that the additional prediction processing by the optimum buffer pattern prediction unit 192 will be described later with reference to FIG.

続いて、最適バッファパタン予測部192は、追加用予測処理の結果、追加処理を行わないと判定した場合(ステップS504否定)、処理を終了する。一方、最適バッファパタン予測部192は、追加処理を行うと判定した場合(ステップS504肯定)、バッファプール140に追加する受信バッファの個数と、受信バッファの種類とを決定する(ステップS505)。続いて、最適バッファパタン予測部192は、ステップS405において決定した受信バッファの個数にマージンを加算する(ステップS506)。   Subsequently, when the optimum buffer pattern prediction unit 192 determines that the addition process is not performed as a result of the prediction process for addition (No in step S504), the process ends. On the other hand, when it is determined that the addition process is to be performed (Yes in step S504), the optimum buffer pattern prediction unit 192 determines the number of reception buffers to be added to the buffer pool 140 and the type of reception buffer (step S505). Subsequently, the optimum buffer pattern prediction unit 192 adds a margin to the number of reception buffers determined in step S405 (step S506).

続いて、最適バッファパタン予測部192は、バッファプール140を変更する旨の情報と、追加する受信バッファの種類と、追加個数とをバッファプール制御部191に通知する(ステップS507)。   Subsequently, the optimum buffer pattern prediction unit 192 notifies the buffer pool control unit 191 of information indicating that the buffer pool 140 is to be changed, the type of reception buffer to be added, and the number of additions (step S507).

このように、最適バッファパタン予測部192は、長期用パタン計算処理を行う場合、受信バッファを削除する処理を行わない。すなわち、伝送装置100は、増加フラグが長期増加フラグである場合、受信バッファの削除処理を行わない。これは、図2を用いて説明したように、使用率が徐々に増加する場合、その後に使用率が低下しない傾向にあるからである。   Thus, the optimum buffer pattern prediction unit 192 does not perform the process of deleting the reception buffer when performing the long-term pattern calculation process. That is, when the increase flag is a long-term increase flag, the transmission apparatus 100 does not perform a reception buffer deletion process. This is because, as described with reference to FIG. 2, when the usage rate gradually increases, the usage rate tends not to decrease thereafter.

[追加用予測処理手順]
次に、図13を用いて、図11のステップS403、および、図12のステップS503における追加用予測処理の手順について説明する。図13は、実施例1における最適バッファパタン予測部192による追加用予測処理手順を示すフローチャートである。なお、図13に示した処理手順は、上記ステップS403またはS503において、使用率が短期監視用閾値の上限を超えていると判定された受信バッファの種類ごとに実行される。
[Additional prediction processing procedure]
Next, the procedure of the additional prediction process in step S403 in FIG. 11 and step S503 in FIG. 12 will be described with reference to FIG. FIG. 13 is a flowchart illustrating the additional prediction processing procedure performed by the optimum buffer pattern prediction unit 192 according to the first embodiment. The processing procedure shown in FIG. 13 is executed for each type of reception buffer for which it has been determined in step S403 or S503 that the usage rate exceeds the upper limit of the short-term monitoring threshold.

図13に示すように、最適バッファパタン予測部192は、追加用予測処理を行う場合に、揮発性メモリ160に記憶されている監視データに基づいて、時間経過に対する使用率の回帰直線を算出する(ステップS601)。   As illustrated in FIG. 13, the optimal buffer pattern prediction unit 192 calculates a regression line of the usage rate with respect to time based on the monitoring data stored in the volatile memory 160 when performing the additional prediction process. (Step S601).

具体的には、最適バッファパタン予測部192は、揮発性メモリ160に記憶されている時刻に基づいて、時間経過をxi、使用率をyiとした場合における回帰直線「y=ax+b」を算出する。このとき、最適バッファパタン予測部192は、以下に示す式(1)および(2)の連立方程式により、回帰直線における定数aおよびbを算出する。   Specifically, based on the time stored in the volatile memory 160, the optimum buffer pattern prediction unit 192 calculates a regression line “y = ax + b” when the elapsed time is xi and the usage rate is yi. . At this time, the optimum buffer pattern predicting unit 192 calculates constants a and b in the regression line according to the simultaneous equations of the following equations (1) and (2).

Figure 0005278157
Figure 0005278157

Figure 0005278157
Figure 0005278157

続いて、最適バッファパタン予測部192は、算出した回帰直線のxに、監視周期を代入することにより、次の監視周期におけるバッファプール140の使用率を算出する(ステップS602)。なお、以下では、使用率の変動量に基づいて予測された使用率を「予測使用率」と表記するものとする。   Subsequently, the optimum buffer pattern prediction unit 192 calculates the usage rate of the buffer pool 140 in the next monitoring cycle by substituting the monitoring cycle into x of the calculated regression line (step S602). In the following, the usage rate predicted based on the fluctuation amount of the usage rate is referred to as “predicted usage rate”.

続いて、最適バッファパタン予測部192は、予測使用率が危険閾値よりも大きい場合に(ステップS603肯定)、追加比率を算出する(ステップS604)。具体的には、最適バッファパタン予測部192は、予測使用率から現状の使用率を減算することにより、追加比率を算出する。例えば、予測使用率が「95%」であり、現状の使用率が「91%」である場合、最適バッファパタン予測部192は、追加比率として「4%」を算出する。   Subsequently, the optimum buffer pattern prediction unit 192 calculates an additional ratio when the predicted usage rate is larger than the danger threshold (Yes at Step S603) (Step S604). Specifically, the optimal buffer pattern prediction unit 192 calculates the additional ratio by subtracting the current usage rate from the predicted usage rate. For example, when the predicted usage rate is “95%” and the current usage rate is “91%”, the optimum buffer pattern prediction unit 192 calculates “4%” as the additional rate.

一方、最適バッファパタン予測部192は、予測使用率が危険閾値以下である場合に(ステップS603否定)、処理を終了する。   On the other hand, the optimal buffer pattern prediction unit 192 ends the process when the predicted usage rate is equal to or less than the risk threshold (No at Step S603).

[削除用予測処理手順]
次に、図14を用いて、図11のステップS409における削除用予測処理の手順について説明する。図14は、実施例1における最適バッファパタン予測部192による削除用予測処理手順を示すフローチャートである。なお、図14に示した処理手順は、上記ステップS409において、使用率が短期監視用閾値の下限より小さいと判定された受信バッファの種類ごとに実行される。
[Prediction procedure for deletion]
Next, the procedure of the deletion prediction process in step S409 of FIG. 11 will be described with reference to FIG. FIG. 14 is a flowchart illustrating a deletion prediction processing procedure performed by the optimum buffer pattern prediction unit 192 according to the first embodiment. Note that the processing procedure shown in FIG. 14 is executed for each type of reception buffer for which it is determined in step S409 that the usage rate is smaller than the lower limit of the short-term monitoring threshold.

図14に示すように、最適バッファパタン予測部192は、削除用予測処理を行う場合に、揮発性メモリ160に記憶されている監視データに基づいて、時間経過に対する使用率の回帰直線を算出する(ステップS701)。   As illustrated in FIG. 14, when performing the deletion prediction process, the optimal buffer pattern prediction unit 192 calculates a regression line of the usage rate over time based on the monitoring data stored in the volatile memory 160. (Step S701).

続いて、最適バッファパタン予測部192は、算出した回帰直線のxに、監視周期を代入することにより、次の周期におけるバッファプール140の予測使用率を算出する(ステップS702)。   Subsequently, the optimum buffer pattern prediction unit 192 calculates the predicted usage rate of the buffer pool 140 in the next cycle by substituting the monitoring cycle into x of the calculated regression line (step S702).

続いて、最適バッファパタン予測部192は、予測使用率が、安全閾値よりも小さい場合に(ステップS703肯定)、削除比率を算出する(ステップS704)。具体的には、最適バッファパタン予測部192は、現状の使用率から予測使用率を減算することにより、削除比率を算出する。   Subsequently, the optimal buffer pattern prediction unit 192 calculates a deletion ratio when the predicted usage rate is smaller than the safety threshold (Yes at Step S703) (Step S704). Specifically, the optimum buffer pattern prediction unit 192 calculates the deletion ratio by subtracting the predicted usage rate from the current usage rate.

一方、予測使用率が、安全閾値以上である場合に(ステップS703否定)、最適バッファパタン予測部192は、処理を終了する。   On the other hand, when the predicted usage rate is equal to or greater than the safety threshold (No at Step S703), the optimum buffer pattern prediction unit 192 ends the process.

[起動処理手順]
次に、図15を用いて、実施例1に係る伝送装置100による起動処理の手順について説明する。図15は、実施例1に係る伝送装置100による起動処理手順を示すフローチャートである。
[Startup procedure]
Next, with reference to FIG. 15, a description will be given of a startup process procedure performed by the transmission apparatus 100 according to the first embodiment. FIG. 15 is a flowchart illustrating the activation processing procedure performed by the transmission apparatus 100 according to the first embodiment.

伝送装置100が起動する場合、CPU171は、リセットベクタによりBOOTプログラム220を起動する。そして、BOOTプログラム220は、CPU171の初期化を行い、カーネルローダ230を起動する。カーネルローダ230は、カーネルをメモリに展開し、初期化部240を起動する。   When the transmission apparatus 100 is activated, the CPU 171 activates the BOOT program 220 with the reset vector. Then, the BOOT program 220 initializes the CPU 171 and starts the kernel loader 230. The kernel loader 230 expands the kernel in the memory and activates the initialization unit 240.

そして、初期化部240は、不揮発性メモリ173に最適パタンデータが記憶されている場合に(ステップS801肯定)、不揮発性メモリ173から最適パタンデータを読み出す(ステップS802)。そして、初期化部240は、不揮発性メモリ173から読み出した最適パタンデータに基づいて、バッファプール140内に受信バッファを生成する(ステップS803)。   Then, when the optimum pattern data is stored in the nonvolatile memory 173 (Yes at Step S801), the initialization unit 240 reads the optimum pattern data from the nonvolatile memory 173 (Step S802). Then, the initialization unit 240 generates a reception buffer in the buffer pool 140 based on the optimum pattern data read from the nonvolatile memory 173 (step S803).

一方、初期化部240は、不揮発性メモリ173に最適パタンデータが記憶されていない場合に(ステップS801否定)、システムデータから最適パタンデータを読み出す(ステップS804)。そして、初期化部240は、システムデータから読み出した最適パタンデータに基づいて、バッファプール140内に受信バッファを生成する(ステップS803)。   On the other hand, when the optimum pattern data is not stored in the nonvolatile memory 173 (No at Step S801), the initialization unit 240 reads the optimum pattern data from the system data (Step S804). Then, the initialization unit 240 generates a reception buffer in the buffer pool 140 based on the optimum pattern data read from the system data (Step S803).

[実施例1の効果]
上述してきたように、実施例1に係る伝送装置100は、パケットを受信するたびにバッファメモリの使用率を蓄積し、蓄積した使用率に基づいて予測使用率を算出し、予測使用率が危険閾値より大きい場合に、受信バッファをバッファプールに追加する。また、伝送装置100は、予測した使用率が所定の安全閾値より小さい場合に、追加した受信バッファをバッファメモリから削除する。これにより、実施例1に係る伝送装置100は、システム稼働中においても、パケットの受信状況に応じた受信バッファを動的に生成することができるので、受信バッファの枯渇を防止することができる。
[Effect of Example 1]
As described above, the transmission device 100 according to the first embodiment accumulates the buffer memory usage rate every time a packet is received, calculates the predicted usage rate based on the accumulated usage rate, and the predicted usage rate is dangerous. If it is greater than the threshold, add the receive buffer to the buffer pool. Also, the transmission device 100 deletes the added reception buffer from the buffer memory when the predicted usage rate is smaller than a predetermined safety threshold. As a result, the transmission apparatus 100 according to the first embodiment can dynamically generate a reception buffer according to the reception status of the packet even during the operation of the system, and thus can prevent the reception buffer from being exhausted.

ところで、本願の開示する伝送装置等は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本願の開示する伝送装置等の他の実施例について説明する。   By the way, the transmission apparatus etc. which this application discloses may be implemented with a various different form other than the Example mentioned above. Accordingly, in the second embodiment, another embodiment of the transmission device disclosed in the present application will be described.

[短期用パタン計算処理手順]
上記実施例1では、図11を用いて説明したように、受信バッファの追加処理と削除処理とを同時に行わない例を示した。しかし、本願の開示する伝送装置は、受信バッファの追加処理と削除処理とを同時に行ってもよい。図16を用いて、受信バッファの追加処理と削除処理とを同時に行う例について説明する。
[Short-term pattern calculation processing procedure]
In the first embodiment, as described with reference to FIG. 11, the example in which the addition process and the deletion process of the reception buffer are not performed at the same time is shown. However, the transmission apparatus disclosed in the present application may simultaneously perform reception buffer addition processing and deletion processing. An example in which reception buffer addition processing and deletion processing are performed simultaneously will be described with reference to FIG.

図16は、追加処理および削除処理を同時に行う場合における最適バッファパタン予測部192による短期用パタン計算処理手順を示すフローチャートである。図16に示すように、最適バッファパタン予測部192は、短期用パタン計算処理を行う場合に、まず、短期監視用閾値をシステムデータから読み出す(ステップS901)。続いて、最適バッファパタン予測部192は、受信バッファの種類ごとに、ステップS902〜S912における処理手順を行う。   FIG. 16 is a flowchart showing a short-term pattern calculation processing procedure by the optimum buffer pattern prediction unit 192 when the addition process and the deletion process are performed simultaneously. As shown in FIG. 16, when performing the short-term pattern calculation process, the optimum buffer pattern predicting unit 192 first reads a short-term monitoring threshold value from the system data (step S901). Subsequently, the optimum buffer pattern prediction unit 192 performs the processing procedure in steps S902 to S912 for each type of reception buffer.

具体的には、最適バッファパタン予測部192は、処理対象の受信バッファの使用率が短期監視用閾値の上限を超えているか否かを判定する(ステップS902)。短期監視用閾値の上限を超えている場合(ステップS902肯定)、最適バッファパタン予測部192は、処理対象の受信バッファの種類について、追加用予測処理を行う(ステップS903)。一方、最適バッファパタン予測部192は、処理対象の受信バッファの使用率が短期監視用閾値の上限を超えていない場合(ステップS902否定)、処理対象の受信バッファの使用率が短期監視用閾値の下限より小さいか否かを判定する(ステップS908)。なお、ステップS903〜S912における処理手順は、図11に示したステップS403〜S412における処理手順と同様である。   Specifically, the optimum buffer pattern prediction unit 192 determines whether or not the usage rate of the reception buffer to be processed exceeds the upper limit of the short-term monitoring threshold (step S902). If the upper limit of the short-term monitoring threshold is exceeded (Yes at Step S902), the optimum buffer pattern prediction unit 192 performs an additional prediction process for the type of reception buffer to be processed (Step S903). On the other hand, when the usage rate of the processing target reception buffer does not exceed the upper limit of the short-term monitoring threshold (No in step S902), the optimum buffer pattern prediction unit 192 determines that the usage rate of the processing target reception buffer is the short-term monitoring threshold value. It is determined whether it is smaller than the lower limit (step S908). Note that the processing procedure in steps S903 to S912 is the same as the processing procedure in steps S403 to S412 shown in FIG.

そして、最適バッファパタン予測部192は、全ての受信バッファの種類について、上記ステップS902〜S912における処理手順を行った場合(ステップS913肯定)、処理を終了する。一方、全ての受信バッファの種類について上記処理を行っていない場合(ステップS913否定)、最適バッファパタン予測部192は、未処理の受信バッファの種類について、上記ステップS902〜S912における処理手順を行う。   Then, the optimum buffer pattern prediction unit 192 ends the process when the processing procedure in steps S902 to S912 is performed for all types of reception buffers (Yes in step S913). On the other hand, when the above processing is not performed for all reception buffer types (No in step S913), the optimum buffer pattern prediction unit 192 performs the processing procedure in steps S902 to S912 for the unprocessed reception buffer types.

このように、伝送装置100は、受信バッファごとに短期用パタン計算処理を行うことにより、追加処理および削除処理を同時に行うことができる。例えば、伝送装置100は、2048[Byte]の受信バッファを追加するとともに、1024[Byte]の受信バッファを削除する処理を同時に行うことができる。これにより、伝送装置100は、より状況に応じた受信バッファを生成することができる。   As described above, the transmission apparatus 100 can perform the addition process and the deletion process at the same time by performing the short-term pattern calculation process for each reception buffer. For example, the transmission apparatus 100 can simultaneously perform processing of adding a reception buffer of 2048 [Byte] and deleting a reception buffer of 1024 [Byte]. Thereby, the transmission apparatus 100 can generate a reception buffer more appropriately according to the situation.

[受信バッファの種類]
また、上記実施例1では、伝送装置100のバッファプール140は、2048[Byte]、1024[Byte]、512[Byte]の受信バッファを有する例を示した。しかし、伝送装置100は、他のサイズの受信バッファを有してもよい。例えば、伝送装置100は、2048[Byte]、1024[Byte]、512[Byte]、256[Byte]、128[Byte]の受信バッファを有してもよい。また、例えば、伝送装置100は、2048[Byte]の受信バッファだけを有してもよい。
[Receive buffer type]
In the first embodiment, the buffer pool 140 of the transmission apparatus 100 has an example of having reception buffers of 2048 [Byte], 1024 [Byte], and 512 [Byte]. However, the transmission apparatus 100 may have a reception buffer of another size. For example, the transmission apparatus 100 may include 2048 [Byte], 1024 [Byte], 512 [Byte], 256 [Byte], and 128 [Byte] reception buffers. For example, the transmission apparatus 100 may have only a reception buffer of 2048 [Bytes].

[追加比率、削除比率]
また、上記実施例1では、図13および図14に示したように、予測使用率と現状の使用率との差分により、追加比率および削除比率を算出する例を示した。しかし、伝送装置100は、他の手法により追加または削除する受信バッファのサイズを算出してもよい。例えば、伝送装置100は、予測使用率と危険閾値との差が大きいほど、追加する受信バッファのサイズを大きくしたり、予測使用率と安全閾値との差が大きいほど、削除する受信バッファのサイズを大きくしたりしてもよい。また、例えば、伝送装置100は、受信バッファのサイズを変更した後の使用率が所望に値(例えば、「50%」)になるように、追加または削除する受信バッファのサイズを決定してもよい。
[Addition ratio, Delete ratio]
Moreover, in the said Example 1, as shown in FIG.13 and FIG.14, the example which calculates an addition ratio and a deletion ratio by the difference of a predicted usage rate and the present usage rate was shown. However, the transmission apparatus 100 may calculate the size of the reception buffer to be added or deleted by another method. For example, the transmission apparatus 100 increases the size of the reception buffer to be added as the difference between the predicted usage rate and the danger threshold increases, or the size of the reception buffer to be deleted as the difference between the predicted usage rate and the safety threshold increases. May be increased. Further, for example, the transmission apparatus 100 may determine the size of the reception buffer to be added or deleted so that the usage rate after changing the size of the reception buffer becomes a desired value (for example, “50%”). Good.

[システム構成等]
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Further, the processing procedures, control procedures, specific names, information including various data and parameters shown in the above-mentioned documents and drawings can be arbitrarily changed unless otherwise specified. Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Further, all or a part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)受信パケットを記憶する受信バッファを複数有するバッファメモリと、
パケットを受信するたびに前記バッファメモリの使用率を算出する算出部と、
所定の監視周期が経過するたびに、前記算出部によって算出された使用率に基づいて、前記バッファメモリの使用率の変動量を算出し、算出した変動量に基づいて前記バッファメモリにおける将来の使用率である予測使用率を予測する予測部と、
前記予測部によって予測された予測使用率が所定の危険閾値より大きい場合に、前記バッファメモリに受信バッファを追加するメモリ管理部と
を備えたことを特徴とする伝送装置。
(Supplementary note 1) a buffer memory having a plurality of reception buffers for storing received packets;
A calculation unit that calculates a usage rate of the buffer memory each time a packet is received;
Each time a predetermined monitoring period elapses, the fluctuation amount of the usage rate of the buffer memory is calculated based on the usage rate calculated by the calculation unit, and future use in the buffer memory is calculated based on the calculated fluctuation amount. A predictor that predicts a predicted usage rate,
A transmission apparatus comprising: a memory management unit that adds a reception buffer to the buffer memory when a predicted usage rate predicted by the prediction unit is greater than a predetermined risk threshold.

(付記2)前記バッファメモリは、サイズの異なる複数種類の受信バッファを有し、
前記算出部は、受信バッファの種類ごとに使用率を算出し、
前記予測部は、前記算出部によって算出された使用率に基づいて、受信バッファの種類ごとに予測使用率を予測し、
前記メモリ管理部は、前記予測部によって予測された予測使用率が所定の危険閾値より大きい受信バッファの種類が存在する場合に、該受信バッファの種類に対応するサイズの受信バッファを前記バッファメモリに追加することを特徴とする付記1に記載の伝送装置。
(Appendix 2) The buffer memory has a plurality of types of reception buffers having different sizes,
The calculation unit calculates a usage rate for each type of reception buffer,
The prediction unit predicts a predicted usage rate for each type of reception buffer based on the usage rate calculated by the calculation unit,
When there is a reception buffer type whose predicted usage rate predicted by the prediction unit is greater than a predetermined risk threshold, the memory management unit stores a reception buffer having a size corresponding to the reception buffer type in the buffer memory. The transmission apparatus according to attachment 1, wherein the transmission apparatus is added.

(付記3)前記算出部は、受信バッファの各種類に対応する使用率のうち、最も高い使用率である最大使用率が大きいほど前記監視周期を小さい値に設定し、前記最大使用率が小さいほど前記監視周期を大きい値に設定し、
前記予測部は、前記算出部によって設定された監視周期が経過するたびに、受信バッファの種類ごとに予測使用率を予測することを特徴とする付記2に記載の伝送装置。
(Additional remark 3) The said calculation part sets the said monitoring period to a small value, so that the maximum usage rate which is the highest usage rate among the usage rates corresponding to each kind of reception buffer is large, and the said maximum usage rate is small. Set the monitoring cycle to a larger value,
3. The transmission apparatus according to appendix 2, wherein the prediction unit predicts a predicted usage rate for each type of reception buffer every time the monitoring period set by the calculation unit elapses.

(付記4)前記算出部は、前記バッファメモリの使用率の増加率が所定の増加率閾値よりも大きい場合に、短期的に使用率が増加したことを示す短期増加フラグを設定し、
前記予測部は、前記算出部によって短期増加フラグが設定され、かつ、前記予測部によって予測された予測使用率が所定の安全閾値より小さい受信バッファの種類が存在する場合に、該受信バッファの種類に対応するサイズの受信バッファの一部を前記バッファメモリから削除することを特徴とする付記3に記載の伝送装置。
(Additional remark 4) The said calculation part sets the short-term increase flag which shows that the usage rate increased in the short term, when the increase rate of the usage rate of the said buffer memory is larger than a predetermined increase rate threshold value,
When the short-term increase flag is set by the calculation unit and there is a type of reception buffer whose predicted usage rate predicted by the prediction unit is smaller than a predetermined safety threshold, the prediction unit 4. The transmission apparatus according to appendix 3, wherein a part of the reception buffer having a size corresponding to is deleted from the buffer memory.

(付記5)前記予測部は、前記算出部によって算出された使用率と、該使用率が算出された時刻とを用いて、時間経過に対する使用率の回帰直線を算出し、算出した回帰直線と次の周期に対応する時間とに基づいて、予測使用率を予測することを特徴とする付記1〜4のいずれか一つに記載の伝送装置。 (Additional remark 5) The said prediction part calculates the regression line of the usage rate with respect to time passage using the usage rate calculated by the said calculation part, and the time when this usage rate was calculated, The transmission apparatus according to any one of appendices 1 to 4, wherein the predicted usage rate is predicted based on a time corresponding to a next cycle.

(付記6)前記メモリ管理部によって更新された前記バッファメモリにおける受信バッファの種類と、受信バッファの個数との組合せパタンであるバッファパタンを記憶するバッファパタン記憶部と、
当該の伝送装置が起動する場合に、前記バッファパタン記憶部に記憶されているバッファパタンに基づいて、前記バッファメモリに受信バッファを生成する初期化部と
をさらに備えたことを特徴とする付記2〜5のいずれか一つに記載の伝送装置。
(Additional remark 6) The buffer pattern memory | storage part which memorize | stores the buffer pattern which is a combination pattern with the kind of receiving buffer in the said buffer memory updated by the said memory management part, and the number of receiving buffers,
And an initialization unit that generates a reception buffer in the buffer memory based on a buffer pattern stored in the buffer pattern storage unit when the transmission apparatus is activated. The transmission apparatus as described in any one of -5.

(付記7)パケットを伝送する伝送装置による伝送方法であって、
前記伝送装置が、
パケットを受信するたびに、受信パケットを記憶する受信バッファを複数有するバッファメモリの使用率を算出する算出ステップと、
所定の監視周期が経過するたびに、前記算出ステップによって算出された使用率に基づいて、前記バッファメモリの使用率の変動量を算出し、算出した変動量に基づいて前記バッファメモリにおける将来の使用率である予測使用率を予測する予測ステップと、
前記予測ステップによって予測された予測使用率が所定の危険閾値より大きい場合に、前記バッファメモリに受信バッファを追加するメモリ管理ステップと
を含んだことを特徴とする伝送方法。
(Additional remark 7) It is the transmission method by the transmission apparatus which transmits a packet,
The transmission device is
A calculation step of calculating a usage rate of a buffer memory having a plurality of reception buffers for storing received packets each time a packet is received;
Each time a predetermined monitoring period elapses, the fluctuation amount of the usage rate of the buffer memory is calculated based on the usage rate calculated by the calculation step, and future use in the buffer memory is calculated based on the calculated fluctuation amount. A forecasting step to forecast the forecasted usage,
And a memory management step of adding a reception buffer to the buffer memory when the predicted usage rate predicted by the prediction step is larger than a predetermined risk threshold.

100、910、920 伝送装置
111、912 Ether HD
112、913 Etherドライバ
120、914、924 ネットワークドライバ
130、915 ネットワークプロトコル
140、911、921 バッファプール
150 使用率算出部
160 揮発性メモリ
171 CPU
172 Timer
173 不揮発性メモリ
180 OS
181 スケジューリング部
182 メモリ管理部
191 バッファプール制御部
192 最適バッファパタン予測部
210 記憶部
220 BOOTプログラム
230 カーネルローダ
240 初期化部
100, 910, 920 Transmission device 111, 912 Ether HD
112, 913 Ether driver 120, 914, 924 Network driver 130, 915 Network protocol 140, 911, 921 Buffer pool 150 Usage rate calculation unit 160 Volatile memory 171 CPU
172 Timer
173 Non-volatile memory 180 OS
181 Scheduling unit 182 Memory management unit 191 Buffer pool control unit 192 Optimal buffer pattern prediction unit 210 Storage unit 220 BOOT program 230 Kernel loader 240 Initialization unit

Claims (4)

受信パケットを記憶するサイズの異なる複数種類の受信バッファを複数有するバッファメモリと、
パケットを受信するたびに前記バッファメモリの使用率を受信バッファの種類ごとに算出する算出部と、
所定の監視周期が経過するたびに、前記算出部によって算出された使用率に基づいて、前記バッファメモリの使用率の変動量を算出し、算出した変動量に基づいて前記バッファメモリにおける将来の使用率である予測使用率を受信バッファの種類ごとに予測する予測部と、
前記予測部によって予測された予測使用率が所定の危険閾値より大きい受信バッファの種類が存在する場合に、前記バッファメモリに該受信バッファの種類に対応するサイズの受信バッファを追加するメモリ管理部とを備え
前記算出部は、前記バッファメモリの使用率の増加率が所定の増加率閾値よりも大きい場合に、短期的に使用率が増加したことを示す短期増加フラグを設定し、
前記予測部は、前記算出部によって短期増加フラグが設定され、かつ、前記予測部によって予測された予測使用率が所定の安全閾値より小さい受信バッファの種類が存在する場合に、該受信バッファの種類に対応するサイズの受信バッファの一部を前記バッファメモリから削除することを特徴とする伝送装置。
A buffer memory having a plurality of different types of reception buffers for storing received packets;
A calculation unit that calculates the usage rate of the buffer memory for each type of reception buffer each time a packet is received;
Each time a predetermined monitoring period elapses, the fluctuation amount of the usage rate of the buffer memory is calculated based on the usage rate calculated by the calculation unit, and future use in the buffer memory is calculated based on the calculated fluctuation amount. A prediction unit that predicts a predicted usage rate that is a rate for each type of reception buffer ;
A memory management unit that adds a reception buffer having a size corresponding to the type of the reception buffer to the buffer memory when there is a type of reception buffer whose predicted usage rate predicted by the prediction unit is greater than a predetermined risk threshold; equipped with a,
The calculation unit sets a short-term increase flag indicating that the usage rate has increased in the short-term when the increase rate of the usage rate of the buffer memory is greater than a predetermined increase rate threshold,
When the short-term increase flag is set by the calculation unit and there is a type of reception buffer whose predicted usage rate predicted by the prediction unit is smaller than a predetermined safety threshold, the prediction unit A transmission apparatus characterized in that a part of the reception buffer having a size corresponding to is deleted from the buffer memory .
前記算出部は、受信バッファの各種類に対応する使用率のうち、最も高い使用率である最大使用率が大きいほど前記監視周期を小さい値に設定し、前記最大使用率が小さいほど前記監視周期を大きい値に設定し、
前記予測部は、前記算出部によって設定された監視周期が経過するたびに、受信バッファの種類ごとに予測使用率を予測することを特徴とする請求項に記載の伝送装置。
The calculation unit sets the monitoring cycle to a smaller value as the maximum usage rate that is the highest usage rate among the usage rates corresponding to each type of reception buffer is larger, and the monitoring cycle as the maximum usage rate is smaller. Is set to a large value,
The transmission apparatus according to claim 1 , wherein the prediction unit predicts a predicted usage rate for each type of reception buffer each time the monitoring period set by the calculation unit elapses.
前記メモリ管理部によって更新された前記バッファメモリにおける受信バッファの種類と、受信バッファの個数との組合せパタンであるバッファパタンを記憶するバッファパタン記憶部と、
当該の伝送装置が起動する場合に、前記バッファパタン記憶部に記憶されているバッファパタンに基づいて、前記バッファメモリに受信バッファを生成する初期化部と
をさらに備えたことを特徴とする請求項1または2に記載の伝送装置。
A buffer pattern storage unit that stores a buffer pattern that is a combination pattern of the type of reception buffer in the buffer memory updated by the memory management unit and the number of reception buffers;
An initialization unit that generates a reception buffer in the buffer memory based on a buffer pattern stored in the buffer pattern storage unit when the transmission apparatus is activated. The transmission apparatus according to 1 or 2 .
パケットを伝送する伝送装置による伝送方法であって、
前記伝送装置が、
パケットを受信するたびに、受信パケットを記憶するサイズの異なる複数種類の受信バッファを複数有するバッファメモリの使用率を受信バッファの種類ごとに算出する算出ステップと、
所定の監視周期が経過するたびに、前記算出ステップによって算出された使用率に基づいて、前記バッファメモリの使用率の変動量を算出し、算出した変動量に基づいて前記バッファメモリにおける将来の使用率である予測使用率を受信バッファの種類ごとに予測する予測ステップと、
前記予測ステップによって予測された予測使用率が所定の危険閾値より大きい受信バッファの種類が存在する場合に、前記バッファメモリに該受信バッファの種類に対応するサイズの受信バッファを追加するメモリ管理ステップとを含み、
前記算出ステップは、前記バッファメモリの使用率の増加率が所定の増加率閾値よりも大きい場合に、短期的に使用率が増加したことを示す短期増加フラグを設定し、
前記予測ステップは、前記算出ステップによって短期増加フラグが設定され、かつ、前記予測ステップによって予測された予測使用率が所定の安全閾値より小さい受信バッファの種類が存在する場合に、該受信バッファの種類に対応するサイズの受信バッファの一部を前記バッファメモリから削除することを特徴とする伝送方法。
A transmission method by a transmission device for transmitting packets,
The transmission device is
A calculation step of calculating a usage rate of a buffer memory having a plurality of types of reception buffers having different sizes for storing received packets for each type of reception buffer each time a packet is received;
Each time a predetermined monitoring period elapses, the fluctuation amount of the usage rate of the buffer memory is calculated based on the usage rate calculated by the calculation step, and future use in the buffer memory is calculated based on the calculated fluctuation amount. A prediction step for predicting a predicted usage rate that is a rate for each type of reception buffer ;
A memory management step of adding a reception buffer having a size corresponding to the type of the reception buffer to the buffer memory when there is a reception buffer type having a predicted usage rate predicted by the prediction step larger than a predetermined risk threshold; only including,
The calculation step sets a short-term increase flag indicating that the usage rate has increased in the short-term when the increase rate of the usage rate of the buffer memory is greater than a predetermined increase rate threshold,
In the prediction step, when the short-term increase flag is set in the calculation step and there is a reception buffer type for which the predicted usage rate predicted in the prediction step is smaller than a predetermined safety threshold, the type of the reception buffer A transmission method comprising: deleting a part of the reception buffer having a size corresponding to the buffer memory from the buffer memory .
JP2009119301A 2009-05-15 2009-05-15 Transmission apparatus and transmission method Expired - Fee Related JP5278157B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009119301A JP5278157B2 (en) 2009-05-15 2009-05-15 Transmission apparatus and transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009119301A JP5278157B2 (en) 2009-05-15 2009-05-15 Transmission apparatus and transmission method

Publications (2)

Publication Number Publication Date
JP2010268321A JP2010268321A (en) 2010-11-25
JP5278157B2 true JP5278157B2 (en) 2013-09-04

Family

ID=43364919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009119301A Expired - Fee Related JP5278157B2 (en) 2009-05-15 2009-05-15 Transmission apparatus and transmission method

Country Status (1)

Country Link
JP (1) JP5278157B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924640B2 (en) * 2012-05-14 2014-12-30 Alcatel Lucent Dynamic allocation of records to clusters in a ternary content addressable memory
JP6163741B2 (en) * 2012-11-30 2017-07-19 ヤマハ株式会社 Method and apparatus for determining buffer size of network reception buffer and network session system
KR102275870B1 (en) * 2019-12-18 2021-07-12 한국전자기술연구원 method for processing receive buffers for variable packets

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02196544A (en) * 1989-01-26 1990-08-03 Nec Corp Communication controller
JP3112958B2 (en) * 1991-01-21 2000-11-27 株式会社東芝 Receive buffer management method
JP2924725B2 (en) * 1995-08-24 1999-07-26 日本電気株式会社 Buffer allocation control system
JPH09102793A (en) * 1995-10-06 1997-04-15 Hitachi Cable Ltd Repeater system
JPH1091515A (en) * 1996-09-13 1998-04-10 Fuji Electric Co Ltd Data buffer management device
JPH10290205A (en) * 1997-04-14 1998-10-27 Matsushita Electric Ind Co Ltd Data transmitter
JP2004104192A (en) * 2002-09-05 2004-04-02 Toyo Commun Equip Co Ltd Buffer overflow detection method and circuit
JP4228296B2 (en) * 2003-12-17 2009-02-25 富士通株式会社 Variable length packet storage apparatus and method
JP2007043580A (en) * 2005-08-04 2007-02-15 Nec Corp Communication device and data reception method
JP4730259B2 (en) * 2006-08-29 2011-07-20 三菱電機株式会社 Buffer control device and buffer control method

Also Published As

Publication number Publication date
JP2010268321A (en) 2010-11-25

Similar Documents

Publication Publication Date Title
CN111045810B (en) Task scheduling processing method and device
CN106790696B (en) Message transmission method and device
EP2680397B1 (en) Electricity storage control device, electricity storage control method, management device, management method, and electricity storage control system
CN108462647B (en) Bandwidth adjusting method and gateway
JP5278157B2 (en) Transmission apparatus and transmission method
CN102436400A (en) Method and device for implementing zero copy drive
CN110336680B (en) Network broadcast control method, system, electronic equipment and storage medium
JP6402576B2 (en) COMMUNICATION DEVICE, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, AND COMMUNICATION DEVICE CONTROL METHOD
JP6117345B2 (en) Message system that avoids degradation of processing performance
JP6997555B2 (en) Information processing equipment, communication systems, information processing methods, and programs
JP5786942B2 (en) Scheduling system, data processing system, and scheduling method
JP5617586B2 (en) Information processing program, relay device, and relay management device
CN108781170B (en) Configuration device and method
JP5351839B2 (en) Order processing method, program, and network system
CN111629399B (en) Message processing method and device and terminal
JP2014112779A (en) Data transmission controller, data transmission control method, and computer program
JP6204287B2 (en) Distributed processing method, processing server, and program
JP7281070B2 (en) Server equipment, maintenance management system and maintenance management program
JP4952435B2 (en) Resource management apparatus and radio network control apparatus using the same
US9411705B2 (en) Event communication apparatus for protection relay
CN110784775A (en) Video fragment caching method and device and video-on-demand system
CN112422613B (en) Data processing method, data processing platform and computer readable storage medium
JP2014147003A (en) ICT resource management device
CN114157591B (en) Heartbeat detection method, device, system, electronic equipment and storage medium
JP2008125287A (en) Screen generating device, screen generating method of screen generating device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees