(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-21
(45)【発行日】2022-11-30
(54)【発明の名称】中継装置およびフレーム格納制御方法
(51)【国際特許分類】
H04L 49/9015 20220101AFI20221122BHJP
【FI】
H04L49/9015
(21)【出願番号】P 2019043580
(22)【出願日】2019-03-11
【審査請求日】2021-07-16
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】加来 芳史
(72)【発明者】
【氏名】板川 太一
【審査官】大石 博見
(56)【参考文献】
【文献】特開2008-269561(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 49/9015
H04L 47/31
(57)【特許請求の範囲】
【請求項1】
中継装置であって、
複数のポート(P0T~P7T)と、
前
記各ポートに対して少なくとも1つずつ設けられ、対応するポートから送信される予定のフレームである送信予定フレームが格納されるキューであって、容量が可変であると共に、容量の最小保証値が設定されているキュー(Q0,Q1)と、
前記各キュー
の前記最小保証値の容量を含む全ての容量として使用される、所定容量を有した共用記憶領域(11)と、
前記各キューへの前記送信予定フレームの格納を制御するように構成された格納制御部(9)と、を備え、
前記格納制御部は、
前記キューのうち、前記送信予定フレームを格納しようとするキューである格納先キューの使用容量
と前記送信予定フレームのデータ量との合計値である予想使用容量が当該格納先キューの前記最小保証値
以下であれば、前記送信予定フレームの前記格納先キューへの格納を行い、前記格納先キューの
前記予想使用容量が当該格納先キューの前記最小保証値
以下でなくても、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域があれば、当該空き領域を前記格納先キューとして用いて、前記送信予定フレームの前記格納先キューへの格納を行うように構成され
、
更に、前記格納制御部は、
前記格納先キューの前記予想使用容量が当該格納先キューの前記最小保証値以下で、且つ、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域がない場合、前記格納先キュー以外のキューであって、使用容量が当該キューの前記最小保証値を超えているキューのうちの何れかに格納されているフレームのうちの何れかを破棄することにより、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域を発生させ、当該空き領域の少なくとも一部を前記格納先キューとして用いて、前記送信予定フレームの前記格納先キューへの格納を行うように構成されている、
中継装置。
【請求項2】
請求項1に記載の中継装置であって、
前記各キューに
ついて容量の最大許容値が
それぞれ設定され、
前記格納制御部は、
前記格納先キューの使用容量が前記格納先キューの前記最大許容値を超えない範囲で、前記送信予定フレームの前記格納先キューへの格納を行うように構成されている、
中継装置。
【請求項3】
請求項2に記載の中継装置であって、
前記各キューの前記最大許容値の合計値は、前記キューが使用可能なトータル容量よりも大きい、
中継装置。
【請求項4】
請求項1ないし請求項
3の何れか1項に記載の中継装置であって、
前記各キューの前記最小保証値が、当該中継装置の外部の装置(3)によって書き込まれるように構成された保証値記憶部(13)、を更に備え、
前記各キューの前記最小保証値は、前記保証値記憶部に書き込まれた値に設定されるように構成されている、
中継装置。
【請求項5】
請求項2又は請求項3に記載の中継装置であって、
前記各キューの前記最大許容値が、当該中継装置の外部の装置(3)によって書き込まれるように構成された許容値記憶部(14)、を更に備え、
前記各キューの前記最大許容値は、前記許容値記憶部に書き込まれた値に設定されるように構成されている、
中継装置。
【請求項6】
請求項1ないし請求項5の何れか1項に記載の中継装置であって、
前記格納制御部は、
前記格納先キューの前記予想使用容量が当該格納先キューの前記最小保証値以下でなく、且つ、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域がない場合は、前記送信予定フレームを格納せずに破棄するように構成されている、
中継装置。
【請求項7】
請求項2又は請求項3に記載の中継装置であって、
前記格納制御部は、
前記格納先キューの前記予想使用容量が当該格納先キューの前記最小保証値以下でなく、且つ、前記格納先キューの前記予想使用容量が当該格納先キューの前記最大許容値以下でもない場合は、前記送信予定フレームを格納せずに破棄するように構成されている、
中継装置。
【請求項8】
複数のポートと、
前記各ポートに対して少なくとも1つずつ設けられ、対応するポートから送信される予定のフレームである送信予定フレームが格納されるキューであって、容量が可変であると共に、容量の最小保証値が設定されているキューと、
前記各キューの前記最小保証値の容量を含む全ての容量として使用される、所定容量を有した共用記憶領域と、
を備える中継装置において、前記各キューへの前記送信予定フレームの格納を制御するためのフレーム格納制御方法であって、
前記キューのうち、前記送信予定フレームを格納しようとするキューである格納先キューの使用容量と前記送信予定フレームのデータ量との合計値である予想使用容量が当該格納先キューの前記最小保証値以下であれば、前記送信予定フレームの前記格納先キューへの格納を行うことと、
前記格納先キューの前記予想使用容量が当該格納先キューの前記最小保証値以下でなくても、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域があれば、当該空き領域を前記格納先キューとして用いて、前記送信予定フレームの前記格納先キューへの格納を行うことと、
前記格納先キューの前記予想使用容量が当該格納先キューの前記最小保証値以下で、且つ、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域がない場合、前記格納先キュー以外のキューであって、使用容量が当該キューの前記最小保証値を超えているキューのうちの何れかに格納されているフレームのうちの何れかを破棄することにより、前記共用記憶領域に前記送信予定フレームを格納可能な空き領域を発生させ、当該空き領域の少なくとも一部を前記格納先キューとして用いて、前記送信予定フレームの前記格納先キューへの格納を行うことと、
を含むフレーム格納制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、中継装置に関する。
【背景技術】
【0002】
スター型トポロジのネットワークを構成する中継装置として、例えばイーサネットのスイッチがある。尚、イーサネットは、登録商標である。スイッチは、複数のポートの何れかから受信されたフレームを、複数のポートのうち、そのフレームの宛先の装置がつながっているポートから送信することにより、フレームの中継を行う。
【0003】
また例えば、下記の特許文献1には、複数の送信回路毎に、その送信回路から送信する予定のパケットが蓄積されるパケット蓄積FIFOを備え、このパケット蓄積FIFOに蓄積されたパケットを送信回路から送信するように構成された中継装置、が記載されている。そして、イーサネットのスイッチにおいても、複数の各ポートに対して、送信予定のフレームが格納されるキューが設けられ、各キューに格納されたフレームが、当該キューに対応するポートから送信される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数の各ポートに対して送信予定のフレームが格納されるキューを備える中継装置に関して、発明者の詳細な検討の結果、下記の課題が見出された。
複数のポートから特定のポートにフレームが集中するなどの原因により、特定のポートにつながる通信経路の帯域が一時的に増加した場合、即ち、バーストトラフィックが発生した場合には、その特定のポートに対応するキューに、送信待ちの複数のフレームが蓄積される。そして、キューがオーバフローすると、フレームをキューに蓄積することができなくなりフレームロスに至る。ここで言うフレームロスとは、送信予定のフレーム(即ち、中継対象フレーム)が失われてしまうことである。このようなバーストトラフィックによるフレームロスの抑制性能(以下、バースト耐性)を向上させるためには、各キューの容量を予め十分大きく設定しておくことが考えられる。しかし、バーストトラフィックが発生していない通常時、あるいは、バーストトラフィックが発生していないポートについては、キューの大きな容量が無駄になる。逆に、各キューの容量を通常時に必要な最小限の容量に設定したのでは、バースト耐性が得られない。
【0006】
そこで、本開示の1つの局面は、全てのキューの総容量を抑制しつつ、バースト耐性と最低限のフレーム蓄積性能とを、両立させることのできる中継装置を提供する。
【課題を解決するための手段】
【0007】
本開示の1つの態様による中継装置は、複数のポート(P0T~P7T)と、複数の各ポートに対して少なくとも1つずつ設けられ、対応するポートから送信される予定のフレームである送信予定フレームが格納されるキュー(Q0,Q1)と、所定容量を有した共用記憶領域(11)と、格納制御部(9)と、を備える。各キューは、容量が可変であると共に、容量の最小保証値が設定されている。共用記憶領域は、各キューとして使用される記憶領域である。格納制御部は、各キューへの送信予定フレームの格納を制御する。
【0008】
そして、格納制御部は、キューのうち、送信予定フレームを格納しようとするキューである格納先キューの使用容量が当該格納先キューの最小保証値を超えなければ、送信予定フレームの格納先キューへの格納を行う。また、格納制御部は、納先キューの使用容量が当該格納先キューの最小保証値を超えても、共用記憶領域に送信予定フレームを格納可能な空き領域があれば、この空き領域を格納先キューとして用いて、送信予定フレームの格納先キューへの格納を行う。
【0009】
このような構成によれば、各キューには、送信予定フレームが、少なくとも当該キューの最小保証値の分だけは格納可能である。よって、各キューについて最低限のフレーム蓄積性能が保証され、換言すれば、各ポートについて最低限のフレーム転送性能が保証される。
【0010】
また、格納先キューの使用容量が最小保証値を超えたとしても、共用記憶領域に送信予定フレームを格納可能な空き領域があれば、この空き領域が格納先キューとして用いられる。そして、この空き領域による格納先キューに送信予定フレームが格納される。このため、各ポートに対して少なくとも1つずつ設けられるキューのうちの特定のキューに送信予定フレームが集中する場合には、その特定のキューに、最小保証値を超える量及び数の送信予定フレームが格納可能となり、前述のバースト耐性を実現することができる。
【0011】
よって、本開示の1つの態様による中継装置によれば、各キューの容量を予め十分大きく設定しておく構成と比較して、全てのキューの総容量を抑制しつつ、バースト耐性と最低限のフレーム蓄積性能とを、両立させることができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態の中継装置の構成を示すブロック図である。
【
図2】キューの容量の最小保証値の一例を表す説明図である。
【
図3】キューの容量の最大許容値の一例を表す説明図である。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、本開示の実施形態を説明する。
[1.構成]
図1に示す実施形態の中継装置1は、例えば、車両に搭載されるECU2に備えられる。そして、中継装置1は、車両に搭載された他のECU間の通信を中継する。ECUは、「Electronic Control Unit」の略であり、即ち、電子制御装置の略である。また、ECU2には、当該ECU2の動作を司るための各処理を行う処理部として、マイクロコンピュータ(以下、マイコン)3も備えられている。
【0014】
中継装置1は、フレームを送受信するためのポートを、例えば8つ備える。以下では、8つの各ポートにおいて、フレームを受信するためのハードウェア(例えば、受信回路)の部分を、受信ポートP0R~P7Rと言い、フレームを送信するためのハードウェア(例えば、送信回路)の部分を、送信ポートP0T~P7Tと言う。また、受信ポートP0R~P7Rと送信ポートP0T~P7Tを、特に区別せずに総称する場合には、ポートP0~P7と言う。尚、ポートの数は8以外であっても良い。
【0015】
ポートP0~P7の各々には、ECU2とは別の複数のECUの何れかが、当該中継装置1と同じ構成を有する中継装置を介して、あるいは、中継装置を介さずに、接続される。
【0016】
中継装置1は、受信ポートP0R~P7Rの何れかで受信されたフレームを、送信ポートP0T~P7Tのうち、当該フレームの宛先のECUが接続されている送信ポートから送信する。本実施形態において、フレームは、イーサネットの規格に基づくフレーム(即ち、イーサネットフレーム)である。
【0017】
中継装置1は、更に、入力処理部5と、送信ポートP0T~P7Tの各々に対応したバッファ部B0~B7と、を備える。そして、バッファ部B0~B7の各々は、第1のキューQ0と、第2のキューQ1と、スケジューラ7と、を備える。
【0018】
キューQ0,Q1の各々には、当該キューQ0,Q1に対応する送信ポートから送信される予定のフレーム(即ち、送信予定フレーム)であって、詳しくは、当該キューQ0,Q1が備えられたバッファ部に対応する送信ポートから送信される予定のフレームが、格納される。また、中継装置1によって中継されるフレームには、少なくとも2段階の優先度が設定されている。そして、例えば、優先度が低い方のフレームは、第1のキューQ0に格納され、優先度が高い方のフレームは、第2のキューQ1に格納される。
【0019】
受信ポートP0R~P7Rから受信されたフレームの転送先ポートの決定、即ち、どの送信ポートP0T~P7Tから送信するかの決定と、転送先の送信ポートに対応するキューQ0,Q1の何れか一方へのフレームの格納は、入力処理部5によって行われる。そして、入力処理部5は、キューQ0,Q1へのフレームの格納を制御する機能部分として、格納制御部9を備える。また、キューQ0,Q1に格納されたフレームの送信ポートからの送信は、スケジューラ7によって行われる。
【0020】
尚、入力処理部5とスケジューラ7は、例えば、デジタル回路又はアナログ回路、あるいはこれらの組合せによって実現されて良い。また、入力処理部5とスケジューラ7は、マイコンを用いて実現されても良い。この場合、入力処理部5とスケジューラ7の機能は、CPUが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現されて良い。
【0021】
[2.キューの説明]
以下の説明において、各キューQ0,Q1とは、送信ポートP0T~P7T毎のキューQ0,Q1の各々を意味する。また、全キューQ0,Q1とは、送信ポートP0T~P7T毎のキューQ0,Q1の全てを意味する。
【0022】
各キューQ0,Q1は、容量が可変である。そして、各キューQ0,Q1には、容量について、最小保証値と最大許容値とが設定される。最小保証値は、使用できることが保証された容量値であり、換言すれば、容量の最低保証値である。最大許容値は、所定の条件が成立していれば使用することが許される最大の容量値である。
【0023】
中継装置1には、各キューQ0,Q1として使用される共用記憶領域11が備えられている。共用記憶領域11は、例えばメモリの記憶領域で良い。メモリとしては、例えばRAM又は書き換え可能な不揮発性メモリ等で良い。
【0024】
各キューQ0,Q1の容量のうち、最小保証値の分は固定の記憶領域とされ、最小保証値を超える分は共用記憶領域11が用いられる、という構成でも良いが、本実施形態において、共用記憶領域11は、各キューQ0,Q1の最小保証値の分を含む全ての容量として使用される。
【0025】
そして、各キューQ0,Q1として使用可能な共用記憶領域11の容量を、トータル容量と称することにすると、各キューQ0,Q1の最小保証値は、合計(即ち、各キューQ0,Q1の最小保証値の合計)がトータル容量を下回るように設定される。また、各キューQ0,Q1の最大許容値は、合計(即ち、各キューQ0,Q1の最大許容値の合計)がトータル容量を超えて設定することができる。
【0026】
例えば、トータル容量が128KBであるとすると、各キューQ0,Q1の最小保証値は、
図2に例示するように、送信ポートP0T,P1T,P3T,P4T,P6T,P7Tの各キューQ0,Q1、送信ポートP2TのキューQ0並びに送信ポートP5TのキューQ1が4KBに設定され、送信ポートP2TのキューQ1並びに送信ポートP5TのキューQ0が16KBに設定されて良い。また、各キューQ0,Q1の最大許容値は、
図3に例示するように、送信ポートP0T~P7Tの各キューQ0,Q1が16KBに設定されて良い。尚、
図2及び
図3において、記載された数字の値は容量値であり、この容量値の単位は「KB」である。「KB」は「キロバイト」を意味する。数値は一例であり、限定されるものではない。
【0027】
図1に示すように、中継装置1には、各キューQ0,Q1の最小保証値が書き込まれる保証値記憶部13と、各キューQ0,Q1の最大許容値が書き込まれる許容値記憶部14とが、備えられている。
【0028】
保証値記憶部13と許容値記憶部14には、例えばマイコン3によって各キューQ0,Q1の最小保証値又は最大許容値が書き込まれる。マイコン3は、中継装置1の外部の装置に相当する。そして、中継装置1において、各キューQ0,Q1の最小保証値は、そのキューについて保証値記憶部13に書き込まれた値に設定される。同様に、各キューQ0,Q1の最大許容値は、そのキューについて許容値記憶部14に書き込まれた値に設定される。
【0029】
中継装置1において、格納制御部9は、共用記憶領域11におけるどの領域をどのキューとして使用しているかと、どの領域が空いているかとを、少なくとも管理及び記憶することにより、共用記憶領域11を各キューQ0,Q1として使用する。
【0030】
そして、格納制御部9は、格納先キューについて、下記〈1〉~〈4〉の処理を行う。
尚、格納先キューは、各キューQ0,Q1のうち、送信予定フレームが格納されようとするキューである。送信予定フレームは、受信ポートP0R~P7Rの何れかで受信されたフレーム(即ち、受信フレーム)である。格納先キューは、詳しくは、受信フレームの宛先のECUが接続されている送信ポートに対応する2つのキューQ0,Q1のうち、受信フレームの優先度に対応する方である。
【0031】
〈1〉格納先キューの使用容量が当該キューの最小保証値を超えないのであれば、送信予定フレームの格納先キューへの格納を行う。具体的には、共用記憶領域11において空いている領域のうち、送信予定フレームのデータ量と同じ分の領域を、格納先キューとして使用する領域とし、この領域に送信予定フレームを格納する。
【0032】
但し、送信予定フレームの格納により全キューQ0,Q1の合計の使用容量がトータル容量を超えてしまうのであれば、つまり、現在の共用記憶領域11に送信予定フレームを格納可能な空き領域がなければ、下記〈2〉の処理を行う。
【0033】
〈2〉格納先キュー以外のキューのうち、使用容量が当該キューの最小保証値を超えているキューに格納されているフレームを破棄(即ち、消去)することにより、共用記憶領域11に送信予定フレームを格納可能な空き領域を発生させる。この場合、該当のキューに格納されているフレームのうち、例えば、先に格納されたものを優先して破棄する。そして、フレームの破棄により発生させた空き領域を格納先キューとして用いて、送信予定フレームの格納先キューへの格納を行う。つまり、空き領域のうち、送信予定フレームのデータ量と同じ分の領域を、格納先キューとして使用する領域とし、この領域に送信予定フレームを格納する。
【0034】
〈3〉格納先キューの使用容量が当該キューの最小保証値を超えても、格納先キューの使用容量が当該キューの最大許容値を超えず、且つ、共用記憶領域11に送信予定フレームを格納可能な空き領域があれば、その空き領域を格納先キューとして用いて、送信予定フレームの格納先キューへの格納を行う。
【0035】
〈4〉格納先キューの使用容量が当該キューの最小保証値を超え、更に、格納先キューの使用容量が当該キューの最大許容値も超えるか、あるいは、共用記憶領域11に送信予定フレームを格納可能な空き領域がなければ、送信予定フレームを格納せずに破棄する。
【0036】
[3.格納制御部が行う処理]
次に、格納制御部9が行う格納制御処理について、
図4のフローチャートを用いて説明する。
【0037】
格納制御部9は、受信ポートP0R~P7Rの何れかでフレームが受信され、この受信フレームを格納すべきキュー(即ち、格納先キュー)が、入力処理部5にて決定されると、
図4の格納制御処理を行う。尚、
図4に関する説明において、受信フレームとは、格納先キューに格納されるフレームであり、上記〈1〉~〈4〉の処理の説明における送信予定フレームに該当する。
【0038】
図4に示すように、格納制御部9は、格納制御処理では、S110にて、格納先キューの使用容量と受信フレームサイズとの合計値である予想使用容量が、格納先キューの最小保証値以下であるか否かを判定する。受信フレームサイズは、受信フレームのデータ量である。
【0039】
格納制御部9は、このS110にて、格納先キューの予想使用容量が最小保証値以下であると判定した場合には、受信フレームを格納しても格納先キューの使用容量は最小保証値を超えないと判断して、S120に進む。
【0040】
そして、格納制御部9は、S120では、全キューQ0,Q1の合計の使用容量と受信フレームサイズとの合計値である全キュー予想使用容量が、トータル容量以下であるか否かを判定する。
【0041】
格納制御部9は、このS120にて、全キュー予想使用容量がトータル容量以下であると判定した場合には、受信フレームを格納しても全キューQ0,Q1の合計の使用容量はトータル容量を超えない、即ち、共用記憶領域11に受信フレームを格納可能な空き領域がある、と判断して、S130に進む。
【0042】
そして、格納制御部9は、S130にて、受信フレームの格納先キューへの格納を行う。具体的には、前述したように、共用記憶領域11において空いている領域のうち、受信フレームサイズと同じ分の領域を、格納先キューとして使用する領域とし、この領域に受信フレームを格納する。その後、当該格納制御処理を終了する。
【0043】
また、格納制御部9は、上記S120にて、全キュー予想使用容量がトータル容量以下ではないと判定した場合には、共用記憶領域11に受信フレームを格納可能な空き領域がないと判断して、S140に進む。
【0044】
そして、格納制御部9は、S140では、上記〈2〉の処理のうち、共用記憶領域11に空き領域を発生させる処理を行う。即ち、格納先キュー以外のキューのうち、使用容量が当該キューの最小保証値を超えているキューに格納されているフレームを破棄することにより、共用記憶領域11に受信フレームを格納可能な空き領域を発生させる。
【0045】
その後、格納制御部9は、S130に進み、S140の処理で発生させた空き領域を格納先キューとして用いて、受信フレームの格納先キューへの格納を行う。具体的には、前述したように、S140の処理で発生した空き領域のうち、受信フレームのデータ量と同じ分の領域を、格納先キューとして使用する領域とし、この領域に受信フレームを格納する。そして、その後、当該格納制御処理を終了する。
【0046】
また、格納制御部9は、上記S110にて、格納先キューの予想使用容量が最小保証値以下でないと判定した場合には、受信フレームの格納により格納先キューの使用容量が最小保証値を超えると判断して、S150に進む。
【0047】
格納制御部9は、S150では、格納先キューの予想使用容量が、格納先キューの最大許容値以下であるか否かを判定する。
格納制御部9は、このS150にて、格納先キューの予想使用容量が最大許容値以下であると判定した場合には、受信フレームを格納しても格納先キューの使用容量は最大許容値を超えないと判断して、S160に進む。
【0048】
格納制御部9は、S160では、S120と同様に、全キュー予想使用容量がトータル容量以下であるか否かを判定し、全キュー予想使用容量がトータル容量以下であると判定した場合には、S130に進む。そして、このS130にて、受信フレームの格納先キューへの格納を行った後、当該格納制御処理を終了する。
【0049】
また、格納制御部9は、上記S150と上記S160との何れかで「N0」と判定した場合、即ち、受信フレームの格納により格納先キューの使用容量が最大許容値を超えるか、あるいは、共用記憶領域11に受信フレームを格納可能な空き領域がない場合には、S170に進む。
【0050】
そして、格納制御部9は、S170では、受信フレームを格納せずに破棄し、その後、当該格納制御処理を終了する。
図4の格納制御処理では、S110で「YES」と判定してS130へ進む場合の処理が、上記〈1〉の処理に該当する。
【0051】
そして、S110で「YES」と判定し、且つ、S120で「NO」と判定して、S140の処理を行った後、S130へ進む場合の処理が、上記〈2〉の処理に該当する。
また、S110で「NO」と判定して、S150で「YES」と判定し、且つ、S160で「YES」と判定して、S130へ進む場合の処理が、上記〈3〉の処理に該当する。
【0052】
また、S110で「NO」と判定して、S150で「NO」と判定するか、あるいは、S160で「NO」と判定して、S170へ進む場合の処理が、上記〈4〉の処理に該当する。
【0053】
[4.作用例]
例えば、
図5に示すように、トータル容量が128KBで、各キューQ0,Q1の最大許容値も128KBに設定されているとする。
【0054】
そして、送信ポートP0Tに接続されたECUを宛先とするフレームであって、第1のキューQ0と第2のキューQ1のうち、第2のキューQ1に格納されるべき優先度のフレームが、連続して受信されたとする。
【0055】
この場合、受信された各フレームは、
図5における斜線ハッチングの部分に示すように、送信ポートP0Tに対応するバッファ部B0のキューQ1に、当該キューQ1の使用容量が最大許容値を超えない範囲で格納される。そして、当該キューQ1の使用容量が最大許容値を超えるのであれば、受信フレームは格納されずに破棄される。
【0056】
また、他のキューに既にフレームが格納されていて、バッファ部B0のキューQ1の使用容量が最小保証値を超えてから最大許容値に達する前に、共用記憶領域11に受信フレームを格納可能な空き領域がなくなると、その時点からの受信フレームは格納されずに破棄される。
【0057】
このように、格納先のキューには、当該キューの使用容量が最小保証値を超えても、共用記憶領域11に受信フレームを格納可能な空き領域があり、且つ、当該キューの使用容量が最大許容値を超えないのであれば、受信フレームが格納される。
【0058】
一方、
図6に示す例においても、トータル容量が128KBで、各キューQ0,Q1の最大許容値が128KBに設定されている。
そして、全キューQ0,Q1のうち、バッファ部B0のキューQ1の使用容量は最小保証値を超えているが、他のキューの使用容量は最小保証値未満で例えば0であり、且つ、共用記憶領域11には、もはや追加のフレームを格納可能な空き領域はないとする。
【0059】
この状態において、例えば、バッファ部B1のキューQ0に格納されるべきフレームが受信され、仮に、この受信フレームが格納されても、バッファ部B1のキューQ0の使用容量は最小保証値を超えないとする。
【0060】
この場合、
図6における(1)及びクロスハッチングの部分に示すように、バッファ部B0のキューQ1に格納されているフレームが破棄(即ち、消去)されることにより、共用記憶領域11に、受信フレームを格納可能な空き領域が作られる。そして、この空き領域がバッファ部B1のキューQ0として用いられて、
図6における(2)に示すように受信フレームがバッファ部B1のキューに格納される。
【0061】
このように、格納先のキューの使用容量が最小保証値を超えない限り、そのキューへの受信フレームの格納は実施される。
[5.効果]
以上詳述した実施形態によれば、以下の効果を奏する。
【0062】
(1)各キューQ0,Q1には、容量の最小保証値が設定される。そして、各キューQ0,Q1には、送信予定フレーム(即ち、受信フレーム)が、少なくとも当該キューの最小保証値の分だけは格納可能である。よって、各キューについて最低限のフレーム蓄積性能が保証され、換言すれば、各ポートP0T~P7Tについて最低限のフレーム転送性能が保証される。
【0063】
比較例として、各キューQ0,Q1として共用記憶領域11が使用されるが、各キューQ0,Q1の最小保証値は設定されない、という構成が考えられる。この比較例の構成では、ある1つ以上のキューの使用容量が大きくなった場合に、他のキューの容量が全く確保できなくなる可能性があり、即ち、フレームを1つも格納できないキューが生じる可能性がある。すると、フレームの転送が実施できない送信ポートが生じることになり、延いては、フレームの中継機能が損なわれる。しかし、本実施形態によれば、この比較例の問題が回避される。
【0064】
また、本実施形態では、格納先キューの使用容量が最小保証値を超えたとしても、共用記憶領域11に送信予定フレームを格納可能な空き領域があれば、この空き領域が格納先キューとして用いられて、送信予定フレームの格納が実施される。このため、あるキューに送信予定フレームが集中する場合には、そのキューに最小保証値を超える量及び数の送信予定フレームが格納可能となり、前述のバースト耐性を実現することができる。
【0065】
よって、本実施形態によれば、全キューQ0,Q1の総容量を抑制しつつ、バースト耐性と最低限のフレーム蓄積性能とを、両立させることができる。
(2)各キューQ0,Q1には、容量の最大許容値も設定される。そして、各キューQ0,Q1には、当該キューの使用容量が最大許容値を超えない範囲で、送信予定フレームが格納される。このため、特定のキューの使用容量が大きくなり過ぎることを抑制し易い。
【0066】
(3)各キューQ0,Q1の最大許容値の合計値は、全キューQ0,Q1が使用可能なトータル容量よりも大きい値になっている。このため、各キューQ0,Q1の使用容量が抑制され過ぎることを回避することができる。言い換えると、複数の送信ポートP0T~P7Tのうち、バーストトラフィックが発生した送信ポートのキューについて、より多くの容量が使用されるようにすることができる。
【0067】
(4)格納先キューの使用容量が最小保証値を超えず、且つ、共用記憶領域11に送信予定フレームを格納可能な空き領域がない場合、上記〈2〉の処理が行われる。
このため、格納先のキューの使用容量が最小保証値を超えない限り、そのキューへの受信フレームの格納が実施されるようにすることができる。つまり、各キューQ0,Q1の容量の最小保証を、確実に実現することができる。
【0068】
(5)各キューQ0,Q1の最小保証値は、マイコン3によって保証値記憶部13に書き込まれた値に設定される。各キューQ0,Q1の最大許容値は、マイコン3によって許容値記憶部14に書き込まれた値に設定される。
【0069】
このため、各キューQ0,Q1の最小保証値と最大許容値を、任意の値に設定することができる。また、各キューQ0,Q1の最小保証値と最大許容値を、状況に応じて変更することも可能である。
【0070】
[6.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0071】
前述したように、各キューQ0,Q1の容量のうち、最小保証値の分は、共用記憶領域11とは別の固定の記憶領域とされ、最小保証値を超える分として共用記憶領域11が用いられる、という構成でも良い。この場合、
図4の格納制御処理は、下記(A),(B)のように変形されて良い。
【0072】
(A)S120,S140が削除され、S110で「YES」と判定されたならS130の処理が行われる。
(B)S160では、最小保証値を超える分としての共用記憶領域11に受信フレームを格納可能な空き領域があるか否かが判定される。
また、ポート毎のキューの数は、2に限らず、1であっても、3以上であっても良い。
【0073】
また、本開示に記載の中継装置1及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の中継装置1及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の中継装置1及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。中継装置1に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0074】
また、上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。
【0075】
また、上述した中継装置1の他、当該中継装置1を構成要素とするシステム、当該中継装置1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、中継装置1におけるフレームのバッファリング方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0076】
1…中継装置、9…格納制御部、11…共用記憶領域、P0T~P7T…送信ポート、Q0,Q1…キュー