JP2013093834A - Frame transfer device and frame transfer method - Google Patents

Frame transfer device and frame transfer method Download PDF

Info

Publication number
JP2013093834A
JP2013093834A JP2012156089A JP2012156089A JP2013093834A JP 2013093834 A JP2013093834 A JP 2013093834A JP 2012156089 A JP2012156089 A JP 2012156089A JP 2012156089 A JP2012156089 A JP 2012156089A JP 2013093834 A JP2013093834 A JP 2013093834A
Authority
JP
Japan
Prior art keywords
buffer
queuing
priority
congestion
threshold
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.)
Pending
Application number
JP2012156089A
Other languages
Japanese (ja)
Inventor
Yoshiaki Iso
良明 磯
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2012156089A priority Critical patent/JP2013093834A/en
Publication of JP2013093834A publication Critical patent/JP2013093834A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for efficiently suppressing failure occurrence associated with queuing buffer congestion in a frame transfer device with a plurality of queuing buffers.SOLUTION: A frame transfer device comprises: three or more queuing buffers; a storage unit which stores a priority for reading frames from each queuing buffer; a buffer reading unit which reads and transfers a frame according to the priority; and a buffer writing unit which writes a received frame in any of the plurality of queuing buffers according to the information included in the frame. If it detects a congestion state of any of the first queuing buffers, the buffer writing unit replaces the priority of the first queuing buffer with the priority of a second queuing buffer (queuing buffer having a priority one higher than the first queuing buffer) when a prescribed condition is met.

Description

本発明は、フレーム転送装置、および、フレーム転送方法に関する。   The present invention relates to a frame transfer apparatus and a frame transfer method.

従来から、企業のデータセンター等において、サーバとユーザ端末との間や、サーバ間等におけるフレームの転送をおこなうフレーム転送装置が知られている。ここで「フレーム」とは、ネットワークにおける通信で使用されるデータフォーマットを意味している。フレーム転送装置の多くには、受信したフレームを一時的に保存するためのメモリであるキューイングバッファが複数備えられている。このキューイングバッファは、フレームの転送処理をおこなうときや、フレーム転送装置のフレーム転送処理速度が回線速度と異なるとき等に使用される。   2. Description of the Related Art Conventionally, in a company data center or the like, a frame transfer apparatus that transfers frames between a server and a user terminal or between servers is known. Here, “frame” means a data format used in communication in a network. Many frame transfer apparatuses are provided with a plurality of queuing buffers that are memories for temporarily storing received frames. This queuing buffer is used when performing frame transfer processing or when the frame transfer processing speed of the frame transfer apparatus is different from the line speed.

このキューイングバッファに関して、フレームの格納が1つのキューイングバッファに集中したときに、キューイングバッファの許容量を超えてフレームの一部が破棄される不具合があった。この不具合を回避するために複数備えられたキューイングバッファに関して、音声データや動画データ等のリアルタイム通信用のフレームを格納するキューイングバッファのフレームの蓄積量が閾値に達した場合、このキューイングバッファから優先的にフレームの読み出しをおこなう輻輳制御方法等が知られている(特許文献1、2、3)。   With regard to this queuing buffer, when frame storage is concentrated in one queuing buffer, there is a problem that a part of the frame is discarded beyond the allowable amount of the queuing buffer. In order to avoid this problem, if there are multiple queuing buffers for storing real-time communication frames such as audio data and moving image data, the queuing buffer will be used when the accumulated amount of frames reaches the threshold. There is known a congestion control method for preferentially reading out frames from the above (Patent Documents 1, 2, and 3).

特開2004−72569号JP 2004-72569 A 特開平11−32050号JP-A-11-3250 特開2001−186181号JP 2001-186181 A

しかし、従来技術では、複数のキューイングバッファが輻輳状態となっている場合、どのキューイングバッファをより優先するかについては十分な制御をおこなうことができなかった。また、複数のキューイングバッファがそれぞれ優先度の異なるフレームを格納している場合、優先度の低いキューイングバッファで輻輳状態が発生したときに、どのキューイングバッファから優先的にフレームを読み出すかについては十分な制御をおこなうことができなかった。このように、複数のキューイングバッファを備えるフレーム転送装置において、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制する技術に関してはなお、改善の余地があった。   However, in the prior art, when a plurality of queuing buffers are in a congested state, sufficient control cannot be performed as to which queuing buffer is given higher priority. Also, when multiple queuing buffers store frames with different priorities, when a congested state occurs in a low-priority queuing buffer, which queuing buffer should be preferentially read Could not perform enough control. As described above, in the frame transfer apparatus including a plurality of queuing buffers, there is still room for improvement with respect to a technique for efficiently suppressing the occurrence of problems associated with congestion of the queuing buffers.

本発明は、上記した課題の少なくとも一部を解決するためになされた発明であり、複数のキューイングバッファを備えるフレーム転送装置において、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制するための技術を提供することを目的とする。   The present invention has been made to solve at least a part of the above-described problems, and in a frame transfer apparatus having a plurality of queuing buffers, efficiently suppresses the occurrence of problems associated with congestion of the queuing buffers. It aims at providing the technique for.

上記課題の少なくとも一部を解決するために、本願発明は、以下の態様または適用例として実現することが可能である。   In order to solve at least a part of the above problems, the present invention can be realized as the following aspects or application examples.

[適用例1]
フレーム転送装置であって、
フレームを蓄積可能な3以上の複数のキューイングバッファと、
各前記キューイングバッファからフレームを読み出す相対的な優先順位を記憶する記憶部と、
前記優先順位に応じて前記キューイングバッファからフレームを読み出して転送をおこなうバッファ読み出し部と、
前記フレーム転送装置の外部から受信したフレームを前記フレームに含まれる情報に応じて前記複数のキューイングバッファのうちのいずれかに書き込むバッファ書き込み部と、を備え、
前記バッファ書き込み部は、いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこなう、フレーム転送装置。
[Application Example 1]
A frame transfer device,
Three or more queuing buffers capable of storing frames;
A storage unit for storing relative priorities for reading frames from each of the queuing buffers;
A buffer read unit that reads and transfers frames from the queuing buffer according to the priority order; and
A buffer writing unit that writes a frame received from the outside of the frame transfer device to any one of the plurality of queuing buffers according to information included in the frame, and
When the buffer writing unit detects a congestion state of any of the first queuing buffers, the buffer writing unit has a higher priority than the first queuing buffer and the first queuing buffer when a predetermined condition is satisfied. Is a frame transfer apparatus for switching the priority order of the second queuing buffer that is one level higher.

この構成によれば、3以上のキューイングバッファを備えるフレーム転送装置において、いずれかのキューイングバッファが輻輳状態になると、輻輳状態のキューイングバッファの相対的な優先順位を1つ上げるため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。   According to this configuration, in a frame transfer apparatus including three or more queuing buffers, when any of the queuing buffers becomes congested, the relative priority of the congested queuing buffers is increased by one. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer.

[適用例2]
適用例1に記載のフレーム転送装置において、
前記バッファ書き込み部は、前記第2のキューイングバッファが輻輳状態の場合には、前記所定の条件を満たさないものと判断して、前記優先順位の入れ替えをおこなわない、フレーム転送装置。
[Application Example 2]
In the frame transfer apparatus described in Application Example 1,
The frame transfer device, in which the buffer writing unit determines that the predetermined condition is not satisfied when the second queuing buffer is in a congested state, and does not change the priority order.

この構成によれば、キューイングバッファの輻輳状態を検出したときに、そのキューイングバッファより優先順位が1つ上位のキューイングバッファが既に輻輳状態である場合には、この2つのキューイングバッファの間では優先順位の入れ替えをおこなわないため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。   According to this configuration, when the congestion state of the queuing buffer is detected, if the queuing buffer that is one priority higher than the queuing buffer is already congested, the two queuing buffers Since the order of priority is not exchanged between them, it is possible to efficiently suppress the occurrence of problems due to congestion of the queuing buffer.

[適用例3]
適用例1または適用例2に記載のフレーム転送装置において、
前記バッファ書き込み部は、前記第1のキューイングバッファの優先順位が、過去におこなわれた優先順位の入れ替えによって、1つ下がっている場合には、
(i)前記優先順位の入れ替えを解消するとともに、
(ii)前記第2のキューイングバッファが輻輳状態ではない場合には、前記第1のキューイングバッファと、前記第2のキューイングバッファとの優先順位の入れ替えをおこなう、フレーム転送装置。
[Application Example 3]
In the frame transfer apparatus according to Application Example 1 or Application Example 2,
The buffer writing unit, when the priority of the first queuing buffer is lowered by one due to the change of the priority performed in the past,
(I) Eliminate the change of priority, and
(Ii) A frame transfer apparatus that switches priority between the first queuing buffer and the second queuing buffer when the second queuing buffer is not congested.

この構成によれば、過去の優先順位の入れ替えによって、優先順位が1つ下がっているキューイングバッファが輻輳状態になると、このキューイングバッファの優先順位を1つ上げて元に戻し、さらに、このキューイングバッファよりも優先順位が1つ上位のキューイングバッファが輻輳状態ではない場合には、優先順位が1つ上位のキューイングバッファと優先順位の入れ替えをおこなうため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。   According to this configuration, when the queuing buffer whose priority is lowered by 1 due to the change of the priorities in the past becomes congested, the priority of the queuing buffer is increased by one and returned to the original state. If the queuing buffer that is one priority higher than the queuing buffer is not in a congested state, the priority is replaced with the queuing buffer that is one priority higher, which is associated with the congestion of the queuing buffer. The occurrence of defects can be efficiently suppressed.

[適用例4]
適用例1ないし適用例3のいずれかに記載のフレーム転送装置において、
前記バッファ読み出し部は、過去におこなわれた前記優先順位の入れ替えによって、優先順位が1つ上がっている前記第1のキューイングバッファの輻輳状態の解消を検出すると、前記優先順位の入れ替えを解消する、フレーム転送装置。
[Application Example 4]
In the frame transfer device according to any one of Application Examples 1 to 3,
When the buffer reading unit detects the cancellation of the congestion state of the first queuing buffer whose priority has been increased by one due to the switching of the priorities performed in the past, the buffer reading unit cancels the switching of the priorities. Frame transfer device.

この構成によれば、過去の優先順位の入れ替えによって、優先順位が1つ上がっているキューイングバッファの輻輳状態が解消すると、このキューイングバッファの優先順位を1つ下げて元に戻すため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。   According to this configuration, when the congestion state of the queuing buffer whose priority is increased by 1 is canceled by the replacement of the priorities of the past, the priority of the queuing buffer is decreased by 1 and returned to the original state. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer.

[適用例5]
適用例1ないし適用例4のいずれかに記載のフレーム転送装置において、
前記記憶部には、前記各キューイングバッファの現在の優先順位を示す情報と、前記各キューイングバッファの初期の優先順位を示す情報とが記憶され、
前記バッファ書き込み部は、前記初期の優先順位において、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位を、前記現在の優先順位を示す情報において、前記第1のキューイングバッファより優先順位が1つ下位になるように前記現在の優先順位を示す情報を書き換え、
前記バッファ読み出し部は、前記現在の優先順位に応じて、前記キューイングバッファからフレームを読み出して転送をおこなう、フレーム転送装置。
[Application Example 5]
In the frame transfer apparatus according to any one of Application Examples 1 to 4,
The storage unit stores information indicating the current priority of each queuing buffer and information indicating the initial priority of each queuing buffer;
In the information indicating the current priority level, the buffer writing unit indicates the priority level of the second queuing buffer that is one priority higher than the first queuing buffer in the initial priority level. Rewriting the information indicating the current priority so that the priority is one lower than the first queuing buffer;
The buffer reading unit is a frame transfer device that reads and transfers a frame from the queuing buffer according to the current priority order.

この構成によれば、記憶部には、各キューイングバッファの現在の優先順位を示す情報と、各キューイングバッファの初期の優先順位を示す情報を記憶することによって、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。   According to this configuration, the storage unit stores the information indicating the current priority of each queuing buffer and the information indicating the initial priority of each queuing buffer, thereby accompanying the congestion of the queuing buffer. The occurrence of defects can be efficiently suppressed.

[適用例6]
フレームの転送方法であって、
記憶部に記憶されている優先順位に応じて3以上の複数のキューイングバッファからフレームを読み出して転送をおこなう工程と、
フレームに含まれる情報に応じてフレームを前記複数のキューイングバッファのうちのいずれかに書き込む工程と、
いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこなう工程と、を備えるフレームの転送方法。
[Application Example 6]
A frame transfer method,
A step of reading frames from three or more queuing buffers according to the priority order stored in the storage unit and transferring them;
Writing a frame to any of the plurality of queuing buffers according to information contained in the frame;
When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer having a higher priority than the first queuing buffer when a predetermined condition is satisfied. And a step of exchanging the priorities of the two queuing buffers.

この構成によれば、3以上のキューイングバッファを備えるフレーム転送装置において、いずれかのキューイングバッファが輻輳状態になると、輻輳状態のキューイングバッファの相対的な優先順位を1つ上げるため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。   According to this configuration, in a frame transfer apparatus including three or more queuing buffers, when any of the queuing buffers becomes congested, the relative priority of the congested queuing buffers is increased by one. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer.

[適用例7]
フレーム転送装置であって、
フレームを蓄積可能な3以上の複数のキューイングバッファと、
各前記キューイングバッファからフレームを読み出す相対的な優先順位を記憶する記憶部と、
前記優先順位に応じて前記キューイングバッファからフレームを読み出して転送をおこなうバッファ読み出し部と、
前記フレーム転送装置の外部から受信したフレームを前記フレームに含まれる情報に応じて前記複数のキューイングバッファのうちのいずれかに書き込むバッファ書き込み部と、を備え、
前記記憶部は、各前記キューイングバッファのそれぞれに設定される輻輳閾値と輻輳解消閾値とを記憶し、
前記バッファ書き込み部は、
(i)フレームの蓄積量が前記輻輳閾値を超えたときに前記キューイングバッファの輻輳状態を検出し、フレームの蓄積量が前記輻輳解消閾値を下回ったときに前記キューイングバッファの輻輳状態の解消を検出し、
(ii)いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこない、
(iii)前記第1のキューイングバッファに設定された前記輻輳解消閾値を減少させる、フレーム転送装置。
[Application Example 7]
A frame transfer device,
Three or more queuing buffers capable of storing frames;
A storage unit for storing relative priorities for reading frames from each of the queuing buffers;
A buffer read unit that reads and transfers frames from the queuing buffer according to the priority order; and
A buffer writing unit that writes a frame received from the outside of the frame transfer device to any one of the plurality of queuing buffers according to information included in the frame, and
The storage unit stores a congestion threshold and a congestion elimination threshold set in each of the queuing buffers,
The buffer writing unit
(I) The congestion state of the queuing buffer is detected when the accumulated amount of frames exceeds the congestion threshold, and the congestion state of the queuing buffer is resolved when the accumulated amount of frames falls below the congestion elimination threshold. Detect
(Ii) When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer have one priority when a predetermined condition is satisfied. Change the priority of the upper second queuing buffer,
(Iii) A frame transfer apparatus that reduces the congestion elimination threshold set in the first queuing buffer.

この構成によれば、3以上のキューイングバッファを備えるフレーム転送装置において、いずれかのキューイングバッファが輻輳状態になると、輻輳状態のキューイングバッファの相対的な優先順位を1つ上げるため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。また、いずれかのキューイングバッファが輻輳状態になると、輻輳状態となったキューイングバッファに設定された輻輳解消閾値を減少させるため、キューイングバッファの輻輳に伴う不具合の発生をより抑制することができる。   According to this configuration, in a frame transfer apparatus including three or more queuing buffers, when any of the queuing buffers becomes congested, the relative priority of the congested queuing buffers is increased by one. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer. In addition, if any queuing buffer becomes congested, the congestion elimination threshold set for the congested queuing buffer is decreased, so that the occurrence of problems associated with queuing buffer congestion can be further suppressed. it can.

[適用例8]
フレーム転送装置であって、
フレームを蓄積可能な3以上の複数のキューイングバッファと、
各前記キューイングバッファからフレームを読み出す相対的な優先順位を記憶する記憶部と、
前記優先順位に応じて前記キューイングバッファからフレームを読み出して転送をおこなうバッファ読み出し部と、
前記フレーム転送装置の外部から受信したフレームを前記フレームに含まれる情報に応じて前記複数のキューイングバッファのうちのいずれかに書き込むバッファ書き込み部と、を備え、
前記記憶部は、各前記キューイングバッファのそれぞれに設定される輻輳閾値と輻輳解消閾値とを記憶し、
前記バッファ書き込み部は、
(i)フレームの蓄積量が前記輻輳閾値を超えたときに前記キューイングバッファの輻輳状態を検出し、フレームの蓄積量が前記輻輳解消閾値を下回ったときに前記キューイングバッファの輻輳状態の解消を検出し、
(ii)いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこない、
(iii)所定の時間以上輻輳状態となっていないキューイングバッファを検出すると、前記キューイングバッファに設定された前記輻輳閾値を増加させる、フレーム転送装置。
[Application Example 8]
A frame transfer device,
Three or more queuing buffers capable of storing frames;
A storage unit for storing relative priorities for reading frames from each of the queuing buffers;
A buffer read unit that reads and transfers frames from the queuing buffer according to the priority order; and
A buffer writing unit that writes a frame received from the outside of the frame transfer device to any one of the plurality of queuing buffers according to information included in the frame, and
The storage unit stores a congestion threshold and a congestion elimination threshold set in each of the queuing buffers,
The buffer writing unit
(I) The congestion state of the queuing buffer is detected when the accumulated amount of frames exceeds the congestion threshold, and the congestion state of the queuing buffer is resolved when the accumulated amount of frames falls below the congestion elimination threshold. Detect
(Ii) When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer have one priority when a predetermined condition is satisfied. Change the priority of the upper second queuing buffer,
(Iii) A frame transfer apparatus that increases the congestion threshold set in the queuing buffer when a queuing buffer that is not congested for a predetermined time or more is detected.

この構成によれば、3以上のキューイングバッファを備えるフレーム転送装置において、いずれかのキューイングバッファが輻輳状態になると、輻輳状態のキューイングバッファの相対的な優先順位を1つ上げるため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。また、所定の時間以上輻輳状態となっていないキューイングバッファを検出すると、そのキューイングバッファに設定された輻輳閾値を増加させるため、キューイングバッファの輻輳に伴う不具合の発生をより抑制することができる。   According to this configuration, in a frame transfer apparatus including three or more queuing buffers, when any of the queuing buffers becomes congested, the relative priority of the congested queuing buffers is increased by one. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer. In addition, if a queuing buffer that has not been congested for a predetermined time or more is detected, the congestion threshold set in the queuing buffer is increased, so that the occurrence of problems associated with congestion of the queuing buffer can be further suppressed. it can.

[適用例9]
フレームの転送方法であって、
記憶部に記憶されている優先順位に応じて3以上の複数のキューイングバッファからフレームを読み出して転送をおこなう工程と、
フレームに含まれる情報に応じてフレームを前記複数のキューイングバッファのうちのいずれかに書き込む工程と、
フレームの蓄積量が輻輳閾値を超えたときにキューイングバッファの輻輳状態を検出し、フレームの蓄積量が輻輳解消閾値を下回ったときにキューイングバッファの輻輳状態の解消を検出する工程と、
いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこない、前記第1のキューイングバッファに設定されている輻輳解消閾値を減少させる工程と、を備えるフレームの転送方法。
[Application Example 9]
A frame transfer method,
A step of reading frames from three or more queuing buffers according to the priority order stored in the storage unit and transferring them;
Writing a frame to any of the plurality of queuing buffers according to information contained in the frame;
Detecting the congestion state of the queuing buffer when the accumulated amount of frames exceeds the congestion threshold, and detecting the cancellation of the congestion state of the queuing buffer when the accumulated amount of frames falls below the congestion elimination threshold;
When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer having a higher priority than the first queuing buffer when a predetermined condition is satisfied. And a step of switching the priority order of the two queuing buffers to reduce a congestion elimination threshold set in the first queuing buffer.

この構成によれば、3以上のキューイングバッファを備えるフレーム転送装置において、いずれかのキューイングバッファが輻輳状態になると、輻輳状態のキューイングバッファの相対的な優先順位を1つ上げるため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。また、いずれかのキューイングバッファが輻輳状態になると、輻輳状態となったキューイングバッファに設定された輻輳解消閾値を減少させるため、キューイングバッファの輻輳に伴う不具合の発生をより抑制することができる。   According to this configuration, in a frame transfer apparatus including three or more queuing buffers, when any of the queuing buffers becomes congested, the relative priority of the congested queuing buffers is increased by one. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer. In addition, if any queuing buffer becomes congested, the congestion elimination threshold set for the congested queuing buffer is decreased, so that the occurrence of problems associated with queuing buffer congestion can be further suppressed. it can.

[適用例10]
フレームの転送方法であって、
記憶部に記憶されている優先順位に応じて3以上の複数のキューイングバッファからフレームを読み出して転送をおこなう工程と、
フレームに含まれる情報に応じてフレームを前記複数のキューイングバッファのうちのいずれかに書き込む工程と、
フレームの蓄積量が輻輳閾値を超えたときにキューイングバッファの輻輳状態を検出し、フレームの蓄積量が輻輳解消閾値を下回ったときにキューイングバッファの輻輳状態の解消を検出する工程と、
いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこなう工程と、
所定の時間以上輻輳状態となっていないキューイングバッファを検出すると、前記キューイングバッファに設定された輻輳閾値を増加させる工程と、を備えるフレームの転送方法。
[Application Example 10]
A frame transfer method,
A step of reading frames from three or more queuing buffers according to the priority order stored in the storage unit and transferring them;
Writing a frame to any of the plurality of queuing buffers according to information contained in the frame;
Detecting the congestion state of the queuing buffer when the accumulated amount of frames exceeds the congestion threshold, and detecting the cancellation of the congestion state of the queuing buffer when the accumulated amount of frames falls below the congestion elimination threshold;
When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer having a higher priority than the first queuing buffer when a predetermined condition is satisfied. A step of changing the priority of the queuing buffers of 2;
And a step of increasing a congestion threshold set in the queuing buffer when a queuing buffer that has not been congested for a predetermined time is detected.

この構成によれば、3以上のキューイングバッファを備えるフレーム転送装置において、いずれかのキューイングバッファが輻輳状態になると、輻輳状態のキューイングバッファの相対的な優先順位を1つ上げるため、キューイングバッファの輻輳に伴う不具合の発生を効率的に抑制することができる。また、所定の時間以上輻輳状態となっていないキューイングバッファを検出すると、そのキューイングバッファに設定された輻輳閾値を増加させるため、キューイングバッファの輻輳に伴う不具合の発生をより抑制することができる。   According to this configuration, in a frame transfer apparatus including three or more queuing buffers, when any of the queuing buffers becomes congested, the relative priority of the congested queuing buffers is increased by one. It is possible to efficiently suppress the occurrence of problems associated with congestion of the ining buffer. In addition, if a queuing buffer that has not been congested for a predetermined time or more is detected, the congestion threshold set in the queuing buffer is increased, so that the occurrence of problems associated with congestion of the queuing buffer can be further suppressed. it can.

なお、本発明は、上記以外の種々の形態で実現することが可能であり、例えば、フレーム転送装置を含んで構成されるネットワークシステム、フレーム転送装置の制御方法、キューイングバッファの制御方法、これらの制御方法を実現するためのコンピュータープログラム、および、そのコンピュータープログラムを記録した記憶媒体等の形態で実現することができる。また、本発明に係るフレーム転送装置は、適宜、他の部材と組み合わせて適用することができる。   The present invention can be realized in various forms other than those described above. For example, a network system including a frame transfer apparatus, a frame transfer apparatus control method, a queuing buffer control method, and the like The present invention can be realized in the form of a computer program for realizing the control method and a storage medium on which the computer program is recorded. The frame transfer apparatus according to the present invention can be applied in combination with other members as appropriate.

第1実施例に係るフレーム転送装置を含んで構成されるネットワークシステムを例示した説明図である。It is explanatory drawing which illustrated the network system comprised including the frame transmission apparatus which concerns on 1st Example. フレーム転送装置の概略構成を説明するための説明図である。It is explanatory drawing for demonstrating schematic structure of a frame transfer apparatus. フレームが属する優先クラスの特定方法を説明するための説明図である。It is explanatory drawing for demonstrating the identification method of the priority class to which a flame | frame belongs. バッファ状態管理テーブルの内容を説明するための説明図である。It is explanatory drawing for demonstrating the content of the buffer status management table. キューイングバッファの輻輳状態の検出方法を説明するための説明図である。It is explanatory drawing for demonstrating the detection method of the congestion state of a queuing buffer. キューイングバッファの輻輳状態の解消を検出する方法を説明するための説明図である。It is explanatory drawing for demonstrating the method to detect cancellation | release of the congestion state of a queuing buffer. バッファ書き込み部150の処理の流れを示したフローチャートである。5 is a flowchart showing a processing flow of a buffer writing unit 150. 図7のステップS107における優先度変更設定解除処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the priority change setting cancellation | release process in step S107 of FIG. ステップS107の優先度変更設定解除処理時のバッファ状態管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer status management table at the time of the priority change setting cancellation | release process of step S107. 図7のステップS111における優先度変更設定処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the priority change setting process in step S111 of FIG. 優先度変更設定処理時のバッファ状態管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer status management table at the time of a priority change setting process. バッファ読み出し部160の処理の流れを示したフローチャートである。6 is a flowchart showing a processing flow of a buffer reading unit 160. 図12のステップS408における優先度変更設定解除処理の流れを示したフローチャートである。13 is a flowchart illustrating a flow of priority change setting release processing in step S408 of FIG. ステップS408の優先度変更設定解除処理時のバッファ状態管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer status management table at the time of the priority change setting cancellation | release process of step S408. フレーム転送装置の動作を例示するための第1の説明図である。FIG. 10 is a first explanatory diagram for illustrating the operation of the frame transfer apparatus. 図15の動作時のバッファ状態管理テーブルを説明するための説明図である。FIG. 16 is an explanatory diagram for explaining a buffer state management table during the operation of FIG. 15; フレーム転送装置の動作を例示するための第2の説明図である。FIG. 10 is a second explanatory diagram for illustrating the operation of the frame transfer apparatus. 図17の動作時のバッファ状態管理テーブルを説明するための説明図である。FIG. 18 is an explanatory diagram for explaining a buffer state management table during the operation of FIG. 17; フレーム転送装置の動作を例示するための第3の説明図である。FIG. 10 is a third explanatory diagram for illustrating the operation of the frame transfer apparatus. 図19の動作時のバッファ状態管理テーブルを説明するための説明図である。FIG. 20 is an explanatory diagram for explaining a buffer state management table during the operation of FIG. 19; 第2実施例に係るフレーム転送装置の概略構成を説明するための説明図である。It is explanatory drawing for demonstrating schematic structure of the frame transmission apparatus concerning 2nd Example. バッファ閾値管理テーブルの内容を説明するための説明図である。It is explanatory drawing for demonstrating the content of the buffer threshold value management table. 第2実施例におけるバッファ書き込み部150の処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the process of the buffer writing part 150 in 2nd Example. 図23のステップS120における輻輳閾値Th1変更判定処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the congestion threshold value Th1 change determination process in step S120 of FIG. ステップS120の輻輳閾値Th1変更判定処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of the congestion threshold value Th1 change determination process of step S120. ステップS120の輻輳閾値Th1変更判定処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of the congestion threshold value Th1 change determination process of step S120. 図23のステップS140における輻輳閾値Th1変更解除処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the congestion threshold value Th1 change cancellation process in step S140 of FIG. ステップS140の輻輳閾値Th1変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of congestion threshold value Th1 change cancellation process of step S140. ステップS140の輻輳閾値Th1変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of congestion threshold value Th1 change cancellation process of step S140. 図23のステップS150における輻輳解消閾値Th2変更判定処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the congestion cancellation threshold value Th2 change determination process in step S150 of FIG. ステップS150の輻輳解消閾値Th2変更判定処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of the congestion elimination threshold value Th2 change determination process of step S150. ステップS150の輻輳解消閾値Th2変更判定処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of the congestion elimination threshold value Th2 change determination process of step S150. 図30のステップS160における下位の優先クラスに対する輻輳解消閾値Th2変更解除処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the congestion cancellation threshold value Th2 change cancellation process with respect to the low-order priority class in step S160 of FIG. ステップS160の輻輳解消閾値Th2変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of congestion cancellation threshold value Th2 change cancellation | release process of step S160. 第2実施例におけるバッファ読み出し部160の処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the process of the buffer reading part 160 in 2nd Example. 図35のステップS420における対象優先クラスに対する輻輳解消閾値Th2変更解除処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the congestion cancellation threshold value Th2 change cancellation process with respect to the object priority class in step S420 of FIG. ステップS420の輻輳解消閾値Th2変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of the congestion cancellation threshold value Th2 change cancellation | release process of step S420. 第2実施例のフレーム転送装置の動作を例示するための第1の説明図である。It is the 1st explanatory view for illustrating operation of the frame transfer device of the 2nd example. 図38の動作時のバッファ閾値管理テーブルを説明するための説明図である。FIG. 39 is an explanatory diagram for describing a buffer threshold value management table during the operation of FIG. 38; 第2実施例のフレーム転送装置の動作を例示するための第2の説明図である。It is the 2nd explanatory view for illustrating operation of the frame transfer device of the 2nd example. 図40の動作時のバッファ閾値管理テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the buffer threshold value management table at the time of operation | movement of FIG. 第2実施例のフレーム転送装置の動作を例示するための第3の説明図である。It is the 3rd explanatory view for illustrating operation of the frame transfer device of the 2nd example. 図42の動作時のバッファ閾値管理テーブルを説明するための説明図である。FIG. 43 is an explanatory diagram for describing a buffer threshold value management table during the operation of FIG. 42; 第2実施例のフレーム転送装置の動作を例示するための第4の説明図である。It is the 4th explanatory view for illustrating operation of the frame transfer device of the 2nd example. 図44の動作時のバッファ閾値管理テーブルを説明するための説明図である。FIG. 45 is an explanatory diagram for describing a buffer threshold value management table during the operation of FIG. 44; 第2実施例のフレーム転送装置の動作を例示するための第5の説明図である。It is the 5th explanatory view for illustrating operation of the frame transfer device of the 2nd example. 図46の動作時のバッファ閾値管理テーブルを説明するための説明図である。FIG. 47 is an explanatory diagram for describing a buffer threshold value management table during the operation of FIG. 46;

A.第1実施例:
図1は、第1実施例に係るフレーム転送装置を含んで構成されるネットワークシステムを例示した説明図である。ネットワークシステム10は、会社内等において構築されるシステムであって、フレーム転送装置100と、ユーザ端末200と、サーバ300と、ストレージ400と、設定監視用端末500と、を備えている。フレーム転送装置100は、ユーザ端末200と、サーバ300と、ストレージ400と、設定監視用端末500にそれぞれ接続され、各装置間のフレームのやりとりの中継をおこなう。
A. First embodiment:
FIG. 1 is an explanatory diagram illustrating a network system including a frame transfer apparatus according to the first embodiment. The network system 10 is a system constructed in a company or the like, and includes a frame transfer device 100, a user terminal 200, a server 300, a storage 400, and a setting monitoring terminal 500. The frame transfer apparatus 100 is connected to the user terminal 200, the server 300, the storage 400, and the setting monitoring terminal 500, and relays the exchange of frames between the apparatuses.

フレーム転送装置100は、各装置から受信したフレームを転送の優先度に応じて複数のクラスに分類し、優先度の高いクラスに属するフレームを優先的に転送する。一方、フレーム転送装置100は、クラスごとのフレームの受信量に応じて一時的にクラスの優先度を切り替える。以後、本実施例では、上述したように転送の優先度に応じたフレームの分類を「優先クラス」または単に「クラス」と呼ぶ。フレーム転送装置100の具体的な動作については後述する。   The frame transfer apparatus 100 classifies the frames received from the respective apparatuses into a plurality of classes according to the transfer priority, and preferentially transfers the frames belonging to the higher priority class. On the other hand, the frame transfer apparatus 100 temporarily switches the class priority in accordance with the amount of received frames for each class. Hereinafter, in this embodiment, as described above, the classification of frames according to the transfer priority is referred to as “priority class” or simply “class”. Specific operations of the frame transfer apparatus 100 will be described later.

サーバ300は、ユーザ端末200からのアプリケーションの要求に応じて、ストレージ400に格納されている画像データや動画データ等の種々のデータを取得し、ユーザ端末200に転送する。設定監視用端末500は、フレーム転送装置100の設定や状態の管理をおこなうために使用される。   In response to an application request from the user terminal 200, the server 300 acquires various data such as image data and moving image data stored in the storage 400 and transfers the data to the user terminal 200. The setting monitoring terminal 500 is used for managing settings and states of the frame transfer apparatus 100.

図2は、フレーム転送装置の概略構成を説明するための説明図である。
フレーム転送装置100は、フレーム転送部110と、複数の回線インターフェース部131〜133とを備えている。フレーム転送部110は、回線インターフェース部131〜133とそれぞれ接続され、回線インターフェース部131〜133間のフレーム転送をおこなう。本実施例では、回線インターフェース部131は、ストレージ400と接続され、回線インターフェース部132は、サーバ300と接続され、回線インターフェース部133は、ユーザ端末200と接続されている。
FIG. 2 is an explanatory diagram for explaining a schematic configuration of the frame transfer apparatus.
The frame transfer apparatus 100 includes a frame transfer unit 110 and a plurality of line interface units 131 to 133. The frame transfer unit 110 is connected to the line interface units 131 to 133, and performs frame transfer between the line interface units 131 to 133. In this embodiment, the line interface unit 131 is connected to the storage 400, the line interface unit 132 is connected to the server 300, and the line interface unit 133 is connected to the user terminal 200.

フレーム転送部110は、キューイングバッファ群140と、バッファ書き込み部150と、バッファ読み出し部160と、優先クラステーブル170と、バッファ状態管理テーブル180と、を備えている。キューイングバッファ群140は、フレームを格納するための複数(ここでは4つ)のキューイングバッファ141〜144により構成されている。以後、4つのキューイングバッファ141〜144をそれぞれ、第1キューイングバッファ141、第2キューイングバッファ142、第3キューイングバッファ143、第4キューイングバッファ144とも呼ぶ。優先クラステーブル170とバッファ状態管理テーブル180は、メモリなどによって構成される記憶部190に記憶されている。   The frame transfer unit 110 includes a queuing buffer group 140, a buffer writing unit 150, a buffer reading unit 160, a priority class table 170, and a buffer state management table 180. The queuing buffer group 140 includes a plurality (four in this case) of queuing buffers 141 to 144 for storing frames. Hereinafter, the four queuing buffers 141 to 144 are also referred to as a first queuing buffer 141, a second queuing buffer 142, a third queuing buffer 143, and a fourth queuing buffer 144, respectively. The priority class table 170 and the buffer status management table 180 are stored in a storage unit 190 configured by a memory or the like.

各キューイングバッファ141〜144は、互いに優先度の異なる4つの優先クラスとそれぞれ一対一に対応付けられている。すなわち、各キューイングバッファ141〜144には、バッファ書き込み部150によって、同じ優先クラスに属するフレームが格納される。また、バッファ読み出し部160によって、優先度の高い優先クラスのキューイングバッファから優先的にフレームが読み出され、転送される。   Each of the queuing buffers 141 to 144 is in one-to-one correspondence with four priority classes having different priorities. That is, frames belonging to the same priority class are stored in the queuing buffers 141 to 144 by the buffer writing unit 150. In addition, the buffer reading unit 160 preferentially reads and transfers a frame from the priority class queuing buffer having a high priority.

バッファ書き込み部150は、フレーム転送装置100がフレームを受信すると、フレームに含まれる情報(以後「フレーム内情報」とも呼ぶ)に応じた優先クラスのキューイングバッファに格納する。バッファ書き込み部150は、優先クラステーブル170を参照することによってフレームが属する優先クラスを特定する。   When the frame transfer apparatus 100 receives a frame, the buffer writing unit 150 stores the frame in a priority class queuing buffer corresponding to information included in the frame (hereinafter also referred to as “in-frame information”). The buffer writing unit 150 refers to the priority class table 170 to identify the priority class to which the frame belongs.

図3は、フレームが属する優先クラスの特定方法を説明するための説明図である。図3(a)は、フレームの概略構造を説明するための説明図である。図3(a)に示すように、フレームには、宛先、送信元、ユーザ種別、アプリケーション種別、アプリケーションデータなどのフレーム内情報が含まれている。アプリケーション種別とは、アプリケーションデータの種別を識別可能な情報であり、アプリケーションデータが、例えば、音声データ、動画データ、静止画像データ、文字データなどのいずれであるかを特定するための情報である。本実施例では、このアプリケーション種別として、TCPやUDPプロトコルのヘッダに含まれるポート番号が利用される。バッファ書き込み部150は、例えば、フレームからアプリケーション種別を読み出し、優先クラステーブル170を参照することによって、そのフレームが属する優先クラスを特定する。   FIG. 3 is an explanatory diagram for explaining a method for specifying a priority class to which a frame belongs. FIG. 3A is an explanatory diagram for explaining a schematic structure of a frame. As shown in FIG. 3A, the frame includes in-frame information such as a destination, a transmission source, a user type, an application type, and application data. The application type is information that can identify the type of application data, and is information for specifying whether the application data is, for example, audio data, moving image data, still image data, character data, or the like. In this embodiment, a port number included in the header of TCP or UDP protocol is used as the application type. For example, the buffer writing unit 150 reads the application type from the frame and refers to the priority class table 170 to identify the priority class to which the frame belongs.

図3(b)は、優先クラステーブルの内容を説明するための説明図である。優先クラステーブル170は、アプリケーション種別F11と、優先クラスF12との2つのフィールドを備え、アプリケーション種別と優先クラスとの対応関係が示されている。ここでは、優先クラスとして、優先クラスに対応するキューイングバッファ141〜144が示されている。優先クラステーブル170では、例えば、エントリE11において、音声データとキューイングバッファ141とが対応付けられている。また、エントリE12において、動画データとキューイングバッファ142とが対応付けられている。バッファ書き込み部150は、フレーム転送装置100が受信したフレームが音声データであることを特定すると、優先クラステーブル170を参照してそのフレームをキューイングバッファ141に格納する。なお、優先クラステーブル170の内容は、設定監視用端末500によって任意に設定可能に構成されていてもよい。   FIG. 3B is an explanatory diagram for explaining the contents of the priority class table. The priority class table 170 includes two fields of an application type F11 and a priority class F12, and shows a correspondence relationship between the application type and the priority class. Here, queuing buffers 141 to 144 corresponding to the priority class are shown as the priority class. In the priority class table 170, for example, in the entry E11, the audio data and the queuing buffer 141 are associated with each other. In entry E12, the moving image data and the queuing buffer 142 are associated with each other. When the buffer writing unit 150 specifies that the frame received by the frame transfer apparatus 100 is audio data, the buffer writing unit 150 refers to the priority class table 170 and stores the frame in the queuing buffer 141. The contents of the priority class table 170 may be configured to be arbitrarily settable by the setting monitoring terminal 500.

バッファ読み出し部160は、キューイングバッファ141〜144に格納されているフレームを読み出して転送する。このとき、バッファ読み出し部160は、優先度の高い優先クラスに対応するキューイングバッファから優先的にフレームを読みだし、転送をおこなう。バッファ読み出し部160は、バッファ状態管理テーブル180を参照することによって、各キューイングバッファに対応する優先クラスの優先度を特定する。   The buffer reading unit 160 reads and transfers the frames stored in the queuing buffers 141 to 144. At this time, the buffer reading unit 160 reads frames preferentially from the queuing buffer corresponding to the priority class having a high priority, and performs transfer. The buffer reading unit 160 refers to the buffer state management table 180 to identify the priority of the priority class corresponding to each queuing buffer.

図4は、バッファ状態管理テーブルの内容を説明するための説明図である。バッファ状態管理テーブル180は、優先クラスF21と、現在優先度F22と、初期優先度F23と、輻輳フラグF24と、優先度変更設定フラグF25の5つのフィールドを備えている。優先クラスF21は、優先クラステーブル170の優先クラスF12(図3)と同様に、キューイングバッファ141〜144を示している。   FIG. 4 is an explanatory diagram for explaining the contents of the buffer status management table. The buffer status management table 180 includes five fields: a priority class F21, a current priority F22, an initial priority F23, a congestion flag F24, and a priority change setting flag F25. The priority class F21 indicates the queuing buffers 141 to 144 as with the priority class F12 (FIG. 3) of the priority class table 170.

現在優先度F22は、各優先クラスの相対的な優先順位を示している。すなわち、バッファ読み出し部160によって読み出されるキューイングバッファの優先順位が示されている。ここでは、現在優先度の値が大きいほどがより優先順位が高いことを示している。よって、図4では、第1キューイングバッファ141が最も優先順位が高く、順に優先順位が下がり、第4キューイングバッファ144が最も優先順位が低い状態が示されている。現在優先度F22は、後述するように、バッファ書き込み部150やバッファ読み出し部160によって値が適宜書き替えられる。初期優先度F23は、設定監視用端末500を介して予め設定された各優先クラスの相対的な優先順位であり、現在優先度F22の初期設定値として用いられる。   The current priority F22 indicates the relative priority of each priority class. That is, the priority order of the queuing buffers read by the buffer reading unit 160 is shown. Here, the larger the current priority value is, the higher the priority is. Therefore, FIG. 4 shows a state in which the first queuing buffer 141 has the highest priority, the priority decreases in order, and the fourth queuing buffer 144 has the lowest priority. As will be described later, the value of the current priority F22 is appropriately rewritten by the buffer writing unit 150 and the buffer reading unit 160. The initial priority F23 is a relative priority of each priority class set in advance via the setting monitoring terminal 500, and is used as an initial setting value of the current priority F22.

輻輳フラグF24は、各優先クラスのキューイングバッファが輻輳状態にあるか否かを示している。ここでは、輻輳状態ではない優先クラスに「0」がセットされ、輻輳状態となったときに「1」がセットされる。輻輳フラグF24は、後述するように、バッファ書き込み部150がキューイングバッファの輻輳状態を検出すると、対応する優先クラスに「1」がセットされる。また、輻輳フラグF24は、後述するように、バッファ読み出し部160がキューイングバッファの輻輳状態の解消を検出すると、対応する優先クラスに「0」がセットされる。輻輳状態の解消とは、輻輳状態であったキューイングバッファが輻輳状態でなくなったことをいう。   The congestion flag F24 indicates whether or not each priority class queuing buffer is in a congestion state. Here, “0” is set in the priority class that is not in the congestion state, and “1” is set in the congestion state. As described later, when the buffer writing unit 150 detects the congestion state of the queuing buffer, the congestion flag F24 is set to “1” in the corresponding priority class. Further, as will be described later, when the buffer reading unit 160 detects the cancellation of the congestion state of the queuing buffer, the congestion flag F24 is set to “0” in the corresponding priority class. The cancellation of the congestion state means that the queuing buffer that was in the congestion state is no longer in the congestion state.

優先度変更設定フラグF25は、各優先クラスにおいて、優先度変更設定がおこなわれている否かを示している。優先度変更設定とは、隣接する優先クラスの現在優先度が一時的に入れ替えられた状態に設定されることであり、後に詳述する。図4では、優先度変更設定によって一時的に現在優先度が低下している優先クラスに「1」がセットされ、それ以外の優先クラスに「0」がセットされている。優先度変更設定フラグF25は、後述するように、バッファ書き込み部150とバッファ読み出し部160によって書き替えられる。   The priority change setting flag F25 indicates whether or not priority change setting is performed in each priority class. The priority change setting is a setting in which the current priority of adjacent priority classes is temporarily replaced, which will be described in detail later. In FIG. 4, “1” is set to the priority class whose current priority is temporarily lowered due to the priority change setting, and “0” is set to the other priority classes. The priority change setting flag F25 is rewritten by the buffer writing unit 150 and the buffer reading unit 160, as will be described later.

図5は、キューイングバッファの輻輳状態の検出方法を説明するための説明図である。図5には、フレームの格納によって輻輳状態になる第2キューイングバッファ142が一例として示されている。第2キューイングバッファ142を含む各キューイングバッファ141〜144には、データの蓄積量が所定量を超えているか否かを判定するための輻輳閾値Th1が予め設定されている。バッファ書き込み部150は、第2キューイングバッファ142にフレームを格納した後に、第2キューイングバッファ142に蓄積されているフレームデータの蓄積量が輻輳閾値Th1を超えたか否かを判定する。   FIG. 5 is an explanatory diagram for explaining a method of detecting a congestion state of the queuing buffer. FIG. 5 shows an example of the second queuing buffer 142 that becomes congested by storing frames. In each of the queuing buffers 141 to 144 including the second queuing buffer 142, a congestion threshold value Th1 for determining whether or not the data accumulation amount exceeds a predetermined amount is set in advance. After storing the frame in the second queuing buffer 142, the buffer writing unit 150 determines whether or not the amount of frame data accumulated in the second queuing buffer 142 exceeds the congestion threshold Th1.

図5の下方に示すように、フレームの蓄積量が輻輳閾値Th1を超える場合には、バッファ書き込み部150は、第2キューイングバッファ142について輻輳状態を検出する。バッファ書き込み部150は、輻輳状態を検出すると、バッファ状態管理テーブル180の第2キューイングバッファ142に対応する優先クラスの輻輳フラグF24を「1」にセットする。バッファ書き込み部150は、すべてのキューイングバッファ141〜144について輻輳状態になっているか否かの検出をおこなう。なお、輻輳閾値Th1は、設定監視用端末500によって予め任意の値に設定することができる。また、キューイングバッファ141〜144ごとに異なる値を設定するともできる。また、設定監視用端末500によって、キューイングバッファ141〜144ごとに設定されている輻輳閾値Th1と、データの蓄積量が確認できるようにしてもよい。   As shown in the lower part of FIG. 5, when the frame accumulation amount exceeds the congestion threshold Th <b> 1, the buffer writing unit 150 detects a congestion state for the second queuing buffer 142. When detecting the congestion state, the buffer writing unit 150 sets the priority class congestion flag F24 corresponding to the second queuing buffer 142 of the buffer state management table 180 to “1”. The buffer writing unit 150 detects whether or not all the queuing buffers 141 to 144 are congested. The congestion threshold value Th1 can be set to an arbitrary value in advance by the setting monitoring terminal 500. Different values can be set for each of the queuing buffers 141 to 144. Further, the setting monitoring terminal 500 may check the congestion threshold Th1 set for each of the queuing buffers 141 to 144 and the accumulated amount of data.

図6は、キューイングバッファの輻輳状態の解消を検出する方法を説明するための説明図である。図6には、フレームの送出によって輻輳状態が解消した第2キューイングバッファ142が一例として示されている。第2キューイングバッファ142を含む各キューイングバッファ141〜144には、データの蓄積量が所定量を下回っているか否か判定するための輻輳解消閾値Th2が予め設定されている。輻輳解消閾値Th2は輻輳閾値Th1よりも小さい値になるように設定されている(Th2<Th1)。   FIG. 6 is an explanatory diagram for explaining a method of detecting the cancellation of the congestion state of the queuing buffer. FIG. 6 shows, as an example, the second queuing buffer 142 in which the congestion state has been eliminated by sending frames. In each of the queuing buffers 141 to 144 including the second queuing buffer 142, a congestion elimination threshold Th2 for determining whether or not the accumulated amount of data is below a predetermined amount is set in advance. The congestion elimination threshold Th2 is set to be smaller than the congestion threshold Th1 (Th2 <Th1).

バッファ読み出し部160は、輻輳状態の第2キューイングバッファ142からフレームを読み出した後に、第2キューイングバッファ142に蓄積されているフレームデータの蓄積量が輻輳解消閾値Th2を下回ったか否かを判定する。図6の下方に示すように、フレームの蓄積量が輻輳解消閾値Th2を下回った場合には、バッファ読み出し部160は、第2キューイングバッファ142について輻輳状態の解消を検出する。バッファ読み出し部160は、輻輳状態の解消を検出すると、バッファ状態管理テーブル180の第2キューイングバッファ142に対応する優先クラスの輻輳フラグF24を「0」にセットする。   The buffer read unit 160 determines whether or not the accumulated amount of frame data stored in the second queuing buffer 142 has fallen below the congestion elimination threshold Th2 after reading the frame from the congested second queuing buffer 142. To do. As shown in the lower part of FIG. 6, when the accumulated amount of frames falls below the congestion elimination threshold Th <b> 2, the buffer reading unit 160 detects the congestion state elimination for the second queuing buffer 142. When the buffer reading unit 160 detects the cancellation of the congestion state, the buffer reading unit 160 sets the congestion flag F24 of the priority class corresponding to the second queuing buffer 142 of the buffer state management table 180 to “0”.

バッファ読み出し部160は、すべてのキューイングバッファ141〜144について輻輳状態が解消しているか否かの検出をおこなう。なお、輻輳解消閾値Th2についても、設定監視用端末500によって予め任意の値に設定することができる。また、キューイングバッファ141〜144ごとに異なる値を設定するともできる。また、設定監視用端末500によって、キューイングバッファ141〜144ごとに設定されている輻輳解消閾値Th2が確認できるようにしてもよい。また、輻輳解消閾値Th2と輻輳閾値Th1は、同じ値であってもよい(Th2=Th1)。   The buffer reading unit 160 detects whether or not the congestion state has been resolved for all the queuing buffers 141 to 144. Note that the congestion elimination threshold Th2 can also be set to an arbitrary value in advance by the setting monitoring terminal 500. Different values can be set for each of the queuing buffers 141 to 144. Moreover, the congestion monitoring threshold Th2 set for each of the queuing buffers 141 to 144 may be confirmed by the setting monitoring terminal 500. Further, the congestion elimination threshold Th2 and the congestion threshold Th1 may be the same value (Th2 = Th1).

図7は、バッファ書き込み部150の処理の流れを示したフローチャートである。バッファ書き込み部150は、回線インターフェース部131〜133のいずれかがフレームを受信すると、回線インターフェース部からフレームを取り出す(ステップS101)。   FIG. 7 is a flowchart showing the processing flow of the buffer writing unit 150. When any of the line interface units 131 to 133 receives a frame, the buffer writing unit 150 extracts the frame from the line interface unit (step S101).

バッファ書き込み部150は、取り出したフレームからアプリケーション種別を読み出す。上述したように、ここでは、TCPやUDPプロトコルのヘッダに含まれるポート番号が読み出される。その後、バッファ書き込み部150は、優先クラステーブル170(図3)を参照して、読み出したアプリケーション種別からそのフレームが属する優先クラスを特定する(ステップS102)。以後、ステップS102において特定された優先クラスを「対象優先クラス」とも呼ぶ。   The buffer writing unit 150 reads the application type from the extracted frame. As described above, here, the port number included in the header of the TCP or UDP protocol is read. Thereafter, the buffer writing unit 150 refers to the priority class table 170 (FIG. 3) and identifies the priority class to which the frame belongs from the read application type (step S102). Hereinafter, the priority class specified in step S102 is also referred to as “target priority class”.

バッファ書き込み部150は、対象優先クラスに対応するキューイングバッファにそのフレームを書き込む(ステップS103)。書き込みをおこなった後、バッファ書き込み部150は、このキューイングバッファが輻輳状態となったか否かを判定する(ステップS104)。輻輳状態か否かの判定方法は、図5を用いて説明したとおりである。   The buffer writing unit 150 writes the frame in the queuing buffer corresponding to the target priority class (step S103). After writing, the buffer writing unit 150 determines whether or not this queuing buffer is in a congested state (step S104). The method of determining whether or not the congestion state is as described with reference to FIG.

バッファ書き込み部150は、このキューイングバッファの輻輳状態を検出しなかった場合(ステップS104:NO)、ステップS101に戻り、再度、回線インターフェース部131〜133のいずれかがフレームを受信するまで待機する。一方、輻輳状態を検出した場合(ステップS104:YES)、バッファ書き込み部150は、バッファ状態管理テーブル180(図4)を参照して、対象優先クラスの輻輳フラグF24が「1」であるか否かを判定する(ステップS105)。   If the buffer writing unit 150 does not detect the congestion state of the queuing buffer (step S104: NO), the buffer writing unit 150 returns to step S101 and waits again until any of the line interface units 131 to 133 receives a frame. . On the other hand, when the congestion state is detected (step S104: YES), the buffer writing unit 150 refers to the buffer state management table 180 (FIG. 4) and determines whether the congestion flag F24 of the target priority class is “1”. Is determined (step S105).

対象優先クラスの輻輳フラグF24が「0」である場合(ステップS105:NO)、この対象優先クラスの輻輳フラグF24を「1」にセットする(ステップS106)。すなわち、今回のフレームの書き込みによって、キューイングバッファが新たに輻輳状態になったため、対応する優先クラスの輻輳フラグF24が「0」から「1」に切り替えられたことになる。   When the congestion flag F24 of the target priority class is “0” (step S105: NO), the congestion flag F24 of the target priority class is set to “1” (step S106). That is, since the queuing buffer is newly congested by writing the current frame, the congestion flag F24 of the corresponding priority class is switched from “0” to “1”.

バッファ書き込み部150は、対象優先クラスの輻輳フラグF24を「1」にセットした後、対象優先クラスと、対象優先クラスより初期優先度の低い(下位の)優先クラスに対する優先度変更設定解除処理をおこなう(ステップS107)。対象優先クラスと、対象優先クラスより下位の優先クラスに対する優先度変更設定解除処理とは、対象優先クラスや対象優先クラスより初期優先度F23の低い(下位の)優先クラスにおいて優先度変更設定がおこなわれている場合に、この設定を解除するための処理である。なお、優先度変更設定がおこなわれている優先クラスか否かについては、優先度変更設定フラグF25が「1」となっているか否かで判別することができる。優先クラスである。対象優先クラス以下の優先クラスに対する優先度変更設定解除処理の詳細については、図8を用いて後述する。   After setting the congestion flag F24 of the target priority class to “1”, the buffer writing unit 150 performs priority change setting release processing for the target priority class and a priority class having a lower initial priority (lower order) than the target priority class. Perform (step S107). The priority change setting release processing for the target priority class and the priority class lower than the target priority class is performed by changing the priority in the priority class having a lower (lower) initial priority F23 than the target priority class or the target priority class. This is a process for canceling this setting. It should be noted that whether or not the priority class has been subjected to the priority change setting can be determined by whether or not the priority change setting flag F25 is “1”. It is a priority class. Details of the priority change setting cancellation processing for priority classes below the target priority class will be described later with reference to FIG.

なお、バッファ状態管理テーブル180に図4の内容が設定された状態で、第2キューイングバッファ142が対象優先クラスに対応する場合、対象優先クラスよりも下位の優先クラスとは、第3キューイングバッファ143と第4キューイングバッファ144にそれぞれ対応する優先クラスが該当する。一方、第1キューイングバッファ141と対応する優先クラスは、対象優先クラスよりも上位の優先クラスに該当する。   Note that when the contents of FIG. 4 are set in the buffer status management table 180 and the second queuing buffer 142 corresponds to the target priority class, the priority class lower than the target priority class is the third queuing. The priority classes corresponding to the buffer 143 and the fourth queuing buffer 144 correspond to this. On the other hand, the priority class corresponding to the first queuing buffer 141 corresponds to a higher priority class than the target priority class.

ステップS105において、対象優先クラスの輻輳フラグF24が既に「1」である場合、または、ステップS107の処理をおこなった後、バッファ書き込み部150は、対象優先クラスよりも初期優先度F23の高い(上位の)優先クラスが存在するか否かを判定する(ステップS108)。具体的には、バッファ書き込み部150は、バッファ状態管理テーブル180の初期優先度F23を参照して、対象優先クラスよりも上位の優先クラスが存在するか否かを判定する。上位の優先クラスが存在しない場合(ステップS108:NO)、すなわち、対象優先クラスが第1キューイングバッファ141と対応している場合、バッファ書き込み部150の処理は、ステップS101に戻る。   In step S105, when the congestion flag F24 of the target priority class is already “1”, or after performing the process of step S107, the buffer writing unit 150 has a higher initial priority F23 than the target priority class (higher order). It is determined whether or not a priority class exists (step S108). Specifically, the buffer writing unit 150 refers to the initial priority F23 of the buffer state management table 180, and determines whether or not a priority class higher than the target priority class exists. If there is no higher priority class (step S108: NO), that is, if the target priority class corresponds to the first queuing buffer 141, the processing of the buffer writing unit 150 returns to step S101.

対象優先クラスよりも上位の優先クラスが存在する場合(ステップS108:YES)、バッファ書き込み部150の処理は、さらに、対象優先クラスよりも一つ上位(直上)の優先クラスの輻輳フラグF24が「1」か否かを判定する(ステップS109)。直上の優先クラスの輻輳フラグF24が「1」である場合(ステップS109:YES)、バッファ書き込み部150の処理は、ステップS101に戻る。   When a priority class higher than the target priority class exists (step S108: YES), the buffer writing unit 150 further performs processing such that the congestion flag F24 of the priority class one level higher than the target priority class (directly above) indicates “ 1 ”is determined (step S109). When the congestion flag F24 of the immediately preceding priority class is “1” (step S109: YES), the processing of the buffer writing unit 150 returns to step S101.

直上の優先クラスの輻輳フラグF24が「0」である場合(ステップS109:NO)、バッファ書き込み部150は、対象優先クラスより上位のいずれかの優先クラスにおいて優先度変更設定がおこなわれているか否かを判定する(ステップS110)。この判定は、対象優先クラスより上位のいずれかの優先クラスにおいて、優先度変更設定フラグF25が「1」となっているか否かによっておこなうことができる。   When the congestion flag F24 of the immediately preceding priority class is “0” (step S109: NO), the buffer writing unit 150 determines whether or not priority change setting has been performed in any priority class higher than the target priority class. Is determined (step S110). This determination can be made based on whether or not the priority change setting flag F25 is “1” in any priority class higher than the target priority class.

対象優先クラスより上位の優先クラスのいずれかにおいて優先度変更設定がおこなわれている場合には(ステップS110:YES)、バッファ書き込み部150の処理は、ステップS101に戻る。一方、対象優先クラスより上位のすべての優先クラスにおいて優先度変更設定がおこなわれていない場合には(ステップS110:NO)、バッファ書き込み部150は、優先度変更設定処理をおこなう(ステップS111)。優先度変更設定処理とは、対象優先クラスと、対象優先クラスの直上の優先クラスの現在優先度を入れ替える処理である。優先度変更設定処理の詳細については、図10を用いて後述する。優先度変更設定処理を実行した後、バッファ書き込み部150の処理は、ステップS101に戻る。   When priority change setting is performed in any of the priority classes higher than the target priority class (step S110: YES), the processing of the buffer writing unit 150 returns to step S101. On the other hand, when priority change setting is not performed in all priority classes higher than the target priority class (step S110: NO), the buffer writing unit 150 performs priority change setting processing (step S111). The priority change setting process is a process of switching the current priority of the target priority class and the priority class immediately above the target priority class. Details of the priority change setting process will be described later with reference to FIG. After executing the priority change setting process, the process of the buffer writing unit 150 returns to step S101.

図8は、図7のステップS107における優先度変更設定解除処理の流れを示したフローチャートである。図9は、ステップS107の優先度変更設定解除処理時のバッファ状態管理テーブルを説明するための説明図である。バッファ書き込み部150は、この優先度変更設定解除処理によって、対象優先クラスと、対象優先クラスより下位の各優先クラスにおいて、現在優先度と初期優先度とが等しくなるように設定する。以下に優先度変更設定解除処理の一例を示す。ここでは、バッファ書き込み部150は、優先クラスのうちのいずれか1つを設定登録可能な優先クラス登録部を備えているものとして説明する。なお、優先クラス登録部は、バッファ書き込み部150が優先クラスのうちのいずれか1つを識別可能な構成であればよく、優先クラスの識別情報を記憶する記憶部やフラグなどで構成することができる。   FIG. 8 is a flowchart showing the flow of priority change setting release processing in step S107 of FIG. FIG. 9 is an explanatory diagram for explaining a buffer state management table at the time of priority change setting release processing in step S107. The buffer writing unit 150 sets the current priority and the initial priority to be equal in the target priority class and each priority class lower than the target priority class by this priority change setting release processing. An example of priority change setting release processing is shown below. Here, the buffer writing unit 150 will be described as including a priority class registration unit capable of setting and registering any one of the priority classes. Note that the priority class registration unit only needs to be configured so that the buffer writing unit 150 can identify any one of the priority classes, and may be configured by a storage unit, a flag, or the like that stores identification information of the priority class. it can.

バッファ書き込み部150は、まず、優先クラス登録部に対象優先クラスを登録する(ステップS201)。この対象優先クラスは、図7のステップS105における対象優先クラスと同じものである。ここでは、図9の第2キューイングバッファ142を対象優先クラスとして説明する。   The buffer writing unit 150 first registers the target priority class in the priority class registration unit (step S201). This target priority class is the same as the target priority class in step S105 of FIG. Here, the second queuing buffer 142 in FIG. 9 will be described as the target priority class.

バッファ書き込み部150は、バッファ状態管理テーブル180を参照し、優先クラス登録部に登録された優先クラス(以後「登録優先クラス」とも呼ぶ)の優先度変更設定フラグF25が「1」であるか否かを判定する(ステップS202)。初回のこのステップでは、優先クラス登録部には対象優先クラスが登録されているため、対象優先クラスの優先度変更設定フラグF25が「1」であるか否かが判定される。図9(a)では、対象優先クラス(第2キューイングバッファ142)の優先度変更設定フラグF25は「1」となっている。   The buffer writing unit 150 refers to the buffer state management table 180 and determines whether the priority change setting flag F25 of the priority class registered in the priority class registration unit (hereinafter also referred to as “registration priority class”) is “1”. Is determined (step S202). In this first step, since the target priority class is registered in the priority class registration unit, it is determined whether or not the priority change setting flag F25 of the target priority class is “1”. In FIG. 9A, the priority change setting flag F25 of the target priority class (second queuing buffer 142) is “1”.

登録優先クラスの優先度変更設定フラグF25が「1」である場合(ステップS202:YES)、バッファ書き込み部150は、登録優先クラスの現在優先度F22を登録優先クラスの初期優先度F23と同じ値にセットする(ステップS203)。具体的には、バッファ書き込み部150は、バッファ状態管理テーブル180を参照して、登録優先クラスの初期優先度F23を読み込み、同じクラスの現在優先度F22に書き込む。その結果、図9(b)に示すように、登録優先クラスの現在優先度と初期優先度とが等しくなる。   When the priority change setting flag F25 of the registration priority class is “1” (step S202: YES), the buffer writing unit 150 sets the current priority F22 of the registration priority class to the same value as the initial priority F23 of the registration priority class. (Step S203). Specifically, the buffer writing unit 150 refers to the buffer state management table 180, reads the initial priority F23 of the registration priority class, and writes it to the current priority F22 of the same class. As a result, as shown in FIG. 9B, the current priority of the registration priority class is equal to the initial priority.

さらに、バッファ書き込み部150は、登録優先クラスの一つ下位の(直下の)優先クラスの現在優先度F22を同じクラスの初期優先度F23と同じ値にセットする(ステップS204)これにより、図9(c)に示すように、登録優先クラスの一つ下位の優先クラスにおいても現在優先度と初期優先度とが等しくなる。その後、バッファ書き込み部150は、図9(d)に示すように、登録優先クラスの優先度変更設定フラグF25を「0」にセットする(ステップS205)。   Further, the buffer writing unit 150 sets the current priority F22 of the priority class one level lower than the registered priority class (directly below) to the same value as the initial priority F23 of the same class (step S204). As shown in (c), the current priority and the initial priority are also equal in the priority class one level lower than the registration priority class. Thereafter, as shown in FIG. 9D, the buffer writing unit 150 sets the priority change setting flag F25 of the registration priority class to “0” (step S205).

ステップS202において、登録優先クラスの優先度変更設定フラグF25が「0」である場合、または、ステップS205の処理の後、バッファ書き込み部150は、登録優先クラスより下位の優先クラスが存在するか否かを判定する(ステップS206)。登録優先クラスより下位の優先クラスが存在しない場合(ステップS206:NO)処理を終了する。   In step S202, when the priority change setting flag F25 of the registered priority class is “0”, or after the process of step S205, the buffer writing unit 150 determines whether there is a priority class lower than the registered priority class. Is determined (step S206). If no priority class lower than the registered priority class exists (step S206: NO), the process is terminated.

一方、登録優先クラスより下位の優先クラスが存在する場合(ステップS206:YES)、バッファ書き込み部150は、現在の登録優先クラスよりも一つ下位の(直下の)優先クラスを新たな登録優先クラスとして優先クラス登録部に登録する(ステップS207)。その後、ステップS202に戻り、新たな登録優先クラスに対して同様の処理をおこなう。上述した優先度変更設定解除処理により、対象優先クラスおよび対象優先クラスより下位のすべての優先クラスにおいて、優先度変更設定フラグが「0」にセットされ、現在優先度F22が初期優先度F23と等しくなる。   On the other hand, when a priority class lower than the registration priority class exists (step S206: YES), the buffer writing unit 150 sets a priority class immediately below (directly below) the current registration priority class as a new registration priority class. Is registered in the priority class registration unit (step S207). Thereafter, the process returns to step S202, and the same processing is performed for the new registration priority class. By the priority change setting release process described above, the priority change setting flag is set to “0” in the target priority class and all priority classes lower than the target priority class, and the current priority F22 is equal to the initial priority F23. Become.

図10は、図7のステップS111における優先度変更設定処理の流れを示したフローチャートである。図11は、優先度変更設定処理時のバッファ状態管理テーブルを説明するための説明図である。バッファ書き込み部150は、この優先度変更設定処理によって、対象優先クラスの現在優先度と、直上の優先クラスの現在優先度との入れ替えをおこなう。以下に優先度変更設定処理の一例を示す。ここでは、図11(a)の第3キューイングバッファ143を対象優先クラスとして説明する。   FIG. 10 is a flowchart showing the flow of priority change setting processing in step S111 of FIG. FIG. 11 is an explanatory diagram for explaining a buffer state management table at the time of priority change setting processing. The buffer writing unit 150 exchanges the current priority of the target priority class and the current priority of the immediately higher priority class by this priority change setting process. An example of priority change setting processing is shown below. Here, the third queuing buffer 143 in FIG. 11A will be described as the target priority class.

バッファ書き込み部150は、対象優先クラスよりも一つ上位(直上)の優先クラスの現在優先度F22を対象優先クラスの初期優先度F23と同じ値にセットする(ステップS301)。具体的には、図11(b)に示すように、バッファ書き込み部150は、バッファ状態管理テーブル180を参照して、対象優先クラスの初期優先度F23を読み込み、直上の優先クラスの現在優先度F22に書き込む。   The buffer writing unit 150 sets the current priority F22 of the priority class one level above (directly above) the target priority class to the same value as the initial priority F23 of the target priority class (step S301). Specifically, as shown in FIG. 11B, the buffer writing unit 150 refers to the buffer status management table 180, reads the initial priority F23 of the target priority class, and reads the current priority of the immediately higher priority class. Write to F22.

また、バッファ書き込み部150は、対象優先クラスの現在優先度F22を直上の優先クラスの初期優先度F23と同じ値にセットする(ステップS302)。具体的には、図11(c)に示すように、バッファ書き込み部150は、バッファ状態管理テーブル180を参照して、直上の優先クラスの初期優先度F23を読み込み、対象優先クラスの現在優先度F22に書き込む。これにより、対象優先クラスの直上の優先クラスの現在優先度F22と、対象優先クラスの現在優先度F22が入れ替わる。すなわち、対象優先クラスの直上の優先クラスと、対象優先クラスの優先順位が入れ替わる。   Further, the buffer writing unit 150 sets the current priority F22 of the target priority class to the same value as the initial priority F23 of the immediately higher priority class (step S302). Specifically, as illustrated in FIG. 11C, the buffer writing unit 150 refers to the buffer state management table 180, reads the initial priority F23 of the immediately preceding priority class, and reads the current priority of the target priority class. Write to F22. As a result, the current priority F22 of the priority class immediately above the target priority class and the current priority F22 of the target priority class are switched. That is, the priority order immediately above the target priority class and the priority order of the target priority class are switched.

その後、バッファ書き込み部150は、図11(d)に示すように、対象優先クラスの直上の優先クラスの優先度変更設定フラグF25を「1」にセットする。すなわち、初期優先度が下位の優先クラスよりも高いが、現在優先度が低い状態の優先クラスの優先度変更設定フラグF25に「1」がセットされる。以上により優先度変更設定処理が終了する。   Thereafter, as shown in FIG. 11D, the buffer writing unit 150 sets the priority class priority change setting flag F25 immediately above the target priority class to “1”. That is, “1” is set to the priority change setting flag F25 of the priority class in which the initial priority is higher than the lower priority class but the current priority is low. Thus, the priority change setting process ends.

図12は、バッファ読み出し部160の処理の流れを示したフローチャートである。バッファ読み出し部160は、各キューイングバッファ141〜144について、フレームが蓄積されているか否かを判定する(ステップS401)。蓄積されている場合には、バッファ読み出し部160は、蓄積されているキューイングバッファのうち、現在優先度F22が最も高いキューイングバッファから優先して蓄積されたフレームを読みだし、回線インターフェース部131〜133のいずれかに送出する(ステップS402)。バッファ読み出し部160は、読み出したフレームに含まれる宛先情報(図3)を参照して送出先の回線インターフェース部を決定する。ここで、「優先して読み出す」とは、現在優先度のより高いキューイングバッファにおいてフレームの蓄積がなくなるまで読み出しを継続し、フレームの蓄積がなくなると順次現在優先度の低いキューイングバッファの読み出しをおこなうことをいう。   FIG. 12 is a flowchart showing a processing flow of the buffer reading unit 160. The buffer reading unit 160 determines whether or not frames are accumulated for the queuing buffers 141 to 144 (step S401). In the case of accumulation, the buffer reading unit 160 reads the frame accumulated with priority from the queuing buffer having the highest current priority F22 among the accumulated queuing buffers, and the line interface unit 131. To 133 (step S402). The buffer reading unit 160 refers to the destination information (FIG. 3) included in the read frame and determines a transmission destination line interface unit. Here, “read with priority” means that reading is continued until there is no frame accumulation in the queuing buffer with higher current priority, and when there is no more frame accumulation, reading is sequentially performed on the queuing buffer with lower current priority. To do.

バッファ読み出し部160は、ステップS402においてフレームを読み出した優先クラス(以後「対象優先クラス」とも呼ぶ)の輻輳フラグF24が「1」であるか否かを判定する(ステップS403)。対象優先クラスの輻輳フラグF24が「0」である場合(ステップS403:NO)、バッファ読み出し部160の処理は、ステップS401に戻る。   The buffer reading unit 160 determines whether or not the congestion flag F24 of the priority class (hereinafter also referred to as “target priority class”) from which the frame is read in step S402 is “1” (step S403). When the congestion flag F24 of the target priority class is “0” (step S403: NO), the processing of the buffer reading unit 160 returns to step S401.

一方、対象優先クラスの輻輳フラグF24が「1」である場合(ステップS403:YES)、バッファ読み出し部160は、対象優先クラスと対応するキューイングバッファの輻輳状態が解消しているか否かを判定する(ステップS404)。対応するキューイングバッファの輻輳状態が解消していない場合(ステップS404:NO)バッファ読み出し部160の処理は、ステップS401に戻る。   On the other hand, when the congestion flag F24 of the target priority class is “1” (step S403: YES), the buffer reading unit 160 determines whether or not the congestion state of the queuing buffer corresponding to the target priority class has been eliminated. (Step S404). If the congestion state of the corresponding queuing buffer has not been resolved (step S404: NO), the processing of the buffer reading unit 160 returns to step S401.

一方、対応するキューイングバッファの輻輳状態が解消している場合(ステップS404:YES)、バッファ読み出し部160は、対象優先クラスの輻輳フラグF24を「0」にセットする(ステップS405)。   On the other hand, when the congestion state of the corresponding queuing buffer has been eliminated (step S404: YES), the buffer reading unit 160 sets the congestion flag F24 of the target priority class to “0” (step S405).

対象優先クラスの輻輳フラグF24を「0」にセットした後、バッファ読み出し部160は、対象優先クラスよりも初期優先度の高い(上位の)優先クラスが存在するか否かを判定する(ステップS406)。対象優先クラスよりも上位の優先クラスが存在する場合(ステップS406:YES)、バッファ読み出し部160は、対象優先クラスよりも一つ上位(直上)の優先クラスの優先度変更設定フラグF25が「1」か否かを判定する(ステップS407)。   After setting the congestion flag F24 of the target priority class to “0”, the buffer reading unit 160 determines whether or not a priority class having a higher initial priority (higher) than the target priority class exists (step S406). ). When there is a priority class higher than the target priority class (step S406: YES), the buffer reading unit 160 sets the priority change setting flag F25 of the priority class one level higher than the target priority class to “1”. Is determined (step S407).

直上の優先クラスの優先度変更設定フラグF25が「1」である場合(ステップS407:YES)、バッファ読み出し部160は、直上の優先クラスに対する優先度変更設定解除処理をおこなう(ステップS408)。直上の優先クラスに対する優先度変更設定解除処理とは、対象優先クラスより初期優先度が1つ高い(直上の)優先クラスにおいて優先度変更設定がおこなわれている場合に、この設定を解除するための処理である。直上の優先クラスに対する優先度変更設定解除処理の詳細については、図13を用いて後述する。   If the priority change setting flag F25 of the immediately higher priority class is “1” (step S407: YES), the buffer reading unit 160 performs priority change setting release processing for the immediately higher priority class (step S408). The priority change setting release processing for the immediate priority class is to cancel this setting when the priority change setting has been made in the priority class that is one higher in priority than the target priority class (directly above) It is processing of. Details of the priority change setting release processing for the immediately preceding priority class will be described later with reference to FIG.

ステップS406において、対象優先クラスよりも上位の優先クラスが存在しない場合(ステップS406:NO)、ステップS407において、直上の優先クラスの優先度変更設定フラグF25が「0」である場合(ステップS407:NO)、および、ステップS408の処理が終了したときに、バッファ読み出し部160の処理は、ステップS401に戻る。   In step S406, when there is no higher priority class than the target priority class (step S406: NO), in step S407, when the priority change setting flag F25 of the immediately higher priority class is “0” (step S407: NO) and when the process of step S408 ends, the process of the buffer reading unit 160 returns to step S401.

図13は、図12のステップS408における優先度変更設定解除処理の流れを示したフローチャートである。図14は、ステップS408の優先度変更設定解除処理時のバッファ状態管理テーブルを説明するための説明図である。バッファ読み出し部160は、この優先度変更設定解除処理によって、対象優先クラスの現在優先度と、対象優先クラスの直上の優先クラスの現在優先度とが入れ替わっている状態を解消する。以下に優先度変更設定解除処理の一例を示す。ここでは、図14(a)の第3キューイングバッファ143を対象優先クラスとして説明する。   FIG. 13 is a flowchart showing the flow of priority change setting release processing in step S408 of FIG. FIG. 14 is an explanatory diagram for explaining a buffer state management table at the time of priority change setting release processing in step S408. The buffer reading unit 160 cancels the state in which the current priority of the target priority class and the current priority of the priority class immediately above the target priority class are interchanged by this priority change setting release processing. An example of priority change setting release processing is shown below. Here, the third queuing buffer 143 in FIG. 14A will be described as the target priority class.

バッファ読み出し部160は、対象優先クラスの現在優先度F22を対象優先クラスの初期優先度F23と同じ値にセットする(ステップS501)具体的には、図14(b)に示すように、バッファ読み出し部160は、バッファ状態管理テーブル180を参照して、対象優先クラスの初期優先度F23を読み込み、同じクラスの現在優先度F22に書き込む。これにより、対象優先クラスの現在優先度と初期優先度とが等しくなる。   The buffer reading unit 160 sets the current priority F22 of the target priority class to the same value as the initial priority F23 of the target priority class (step S501). Specifically, as shown in FIG. The unit 160 refers to the buffer state management table 180, reads the initial priority F23 of the target priority class, and writes it to the current priority F22 of the same class. Thereby, the current priority of the target priority class is equal to the initial priority.

さらに、バッファ読み出し部160は、図14(c)に示すように、対象優先クラスの一つ上位の(直上の)優先クラスの現在優先度F22を同じクラスの初期優先度F23と同じ値にセットする(ステップS502)。これにより、対象優先クラスの一つ上位の優先クラスにおいても現在優先度と初期優先度とが等しくなる。すなわち、対象優先クラスの直上の優先クラスの現在優先度F22と、対象優先クラスの現在優先度F22が入れ替わっていた状態が解消する。これにより、対象優先クラスの直上の優先クラスの優先順位が、対象優先クラスの優先順位より低い状態が解消する。その後、図14(d)に示すように、バッファ読み出し部160は、対象優先クラスの直上の優先クラスの優先度変更設定フラグF25を「0」にセットする(ステップS503)。以上により優先度変更設定解除処理が終了する。   Furthermore, as shown in FIG. 14C, the buffer reading unit 160 sets the current priority F22 of the priority class one level higher than the target priority class to the same value as the initial priority F23 of the same class. (Step S502). As a result, the current priority and the initial priority are equal in the priority class one level higher than the target priority class. That is, the state in which the current priority F22 of the priority class immediately above the target priority class and the current priority F22 of the target priority class are switched is eliminated. Thereby, the state where the priority of the priority class immediately above the target priority class is lower than the priority of the target priority class is resolved. Thereafter, as shown in FIG. 14D, the buffer reading unit 160 sets the priority change priority flag F25 of the priority class immediately above the target priority class to “0” (step S503). This completes the priority change setting release processing.

図15は、フレーム転送装置の動作を例示するための第1の説明図である。図16は、図15の動作時のバッファ状態管理テーブルを説明するための説明図である。はじめに、バッファ状態管理テーブル180には、図4の内容が設定されているものとして説明する。   FIG. 15 is a first explanatory diagram for illustrating the operation of the frame transfer apparatus. FIG. 16 is an explanatory diagram for explaining a buffer state management table during the operation of FIG. First, it is assumed that the contents of FIG. 4 are set in the buffer status management table 180.

図15(a)では、バッファ読み出し部160によって、現在優先度F22の最も高い第1キューイングバッファ141からフレームの読み出しがおこなわれている。一方、バッファ書き込み部150によって、第2キューイングバッファ142へのフレームの書き込みがおこなわれ、第2キューイングバッファ142が輻輳状態となっている。   In FIG. 15A, the buffer reading unit 160 reads a frame from the first queuing buffer 141 having the highest current priority F22. On the other hand, the buffer writing unit 150 writes a frame to the second queuing buffer 142, and the second queuing buffer 142 is in a congested state.

バッファ書き込み部150は、第2キューイングバッファ142の輻輳状態を検出すると(図7、ステップS104)、図16(a)に示すように、第2キューイングバッファ142と対応する優先クラスの輻輳フラグF24を「1」にセットする(ステップS106)。その後、ステップS111において、図16(b)に示すように、バッファ書き込み部150は、優先度変更設定処理をおこない、第1キューイングバッファ141と対応する優先クラスと、第2キューイングバッファ142と対応する優先クラスの現在優先度F22を入れ替える。また、第1キューイングバッファ141と対応する優先クラスの優先度変更設定フラグF25を「1」にセットする(図10、ステップS303)。この結果、バッファ読み出し部160は、優先順位の最も高い第2キューイングバッファ142からフレームの読み出しをおこなう。   When the buffer writing unit 150 detects the congestion state of the second queuing buffer 142 (FIG. 7, step S104), as shown in FIG. 16A, the congestion flag of the priority class corresponding to the second queuing buffer 142 is obtained. F24 is set to “1” (step S106). Thereafter, in step S111, as shown in FIG. 16B, the buffer writing unit 150 performs the priority change setting process, the priority class corresponding to the first queuing buffer 141, the second queuing buffer 142, The current priority F22 of the corresponding priority class is switched. Also, the priority change setting flag F25 of the priority class corresponding to the first queuing buffer 141 is set to “1” (FIG. 10, step S303). As a result, the buffer reading unit 160 reads a frame from the second queuing buffer 142 having the highest priority.

図15(b)では、バッファ読み出し部160によって、現在優先度F22の最も高い第2キューイングバッファ142からフレームの読み出しがおこなわれている。また、読み出しの結果、第2キューイングバッファ142の輻輳状態が解消している。バッファ読み出し部160は、第2キューイングバッファ142の輻輳状態の解消を検出すると(図12、ステップS404)、図16(c)に示すように、第2キューイングバッファ142と対応する優先クラスの輻輳フラグF24を「0」にセットする(ステップS405)。その後、ステップS408において、バッファ読み出し部160は、優先度変更設定解除処理をおこない、図16(d)に示すように、第1キューイングバッファ141と対応する優先クラスと、第2キューイングバッファ142と対応する優先クラスの現在優先度F22をそれぞれ各クラスの初期優先度F23の値に戻す。また、第1キューイングバッファ141と対応する優先クラスの優先度変更設定フラグF25を「0」にセットする(図13、ステップS503)。この結果、図15(c)に示すように、バッファ読み出し部160は、優先順位の最も高い第1キューイングバッファ141から再度、フレームの読み出しをおこなう。このとき、第2キューイングバッファ142は、一時的に読み出しが優先されたため、輻輳状態が解消している。   In FIG. 15B, the frame is read from the second queuing buffer 142 having the highest current priority F22 by the buffer reading unit 160. Further, as a result of reading, the congestion state of the second queuing buffer 142 has been eliminated. When the buffer reading unit 160 detects the cancellation of the congestion state of the second queuing buffer 142 (FIG. 12, step S404), the priority class corresponding to the second queuing buffer 142 as shown in FIG. The congestion flag F24 is set to “0” (step S405). Thereafter, in step S408, the buffer reading unit 160 performs priority change setting release processing, and as shown in FIG. 16D, the priority class corresponding to the first queuing buffer 141, the second queuing buffer 142, and the like. And the current priority F22 of the corresponding priority class is returned to the value of the initial priority F23 of each class. Further, the priority change priority flag F25 of the priority class corresponding to the first queuing buffer 141 is set to “0” (FIG. 13, step S503). As a result, as shown in FIG. 15C, the buffer reading unit 160 reads the frame again from the first queuing buffer 141 having the highest priority. At this time, the second queuing buffer 142 has been temporarily given priority to reading, and the congestion state has been resolved.

このように、本実施例のフレーム転送装置100によれば、輻輳状態が検出されたキューイングバッファと対応する優先クラスと、その直上の優先クラスの優先順位を入れ替えるため、輻輳状態が検出されたキューイングバッファにおいては、バッファ読み出し部160による優先的なフレームの読み出しによって、キューイングバッファの許容量を超えたフレームが破棄される不具合の発生を抑制することができる。一方、優先度変更設定によって優先順位が1つ下がった優先クラスのキューイングバッファは、フレームの蓄積量が増加しやすい状態となり、収容可能領域を有効に活用することができる。   As described above, according to the frame transfer apparatus 100 of this embodiment, the congestion state is detected because the priority class corresponding to the queuing buffer in which the congestion state is detected and the priority order immediately above the priority class are switched. In the queuing buffer, it is possible to suppress the occurrence of a problem in which frames exceeding the allowable amount of the queuing buffer are discarded by preferentially reading frames by the buffer reading unit 160. On the other hand, the priority class queuing buffer whose priority is lowered by one due to the priority change setting is in a state in which the amount of accumulated frames is likely to increase, and the accommodable area can be used effectively.

図17は、フレーム転送装置の動作を例示するための第2の説明図である。図18は、図17の動作時のバッファ状態管理テーブルを説明するための説明図である。ここでも、バッファ状態管理テーブル180には、図4の内容が設定されているものとして説明する。   FIG. 17 is a second explanatory diagram for illustrating the operation of the frame transfer apparatus. FIG. 18 is an explanatory diagram for explaining a buffer state management table during the operation of FIG. Here, the description will be made assuming that the contents of FIG. 4 are set in the buffer status management table 180.

図17(a)では、第3キューイングバッファ143が輻輳状態となり、1つ上位の優先クラスに対応する第2キューイングバッファ142で優先度変更設定がおこなわれている状態が示されている。このとき、図18(a)に示すように、第2キューイングバッファ142と対応する優先クラスと第3キューイングバッファ143と対応する優先クラスの優先順位が入れ替わっているため、各キューイングバッファ141〜144と対応する各優先クラスの優先順位は、キューイングバッファ141、142、143、144の順にそれぞれ1、3、2、4となる。   FIG. 17A shows a state in which the third queuing buffer 143 is in a congested state and the priority change setting is performed in the second queuing buffer 142 corresponding to the higher priority class. At this time, as shown in FIG. 18A, the priority classes corresponding to the second queuing buffer 142 and the priority class corresponding to the third queuing buffer 143 are switched, so that each queuing buffer 141 is switched. The priorities of the priority classes corresponding to ˜144 are 1, 3, 2, 4 in the order of the queuing buffers 141, 142, 143, 144, respectively.

図17(b)では、図17(a)の状態からさらに、第4キューイングバッファ144が輻輳した状態が示されている。この場合、バッファ書き込み部150は、第4キューイングバッファ144の輻輳状態を検出して(図7、ステップS104)、図18(b)に示すように、第4キューイングバッファ144と対応する優先クラスの輻輳フラグF24を「1」にセットする(ステップS106)。しかし、直上の第3キューイングバッファ143と対応する優先クラスの輻輳フラグF24は「1」であるため(ステップS109:YES)、バッファ書き込み部150は、優先度変更設定処理をおこなわない。すなわち、第3キューイングバッファ143と対応する優先クラスの優先度変更設定をおこなわず、第3キューイングバッファ143と対応する優先クラスと第4キューイングバッファ144と対応する優先クラスとの優先順位の入れ替えをおこなわない。よって、各キューイングバッファ141〜144と対応する各優先クラスの優先順位は、図13(a)と変わらず1、3、2、4の順となる。   FIG. 17B shows a state where the fourth queuing buffer 144 is further congested from the state of FIG. In this case, the buffer writing unit 150 detects the congestion state of the fourth queuing buffer 144 (FIG. 7, step S104), and the priority corresponding to the fourth queuing buffer 144 as shown in FIG. 18B. The class congestion flag F24 is set to "1" (step S106). However, since the congestion flag F24 of the priority class corresponding to the third queuing buffer 143 immediately above is “1” (step S109: YES), the buffer writing unit 150 does not perform the priority change setting process. That is, the priority change of the priority class corresponding to the third queuing buffer 143 is not performed, and the priority order of the priority class corresponding to the third queuing buffer 143 and the priority class corresponding to the fourth queuing buffer 144 Do not replace. Therefore, the priorities of the priority classes corresponding to the queuing buffers 141 to 144 are 1, 3, 2, and 4 in the same order as in FIG.

図17(c)では、図17(a)の状態からさらに、第2キューイングバッファ142が輻輳した状態が示されている。この場合、バッファ書き込み部150は、図18(c)に示すように、第2キューイングバッファ142と対応する優先クラスの輻輳フラグF24を「1」にセットした後(ステップS106)、ステップS107の優先度変更設定解除処理により、第2キューイングバッファ142と対応する優先クラスの優先度変更設定を解除する。また、バッファ書き込み部150は、第1キューイングバッファ141が輻輳状態ではない場合には(ステップS109:NO)、第1キューイングバッファ141と対応する優先クラスの優先度変更設定に「1」をセットする(ステップS111)。この結果、第1キューイングバッファ141と対応する優先クラスと第2キューイングバッファ142と対応する優先クラスの優先順位が入れ替わるため、各キューイングバッファ141〜144と対応する各優先クラスの優先順位は、キューイングバッファ141、142、143、144の順にそれぞれ2、1、3、4となる。   FIG. 17C shows a state in which the second queuing buffer 142 is further congested from the state of FIG. In this case, as shown in FIG. 18C, the buffer writing unit 150 sets the congestion flag F24 of the priority class corresponding to the second queuing buffer 142 to “1” (step S106), and then in step S107. The priority change setting release processing of the priority class corresponding to the second queuing buffer 142 is released by the priority change setting release processing. Further, when the first queuing buffer 141 is not in a congested state (step S109: NO), the buffer writing unit 150 sets “1” to the priority change setting of the priority class corresponding to the first queuing buffer 141. Set (step S111). As a result, since the priority order of the priority class corresponding to the first queuing buffer 141 and the priority class corresponding to the second queuing buffer 142 are switched, the priority order of the priority classes corresponding to the queuing buffers 141 to 144 is , Queuing buffers 141, 142, 143, 144 are 2, 1, 3, 4 in this order.

図17(d)では、図17(a)の状態からさらに、第1キューイングバッファ141が輻輳した状態が示されている。この場合、バッファ書き込み部150は、図18(d)に示すように、第1キューイングバッファ141と対応する優先クラスの輻輳フラグF24を「1」にセットした後(ステップS106)、ステップS107の優先度変更設定解除処理により、第2キューイングバッファ142と対応する優先クラスの優先度変更設定を解除する。この結果、各キューイングバッファ141〜144と対応する各優先クラスの優先順位は、キューイングバッファ141、142、143、144の順にそれぞれ1、2、3、4となる。   FIG. 17D shows a state where the first queuing buffer 141 is further congested from the state of FIG. In this case, as shown in FIG. 18D, the buffer writing unit 150 sets the priority class congestion flag F24 corresponding to the first queuing buffer 141 to “1” (step S106), and then performs step S107. The priority change setting release processing of the priority class corresponding to the second queuing buffer 142 is released by the priority change setting release processing. As a result, the priorities of the priority classes corresponding to the queuing buffers 141 to 144 are 1, 2, 3, and 4 in the order of the queuing buffers 141, 142, 143, and 144, respectively.

図19は、フレーム転送装置の動作を例示するための第3の説明図である。図20は、図19の動作時のバッファ状態管理テーブルを説明するための説明図である。図19(a)は、図17(b)と同じ状態を示している。図19(b)では、図19(a)の状態から、第3キューイングバッファ143の輻輳が解消した状態が示されている。この場合、バッファ読み出し部160は、第3キューイングバッファ143の輻輳状態の解除を検出して(ステップS404)、図20(a)に示すように、第3キューイングバッファ143と対応する優先クラスの輻輳フラグF24を「0」にセットする(ステップS405)。   FIG. 19 is a third explanatory diagram for illustrating the operation of the frame transfer apparatus. FIG. 20 is an explanatory diagram for explaining a buffer state management table during the operation of FIG. FIG. 19 (a) shows the same state as FIG. 17 (b). FIG. 19B shows a state in which congestion of the third queuing buffer 143 has been eliminated from the state of FIG. In this case, the buffer reading unit 160 detects the release of the congestion state of the third queuing buffer 143 (step S404), and, as shown in FIG. 20A, the priority class corresponding to the third queuing buffer 143 Is set to "0" (step S405).

ステップS408の優先度変更設定解除処理により、バッファ読み出し部160は、図20(b)に示すように、第2キューイングバッファ142と対応する優先クラスの優先度変更設定を解除する(ステップS408)。一方、バッファ書き込み部150は、図20(c)に示すように、第3キューイングバッファ143と対応する優先クラスの優先度変更設定に「1」をセットする(ステップS111)。この結果、各キューイングバッファ141〜144と対応する各優先クラスの優先順位は、キューイングバッファ141、142、143、144の順にそれぞれ1、2、4、3となる。   By the priority change setting release processing in step S408, the buffer reading unit 160 releases the priority change setting of the priority class corresponding to the second queuing buffer 142 as shown in FIG. 20B (step S408). . On the other hand, as shown in FIG. 20C, the buffer writing unit 150 sets “1” to the priority change setting of the priority class corresponding to the third queuing buffer 143 (step S111). As a result, the priorities of the priority classes corresponding to the queuing buffers 141 to 144 are 1, 2, 4, and 3 in the order of the queuing buffers 141, 142, 143, and 144, respectively.

このように、本実施例のフレーム転送装置100によれば、輻輳状態が検出されたキューイングバッファと対応する優先クラスの優先順位を最上位とするのではなく、その直上の優先クラスの優先順位を入れ替えるため、基本的には、初期優先度に応じてフレームの読み出しをおこないつつ、輻輳状態が発生した一部のキューイングバッファに対しては優先順位を入れ替えることによって、フレームの破棄等の不具合の発生を抑制することができる。また、3以上の複数のキューイングバッファにおいて輻輳状態が検出された場合であっても、輻輳状態が発生したキューイングバッファの優先クラスの優先順位を上げつつ、フレーム種別に応じた本来の優先順位(初期優先度)を反映させた優先順位に応じてフレームの読み出しをおこなうことができる。そのため、例えば、リアルタイム通信用のフレームなどの読み出しを優先しつつ、輻輳状態のキューイングバッファにおける不具合の発生を抑制することができる。また、優先順位の入れ替えによって、一時的に優先順位が低下したキューイングバッファが輻輳状態となったときには、優先順位の入れ替えを解消するため、優先順位の高いフレームの破棄の発生を優先的に抑制しつつ、他のフレームの破棄の発生を抑制することができる。   As described above, according to the frame transfer apparatus 100 of the present embodiment, the priority of the priority class corresponding to the queuing buffer in which the congestion state is detected is not set to the highest priority, but the priority of the priority class immediately above the priority class. Basically, the frame is read according to the initial priority, and the priority is switched for some queuing buffers in which the congestion state occurs, thereby causing a problem such as discarding the frame. Can be suppressed. In addition, even when a congestion state is detected in a plurality of three or more queuing buffers, the priority of the priority class of the queuing buffer in which the congestion state has been raised and the original priority according to the frame type Frames can be read according to the priority order reflecting (initial priority). Therefore, for example, it is possible to suppress the occurrence of a problem in a congested queuing buffer while giving priority to reading of a frame for real-time communication. In addition, when the queuing buffer whose priority level has temporarily dropped due to priority switching becomes congested, the priority switching is preferentially suppressed in order to eliminate priority switching. However, the occurrence of discarding other frames can be suppressed.

本実施例のフレーム転送装置100によれば、音声データや動画データ等のリアルタイム通信用フレームと、文字データや静止画像データなどの非リアルタイム通信用フレームの2つについての優先順位の設定に限定されず、例えば、リアルタイム通信用フレームの中でも、音声データと動画データとで優先順位を変えることができる。これにより、フレーム転送装置の送信品質をより向上させることができる。   According to the frame transfer apparatus 100 of the present embodiment, the priority order is limited to the setting of the two real-time communication frames such as voice data and moving image data and the non-real-time communication frames such as character data and still image data. For example, among the frames for real-time communication, the priority order can be changed between audio data and moving image data. Thereby, the transmission quality of the frame transfer apparatus can be further improved.

B.第1実施例の変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
B. Modification of the first embodiment:
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.

B1.変形例1:
本実施例では、各キューイングバッファ141〜144は、それぞれ1つの優先クラスに対応するものとして説明したが、フレーム転送装置100が備える複数のキューイングバッファは、1つの優先クラスに複数のキューイングバッファが対応する構成であってもよい。また、本実施例では、フレーム転送装置100は、4つのキューイングバッファ141〜144を備えるものとして説明したが、2つ以上であれば4つに限定されない。
B1. Modification 1:
In the present embodiment, each of the queuing buffers 141 to 144 has been described as corresponding to one priority class. However, the plurality of queuing buffers provided in the frame transfer apparatus 100 include a plurality of queuing in one priority class. A configuration corresponding to the buffer may be used. In the present embodiment, the frame transfer apparatus 100 has been described as including four queuing buffers 141 to 144. However, the number is not limited to four as long as the number is two or more.

B2.変形例2:
本実施例では、バッファ書き込み部150は、フレームからアプリケーション種別を読み出してそのフレームが属する優先クラスを特定するものとして説明したが、バッファ書き込み部150は、フレームから送信元MACアドレスや、宛先MACアドレス、VLAN−ID、ユーザ優先度、DSCP、送信元ポート番号、宛先ポート番号のうちの1対上の情報に基づいて、優先クラスを特定する構成であってもよい。
B2. Modification 2:
In this embodiment, the buffer writing unit 150 has been described as reading the application type from the frame and specifying the priority class to which the frame belongs. However, the buffer writing unit 150 is configured to transmit the source MAC address and the destination MAC address from the frame. , VLAN-ID, user priority, DSCP, source port number, destination port number, and a configuration that identifies a priority class based on information on a pair.

B3.変形例3:
本実施例では、キューイングバッファの輻輳状態は、バッファ書き込み部150が検出するものとして説明したが、設定監視用端末500が輻輳状態を検出し、対応する輻輳フラグF24に「1」をセットする構成であってもよい。また、設定監視用端末500がキューイングバッファの輻輳状態の解消を検出してもよい。
B3. Modification 3:
In this embodiment, the congestion state of the queuing buffer is described as being detected by the buffer writing unit 150. However, the setting monitoring terminal 500 detects the congestion state and sets “1” in the corresponding congestion flag F24. It may be a configuration. Further, the setting monitoring terminal 500 may detect the cancellation of the congestion state of the queuing buffer.

B4.変形例4:
本実施例では、バッファ読み出し部160は、現在優先度のより高いキューイングバッファにおいてフレームの蓄積がなくなるまで読み出しを継続し、フレームの蓄積がなくなると順次現在優先度の低いキューイングバッファの読み出す通常優先制御をおこなうものとして説明したが、現在優先度が高いほど読み出し頻度を高く設定して全てのキューイングバッファから順次読み出す重み付け優先制御をおこなう構成としてもよい。あるいは、現在優先度が高いほど1回の読み出し時間を長く(読み出しデータ量を多く)設定し、全てのキューイングバッファが循環的にフレームを読み出すようにしてもよい。
B4. Modification 4:
In this embodiment, the buffer reading unit 160 continues reading until the frame is no longer stored in the queuing buffer having a higher current priority. When the frame is not stored, the buffer reading unit 160 sequentially reads the queuing buffer having the lower current priority sequentially. Although described as performing priority control, it may be configured to perform weighted priority control in which the reading frequency is set higher as the current priority is higher and the reading is sequentially performed from all the queuing buffers. Alternatively, the higher the current priority, the longer the read time for one reading (the larger the amount of read data) may be, and all the queuing buffers may read the frame cyclically.

C.第2実施例:
図21は、第2実施例に係るフレーム転送装置の概略構成を説明するための説明図である。第2実施例のフレーム転送装置102は、第1実施例のフレーム転送装置100(図2)と比較すると、フレーム転送部110の記憶部190にバッファ閾値管理テーブル185が追加されている点が異なる。第2実施例のフレーム転送装置102は、各キューイングバッファ141〜144に予め設定されている輻輳閾値Th1(図5)と輻輳解消閾値Th2(図6)の設定値を、輻輳状態の頻度等に応じて変化させることができる。バッファ閾値管理テーブル185は、キューイングバッファ141〜144の各々の輻輳閾値Th1と輻輳解消閾値Th2の現在の設定値を管理するためのテーブルであり、各キューイングバッファ141〜144の輻輳状態を示すフラグや、変更後の新たな設定値を算出するための情報などが登録されている。第2実施例のバッファ書き込み部150、および、バッファ読み出し部160は、後述するように、バッファ閾値管理テーブル185を参照して、各キューイングバッファ141〜144に設定されている輻輳閾値Th1と輻輳解消閾値Th2の設定値を変更させる。
C. Second embodiment:
FIG. 21 is an explanatory diagram for explaining a schematic configuration of the frame transfer apparatus according to the second embodiment. The frame transfer apparatus 102 of the second embodiment is different from the frame transfer apparatus 100 (FIG. 2) of the first embodiment in that a buffer threshold management table 185 is added to the storage unit 190 of the frame transfer unit 110. . The frame transfer apparatus 102 according to the second embodiment sets the set values of the congestion threshold Th1 (FIG. 5) and the congestion elimination threshold Th2 (FIG. 6) preset in each of the queuing buffers 141 to 144, the frequency of the congestion state, and the like. It can be changed according to. The buffer threshold management table 185 is a table for managing the current setting values of the congestion threshold Th1 and the congestion elimination threshold Th2 of the queuing buffers 141 to 144, and indicates the congestion state of the queuing buffers 141 to 144. A flag, information for calculating a new set value after the change, and the like are registered. As will be described later, the buffer writing unit 150 and the buffer reading unit 160 of the second embodiment refer to the buffer threshold management table 185 and the congestion threshold Th1 and the congestion set in each of the queuing buffers 141 to 144, respectively. The set value of the cancellation threshold Th2 is changed.

図22は、バッファ閾値管理テーブルの内容を説明するための説明図である。バッファ閾値管理テーブル185は、優先クラスF301と、閾値種別F302と、変更状態フラグF303と、初期設定値F304と、変更方向F305と、最大変更幅F306と、変更段階数F307と、輻輳度数F308と、現在設定値F309と、継続フラグF310と、継続時間F311の11つのフィールドを備えている。バッファ閾値管理テーブル185の各エントリE31〜E38は、各キューイングバッファ141〜144の輻輳閾値Th1および輻輳解消閾値Th2とそれぞれ対応している。例えば、エントリE36は、第3キューイングバッファ143の輻輳解消閾値Th2と対応している。以後、輻輳閾値Th1と輻輳解消閾値Th2の2つをあわせて単に「閾値Th」とも呼ぶ。   FIG. 22 is an explanatory diagram for explaining the contents of the buffer threshold value management table. The buffer threshold management table 185 includes a priority class F301, a threshold type F302, a change state flag F303, an initial setting value F304, a change direction F305, a maximum change width F306, a change stage number F307, and a congestion degree number F308. 11 fields of current set value F309, continuation flag F310, and continuation time F311 are provided. The entries E31 to E38 of the buffer threshold management table 185 correspond to the congestion threshold Th1 and the congestion elimination threshold Th2 of the queuing buffers 141 to 144, respectively. For example, the entry E36 corresponds to the congestion elimination threshold Th2 of the third queuing buffer 143. Hereinafter, the congestion threshold Th1 and the congestion elimination threshold Th2 are collectively referred to simply as “threshold Th”.

優先クラスF301は、そのエントリと対応する閾値Thが属するキューイングバッファ141〜144を示している。閾値種別F302は、そのエントリと対応する閾値Thが輻輳閾値Th1か輻輳解消閾値Th2かを示している。優先クラスF301および閾値種別F302によって、複数の閾値Thの中から、エントリと対応する1つの閾値Th(以後「対応閾値Th」とも呼ぶ)を特定することができる。   The priority class F301 indicates the queuing buffers 141 to 144 to which the threshold value Th corresponding to the entry belongs. The threshold type F302 indicates whether the threshold Th corresponding to the entry is the congestion threshold Th1 or the congestion elimination threshold Th2. By the priority class F301 and the threshold type F302, one threshold Th corresponding to the entry (hereinafter also referred to as “corresponding threshold Th”) can be specified from the plurality of thresholds Th.

変更状態フラグF303は、対応閾値Thが後述する設定初期値aから変更されている状態(以後「変更状態」とも呼ぶ)となっているか否かを示している。ここでは、対応閾値Thが変更されている場合には「1」がセットされ、変更されていない場合には「0」がセットされる。   The change state flag F303 indicates whether or not the corresponding threshold value Th has been changed from a setting initial value a described later (hereinafter also referred to as “change state”). Here, “1” is set when the corresponding threshold value Th is changed, and “0” is set when it is not changed.

初期設定値F304は、対応閾値Thの初期設定値a(%)を示している。初期設定値aとは、対応閾値Thの初期値であり、変更状態となる前の対応閾値Thの設定値として使用される。初期設定値aは、設定監視用端末500を介して予め設定することができる。ここでは、初期設定値aは、各キューイングバッファの最大データ蓄積量に対する蓄積量割合(%)で示されている。例えば、輻輳閾値Th1の初期設定値aとして「60」が設定されているキューイングバッファは、データ蓄積量が全体の60%となったときに輻輳状態が検出される。   The initial setting value F304 indicates the initial setting value a (%) of the corresponding threshold value Th. The initial setting value a is an initial value of the corresponding threshold value Th, and is used as a setting value of the corresponding threshold value Th before the change state is entered. The initial setting value a can be set in advance via the setting monitoring terminal 500. Here, the initial setting value a is indicated by the accumulation amount ratio (%) with respect to the maximum data accumulation amount of each queuing buffer. For example, in the queuing buffer in which “60” is set as the initial setting value a of the congestion threshold Th1, the congestion state is detected when the data accumulation amount becomes 60% of the total.

変更方向F305は、対応閾値Thの変更方向bを示している。変更方向bとは、変更状態のときの対応閾値Thが初期設定値aに対して増加するのか減少するのかを示す値である。ここでは、変更状態の対応閾値Thが初期設定値aに対して増加する場合、すなわち、対応閾値Thがキューイングバッファにおけるフレーム蓄積量増加方向(図5の左方向)に移動する場合に「1」が示されている。一方、変更状態の対応閾値Thが初期設定値aに対して減少する場合、すなわち、対応閾値Thがキューイングバッファにおけるフレーム蓄積量減少方向(図5の右方向)に移動する場合に「−1」が示されている。変更方向bは、設定監視用端末500を介して予め設定することができる。ここでは、各キューイングバッファの輻輳閾値Th1に対応するエントリに「1」がセットされ、輻輳解消閾値Th2に対応するエントリに「−1」がセットされている。   The change direction F305 indicates the change direction b of the correspondence threshold Th. The change direction b is a value indicating whether the corresponding threshold value Th in the changed state increases or decreases with respect to the initial set value a. Here, when the corresponding threshold value Th of the change state increases with respect to the initial setting value a, that is, when the corresponding threshold value Th moves in the frame accumulation amount increasing direction (left direction in FIG. 5) in the queuing buffer, “1 "It is shown. On the other hand, when the corresponding threshold value Th in the changed state decreases with respect to the initial set value a, that is, when the corresponding threshold value Th moves in the frame accumulation amount decreasing direction (right direction in FIG. 5) in the queuing buffer, “−1”. "It is shown. The change direction b can be set in advance via the setting monitoring terminal 500. Here, “1” is set in the entry corresponding to the congestion threshold Th1 of each queuing buffer, and “−1” is set in the entry corresponding to the congestion elimination threshold Th2.

最大変更幅F306は、対応閾値Thの最大変更幅c(%)を示している。最大変更幅cとは、変更状態のときの対応閾値Thを算出する際に用いられる値であり、初期設定値aに加算または減算される蓄積量割合(%)の最大値である。例えば、変更状態時に増加する対応閾値Thは、増加後の最大値が初期設定値a+最大変更幅cとなる。一方、変更状態時に減少する対応閾値Thは、減少後の最小値が初期設定値a−最大変更幅cとなる。最大変更幅cは、設定監視用端末500を介して予め設定することができる。   The maximum change width F306 indicates the maximum change width c (%) of the corresponding threshold value Th. The maximum change width c is a value used when calculating the corresponding threshold value Th in the changed state, and is the maximum value of the accumulation amount ratio (%) that is added to or subtracted from the initial set value a. For example, the corresponding threshold value Th that increases in the changed state is the initial set value a + the maximum change width c after the increase. On the other hand, for the corresponding threshold value Th that decreases in the changed state, the minimum value after the decrease is the initial set value a−the maximum change width c. The maximum change width c can be set in advance via the setting monitoring terminal 500.

変更段階数F307は、対応閾値Thの変更段階数dを示している。変更段階数dとは、対応閾値Thが初期設定値aから、最大値または最小値(初期設定値a±最大変更幅c)になるまでの間に段階的に値が変化するときの段階数を示している。例えば、変更段階数dに「3」が設定されている対応閾値Thは、初期設定値aの後、1段階目の値α、2段階目の値βを経て、3段階目の値として初期設定値a±最大変更幅cが設定される(a<α<β<a+c、または、a>α>β>a−c)。変更段階数dは、設定監視用端末500を介して予め設定することができる。   The change stage number F307 indicates the change stage number d of the corresponding threshold value Th. The change stage number d is the number of stages when the value changes stepwise from the initial setting value a to the maximum value or the minimum value (initial setting value a ± maximum change width c). Is shown. For example, the corresponding threshold value Th in which “3” is set in the change stage number d is initially set as the third stage value after passing through the initial stage value α, the first stage value α, and the second stage value β. A set value a ± maximum change width c is set (a <α <β <a + c or a> α> β> ac). The change stage number d can be set in advance via the setting monitoring terminal 500.

輻輳度数F308は、対応閾値Thの輻輳度数Xを示している。輻輳度数Xとは、キューイングバッファの輻輳状態の発生のしやすさ、または、発生のしにくさの程度を示す度数である。後述するように、キューイングバッファで輻輳状態が発生した場合、または、一定時間(例えば、1時間)以上輻輳状態が発生していない場合に、1つカウントアップされる。ここでは、輻輳閾値Th1に対応するエントリにおいて、輻輳状態の発生にしにくさを示す度数として使用され、輻輳解消閾値Th2に対応するエントリにおいて、輻輳状態の発生のしやすさを示す度数として使用される。   The congestion degree F308 indicates the congestion degree X of the corresponding threshold Th. The congestion degree X is a degree indicating the ease of occurrence of the congestion state of the queuing buffer or the degree of difficulty of occurrence. As will be described later, when the congestion state occurs in the queuing buffer, or when the congestion state does not occur for a certain time (for example, one hour), the count is incremented by one. Here, the entry corresponding to the congestion threshold Th1 is used as a frequency indicating the difficulty of occurrence of the congestion state, and the entry corresponding to the congestion elimination threshold Th2 is used as the frequency indicating the ease of occurrence of the congestion state. The

現在設定値F309は、対応閾値Thの現在設定値Y(%)を示している。現在設定値Yとは、対応閾値Thの現在の値であり、初期設定値aや、以下の式(1)によって算出された値Yが設定される。
Y=a+b×c×X/d ・・・(1)
ここで、aは初期設定値であり、bは変化方向であり、cは最大変更幅であり、Xは輻輳度数であり、dは変更段階数dである。また、0<a+|b×c|≦100である。
The current setting value F309 indicates the current setting value Y (%) of the corresponding threshold value Th. The current set value Y is the current value of the corresponding threshold Th, and an initial set value a or a value Y calculated by the following equation (1) is set.
Y = a + b × c × X / d (1)
Here, a is an initial setting value, b is a change direction, c is a maximum change width, X is a congestion degree number, and d is a change stage number d. Further, 0 <a + | b × c | ≦ 100.

継続フラグF310は、キューイングバッファが輻輳状態ではない状態(非輻輳状態)が継続しているか否かを示している。キューイングバッファが非輻輳状態の時に「1」がセットされ、キューイングバッファが輻輳状態の時に「0」がセットされる。   The continuation flag F310 indicates whether or not the state where the queuing buffer is not congested (non-congested state) continues. “1” is set when the queuing buffer is in a non-congested state, and “0” is set when the queuing buffer is in a congested state.

継続時間F311は、対応閾値Thの非輻輳状態継続時間Tc(秒)を示している。非輻輳状態継続時間Tcとは、キューイングバッファが非輻輳状態のときの継続時間であり、非輻輳状態時に1秒ずつカウントアップされ、キューイングバッファが輻輳状態になると「0」が設定される。   The duration F311 indicates the non-congested state duration Tc (second) of the corresponding threshold value Th. The non-congestion state duration Tc is a duration when the queuing buffer is in a non-congested state, and is counted up by 1 second when the queuing buffer is in a non-congested state. .

図23は、第2実施例におけるバッファ書き込み部150の処理の流れを示したフローチャートである。図23は、第1実施例の図7と対応している。図23のフローチャートは、図7のフローチャートと比較すると、ステップS120、S112、S140、S150が新たに追加されている点が異なる。図23のステップS101〜S111は、図7と同様のため説明を省略する。   FIG. 23 is a flowchart showing the flow of processing of the buffer writing unit 150 in the second embodiment. FIG. 23 corresponds to FIG. 7 of the first embodiment. The flowchart of FIG. 23 differs from the flowchart of FIG. 7 in that steps S120, S112, S140, and S150 are newly added. Steps S101 to S111 in FIG. 23 are the same as in FIG.

フレームの書き込みの後に(ステップS103)、キューイングバッファ(対象優先クラス)が輻輳状態とならなかった場合(ステップS104:NO)、バッファ書き込み部150は、輻輳閾値Th1変更判定処理をおこなう(ステップS120)。輻輳閾値Th1変更判定処理とは、所定の時間以上輻輳状態となっていないキューイングバッファに設定されている輻輳閾値Th1をフレーム蓄積量増加方向(図5左方向)に移動させるための処理である。輻輳閾値Th1変更判定処理の詳細については、図24を用いて後述する。   After writing the frame (step S103), if the queuing buffer (target priority class) is not congested (step S104: NO), the buffer writing unit 150 performs a congestion threshold Th1 change determination process (step S120). ). The congestion threshold Th1 change determination process is a process for moving the congestion threshold Th1 set in the queuing buffer that has not been in a congestion state for a predetermined time or more in the frame accumulation amount increasing direction (left direction in FIG. 5). . Details of the congestion threshold Th1 change determination process will be described later with reference to FIG.

一方、フレームの書き込みの後に(ステップS103)、キューイングバッファ(対象優先クラス)が輻輳状態となった場合(ステップS104:YES)、バッファ書き込み部150は、バッファ閾値管理テーブル185(図22)を参照して、対象優先クラスの輻輳閾値Th1の変更状態フラグF303が「1」か否かを判定する(ステップS112)。変更状態フラグF303が「1」の場合(ステップS112:YES)、バッファ書き込み部150は、対象優先クラスに対する輻輳閾値Th1変更解除処理をおこなう(ステップS140)。輻輳閾値Th1変更解除処理とは、輻輳閾値Th1が変更状態となっているキューイングバッファにおいて、変更状態フラグF303を「0」にセットして、変更状態を解除するための処理である。ここでは、対象優先クラスの輻輳閾値Th1に対しておこなわれる。これにより、輻輳状態となったキューイングバッファ(対象優先クラス)の輻輳閾値Th1が初期の状態に戻される。対象優先クラスに対する輻輳閾値Th1変更解除処理の詳細については、図27を用いて後述する。   On the other hand, when the queuing buffer (target priority class) becomes congested after writing the frame (step S103) (step S104: YES), the buffer writing unit 150 stores the buffer threshold management table 185 (FIG. 22). Referring to this, it is determined whether or not the change state flag F303 of the congestion threshold Th1 of the target priority class is “1” (step S112). When the change state flag F303 is “1” (step S112: YES), the buffer writing unit 150 performs a congestion threshold Th1 change release process for the target priority class (step S140). The congestion threshold Th1 change release process is a process for releasing the changed state by setting the change state flag F303 to “0” in the queuing buffer in which the congestion threshold Th1 is in the changed state. Here, it is performed on the congestion threshold Th1 of the target priority class. As a result, the congestion threshold Th1 of the queuing buffer (target priority class) that has become congested is returned to the initial state. Details of the congestion threshold Th1 change release processing for the target priority class will be described later with reference to FIG.

ステップS140において、輻輳閾値Th1変更解除処理を実行した後、または、ステップS112において、変更状態フラグF303が「0」の場合(ステップS112:NO)、バッファ書き込み部150は、対象優先クラスに対する輻輳解消閾値Th2変更判定処理をおこなう(ステップS150)。輻輳解消閾値Th2変更判定処理とは、所定の時間以上輻輳状態となっているキューイングバッファに設定されている輻輳解消閾値Th2をフレーム蓄積量減少方向(図5右方向)に移動させるための処理である。ここでは、対象優先クラスの輻輳解消閾値Th2に対しておこなわれる。これにより、輻輳状態となったキューイングバッファ(対象優先クラス)の輻輳解消閾値Th2が変更される。輻輳解消閾値Th2変更判定処理の詳細については、図30を用いて後述する。輻輳解除閾値Th2変更判定処理(ステップS150)の後、バッファ書き込み部150の処理は、ステップS101に戻る。以上が第2実施例のバッファ書き込み部150の処理の流れである。   After executing the congestion threshold Th1 change release process in step S140 or when the change state flag F303 is “0” in step S112 (step S112: NO), the buffer writing unit 150 eliminates the congestion for the target priority class. A threshold Th2 change determination process is performed (step S150). The congestion elimination threshold Th2 change determination process is a process for moving the congestion elimination threshold Th2 set in the queuing buffer that has been in a congested state for a predetermined time or more in the frame accumulation amount decreasing direction (right direction in FIG. 5). It is. Here, it is performed on the congestion elimination threshold Th2 of the target priority class. As a result, the congestion elimination threshold Th2 of the queuing buffer (target priority class) that has become congested is changed. Details of the congestion elimination threshold Th2 change determination process will be described later with reference to FIG. After the congestion release threshold Th2 change determination process (step S150), the process of the buffer writing unit 150 returns to step S101. The above is the processing flow of the buffer writing unit 150 of the second embodiment.

図24は、図23のステップS120における輻輳閾値Th1変更判定処理の流れを示したフローチャートである。図25と図26は、ステップS120の輻輳閾値Th1変更判定処理時のバッファ閾値管理テーブルを説明するための説明図である。以下では、輻輳閾値Th1変更判定処理の一例として、対象優先クラスのキューイングバッファが所定時間(ここでは、設定時間Tp)以上輻輳状態ではない場合に対象優先クラスの輻輳閾値Th1を増加方向に変更させる処理について説明する。設定時間Tp(例えば、3600秒)は、設定監視用端末500を介して予め任意に設定することができる。   FIG. 24 is a flowchart showing the flow of the congestion threshold Th1 change determination process in step S120 of FIG. 25 and 26 are explanatory diagrams for explaining a buffer threshold value management table during the congestion threshold value Th1 change determination process in step S120. In the following, as an example of the congestion threshold Th1 change determination process, when the queuing buffer of the target priority class is not congested for a predetermined time (here, the set time Tp), the congestion threshold Th1 of the target priority class is changed in an increasing direction. The processing to be performed will be described. The set time Tp (for example, 3600 seconds) can be arbitrarily set in advance via the setting monitoring terminal 500.

まず、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の継続フラグF310が「1」であるか否かを判定する(ステップS121)。ここでは、図25の第2キューイングバッファ142を対象優先クラスとして説明する。図25(a)では、対象優先クラス(第2キューイングバッファ142)の輻輳閾値Th1(エントリE33)の継続フラグF310は「0」となっている。   First, the buffer writing unit 150 determines whether or not the continuation flag F310 of the congestion threshold Th1 of the target priority class is “1” (step S121). Here, the second queuing buffer 142 in FIG. 25 will be described as the target priority class. In FIG. 25A, the continuation flag F310 of the congestion threshold Th1 (entry E33) of the target priority class (second queuing buffer 142) is “0”.

継続フラグF310が「0」の場合(ステップS121:NO)、バッファ書き込み部150は、図25(b)に示すように、対象優先クラスの輻輳閾値Th1の継続フラグF310を「1」にセットする(ステップS122)。続いて、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の継続時間F311に示されている非輻輳状態継続時間Tc(秒)のカウントアップを開始する(ステップS123)。ステップS123の後、バッファ書き込み部150は、処理を終了する。   When the continuation flag F310 is “0” (step S121: NO), the buffer writing unit 150 sets the continuation flag F310 of the congestion threshold Th1 of the target priority class to “1” as illustrated in FIG. 25B. (Step S122). Subsequently, the buffer writing unit 150 starts counting up the non-congested state duration Tc (second) indicated by the duration F311 of the congestion threshold Th1 of the target priority class (step S123). After step S123, the buffer writing unit 150 ends the process.

一方、ステップS121において、図25(c)に示すように、対象優先クラス(第2キューイングバッファ142)の輻輳閾値Th1の継続フラグF310が「1」となっている場合(ステップS121:YES)、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の継続時間F311に示されている非輻輳状態継続時間Tc(秒)が設定時間Tp(ここでは、3600秒)以上か否かを判定する(ステップS124)。すなわち、このステップS124では、対象優先クラスの輻輳フラグF24(図4)が「0」にセットされた状態で1時間以上経過しているか否かが判定される。図25(c)では、対象優先クラスの輻輳閾値Th1の非輻輳状態継続時間Tcは「3600」であり、設定時間Tp以上(ここでは、Tc=Tp)となっている。すなわち、図25(c)で示される対象優先クラス(第2キューイングバッファ142)は、輻輳フラグF24(図4)が「0」のままちょうど1時間経過した状態となっている。   On the other hand, when the continuation flag F310 of the congestion threshold Th1 of the target priority class (second queuing buffer 142) is “1” as shown in FIG. 25 (c) in step S121 (step S121: YES). The buffer writing unit 150 determines whether or not the non-congestion state duration Tc (second) indicated by the duration F311 of the congestion threshold Th1 of the target priority class is equal to or longer than the set time Tp (here, 3600 seconds). (Step S124). That is, in this step S124, it is determined whether or not one hour or more has elapsed in a state where the congestion flag F24 (FIG. 4) of the target priority class is set to “0”. In FIG. 25C, the non-congestion state duration Tc of the congestion threshold Th1 of the target priority class is “3600”, which is equal to or longer than the set time Tp (here, Tc = Tp). That is, the target priority class (second queuing buffer 142) shown in FIG. 25C is in a state where exactly one hour has passed with the congestion flag F24 (FIG. 4) kept at “0”.

非輻輳状態継続時間Tcが設定時間Tp以上(ここでは、Tc≧3600)の場合(ステップS124:YES)、バッファ書き込み部150は、図26(d)に示すように、対象優先クラスの輻輳閾値Th1の輻輳度数Xを「+1」カウントアップする(ステップS125)。一方、図26(c)とは異なり、非輻輳状態継続時間Tcが設定時間Tpより小さい場合(ステップS124:NO)、バッファ書き込み部150は、処理を終了する。キューイングバッファの非輻輳状態が所定以上継続しておらず、輻輳閾値Th1を増加方向に変更させる必要がないためである。   When the non-congestion state duration Tc is equal to or longer than the set time Tp (here, Tc ≧ 3600) (step S124: YES), the buffer writing unit 150, as shown in FIG. The congestion degree number X of Th1 is incremented by “+1” (step S125). On the other hand, unlike FIG. 26C, when the non-congestion state duration Tc is smaller than the set time Tp (step S124: NO), the buffer writing unit 150 ends the process. This is because the non-congested state of the queuing buffer does not continue for a predetermined amount or more, and it is not necessary to change the congestion threshold Th1 in the increasing direction.

ステップS125において輻輳度数Xをカウントアップした後、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の現在設定値Yを更新する(ステップS126)。具体的には、バッファ書き込み部150は、上述した式(1)によって算出した値を用いて、現在設定値F309に設定されている現在設定値Yを更新する。図26(d)では、対象優先クラスの輻輳閾値Th1の初期設定値aは「50」、変更方向bは「1」、最大変更幅cは「20」、変更段階数dは「10」、輻輳度数Xは「1」となっている。そのため、式(1)によって算出される値は「52」(52=50+1×20×1/10)となる。よって、図26(e)に示すように、現在設定値F309に新たな現在設定値Yとして「52」がセットされる。現在設定値Yが「50」から「52」に更新されることによって、対象優先クラスの輻輳閾値Th1は、増加方向に変更される。   After counting up the congestion frequency number X in step S125, the buffer writing unit 150 updates the current setting value Y of the congestion threshold Th1 of the target priority class (step S126). Specifically, the buffer writing unit 150 updates the current setting value Y set in the current setting value F309 using the value calculated by the above-described equation (1). In FIG. 26D, the initial setting value a of the congestion threshold Th1 of the target priority class is “50”, the change direction b is “1”, the maximum change width c is “20”, the change stage number d is “10”, The congestion degree X is “1”. Therefore, the value calculated by equation (1) is “52” (52 = 50 + 1 × 20 × 1/10). Accordingly, as shown in FIG. 26E, “52” is set as the new current setting value Y in the current setting value F309. By updating the current setting value Y from “50” to “52”, the congestion threshold Th1 of the target priority class is changed in the increasing direction.

続いて、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の変更状態フラグF303が「1」であるか否かを判定する(ステップS127)。図26(e)では、対象優先クラスの輻輳閾値Th1の変更状態フラグF303は「0」となっている。変更状態フラグF303が「0」の場合(ステップS127:NO)、バッファ書き込み部150は、図26(f)に示すように、対象優先クラスの輻輳閾値Th1の変更状態フラグF303を「1」にセットする(ステップS128)。その後、バッファ書き込み部150は、処理を終了する。一方、変更状態フラグF303が「1」の場合(ステップS127:YES)、バッファ書き込み部150は、そのまま処理を終了する。以上が輻輳閾値Th1変更判定処理の流れである。   Subsequently, the buffer writing unit 150 determines whether or not the change state flag F303 of the congestion threshold Th1 of the target priority class is “1” (step S127). In FIG. 26E, the change state flag F303 of the congestion threshold Th1 of the target priority class is “0”. When the change state flag F303 is “0” (step S127: NO), the buffer writing unit 150 sets the change state flag F303 of the congestion threshold Th1 of the target priority class to “1” as illustrated in FIG. Set (step S128). Thereafter, the buffer writing unit 150 ends the process. On the other hand, when the change state flag F303 is “1” (step S127: YES), the buffer writing unit 150 ends the process as it is. The above is the flow of the congestion threshold Th1 change determination process.

上述した輻輳閾値Th1変更判定処理によれば、対象優先クラスの輻輳フラグF24(図4)が所定の時間以上「0」となった場合に、輻輳閾値Th1を増加方向に変更させることができる。また、輻輳フラグF24の「0」が継続していれば、輻輳閾値Th1変更判定処理を繰り返すことによって、対象優先クラスの輻輳閾値Th1を順次増加方向に変更させることができる。すなわち、輻輳フラグF24の「0」の継続時間に応じて輻輳閾値Th1の増加量を変化させることができる。   According to the above-described congestion threshold Th1 change determination process, when the congestion flag F24 (FIG. 4) of the target priority class becomes “0” for a predetermined time or more, the congestion threshold Th1 can be changed in the increasing direction. If “0” of the congestion flag F24 continues, the congestion threshold Th1 of the target priority class can be sequentially changed in the increasing direction by repeating the congestion threshold Th1 change determination process. That is, the increase amount of the congestion threshold Th1 can be changed according to the duration of “0” of the congestion flag F24.

図27は、図23のステップS140における輻輳閾値Th1変更解除処理の流れを示したフローチャートである。図28と図29は、ステップS140の輻輳閾値Th1変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。ここでは、図28の第2キューイングバッファ142を対象優先クラスとして説明する。図28(a)では、対象優先クラス(第2キューイングバッファ142)の輻輳閾値Th1(エントリE33)の現在設定値Yは「52」となっている。   FIG. 27 is a flowchart showing the flow of the congestion threshold Th1 change release process in step S140 of FIG. FIG. 28 and FIG. 29 are explanatory diagrams for explaining the buffer threshold value management table during the congestion threshold value Th1 change release processing in step S140. Here, the second queuing buffer 142 in FIG. 28 will be described as the target priority class. In FIG. 28A, the current setting value Y of the congestion threshold Th1 (entry E33) of the target priority class (second queuing buffer 142) is “52”.

まず、バッファ書き込み部150は、図28(b)に示すように、対象優先クラスの輻輳閾値Th1の現在設定値Yに初期設定値aをセットする(ステップS141)。その後、バッファ書き込み部150は、図28(c)に示すように、対象優先クラスの輻輳閾値Th1の輻輳度数Xを「0」にセットする(ステップS142)。また、バッファ書き込み部150は、図29(d)に示すように、対象優先クラスの輻輳閾値Th1の変更状態フラグを「0」にセットする(ステップS143)。また、バッファ書き込み部150は、図29(e)に示すように、対象優先クラスの輻輳閾値Th1の継続フラグを「0」にセットする(ステップS144)。バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1のTcのカウントアップを停止する(ステップS145)。また、バッファ書き込み部150は、図29(f)に示すように、対象優先クラスの輻輳閾値Th1のTcを「0」にセットする(ステップS146)。その後、バッファ書き込み部150は、処理を終了する。以上が輻輳閾値Th1変更解除処理の流れである。   First, as shown in FIG. 28B, the buffer writing unit 150 sets the initial setting value a to the current setting value Y of the congestion threshold Th1 of the target priority class (step S141). Thereafter, as shown in FIG. 28C, the buffer writing unit 150 sets the congestion degree X of the congestion threshold Th1 of the target priority class to “0” (step S142). Further, as shown in FIG. 29D, the buffer writing unit 150 sets the change state flag of the congestion threshold Th1 of the target priority class to “0” (step S143). Further, as illustrated in FIG. 29E, the buffer writing unit 150 sets the continuation flag of the congestion threshold Th1 of the target priority class to “0” (step S144). The buffer writing unit 150 stops counting up the Tc of the congestion threshold Th1 of the target priority class (Step S145). Further, as shown in FIG. 29F, the buffer writing unit 150 sets Tc of the congestion threshold Th1 of the target priority class to “0” (step S146). Thereafter, the buffer writing unit 150 ends the process. The above is the flow of the congestion threshold Th1 change release process.

図30は、図23のステップS150における輻輳解消閾値Th2変更判定処理の流れを示したフローチャートである。図31と図32は、ステップS150の輻輳解消閾値Th2変更判定処理時のバッファ閾値管理テーブルを説明するための説明図である。以下では、輻輳解消閾値Th2変更判定処理の一例として、輻輳状態となった対象優先クラスの輻輳解消閾値Th2を減少方向に変更させ、対象優先クラスより下位の優先クラスの輻輳解消閾値Th2を初期の状態に戻す処理について説明する。ここでは、図31の第2キューイングバッファ142を対象優先クラスとして説明する。   FIG. 30 is a flowchart showing the flow of the congestion elimination threshold Th2 change determination process in step S150 of FIG. FIG. 31 and FIG. 32 are explanatory diagrams for explaining the buffer threshold management table at the time of the congestion elimination threshold Th2 change determination process in step S150. In the following, as an example of the congestion elimination threshold Th2 change determination process, the congestion elimination threshold Th2 of the target priority class that has become congested is changed in a decreasing direction, and the congestion elimination threshold Th2 of the priority class lower than the object priority class is initially set. Processing for returning to the state will be described. Here, the second queuing buffer 142 in FIG. 31 will be described as the target priority class.

バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2の輻輳度数Xが変更段階数dよりも小さいか否かを判定する(ステップS151)。図31(a)の対象優先クラスの輻輳解消閾値Th2(エントリE34)の輻輳度数Xは「0」であり、変更段階数dは「10」である。よって、輻輳度数Xが変更段階数dよりも小さい状態となっている。   The buffer writing unit 150 determines whether or not the congestion degree number X of the congestion elimination threshold Th2 of the target priority class is smaller than the change stage number d (step S151). The congestion degree number X of the congestion elimination threshold Th2 (entry E34) of the target priority class in FIG. 31A is “0”, and the change stage number d is “10”. Therefore, the congestion degree number X is smaller than the change stage number d.

輻輳度数Xが変更段階数dよりも小さい場合(ステップS151:YES)、バッファ書き込み部150は、図31(b)に示すように、対象優先クラスの輻輳解消閾値Th2の輻輳度数Xを「+1」カウントアップする(ステップS152)。一方、図31とは異なり、対象優先クラスの輻輳解消閾値Th2の輻輳度数Xが変更段階数d以上となっている場合(ステップS151:NO)、バッファ書き込み部150は、処理を終了する。   When the congestion degree number X is smaller than the change stage number d (step S151: YES), the buffer writing unit 150 sets the congestion degree number X of the congestion elimination threshold Th2 of the target priority class to “+1” as shown in FIG. Count up (step S152). On the other hand, unlike FIG. 31, when the congestion degree number X of the congestion elimination threshold Th2 of the target priority class is the change stage number d or more (step S151: NO), the buffer writing unit 150 ends the process.

ステップS152において輻輳度数Xを「+1」カウントアップした後、バッファ書き込み部150は、上位の優先クラスが存在するか否かを判定する(ステップS153)。図31では、第2キューイングバッファ142を対象優先クラスとしているため、上位の優先クラス(第1キューイングバッファ141)が存在している。   After incrementing the congestion frequency number X by “+1” in step S152, the buffer writing unit 150 determines whether or not a higher priority class exists (step S153). In FIG. 31, since the second queuing buffer 142 is the target priority class, a higher priority class (first queuing buffer 141) exists.

上位の優先クラスが存在する場合(ステップS153:YES)、上位の優先クラスにおいて、輻輳解消閾値Th2の変更状態フラグF303に「1」が存在するか否かを判定する(ステップS154)。一方、図31とは異なり、対象優先クラスの上位の優先クラスが存在しない場合(ステップS153:NO)、バッファ書き込み部150は、ステップS154をスキップする。図31では、上位の優先クラス(第1キューイングバッファ141)の輻輳解消閾値Th2の変更状態フラグF303に「1」が存在しない。   If a higher priority class exists (step S153: YES), it is determined whether or not “1” exists in the change state flag F303 of the congestion elimination threshold Th2 in the higher priority class (step S154). On the other hand, unlike FIG. 31, when there is no higher priority class than the target priority class (step S153: NO), the buffer writing unit 150 skips step S154. In FIG. 31, “1” does not exist in the change state flag F303 of the congestion elimination threshold Th2 of the higher priority class (first queuing buffer 141).

上位の優先クラスにおいて、輻輳解消閾値Th2の変更状態フラグF303に「1」が存在しない場合(ステップS154:NO)、バッファ書き込み部150は、下位の優先クラスにおいて、輻輳解消閾値Th2の現在設定値Yが初期設定値aと等しいか否かを判定する(ステップS155)。一方、図31とは異なり、上位の優先クラスにおいて、輻輳解消閾値Th2の変更状態フラグF303に「1」が存在する場合(ステップS154:YES)、バッファ書き込み部150は、処理を終了する。図31では、下位の優先クラス(第3キューイングバッファ143)において、各輻輳解消閾値Th2(エントリE36)の現在設定値Y(Y=48)が初期設定値a(a=50)と異なっている。   In the upper priority class, when “1” does not exist in the change state flag F303 of the congestion elimination threshold Th2 (step S154: NO), the buffer writing unit 150 sets the current setting value of the congestion elimination threshold Th2 in the lower priority class. It is determined whether Y is equal to the initial set value a (step S155). On the other hand, unlike FIG. 31, when “1” is present in the change state flag F303 of the congestion elimination threshold Th2 in the higher priority class (step S154: YES), the buffer writing unit 150 ends the processing. In FIG. 31, in the lower priority class (third queuing buffer 143), the current setting value Y (Y = 48) of each congestion elimination threshold Th2 (entry E36) is different from the initial setting value a (a = 50). Yes.

下位の優先クラスにおいて、輻輳解消閾値Th2の現在設定値Yが初期設定値aと異なる場合(ステップS155:NO)、バッファ書き込み部150は、下位の優先クラスに対する輻輳解消閾値Th2変更解除処理をおこなう(ステップS160)。輻輳解消閾値Th2変更解除処理とは、輻輳解消閾値Th2が変更状態となっているキューイングバッファにおいて、変更状態フラグF303を「0」にセットして、変更状態を解除するための処理である。ここでは、下位の優先クラスに対して輻輳解消閾値Th2変更解除処理がおこなわれるため、図31(c)に示すように、下位の優先クラス(第3キューイングバッファ143)の輻輳解消閾値Th2(エントリE36)において、変更状態フラグF303が「0」にセットされ、現在設定値Yに初期設定値aである「50」がセットされる。下位の優先クラスに対する輻輳解消閾値Th2変更解除処理の詳細については、図32を用いて後述する。一方、図31とは異なり、下位のすべての優先クラスにおいて、輻輳解消閾値Th2の現在設定値Yが初期設定値aと等しい場合(ステップS155:YES)、バッファ書き込み部150は、ステップS160をスキップする。   In the lower priority class, when the current setting value Y of the congestion elimination threshold Th2 is different from the initial setting value a (step S155: NO), the buffer writing unit 150 performs the congestion elimination threshold Th2 change release process for the lower priority class. (Step S160). The congestion cancellation threshold Th2 change release process is a process for releasing the changed state by setting the change state flag F303 to “0” in the queuing buffer in which the congestion release threshold Th2 is in the changed state. Here, since the congestion elimination threshold Th2 change release processing is performed for the lower priority class, as shown in FIG. 31C, the congestion elimination threshold Th2 (third queuing buffer 143) of the lower priority class (third queuing buffer 143). In the entry E36), the change state flag F303 is set to “0”, and the initial set value “a” is set to “50” as the current set value Y. Details of the congestion cancellation threshold Th2 change release processing for the lower priority class will be described later with reference to FIG. On the other hand, unlike FIG. 31, in all lower priority classes, when the current setting value Y of the congestion elimination threshold Th2 is equal to the initial setting value a (step S155: YES), the buffer writing unit 150 skips step S160. To do.

次に、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2の現在設定値Yを更新する(ステップS157)。具体的には、バッファ書き込み部150は、上述した式(1)によって算出した値を用いて、現在設定値F309に設定されている現在設定値Yを更新する。図31(c)では、対象優先クラスの輻輳解消閾値Th2の初期設定値aは「50」、変更方向bは「−1」、最大変更幅cは「20」、変更段階数dは「10」、輻輳度数Xは「1」となっている。そのため、式(1)によって算出される値は「48」(48=50+1×20×(−1)/10)となる。よって、図32(d)に示すように、現在設定値F309に新たな現在設定値Yとして「48」がセットされる。現在設定値Yが「50」から「48」に更新されることによって、対象優先クラスの輻輳解消閾値Th2は、減少方向に変更される。次に、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303が「1」であるか否かを判定する(ステップS158)。図32(d)では、対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303は「0」となっている。   Next, the buffer writing unit 150 updates the current setting value Y of the congestion elimination threshold Th2 of the target priority class (step S157). Specifically, the buffer writing unit 150 updates the current setting value Y set in the current setting value F309 using the value calculated by the above-described equation (1). In FIG. 31C, the initial setting value a of the congestion elimination threshold Th2 of the target priority class is “50”, the change direction b is “−1”, the maximum change width c is “20”, and the change stage number d is “10”. "The congestion degree X is" 1 ". Therefore, the value calculated by equation (1) is “48” (48 = 50 + 1 × 20 × (−1) / 10). Therefore, as shown in FIG. 32D, “48” is set as the new current setting value Y in the current setting value F309. By updating the current setting value Y from “50” to “48”, the congestion elimination threshold Th2 of the target priority class is changed in a decreasing direction. Next, the buffer writing unit 150 determines whether or not the change state flag F303 of the congestion elimination threshold Th2 of the target priority class is “1” (step S158). In FIG. 32D, the change state flag F303 of the congestion elimination threshold Th2 of the target priority class is “0”.

変更状態フラグF303が「0」の場合(ステップS158:NO)、バッファ書き込み部150は、図31(e)に示すように、対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303を「1」にセットする(ステップS159)。その後、バッファ書き込み部150は、処理を終了する。一方、図32と異なり、対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303が「1」の場合(ステップS158:YES)、バッファ書き込み部150は、そのまま処理を終了する。以上が輻輳解消閾値Th2変更判定処理の流れである。   When the change state flag F303 is “0” (step S158: NO), the buffer writing unit 150 sets the change state flag F303 of the congestion elimination threshold Th2 of the target priority class to “1” as illustrated in FIG. (Step S159). Thereafter, the buffer writing unit 150 ends the process. On the other hand, unlike FIG. 32, when the change state flag F303 of the congestion elimination threshold Th2 of the target priority class is “1” (step S158: YES), the buffer writing unit 150 ends the process as it is. The above is the flow of the congestion elimination threshold Th2 change determination process.

図33は、図30のステップS160における下位の優先クラスに対する輻輳解消閾値Th2変更解除処理の流れを示したフローチャートである。図34は、ステップS160の輻輳解消閾値Th2変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。バッファ書き込み部150は、この下位の優先クラスに対する輻輳解消閾値Th2変更解除処理によって、対象優先クラスより下位の各優先クラスにおいて、現在優先度と初期優先度とが等しくなるように設定する。以下に下位の優先クラスに対する輻輳解消閾値Th2変更解除処理の一例を示す。ここでは、バッファ書き込み部150は、第1実施例と同様に、優先クラスのうちのいずれか1つを設定登録可能な優先クラス登録部を備えているものとして説明する。   FIG. 33 is a flowchart showing the flow of the congestion cancellation threshold Th2 change release process for the lower priority class in step S160 of FIG. FIG. 34 is an explanatory diagram for explaining a buffer threshold management table used in the congestion cancellation threshold Th2 change release process in step S160. The buffer writing unit 150 sets the current priority and the initial priority to be equal in each priority class lower than the target priority class by the congestion cancellation threshold Th2 change release process for the lower priority class. An example of the congestion cancellation threshold Th2 change release process for the lower priority class is shown below. Here, the buffer writing unit 150 will be described as including a priority class registration unit capable of setting and registering any one of the priority classes, as in the first embodiment.

バッファ書き込み部150は、まず、優先クラス登録部に対象優先クラスを登録する(ステップS161)。ここでは、図34の第2キューイングバッファ142を対象優先クラスとして説明する。バッファ書き込み部150は、バッファ状態管理テーブル180を参照し、登録優先クラスより下位の優先クラスが存在するか否かを判定する(ステップS162)。図34(a)では、第2キューイングバッファ142を対象優先クラスとしているため、下位の優先クラス(第3、4キューイングバッファ143、144)が存在している。   The buffer writing unit 150 first registers the target priority class in the priority class registration unit (step S161). Here, the second queuing buffer 142 in FIG. 34 will be described as a target priority class. The buffer writing unit 150 refers to the buffer state management table 180 and determines whether or not a priority class lower than the registration priority class exists (step S162). In FIG. 34A, since the second queuing buffer 142 is the target priority class, lower priority classes (third and fourth queuing buffers 143 and 144) exist.

下位の優先クラスが存在する場合(ステップS162:YES)、バッファ書き込み部150は、優先クラス登録部に直下の優先クラスを登録する(ステップS163)。図34(a)では、第3キューイングバッファ143が登録される。一方、図34と異なり、下位の優先クラスが存在しない場合(ステップS162:NO)、バッファ書き込み部150は、処理を終了する。   If a lower priority class exists (step S162: YES), the buffer writing unit 150 registers the immediately lower priority class in the priority class registration unit (step S163). In FIG. 34A, the third queuing buffer 143 is registered. On the other hand, unlike FIG. 34, when there is no lower priority class (step S162: NO), the buffer writing unit 150 ends the process.

ステップS163において優先クラス登録部に直下の優先クラスを登録した後、バッファ書き込み部150は、登録優先クラスの輻輳解消閾値Th2の現在設定値Yが初期設定値aと等しいか否かを判定する(ステップS164)。図34(a)では、登録優先クラス(第3キューイングバッファ143)の輻輳解消閾値Th2(エントリE36)において、現在設定値Y(Y=48)と初期設定値a(a=50)aが等しくない。   In step S163, after registering the immediate priority class in the priority class registration unit, the buffer writing unit 150 determines whether or not the current setting value Y of the congestion elimination threshold Th2 of the registration priority class is equal to the initial setting value a ( Step S164). In FIG. 34 (a), the current setting value Y (Y = 48) and the initial setting value a (a = 50) a are set in the congestion elimination threshold Th2 (entry E36) of the registration priority class (third queuing buffer 143). Not equal.

登録優先クラスの輻輳解消閾値Th2の現在設定値Yが初期設定値aと等しくない場合(ステップS164:NO)、バッファ書き込み部150は、図34(b)に示すように、登録優先クラスの輻輳解消閾値Th2の現在設定値Yに初期設定値aをセットする(ステップS165)。また、バッファ書き込み部150は、図34(c)に示すように、登録優先クラスの輻輳解消閾値Th2の変更状態フラグF303を「0」にセットする(ステップS166)。その後、バッファ書き込み部150の処理は、ステップS162に戻る。一方、ステップS164において、登録優先クラスの輻輳解消閾値Th2の現在設定値Yが初期設定値aと等しい場合(ステップS164:YES)、バッファ書き込み部150の処理は、ステップS162に戻る。以上が下位の優先クラスに対する輻輳解消閾値Th2変更解除処理の流れである。   When the current setting value Y of the congestion elimination threshold Th2 of the registration priority class is not equal to the initial setting value a (step S164: NO), the buffer writing unit 150, as shown in FIG. The initial setting value a is set to the current setting value Y of the cancellation threshold Th2 (step S165). Further, as shown in FIG. 34C, the buffer writing unit 150 sets a change state flag F303 of the congestion priority threshold Th2 of the registration priority class to “0” (step S166). Thereafter, the processing of the buffer writing unit 150 returns to step S162. On the other hand, when the current set value Y of the congestion priority threshold Th2 of the registration priority class is equal to the initial set value a in step S164 (step S164: YES), the processing of the buffer writing unit 150 returns to step S162. The above is the flow of the congestion cancellation threshold Th2 change release process for the lower priority class.

図35は、第2実施例におけるバッファ読み出し部160の処理の流れを示したフローチャートである。図35は、第1実施例の図12と対応している。図35のフローチャートは、図12のフローチャートと比較すると、ステップS410、S420が新たに追加されている点が異なる。図35のステップS401〜S408は、図12と同様のため説明を省略する。   FIG. 35 is a flowchart showing a process flow of the buffer read unit 160 in the second embodiment. FIG. 35 corresponds to FIG. 12 of the first embodiment. The flowchart of FIG. 35 differs from the flowchart of FIG. 12 in that steps S410 and S420 are newly added. Steps S401 to S408 in FIG. 35 are the same as those in FIG.

フレームの読み出しによって(ステップS402)、キューイングバッファ(対象優先クラス)の輻輳状態が解消すると(ステップS404)バッファ読み出し部160は、対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303が「1」であるか否かを判定する(ステップS410)。対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303が「1」である場合(ステップS410:YES)、対象優先クラスに対する輻輳解消閾値Th2変更解除処理をおこなう(ステップS420)。対象優先クラスに対する輻輳解消閾値Th2変更解除処理の詳細については、図36を用いて後述する。対象優先クラスに対する輻輳解消閾値Th2変更解除処理の後、バッファ読み出し部160は、ステップS406の処理をおこなう。ステップS410において、対象優先クラスの輻輳解消閾値Th2の変更状態フラグF303が「0」である場合(ステップS410:NO)、バッファ読み出し部160は、ステップS420をスキップし、ステップS406の処理をおこなう。以上が第2実施例におけるバッファ読み出し部160の処理の流れである。   When the congestion state of the queuing buffer (target priority class) is canceled by reading the frame (step S402) (step S404), the buffer reading unit 160 sets the change state flag F303 of the congestion cancellation threshold Th2 of the target priority class to “1”. It is determined whether or not (step S410). When the change state flag F303 of the congestion elimination threshold Th2 of the target priority class is “1” (step S410: YES), a congestion elimination threshold Th2 change cancellation process for the target priority class is performed (step S420). Details of the congestion cancellation threshold Th2 change release processing for the target priority class will be described later with reference to FIG. After the congestion cancellation threshold Th2 change release process for the target priority class, the buffer read unit 160 performs the process of step S406. In step S410, when the change state flag F303 of the congestion elimination threshold Th2 of the target priority class is “0” (step S410: NO), the buffer reading unit 160 skips step S420 and performs the process of step S406. The above is the processing flow of the buffer reading unit 160 in the second embodiment.

図36は、図35のステップS420における対象優先クラスに対する輻輳解消閾値Th2変更解除処理の流れを示したフローチャートである。図37は、ステップS420の輻輳解消閾値Th2変更解除処理時のバッファ閾値管理テーブルを説明するための説明図である。バッファ読み出し部160は、この対象優先クラスに対する輻輳解消閾値Th2変更解除処理によって、対象優先クラスの現在優先度と初期優先度とが等しくなるように設定する。以下に対象優先クラスに対する輻輳解消閾値Th2変更解除処理の一例を示す。ここでは、図37の第2キューイングバッファ142を対象優先クラスとして説明する。   FIG. 36 is a flowchart showing the flow of the congestion cancellation threshold Th2 change release process for the target priority class in step S420 of FIG. FIG. 37 is an explanatory diagram for explaining a buffer threshold value management table at the time of releasing the congestion elimination threshold value Th2 in step S420. The buffer reading unit 160 sets the current priority and the initial priority of the target priority class to be equal to each other by the congestion cancellation threshold Th2 change release process for the target priority class. An example of the congestion cancellation threshold Th2 change release process for the target priority class is shown below. Here, the second queuing buffer 142 in FIG. 37 will be described as the target priority class.

バッファ書き込み部150は、図37(a)に示すように、対象優先クラスの輻輳解消閾値Th2の現在設定値Yに初期設定値aをセットする(ステップS421)。その後、バッファ書き込み部150は、図37(b)に示すように、登録優先クラスの輻輳解消閾値Th2の輻輳度数Xを「0」にセットする(ステップS422)。また、バッファ書き込み部150は、図37(c)に示すように、登録優先クラスの輻輳解消閾値Th2の変更状態フラグF303を「0」にセットする(ステップS423)。以上が対象優先クラスに対する輻輳解消閾値Th2変更解除処理の流れである。 As shown in FIG. 37A, the buffer writing unit 150 sets the initial setting value a to the current setting value Y of the congestion elimination threshold Th2 of the target priority class (step S421). Thereafter, the buffer writing unit 150 sets the congestion degree number X of the congestion elimination threshold Th2 of the registration priority class to “0” as illustrated in FIG. 37B (step S422). Further, as shown in FIG. 37C, the buffer writing unit 150 sets a change state flag F303 of the congestion priority threshold Th2 of the registration priority class to “0” (step S423). The above is the flow of the congestion cancellation threshold Th2 change release process for the target priority class.

図38は、第2実施例のフレーム転送装置の動作を例示するための第1の説明図である。ここでは、バッファ状態管理テーブル180には、図4の内容が設定されているものとして説明する。図38(a)では、すべてのキューイングバッファ141〜144が輻輳していない状態が示されている。このときの各優先クラスの優先順位は、キューイングバッファ141、142、143、144の順に、それぞれ1、2、3、4となっている。図38(b)では、図30(a)の状態から、第3キューイングバッファ143へのフレームの書き込みによって、第3キューイングバッファ143が輻輳した状態が示されている。第3キューイングバッファ143が輻輳状態になると、1つ上位の優先クラスに対応する第2キューイングバッファ142で優先度変更設定がおこなわれる。これにより、各優先クラスの優先順位はキューイングバッファ141、142、143、144の順に、それぞれ1、3、2、4となる。また、第3キューイングバッファ143の輻輳解消閾値Th2は、フレーム蓄積量減少方向(図38の右方向)に移動する。   FIG. 38 is a first explanatory diagram for illustrating the operation of the frame transfer apparatus according to the second embodiment. Here, description will be made assuming that the contents of FIG. 4 are set in the buffer status management table 180. FIG. 38A shows a state where all the queuing buffers 141 to 144 are not congested. At this time, the priority order of each priority class is 1, 2, 3, 4 in the order of the queuing buffers 141, 142, 143, 144. FIG. 38B shows a state in which the third queuing buffer 143 is congested due to the writing of frames to the third queuing buffer 143 from the state of FIG. When the third queuing buffer 143 becomes congested, the priority change setting is performed in the second queuing buffer 142 corresponding to the higher priority class. As a result, the priority order of each priority class is 1, 3, 2, 4 in the order of the queuing buffers 141, 142, 143, 144. Further, the congestion elimination threshold Th2 of the third queuing buffer 143 moves in the frame accumulation amount decreasing direction (right direction in FIG. 38).

図39は、図38の動作時のバッファ閾値管理テーブルを説明するための説明図である。図39(a)は、キューイングバッファ141〜144が図38(a)に示す状態のときのバッファ閾値管理テーブル185を示している。キューイングバッファ141〜144の輻輳解消閾値Th2の現在設定値Yは、すべて「50」となっている。図39(b)は、キューイングバッファ141〜144が図38(b)に示す状態のときのバッファ閾値管理テーブル185を示している。第3キューイングバッファ143が輻輳状態になると、バッファ書き込み部150は、対象優先クラス(第3キューイングバッファ143)の輻輳解消閾値Th2(エントリE36)の輻輳度数Xを「+1」カウントアップする(図30、ステップS152)。また、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2(エントリE36)の現在設定値Yを「48」(48=50+1×20×(−1)/10)に更新し(ステップS157)、変更状態フラグF303を「1」にセットする(ステップS159)。   FIG. 39 is an explanatory diagram for explaining a buffer threshold value management table during the operation of FIG. FIG. 39A shows a buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. The currently set values Y of the congestion elimination threshold Th2 of the queuing buffers 141 to 144 are all “50”. FIG. 39B shows the buffer threshold value management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. When the third queuing buffer 143 becomes congested, the buffer writing unit 150 counts up the congestion degree X of the congestion elimination threshold Th2 (entry E36) of the target priority class (third queuing buffer 143) by “+1” ( FIG. 30, step S152). Further, the buffer writing unit 150 updates the current setting value Y of the congestion elimination threshold Th2 (entry E36) of the target priority class to “48” (48 = 50 + 1 × 20 × (−1) / 10) (step S157). Then, the change state flag F303 is set to “1” (step S159).

図40は、第2実施例のフレーム転送装置の動作を例示するための第2の説明図である。図40(a)では、上述した図38(b)と同じ状態が示されている。すなわち、第3キューイングバッファ143が輻輳状態となり、1つ上位の優先クラスに対応する第2キューイングバッファ142で優先度変更設定がおこなわれている状態が示されている。   FIG. 40 is a second explanatory diagram for illustrating the operation of the frame transfer apparatus according to the second embodiment. FIG. 40A shows the same state as FIG. 38B described above. That is, a state is shown in which the third queuing buffer 143 is in a congested state and the priority change setting is performed in the second queuing buffer 142 corresponding to the higher priority class.

図40(b)では、図40(a)の状態からさらに、第4キューイングバッファ144が輻輳した状態が示されている。このとき、各優先クラスの優先順位は変化せず、また、第4キューイングバッファ144の輻輳解消閾値Th2は、移動しない。図40(c)では、図40(a)の状態からさらに、第2キューイングバッファ142が輻輳した状態が示されている。このとき、各優先クラスの優先順位はキューイングバッファ141、142、143、144の順に、それぞれ2、1、3、4となる。また、第2キューイングバッファ142の輻輳解消閾値Th2は、フレーム蓄積量減少方向(図40の右方向)に移動する。一方、第3キューイングバッファ143の輻輳解消閾値Th2は、フレーム蓄積量増加方向(図40の左方向)に移動して輻輳前の位置に戻る。図40(d)では、図40(a)の状態からさらに、第1キューイングバッファ141が輻輳した状態が示されている。このとき、各優先クラスの優先順位はキューイングバッファ141、142、143、144の順に、それぞれ1、2、3、4となる。また、第1キューイングバッファ141の輻輳解消閾値Th2は、フレーム蓄積量減少方向(図40の右方向)に移動する。一方、第3キューイングバッファ143の輻輳解消閾値Th2は、フレーム蓄積量増加方向(図40の左方向)に移動して輻輳前の位置に戻る。   FIG. 40 (b) shows a state where the fourth queuing buffer 144 is further congested from the state of FIG. 40 (a). At this time, the priority order of each priority class does not change, and the congestion elimination threshold Th2 of the fourth queuing buffer 144 does not move. FIG. 40 (c) shows a state where the second queuing buffer 142 is further congested from the state of FIG. 40 (a). At this time, the priority order of each priority class is 2, 1, 3, 4 in the order of the queuing buffers 141, 142, 143, and 144, respectively. Further, the congestion elimination threshold Th2 of the second queuing buffer 142 moves in the frame accumulation amount decreasing direction (right direction in FIG. 40). On the other hand, the congestion elimination threshold Th2 of the third queuing buffer 143 moves in the frame accumulation amount increasing direction (left direction in FIG. 40) and returns to the position before the congestion. FIG. 40 (d) shows a state where the first queuing buffer 141 is further congested from the state of FIG. 40 (a). At this time, the priority order of each priority class is 1, 2, 3, 4 in the order of the queuing buffers 141, 142, 143, 144. Further, the congestion elimination threshold Th2 of the first queuing buffer 141 moves in the frame accumulation amount decreasing direction (right direction in FIG. 40). On the other hand, the congestion elimination threshold Th2 of the third queuing buffer 143 moves in the frame accumulation amount increasing direction (left direction in FIG. 40) and returns to the position before the congestion.

図41は、図40の動作時のバッファ閾値管理テーブルを説明するための説明図である。図41(a)は、キューイングバッファ141〜144が図40(b)に示す状態のときのバッファ閾値管理テーブル185を示している。第3キューイングバッファ143が輻輳状態のときに第4キューイングバッファ144が輻輳状態になると、バッファ書き込み部150は、対象優先クラス(第4キューイングバッファ144)の輻輳解消閾値Th2(エントリE38)の輻輳度数Xを「+1」カウントアップする(図30、ステップS152)。一方、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2(エントリE38)の現在設定値Yを「50」のまま変更せず、また、変更状態フラグF303を「0」のまま変更しない(ステップS154:YES)。   FIG. 41 is an explanatory diagram for explaining a buffer threshold value management table in the operation of FIG. FIG. 41A shows the buffer threshold value management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. When the fourth queuing buffer 144 becomes congested when the third queuing buffer 143 is congested, the buffer writing unit 150 causes the congestion elimination threshold Th2 of the target priority class (fourth queuing buffer 144) (entry E38). Is incremented by “+1” (FIG. 30, step S152). On the other hand, the buffer writing unit 150 does not change the current setting value Y of the congestion elimination threshold Th2 (entry E38) of the target priority class to “50” and does not change the change state flag F303 to “0” ( Step S154: YES).

図41(b)は、キューイングバッファ141〜144が図40(c)に示す状態のときのバッファ閾値管理テーブル185を示している。第3キューイングバッファ143が輻輳状態のときに第2キューイングバッファ142が輻輳状態になると、バッファ書き込み部150は、対象優先クラス(第2キューイングバッファ142)の輻輳解消閾値Th2(エントリE34)の輻輳度数Xを「+1」カウントアップする(図30、ステップS152)。また、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2(エントリE34)の現在設定値Yを「48」(48=50+1×20×(−1)/10=48)に更新し(ステップS157)、変更状態フラグF303を「1」にセットする(ステップS159)。さらに、バッファ書き込み部150は、対象優先クラスの下位の優先クラス(第3キューイングバッファ143)の輻輳解消閾値Th2(エントリE36)の現在設定値Yに初期設定値aである「50」をセットし(図33、ステップS165)、変更状態フラグF303を「0」にセットする(ステップS166)。   FIG. 41 (b) shows the buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. 40 (c). When the second queuing buffer 142 becomes congested when the third queuing buffer 143 is congested, the buffer writing unit 150 causes the congestion elimination threshold Th2 (entry E34) of the target priority class (second queuing buffer 142). Is incremented by “+1” (FIG. 30, step S152). Further, the buffer writing unit 150 updates the current setting value Y of the congestion elimination threshold Th2 (entry E34) of the target priority class to “48” (48 = 50 + 1 × 20 × (−1) / 10 = 48) (step In step S157, the change state flag F303 is set to “1” (step S159). Further, the buffer writing unit 150 sets “50”, which is the initial setting value a, to the current setting value Y of the congestion elimination threshold Th2 (entry E36) of the priority class (third queuing buffer 143) lower than the target priority class. Then (FIG. 33, step S165), the change state flag F303 is set to “0” (step S166).

図41(c)は、キューイングバッファ141〜144が図40(d)に示す状態のときのバッファ閾値管理テーブル185を示している。第3キューイングバッファ143が輻輳状態のときに第1キューイングバッファ141が輻輳状態になると、バッファ書き込み部150は、対象優先クラス(第1キューイングバッファ141)の輻輳解消閾値Th2(エントリE32)の輻輳度数Xを「+1」カウントアップする(図30、ステップS152)。また、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2(エントリE32)の現在設定値Yを「48」(48=50+1×20×(−1)/10=48)に更新し(ステップS157)、変更状態フラグF303を「1」にセットする(ステップS159)。さらに、バッファ書き込み部150は、対象優先クラスの下位の優先クラス(第3キューイングバッファ143)の輻輳解消閾値Th2(エントリE36)の現在設定値Yに初期設定値aである「50」をセットし(図33、ステップS165)、変更状態フラグF303を「0」にセットする(ステップS166)。   FIG. 41 (c) shows the buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. 40 (d). If the first queuing buffer 141 becomes congested when the third queuing buffer 143 is congested, the buffer writing unit 150 causes the congestion elimination threshold Th2 (entry E32) of the target priority class (first queuing buffer 141). Is incremented by “+1” (FIG. 30, step S152). In addition, the buffer writing unit 150 updates the current setting value Y of the congestion elimination threshold Th2 (entry E32) of the target priority class to “48” (48 = 50 + 1 × 20 × (−1) / 10 = 48) (step In step S157, the change state flag F303 is set to “1” (step S159). Further, the buffer writing unit 150 sets “50”, which is the initial setting value a, to the current setting value Y of the congestion elimination threshold Th2 (entry E36) of the priority class (third queuing buffer 143) lower than the target priority class. Then (FIG. 33, step S165), the change state flag F303 is set to “0” (step S166).

図42は、第2実施例のフレーム転送装置の動作を例示するための第3の説明図である。図42(a)では、上述した図40(b)と同じ状態が示されている。すなわち、第3キューイングバッファ143と第4キューイングバッファ144が輻輳した状態が示されている。このときの各優先クラスの優先順位は、キューイングバッファ141、142、143、144の順に、それぞれ1、3、2、4となっている。図42(b)では、図42(a)の状態から、第3キューイングバッファ143の輻輳が解消された状態が示されている。輻輳の解消により、1つ上位の優先クラス(第2キューイングバッファ142)の優先度変更設定は解除される。これにより、各優先クラスの優先順位はキューイングバッファ141、142、143、144の順に、それぞれ1、2、4、3となる。また、第4キューイングバッファ144の輻輳解消閾値Th2は、フレーム蓄積量減少方向(図42の右方向)に移動する。一方、第3キューイングバッファ143の輻輳解消閾値Th2は、フレーム蓄積量増加方向(図42の左方向)に移動して輻輳前の位置に戻る。   FIG. 42 is a third explanatory diagram for illustrating the operation of the frame transfer apparatus according to the second embodiment. FIG. 42A shows the same state as FIG. 40B described above. That is, the third queuing buffer 143 and the fourth queuing buffer 144 are congested. At this time, the priority order of each priority class is 1, 3, 2, 4 in the order of the queuing buffers 141, 142, 143, and 144, respectively. FIG. 42B shows a state in which the congestion of the third queuing buffer 143 has been eliminated from the state of FIG. By eliminating the congestion, the priority change setting of the higher priority class (second queuing buffer 142) is canceled. As a result, the priorities of the priority classes are 1, 2, 4, 3 in the order of the queuing buffers 141, 142, 143, and 144, respectively. Further, the congestion elimination threshold Th2 of the fourth queuing buffer 144 moves in the frame accumulation amount decreasing direction (right direction in FIG. 42). On the other hand, the congestion elimination threshold Th2 of the third queuing buffer 143 moves in the frame accumulation amount increasing direction (left direction in FIG. 42) and returns to the position before the congestion.

図43は、図42の動作時のバッファ閾値管理テーブルを説明するための説明図である。図43(a)は、キューイングバッファ141〜144が図42(a)に示す状態のときのバッファ閾値管理テーブル185を示している。キューイングバッファ141〜144の輻輳解消閾値Th2の現在設定値Yは、第3キューイングバッファ143のみが「48」であり、他が「50」となっている。図43(b)は、キューイングバッファ141〜144が図42(b)に示す状態のときのバッファ閾値管理テーブル185を示している。バッファ読み出し部160は、対象優先クラス(第3キューイングバッファ143)の輻輳状態の解消を検出すると、対象優先クラスの輻輳解消閾値Th2(エントリE36)の現在設定値Yに初期設定値aをセットする(図36、ステップS421)。また、バッファ読み出し部160は、対象優先クラスの輻輳解消閾値Th2(エントリE36)の輻輳度数Xと輻輳状態フラグを「0」にセットする(ステップS422、S423)。一方、バッファ書き込み部150は、下位の優先クラス(第4キューイングバッファ144)の輻輳状態を検出すると、下位の優先クラスの輻輳解消閾値Th2(エントリE38)の輻輳度数Xを「+1」カウントアップする。(図30、ステップS152)。また、バッファ書き込み部150は、対象優先クラスの輻輳解消閾値Th2(エントリE34)の現在設定値Yを「46」(48=50+2×20×(−1)/10=46)に更新し(ステップS157)、変更状態フラグF303を「1」にセットする(ステップS159)。   FIG. 43 is an explanatory diagram for explaining a buffer threshold management table during the operation of FIG. FIG. 43A shows the buffer threshold value management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. The current setting value Y of the congestion elimination threshold Th2 of the queuing buffers 141 to 144 is “48” only for the third queuing buffer 143 and “50” for the others. FIG. 43B shows the buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. When the buffer reading unit 160 detects the cancellation of the congestion state of the target priority class (third queuing buffer 143), the buffer reading unit 160 sets the initial setting value a to the current setting value Y of the congestion cancellation threshold Th2 (entry E36) of the target priority class. (FIG. 36, step S421). Further, the buffer reading unit 160 sets the congestion degree number X and the congestion state flag of the congestion elimination threshold Th2 (entry E36) of the target priority class to “0” (steps S422 and S423). On the other hand, when the buffer writing unit 150 detects the congestion state of the lower priority class (fourth queuing buffer 144), it increments the congestion degree number X of the congestion elimination threshold Th2 (entry E38) of the lower priority class by “+1”. To do. (FIG. 30, step S152). In addition, the buffer writing unit 150 updates the current setting value Y of the congestion elimination threshold Th2 (entry E34) of the target priority class to “46” (48 = 50 + 2 × 20 × (−1) / 10 = 46) (step S40). In step S157, the change state flag F303 is set to “1” (step S159).

図44は、第2実施例のフレーム転送装置の動作を例示するための第4の説明図である。図44(a)では、すべてのキューイングバッファ141〜144が輻輳していない状態が示されている。図44(b)では、第3キューイングバッファ143において、図44(a)の状態から、輻輳が発生しないまま所定の時間(設定時間Tp)が経過した状態が示されている。第3キューイングバッファ143において、所定の時間輻輳が発生していないと、第3キューイングバッファ143の輻輳閾値Th1は、フレーム蓄積量増加方向(図44の左方向)に移動する。   FIG. 44 is a fourth explanatory diagram for illustrating the operation of the frame transfer apparatus according to the second embodiment. FIG. 44A shows a state in which all the queuing buffers 141 to 144 are not congested. FIG. 44B shows a state where a predetermined time (set time Tp) has passed from the state of FIG. 44A in the third queuing buffer 143 without congestion. In the third queuing buffer 143, when congestion has not occurred for a predetermined time, the congestion threshold Th1 of the third queuing buffer 143 moves in the frame accumulation amount increasing direction (left direction in FIG. 44).

図45は、図44の動作時のバッファ閾値管理テーブルを説明するための説明図である。図45(a)は、キューイングバッファ141〜144が図44(a)に示す状態のときのバッファ閾値管理テーブル185を示している。キューイングバッファ141〜144の輻輳閾値Th1の現在設定値Yは、すべて「50」となっている。図45(b)は、キューイングバッファ141〜144が図44(b)に示す状態のときのバッファ閾値管理テーブル185を示している。バッファ書き込み部150は、第3キューイングバッファ143が設定時間Tp(例えば3600秒)以上輻輳状態になっていないことを検出すると(図24、ステップS124)、対象優先クラス(第3キューイングバッファ143)の輻輳閾値Th1(エントリE35)の輻輳度数Xを「+1」カウントアップする(ステップS125)。また、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の現在設定値Yを「52」(52=50+1×20×1/10)に更新し(ステップS126)、変更状態フラグF303を「1」にセットする(ステップS128)。   FIG. 45 is an explanatory diagram for explaining a buffer threshold value management table during the operation of FIG. FIG. 45A shows the buffer threshold value management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. The currently set values Y of the congestion threshold Th1 of the queuing buffers 141 to 144 are all “50”. FIG. 45 (b) shows the buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. 44 (b). When the buffer writing unit 150 detects that the third queuing buffer 143 is not congested for a set time Tp (for example, 3600 seconds) (FIG. 24, step S124), the target priority class (third queuing buffer 143) ) Of the congestion threshold Th1 (entry E35) is incremented by “+1” (step S125). Further, the buffer writing unit 150 updates the current setting value Y of the congestion threshold Th1 of the target priority class to “52” (52 = 50 + 1 × 20 × 1/10) (step S126), and sets the change state flag F303 to “1”. "(Step S128).

図46は、第2実施例のフレーム転送装置の動作を例示するための第5の説明図である。図46(a)では、上述した図44(b)と同じ状態が示されている。すなわち、第3キューイングバッファ143が設定時間Tp以上輻輳状態にならず、輻輳閾値Th1が、フレーム蓄積量増加方向に移動した状態が示されている。図46(b)では、図46(a)の状態からさらに、第2キューイングバッファ142が設定時間Tp以上輻輳状態にならなかった状態が示されている。このとき、第2キューイングバッファ142の輻輳閾値Th1は、フレーム蓄積量増加方向(図46の左方向)に移動する。一方、第3キューイングバッファ143の輻輳閾値Th1は、移動したままの状態で変化しない。図40(c)では、図46(a)の状態からさらに、第4キューイングバッファ144が設定時間Tp以上輻輳状態にならなかった状態が示されている。このとき、第4キューイングバッファ144の輻輳閾値Th1は、フレーム蓄積量増加方向(図46の左方向)に移動する。一方、第3キューイングバッファ143の輻輳閾値Th1は、移動したままの状態で変化しない。   FIG. 46 is a fifth explanatory diagram for illustrating the operation of the frame transfer apparatus according to the second embodiment. FIG. 46A shows the same state as FIG. 44B described above. That is, the state where the third queuing buffer 143 is not congested for the set time Tp and the congestion threshold Th1 is moved in the direction of increasing the frame accumulation amount is shown. FIG. 46B shows a state in which the second queuing buffer 142 has not been congested for the set time Tp beyond the state of FIG. 46A. At this time, the congestion threshold Th1 of the second queuing buffer 142 moves in the frame accumulation amount increasing direction (left direction in FIG. 46). On the other hand, the congestion threshold Th1 of the third queuing buffer 143 does not change in the state where it has moved. FIG. 40C shows a state in which the fourth queuing buffer 144 has not been congested for the set time Tp from the state of FIG. 46A. At this time, the congestion threshold Th1 of the fourth queuing buffer 144 moves in the frame accumulation amount increasing direction (left direction in FIG. 46). On the other hand, the congestion threshold Th1 of the third queuing buffer 143 does not change in the state where it has moved.

図47は、図46の動作時のバッファ閾値管理テーブルを説明するための説明図である。図47(a)は、キューイングバッファ141〜144が図46(b)に示す状態のときのバッファ閾値管理テーブル185を示している。バッファ書き込み部150は、第2キューイングバッファ142が設定時間Tp以上輻輳状態になっていないことを検出すると(図24、ステップS124)、対象優先クラス(第2キューイングバッファ142)の輻輳閾値Th1(エントリE33)の輻輳度数Xを「+1」カウントアップする(ステップS125)。また、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の現在設定値Yを「52」(52=50+1×20×1/10)に更新し(ステップS126)、変更状態フラグF303を「1」にセットする(ステップS128)。図47(b)は、キューイングバッファ141〜144が図46(c)に示す状態のときのバッファ閾値管理テーブル185を示している。バッファ書き込み部150は、第4キューイングバッファ144が設定時間Tp以上輻輳状態になっていないことを検出すると(図24、ステップS124)、対象優先クラス(第4キューイングバッファ144)の輻輳閾値Th1(エントリE37)の輻輳度数Xを「+1」カウントアップする(ステップS125)。また、バッファ書き込み部150は、対象優先クラスの輻輳閾値Th1の現在設定値Yを「52」(52=50+1×20×1/10)に更新し(ステップS126)、変更状態フラグF303を「1」にセットする(ステップS128)。   FIG. 47 is an explanatory diagram for explaining a buffer threshold value management table during the operation of FIG. FIG. 47A shows the buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. When the buffer writing unit 150 detects that the second queuing buffer 142 is not congested for the set time Tp or more (FIG. 24, step S124), the congestion threshold Th1 of the target priority class (second queuing buffer 142) is detected. The congestion degree number X of (entry E33) is incremented by “+1” (step S125). Further, the buffer writing unit 150 updates the current setting value Y of the congestion threshold Th1 of the target priority class to “52” (52 = 50 + 1 × 20 × 1/10) (step S126), and sets the change state flag F303 to “1”. "(Step S128). FIG. 47B shows the buffer threshold management table 185 when the queuing buffers 141 to 144 are in the state shown in FIG. When the buffer writing unit 150 detects that the fourth queuing buffer 144 is not congested for the set time Tp or more (FIG. 24, step S124), the congestion threshold Th1 of the target priority class (fourth queuing buffer 144). The congestion degree number X of (entry E37) is incremented by “+1” (step S125). Further, the buffer writing unit 150 updates the current setting value Y of the congestion threshold Th1 of the target priority class to “52” (52 = 50 + 1 × 20 × 1/10) (step S126), and sets the change state flag F303 to “1”. "(Step S128).

以上説明した、第2実施例のフレーム転送装置102によれば、第1実施例と同様に、輻輳状態が発生したキューイングバッファの優先クラスの優先順位を上げつつ、フレーム種別に応じた本来の優先順位(初期優先度)を反映させた優先順位に応じてフレームの読み出しをおこなうことができる。また、これに加えて、キューイングバッファ(対象優先クラス)が輻輳状態になると、対象優先クラスの輻輳解消閾値Th2をフレーム蓄積量減少方向に変化させるため、対象優先クラスの優先順位が上がった状態を第1実施例よりも長く持続させることができる。これにより、フレーム破棄の発生を抑制することができる。   According to the frame transfer apparatus 102 of the second embodiment described above, as in the first embodiment, the priority of the priority class of the queuing buffer in which the congestion state occurs is raised, and the original according to the frame type is increased. Frames can be read out according to the priority order reflecting the priority order (initial priority). In addition to this, when the queuing buffer (target priority class) becomes congested, the priority level of the target priority class is increased in order to change the congestion elimination threshold Th2 of the target priority class in the direction of decreasing the frame accumulation amount. Can be maintained longer than in the first embodiment. Thereby, generation | occurrence | production of frame discard can be suppressed.

また、キューイングバッファ(対象優先クラス)の輻輳状態が所定の時間発生していないとき、対象優先クラスのキューイングバッファの輻輳閾値Th1をフレーム蓄積量増加方向に変化させるため、対象優先クラスにおいて輻輳状態が発生しにくくなる。これにより、上位の優先クラスにおいて、対象優先クラスで輻輳状態が発生したときの優先度変更の影響を受けにくくすることができ、フレーム破棄などの不具合の発生を抑制することができる。   Further, when the congestion state of the queuing buffer (target priority class) does not occur for a predetermined time, the congestion threshold Th1 of the queuing buffer of the target priority class is changed in the direction of increasing the frame accumulation amount. The situation is less likely to occur. As a result, the higher priority class can be made less susceptible to the priority change when a congestion state occurs in the target priority class, and the occurrence of defects such as frame discard can be suppressed.

D.第2実施例の変形例:
D1.変形例1:
本実施例では、各キューイングバッファの輻輳閾値Th1と輻輳解消閾値Th2を1つのテーブル(バッファ閾値管理テーブル185)によって管理する構成について説明したが、輻輳閾値Th1と輻輳解消閾値Th2は、それぞれ異なるテーブルによって管理される構成としてもよい。
D. Modification of the second embodiment:
D1. Modification 1:
In this embodiment, the configuration is described in which the congestion threshold Th1 and the congestion elimination threshold Th2 of each queuing buffer are managed by one table (buffer threshold management table 185). However, the congestion threshold Th1 and the congestion elimination threshold Th2 are different from each other. It is good also as a structure managed by a table.

D2.変形例2:
本実施例では、バッファ書き込み部150およびバッファ読み出し部160が、バッファ閾値管理テーブル185を参照して、輻輳閾値Th1および輻輳解消閾値Th2の設定値の変更をおこなう構成として説明したが、フレーム転送装置102に搭載された図示しない演算処理部がおこなう構成としてもよい。
D2. Modification 2:
In the present embodiment, the buffer writing unit 150 and the buffer reading unit 160 have been described as a configuration in which the setting values of the congestion threshold Th1 and the congestion elimination threshold Th2 are changed with reference to the buffer threshold management table 185. It is good also as a structure which the arithmetic processing part (not shown) mounted in 102 performs.

D3.変形例3:
第1実施例で説明した変形例(第1実施例の変形例)は、本実施例のフレーム転送装置102にも当然に適用することができる。
D3. Modification 3:
The modification described in the first embodiment (modification of the first embodiment) can naturally be applied to the frame transfer apparatus 102 of the present embodiment.

10…ネットワークシステム
100…フレーム転送装置
110…フレーム転送部
131、132、133…回線インターフェース部
140…キューイングバッファ群
141…第1キューイングバッファ
142…第2キューイングバッファ
143…第3キューイングバッファ
144…第4キューイングバッファ
150…バッファ書き込み部
160…バッファ読み出し部
170…優先クラステーブル
180…バッファ状態管理テーブル
190…記憶部
200…ユーザ端末
300…サーバ
400…ストレージ
500…設定監視用端末
DESCRIPTION OF SYMBOLS 10 ... Network system 100 ... Frame transfer apparatus 110 ... Frame transfer part 131, 132, 133 ... Line interface part 140 ... Queuing buffer group 141 ... 1st queuing buffer 142 ... 2nd queuing buffer 143 ... 3rd queuing buffer 144 ... 4th queuing buffer 150 ... buffer writing unit 160 ... buffer reading unit 170 ... priority class table 180 ... buffer state management table 190 ... storage unit 200 ... user terminal 300 ... server 400 ... storage 500 ... setting monitoring terminal

Claims (10)

フレーム転送装置であって、
フレームを蓄積可能な3以上の複数のキューイングバッファと、
各前記キューイングバッファからフレームを読み出す相対的な優先順位を記憶する記憶部と、
前記優先順位に応じて前記キューイングバッファからフレームを読み出して転送をおこなうバッファ読み出し部と、
前記フレーム転送装置の外部から受信したフレームを前記フレームに含まれる情報に応じて前記複数のキューイングバッファのうちのいずれかに書き込むバッファ書き込み部と、を備え、
前記バッファ書き込み部は、いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこなう、フレーム転送装置。
A frame transfer device,
Three or more queuing buffers capable of storing frames;
A storage unit for storing relative priorities for reading frames from each of the queuing buffers;
A buffer read unit that reads and transfers frames from the queuing buffer according to the priority order; and
A buffer writing unit that writes a frame received from the outside of the frame transfer device to any one of the plurality of queuing buffers according to information included in the frame, and
When the buffer writing unit detects a congestion state of any of the first queuing buffers, the buffer writing unit has a higher priority than the first queuing buffer and the first queuing buffer when a predetermined condition is satisfied. Is a frame transfer apparatus for switching the priority order of the second queuing buffer that is one level higher.
請求項1に記載のフレーム転送装置において、
前記バッファ書き込み部は、前記第2のキューイングバッファが輻輳状態の場合には、前記所定の条件を満たさないものと判断して、前記優先順位の入れ替えをおこなわない、フレーム転送装置。
The frame transfer apparatus according to claim 1,
The frame transfer device, in which the buffer writing unit determines that the predetermined condition is not satisfied when the second queuing buffer is in a congested state, and does not change the priority order.
請求項1または請求項2に記載のフレーム転送装置において、
前記バッファ書き込み部は、前記第1のキューイングバッファの優先順位が、過去におこなわれた優先順位の入れ替えによって、1つ下がっている場合には、
(i)前記優先順位の入れ替えを解消するとともに、
(ii)前記第2のキューイングバッファが輻輳状態ではない場合には、前記第1のキューイングバッファと、前記第2のキューイングバッファとの優先順位の入れ替えをおこなう、フレーム転送装置。
In the frame transfer device according to claim 1 or 2,
The buffer writing unit, when the priority of the first queuing buffer is lowered by one due to the change of the priority performed in the past,
(I) Eliminate the change of priority, and
(Ii) A frame transfer apparatus that switches priority between the first queuing buffer and the second queuing buffer when the second queuing buffer is not congested.
請求項1ないし請求項3のいずれかに記載のフレーム転送装置において、
前記バッファ読み出し部は、過去におこなわれた前記優先順位の入れ替えによって、優先順位が1つ上がっている前記第1のキューイングバッファの輻輳状態の解消を検出すると、前記優先順位の入れ替えを解消する、フレーム転送装置。
The frame transfer device according to any one of claims 1 to 3,
When the buffer reading unit detects that the congestion of the first queuing buffer whose priority is increased by one due to the switching of the priorities performed in the past, the buffer reading unit cancels the switching of the priorities. Frame transfer device.
請求項1ないし請求項4のいずれかに記載のフレーム転送装置において、
前記記憶部には、前記各キューイングバッファの現在の優先順位を示す情報と、前記各キューイングバッファの初期の優先順位を示す情報とが記憶され、
前記バッファ書き込み部は、前記初期の優先順位において、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位を、前記現在の優先順位を示す情報において、前記第1のキューイングバッファより優先順位が1つ下位になるように前記現在の優先順位を示す情報を書き換え、
前記バッファ読み出し部は、前記現在の優先順位に応じて、前記キューイングバッファからフレームを読み出して転送をおこなう、フレーム転送装置。
The frame transfer device according to any one of claims 1 to 4,
The storage unit stores information indicating the current priority of each queuing buffer and information indicating the initial priority of each queuing buffer;
In the information indicating the current priority level, the buffer writing unit indicates the priority level of the second queuing buffer that is one priority higher than the first queuing buffer in the initial priority level. Rewriting the information indicating the current priority so that the priority is one lower than the first queuing buffer;
The buffer reading unit is a frame transfer device that reads and transfers a frame from the queuing buffer according to the current priority order.
フレームの転送方法であって、
記憶部に記憶されている優先順位に応じて3以上の複数のキューイングバッファからフレームを読み出して転送をおこなう工程と、
フレームに含まれる情報に応じてフレームを前記複数のキューイングバッファのうちのいずれかに書き込む工程と、
いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこなう工程と、を備えるフレームの転送方法。
A frame transfer method,
A step of reading frames from three or more queuing buffers according to the priority order stored in the storage unit and transferring them;
Writing a frame to any of the plurality of queuing buffers according to information contained in the frame;
When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer having a higher priority than the first queuing buffer when a predetermined condition is satisfied. And a step of exchanging the priorities of the two queuing buffers.
フレーム転送装置であって、
フレームを蓄積可能な3以上の複数のキューイングバッファと、
各前記キューイングバッファからフレームを読み出す相対的な優先順位を記憶する記憶部と、
前記優先順位に応じて前記キューイングバッファからフレームを読み出して転送をおこなうバッファ読み出し部と、
前記フレーム転送装置の外部から受信したフレームを前記フレームに含まれる情報に応じて前記複数のキューイングバッファのうちのいずれかに書き込むバッファ書き込み部と、を備え、
前記記憶部は、各前記キューイングバッファのそれぞれに設定される輻輳閾値と輻輳解消閾値とを記憶し、
前記バッファ書き込み部は、
(i)フレームの蓄積量が前記輻輳閾値を超えたときに前記キューイングバッファの輻輳状態を検出し、フレームの蓄積量が前記輻輳解消閾値を下回ったときに前記キューイングバッファの輻輳状態の解消を検出し、
(ii)いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこない、
(iii)前記第1のキューイングバッファに設定された前記輻輳解消閾値を減少させる、フレーム転送装置。
A frame transfer device,
Three or more queuing buffers capable of storing frames;
A storage unit for storing relative priorities for reading frames from each of the queuing buffers;
A buffer read unit that reads and transfers frames from the queuing buffer according to the priority order; and
A buffer writing unit that writes a frame received from the outside of the frame transfer device to any one of the plurality of queuing buffers according to information included in the frame, and
The storage unit stores a congestion threshold and a congestion elimination threshold set in each of the queuing buffers,
The buffer writing unit
(I) The congestion state of the queuing buffer is detected when the accumulated amount of frames exceeds the congestion threshold, and the congestion state of the queuing buffer is resolved when the accumulated amount of frames falls below the congestion elimination threshold. Detect
(Ii) When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer have one priority when a predetermined condition is satisfied. Change the priority of the upper second queuing buffer,
(Iii) A frame transfer apparatus that reduces the congestion elimination threshold set in the first queuing buffer.
フレーム転送装置であって、
フレームを蓄積可能な3以上の複数のキューイングバッファと、
各前記キューイングバッファからフレームを読み出す相対的な優先順位を記憶する記憶部と、
前記優先順位に応じて前記キューイングバッファからフレームを読み出して転送をおこなうバッファ読み出し部と、
前記フレーム転送装置の外部から受信したフレームを前記フレームに含まれる情報に応じて前記複数のキューイングバッファのうちのいずれかに書き込むバッファ書き込み部と、を備え、
前記記憶部は、各前記キューイングバッファのそれぞれに設定される輻輳閾値と輻輳解消閾値とを記憶し、
前記バッファ書き込み部は、
(i)フレームの蓄積量が前記輻輳閾値を超えたときに前記キューイングバッファの輻輳状態を検出し、フレームの蓄積量が前記輻輳解消閾値を下回ったときに前記キューイングバッファの輻輳状態の解消を検出し、
(ii)いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこない、
(iii)所定の時間以上輻輳状態となっていないキューイングバッファを検出すると、前記キューイングバッファに設定された前記輻輳閾値を増加させる、フレーム転送装置。
A frame transfer device,
Three or more queuing buffers capable of storing frames;
A storage unit for storing relative priorities for reading frames from each of the queuing buffers;
A buffer read unit that reads and transfers frames from the queuing buffer according to the priority order; and
A buffer writing unit that writes a frame received from the outside of the frame transfer device to any one of the plurality of queuing buffers according to information included in the frame, and
The storage unit stores a congestion threshold and a congestion elimination threshold set in each of the queuing buffers,
The buffer writing unit
(I) The congestion state of the queuing buffer is detected when the accumulated amount of frames exceeds the congestion threshold, and the congestion state of the queuing buffer is resolved when the accumulated amount of frames falls below the congestion elimination threshold. Detect
(Ii) When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer have one priority when a predetermined condition is satisfied. Change the priority of the upper second queuing buffer,
(Iii) A frame transfer apparatus that increases the congestion threshold set in the queuing buffer when a queuing buffer that is not congested for a predetermined time or more is detected.
フレームの転送方法であって、
記憶部に記憶されている優先順位に応じて3以上の複数のキューイングバッファからフレームを読み出して転送をおこなう工程と、
フレームに含まれる情報に応じてフレームを前記複数のキューイングバッファのうちのいずれかに書き込む工程と、
フレームの蓄積量が輻輳閾値を超えたときにキューイングバッファの輻輳状態を検出し、フレームの蓄積量が輻輳解消閾値を下回ったときにキューイングバッファの輻輳状態の解消を検出する工程と、
いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこない、前記第1のキューイングバッファに設定されている輻輳解消閾値を減少させる工程と、を備えるフレームの転送方法。
A frame transfer method,
A step of reading frames from three or more queuing buffers according to the priority order stored in the storage unit and transferring them;
Writing a frame to any of the plurality of queuing buffers according to information contained in the frame;
Detecting the congestion state of the queuing buffer when the accumulated amount of frames exceeds the congestion threshold, and detecting the cancellation of the congestion state of the queuing buffer when the accumulated amount of frames falls below the congestion elimination threshold;
When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer having a higher priority than the first queuing buffer when a predetermined condition is satisfied. And a step of switching the priority order of the two queuing buffers to reduce a congestion elimination threshold set in the first queuing buffer.
フレームの転送方法であって、
記憶部に記憶されている優先順位に応じて3以上の複数のキューイングバッファからフレームを読み出して転送をおこなう工程と、
フレームに含まれる情報に応じてフレームを前記複数のキューイングバッファのうちのいずれかに書き込む工程と、
フレームの蓄積量が輻輳閾値を超えたときにキューイングバッファの輻輳状態を検出し、フレームの蓄積量が輻輳解消閾値を下回ったときにキューイングバッファの輻輳状態の解消を検出する工程と、
いずれかの第1のキューイングバッファの輻輳状態を検出すると、所定の条件を満たしたときに、前記第1のキューイングバッファと、前記第1のキューイングバッファより優先順位が1つ上位の第2のキューイングバッファの優先順位の入れ替えをおこなう工程と、
所定の時間以上輻輳状態となっていないキューイングバッファを検出すると、前記キューイングバッファに設定された輻輳閾値を増加させる工程と、を備えるフレームの転送方法。
A frame transfer method,
A step of reading frames from three or more queuing buffers according to the priority order stored in the storage unit and transferring them;
Writing a frame to any of the plurality of queuing buffers according to information contained in the frame;
Detecting the congestion state of the queuing buffer when the accumulated amount of frames exceeds the congestion threshold, and detecting the cancellation of the congestion state of the queuing buffer when the accumulated amount of frames falls below the congestion elimination threshold;
When the congestion state of any of the first queuing buffers is detected, the first queuing buffer and the first queuing buffer having a higher priority than the first queuing buffer when a predetermined condition is satisfied. A step of changing the priority of the queuing buffers of 2;
And a step of increasing a congestion threshold set in the queuing buffer when a queuing buffer that has not been congested for a predetermined time is detected.
JP2012156089A 2011-10-03 2012-07-12 Frame transfer device and frame transfer method Pending JP2013093834A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012156089A JP2013093834A (en) 2011-10-03 2012-07-12 Frame transfer device and frame transfer method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011218918 2011-10-03
JP2011218918 2011-10-03
JP2012156089A JP2013093834A (en) 2011-10-03 2012-07-12 Frame transfer device and frame transfer method

Publications (1)

Publication Number Publication Date
JP2013093834A true JP2013093834A (en) 2013-05-16

Family

ID=48616596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012156089A Pending JP2013093834A (en) 2011-10-03 2012-07-12 Frame transfer device and frame transfer method

Country Status (1)

Country Link
JP (1) JP2013093834A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015076889A (en) * 2013-10-11 2015-04-20 ジーイー・アビエイション・システムズ・エルエルシー Data communications network for aircraft
US9853714B2 (en) 2013-10-11 2017-12-26 Ge Aviation Systems Llc Data communications network for an aircraft
CN109426434A (en) * 2017-08-23 2019-03-05 北京易华录信息技术股份有限公司 A kind of data of optical disk reading/writing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015076889A (en) * 2013-10-11 2015-04-20 ジーイー・アビエイション・システムズ・エルエルシー Data communications network for aircraft
CN104579865A (en) * 2013-10-11 2015-04-29 通用电气航空系统有限责任公司 Data communications network for an aircraft
US9749256B2 (en) 2013-10-11 2017-08-29 Ge Aviation Systems Llc Data communications network for an aircraft
US9853714B2 (en) 2013-10-11 2017-12-26 Ge Aviation Systems Llc Data communications network for an aircraft
CN109426434A (en) * 2017-08-23 2019-03-05 北京易华录信息技术股份有限公司 A kind of data of optical disk reading/writing method
CN109426434B (en) * 2017-08-23 2023-04-28 北京易华录信息技术股份有限公司 CD data read-write method

Similar Documents

Publication Publication Date Title
US11095536B2 (en) Detecting and handling large flows
US10263919B1 (en) Buffer assignment balancing in a network device
US11637786B1 (en) Multi-destination traffic handling optimizations in a network device
JP5710418B2 (en) Packet relay apparatus and method
EP4057579A1 (en) Data forwarding method, data buffering method, device, and related apparatus
US10505851B1 (en) Transmission burst control in a network device
JP4952642B2 (en) Packet transfer apparatus and packet discarding method
US10432429B1 (en) Efficient traffic management
JP2013093834A (en) Frame transfer device and frame transfer method
US11245632B2 (en) Automatic flow management
CN112242965A (en) Telemetry event aggregation
CN111526095A (en) Flow control method and device
US9001839B2 (en) Communication control device and method
EP4195615A1 (en) Network processor with external memory protection
US11533270B2 (en) Adaptive buffering in a distributed system with latency / adaptive tail drop
US10228852B1 (en) Multi-stage counters
WO2004023718A2 (en) Systems and methods for packet flow regulation and transmission integrity verification of a switching entity
JP4840086B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
JP2794953B2 (en) Data discard method
JP2011055052A (en) Information processor, transmission apparatus, and method for processing information
EP4195616A1 (en) Network processor with external memory protection
JP5620879B2 (en) Transmission apparatus and normality confirmation method in transmission apparatus
JP2011130249A (en) Communication controller
CN113347112A (en) Data packet forwarding method and device based on multi-level cache
CN116155812A (en) Message processing method and network equipment