JP5088145B2 - パケット中継装置、制御方法およびパケット中継プログラム - Google Patents

パケット中継装置、制御方法およびパケット中継プログラム Download PDF

Info

Publication number
JP5088145B2
JP5088145B2 JP2008003694A JP2008003694A JP5088145B2 JP 5088145 B2 JP5088145 B2 JP 5088145B2 JP 2008003694 A JP2008003694 A JP 2008003694A JP 2008003694 A JP2008003694 A JP 2008003694A JP 5088145 B2 JP5088145 B2 JP 5088145B2
Authority
JP
Japan
Prior art keywords
capacity
packet
class
dedicated
shared
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.)
Active
Application number
JP2008003694A
Other languages
English (en)
Other versions
JP2009170976A (ja
Inventor
浩彦 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008003694A priority Critical patent/JP5088145B2/ja
Priority to US12/285,366 priority patent/US8254403B2/en
Publication of JP2009170976A publication Critical patent/JP2009170976A/ja
Application granted granted Critical
Publication of JP5088145B2 publication Critical patent/JP5088145B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Description

この発明は、パケット中継装置、制御方法およびパケット中継プログラムに関する。
従来より、L2スイッチやL3ルータに代表されるイーサネット(登録商標)パケットを扱うパケット中継装置では、QoS(Quality of Service)と呼ばれる保証を行う必要がある。
具体的には、パケット中継装置は、1:1やN:1に接続されるネットワークにおいて、パケットバッファを用いることにより、バースト耐力と優先処理とによる輻輳制御を行う。例えば、パケット中継装置は、受信したパケットを記憶させるパケットバッファを備え、受信したパケットの優先度(クラス)を識別し、当該クラスに応じてパケットバッファに格納する。そして、パケット中継装置は、優先度(クラス)が高いパケットを、優先的に送信し、また、優先度が低いパケットを、優先度(クラス)が高いパケットを送信して残る余剰帯域を用いて送信する(一般的にはベストエフォートと呼ばれる)。
また、パケット中継装置は、優先度が高いパケットを、パケットバッファに優先的に格納する。このため、受信したパケットをパケットバッファに格納する際に、パケットバッファの空き容量が少ない場合には、パケット中継装置は、優先度が低いパケットについては、パケットバッファに格納せず廃棄する。
このようなQoSについて、様々な技術が開示されている。例えば、特許文献1においては、ベストエフォート用に設定されているパケットバッファを、複数あるフローに対して公平に分配する技術が開示されている。すなわち、特許文献1に係るパケット中継装置は、帯域保証を超えたパケットを、ベストエフォート用に設定されているパケットバッファに記憶させる。ここで、特許文献1に係るパケット中継装置は、複数のフローがある場合に、当該複数のフローそれぞれのデータ量の大小に関わらず、当該複数のフロー間で公平にベストエフォート用キューの容量を分配し、パケットを記憶させる。
また、例えば、特許文献2においては、帯域保証用に割り当てられた帯域を、トークンを利用して、ベストエフォート用の帯域に割り当てる技術が開示されている。すなわち特許文献2のパケット中継装置は、各時点での未消費トークン量を監視して、トークンパケットに次回トークンが追加される際に、未消費のトークンがあるかどうかを判定し、未消費のトークンが残ると判定された場合に、帯域保証用に割り当てられた帯域を、トークンを利用して、ベストエフォート用の帯域に割り当てる。
特開2005−12431号公報(第1−5頁、第1図) 特開2005−244417号公報(第1、5頁(特に、段落番号[0026]など)、第4図)
ところで、上記した従来の技術は、バッファを効率的に利用しつつパケットの廃棄される機会を減少させるとともに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することができないという課題があった。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、バッファを効率的に利用しつつパケットの廃棄される機会を減少させるとともに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することが可能なパケット中継装置、制御方法およびパケット中継プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、このパケット中継装置は、優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信するパケット中継装置であって、前記バッファに現に格納されているパケットについて、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて記憶する位置情報記憶手段と、前記優先制御に従って所定のクラスを選択し、前記位置情報記憶手段に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したクラスに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信手段と、前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて記憶する専用容量記憶手段と、複数のクラスの組み合わせごとに、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて記憶する共有容量記憶手段と、前記受信したパケットについて前記クラスを識別するクラス識別手段と、前記クラス識別手段によって識別されたクラスに対応する前記専用空き容量を前記専用容量記憶手段から読み出し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費手段と、前記専用容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのクラスに対応する前記共有空き容量を前記共有容量記憶手段から読み出し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費手段と、前記共有容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄手段と、を備えたことを要件とする。
また、このパケット中継装置は、さらに、前記クラスは、帯域が保証されているパケット通信にて用いられる帯域保証用のクラスと、帯域が保証されていないパケット通信にて用いられるベストエフォート用のクラスとであって、前記専用容量記憶手段は、少なくとも前記帯域保証用のクラスについて、前記専用消費容量として正の値を記憶し、前記共有容量記憶手段は、前記帯域保証用およびベストエフォート用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを要件とする。
また、このパケット中継装置は、さらに、前記専用容量記憶手段は、前記ベストエフォート用のクラスについて、前記専用消費容量として正の値を記憶することを要件とする。
また、このパケット中継装置は、さらに、少なくとも前記帯域保証用のクラスは、複数あるものであって、前記共有容量記憶手段は、前記帯域保証用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを要件とする。
また、このパケット中継装置は、さらに、前記共有容量記憶手段によって、前記帯域保証用のクラスの組み合わせについて前記共有消費容量として正の値が記憶されている場合に、前記専用容量記憶手段は、当該クラス各々について、前記専用消費容量として正の値を記憶することを要件とする。
開示のパケット中継装置によれば、バッファを効率的に利用しつつパケットの廃棄される機会を減少させるとともに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することが可能である。
また、開示のパケット中継装置によれば、帯域保証用のクラスに区分けされたパケットについて、帯域保証用のバッファに空き容量がなくなった場合にもベストエフォート用のバッファにパケットを格納することにより、バースト耐力を向上することが可能であり、帯域保証用のバッファを増加させることなく、バッファを効率的に使用することが可能である。また、さらに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することも可能である。
また、開示のパケット中継装置によれば、ベストエフォート用クラスのパケットの全廃棄を防止することが可能である。
また、開示のパケット中継装置によれば、帯域保証用のクラス間で容量の共有を行わない(排他の関係をとる)手法と比較して、バッファを効率的に使用することが可能である。
また、開示のパケット中継装置によれば、例えば、帯域保証用のクラスについて専用消費容量として正の値を記憶しているので、帯域保証用のクラスの組み合わせについて共有消費容量を設定する際にも、帯域保証用クラスの全廃棄を防止することも可能である。
以下に添付図面を参照して、この発明に係るパケット中継装置、制御方法およびパケット中継プログラムの実施例を詳細に説明する。なお、以下では、本実施例で用いる主要な用語(用語の説明)、本実施例に係るパケット中継装置の概要および特徴、パケット中継装置の構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。
[用語の説明]
まず最初に、本実施例で用いる主要な用語を説明する。本実施例で用いる「パケット中継装置」とは、優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファ10に格納してから当該優先制御に基づいて送信する装置であり、具体的には、L2スイッチやL3ルータに代表されるイーサネット(登録商標)パケットを扱う装置などが該当する。
本実施例で用いる「優先制御」とは、QoS(Quality of Service:例えば、1:1やN:1に接続されるネットワークにおいて、輻輳制御を行う)による帯域保証におけるパケットのクラス(重要度)を識別して、当該クラスに基づいて、パケットをバッファ10に記憶し、または廃棄し、バッファ10からパケットを読み出して送信する制御を行うものである。
例えば、図1に示すように、平均的なトラヒックが契約帯域(図1に示す例では、500Mbps)以下である場合にも、図1の(1)に示すように、実際の帯域は、一時的なバーストなどによって、契約帯域(たとえば、500Mbps)を超える事態が生じる。このような契約帯域を超えるような事態は、N個のポート数から受信するパケットを一つのポートに集約する際に、特に顕著に現れる。これは、入力レートが契約帯域より多く流れ込む状態が継続して発生する使われ方があるためである。このため、従来より、パケット装置は、契約帯域を超えるパケットを廃棄する事態を防止することを目的として、バッファ10を保持することにより、バースト耐力を備え、また、優先制御を行っている。なお、図1は、用語の説明に用いる図である。
具体的には、従来のパケット中継装置は、優先制御として、パケット各々についてクラスを識別し、クラスが高い(優先度の高い)ものを優先して送受信し、また、クラスの低い(優先度の低い)ものを、クラスが高いパケットを送受信して余剰した余剰帯域により送受信する。
ここで、パケットの廃棄を行わない場合には、バッファ10の容量として、図1の(1)に示す契約帯域を超える容量を備える必要があり、さらに、複数のポートが設けられているパケット中継装置においては、当該複数のポート分((図1の(1)に示す契約帯域を超える容量)×(出力ポート数))を備える必要がある。これに対して、従来のパケット中継装置は、コストや実装面積の理由により、実際の容量は当該容量(備える必要がある容量)を下回るバッファ10を備える、クラスの低い(優先度の低い)パケットについては、パケットバッファ10の残量が少なくなった場合に廃棄する。
また、本実施例で用いる「クラス」とは、パケット各々について設定されているものであり、当該クラスとしては、帯域が保証されているパケット通信にて用いられる帯域保証用のクラスと、帯域が保証されていないパケット通信にて用いられるベストエフォート用のクラスとがある。なお、ここで、一般に、帯域保証用のクラスのパケットは、廃棄が許されないパケットであり、ベストエフォート用のクラスのパケットは、帯域保証しているパケットではないため廃棄が許されるパケットである。
[パケット中継装置の概要および特徴]
まず最初に、図2を用いて、本実施例に係るパケット中継装置の概要および特徴を説明する。図2は、実施例1に係るパケット中継装置の概要と特徴を示すための図である。なお、以下に記載する本発明に係るパケット中継装置の説明に関しては、特に言及がない限り、クラス「A」と「B」とを、帯域保証用のクラスとして、クラス「C」「D」とを、ベストエフォート用のクラスとして説明する。
同図に示すように、実施例1に係るパケット中継装置は、優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファ10に格納してから優先制御に基づいて送信することを概要とし、以下に説明するように、バッファ10を効率的に利用しつつパケットの廃棄される機会を減少させるとともに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することに主たる特徴がある。
この主たる特徴について説明すると、実施例1に係るパケット中継装置は、図2の位置情報管理テーブルに示すように、バッファ10に現に格納されているパケットについて、クラスごとに、パケットを受信した順番を示す順番情報と、受信したパケットをバッファ10のいずれの位置に格納しているかを特定する位置情報とを対応付けて記憶する。例えば、図2の位置情報管理テーブルに示す例では、実施例1に係るパケット中継装置は、クラス「A」に対応付けて、位置情報「001」「005」「009」をバッファ10に格納された順番で記憶する。
また、実施例1に係るパケット中継装置は、クラスごとに、バッファ10の容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、専用消費容量のうちで現に消費されている容量を示す現専用消費容量や専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて記憶する。また、実施例1に係るパケット中継装置は、複数のクラスの組み合わせごとに、バッファ10の容量のうちで複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、共有消費容量のうちで現に消費されている容量を示す現共有消費容量や共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて記憶する。
例えば、実施例1に係るパケット中継装置は、図2の容量管理テーブルに示す例では、クラス「A」に対応付けて、専用消費容量「50」と、現専用消費容量「30」と、現専用空き容量「20」とを容量管理テーブルにて記憶し、クラス「C」とに対応付けて、専用消費容量「0」と、現専用消費容量「0」と、現専用空き容量「0」とを容量管理テーブルにて記憶する。また、実施例1に係るパケット中継装置は、クラス「A、C」に対応付けて、共有消費容量「50」と、現共有消費容量「0」と、現共有空き容量「0」とを容量管理テーブルにて記憶する。
このような構成のもと、まず、実施例1に係るパケット中継装置は、受信したパケットについてクラスを識別する、例えば、図2の(1)に示すように、実施例1に係るパケット中継装置は、パケットを受信すると、図2の(2)に示すように、受信したパケットのクラスを識別し、例えば、クラス「A」であると識別する。
そして、実施例1に係るパケット中継装置は、図2の(3)に示すように、QoSによる処理をおこない、図2の(4)に示すように、受信したパケットを廃棄し、または、図2の(5)に示すように、受信したパケットをバッファ10に記憶する。
具体的には、まず、実施例1に係るパケット中継装置は、クラス識別処理部60によって識別されたクラスに対応する専用空き容量を容量管理テーブルから読み出し、受信したパケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、クラスの専用空き容量を消費したものとしてパケットをバッファ10に格納する。
例えば、実施例1に係るパケット中継装置は、クラス「A」であるパケットを受信すると、当該クラス「A」に対応する現専用空き容量「20」を読み出す。ここで、実施例1に係るパケット中継装置は、受信したパケットの容量が「20」以下である場合には(例えば、「10」)当該パケットをクラス「A」の現専用空き容量を消費したものとしてバッファ10に格納し、当該クラス「A」に対応する現専用消費容量を「30」から「40」に、現専用空き容量「20」を「10」に更新する。
また、その後、実施例1に係るパケット中継装置は、専用空き容量に受信したパケットを格納できる容量がないと判定された場合に、パケットのクラスに対応する共有空き容量を容量管理テーブルから読み出し、パケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、クラスの共有空き容量を消費したものとしてパケットをバッファ10に格納する。
例えば、実施例1に係るパケット中継装置は、クラス「A」であるパケットを受信し、現専用空き容量に十分な容量がないと判定されると、当該クラス「A」に対応する現共有空き容量「50」を読み出す。ここで、実施例1に係るパケット中継装置は、受信したパケットの容量が「50」以下である場合には(例えば、「30」)当該パケットをクラス「A」の共有空き容量を消費したものとしてバッファ10に格納し、当該クラス「A」に対応する現共有消費容量を「0」から「30」に、共有空き容量「50」を「20」に更新する。
また、続いて、実施例1に係るパケット中継装置は、共有空き容量に受信したパケットを格納できる容量がないと判定された場合に、パケットをバッファ10に格納することなく廃棄する。例えば、実施例1に係るパケット中継装置は、クラス「A」であるパケットを受信し(例えば、容量が「60」であるパケット)、現専用空き容量に十分な容量がないと判定され、現共有空き容量に十分な容量がないと判定されると、当該パケットを廃棄する。
その後、実施例1に係るパケット中継装置は、図2の(6)と(7)に示すように、優先制御に従って所定のクラスを選択し、位置情報管理テーブルに記憶された順番情報および位置情報を用いて、バッファ10に現に格納されているパケットのうちで選択したクラスに対応する最先に格納されたパケットをバッファ10から読み出して送信する。例えば、図2の(6)に示すように、実施例1に係るパケット中継装置は、帯域保証用クラスであるクラスAにおいて、最先の(最も早くバッファ10に格納された)パケットの位置情報「001」に対応するパケットをバッファ10から読み出して、図2の(7)に示すように、当該パケットを送信する。
このようなことから、実施例1に係るパケット中継装置は、上記した主たる特徴の如く、バッファ10を効率的に利用しつつパケットの廃棄される機会を減少させるとともに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することが可能である。
[パケット中継装置全体の構成]
次に、図3を用いて、図2に示したパケット中継装置の構成を説明する。なお、以下の記載では、LAN回線からSONET回線への集約を行い(LAN回線から受信したデータを、SONET回線へと出力する)、かつ、SONET回線からLAN回線への集約を行う(SONET回線から受信したデータを、LAN回線へと出力する)パケット中継装置について説明する。図3は、実施例1におけるパケット中継装置全体の構成を示すためのブロック図である。
このパケット中継装置は、バッファ10を有し、LANポート20と、PHY/MAC処理部40と、Flow識別処理部50と、クラス識別処理部60と、QoS処理部70と、スケジューリング処理部80と、SONETフレーミング処理部90と、SONETデフレーミング処理部100と、SONETポート30とを備える。なお、クラス識別処理部60とFlow識別処理部50とは、特許請求の範囲に記載の「クラス識別手段」に対応し、スケジューリング処理部80と後述するバッファ格納ポインタ処理部140とは、特許請求の範囲に記載の「パケット送信手段」に対応する。
なお、実施例1では、LAN回線対SONET回線(つまり、LAN回線からSONET回線への集約を行い、かつ、SONET回線からLAN回線への集約を行う)であるパケット中継装置について説明するが、本発明はこれに限定されるものではなく、LAN回線対LAN回線であったり、SONET回線対SONET回線であってもよい。
また、以下の説明では、LAN回線から受信したパケットをSONET回線から出力する処理と、SONET回線から受信したフレームをLAN回線から出力する処理とは、ほとんど同一であるため、特に言及がない限り、LAN回線から受信したパケットをSONET回線から出力する場合についてのみ説明する。
バッファ10は、パケット中継装置が受信したパケットを一時的に記憶する。具体的には、バッファ10は、パケット中継装置が受信したパケットを、当該パケットが読み出されて送信されるまで記憶する。例えば、バッファ10は、受信したパケットを記憶し、当該パケットが読み出されて送信されると、当該パケットを削除し、他の受信したパケットを空いた領域に記憶する。
LANポート20は、イーサネット(登録商標)パケットを受信し、また、イーサネット(登録商標)パケットを送信する。具体的には、パケット中継装置は、LANポート20を介してイーサネット(登録商標)パケットをLAN回線から受信し、LANポート20を介してイーサネット(登録商標)パケットをLAN回線(LAN回線に接続されている送信先となる送信先端末、または、LAN回線を経由して送信先端末)に送信する。
SONETポート30は、SONETフレームを受信し、また、SONETフレームを送信する。具体的には、パケット中継装置は、SONETポート30を介してSONETフレームをSONET回線から受信し、SONETポート30を介してSONETフレームをSONET回線(SONET回線に接続されている送信先となる送信先端末、または、SONET回線を経由して送信先端末)に送信する。
PHY/MAC処理部40は、LAN側からイーサネット(登録商標)パケットが入力されると、Physical Layer処理およびMAC終端処理を行い、Flow識別処理部50に送信する。
Flow識別処理部50は、ポートを識別する。具体的には、受信したパケット各々について、当該受信したパケットがどの出力ポート宛に出力するものかを識別する。例えば、Flow識別処理部50は、受信したパケット各々についてポートを識別し、受信したパケットが出力ポート「#1」宛である場合に、「#1」であると識別する。
クラス識別処理部60は、受信したパケットについてクラスを識別する。具体的には、例えば、クラス識別処理部60は、受信したパケット各々についてクラスを識別し、受信したパケットのクラスが帯域保証用クラスの「A」である場合に、帯域保証用クラスの「A」であると識別する。
QoS処理部70は、受信したパケットをバッファ10に格納し、バッファ10に格納したパケットを読み出す。具体的には、QoS処理部70は、クラス識別処理部60が識別したクラスに基づいて、受信したパケットをバッファ10に格納し、または、廃棄する。また、QoS処理部70は、後述するスケジューリング処理部80からの指示に基づいて、バッファ10に格納したパケットを読み出す。なお、QoS処理部70は、本発明の特徴的部分の一つであり、QoSの詳細については、図4を用いて後述する。
スケジューリング処理部80は、優先制御に従って所定のクラスを選択し、バッファ10に現に格納されているパケットのうちで選択したクラスに対応する最先に格納されたパケットをバッファ10から読み出す指示を行う。
具体的には、スケジューリング処理部80は、パケットを出力するSONET回線において割り当てられた帯域に応じて、送信するパケットのポートとクラスとを決定し、当該ポートとクラスとをQoS処理部70に送る。そして、スケジューリング処理部80は、QoS処理部70から送られたパケットを、SONETフレーミング処理部90に送る。
例えば、スケジューリング処理部80は、優先制御に従って所定のクラスとして「A」を選択すると、当該クラスAにおいて最先のパケットを読み出す旨の指示をQoS処理部70(後述するバッファ格納ポインタ処理部140)に送り、QoS処理部70が読み出したパケットを後述するSONETフレーミング処理部90に送る。
SONETフレーミング処理部90は、送信するパケットを、SONETフレームフォーマットにマッピングし、その後、SONET回線に出力する。
SONETデフレーミング処理部100は、SONET回線からフレームを受信した場合に、SONETフレームフォーマットを解除して、LAN回線にて送受信されるフォーマットに変更する。
なお、SONETでは、LCAS(Link Capacity Adjustment Scheme)という技術により、ダイナミックに通信帯域を変更することが可能(STS帯域をA6やREMOVEすることが可能)であるため、これらに対応する帯域管理が必要になっている。
[QoS処理部70の構成の詳細]
次に、図4〜6を用いて、QoS処理部70の詳細な構成について説明する。図4は、実施例1におけるQoS処理部70の構成を示すためのブロック図であり、図5は、実施例1におけるバッファ格納ポインタ処理部140を説明するための図であり、図6は、実施例1における容量管理テーブルを説明するための図である。
QoS処理部70は、図4に示すように、バッファ格納ポインタ処理部140と、バッファ書込処理部120と、バッファ読出処理部130と、TailDrop判定処理部110と、容量監視部150とから構成される。ここで、バッファ格納ポインタ処理部140は、バッファ書込処理部120と、バッファ読出処理部130と、容量監視部150と、スケジューリング処理部80(図3参照)とに接続し、TailDrop判定処理部110は、クラス識別処理部60とバッファ10書込処理部120と容量監視部150とに接続し、バッファ書込処理部120は、バッファ10とバッファ格納ポインタ処理部140とに接続し、バッファ読出処理部130は、バッファ10とバッファ格納ポインタ処理部140とに接続し、容量監視部150は、TailDrop判定処理部110と、バッファ格納ポインタ処理部140とに接続する。
なお、TailDrop判定処理部110は、特許請求の範囲に記載の「廃棄手段」に対応し、後述するバッファ格納ポインタ処理部140の位置情報管理テーブルは、特許請求の範囲に記載の「位置情報記憶手段」に対応し、バッファ格納ポインタ処理部140の容量管理テーブルは、特許請求の範囲に記載の「専用容量記憶手段」と「共有容量記憶手段」とに対応し、容量監視部150は、特許請求の範囲に記載の「専用容量消費手段」と「共有容量消費手段」とに対応する。
TailDrop判定処理部110は、バッファ全体の容量における空き容量に、受信したパケットを記憶するのに十分な空き容量があるかを判別する。具体的には、TailDrop判定処理部110は、バッファ全体の容量における空き容量に、受信したパケットを記憶するのに十分な空き容量がない場合に、受信したパケットを廃棄すると判定する。例えば、TailDrop判定処理部110は、パケット中継装置がパケットを受信すると、当該パケットを記憶するのに十分な空き容量(バッファの容量全体における、未使用の容量)があるか後述する容量監視部150から取得して判別する。ここで、TailDrop判定処理部110は、当該パケットを記憶するのに十分な空き容量がある場合には(かつ、後述する容量監視部150により、当該パケットを廃棄する旨の指示を受付けない場合には)、当該パケットをバッファ書込処理部120に送る。一方、TailDrop判定処理部110は、当該パケットを記憶するのに十分な空き容量がない場合には、当該パケットを廃棄する。
また、TailDrop判定処理部110は、後述する容量監視部150によって受信したパケットを格納できる容量がないと判定された場合に、パケットをバッファ10に格納することなく廃棄する。例えば、後述する容量監視部150により受信したパケットを廃棄する旨の指示を受付けると当該パケットを廃棄し、受信したパケットを廃棄せずバッファ10に格納する旨の指示を受付けると、後述するバッファ書込処理部120に当該パケットを送る。
バッファ書込処理部120は、受信したパケットをバッファ10に書き込み、当該パケットを特定する位置情報をバッファ格納ポインタ処理部140に送る。具体的には、バッファ書込処理部120は、後述するバッファ格納ポインタ処理部140から通知された位置情報に従って、当該位置情報により特定されるバッファ10内の位置に、パケットを格納する。
バッファ読出処理部130は、出力するパケットをバッファ10から読み出し、スケジューリング処理部80に送る。具体的には、バッファ格納ポインタ処理部140から位置情報を取得すると、当該位置情報により特定されるバッファ10内の位置からパケットを読み出し、スケジューリング処理部80に送る。
バッファ格納ポインタ処理部140は、バッファ10に現に格納されているパケットについて、クラスごとに、パケットを受信した順番を示す順番情報と、受信したパケットをバッファ10のいずれの位置に格納しているかを特定する位置情報とを対応付けて記憶する。そして、受信したパケットの内現にバッファ10に記憶しているパケットについて、当該パケットを送信する際に必要な情報を管理する。
ここで、図5の(1)は、バッファに記憶しているパケットを例示するものであり、図5の(2)は、位置情報管理テーブルを例示するものである。例えば、図5に示すように、バッファ格納ポインタ処理部140は、受信したパケットの内現にバッファ10に記憶しているパケットについて、当該パケットを記憶するバッファ10内の位置を特定する位置情報を位置情報管理テーブルにて管理する。また、バッファ格納ポインタ処理部140は、受信したパケットの内現にバッファ10に記憶しているパケットについて、当該パケットに対応する出力ポートに設定されているクラス各々の内、対応するクラスに関連付けて、当該クラスに関連付けて記憶されているパケット間における相対的な順番(パケット中継装置が当該パケットを受信した順番)を位置情報管理テーブルにて管理する。図5の(2)に示す例では、バッファ格納ポインタ処理部140は、現にバッファ10に記憶しているパケットについて、ポートを一意に識別する「ポート」とクラスを一意に識別する「クラス」とに対応付けて、パケットを受信した順番で「位置情報」を位置情報管理テーブルに記憶する。具体的に例をあげて説明すると、図5に示す例では、ポート「#1」クラス「A」に対応付けて、位置情報「001」「005」「009」を記憶する。
また、バッファ格納ポインタ処理部140は、パケット中継装置がパケットを受信する毎に、バッファ書込処理部120に適切な位置情報を通知するとともに、当該位置情報を位置情報管理テーブルにて記憶し、また、当該パケットの順番を位置情報管理テーブルにて記憶する。位置情報および順番情報を管理テーブルに記憶する点について、パケット中継装置がパケットAを受信してバッファ10に記憶し、パケットBを受信してバッファ10に記憶し、パケットEを受信してバッファ10に記憶する場合を例に説明する。例えば、図5の(1)に示すように、バッファ格納ポインタ処理部140は、パケット中継装置がパケットAを位置情報「001」によって特定されるバッファ10内の位置に記憶すると、図5の(2)に示すように、位置情報管理テーブルに、ポート「#1」クラス「A」に対応付けて、位置情報「001」を記憶する。その後、図5の(1)に示すように、パケット中継装置がパケットBを位置情報「005」によって特定されるバッファ10内の位置に記憶すると、図5の(2)に示すように、位置情報管理テーブルに、ポート「#1」クラス「A」に対応付けて、位置情報「001」の次に、位置情報「005」を記憶する。
また、バッファ格納ポインタ処理部140は、バッファ10からパケットが読み出される毎に、位置情報管理テーブルを更新する。具体的には、バッファ格納ポインタ処理部140は、読み出されたパケットに対応する位置情報を位置情報管理テーブルから削除し、当該パケットに対応するクラス内の相対的な順番を位置情報管理テーブルにて更新する。例えば、図5の(2)に示す例では、バッファ格納ポインタ処理部140は、位置情報「001」によって特定されるパケットAが送信されると、位置情報「001」を削除する。言い換えると、図5の(2)に示す例では、バッファ格納ポインタ処理部140は、位置情報「001」を削除する結果、位置情報「005」によって特定されるパケットの順番が最も早いものとして記憶し、位置情報「009」によって特定されるパケットの順番がその次に早いものとして記憶する。
また、バッファ格納ポインタ処理部140は、スケジューリング処理部80からの指示(優先制御に従って選択されたクラスの指示)に従って、位置情報管理テーブルに記憶された順番情報および位置情報を用いて、バッファ10に現に格納されているパケットのうちで選択したクラスに対応する最先に格納されたパケットをバッファ10から読み出す。
具体的には、バッファ格納ポインタ処理部140は、スケジューリング処理部80から、送信するパケットのポートとクラスとを受信すると、位置情報管理テーブルを参照し、対応するクラスにおいて、順番が最も早いパケットを選択し、対応する位置情報を後述するバッファ読出処理部130に送る。そして、バッファ格納ポインタ処理部140は、読み出したパケットの容量と、出力ポートと、クラスとを、容量監視部150へ通知する。
容量監視部150は、クラスごとに、バッファ10の容量のうちでクラスのパケットのみが消費を許されている容量を示す専用消費容量と、専用消費容量のうちで現に消費されている容量を示す現専用消費容量や専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて容量管理テーブルに記憶して管理する。また、容量監視部150は、複数のクラスの組み合わせごとに、バッファ10の容量のうちで複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、共有消費容量のうちで現に消費されている容量を示す現共有消費容量や共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて容量管理テーブルに記憶して管理する。
具体的には、容量監視部150は、少なくとも帯域保証用のクラスについて、専用消費容量として正の値を容量管理テーブルに記憶して管理し、帯域保証用およびベストエフォート用のクラスの組み合わせについて、共有消費容量として正の値を容量管理テーブルに記憶して管理する。
例えば、図6に示すように、容量監視部150は、当該パケットに対応する出力ポート内に設定されているクラス各々の内対応するクラスに関連付けて、「専用消費容量」と、「現専用消費容量」と、「現専用空き容量」とを容量管理テーブルに記憶して管理し、また、当該パケットに対応する出力ポート内に設定されているクラス各々の内対応するクラスに関連付けて、「共有消費容量」と、「現共有消費容量」と、「現共有空き容量」とを容量管理テーブルに記憶して管理する。具体的に例をあげて説明すると、容量監視部150は、ポート「#1」クラス「A」に対応付けて、専用消費容量「50」と、現専用消費容量「30」と、現専用空き容量「20」とを容量管理テーブルにて記憶して管理する。また、容量監視部150は、ポート「#1」クラス「A、B、C」に対応付けて、共有消費容量「50」と、現共有消費容量「0」と、現共有空き容量「50」とを容量管理テーブルにて記憶して管理する。
なお、容量監視部150は、以下に記載するように、バッファ10の現消費容量を把握し、受信したパケットをバッファ10に記憶するか否かを判定する判断材料を提供する。このため、本発明の実現する上で、要のブロックである。
また、なお、実施例1では、容量監視部150が、クラス各々と対応付けて、「専用消費容量」と、「共有消費容量」と、「現消費容量」と、「現空き容量」とを容量管理テーブルに記憶して管理する手法について説明するが、本発明はこれに限定されるものではなく、上記した項目の内一部のみを容量管理テーブルにて記憶して管理してもよい。例えば、容量監視部150は、クラス各々と対応付けて、「専用消費容量」と、「共有消費容量」と、「現消費容量」とを容量管理テーブルに記憶して管理し、「現空き容量」をその都度(例えば、パケットを受信するごとに)算出して用いてもよい。また、容量監視部150は、クラス各々と対応付けて、「現空き容量」を対応付けて容量管理テーブルに記憶して管理してもよい。
また、なお、実施例1では、容量監視部150が、管理する項目として、「専用消費容量」と、「共有消費容量」と、「現消費容量」と、「現空き容量」とを管理する手法について説明するが、本発明はこれに限定されるものではない。例えば、容量監視部150は、バッファ10全体の容量(実用量)を示す「実容量」と、帯域保証用のクラスのみが用いる容量である「帯域保証用区画閾値」(ベストエフォート用のクラスのパケットは、消費しないバッファの容量)と、各クラス各々(出力ポート内に設けられているクラス各々)ごとに設定される専用領域の容量を示す「専用領域容量」と、各クラス各々ごとに現に消費されている容量を示す「現消費容量」と、複数のクラスが共有して用いる容量の内空いている容量(消費されていない容量)を示す「共有領域空き容量」と、ベストエフォート用のクラスが共有して用いる容量の内空いている容量(消費されていない容量)を示す「ベストエフォート用空き共有」と、バッファ10の容量の内空いている容量(消費されていない容量)を示す「残容量」とを管理してもよい。具体的には、「実容量」と、「帯域保証用区画閾値」と、「専用領域容量」と、「現消費容量」とをテーブルにて管理し、「共有領域空き容量」と、「ベストエフォート用空き共有」と、「残容量」とを算出して用いても(管理しても)よい。
そして、容量監視部150は、クラス識別処理部60によって識別されたクラスに対応する専用空き容量を容量管理テーブルから読み出し、受信したパケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、クラスの専用空き容量を消費したものとして、TailDrop判定処理部110に、パケットをバッファ10に格納する指示を送信する。また、容量監視部150は、現専用空き容量に受信したパケットを格納できる容量がないと判定した場合に、パケットのクラスに対応する共有空き容量を容量管理テーブルから読み出し、パケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、クラスの共有空き容量を消費したものとして、TailDrop判定処理部110に、パケットをバッファ10に格納する指示を送信する。
具体的には、容量監視部150は、容量管理テーブルを用いて、受信したパケットについて、当該パケットをバッファ10に記憶するのに十分な空き容量が対応する専用消費容量または共有消費容量にあるかを判定し、パケットがバッファ10に記憶されると、容量管理テーブルの値を更新する。
具体的に例をあげて説明すると、容量監視部150は、クラス識別処理部60が識別した受信したパケットのクラスに対応する専用消費容量に、受信したパケットより大きな空き容量があるか否かを判別する(現専用空き容量があるかを判別する)。ここで、容量監視部150は、当該パケットのクラスに対応する専用消費容量に受信したパケットより大きな空き容量が残っている場合には、専用消費容量を消費する。その後、容量監視部150は、パケットがバッファ10に記憶されると、容量管理テーブルを更新する。
図6に示す例を用いて説明すると、容量監視部150は、受信したパケットの容量が10である場合には(例えば、ポート「#1」クラス「A」)、十分な現専用空き容量があるため、当該受信したパケットをバッファ10に記憶する旨の指示をTailDrop判定処理部110に送信する。その後、バッファ書込処理部120が当該パケットをバッファ10に記憶し、バッファ格納ポインタ処理部140から消費容量が通知されると、容量監視部150は、受信したパケットのクラスに対応する現専用消費容量と現専用空き容量とに通知された消費容量を反映させて容量管理テーブルを更新する(例えば、現専用消費に通知された消費容量を加算し、現専用空き容量から通知された消費容量を減算する)。
一方、容量監視部150は、受信したパケットのクラスに対応する専用消費容量に受信したパケットより大きな空き容量が残っていない場合には(現専用空き容量がない場合には)、対応する共有消費容量に、受信したパケットより大きな空き容量があるか否かを判定する(現共有空き容量があるかを判定する)。ここで、容量監視部150は、当該パケットのクラスに対応する共有消費容量に受信したパケットより大きな空き容量が残っている場合には、共有消費容量を消費する。その後、容量監視部150は、パケットがバッファに記憶されると、容量管理テーブルを更新する。
図6に示す例を用いて説明すると、容量監視部150は、受信したパケットの容量が30である場合には、十分な現共有空き容量があるため、当該パケットを廃棄せずにバッファ10に格納する旨の指示をTailDrop判定処理部110に送信する。その後、バッファ書込処理部120が当該パケットをバッファ10に記憶し、バッファ格納ポインタ処理部140から消費容量が通知されると、容量監視部150は、受信したパケットのクラスに対応する現共有消費容量と現共有空き容量とに通知された消費容量を反映させて容量管理テーブルを更新する(例えば、現共有消費に通知された消費容量を加算し、現共有空き容量から通知された消費容量を減算する)。
一方、容量監視部150は、受信したパケットのクラスに対応する共有消費容量に受信したパケットより大きな空き容量が残っていない場合には(十分な現共有空き容量がない場合には)、当該パケットを廃棄する旨の指示をTailDrop判定処理部110に送る。
また、容量監視部150は、パケットがバッファ10から読み出されると、バッファ格納ポインタ処理部140からパケットの容量と出力ポートとクラスとを受付けると、容量管理テーブルを更新する。さらに詳細には、容量監視部150は、受信したパケットのクラスに対応する現専用消費要領と現専用空き容量、または、現共有消費容量と現共有空き容量とに、通知されたパケットの容量を反映させて更新する(例えば、現共有消費に通知されたパケットの容量を減算し、現共有空き容量から通知されたパケットの容量を加算する)。
なお、上記したパケットがバッファ10に記憶された際の容量監視部150による処理と、パケットがバッファ10から読み出された際の容量監視部150による処理とは、それぞれ独立して処理されるものである。
[パケット中継装置によるパケット記憶処理]
次に、図7を用いて、パケット中継装置によるパケット記憶処理を説明する。図7は、実施例1に係るパケット中継装置によるパケット記憶処理の流れを説明するためのフローチャートである。
同図に示すように、パケット中継装置が、パケットをLANポート20から受信すると(ステップS101肯定)、PHY/MAC処理部40は、Physica10ayer処理およびMAC終端処理を行う(ステップS102)。
そして、Flow識別処理部50は、ポートを識別する(ステップS103)。例えば、Flow識別処理部50は、受信したパケット各々についてポートを識別し、受信したパケットが出力ポート「#1」宛である場合に、「#1」であると識別する。
その後、クラス識別処理部60は、クラスを識別する(ステップS104)。例えば、クラス識別処理部60は、受信したパケット各々についてクラスを識別し、受信したパケットのクラスが帯域保証用クラスの「A」である場合に、帯域保証用クラスの「A」であると識別する。
QoS処理部70におけるTailDrop判定処理部110は、空き容量があるかを判別する(ステップS105)。例えば、TailDrop判定処理部110は、パケット中継装置がパケットを受信すると、当該パケットを記憶するのに十分な空き容量があるか後述する容量監視部150から取得する。
ここで、空き容量があると判別される場合には(ステップS105肯定)、QoS処理部70における容量監視部150は、クラス識別処理部60が識別したクラスに対応する現専用空き容量があるかどうかを判別する(ステップS106)。そして、容量監視部150は、現専用空き容量がある場合には(ステップS106肯定)、専用消費容量を消費する(ステップS107)。つまり、例えば、図6に示す例を用いて説明すると、容量監視部150は、受信したパケットの容量が10である場合には(例えば、ポート「#1」クラス「A」)、十分な現専用空き容量があるため、当該受信したパケットをバッファ10に記憶する旨の指示をTailDrop判定処理部110に送信する。その後、バッファ書込処理部120が当該パケットをバッファ10に記憶し、バッファ格納ポインタ処理部140から消費容量が通知されると、容量監視部150は、受信したパケットのクラスに対応する現専用消費容量と現専用空き容量とに通知された消費容量を反映させて更新する。
一方、現専用空き容量がない場合には(ステップS106否定)、QoS処理部70における容量監視部150は、クラス識別処理部60が識別したクラスに対応する現共有空き容量があるかどうかを判別する(ステップS108)。そして、容量監視部150は、現共有空き容量がある場合には(ステップS108肯定)、共有消費容量を消費する(ステップS109)。つまり、例えば、例えば、図6に示す例を用いて説明すると、容量監視部150は、受信したパケットの容量が30である場合には、十分な現共有空き容量があるため、当該パケットを廃棄せずにバッファ10に格納する旨の指示をTailDrop判定処理部110に送信する。その後、バッファ書込処理部120が当該パケットをバッファ10に記憶し、バッファ格納ポインタ処理部140から消費容量が通知されると、容量監視部150は、受信したパケットのクラスに対応する現共有消費容量と現共有空き容量とに通知された消費容量を反映させて更新する。
上記したステップS105において、QoS処理部70におけるTailDrop判定処理部110が、十分な空き容量がないと判別した場合には(ステップS105否定)、TailDrop判定処理部110は、当該パケットを廃棄する(ステップS110)。また、QoS処理部70における容量監視部150が、十分な現共有空き容量がないと判定した場合には(ステップS108否定)、TailDrop判定処理部110は、当該パケットを廃棄する(ステップS110)。例えば、TailDrop判定処理部110は、容量監視部150が十分な現共有空き容量がないと判定して、容量監視部150から当該パケットを廃棄する旨の指示を受け取ると、当該パケットを廃棄する。そして、処理を終了する(エンド)。
[パケット中継装置によるパケット読み出し処理]
次に、図8を用いて、パケット中継装置によるパケット読み出し処理を説明する。図8は、実施例1に係るパケット中継装置によるパケット読み出し処理の流れを説明するためのフローチャートである。
同図に示すように、読み出しパケットがあると(ステップS201肯定)、つまり、例えば、バッファ10からパケットが読み出されて出力されると、バッファ格納ポインタ処理部140は、位置情報管理テーブルを更新する(ステップS202)。例えば、バッファ格納ポインタ処理部140は、バッファ10からパケットが読み出されるごとに、読み出されたパケットに対応する位置情報を位置情報管理テーブルから削除し、当該パケットに対応するクラス内の相対的な順番を位置情報管理テーブルにて更新する。
そして、バッファ格納ポインタ処理部140は、読み出したパケットの容量(パケットをバッファ10から読み出すことによって増加した空き容量)と、出力ポートと、クラスとを、容量監視部150へ通知する(ステップS203)。
続いて、容量監視部150は、容量管理テーブルを更新する(ステップS204)。例えば、容量監視部150は、受信したパケットのクラスに対応する現専用消費容量と現専用空き容量、または、現共有消費容量と現共有空き容量とに、通知されたパケットの容量を反映させて更新する。そして、処理を終了する(エンド)。
[実施例1の効果]
上記したように、実施例1によれば、バッファ10に現に格納されているパケットについて、クラスごとに、順番情報と、位置情報とを対応付けて記憶し、優先制御に従って所定のクラスを選択し、順番情報および位置情報を用いて、バッファ10に現に格納されているパケットのうちで選択したクラスに対応する最先に格納されたパケットをバッファ10から読み出して送信し、クラスごとに、専用消費容量と現専用消費容量と現専用空き容量とを対応付けて記憶し、複数のクラスの組み合わせごとに、共有消費容量と現共有消費容量と現共有空き容量とを対応付けて記憶し、受信したパケットについてクラスを識別し、識別されたクラスに対応する専用空き容量を読み出し、受信したパケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、クラスの専用空き容量を消費したものとしてパケットをバッファ10に格納し、現専用空き容量に受信したパケットを格納できる容量がないと判定された場合に、パケットのクラスに対応する共有空き容量を読み出し、パケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、クラスの共有空き容量を消費したものとしてパケットをバッファ10に格納し、現共有空き容量に受信したパケットを格納できる容量がないと判定された場合に、パケットをバッファ10に格納することなく廃棄するので、バッファ10を効率的に利用しつつパケットの廃棄される機会を減少させるとともに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することが可能である。
また、実施例1によれば、少なくとも帯域保証用のクラスについて、専用消費容量として正の値を記憶し、帯域保証用およびベストエフォート用のクラスの組み合わせについて、共有消費容量として正の値を記憶するので、帯域保証用のクラスに区分けされたパケットについて、帯域保証用のバッファ10に空き容量がなくなった場合にもベストエフォート用のバッファ10にパケットを格納することにより、バースト耐力を向上することが可能であり、帯域保証用のバッファ10を増加させることなく、バッファ10を効率的に使用することが可能である。また、さらに、クラスに基づく帯域制御(クラスに基づく優先制御によるパケット送信処理)を維持することも可能である。
さて、実施例1においては、図9に示すように、バッファ10の容量を配分する手法として、帯域保証用のクラスのパケットとベストエフォート用のクラスのパケットとが共有して消費する共有消費容量を設定する場合について説明した。例えば、クラスが「A」であるパケットを受信すると、実施例1に係るパケット中継装置は、図9の(1)に示すように、クラス「A」に設定されている専用消費容量(図9のa)を消費してバッファ10に記憶し、また、当該専用消費容量に十分な空き容量がない場合には、図9の(2)に示すように、クラス「A」とクラス「B」とクラス「C」とが共有する共有消費容量(図9のb)を消費してバッファ10に記憶する。なお、図9は、実施例1におけるバッファ10の配分手法を説明するための図である。
しかし、本発明はこれに限定されるものでなく、様々な配分手法をとり得るものである。そこで、以下では、図10〜16を用いて、実施例2として、バッファ10の容量を配分する様々な手法について説明する。なお、図10〜16は、実施例2におけるバッファ10の配分手法について説明するための図である。上記したように、以下に記載する本発明に係るパケット中継装置の説明に関しても、特に言及がない限り、クラス「A」と「B」とを、帯域保証用のクラスとして、クラス「C」と「D」とを、ベストエフォート用のクラスとして説明する。
(1)ベストエフォート用のクラスに専用消費容量を設定
例えば、実施例2に係るパケット中継装置は、ベストエフォート用のクラスについて、専用消費容量として正の値を記憶してもよい。例えば、図10−1の(1)に示すように、実施例2に係るパケット中継装置は、ベストエフォート用のクラスに専用消費容量(図10−1のc)を設ける。さらに詳細には、図10−2の(2)に示す例では、実施例2に係るパケット中継装置は、ポート「#1」クラス「A」および「B」に対応付けて専用消費容量「50」を容量管理テーブルにて記憶して管理し、ポート「#1」クラス「C」および「D」に対応付けて専用消費容量「25」を容量管理テーブルにて記憶して管理する。
このようにバッファ10を配分することにより、実施例2に係るパケット中継装置は、ベストエフォート用クラスのパケットの全廃棄を防止することが可能である。例えば、帯域保証用のクラスのパケットが、帯域保証用のクラスとベストエフォート用のクラスとが共有して消費する容量をすべて消費したとしても、帯域保証用のクラスとの共有容量とはならない容量を設定することにより、すなわち、ベストエフォート用のクラスに専用消費容量として正の値が設定されることにより、パケットをすべて廃棄する事態を防止することが可能である。
(2)帯域保証用クラスのみが共有する共有消費容量を設定
また、例えば、少なくとも帯域保証用のクラスは、複数あるものである場合に、実施例2に係るパケット中継装置は、帯域保証用のクラスの組み合わせについて、共有消費容量として正の値を記憶してもよい。また、例えば、帯域保証用のクラスの組み合わせについて共有消費容量として正の値が記憶されている場合に、実施例2に係るパケット中継装置は、当該帯域保証用クラス各々について、専用消費容量として正の値を記憶してもよい。
例えば、図11−1の(1)に示すように、実施例2に係るパケット中継装置は、クラス「A」のパケットとクラス「B」のパケットとが共有して消費する共有消費容量(図11のd)を設ける。そして、共有消費容量を設けたクラス「A」とクラス「B」とについて、専用消費容量(図11−1のa)を設ける。さらに詳細には、図11−2の(2)に示すように、実施例2に係るパケット中継装置は、ポート「#1」クラス「A」に対応付けて、専用消費容量「30」を容量管理テーブルにて記憶して管理し、ポート「#1」クラス「B」に対応付けて、専用消費容量「30」を容量管理テーブルにて記憶して管理し、ポート「#1」クラス「A、B」に対応付けて、共有消費容量「40」を容量管理テーブルにて記憶して管理する。
なお、本発明は、帯域保証用のクラスの組み合わせについて共有消費容量として正の値が記憶されている場合に、実施例2に係るパケット中継装置が、当該帯域保証用クラス各々について、専用消費容量として正の値を記憶する場合に限られず、当該帯域保証用クラス各々のうち、一部のクラスについてのみ専用消費容量として正の値を記憶する場合に限られず、または、いずれのクラスについても、専用消費容量として正の値を記憶しなくてもよい。
このようにバッファ10を配分することにより、実施例2に係るパケット中継装置は、帯域保証用のクラス間で容量の共有を行わない(排他の関係をとる)手法と比較して、バッファ10を効率的に使用することが可能である。
例えば、帯域保証用のクラスとして「A」と「B」とがあり、ベストエフォート用のクラスとして「C」と「D」とがある場合に、Aに設けられた専用消費容量に空き容量がなくなった場合にも、すぐにベストエフォート用と共有している共有消費容量を消費するのではなく、帯域保証用のクラスである「B」と共有している共有消費容量を消費することにより、ベストエフォート用と共有している共有消費容量に溢れるパケットの容量を減少させ、その結果、ベストエフォート用と共有している共有消費容量を少なくして(全体のバッファ10容量を削減して)バッファ10を効率的に使用することが可能である。
また、例えば、実施例2に係るパケット中継装置は、帯域保証用のクラスについて専用消費容量として正の値を記憶しているので、帯域保証用のクラスの組み合わせについて共有消費容量を設定する際にも、帯域保証用クラスの全廃棄を防止することも可能である。
例えば、実施例2に係るパケット中継装置は、一方の帯域保証用のクラスのパケットが、他方の帯域保証用のクラスと共有して消費する容量をすべて消費したとしても、帯域保証用のクラスに共有容量とはならない容量を設定することにより、他方の帯域保証用のクラスのパケットをすべて廃棄する事態を防止することが可能である。
(3)帯域保証用のクラスに設定する専用消費容量
また、例えば、実施例2に係るパケット中継装置は、帯域保証用のクラスについて、すべての専用消費容量を設定する場合に限られず、その一部のみについて専用消費容量を設定してもよい。
(4)異なるポートのクラス間にて設定する共有消費容量
また、例えば、上記した実施例においては、実施例2に係るパケット中継装置が、複数のポートを有する場合について言及しなかったが、本発明はこれに限定されるものではなく、複数のポートを有してもよい。
具体的には、実施例2に係るパケット中継装置は、複数のポートを有するものであって、図12−1の(1)に示すように、ポートごとに、かつ、クラスごとに、順番情報と、位置情報とを対応付けて位置情報管理テーブルに記憶して管理する。さらに詳細には、実施例2に係るパケット中継装置は、図12−1の(1)に示す例では、ポート「#1」クラス「A」に対応付けて、位置情報「001」の次に、位置情報「005」を記憶して管理し、ポート「#2」クラス「B」に対応付けて、位置情報「007」の次に、位置情報「004」を記憶して管理する。
また、実施例2に係るパケット中継装置は、図12−1の(2)に示すように、ポートごと、かつ、クラスごとに、専用消費容量と、現専用消費容量および/または専用空き容量とを対応付けて容量管理テーブルに記憶して管理する。さらに詳細には、実施例2に係るパケット中継装置は、図12−1の(2)に示す例では、ポート「#1」クラス「A」に対応付けて専用消費容量「20」を容量管理テーブルに記憶して管理し、ポート「#2」クラス「A」に対応付けて専用消費容量「20」を容量管理テーブルに記憶して管理する。
ここで、実施例2に係るパケット中継装置は、図12−1の(3)に示すように、異なるポート間でのクラスの組み合わせについて、共有消費容量と、現共有消費容量や共有空き容量とを対応付けて記憶してもよい。また、その際には、実施例2に係るパケット中継装置は、異なるポート間での複数の帯域保証用のクラスの組み合わせについて、共有消費容量として正の値を記憶し、異なるポート間での帯域保証用クラスおよびベストエフォート用のクラスの組み合わせについて、共有消費容量として正の値を記憶する。
例えば、実施例2に係るパケット中継装置は、ポート「#1と#2」に関するクラス「A、B」が共有して消費する共有消費容量(図12−2の(4)の2e)を設けてもよい。さらに詳細には、実施例2に係るパケット中継装置は、図12−1の(3)に示す例では、ポート「#1、#2」クラス「A、B」に対応付けて、共有消費容量「10」を容量管理テーブルに記憶して管理し、ポート「#1、#2」クラス「A、B、C」に対応付けて、共有消費容量「10」を容量管理テーブルに記憶して管理する。
そして、実施例2に係るパケット中継装置(容量監視部150)は、識別されたポートとクラスとに対応する専用空き容量を容量管理テーブルから読み出し、受信したパケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、ポートとクラスとに対応する専用空き容量を消費したものとしてパケットをバッファ10に格納する。
その後、実施例2に係るパケット中継装置(容量監視部150)は、現専用空き容量に受信したパケットを格納できる容量がないと判定された場合に、パケットのポートとクラスとに対応する共有空き容量を容量管理テーブルから読み出し、パケットを格納できる容量があるか否かを判定し、パケットを格納できる容量があると判定された場合に、ポートとクラスとに対応する共有空き容量を消費したものとしてパケットをバッファ10に格納する。
そして、バッファ10に記憶したパケットを送信する際には、実施例2に係るパケット中継装置、優先制御に従って所定のポートとクラスとを選択し、選択したポートとクラスとに対応する最先に格納されたパケットをバッファ10から読み出して送信する。
なお、本発明は、実施例2に係るパケット中継装置が、異なるポート間での複数の帯域保証用のクラスの組み合わせについて、共有消費容量として正の値を記憶し、異なるポート間での帯域保証用クラスおよびベストエフォート用のクラスの組み合わせについて、共有消費容量として正の値を記憶する場合に限定されるものではない。例えば、実施例2に係るパケット中継装置は、異なるポート間での複数の帯域保証用のクラスの組み合わせについてのみ、共有消費容量として正の値を記憶してもよく、また、異なるポート間での帯域保証用クラスおよびベストエフォート用のクラスの組み合わせについてのみ、共有消費容量として正の値を記憶してもよい。
このように、実施例2に係るパケット中継装置は、出力ポート間の輻輳ばらつきによる影響を考慮しない手法と比較して、バッファ10を効率的に使用することが可能である。
例えば、実施例2に係るパケット中継装置は、出力ポートが複数設定されているパケット中継装置において、複数のポートにて、同時刻に同じ容量で輻輳することは少ない。さらに詳細には、図13に示すように、ポート#1が輻輳しており、一方、他のポートのトラヒックが全く無い場合もある。これは、ある出力ポートが輻輳もしくは、Pauseフレーム受信などにより、バックプレッシャが発生する時間は全てのポートが同じ時刻ではないからである。この結果、出力ポート単位にてバッファ10の容量を共有することにより、バッファ10を効率的に使用することが可能である。
また、実施例2に係るパケット中継装置が、異なるポート間での複数の帯域保証用のクラスの組み合わせについて、共有消費容量として正の値を記憶し、異なるポート間での帯域保証用クラスおよびベストエフォート用のクラスの組み合わせについて、共有消費容量として正の値を記憶するので、ベストエフォート用のクラスの輻輳により、帯域保証用のクラスの輻輳が起きることを回避し、帯域保証用クラスの輻輳耐力が低下することを防止することが可能である。
言い換えると、実施例2に係るパケット中継装置が、図14の(1)に示すように、ベストエフォート用のクラスの輻輳により、ベストエフォート用のクラスのパケットが帯域保証用のクラスへと溢れる設定である場合には、帯域保証用のクラスの輻輳が起きる。このような手法に対して、実施例2に係るパケット中継装置は、図14の(2)に示すように、異なるポート間での複数の帯域保証用のクラスの組み合わせについて、共有消費容量として正の値を記憶し、異なるポート間での帯域保証用クラスおよびベストエフォート用のクラスの組み合わせについて、共有消費容量として正の値を記憶することにより、ベストエフォート用のクラスが輻輳したとしても、ベストエフォート用のクラスのパケットが帯域保証用のクラスの共有消費容量は消費できない結果、帯域保証用のクラスの輻輳が起きることを回避し、帯域保証用クラスの輻輳耐力が低下することを防止することが可能である。
(5)組み合わせについて
実施例2に係るパケット中継装置は、上記したバッファ10の配分に関する手法は、一つのみを採用する場合に限定されず、複数またはすべての手法を採用してよい。また、複数の共有消費容量がある場合に、共有消費容量を消費してバッファにパケット記憶する際に、消費する共有消費容量の順番を予め設定してもよい。例えば、「A,B」とが共有して消費する容量と、「A,B、C」とが共有して消費する容量とがあり、クラスAのパケットをバッファに記憶させる場合に、まず、帯域保証用のクラス間で共有する共有消費容量(「A,B」)を消費してバッファにパケットを記憶し、当該共有消費容量に空き容量がない場合に、ベストエフォート用の共有消費容量(「A,B、C」)を消費してバッファにパケットを記憶させてもよい。
(6)その他
ところで、上記したバッファを配分する手法を組み合わせることによって、以下に示すように、バッファを効率的に使用することが可能である。例えば、すべてのクラスについて、それぞれ専用消費容量を設定し、また、異なるポート間において、共有消費容量を設定する場合の効果について、以下に説明する。
まず、従来の手法においては、図15の(1)に示すように、優先度が無い(優先度が1つである)場合には、バッファ10には、出力ポート各々についてメモリの区画が設けられ、その区画内において、FIFOによる処理によって、パケットが読み出されて送信される。また、図15の(2)に示すように、優先度が複数ある場合には、パケット単位に優先度を識別し、当該優先度に基づいて、パケットをバッファ10に格納し、バッファ10から読み出して送信する。このため、各クラス各々について、容量が設けられている。
例えば、バッファ10からパケットを読み出さないと仮定して、バッファ10の効率性について説明する。上記したような従来の手法においては、GbEについて10msecの帯域保証を行う場合に、優先度を一つとすると、1Gbit/secの10msec分として10Mbitの容量を確保することが必要である。さらに、出力ポート数が32ある場合には、容量もポート数分必要となり、10Mbit×32(port)=320Mbitのバッファ10容量が必要となる。なお、下記の計算においては、IFG(Inter Frame Gap)やPreamble/SFDによる影響は考慮しないものとする。
また、例えば、各ポートごとに4つのクラス(優先度)があるものとして、各クラスに対して設定するバッファ10の容量の比を1:1:4:4(A:B:C:D)とする。ここで、上記した10msecの保証を、クラスAとクラスBとに適用すると、各ポートごとに10倍のメモリ容量が必要となり、見積りの結果としては、320Mbit×10=3200Mbitものメモリが必要になる。なお、容量の比として、帯域保証用のクラスであるAとBとに設定される容量に対して、ベストエフォート用のクラスであるCとDとに設定される容量が多いのは、帯域保証用のクラスのパケットを出力している間、輻輳によりベストエフォート用のクラスのパケットが待たされるため、多くの容量が必要となるためである。
このような従来の手法に対して、本発明を適用することによって、実施例2に係るパケット中継装置は、上記したようにバッファ10を配分することにより、バッファ10を効率的に使用することが可能である。例えば、図16を用いて説明する。まず、ポート「#1」のクラスAについて、バッファ10に格納した後、当該格納したパケットを読み出して送信しない状態において、GbEの10msecを保証するとして説明する。
この場合において、ポート「#1」クラスAのパケットを受信すると、実施例2に係るパケット中継装置は、まず、図16の(1)に示すように、ポート「#1」クラスAに設定されている専用消費容量を消費する。その後、図16の(2)に示すように、帯域保証用のクラスの共有消費容量を消費し、続いて、図16の(3)に示すように、ベストエフォート用のクラスと帯域保証用のクラスとが共有して消費する共有消費容量を消費する。
つまり、式としてあらわすと、次のようになる。「CA#1(Mbit)+(B−(ΣCA+ΣCB))+((A−B)−(ΣCC+ΣCD))=10Mbit」。これにより、メモリ容量は、上記式を変形することにより、次の式により表される。「A=10Mbit−CA#1(Mbit)+(ΣCA+ΣCB)+(ΣCC+ΣCD)」。なお、ここで、Aはバッファ10の容量を示し、Bは、帯域保証用のクラスのパケットのみが用いることが許されるバッファ10の容量を示す。また、(A−B)は、ベストエフォート用のクラスのパケットが用いることを許されるバッファ10の容量を示す。また、Σで示す箇所については、専用消費容量を示す。例えば、ΣCAは、クラスAによって用いられる専用消費容量を示す。
ここで、Bが32Mbitとし、CA#1〜CA#nおよびCB#1〜CB#nが0.5Mbit、n=32、CA#1〜CA#nおよびCB#1〜CB#nが1Mbitと仮定すると、「A=10Mbit-0.5Mbit+(0.5*32+0.5*32)+(1*32 +1*32)=105.5Mbit」となり、上記した従来の手法と比較して、約1/3の容量のメモリで、同じ帯域保証を実現することが(同じ仕様を)可能である。
また、上記式は、一つの仮定として算出したものであり、上述の式に示すように、占有させるべき容量の総和が低くなれば、バッファ10をより高い効率で使用することが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
(1)専用消費容量の動的変更
例えば、実施例では、専用消費容量に関する設定について、ネットワークの構成に応じて変更する手法について言及しなかったが、本発明はこれに限定されるものではなく、パケット中継装置の各出力ポート各々に関する帯域の変化に応じて、専用消費容量の設定を動的に変更してもよい。
具体的には、実施例3に係るパケット中継装置は、図3に示す構成に、さらに、以下に説明するSONET監視部を備える。なお、SONETE監視部は、図3において、QoS処理部70と、スケジューリング処理部80と、SONETフレーミング処理部90と、SONETデフレーミング処理部100とに結合している。なお、SONET監視部は、特許請求の範囲に記載の「監視手段」と「更新手段」とに対応する。
すなわち、実施例3に係るパケット中継装置(SONET監視部)は、パケット中継装置に設けられている出力ポート各々について、それぞれ帯域を監視する。例えば、図17の(1)および(2)に示すように、SONET監視部は、各出力ポートの帯域を監視し、ポート「STS3c−1v」の帯域がなくなり、ポート「STS3c−4v」の帯域が増加したと監視する。なお、図17は、実施例3に係るパケット中継装置による動的変更を説明するための図である。
そして、実施例3に係るパケット中継装置(SONET監視部)は、監視された出力ポートの帯域に対して、出力ポート各々に設定されているクラスに対応する専用消費容量が、常に一定割合の容量になるように、容量管理テーブルの専用消費容量を更新する。例えば、図17の(1)に示すように、ポート「STS3c−1v」に対して専用消費容量「約3aMbit」と設定され、ポート「STS3c−4v」に対して専用消費容量「約12aMbit」と設定されているとする。ここで、SONET監視部は、図17の(2)に示すように、ポート「STS3c−1v」に対して設定されている専用消費容量を「約3aMbit」から「0Mbit」に更新し、ポート「STS3c−4v」に対して設定されている専用消費容量「約12aMbs」を「約15aMbit」に更新する(図17の(2)の「STS3c−5v」参照)。言い換えると、実施例3に係るパケット中継装置(SONET監視部)は、ポートの帯域に対して(例えば、「STS3c−1v」)、当該ポートに対応する専用消費容量(例えば、図17の(1)では、「約3aMbit」)が、常に一定割合となるように、専用消費容量の設定を更新する。
なお、SONET監視部は、かかる更新を一定周期でおこなってもよい。また、SONET監視部は、予め所定の閾値を有し、帯域の変化量が当該閾値を超える場合に更新を行ってもよい。
このように、実施例3に係るパケット中継装置は、ネットワークの構成に対して適切な設定を行うことが可能である。
例えば、実施例3に係るパケット中継装置は、SONETのLCASによるダイナミックにSONETチャネルの帯域変更があったとしても、このパケットバッファ管理方式の各パラメータを動的に変更可能とすることにより、動的に帯域比例のQueue構成(バッファの割り当て)を可能とし、読出し帯域との整合性を確保することが可能である。
例えば、実施例3に係るパケット中継装置は、専用消費容量や共有消費容量について、ネットワークの構成の変化に基づいて変更することにより、未使用な出力ポートに設定されている容量を他のポートの輻輳しているポートに割り当てることが可能であり、保証している帯域が変化する場合に、装置のプロビジョニング(予め設定しておく)だけではなく、運用中にも変更することにより、最適かつバッファ10を効率よく使用すること可能である。
また、例えば、このような更新を行わない手法においては、帯域が増えた出力ポートに対して十分に専用領域を確保せず、また、共有消費容量が他のポートのパケットによって輻輳することによって、帯域(トラヒック)契約帯域まで達していないにもかかわらず、廃棄されてしまうのに対して、本発明を適用することにより、このような事態を防止することが可能である。
また、このように、動的に設定を更新することにより、占有帯域の装置としての考えられる総和の最大値を考慮してメモリサイズを考慮すれば、それより低い運用となれば、輻輳耐力が持てるパケット中継装置とすることが可能である。
すなわち、バッファを共有して用いる手法自体は、従来技術であるが、上記した管理方式を用いることにより、“QoSのためのパケットバッファ管理”を高効率に行うことが可能である。言い換えると、QoSやLCASに代表される出力帯域連動のための共有バッファ管理方式である。具体的には、実施例1および実施例2にて記載したように、帯域保証の共有領域と、ベストエフォート用の共有消費容量(共有領域)を設け、帯域保証用のクラスのパケットが到着した際に、帯域保証用の共有領域が枯渇した場合には、ベストエフォート用の共有領域を使うことができるが、ベストエフォート用のクラスのパケットが到着した際に、ベストエフォート用のクラスの共有領域が枯渇したとしても、帯域保証用のクラスの共有領域は使えない。また、実施例2にて記載したように、SONETのLCASによるダイナミックにSONETチャネルの帯域変更があったとしても、このパケットバッファ管理方式の各パラメータは動的に変更可能とすることにより、動的に帯域比例のQueue構成を可能とし、読出し帯域との整合性を確保する。
(2)システム構成等
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図1〜図16)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図4におけるバッファ格納ポインタ処理部140において、位置情報管理テーブルと、当該テーブルを管理する部とを分離し、また、バッファ書込処理部120とメバッファ読出処理部130とを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)プログラム
ところで、上記実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図18を用いて、上記の実施例1に示したパケット中継装置と同様の機能を有するパケット中継装置制御プログラムを実行するコンピュータの一例を説明する。なお、図18は、実施例1に係るパケット中継装置のプログラムを示すための図である。
同図に示すように、実施例3における管理装置3000は、操作部3001、マイク3002、スピーカ3003、LANポート3004、ディスプレイ3005、バッファ3006、SONETポート3007、CPU3010、ROM3011、HDD3012、RAM3013をバス3009などで接続して構成されている。
ROM3011には、上記の実施例1で示したPHY/MAC処理部40と、Flow識別処理部50と、クラス識別処理部60と、QoS処理部70と、スケジューリング処理部80と、SONETフレーミング処理部90と、SONETデフレーミング処理部100と同様の機能を発揮する制御プログラム、つまり、図18に示すように、PHY/MAC処理プログラム3011aと、Flow識別処理プログラム3011bと、クラス識別プログラム3011cと、QoS処理プログラム3011dと、スケジューリング処理プログラム3011eと、SONETフレーミングプログラム3011fと、SONETデフレーミングプログラム3011gとが予め記憶されている。なお、これらのプログラム3011a〜3011gについては、図3に示した管理装置の各構成要素と同様、適宜統合または分離してもよい。
そして、CPU3010が、これらのプログラム3011a〜3011gをROM3011から読み出して実行することにより、図18に示すように、各プログラム3011a〜3011gについては、PHY/MAC処理プロセス3010aと、Flow識別処理プロセス3010bと、クラス識別プロセス3010cと、QoS処理プロセス3010dと、スケジューリング処理プロセス3010eと、SONETフレーミングプロセス3010fと、SONETデフレーミングプロセス3010gとして機能するようになる。なお、各プロセス3010a〜3010gは、図3に示した、PHY/MAC処理部40と、Flow識別処理部50と、クラス識別処理部60と、QoS処理部70と、スケジューリング処理部80と、SONETフレーミング処理部90と、SONETデフレーミング処理部100とにそれぞれ対応する。
そして、HDD3012には、位置情報管理テーブル3012aと、容量管理テーブル3012bとが設けられている。この位置情報管理テーブル3012aは、位置情報管理テーブルに対応する。この容量管理テーブル3012bは、容量管理テーブルに対応する。
そして、CPU3010は、HDD3012から位置情報管理テーブル3012aと容量管理テーブル3012bとを読み出してRAM3013に格納し、RAM3013に格納された位置情報管理データ3013aと、容量管理データ3013bとを用いて、パケット中継装置制御プログラムを実行する。
(3)その他
なお、本実施例で説明したパケット中継装置制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(付記1)優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信するパケット中継装置であって、
前記バッファに現に格納されているパケットについて、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて記憶する位置情報記憶手段と、
前記優先制御に従って所定のクラスを選択し、前記位置情報記憶手段に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したクラスに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信手段と、
前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて記憶する専用容量記憶手段と、
複数のクラスの組み合わせごとに、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて記憶する共有容量記憶手段と、
前記受信したパケットについて前記クラスを識別するクラス識別手段と、
前記クラス識別手段によって識別されたクラスに対応する前記専用空き容量を前記専用容量記憶手段から読み出し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費手段と、
前記専用容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのクラスに対応する前記共有空き容量を前記共有容量記憶手段から読み出し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費手段と、
前記共有容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄手段と、
を備えたことを特徴とするパケット中継装置。
(付記2)前記クラスは、帯域が保証されているパケット通信にて用いられる帯域保証用のクラスと、帯域が保証されていないパケット通信にて用いられるベストエフォート用のクラスとであって、
前記専用容量記憶手段は、少なくとも前記帯域保証用のクラスについて、前記専用消費容量として正の値を記憶し、
前記共有容量記憶手段は、前記帯域保証用およびベストエフォート用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを特徴とする付記1に記載のパケット中継装置。
(付記3)前記専用容量記憶手段は、前記ベストエフォート用のクラスについて、前記専用消費容量として正の値を記憶することを特徴とする付記1または2に記載のパケット中継装置。
(付記4)少なくとも前記帯域保証用のクラスは、複数あるものであって、
前記共有容量記憶手段は、前記帯域保証用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを特徴とする付記1〜3のいずれか一つに記載のパケット中継装置。
(付記5)前記共有容量記憶手段によって、前記帯域保証用のクラスの組み合わせについて前記共有消費容量として正の値が記憶されている場合に、前記専用容量記憶手段は、当該クラス各々について、前記専用消費容量として正の値を記憶することを特徴とする付記4に記載のパケット中継装置。
(付記6)パケット中継装置は、複数のポートを有するものであって、
前記位置情報記憶手段は、前記ポートごとに、かつ、前記クラスごとに、前記順番情報と、前記位置情報とを対応付けて記憶し、
前記パケット送信手段は、前記優先制御に従って所定のポートとクラスとを選択し、当該選択したポートとクラスとに対応する最先に格納されたパケットを当該バッファから読み出して送信し、
前記専用容量記憶手段は、前記ポートごと、かつ、前記クラスごとに、前記専用消費容量と、前記現専用消費容量および/または前記専用空き容量とを対応付けて記憶し、
前記共有容量記憶手段は、異なるポート間でのクラスの組み合わせについて、前記共有消費容量と、前記現共有消費容量および/または前記共有空き容量とを対応付けて記憶し、
前記クラス識別手段は、前記受信したパケットについて前記クラスと前記ポートとを識別し、
前記専用容量消費手段は、前記クラス識別手段によって識別されたポートとクラスとに対応する前記専用空き容量を前記専用容量記憶手段から読み出し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する専用空き容量を消費したものとして当該パケットを前記バッファに格納し、
前記共有容量消費手段は、前記専用容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのポートとクラスとに対応する前記共有空き容量を前記共有容量記憶手段から読み出し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する共有空き容量を消費したものとして当該パケットを前記バッファに格納することを特徴とする付記1〜5のいずれか一つに記載のパケット中継装置。
(付記7)前記共有容量記憶手段は、異なるポート間での複数の帯域保証用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶し、異なるポート間での帯域保証用クラスおよびベストエフォート用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを特徴とする付記6に記載のパケット中継装置。
(付記8)前記パケット中継装置に設けられている出力ポート各々について、それぞれ帯域を監視する帯域情報監視手段と、
前記帯域情報監視手段によって監視された出力ポートの帯域に対して、出力ポート各々に設定されているクラスに対応する前記専用消費容量が、常に一定割合の容量になるように、前記専用消費容量を更新する更新手段と、
をさらに備えることを特徴とする付記1〜7のいずれか一つに記載のパケット中継装置。
(付記9)優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信するパケット中継装置を制御する制御方法であって、
前記バッファに現に格納されているパケットについて、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて位置情報テーブルに格納する位置情報格納工程と、
前記優先制御に従って所定のクラスを選択し、前記位置情報格納工程に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したクラスに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信工程と、
前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて専用テーブルに記憶する専用容量格納工程と、
複数のクラスの組み合わせごとに、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて共有テーブルに記憶する共有容量格納工程と、
前記受信したパケットについて前記クラスを識別するクラス識別工程と、
前記クラス識別工程によって識別されたクラスに対応する前記専用空き容量を前記専用容量格納工程が記憶する専用テーブルから読み出し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費工程と、
前記専用容量消費工程によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのクラスに対応する前記共有空き容量を前記共有容量格納工程が記憶する共有テーブルから読み出し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費工程と、
前記共有容量消費工程によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄工程と、
を含んだことを特徴とする制御方法。
(付記10)優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信するパケット中継装置を制御する制御方法をコンピュータに実行させるパケット中継プログラムであって、
前記バッファに現に格納されているパケットについて、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて位置情報テーブルに格納する位置情報格納手順と、
前記優先制御に従って所定のクラスを選択し、前記位置情報格納手順に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したクラスに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信手順と、
前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて専用テーブルに記憶する専用容量格納手順と、
複数のクラスの組み合わせごとに、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて共有テーブルに記憶する共有容量格納手順と、
前記受信したパケットについて前記クラスを識別するクラス識別手順と、
前記クラス識別手順によって識別されたクラスに対応する前記専用空き容量を前記専用容量格納手順が記憶する専用テーブルから読み出し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費手順と、
前記専用容量消費手順によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのクラスに対応する前記共有空き容量を前記共有容量格納手順が記憶する共有テーブルから読み出し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該クラスの共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費手順と、
前記共有容量消費手順によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄手順と、
をコンピュータに実行させることを特徴とするパケット中継プログラム。
用語の説明に用いる図である。 実施例1に係るパケット中継装置の概要と特徴を示すための図である。 実施例1におけるパケット中継装置全体の構成を示すためのブロック図である。 実施例1におけるQoS処理部の構成を示すためのブロック図である。 実施例1におけるバッファ格納ポインタ処理部を説明するための図である。 実施例1における容量管理テーブルを説明するための図である。 実施例1に係るパケット中継装置によるパケット記憶処理の流れを説明するためのフローチャートである。 実施例1に係るパケット中継装置によるパケット読み出し処理の流れを説明するためのフローチャートである。 実施例1におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例2におけるバッファの配分手法を説明するための図である。 実施例3に係るパケット中継装置による動的変更を説明するための図である。 実施例1に係るパケット中継装置のプログラムを示すための図である。
符号の説明
10 バッファ
20 LANポート
30 SONETポート
40 PHY/MAC処理部
50 Flow識別処理部
60 クラス識別処理部
70 QoS処理部
80 スケジューリング処理部
90 SONETフレーミング処理部
100 SONETデフレーミング処理部
110 TailDrop判定処理部
120 バッファ書込処理部
130 バッファ読出処理部
140 バッファ格納ポインタ処理部
150 容量監視部

Claims (8)

  1. 優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信し、複数のポートを有するパケット中継装置であって、
    前記バッファに現に格納されているパケットについて、前記ポートごとに、かつ、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて記憶する位置情報記憶手段と、
    前記優先制御に従って所定のポートとクラスとを選択し、前記位置情報記憶手段に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したポートとクラスとに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信手段と、
    前記ポートごと、かつ、前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて記憶する専用容量記憶手段と、
    異なるポート間でのクラスの組み合わせについて、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて記憶する共有容量記憶手段と、
    前記受信したパケットについて前記クラスと前記ポートとを識別するクラス識別手段と、
    前記クラス識別手段によって識別されたポートとクラスとに対応する前記専用空き容量を前記専用容量記憶手段から読み出し、又は、前記クラス識別手段によって識別されたポートとクラスとに対応する前記専用消費容量及び前記現専用消費容量を前記専用容量記憶手段から読み出して前記専用空き容量を識別し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費手段と、
    前記専用容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのポートとクラスとに対応する前記共有空き容量を前記共有容量記憶手段から読み出し、又は、当該パケットのポートとクラスとに対応する前記共有消費容量及び前記現共有消費容量を前記共有容量記憶手段から読み出して前記共有空き容量を識別し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費手段と、
    前記共有容量消費手段によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄手段と、
    を備えたことを特徴とするパケット中継装置。
  2. 前記クラスは、帯域が保証されているパケット通信にて用いられる帯域保証用のクラスと、帯域が保証されていないパケット通信にて用いられるベストエフォート用のクラスとであって、
    前記専用容量記憶手段は、少なくとも前記帯域保証用のクラスについて、前記専用消費容量として正の値を記憶し、
    前記共有容量記憶手段は、前記帯域保証用およびベストエフォート用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを特徴とする請求項1に記載のパケット中継装置。
  3. 前記クラスは、帯域が保証されているパケット通信にて用いられる帯域保証用のクラスと、帯域が保証されていないパケット通信にて用いられるベストエフォート用のクラスとであって、
    前記専用容量記憶手段は、前記ベストエフォート用のクラスについて、前記専用消費容量として正の値を記憶することを特徴とする請求項1または2に記載のパケット中継装置。
  4. 前記クラスは、帯域が保証されているパケット通信にて用いられる帯域保証用のクラスと、帯域が保証されていないパケット通信にて用いられるベストエフォート用のクラスとであって、少なくとも前記帯域保証用のクラスは複数あり、
    前記共有容量記憶手段は、前記帯域保証用のクラスの組み合わせについて、前記共有消費容量として正の値を記憶することを特徴とする請求項1〜3のいずれか一つに記載のパケット中継装置。
  5. 前記共有容量記憶手段によって、前記帯域保証用のクラスの組み合わせについて前記共有消費容量として正の値が記憶されている場合に、前記専用容量記憶手段は、当該クラス各々について、前記専用消費容量として正の値を記憶することを特徴とする請求項4に記載のパケット中継装置。
  6. 前記パケット中継装置に設けられている出力ポート各々について、それぞれ帯域を監視する帯域情報監視手段と、
    前記帯域情報監視手段によって監視された出力ポートの帯域に対して、出力ポート各々に設定されているクラスに対応する前記専用消費容量が、常に一定割合の容量になるように、前記専用消費容量を更新する更新手段と、
    をさらに備えることを特徴とする請求項1〜5のいずれか一つに記載のパケット中継装置。
  7. 優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信し、複数のポートを有するパケット中継装置を制御する制御方法であって、
    前記バッファに現に格納されているパケットについて、前記ポートごとに、かつ、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて位置情報テーブルに格納する位置情報格納工程と、
    前記優先制御に従って所定のポートとクラスとを選択し、前記位置情報格納工程に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したポートとクラスとに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信工程と、
    前記ポートごと、かつ、前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて専用テーブルに記憶する専用容量格納工程と、
    異なるポート間でのクラスの組み合わせについて、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて共有テーブルに記憶する共有容量格納工程と、
    前記受信したパケットについて前記クラスと前記ポートとを識別するクラス識別工程と、
    前記クラス識別工程によって識別されたポートとクラスとに対応する前記専用空き容量を前記専用容量格納工程が記憶する専用テーブルから読み出し、又は、前記クラス識別工程によって識別されたポートとクラスとに対応する前記専用消費容量及び前記現専用消費容量を前記専用テーブルから読み出して前記専用空き容量を識別し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費工程と、
    前記専用容量消費工程によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのポートとクラスとに対応する前記共有空き容量を前記共有容量格納工程が記憶する共有テーブルから読み出し、又は、当該パケットのポートとクラスとに対応する前記共有消費容量及び前記現共有消費容量を前記共有テーブルから読み出して前記共有空き容量を識別し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費工程と、
    前記共有容量消費工程によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄工程と、
    を含んだことを特徴とする制御方法。
  8. 優先制御に関して予めクラス分けされたパケットを受信すると、当該パケットをバッファに格納してから当該優先制御に基づいて送信し、複数のポートを有するパケット中継装置を制御する制御方法をコンピュータに実行させるパケット中継プログラムであって、
    前記バッファに現に格納されているパケットについて、前記ポートごとに、かつ、前記クラスごとに、前記パケットを受信した順番を示す順番情報と、当該受信したパケットを当該バッファのいずれの位置に格納しているかを特定する位置情報とを対応付けて位置情報テーブルに格納する位置情報格納手順と、
    前記優先制御に従って所定のポートとクラスとを選択し、前記位置情報格納手順に記憶された順番情報および位置情報を用いて、前記バッファに現に格納されているパケットのうちで当該選択したポートとクラスとに対応する最先に格納されたパケットを当該バッファから読み出して送信するパケット送信手順と、
    前記ポートごと、かつ、前記クラスごとに、前記バッファの容量のうちで当該クラスのパケットのみが消費を許されている容量を示す専用消費容量と、当該専用消費容量のうちで現に消費されている容量を示す現専用消費容量および/または当該専用消費容量から現専用消費容量を除いて求まる専用空き容量とを対応付けて専用テーブルに記憶する専用容量格納手順と、
    異なるポート間でのクラスの組み合わせについて、前記バッファの容量のうちで当該複数のクラスのパケットが共有で消費を許されている容量を示す共有消費容量と、当該共有消費容量のうちで現に消費されている容量を示す現共有消費容量および/または当該共有消費容量から現共有消費容量を除いて求まる共有空き容量とを対応付けて共有テーブルに記憶する共有容量格納手順と、
    前記受信したパケットについて前記クラスと前記ポートとを識別するクラス識別手順と、
    前記クラス識別手順によって識別されたポートとクラスとに対応する前記専用空き容量を前記専用容量格納手順が記憶する専用テーブルから読み出し、又は、前記クラス識別手順によって識別されたポートとクラスとに対応する前記専用消費容量及び前記現専用消費容量を前記専用テーブルから読み出して前記専用空き容量を識別し、前記受信したパケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する専用空き容量を消費したものとして当該パケットを前記バッファに格納する専用容量消費手順と、
    前記専用容量消費手順によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットのポートとクラスとに対応する前記共有空き容量を前記共有容量格納手順が記憶する共有テーブルから読み出し、又は、当該パケットのポートとクラスとに対応する前記共有消費容量及び前記現共有消費容量を前記共有テーブルから読み出して前記共有空き容量を識別し、当該パケットを格納できる容量があるか否かを判定し、当該パケットを格納できる容量があると判定された場合に、当該ポートとクラスとに対応する共有空き容量を消費したものとして当該パケットを前記バッファに格納する共有容量消費手順と、
    前記共有容量消費手順によって前記受信したパケットを格納できる容量がないと判定された場合に、当該パケットを前記バッファに格納することなく廃棄する廃棄手順と、
    をコンピュータに実行させることを特徴とするパケット中継プログラム。
JP2008003694A 2008-01-10 2008-01-10 パケット中継装置、制御方法およびパケット中継プログラム Active JP5088145B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008003694A JP5088145B2 (ja) 2008-01-10 2008-01-10 パケット中継装置、制御方法およびパケット中継プログラム
US12/285,366 US8254403B2 (en) 2008-01-10 2008-10-02 Packet forwarding apparatus and controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008003694A JP5088145B2 (ja) 2008-01-10 2008-01-10 パケット中継装置、制御方法およびパケット中継プログラム

Publications (2)

Publication Number Publication Date
JP2009170976A JP2009170976A (ja) 2009-07-30
JP5088145B2 true JP5088145B2 (ja) 2012-12-05

Family

ID=40850566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008003694A Active JP5088145B2 (ja) 2008-01-10 2008-01-10 パケット中継装置、制御方法およびパケット中継プログラム

Country Status (2)

Country Link
US (1) US8254403B2 (ja)
JP (1) JP5088145B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5088145B2 (ja) * 2008-01-10 2012-12-05 富士通株式会社 パケット中継装置、制御方法およびパケット中継プログラム
EP2507952B1 (en) * 2009-12-04 2013-09-18 Napatech A/S An assembly and a method of receiving and storing data while saving bandwidth by controlling updating of fill levels of queues
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) * 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
JP2016158024A (ja) * 2015-02-23 2016-09-01 日本電信電話株式会社 通信用入出力装置
JP2017027196A (ja) * 2015-07-17 2017-02-02 株式会社リコー 通信装置、電力制御方法、及び電力制御プログラム
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
DE102016202331A1 (de) * 2016-02-16 2017-08-17 Siemens Aktiengesellschaft Netzknoteneinrichtung und Verfahren zur Vermittlung von Daten
US10708189B1 (en) 2016-12-09 2020-07-07 Barefoot Networks, Inc. Priority-based flow control
US10735331B1 (en) 2016-12-09 2020-08-04 Barefoot Networks, Inc. Buffer space availability for different packet classes
US10419366B1 (en) 2017-01-31 2019-09-17 Barefoot Networks, Inc. Mechanism for communicating to remote control plane from forwarding element
US10848429B1 (en) 2017-03-21 2020-11-24 Barefoot Networks, Inc. Queue scheduler control via packet data
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
JP7067164B2 (ja) * 2018-03-20 2022-05-16 日本電気株式会社 通信制御装置、通信制御方法、及び制御プログラム
JP7180485B2 (ja) * 2019-03-22 2022-11-30 株式会社デンソー 中継装置およびキュー容量制御方法
TW202318903A (zh) * 2021-10-29 2023-05-01 財團法人資訊工業策進會 無線通訊裝置以及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475682A (en) * 1994-06-10 1995-12-12 At&T Corp. Method of regulating backpressure traffic in a packet switched network
JP3156752B2 (ja) * 1996-02-09 2001-04-16 日本電気株式会社 Atmスイッチ装置及びその制御方法
JPH1141243A (ja) * 1997-07-18 1999-02-12 Hitachi Ltd Atmスイッチ及びその制御方法
KR100233091B1 (ko) * 1997-10-23 1999-12-01 윤종용 에이티엠 트래픽 제어장치 및 방법
CA2253729A1 (en) * 1998-11-10 2000-05-10 Newbridge Networks Corporation Flexible threshold based buffering system for use in digital communication devices
JP3561870B2 (ja) 1999-02-19 2004-09-02 富士通株式会社 パケットバッファ装置
JP2001156785A (ja) * 1999-11-26 2001-06-08 Nec Corp バッファに於けるセル廃棄回避システムおよび方法
US7213087B1 (en) * 2000-08-31 2007-05-01 Hewlett-Packard Development Company, L.P. Mechanism to control the allocation of an N-source shared buffer
US6778498B2 (en) * 2001-03-20 2004-08-17 Mci, Inc. Virtual private network (VPN)-aware customer premises equipment (CPE) edge router
US7006440B2 (en) * 2001-10-26 2006-02-28 Luminous Networks, Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
US7301906B2 (en) * 2001-12-17 2007-11-27 Lsi Corporation Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks
US7039013B2 (en) * 2001-12-31 2006-05-02 Nokia Corporation Packet flow control method and device
US20030142676A1 (en) * 2002-01-25 2003-07-31 Raymond Zeisz Method and apparauts for admission control in packet switch
US7155716B2 (en) * 2002-03-08 2006-12-26 Intel Corporation Weighted and prioritized task scheduler
US6765905B2 (en) * 2002-04-18 2004-07-20 Motorola, Inc. Method for reducing packet data delay variation in an internet protocol network
JP3872716B2 (ja) * 2002-04-30 2007-01-24 富士通株式会社 パケット出力制御装置
US7441267B1 (en) * 2003-03-19 2008-10-21 Bbn Technologies Corp. Method and apparatus for controlling the flow of data across a network interface
US20040213266A1 (en) * 2003-04-25 2004-10-28 Alcatel Ip Networks, Inc. Network switch fabric configured to weight traffic
JP2005012434A (ja) 2003-06-18 2005-01-13 Canon Inc 遠隔制御システム
JP2005012431A (ja) 2003-06-18 2005-01-13 Matsushita Electric Ind Co Ltd パケット通信装置
US7336606B2 (en) * 2003-08-14 2008-02-26 Intel Corporation Circular link list scheduling
JP2005244417A (ja) 2004-02-25 2005-09-08 Fujitsu Ltd 帯域制御装置、帯域制御方法および帯域制御プログラム
TWI241807B (en) * 2004-03-02 2005-10-11 Hon Hai Prec Ind Co Ltd System and method for network quality of service
JP3791529B2 (ja) * 2004-04-05 2006-06-28 日本電信電話株式会社 フレームバッファ管理回路および方法
US7362705B2 (en) * 2004-05-13 2008-04-22 International Business Machines Corporation Dynamic load-based credit distribution
US20070115826A1 (en) * 2005-10-14 2007-05-24 Optimal Licensing Corporation Systems and methods for increasing capacity in collision-based data networks
JP5088145B2 (ja) * 2008-01-10 2012-12-05 富士通株式会社 パケット中継装置、制御方法およびパケット中継プログラム

Also Published As

Publication number Publication date
JP2009170976A (ja) 2009-07-30
US20090180475A1 (en) 2009-07-16
US8254403B2 (en) 2012-08-28

Similar Documents

Publication Publication Date Title
JP5088145B2 (ja) パケット中継装置、制御方法およびパケット中継プログラム
US8248930B2 (en) Method and apparatus for a network queuing engine and congestion management gateway
US7672324B2 (en) Packet forwarding apparatus with QoS control
US8230110B2 (en) Work-conserving packet scheduling in network devices
US8184540B1 (en) Packet lifetime-based memory allocation
CN110166380B (zh) 调度报文的方法、第一网络设备及计算机可读存储介质
US6795870B1 (en) Method and system for network processor scheduler
US8121120B2 (en) Packet relay apparatus
US20140192819A1 (en) Packet exchanging device, transmission apparatus, and packet scheduling method
JP2007013462A (ja) パケットスケジューラおよびパケットスケジューリング方法
US20120127859A1 (en) Packet scheduling method and apparatus based on fair bandwidth allocation
JP2009290297A (ja) 通信装置および通信装置の制御方法
JP5428203B2 (ja) データ出力装置および通信装置ならびにスイッチ装置
EP2996293B1 (en) A packet scheduling networking device for deadline aware data flows
US11463370B2 (en) Scalable deterministic services in packet networks
US8072885B2 (en) Traffic shaping circuit, terminal device and network node
US8705552B1 (en) Controlling latency variations in a packet node
US20230117851A1 (en) Method and Apparatus for Queue Scheduling
JP4259349B2 (ja) トラヒックシェーピング方法及びトラヒックシェーピング装置
JP4118824B2 (ja) 優先パケットの遅延を最小化するシェーピング装置
JP5691388B2 (ja) 受信装置、通信装置および受信方法
WO2020114133A1 (zh) 一种pq队列扩容实现方法、装置、设备及存储介质
KR20070060552A (ko) 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치
JP2002247081A (ja) バッファ管理方法およびatm交換機
JP2005244417A (ja) 帯域制御装置、帯域制御方法および帯域制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120814

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120827

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

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5088145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150