JP2008283646A - ルータ装置 - Google Patents

ルータ装置 Download PDF

Info

Publication number
JP2008283646A
JP2008283646A JP2007128469A JP2007128469A JP2008283646A JP 2008283646 A JP2008283646 A JP 2008283646A JP 2007128469 A JP2007128469 A JP 2007128469A JP 2007128469 A JP2007128469 A JP 2007128469A JP 2008283646 A JP2008283646 A JP 2008283646A
Authority
JP
Japan
Prior art keywords
queue
data area
data
queues
memory
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.)
Withdrawn
Application number
JP2007128469A
Other languages
English (en)
Inventor
Kazuaki Yotsumoto
一章 四元
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 JP2007128469A priority Critical patent/JP2008283646A/ja
Priority to US12/119,992 priority patent/US20080285580A1/en
Publication of JP2008283646A publication Critical patent/JP2008283646A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • 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
    • 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/9047Buffering arrangements including multiple buffers, e.g. buffer pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】低コストで高信頼性のルータ装置を提供すること。
【解決手段】ルータ装置100は、QoS管理部125がバッファメモリ122に障害が発生した場合に、障害の発生に伴ってキューに割り当てられた使用可能なメモリ量が閾値以上となるか否かを判定する(メモリ量が不足するか否かを判定する)。そして、判定結果に基づいてデータ領域が閾値未満となるキューの不足するメモリ量をその他のキューのデータ領域を用いて動的に補う。
【選択図】 図1

Description

この発明は、記憶装置に所定のデータ領域を有するキューを割り当て、伝送対象となるデータを前記キューに一旦記憶した後にデータの伝送を行うルータ装置に関するものである。
ネットワーク社会の昨今においては、ネットワークの障害やシステムダウンが及ぼすビジネス上の損失は計り知れないものがあり、基幹のネットワークに配置されるルータ装置では、24時間365日ノンストップで運用することが求められている。そのため、特に高信頼性・安定運用が求められる企業・キャリア向けのルータ装置においては、予期せぬハードウェア故障への対策として、ルータ装置の2重化による冗長構成で耐故障性・信頼性の強化を図っている。
なお、特許文献1では、通信パケットのヘッダの情報およびルータ装置が備えるキューの状態に基づいて、パケットをキューに記憶するか否かを判定することによって、通信速度を向上させるという技術が公開されている。
特開2005−323231号公報
しかしながら、ルータ装置にかかる耐故障性・信頼性を強化するために、ルータ装置を2重化することはリソースの無駄が多く、コスト的・運用的な側面から実施可能な場所が限られてしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、低コストで高信頼性のルータ装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、記憶装置にキューを割り当て、伝送対象となるデータを前記キューに一旦記憶した後にデータの伝送を行うルータ装置であって、前記キューに割り当てられた使用可能なデータ領域の大きさが閾値以上となるか否かを判定する判定手段と、前記判定手段の判定結果に基づいて、使用可能なデータ領域の大きさが閾値未満となる補償対象キューのデータ領域を、当該補償対象キュー以外のキューのデータ領域で補う補償手段と、を備えたことを特徴とする。
また、本発明は、上記発明において、前記判定手段は、前記記憶装置にエラーが発生した場合に、割り当てられた使用可能なデータ領域がエラーの発生に伴ってキューに閾値以上となったか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記補償手段は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを検出し、検出したキューのデータ領域を削減し、削減したデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする。
また、本発明は、上記発明において、前記補償手段は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを複数検出し、検出した各キューのデータ領域を融合し、融合後に生成されるデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする。
また、本発明は、上記発明において、前記補償手段は、検出した各キューのうち特徴が類似するキュー同士のデータ領域を融合することを特徴とする。
本発明によれば、キューに割り当てられた使用可能なデータ領域の大きさが閾値以上となるか否かを判定し、判定結果に基づいて使用可能なデータ領域の大きさが閾値未満となる補償対象キューの不足するデータ領域を補償対象キュー以外のキューのデータ領域を用いて補うので、内部の構成変更による最小限のレベルダウン・機能制限によって、ハードウェアをノンストップで動作させることが可能となり、信頼性を向上させることができる。また、ルータ装置を二重化する必要がないので、コストを削減することもできる。
また、本発明によれば、記憶装置にエラーが発生した場合に、割り当てられた使用可能なデータ領域がエラーの発生に伴ってキューに閾値以上となったか否かを判定し、キューのデータ領域を補うので、ハードウェアに故障が発生した場合であっても、ハードウェアをノンストップで動作させることが可能となり、信頼性を向上させることができる。
また、本発明によれば、キューのデータ領域の使用率と、キューの優先度と、キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを検出し、検出したキューのデータ領域を削減し、削減したデータ領域を補償対象キューのデータ領域に割り当てるので、内部の構成変更による最小限のレベルダウン・機能制限によって、ハードウェアをノンストップで動作させることが可能となり、信頼性を向上させることができる。
また、本発明によれば、キューのデータ領域の使用率と、キューの優先度と、キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを複数検出し、検出した各キューのデータ領域を融合し、融合後に生成されるデータ領域を補償対象キューのデータ領域に割り当てるので、内部の構成変更による最小限のレベルダウン・機能制限によって、ハードウェアをノンストップで動作させることが可能となり、信頼性を向上させることができる。
また、本発明によれば、各キューのうち特徴が類似するキュー同士のデータ領域を融合するので、内部の構成変更によるレベルダウンを最小限に抑えることができる。
以下に添付図面を参照して、この発明に係るルータ装置の好適な実施の形態を詳細に説明する。
まず、本実施例にかかるルータ装置の概要および特徴について説明する。本実施例にかかるルータ装置は、記憶装置(メモリ等)に所定のデータ領域(メモリ量)を有するキューを割り当て、伝送対象となるデータをキューに一旦記憶した後にデータの伝送を行うルータ装置であり、記憶装置(記憶装置を含んだその他のハードウェア)にエラーが発生した場合に、エラーの発生に伴ってキューに割り当てられた使用可能なデータ領域が閾値以上となるか否かを判定し、判定結果に基づいてデータ領域が閾値未満となるキューの不足するデータ領域をその他のキューのデータ領域を用いて動的に補う。
このように、本実施例にかかるルータ装置は、エラー発生に伴って、データ領域の不足するキューが発生した場合に、不足するデータ領域をその他のキューのデータ領域によって動的に補うので、ハードウェアの一部が故障してエラーが発生した場合であっても、システムを停止させてメモリの再構築を行うことなく、ルータ装置を継続して動作させることができる。
つぎに、本実施例にかかるルータ装置の構成について説明する。図1は、本実施例にかかるルータ装置の構成を示す機能ブロック図である。同図に示すように、このルータ装置100は、基幹装置110と、回線ブレード120,130とを備えて構成される。なお、ここでは、説明の便宜上、回線ブレード120,130のみを示すが、このルータ装置100は、その他複数の回線ブレードを備えているものとする。
基幹装置110は、回線ブレード120,130あるいはその他の回線ブレードからパケットを受信した場合に、受信したパケットの宛先となる回線ブレードにパケットを送信する装置である。基幹装置110は、基幹装置110全体の制御を行う制御部111と、制御部111からの制御命令に応答してパケットの伝送先を切り替えるパケットスイッチ112とを備えて構成される。
回線ブレード120は、物理終端121と、バッファメモリ122と、フォワーディングエンジン123と、統計情報監視部124と、QoS(Quality of Service)管理部125とを備えて構成される(回線ブレード120および回線ブレード130にかかる説明は同様であるので、本実施例では、回線ブレード120の説明を行い、回線ブレード130の説明を省略する。なお、回線ブレード120の物理終端121、バッファメモリ122、フォワーディングエンジン123、統計情報監視部124、QoS管理部125は、それぞれ、回線ブレード130の物理終端131、バッファメモリ132、フォワーディングエンジン133、統計情報監視部134、QoS管理部135に対応する)。
このうち、物理終端121は、外部装置(図示略)との間でパケットの送受信を行う手段であり、バッファメモリ122は、予め設定されたデータ領域(メモリ量)を有する複数のキューを備え、キューごとにパケットを一時的に記憶する記憶部である。
フォワーディングエンジン123は、基幹装置110のパケットスイッチ112にパケットを出力すると共に、パケットスイッチ112から出力されるパケットをバッファメモリ122に出力する手段である。
統計情報監視部124は、伝送されるパケットのバイト数をバッファメモリ122に備えられたキューごとにカウントし、各キューから出力されるパケットが占める帯域の割合の情報となる統計情報を生成する処理部である。統計情報に関する詳しい説明は後述する。統計情報監視部124は、生成した統計情報をQoS管理部125に出力する。
QoS管理部125は、バッファメモリ122に蓄積されたパケットを、優先度・送信ポート等のパラメータによりクラスわけされた多数のキューに振り分け、スケジューリングしたのちに、近隣のルータ装置に対してパケット中継を行う手段である。
QoS管理部125は、キュー管理テーブルおよびキュー最適化パラメータを保持しており、かかるキュー管理テーブルおよびキュー最適化パラメータを基にして、メモリ量の不足するキューをその他のキューのメモリ量によって補うこととなる。図2は、キュー管理テーブルのデータ構造の一例を示す図であり、図3は、キュー最適化パラメータのデータ構造の一例を示す図である。
図2に示すように、キュー管理テーブルは、キューを識別するキュー番号と、キューに蓄積可能な最大のデータ容量を示す最大キュー長と、キューに蓄積されているデータ容量を示すキュー長と、キューの優先度(数値が大きいほど優先度が高い)と、キューに割り当てられた帯域の使用率を示す統計情報とを備える。
例えば、キュー番号「1」に対応するキューは、最大キュー長が「1000」であり、キュー長が「10」であり、優先度が「7」であり、統計情報が「100%/1G(キューに割り当てられた帯域「1G」を「100%」使用)」となっている。
続いて、図3の説明に移ると、キュー最適化パラメータは、キューを識別するキュー番号と、キューに割り当てられたデータ領域(メモリ量)の使用率と、キューの優先度と、帯域監視とを備える。使用率、優先度、帯域監視には、それぞれ「1」または「0」の値が記憶される。
使用率に「1」が記憶されている場合には、キューに割り当てられたデータ領域の使用率が高く、パケットがキューに溜まっていることを示す。データ領域の使用率が高く、パケットが溜まっているキューは、削減・融合対象の候補としてエントリーされる。一方、使用率に「0」が記憶されている場合には、キューに割り当てられたデータ領域の使用率が低く、パケットがキューに溜まっていないことを示す。
優先度に「1」が記憶されている場合には、キューの優先度が低いことを示す。優先度の低いキューは、削減・融合対象の候補としてエントリーされる。一方、優先度に「0」が記憶されている場合には、キューの優先度が高いことを示す。
帯域監視に「1」が記憶されている場合には、キューに割り当たられた帯域の使用率が低いことを示す。帯域の使用率が低いキューは、削減・融合対象の候補としてエントリーされる。一方、帯域監視に「0」が記憶されている場合には、キューに割り当てられた帯域の使用率が高いことを示す。
上述した、使用率、優先度、帯域監視に記憶される各パラメータは、図2に示したキュー管理テーブルに基づいて判定(算出)される。詳しい判定方法に関しては後述する。
ここで、ルータ装置100のキューおよびバッファメモリについて説明する。図4は、ルータ装置のキューおよびバッファメモリを説明するための図である。図4に示すように、各々のキューは、キュー管理テーブル(図2参照)に登録された最大キュー長(廃棄閾値)設定によって、割り当てられたメモリ量が定義されていて、実際のキュー長が最大キュー長(メモリ量)を超えた場合は、パケットが破棄される(Tail Drop動作)。このような仕組みを持つため、図4に示すような、多数のキューをもつ大規模なルータ装置100においては、通常の動作中に、バッファメモリ122内にパケットがエントリーされていない空間(未使用空間)が多く存在している。
最大キュー長の設定は、パケットがバースト的に入力された時のバッファ数を余分に準備しておかなければならないので、余分に設定されている場合がある。図5は、余分にメモリが確保されたキューの動作例を示す図である。
図5に示す動作例では、2つのキュー10(優先度7),キュー20(優先度1)ともメモリが余分に確保されており、キュー10のメモリ量とキュー20のメモリ量を減らしても、キュー10は、1Gbpsの性能が確保され、キュー20は、Tail Dropされるので、パケットの動作と性能は変わらない。つまり、リアルタイムにキューの設定情報等を監視し、場合により、最大キュー長設定を小さくしたり、キューの削減・融合を図れば、バッファメモリ122を有効に活用することが可能となる。
本発明では、QoS管理部125に新アルゴリズムを適用し、定期的にキュー管理テーブル(図2参照)の各種設定データ(最大キュー長、キュー長、優先度、統計情報)を監視し、キュー最適化パラメータ(図3参照)を算出し、最適化パラメータに基づいて、キューの削減・融合を行う。
キュー番号n(nは0以上の整数)のキューの最適化パラメータの使用率をX(n)、優先度をY(n)、帯域監視をZ(n)とすると、(1)最大キュー長と実際のキュー長とを比較し、データ領域(メモリ量)の使用率を計算し、使用率が所定値以上となれば、キューにパケットが溜まっているとみなし、X(n)にbitを立てる(1を格納する)。使用率が所定値未満であれば、X(n)に0を格納する。
(2)キューの優先度が所定値未満となるキューには、Y(n)にbitを立てる(1を格納する)。キューの優先度が所定値以上となるキューには、Y(n)に0を格納する。(3)統計情報を監視し、出力パケットの帯域が所定値未満となるキューには、Z(n)にbitを立てる(1を格納する)。出力パケットの帯域が所定値以上となるキューには、Z(n)に0を格納する。(1)〜(3)により計算されたキュー最適化パラメータを利用し、キューのチューニングを可能とする。
ここで、キュー最適化パラメータの具体的な計算方法について説明する。図6は、キュー最適化パラメータの算出モデルを示す図である。図6に示すように、n個のキューが搭載され、キュー番号nの最大キュー長がL(n)、実際のキュー長がQ(n)、優先度がP(n)、流量(統計情報に対応)がS(n)となるルータ装置100の通信環境において、使用率X(n)、優先度Y(n)、帯域監視Z(n)の計算方法を順に説明する。
(使用率X(n)の算出方法)
メモリ使用量M(n)は、
M(n)=(L(n)−Q(n))/L(n)
によって逐次計算できる。ただし、微小時間で計算を行うと誤差が大きくなるため、複数回のM(n)を計算した平均である平均メモリ使用量を使用する。すなわち、
M(n)=(ΣM(n)/A)
になる(パラメータAはユーザが任意に設定できるものとする)。
例えば、Aが60に設定されていた場合、M(n)は60秒間の平均メモリ使用量を示す。すべてのキューに対して、
if M(n)>B then
X(n)=1
else
X(n)=0
のルーチンを実施し、キューの最適化パラメータの該当bitを1(あるいは0)にする(上記のルーチンにおけるパラメータBはメモリの使用率の判定基準であり、ユーザが任意設定できるものとする)。この作用により、メモリ使用率が高く、パケットが溜まっているキューが削減・融合対象としてエントリーされる。
(優先度Y(n)の算出方法)
キューの優先度は、キュー毎にレジスタにセットされている値を持っているため(キュー管理テーブルに格納されて管理されているため)、それを利用する。優先度がCより小さい場合は、キューの最適化パラメータの該当bitを1にする(パラメータCは、ユーザが任意設定できるものとする)。すべてのキューに対して、
if P(n)<C then
Y(n)=1
else
Y(n)=0
のルーチンを実施する。この作用により、優先度の低いキューが、削減・融合対象としてエントリーされる。
(帯域監視Z(n)の算出方法)
S(n)は、1秒毎に統計情報監視部124によって採取される統計カウンタ(伝送されたパケットのバイト数のカウンタ)の差分から計算される。
S(n)=(1秒間のバイト数のカウンタの差分)
ただし、微小時間で計算を行うと誤差が大きくなるため、複数回のS(n)を計算した平均である平均帯域を使用する。つまり平均帯域
S(n)=(ΣS(n)/A)
になる。
例えば、Aが60に設定されていた場合、S(n)は60秒間で平均した帯域を示す。キューの帯域が、出力ポートの帯域のD%であれば、キューの最適化パラメータの該当bitを1にする(パラメータDは、ユーザが任意に設定できるものとする)。
つまり、キュー番号nの出力ポートの最大帯域TxPort(n)を用いて、すべてのキューに対して、
if S(n)<TxPort(n)×(D/100) then
Z(n)=1
else
Z(n)=0
のルーチンを実施する。この作用により、帯域の低いキューが、削減・融合対象としてエントリーされる。
QoS管理部125は、各キューのキュー最適化パラメータを参照し、bitが多く立っているものをチューニング対象キュー(メモリを削ったり、他のキューとの融合を実施してもよいキュー)とみなす。また、どのビットを重視するかは、ユーザのポリシーに従うことができるものとする。
QoS管理部125は、通信中にバッファメモリ122などにエラー(1bitエラー、2bitエラー、送受信処理タイムアウトなど)が発生した場合、不良箇所の診断と切り離しを行う。切り離された部分は使用不可能なメモリになり、バッファメモリ122のデータ容量が減少する。
その場合、QoS管理部125は、キュー最適化パラメータに従い、bitの多く立っているキューの最大キュー長を減らす。図7は、キューのメモリの削減を説明するための図である。例えば、図7において、bitの多く立っているキュー番号「2」のキューに着目すると、キュー「2」の最大キュー長を「1000」から「100」に削減したとしても、実際に使用されているキュー長は、「100」であるため、現状の動作に影響がないことがわかる。
同様に、キュー番号「1003」のキューに着目すると、キューの最大キュー長を「500」から「50」に削減したとしても、実際に使用されているキュー長は「0」であるため、現状の動作に影響がないことがわかる。つまり、チューニング対象キューの最大キュー長を削減しても、最小限の機能レベルダウンでの運用を図ることができる。
すなわち、QoS管理部125は、削減した分のデータ領域(メモリ量)を、データ領域の不足する(データ領域が所定値未満となる)キューに割り当てることができる。
また、多数のキューを持つルータ装置においては、キューの数を減らすことで、メモリを削減することができる。QoS管理部125は、キュー最適化パラメータを利用し、キュー最適化パラメータの類似するキューを融合し、一つのキューにまとめることによって、不足するキューのメモリ量を補うことができる。
図8は、類似するキューの融合を説明するための図である。図8に示す例では、キュー最適化パラメータにおいて、キュー番号「3」のキューとキュー番号「1001」のキューとが類似(一致)している。
図8では、キュー番号「3」の最大キュー長を「250」削減し、キュー番号「1001」の最大キュー長を「500」削減して、最大キュー長「750」の1つのキューに融合することで、「750」バッファ分のメモリを削減し、メモリ量の不足するキューの割り当てることができる。類似するキュー同士を融合することは、適当に選ばれたキュー同士の融合よりも遥かに機能のレベルダウンを抑えることができると共に、メモリを削減できる有用な手法である。
本発明にかかるメモリの削減および融合の処理ルーチンは、以下のように行われる。すなわち、QoS管理部125は、各キューのパラメータX(n)、Y(n)、Z(n)を
Q−OPT(n)=i×X(n)+j×Y(n)+k×Z(n)
に代入し、キュー全体の中で、Q−OPT(n)が最大となるキューが削減対象のキューとなる。上記のi、j、kは、X(n)、Y(n)、Z(n)の重みづけをユーザが任意に設定できるパラメータである。
QoS管理部125は、Q−OPT(n)の値をチェックし、メモリを削減可能なキューであるか否かを判定する。具体的な判定ルーチンは、
if(Q−OPT(n)>E) then
L(n)=L(n)×F
となる。このうち、Eはメモリを削減するかの閾値を設定するパラメータであり、Fはメモリの削減度を設定するパラメータ(0〜1の小数で設定)である。
例えば、Q−OPT(n)=5、E=4、F=0.5、L(n)=1000のとき、
Q−OPT(n)>4であるので、
L(n)=1000×0.5=500
となり、最大キュー長L(n)は、1000から500に削減される(1/2に削減される)。
ところで、QoS管理部125は、メモリを削減できるキューが存在しない場合、つまり、全てのキューに対するQ−OPT(n)の算出結果が、
Q−OPT(n)≦Eの場合には、類似するキューの融合を行う。
この場合、QoS管理部125は、Q−OPT(n)が最大となるキューを検出し、検出したキューと出力ポートが同じキューの中でマッチング処理を行う。すなわち、
X(n)=X(m)
Y(n)=Y(m)
Z(n)=Z(m)
を満たすキューを探索し、キュー番号「m」となるキューが見つかった場合には、キュー同士の融合が可能となる。
キュー同士の融合を行う場合、QoS管理部125は、キュー番号「n」のキューとキュー番号「m」のキューとの最大キュー長L(n)、L(m)の再計算を行う。具体的な算出ルーチンは、
L(n)=(L(n)+L(m))×K
L(m)=0
となる。
パラメータKは、最大キュー長の削減程度をユーザが任意に設定するためのパラメータであり、メモリ削減処理のFと同様の効果をもたらす。図8に示す例では、キュー番号「3」のキューとキュー番号「1001」のキューとが融合対象となり、それぞれの最大キュー長L(3)=1000、L(1001)=500となっているので、K=0.5とすると、
L(3)=(L(3)+L(1001))×K=(1000+500)×0.5=750
と計算され、
L(1001)は、L(3)と融合された結果、0となり、L(3)は、L(1001)と融合された結果750となる。ここでは、L(3)とL(1001)を融合した結果、メモリ量を750削減しているので、削減したメモリ量750をメモリ量の不足するキューに割り当てることができる。
つぎに、図9および図10を用いて、本実施例にかかるQoS管理部125の処理手順について説明する。図9は、本実施例にかかるQoS管理部125のキュー最適化パラメータ再計算処理を示すフローチャートであり、図10は、本実施例にかかるQoS管理部125のメモリ補償処理を示すフローチャートである。QoS管理部125は、図9および図10に示す各処理を平行して実行する。
まず、図9の説明を行うと、QoS管理部125は、バッファメモリ122に割り当てたキューの状態を監視し、状態が変化したか否かを判定する(ステップS101)。キューの状態が変化していない場合には(ステップS102,No)、ステップS101に移行する。
一方、QoS管理部125は、キューの状態が変化している場合には、キュー管理テーブルを更新し(ステップS103)、更新後のキュー管理テーブルに基づいてキュー最適化パラメータを再計算し(ステップS104)、ステップS101に移行する。
続いて、図10の説明を行うと、QoS管理部125は、ハードウェア(例えば、バッファメモリ122)に障害が発生したか否かを判定し(ステップS201)、障害が発生していない場合には(ステップS202,No)、ステップS201に移行する。
一方、障害が発生している場合には(ステップS202,Yes)、QoS管理部125は、バッファメモリ122の診断を行い(ステップS203)、異常メモリの切り離しを実施する(ステップS204)。
そして、QoS管理部125は、削除メモリ量(メモリ量の不足するキューを補うために割り当てるメモリ量)の計算を行い(ステップS205)、キュー最適化パラメータを取得する(ステップS206)。ステップS206において、QoS管理部125は、図9のS104において再計算したキュー最適化パラメータを取得する。また、QoS管理部125は、ステップS206において、障害が発生した場合にでも、キューに割り当てられたデータ領域が閾値以上となる場合には、メモリ量の補償を実施する必要がないため、ステップS201に移行する(図示略)。
続いて、QoS管理部125は、メモリ量の削減可能なキューが存在するか否かを判定し(ステップS207)、メモリ量の削減可能なキューが存在する場合には(ステップS208,Yes)、最大キュー長を削減し(ステップS209)、必要量、削減できたかを判定し(ステップS210)、削減できた場合には(ステップS211,Yes)、処理を終了する。削減できなかった場合には(ステップS211,No)、ステップS206に移行する。
一方、メモリ量の削減可能なキューが存在しない場合には(ステップS208,No)、QoS管理部125は、類似するキューが存在するか否かを判定し(ステップS212)、存在する場合には(ステップS213,Yes)、キューの融合を実行し(ステップS214)、ステップS210に移行する。一方、類似するキューが存在しない場合には(ステップS213,No)、そのままステップS210に移行する。
このように、QoS管理部125は、ハードウェアに障害が発生した場合に、補うべきメモリ量を計算し、かかるメモリ量を確保するために、キュー最適化パラメータに基づいて他のキューのメモリ量の削減・融合を行うので、ルータ装置100を停止することなく、伝送処理を継続させることができる。
上述してきたように、本実施例にかかるルータ装置100は、QoS管理部125がバッファメモリ122に障害が発生した場合に、障害の発生に伴ってキューに割り当てられた使用可能なメモリ量が閾値以上となるか否かを判定し(メモリ量が不足するか否かを判定し)、判定結果に基づいてデータ領域が閾値未満となるキューの不足するメモリ量をその他のキューのデータ領域を用いて動的に補うので、使用不可能なデータ領域が発生した場合にでも、内部の構成変更による最小限のレベルダウン・機能制限によって、ハードウェアをノンストップで動作させることが可能となり、より信頼性の高い装置を作ることができる。
ところで、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図1に示したルータ装置100の構成は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がCPU(あるいは、MCU、MPU)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
図11は、図1に示した回線ブレード120が備えるコンピュータのハードウェア構成を示す図である。このコンピュータ10は、ユーザからのデータの入力を受け付ける入力装置11、モニタ12、RAM(Random Access Memory)13、バッファメモリ14、外部装置とパケット通信を行う物理終端装置15、基幹装置110との間でパケット通信を行うフォワーディングエンジン16、CPU(Central Processing Unit)17、および、HDD(Hard Disk Drive)18をバス19で接続して構成される。
そして、HDD18には、上述した回線ブレード120の機能と同様の機能を発揮する統計情報監視プログラム18b、QoS管理プログラム18cが記憶されている。そして、CPU17が統計情報監視プログラム18b、QoS管理プログラム18cをHDD18から読み出して実行することにより、上述した回線ブレード120の機能部の機能を実現する統計情報監視プロセス17a、QoS管理プロセス17bが起動される。この統計情報監視プロセス17a、QoS管理プロセス17bは、図1に示した統計情報監視部124、QoS管理部125に対応する。
また、HDD18には、上述した回線ブレード100に記憶されるデータに対応する各種データ18aが記憶される。この各種データ18aは、図2に示したキュー管理テーブル、図3に示したキュー最適化パラメータを含む。
CPU17は、各種データ18aをHDD18に記憶するとともに、各種データ18aをHDD18から読み出してRAM13に格納し、RAM13に格納された各種データ13aを利用して各種キューの管理処理を行う。
(付記1)記憶装置にキューを割り当て、伝送対象となるデータを前記キューに一旦記憶した後にデータの伝送を行うルータ装置であって、
前記キューに割り当てられた使用可能なデータ領域の大きさが閾値以上となるか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、使用可能なデータ領域の大きさが閾値未満となる補償対象キューのデータ領域を、当該補償対象キュー以外のキューのデータ領域で補う補償手段と、
を備えたことを特徴とするルータ装置。
(付記2)前記判定手段は、前記記憶装置にエラーが発生した場合に、割り当てられた使用可能なデータ領域がエラーの発生に伴ってキューに閾値以上となったか否かを判定することを特徴とする付記1に記載のルータ装置。
(付記3)前記補償手段は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを検出し、検出したキューのデータ領域を削減し、削減したデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする付記1または2に記載のルータ装置。
(付記4)前記補償手段は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを複数検出し、検出した各キューのデータ領域を融合し、融合後に生成されるデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする付記1、2または3に記載のルータ装置。
(付記5)前記補償手段は、検出した各キューのうち特徴が類似するキュー同士のデータ領域を融合することを特徴とする付記4に記載のルータ装置。
(付記6)記憶装置にキューを割り当て、伝送対象となるデータを前記キューに一旦記憶した後にデータの伝送を行うルータ装置のキュー補償方法であって、
前記キューに割り当てられた使用可能なデータ領域の大きさが閾値以上となるか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて使用可能なデータ領域が閾値未満となる補償対象キューのデータ領域を、当該補償対象キュー以外のキューのデータ領域で補う補償工程と、
を含んだことを特徴とするキュー補償方法。
(付記7)前記判定工程は、前記記憶装置にエラーが発生した場合に、割り当てられた使用可能なデータ領域がエラーの発生に伴ってキューに閾値以上となったか否かを判定することを特徴とする付記6に記載のキュー補償方法。
(付記8)前記補償工程は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを検出し、検出したキューのデータ領域を削減し、削減したデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする付記6または7に記載のキュー補償方法。
(付記9)前記補償工程は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを複数検出し、検出した各キューのデータ領域を融合し、融合後に生成されるデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする付記6、7または8に記載のキュー補償方法。
(付記10)前記補償工程は、検出した各キューのうち特徴が類似するキュー同士のデータ領域を融合することを特徴とする付記9に記載のキュー補償方法。
以上のように、本発明にかかるルータ装置は、パケット伝送を行うルータ等に有用であり、特に、パケットを記憶するメモリに障害が発生し、キューに割り当てられたメモリ量が不足した場合でも、ルータを停止することなく障害対策を実施する必要がある場合に適している。
本実施例にかかるパケット伝送システムの構成を示す機能ブロック図である。 キュー管理テーブルのデータ構造の一例を示す図である。 キュー最適化パラメータのデータ構造の一例を示す図である。 ルータ装置のキューおよびバッファメモリを説明するための図である。 余分にメモリが確保されたキューの動作例を示す図である。 キュー最適化パラメータの算出モデルを示す図である。 キューのメモリの削減を説明するための図である。 類似するキューの融合を説明するための図である。 本実施例にかかるQoS管理部のキュー最適化パラメータ再計算処理を示すフローチャートである。 本実施例にかかるQoS管理部のメモリ補償処理を示すフローチャートである。 図1に示した回線ブレードが備えるコンピュータのハードウェア構成を示す図である。
符号の説明
11 コンピュータ
12 モニタ
13 RAM
13a,18a 各種データ
14,122,132 バッファメモリ
15 物理終端装置
16,123,133 フォワーディングエンジン
17 CPU
17a 統計情報監視プロセス
17b QoS管理プロセス
18 HDD
18b 統計情報監視プログラム
18c QoS管理プログラム
100 ルータ装置
110 基幹装置
111 制御部
112 パケットスイッチ
120,130 回線ブレード
121,131 物理終端
124,134 統計情報監視部
125,135 QoS管理部

Claims (5)

  1. 記憶装置にキューを割り当て、伝送対象となるデータを前記キューに一旦記憶した後にデータの伝送を行うルータ装置であって、
    前記キューに割り当てられた使用可能なデータ領域の大きさが閾値以上となるか否かを判定する判定手段と、
    前記判定手段の判定結果に基づいて、使用可能なデータ領域の大きさが閾値未満となる補償対象キューのデータ領域を、当該補償対象キュー以外のキューのデータ領域で補う補償手段と、
    を備えたことを特徴とするルータ装置。
  2. 前記判定手段は、前記記憶装置にエラーが発生した場合に、割り当てられた使用可能なデータ領域がエラーの発生に伴ってキューに閾値以上となったか否かを判定することを特徴とする請求項1に記載のルータ装置。
  3. 前記補償手段は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを検出し、検出したキューのデータ領域を削減し、削減したデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする請求項1または2に記載のルータ装置。
  4. 前記補償手段は、前記キューのデータ領域の使用率と、前記キューの優先度と、前記キューの帯域使用率との少なくとも一つを基にしてデータ領域を削減するキューを複数検出し、検出した各キューのデータ領域を融合し、融合後に生成されるデータ領域を前記補償対象キューのデータ領域に割り当てることを特徴とする請求項1、2または3に記載のルータ装置。
  5. 前記補償手段は、検出した各キューのうち特徴が類似するキュー同士のデータ領域を融合することを特徴とする請求項4に記載のルータ装置。
JP2007128469A 2007-05-14 2007-05-14 ルータ装置 Withdrawn JP2008283646A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007128469A JP2008283646A (ja) 2007-05-14 2007-05-14 ルータ装置
US12/119,992 US20080285580A1 (en) 2007-05-14 2008-05-13 Router apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007128469A JP2008283646A (ja) 2007-05-14 2007-05-14 ルータ装置

Publications (1)

Publication Number Publication Date
JP2008283646A true JP2008283646A (ja) 2008-11-20

Family

ID=40027416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007128469A Withdrawn JP2008283646A (ja) 2007-05-14 2007-05-14 ルータ装置

Country Status (2)

Country Link
US (1) US20080285580A1 (ja)
JP (1) JP2008283646A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009057273A1 (de) * 2009-12-08 2011-06-09 Diehl Bgt Defence Gmbh & Co. Kg Elektronische Baugruppe
US9608918B2 (en) * 2013-10-23 2017-03-28 Brocade Communications Systems, Inc. Enabling concurrent operation of tail-drop and priority-based flow control in network devices
US9454324B1 (en) * 2013-12-18 2016-09-27 Emc Corporation Methods and apparatus for data lifecycle analysis

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694388B1 (en) * 2000-05-31 2004-02-17 3Com Corporation Dynamic queuing system incorporating multiple queues sharing a single memory
US20030067874A1 (en) * 2001-10-10 2003-04-10 See Michael B. Central policy based traffic management

Also Published As

Publication number Publication date
US20080285580A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
US20220368635A1 (en) Network traffic load balancing
US9385937B2 (en) Dynamic route branching system and dynamic route branching method
CN110932989B (zh) 一种基于sdn数据中心网络的大象流路径监控调度方法
JP5850131B2 (ja) ネットワークシステム、リソース使用率改善方法
US9049131B2 (en) Network system and load balancing method
EP2613479A1 (en) Relay device
JPWO2011083682A1 (ja) スイッチネットワークシステム、コントローラ、及び制御方法
JP5742486B2 (ja) 通信装置及びパケット振分方法
JP5784139B2 (ja) 通信システム
JP5100479B2 (ja) パケット転送装置
US11784911B2 (en) Methods and apparatus for controlling and making link bundle advertisements to support routing decisions
CN116114233A (zh) 自动流管理
CN111224888A (zh) 发送报文的方法及报文转发设备
EP2220568B1 (en) Methods and systems for providing efficient provisioning of data flows
JP2008283646A (ja) ルータ装置
JP2011118663A (ja) Nic選択方法およびプログラム
JP6466279B2 (ja) 通信装置
US8705540B2 (en) Network relay apparatus
WO2015097749A1 (ja) 情報処理装置及び情報処理方法及びプログラム
JP4901777B2 (ja) ネットワーク中継装置およびネットワーク中継方法
CN113518046A (zh) 一种报文转发方法及框式交换设备
JPWO2005117365A1 (ja) 通信制御装置及び通信制御方法
CN115460150A (zh) 通信方法、设备及系统
CN107113244B (zh) 一种数据转发的方法、装置和系统
JPH05167619A (ja) 予備帯域通信方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100803