情報処理装置、制御方法、および制御プログラム
【課題】転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を可能とする。
【解決手段】転送手段1aは、流入したデータを転送する。重要度判定手段1bは、流入したデータの重要度を判定する。動作モード判定手段1cは、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。制御手段1eは、動作モードごとの省電力制御内容を記憶する記憶手段1dを参照し、適用する動作モードで転送手段1aの省電力制御を行う。
【解決手段】転送手段1aは、流入したデータを転送する。重要度判定手段1bは、流入したデータの重要度を判定する。動作モード判定手段1cは、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。制御手段1eは、動作モードごとの省電力制御内容を記憶する記憶手段1dを参照し、適用する動作モードで転送手段1aの省電力制御を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ転送を行う情報処理装置、制御方法、および制御プログラムに関する。
【背景技術】
【0002】
ネットワークでは複数のノードがパケットを中継し、宛先のコンピュータまでパケットを伝送させる。各ノードはパケットの宛先までの伝送経路を認識するために、経路情報を相互に交換している。経路情報には、その経路情報を送信したノードが認識している伝送経路が示されている。各ノードは、他のノードから受信した経路情報に基づいて、宛先に応じたパケットの転送先を選択する。
【0003】
ノードから宛先のコンピュータへの伝送経路が複数存在する場合、ノードは、所定のアルゴリズムで経路選択を行う。ノードにおける経路選択のアルゴリズムは、OSPF(Open Shortest Path First)やRIP(Routing Information Protocol)などのルーティングプロトコルに規定されている。これらのルーティングプロトコルでは、基本的には最短経路を採るように経路選択が行われる。あるいは、これらのルーティングプロトコルを用いた既存の高度な制御としては、ネットワーク利用率のピークを最小化するよう平滑化しつつ、最短経路を採るように経路選択が行われる。
【0004】
このような従来のルーティングプロトコルでは、パケットなどのトラフィック(ネットワーク上を移動するデータ)は予め決められた経路に沿って転送される。そのため、全体的にトラフィック量が少ない時間帯が存在しても、各ノードを起動させ続けなければならない。
【0005】
他方、ネットワークの処理能力の向上に伴い、ネットワークを構成する機器による消費電力も増加している。そのため、ネットワーク全体での消費電力を抑制した運用を行うことの重要性が高まっている。例えばルータなどの装置の省電力化を図る技術としては、DVS(Dynamic Voltage Scaling)と呼ばれる技術がある。DVSは、電源電圧や動作クロックを可変にして、低負荷時に電圧や動作クロック周波数を落とし、消費電力を下げる技術である。
【0006】
また、最近はトラフィック処理の有無に応じて休止状態となるルータがある。そこで、トラフィックを一部の経路に集約することができれば、トラフィック処理が発生していないルータを休止状態にさせ、省電力化を図ることができる。
【0007】
例えば、ネットワークのトラフィックを限定された経路に確実に集約する技術が考えられている。なおこの技術では、所定の閾値を超えるトラフィックが発生したリンクがある場合、そのリンクへのトラフィックの送信元となるルータが制御パケットを用いてアラーム情報を発信する。アラーム情報を受信した各ルータは、パケットの振り分けモードを、集約モードから分散モードに変更する。これにより、トラフィックの集約による輻輳の発生が抑止される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2010−206467号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、省電力状態となったルータに大量のトラフィックが発生した場合、そのルータを通常の動作状態に復帰させるのに時間がかかり、伝送遅延などの品質劣化が発生する。ここで、転送される各種のデータはそれぞれ許容できる伝送品質の劣化度合いが異なり、許容できる範囲を超えて伝送品質が劣化してしまうことが問題となる。
【0010】
1つの側面では、本発明は、転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を行うことができる情報処理装置、制御方法、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
1つの案では、転送手段、重要度判定手段、動作モード判定手段、および制御手段を有する情報処理装置が提供される。転送手段は、流入したデータを転送する。重要度判定手段は、流入したデータの重要度を判定する。動作モード判定手段は、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。制御手段は、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで転送手段の省電力制御を行う。
【0012】
また別の案では、コンピュータが、流入したデータの重要度を判定し、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、ことを特徴とする制御方法が提供される。
【0013】
また別の案では、コンピュータに、流入したデータの重要度を判定し、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、処理を実行させることを特徴とする制御プログラムが提供される。
【発明の効果】
【0014】
転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を行うことができるようにする。
【図面の簡単な説明】
【0015】
【図1】第1の実施の形態に係る装置の機能構成の一例を示す図である。
【図2】第2の実施の形態のシステム構成例を示す図である。
【図3】誘引力を用いたトラフィック集約技術の一例を示す図である。
【図4】本実施の形態に用いるノードのハードウェアの一構成例を示す図である。
【図5】第2の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。
【図6】深いスリープ状態で動作を停止させる機能の一例を示す図である。
【図7】浅いスリープ状態で動作を停止させる機能の一例を示す図である。
【図8】フロー管理テーブルのデータ構造の一例を示す図である。
【図9】フロー決定テーブルのデータ構造例を示す図である。
【図10】重要度テーブルのデータ構造の一例を示す図である。
【図11】性能制御テーブルのデータ構造の一例を示す図である。
【図12】フローの重要度ごとの通過トラフィック量と性能との関係の一例を示す図である。
【図13】トラフィック管理テーブルのデータ構造の一例を示す図である。
【図14】送出分配テーブルのデータ構造の一例を示す図である。
【図15】パケット受信時の処理手順を示すフローチャートである。
【図16】重要度決定処理の手順を示すフローチャートである。
【図17】トラフィック量計測処理の手順を示すフローチャートである。
【図18】性能決定処理の手順を示すフローチャートである。
【図19】スリープモード移行処理の手順を示すフローチャートである。
【図20】重要度通知の一例を示す図である。
【図21】フローの重要度に応じた各ノードの動作モードの一例を示す図である。
【図22】誘引力に応じた送出確率の制御例を示す図である。
【図23】トラフィックの集約および分散状況を示す図である。
【図24】第3の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。
【図25】第3の実施の形態のトラフィック管理テーブルのデータ構造の一例を示す図である。
【図26】トラフィック履歴表のデータ構造の一例を示す図である。
【図27】第3の実施の形態の送出分配テーブルのデータ構造の一例を示す図である。
【図28】誘引力履歴表のデータ構造の一例を示す図である。
【図29】第3の実施の形態のトラフィック量計測処理の手順を示すフローチャートである。
【図30】第4の実施の形態の制御パケット送信手順を示すフローチャートである。
【図31】第4の実施の形態における制御パケット受信処理の手順を示すフローチャートである。
【図32】第4の実施の形態を適用したパケット転送の第1の例を示す図である。
【図33】第4の実施の形態を適用したパケット転送の第2の例を示す図である。
【発明を実施するための形態】
【0016】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る装置の機能構成の一例を示す図である。情報処理装置1は、ネットワーク2とネットワーク3との間のデータ転送を行う。そのために情報処理装置1は、転送手段1a、重要度判定手段1b、動作モード判定手段1c、記憶手段1d、および制御手段1eを有する。
【0017】
転送手段1aは、流入したデータを転送する。例えば転送手段1aは、ネットワーク2から流入したデータをネットワーク3へ転送する。また転送手段1aは、ネットワーク3から流入したデータをネットワーク2へ転送する。
【0018】
重要度判定手段1bは、流入したデータの重要度を判定する。例えば重要度判定手段1bは、流入したデータのトラフィッククラスやToS(Type Of Service)フィールドに基づいてそのデータの重要度を判定する。トラフィッククラスやToSは、データを伝送するパケットのヘッダ情報の1つである。トラフィッククラスやToSには、パケットの優先度が設定される。例えば重要度判定手段1bは、優先度が高いパケットで伝送されるデータは、重要度が高いと判断することができる。
【0019】
動作モード判定手段1cは、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。例えば動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、適用する動作モードと判定する。
【0020】
ここで、データの重要度が、高い順に「高」、「中」、「低」の3段階で設定される場合を想定する。この場合、例えば重要度「高」には動作モード「品質優先モード」が対応付けられ、重要度「中」には動作モード「中間モード」が対応付けられ、重要度「低」には動作モード「省電力優先モード」が対応付けられる。動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度が「高」であれば、適用する動作モードを「品質優先モード」と判定する。また動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度が「中」であれば、適用する動作モードを「中間モード」と判定する。また動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度が「低」であれば、適用する動作モードを「省電力優先モード」と判定する。
【0021】
記憶手段1dは、動作モードごとの省電力制御内容を記憶する。例えば記憶手段1dには、動作モードごとに、流入トラフィックがある場合と、流入トラフィックがない場合との省電力制御内容が設定される。図1の例では、流入トラフィックがある場合、品質優先モードでは100%の性能を発揮させ、中間モードでは負荷に広い余裕幅を持たせた性能を発揮させ、省電力優先モードでは負荷に狭い余裕幅を持たせた性能を発揮させることが設定されている。また、流入トラフィックがない場合、品質優先モードでは機能をスリープさせず、中間モードでは浅いスリープのスリープモードに移行させ、省電力優先モードでは深いスリープのスリープモードに移行させることが設定されている。
【0022】
制御手段1eは、記憶手段1dを参照し、適用する動作モードで転送手段1aの省電力制御を行う。例えば制御手段1eは、適用する動作モードに対応する省電力制御内容において、転送手段1aに発揮させる性能が設定さている場合、適用する動作モードに対応する性能となるように転送手段1aの省電力制御を行う。例えば制御手段1eは、転送手段1aの動作クロックを変更することで、転送手段1aの性能を制御する。また制御手段1eは、転送手段1aの電源電圧を制御することで、転送手段1aの性能を制御することもできる。
【0023】
このような情報処理装置1によれば、ネットワーク2からデータが流入すると、重要度判定手段1bにより、流入したデータの重要度が判定される。次に動作モード判定手段1cにより、流入したデータそれぞれの重要度に基づいて、適用する動作モードが判定される。そして、制御手段1eにより、適用する動作モードで、転送手段1aの省電力制御が行われる。
【0024】
このようにして、流入したデータの重要度に応じた転送手段1aの省電力制御が可能となる。そのため、例えば重要度の高いデータが流入していれば、品質優先の動作モードにより省電力制御を行い、転送データの品質劣化を抑止できる。また最大でも重要度が中程度のデータが流入しているのであれば、中間的な動作モードで省電力制御を行い、伝送品質の劣化を少なく抑えながらも、消費電力が削減される。また最も重要度が低いデータのみが流入しているのであれば、省電力優先の動作モードで省電力制御を行い、伝送品質の劣化を許容して、消費電力を大幅に削減することが可能となる。
【0025】
なお、転送手段1a、重要度判定手段1b、動作モード判定手段1c、および制御手段1eは、情報処理装置1が有するCPU(Central Processing Unit)により実現することができる。また、記憶手段1dは、情報処理装置1が有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)により実現することができる。
【0026】
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第1の実施の形態では、データ転送の技術として説明したが、多くのネットワークではパケットによってデータ転送が行われる。そこで、第2の実施の形態では、ネットワークに配置されたルータでパケットを転送する場合を例に採り、適切なパケット転送経路の振り分け技術について説明する。なお、以下の説明では、ネットワーク内でパケットの転送を行うルータを、ノードと呼ぶこととする。また特定の送信元から特定の宛先までのトラフィックの集合を「フロー」と呼ぶ。
【0027】
第2の実施の形態では、ノードの動作特性、スリープレベルの設定は、通過フローの重要度の最大値(最大重要度)に応じて決定される。ノードを通過するフローのうち少なくとも1つに流入トラフィックがあれば、ノードは動作状態である。ノードを通過するすべてのトラフィック量が0になれば、そのノードはスリープする。このときのスリープレベルについても、通過フローの最大重要度により決定される。
【0028】
図2は、第2の実施の形態のシステム構成例を示す図である。ネットワーク10には、複数のノード100,200,300,400,500,600が含まれている。
ネットワーク10に含まれるノードのうち、ノード100,200,500,600は、それぞれ他のネットワーク21〜24に接続されている。ノード100,200,500,600は、ネットワーク10内でのトラフィックの転送に加え、他のネットワークから入力されるトラフィックや他のネットワークへ出力するトラフィックの転送を行うノードとして機能する。このような他のネットワークと間のトラフィックの転送を行うノード100,200,500,600を、特にエッジノードと呼ぶ。
【0029】
エッジノードのうち、他のネットワークから流入したトラフィックを、ネットワーク10を介して転送するノードを、入口ノードと呼ぶ。また、エッジノードのうち、ネットワーク10を介して転送されてきたトラフィックを他のネットワークへ送出するノードを、出口ノードと呼ぶ。エッジノードは、トラフィックの転送方向に応じて、入口ノードとして機能したり、出口ノードとして機能したりする。
【0030】
ネットワーク10に含まれるノードのうち、ノード300,400は、ネットワーク10内のトラフィックを転送する。このようなネットワーク10内でのトラフィックの転送を行うノード300,400を、特に中継ノードと呼ぶ。ノード300,400は、共にノード100,200,500,600それぞれに接続されている。そしてノード300,400は、ノード100,200,500,600間のトラフィックを転送する。
【0031】
各ノードには、ネットワーク10上で識別するためのIDが付与されている。ノード100のIDは「1」である。ノード200のIDは「2」である。ノード300のIDは「3」である。ノード400のIDは「4」である。ノード500のIDは「5」である。ノード600のIDは「6」である。
【0032】
ネットワーク10内では、各ノードが、例えば個々のパケット単位で、伝送経路を選択する。なお、エッジノードとして機能しているノードは、ネットワーク10内でのパケットの中継をするため、中継ノードとしての機能も兼ね備える。
【0033】
以上のような構成のシステムにより、ネットワーク10内でトラフィックが転送される。第2の実施の形態では、ノード100,200に流入したトラフィックを、ノード500,600に転送する場合を想定する。ネットワークに流入したトラフィックは、入口となるノード100,200に予め定義された経路で、出口となるノード500,600に転送される。
【0034】
第2の実施の形態において、トラフィックが他のネットワーク21,22から流入するノード100,200は、入口ノードとして機能する。トラフィックを他のネットワーク23へ送出させるノード500,600は、出口ノードとして機能する。トラフィックをネットワーク10内で中継するノード300,400は、中継ノードとして機能する。経路指定型のルーティンを行う場合、入口ノードとして機能するノード100,200には、区間(入口ノードと出口ノードとの対)に対して、1つ以上の経路が設定されている。そして入口ノードとして機能するノード100,200は、流入したトラフィックを、予め設定された経路に所定の転送確率で分配する。
【0035】
また各ノードは、トラフィックの流入が一定時間途絶えると、スリープモードに移行する。スリープモードでは、ノードの多くの機能が停止し、消費電力が低く抑えられる。各ノードは、複数のスリープモードを有している。例えば、浅いスリープと深いスリープとのスリープモードを有する。ただし深いスリープのスリープモードであっても、制御パケットの転送に必要な機能は動作し続ける。
【0036】
また各ノードは、電源電圧や動作クロックの周波数を制御することによる省電力制御が可能である。各ノードは、省電力のための性能制御として、複数の段階で消費電力制御を行うことができる。例えば各ノードは、ノードへのトラフィックの流入が一定時間途絶えた場合、省電力モードとして、該当ノードを、動作周波数を低下させる低電力モードに移行させることができる。
【0037】
また、第2の実施の形態では、ネットワークのトラフィックの集約を、誘引力を用いて行うものとする。各ノードは、自己が転送するトラフィックが多いほど、大きな誘引力を計算し、隣接するノードに通知する。誘引力を受け取ったノードは、パケットを転送する際に、誘引力が大きい隣接ノードほど転送確率を大きくし、パケットの転送経路を決定する。このようにして、トラフィックが多いノードを経由する経路へ、トラフィックが集約されていく。なお、誘引力を用いたトラフィックの集約技術としては、例えば特開2010−206467号公報に開示された技術がある。
【0038】
図3は、誘引力を用いたトラフィック集約技術の一例を示す図である。図3の例では、ノード100には、ノード500を出口ノードとするフローと、ノード600を出口ノードとするフローとが、ネットワーク21から流入している。またノード200には、ノード500を出口ノードとするフローが、ネットワーク22から流入している。
【0039】
このときノード100からノード500へのフローについて、ノード100には、ノード300を経由する経路とノード400を経由する経路とが設定されているものとする。またノード100からノード600へのフローについて、ノード100には、ノード300を経由する経路のみが設定されているものとする。またノード200からノード500へのトラフィックについて、ノード200には、ノード300を経由する経路とノード400を経由する経路とが設定されているものとする。
【0040】
図3の例では、ノード100は、ノード500へのフローのトラフィックを、ノード300を経由する経路により多く分配している。またノード200は、ノード500へのフローのトラフィックを、ノード300を経由する経路により多く分配している。
【0041】
トラフィックを中継するノード300,400は、流入するトラフィック量に応じた誘引力を、経路上の入口ノード側に隣接するノード100,200に通知する。図3の例では、ノード300の方が、ノード400よりも大きな誘引力を、ノード100,200に通知する。
【0042】
ノード100,200は、ノード300,400からの誘引力を受け取ると、通知した誘引力が大きなノード300へ、さらに多くのトラフィックを振り分ける。すると、ノード300に流入するトラフィック量は増加し、誘引力も増加する。逆に、ノード400に流入するトラフィック量は減少し、誘引力も減少する。このような処理を継続すると、すべてのトラフィックが、ノード300を経由する経路に集約される。その結果、ノード400をスリープモードに移行させ、省電力化を図ることが可能となる。
【0043】
しかし、ノードを一度スリープモードにすると、通常動作に復帰させるのに時間がかかる。そこで第2の実施の形態では、各ノードを経由する経路を有するフローの重要度に応じて、スリープモードにするか否か、あるいはスリープモードにするときのレベルを決定する。これにより、重要度が高いフローの伝送品質を保つことができると共に、重要度が低いフローしか中継しないノードについては、積極的に省電力化を図り、ネットワーク全体の省電力を抑制することができる。
【0044】
また流入トラフィックがあるノードであっても、流入トラフィックが少なければ、DVSの技術などを用いて、省電力化を図ることができる。しかし、DVSにより省電力化を図った状態でトラフィック量が急激に増加すると、性能を向上させる性能制御が遅れ、パケットの遅延増加などの伝送品質の劣化の可能性がある。そこで、第2の実施の形態では、重要度の高いにフローに関するトラフィックを転送するノードについては、現在の処理負荷からの余裕幅を広く取った性能で動作させる。これにより重要度が高いフローに関する急激なトラフィックの増加があった場合の品質劣化を抑止することができる。また、重要度の低いにフローに関するトラフィックのみを転送するノードについては、現在の処理負荷からの余裕幅を狭く取った性能で動作させる。これによりネットワークの省電力化を図ることができる。
【0045】
図4は、本実施の形態に用いるノードのハードウェアの一構成例を示す図である。ノード100は、主制御プロセッサ101、ネットワークプロセッサ102、ROM(Read Only Memory)103、RAM104、フラッシュメモリ105、電源制御部106、起動制御監視部107、および複数のネットワークインタフェース(NIF)108−1,108−2,・・・を有する。
【0046】
ノード100は、主制御プロセッサ101によって装置全体が制御されている。例えば主制御プロセッサ101は、他のノードとの制御パケットの送受信を行う。また主制御プロセッサ101は、動作クロック変更、電源電圧変更、スリープモード移行などの制御を行う。主制御プロセッサ101には、ネットワークプロセッサ102、ROM103、RAM104、フラッシュメモリ105、電源制御部106などが接続されている。
【0047】
ネットワークプロセッサ102は、複数のNIF108−1,108−2,・・・に接続されており、パケットの転送制御を行う。ROM103には、例えば起動時にフラッシュメモリ105に格納された設定データやファームウェアプログラムをRAM104へ書き込み実行するブートプログラムが、予め格納されている。RAM104には、例えば主制御プロセッサ101が処理を実行する際に利用されるデータやプログラムが、一時的に格納される。フラッシュメモリ105には、例えば主制御プロセッサ101やネットワークプロセッサ102のファームウェアプログラム、ネットワークの管理者により設定されたネットワーク制御情報、あるいはスリープモード時にネットワークプロセッサ101から退避された宛先検索メモリ110およびネットワーク制御情報メモリ120の内容やスリープモード中に制御パケットで送受信される各種制御情報が格納される。
【0048】
電源制御部106は、主制御プロセッサ101やネットワークプロセッサ102に供給する電源を制御する。例えば電源制御部106は、主制御プロセッサ101からスリープモードへの移行指示を受けると、所定の回路への電源供給を停止する。また電源制御部106は、スリープモード時に起動制御監視部107からトラフィックの発生の通知を受けると、電源供給を停止していた回路への電源供給を開始する。また電源制御部106は、主制御プロセッサ101から指示された電源電圧を、主制御プロセッサ101やネットワークプロセッサ102に供給する。
【0049】
起動制御監視部107は、複数のNIF108−1,108−2,・・・に接続されており、スリープモード時のパケットの流入の有無を監視する。起動制御監視部107は、例えばパケットの流入を検知すると、電源制御部106にトラフィックの発生を通知する。
【0050】
NIF108−1は、他のノードと伝送線によって接続されており、接続されたノードとの間でデータ転送を行う。そのためにNIF108−1は、パケット受信回路108a、パケットバッファ108b、パケット送信回路108c、およびパケットバッファ108dを有している。パケット受信回路108aは、他のノードから入力されたパケットを受信する。パケットバッファ108bは、受信したパケットを一時的に格納する。パケット送信回路108cは、他のノードに対してパケットを送信する。パケットバッファ108dは、送信するパケットを一時的に格納する。他のNIF108−2,・・・もNIF108−1と同様の機能を有している。
【0051】
またノード100には、管理端末装置25を接続することができる。管理端末装置25は、主制御プロセッサ101と起動制御監視部107に接続される。ネットワーク10の管理者は、管理端末装置25を用いて、ノード100に対して各種設定を行うことができる。なお管理端末装置25には、例えば光ディスク26のデータを読み取るドライブ装置が内蔵されている。光ディスク26は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク26には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。管理端末装置25は、例えば光ディスク26からプログラムやデータを読み取り、ノード100に入力することができる。その場合、ノード100では、入力されたプログラムやデータがフラッシュメモリ105に格納される。
【0052】
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお図4には、ノード100のハードウェア構成例を示したが、他のノード200,300,400,500,600も同様のハードウェアで実現することができる。また、第1の実施の形態に示した装置も、図4に示したコンピュータと同様のハードウェアにより実現することができる。
【0053】
図5は、第2の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。ネットワークプロセッサ102は、宛先検索メモリ110、ネットワーク制御情報メモリ120、制御部130、ヘッダ解析部140、宛先判定部150、パケット転送部160、およびトラフィック計測部170を有する。
【0054】
宛先検索メモリ110は、宛先のIPアドレスと隣接ノードとの対応関係を記憶する。例えば宛先検索メモリ110には、OSPFやRIPなどのルーティングプロトコルにより取得されたルーティング情報を記憶する。また、例えば宛先検索メモリ110には、宛先ノードのIPアドレスに対応付けて、隣接ノードのIPアドレス、MAC(Media Access Control)アドレスや隣接ノードにつながる出力物理ポート番号などが格納される。
【0055】
ネットワーク制御情報メモリ120は、パケットの転送先の決定に利用される各種制御情報を記憶する。例えばネットワーク制御情報メモリ120には、フロー管理テーブル120a、フロー決定テーブル121、重要度テーブル122、性能制御テーブル123、トラフィック管理テーブル124、複数の送出分配テーブル125a,125b,125c,・・・、現行動作モード126、および現在閾値127が格納される。
【0056】
フロー管理テーブル120aには、フローごとの経路が設定されている。なお、フロー管理テーブル120aは、経路指定型のトラフィック制御を行う場合に、入口ノードに格納される。
【0057】
フロー決定テーブル121は、パケットのヘッダ情報に基づいて、フローIDと重要度とを判別するための情報が登録されたデータテーブルである。重要度テーブル122は、重要度ごとの動作特性やスリープレベルが登録されたデータテーブルである。性能制御テーブル123は、重要度ごとに、トラフィックの閾値と性能との対応関係を定義したデータテーブルである。トラフィック管理テーブル124は、フローごとのトラフィック量を管理するデータテーブルである。送出分配テーブル125a,125b,125c,・・・は、各フローに設定された経路へのパケットの分配率を定義したデータテーブルの集合である。現行動作モード126は、ノード100に適用する重要度のレベルを示す情報である。例えば現行動作モード126は、「品質優先モード」、「中間モード」、「省電力優先モード」のいずれかの値が設定される。現在閾値127は、現在の性能で処理を実行する、負荷の上限値である。ノード100の起動時には、現在閾値に例えば「100%」の初期値が設定される。
【0058】
制御部130は、主制御プロセッサ101からの指示を受けて、パケットのルーティング処理を制御する。なお主制御プロセッサ101は、制御部130を介して、ネットワーク制御情報メモリ120内の情報にアクセスすることができる。
【0059】
ヘッダ解析部140は、入力されたパケットのヘッダ情報を解析する。例えばヘッダ解析部140は、ヘッダ情報を解析し、入力されたパケットに対応するフローのフローIDや重要度を判定する。
【0060】
宛先判定部150は、ヘッダ解析部140からパケットを受け取り、宛先検索メモリ110を参照し、パケットの送出先となる出力ポート、経路上で隣接するノードのIPアドレス、MACアドレスなどを判定する。
【0061】
パケット転送部160は、宛先判定部150からパケットを受け取り、宛先判定部150が判定した出力ポートを有するNIFへパケットを送出する。
トラフィック計測部170は、フローの経路ごとの単位時間当たりの送出トラフィック量を計測する。トラフィック計測部170は、計測したトラフィック量を、該当経路の送出分配テーブルに設定する。
【0062】
なお、図1に示した転送手段1aは、図5の宛先判定部150およびパケット転送部160によって実現されている。また図1に示した重要度判定手段1bと動作モード判定手段1cとは、図5のヘッダ解析部140によって実現されている。また図1に示した記憶手段1dは、図5のネットワーク制御情報メモリ120によって実現されている。また図1に示した制御手段1eは、ネットワークプロセッサ102の制御部130、主制御プロセッサ101、電源制御部106(図4参照)、および起動制御監視部107(図4参照)によって実現されている。
【0063】
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このような構成のノード100において、スリープモードになると、一部の機能が停止する。第2の実施の形態では、スリープモードを、深いスリープと浅いスリープとの2段階のいずれかに設定することができる。深いスリープは、浅いスリープに比べて通常動作への復帰時間は長くなるが、消費電力は低く抑えることができるスリープモードである。
【0064】
図6は、深いスリープ状態で動作を停止させる機能の一例を示す図である。図6では、深いスリープのスリープ状態のときに停止させる機能を破線で示し、動作させる機能を実線で示している。図6の例では、主制御プロセッサ101,ネットワークプロセッサ102、ROM103、RAM104、およびフラッシュメモリ105の動作が停止されている。一方、電源制御部106、起動制御監視部107、およびNIF108−1,108−2,・・・は動作している。
【0065】
深いスリープのスリープモードに移行する場合、主制御プロセッサ101は、例えばネットワークプロセッサ102の制御部130から宛先検索メモリ110とネットワーク制御情報メモリ120の内容を取得し、フラッシュメモリ105に書き込む。なお主制御プロセッサ101が、宛先検索メモリ110とネットワーク制御情報メモリ120に格納する情報をネットワークプロセッサ102に入力する際に、入力した情報と同じ情報をフラッシュメモリ105に書き込んでおくこともできる。このようにした場合、深いスリープモードへの移行時に、ネットワークプロセッサ102内の情報をフラッシュメモリ105に書き込む処理を行わずにすむ。
【0066】
このようなスリープモードからすべての機能を起動させる場合、まず、主制御プロセッサ101が、ROM103からファームウェアブートプログラムを実行し、フラッシュメモリ105から主制御プロセッサ用ファームウェアプログラムや設定情報をRAM104にロードする。その後、主制御プロセッサ101がRAM104にロードしたプログラムを実行することで、主制御プロセッサが起動する。
【0067】
主制御プロセッサ101は、起動が完了すると、フラッシュメモリ105にスリープ移行時にネットワークプロセッサ102から宛先検索メモリ110やネットワーク制御情報メモリ120の内容が退避されていれば、読み出してネットワークプロセッサ102の宛先検索メモリ110やネットワーク制御情報メモリ120に設定する。フラッシュメモリは不揮発性であるので停止時も記憶内容は保持されている。ただしそれらの情報はスリープ移行時点のものであり、スリープ中の変化は反映されていない。主制御プロセッサは更にルーティングプロトコルに基づいて隣接ノードとの間でルーティング情報その他の制御情報を送受信することにより、ネットワークトポロジ(ネットワークの接続形態)や経路情報を取得する。主制御プロセッサ101は、取得したネットワークトポロジや経路情報の変化を、ネットワークプロセッサ102の宛先検索メモリ110やネットワーク制御情報メモリ120に設定する。その後正常なパケット転送処理が可能になる。
【0068】
図7は、浅いスリープ状態で動作を停止させる機能の一例を示す図である。図7では、浅いスリープのスリープ状態のときに停止させる機能を破線で示し、動作させる機能を実線で示している。図6の例では、ネットワークプロセッサ102のみ、動作が停止されている。一方、主制御プロセッサ101などのネットワークプロセッサ102以外の機能は動作している。
【0069】
浅いスリープのスリープモードに移行する場合、主制御プロセッサ101は、例えばネットワークプロセッサ102の制御部130から宛先検索メモリ110とネットワーク制御情報メモリ120の内容を取得し、RAM104に書き込む。なお主制御プロセッサ101が、ネットワークプロセッサ102の宛先検索メモリ110とネットワーク制御情報メモリ120に格納する情報をネットワークプロセッサ102に入力する際に、入力した情報と同じ情報をRAM104に書き込んでおくこともできる。このようにした場合、浅いスリープモードへの移行時に、ネットワークプロセッサ102内の情報をRAM104に書き込む処理を行わずにすむ。
【0070】
浅いスリープのスリープモードでは、ネットワークプロセッサ102の機能を停止するのみであるが、有効な省電力効果を得ることができる。例えばネットワークプロセッサ102内の宛先検索メモリ110には、高速な検索が可能であることが要求され、消費電力の大きいTCAM(Ternary CAM)を使用する場合が多い。そのため、ネットワークプロセッサ102の機能を停止すれば、有効な省電力効果が得られる。
【0071】
なお、浅いスリープのスリープモードでは、主制御プロセッサ101によるルーティングプロトコルその他制御パケットの処理は行われる。そして浅いスリープのスリープモード中のネットワーク状態の変化は、主制御プロセッサ101によりRAM104に格納された制御情報に反映される。
【0072】
ネットワークプロセッサ102の起動時には、主制御プロセッサ101により、RAM104から、ネットワークプロセッサ102の宛先検索メモリ110やネットワーク制御情報メモリ120に制御情報がコピーされる。そして、ネットワークプロセッサ102によるパケットのルーティング処理が開始される。
【0073】
このように、ネットワークプロセッサ102の起動の際に事前に実行する処理は、制御情報のコピーのみであり、迅速に、正常なルーティング処理を開始することができる。
なお、浅いスリープのスリープモードの間は、主制御プロセッサ101は、制御パケットを用いたルーティング情報の更新処理を実行すればよいので、その実行に十分なレベルに動作クロックを落とし、低電力化を図ることも可能である。
【0074】
なお、浅いスリープにおいて、さらに消費電力を減らす工夫も可能である。例えば、NIF108−1,108−2,・・・について、接続相手とのネゴシエーションによって回線速度を決定し、スリープ中の通信速度を落とすことができれば、消費電力を減らすことが可能である。また、起動制御監視部107が、スリープ中のルーティングプロトコルによる制御情報の管理処理など制御パケットの処理を代行できるようにしておけば、浅いスリープのスリープモードであっても、主制御プロセッサ101の動作を停止させることが可能となる。
浅いスリープから更に深いスリープのスリープモードに移行する場合、主制御プロセッサ101は、たとえばRAM104上に置かれたルーティング情報やネットワーク制御情報をフラッシュメモリ105に書き込み退避する。
【0075】
次に、ネットワーク制御情報メモリ120に格納される制御情報について詳細に説明する。
図8は、フロー管理テーブルのデータ構造の一例を示す図である。フロー管理テーブル120aには、フローID、区間、および経路の欄が設けられている。フローIDの欄には、ノード100にネットワーク21から流入するフローの識別情報(フローID)が設定される。区間の欄には、フローIDで示されるフローの区間が、入口ノードのノードIDと出口ノードのノードIDとの組で設定される。経路の欄には、フローIDで示されるフローの経路が設定される。経路は、入口ノードから出口ノードまでの経路上の各ノードのノードIDの配列で示される。
【0076】
図9は、フロー決定テーブルのデータ構造例を示す図である。図9の例では、フロー決定テーブル121は、連想メモリ(CAM:Content Addressable Memory)によって構成されている。
【0077】
フロー決定テーブル121には、入力物理ポート番号、送信元MACアドレス、宛先MACアドレス、タグVLAN(Virtual LAN)ユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、DSCP(DiffServ Code Point)、およびフローID、重要度テーブルアドレスの欄が設けられている。これらの欄のうちフローIDと重要度テーブルアドレス以外の各欄の値は、ヘッダ情報の適合条件を示しており、受信したパケットに対応するフローのフローID、および重要度テーブルアドレスの検索に利用される。
【0078】
入力物理ポート番号の欄には、フローIDで示されるフローのパケットがノード100に入力されるときの物理ポートを示す物理ポート番号が設定される。送信元MACアドレスの欄には、フローIDで示されるフローのパケットのヘッダの送信元MACアドレスが設定される。宛先MACアドレスの欄には、フローIDで示されるフローのパケットのヘッダの宛先MACアドレスが設定される。ユーザ優先度(UPRI)の欄には、フローIDで示されるパケットを含むフレームがVLANタグ付の場合のユーザ優先度(UPRI)が設定される。送信元IPアドレスの欄には、フローIDで示されるフローのパケットの送信元IPアドレスが設定される。宛先IPアドレスの欄には、フローIDで示されるフローのパケットの宛先IPアドレスが設定される。IPプロトコル番号の欄には、フローIDで示されるフローのパケットのIPプロトコル番号が設定される。送信元IPポート番号の欄には、フローIDで示されるフローのパケットの送信元IPポート番号が設定される。宛先IPポート番号の欄には、フローIDで示されるフローのパケットの宛先IPポート番号が設定される。DSCPの欄には、フローIDで示されるフローのパケットのDSCPの値が設定される。
【0079】
なお、入力物理ポート番号、送信元MACアドレス、宛先MACアドレス、ユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、およびDSCPの各欄には、特定の値に代えて合致条件を設定してもよい。なお合致条件の一つとしてどんな値とも合致するワイルドカードを指定することもできる。
【0080】
フローIDの欄には、以上の各欄で特定されるフローの識別情報(フローID)が設定される。
重要度テーブルアドレスの欄には、フローIDで示されるフローの重要度を定義した重要度テーブル内のレコードのアドレスが設定される。
【0081】
ヘッダ解析部140は、フロー決定テーブル121の各欄、入力物理ポート番号、送信元MACアドレス、宛先MACアドレス、タグVLANユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、DSCPの値と、入力パケットのヘッダ情報の対応部分の値とを比較し、すべての欄が合致するレコードのフローIDと、重要度テーブル122のアドレスとを取得する。このようにして、ヘッダ解析部140は、フロー決定テーブル121を用いて、受信したパケットに対応するフローIDと重要度テーブル122のアドレス、つまりそのフローの重要度を取得することができる。
【0082】
図10は、重要度テーブルのデータ構造の一例を示す図である。重要度テーブル122には、重要度、動作モード、動作特性、およびスリープレベルの欄が設けられている。
重要度の欄には、フローの重要度が設定される。図10の例では、「高」、「中」、「低」の3段階の重要度が設定されている。
【0083】
動作モードの欄には、重要度に応じた動作モードが設定される。図10の例では、重要度が「高」であれば動作モードは「品質優先モード」であり、重要度が「中」であれば動作モードは「中間モード」であり、重要度が「低」であれば動作モードは「省電力優先モード」である。品質優先モードは、ノード100の性能を最大限まで発揮させ、パケットの伝送品質を最良に保つための動作モードある。中間モードは、パケットの伝送品質の劣化を出来る限り抑止しながら、適度な省電力化を図る動作モードである。省電力優先モードは、パケットの伝送品質の劣化をある程度許容し、ノード100の省電力化の向上を図る動作モードである。
【0084】
動作特性の欄には、各重要度に対応する性能制御テーブル123内の閾値・性能リストの識別情報が設定される。スリープレベルの欄には、各重要度に対応するスリープレベルが設定される。図10の例では、深いスリープ、浅いスリープ、およびスリープさせない(非スリープ)という3段階のスリープレベルが設定されている。重要度「高」の場合、スリープレベル「非スリープ」であり、重要度「中」の場合、スリープレベル「浅いスリープ」であり、重要度「低」の場合、スリープレベル「深いスリープ」である。
【0085】
また重要度テーブル122の各レコードは、重要度テーブル122のアドレスに対応付けられている。例えばアドレス「add#0」には、重要度「高」のフローに関するレコードが設定され、アドレス「add#1」には、重要度「中」のフローに関するレコードが設定され、アドレス「add#2」には、重要度「低」のフローに関するレコードが設定されている。
【0086】
図11は、性能制御テーブルのデータ構造の一例を示す図である。性能制御テーブル123には、複数の閾値・性能リストそれぞれの識別情報に対応付けて、閾値と性能との1つ以上の対(閾値・性能対)が登録されている。
【0087】
性能制御テーブル123における閾値は、対応する性能でノード100を動作させるノード100の負荷の上限値である。ノード100の負荷は、例えばノード100の単位時間当たりのパケット転送の最大処理能力に対する現在の単位時間当たりのパケット転送数である。例えば閾値「100」は、パケット転送の処理能力の最大値を閾値とすることを示し、閾値「25」は、パケット転送の処理能力の最大値の25%の処理負荷を閾値とすることを示す。
【0088】
性能は、ノード100のパケット転送の処理能力の最大値に対して、対応する閾値以下の処理負荷のときにノード100に発揮させる処理能力を示す数値である。例えば、ノード100の動作クロック数と処理能力とが比例している場合、動作クロック数を最大値の40%に低下させることで、40%の処理能力にすることができる。
【0089】
図11の例では、識別情報「閾値・性能リスト#1」の閾値・性能リストには、閾値「100」・性能「100」の閾値・性能対のみが登録されている。これはノード100を常に最大性能で動作させることを示している。
【0090】
また識別情報「閾値・性能リスト#2」の閾値・性能リストには、3つの閾値・性能対が登録されている。閾値「25」・性能「40」の閾値・性能対は、処理負荷が25%以下の間はノード100を40%の処理能力で動作させることを示している。閾値「55」・性能「70」の閾値・性能対は、処理負荷が25%を超え55%以下の間はノード100を70%の処理能力で動作させることを示している。閾値「100」・性能「100」の閾値・性能対は、処理負荷が55%を超えた場合はノード100を100%の処理能力で動作させることを示している。
【0091】
識別情報「閾値・性能リスト#3」の閾値・性能リストには、6つの閾値・性能対が登録されている。閾値「5」・性能「10」の閾値・性能対は、処理負荷が5%以下の間はノード100を10%の処理能力で動作させることを示している。閾値「15」・性能「20」の閾値・性能対は、処理負荷が5%を超え10%以下の間はノード100を20%の処理能力で動作させることを示している。閾値「35」・性能「40」の閾値・性能対は、処理負荷が15%を超え35%以下の間はノード100を40%の処理能力で動作させることを示している。閾値「55」・性能「60」の閾値・性能対は、処理負荷が35%を超え55%以下の間はノード100を60%の処理能力で動作させることを示している。閾値「75」・性能「80」の閾値・性能対は、処理負荷が55%を超え75%以下の間はノード100を80%の処理能力で動作させることを示している。閾値「100」・性能「100」の閾値・性能対は、処理負荷が75%を超えた場合はノード100を100%の処理能力で動作させることを示している。
【0092】
図12は、フローの重要度ごとの通過トラフィック量と性能との関係の一例を示す図である。図12では、横軸にノード100を通過するトラフィック量を示し、縦軸にノード100に発揮させる性能を示している。図12には、フローの重要度が「高」の場合の性能の変化を示す線31、フローの重要度が「中」の場合の性能の変化を示す線32、およびフローの重要度が「低」の場合の性能の変化を示す線33が示されている。また、通過トラフィック量に応じたノード100の処理負荷を示す線34も示されている。
【0093】
フローの重要度が「高」の場合、通過トラフィック量に関係なく、ノード100は常に100%の処理性能で動作する。フローの重要度が「中」の場合、通過トラフィック量が増加するのに従って、ノード100の性能が3段階で、段階的に増加する。フローの重要度が「低」の場合、通過トラフィック量が増加するのに従って、ノード100の性能が6段階で、段階的に増加する。
【0094】
図12に示したように、フローの重要度が「低」の場合、ノード100は、常にフローの重要度が「中」の場合の性能以下の性能となる。その結果、処理負荷に対する余裕度は、フローの重要度が「中」の場合の方が、フローの重要度が「低」の場合よりも広くなる。ここで余裕度とは、性能と処理負荷との差分である。
【0095】
このように、重要度が高いトラフィックが通過するときほど、少ない制御段階かつ急激な負荷ピークに対する余裕度を広くとった特性とする。制御段階数が少ないことで、性能制御変更処理回数を減らし、変更中の遅延発生を抑止することができる。また、余裕度を広くとることで、制御が間に合わないような急激な増加時のパケットロストを抑止することができる。
【0096】
図13は、トラフィック管理テーブルのデータ構造の一例を示す図である。トラフィック管理テーブル124には、フローID、フロー重要度、入力ポート、出口エッジノード、流入トラフィック量、および送出分配テーブルの欄が設けられている。
【0097】
フローIDの欄には、フローIDが設定される。フロー重要度の欄には、フローIDで示されるフローの重要度が設定される。入力ポートの欄には、フローIDで示されるフローのパケットが入力される物理ポートの識別番号(物理ポート番号)が設定される。出口エッジノードの欄には、フローIDで示されるフローのこのネットワーク10の出口となるエッジノードの識別情報が設定される。流入トラフィック量の欄には、フローIDで示されるフローの単位時間当たりに流入するトラフィック量が設定される。トラフィック量の単位は、例えばメガバイトである。送出分配テーブルの欄には、フローIDで示されるフローの経路ごとのパケットの分配率を定義した送出分配テーブルの識別情報が設定される。
【0098】
図14は、送出分配テーブルのデータ構造の一例を示す図である。送出分配テーブル125aには、送出分配テーブルの識別情報「Table#1」が設定されている。また送出分配テーブル125aは、出力ポート、隣接ノード、トラフィック誘引力、送出確率、および送出トラフィック量の欄が設けられている。
【0099】
出力ポートの欄には、トラフィック管理テーブル124で対応付けられているフローの経路上で隣接するノードに接続された物理ポートの識別番号(物理ポート番号)が設定される。隣接ノードの欄には、トラフィック管理テーブル124で対応付けられているフローの経路上で隣接するノードのノードIDが設定される。トラフィック誘引力の欄には、経路上で隣接するノードから得られるトラフィック誘引力が設定される。送出確率の欄には、トラフィック誘引力に応じた各経路へのパケットの送出確率が設定される。送出トラフィック量の欄には、各経路へ送出したトラフィック量が設定される。
【0100】
以上のような構成におけるノード100の性能制御・およびスリープモードへの移行制御処理について説明する。
図15は、パケット受信時の処理手順を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
【0101】
[ステップS11]ネットワークプロセッサ102のヘッダ解析部140は、パケットを受信したNIF108−1の受信パケットバッファ108bからパケットを取得する。そしてヘッダ解析部140は、取得したパケットのヘッダ部を取得する。
【0102】
[ステップS12]ヘッダ解析部140は、受信したパケットに対応するフローの重要度決定処理を実行する。重要度決定処理の詳細は後述する(図16参照)。なお重要度決定処理により、受信したパケットに対応するフローのフローIDと重要度とが得られる。
【0103】
[ステップS13]トラフィック計測部170は、受信したパケットのサイズに基づいて、フローの流入トラフィック量を積算する。
[ステップS14]ヘッダ解析部140は、取得したパケットヘッダを宛先判定部150に送る。すると宛先判定部150は、パケットの転送先とする隣接ノードを決定する。例えば宛先判定部150は、ヘッダ解析部140を介して、受信したパケットの隣接ノードへの送出確率を取得する。そして宛先判定部150は、取得した送出確率に従って、宛先となる隣接ノードを決定する。
【0104】
なお、送出確率に基づくトラフィックの集約または分散制御を行わないことも可能である。この場合、宛先判定部150は、例えば宛先検索メモリ110に格納されているルーティングテーブルを参照し、OSPFやRIPなどのルーティングプロトコルに基づいて、転送先のノードを判断する。
【0105】
さらに宛先判定部150は、決定した隣接ノードのMACアドレスや、その隣接ノードが接続された物理ポートの識別番号(物理ポート番号)などを宛先検索メモリ110から取得し、パケット転送部160に渡す。
【0106】
[ステップS15]パケット転送部160は、受信パケットバッファ108bからパケットを取得し、宛先判定部150で決定された隣接ノードへパケットを転送する。この際、パケット転送部160は、宛先判定部150から取得したMACアドレスを、パケットの宛先MACアドレスとし、宛先判定部150から取得した識別情報で示される物理ポートを有するNIFにパケットを渡す。NIFでは、受け取ったそのパケットを送信パケットバッファ108dに格納し、パケットバッファに格納したパケットを順次、隣接するノードに送信する。
【0107】
次に、重要度決定処理の詳細について説明する。
図16は、重要度決定処理の手順を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
【0108】
[ステップS21]ヘッダ解析部140は、フローの重要度を決定する。例えばヘッダ解析部140は、受信したパケットの入力物理ポート番号および受信パケットのヘッダ情報と、フロー決定テーブル121の各レコードとを比較し、合致するレコードを判断する。なお、ヘッダ情報と比較されるのは、フロー決定テーブル121の送信元MACアドレス、宛先MACアドレス、VLANタグ、ユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、およびDSCPである。ヘッダ解析部140は、合致したレコードのフローIDと重要度テーブルアドレスとを取得する。そしてヘッダ解析部140は、重要度テーブル122内の取得した重要度テーブルアドレスに格納されたレコードを取得する。ヘッダ解析部140は、重要度テーブル122から取得したレコードの内に示される重要度を、受信したパケットに対応するフローの重要度と判定する。
【0109】
[ステップS22]ヘッダ解析部140は、ステップS21で取得したフローIDが、トラフィック管理テーブル124に登録されているか否かを判断する。ヘッダ解析部140は、フローIDが既に登録されていれば、処理をステップS24に進める。またヘッダ解析部140は、フローIDが登録されていなければ、処理をステップS23に進める。
【0110】
[ステップS23]ヘッダ解析部140は、トラフィック管理テーブル124に、新たに取得したフローIDに対応するレコードを追加する。追加されるレコードのフローIDの欄には、ステップS21で取得したフローIDが設定される。フロー重要度の欄には、ステップS21で決定した重要度が設定される。入力ポートの欄には、ステップS21において、フロー決定テーブル121内のレコードと合致したパケットの入力物理ポート番号の値が設定される。出口エッジノードの欄には、パケットの宛先となる装置が接続されたネットワークと、ネットワーク10との間のパケットを中継するエッジノード(出口エッジノード)の識別情報が設定される。例えば、ヘッダ解析部140は、受信したパケットの宛先までの到達経路を調べ、その到達経路上にあるエッジノードを、出口エッジノードとすることができる。この場合、ノード100には、ネットワーク10内のエッジノードのIPアドレスが予め登録されているものとする。なお受信したパケットの宛先までの到達経路は、UNIX(登録商標)のtracerouteコマンドなどにより取得可能である。流入トラフィック量の欄は、レコードの追加直後は空欄である。なお、規定の初期値を流入トラフィック量の欄に設定することもできる。送出分配テーブルの欄には、トラフィック管理テーブル124に新たに登録したフローに対応付けて、新たに作成した送出分配テーブルの識別情報が設定される。
【0111】
トラフィック管理テーブル124に新たなフローのレコードを追加した場合、ヘッダ解析部140は、新たなフローに対応する送出分配テーブルを生成する。生成した送出分配テーブルの出力ポートの欄には、新たなフローにおける経路上で隣接するノードに接続された物理ポートの物理ポート番号が設定される。隣接ノードの欄には、新たなフローにおける経路上で隣接するノードの識別情報が設定される。トラフィック誘引力の欄には、隣接するノードから取得したトラフィック誘引力が設定される。送出確率の欄には、トラフィック誘引力に応じた送出確率が設定される。送出分配テーブルの生成直後は、送出トラフィック量の欄は空欄である。生成された送出分配テーブルの送出トラフィック量は、その送出分配テーブルに対応するフロー発生後にトラフィック計測部170によって計測され、送出分配テーブルに設定される。
【0112】
[ステップS24]ヘッダ解析部140は、ノード100に適用する動作モード(現行動作モード)を決定する。例えばヘッダ解析部140は、トラフィック管理テーブル124に登録されているすべてのレコードのフローの重要度のうち最もレベルの高い重要度を、現行動作モードに決定する。そしてヘッダ解析部140は、決定した現行動作モードを、ネットワーク制御情報メモリ120に格納する。
【0113】
次に、トラフィック量計測処理について説明する。
図17は、トラフィック量計測処理の手順を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
【0114】
[ステップS31]トラフィック計測部170は、トラフィック管理テーブル124からフローを1つ選択する。
[ステップS32]トラフィック計測部170は、選択したフローの単位時間当たりのトラフィック量を計算する。例えばトラフィック計測部170は、選択したフローの流入トラフィック量の積算値を、トラフィック計測周期で除算し、単位時間当たりのトラフィック量(転送データ量/秒)を計算する。そしてトラフィック計測部170は、計算した単位時間当たりのトラフィック量を、選択したフローに対応付けてトラフィック管理テーブル124に格納する。
【0115】
[ステップS33]トラフィック計測部170は、トラフィック管理テーブル124内の未処理のフローがあるか否かを判断する。未処理のフローがある場合、処理をステップS31に進める。トラフィック計測部170は、未処理のフローがなければ、処理をステップS34に進める。
【0116】
[ステップS34]トラフィック計測部170は、トラフィック計測周期だけ待機する。
[ステップS35]トラフィック計測部170は、すべてのフローを未処理状態に変更し、処理をステップS31に進める。
【0117】
このようにして、各フローの流入トラフィック量が計算される。
次に、性能決定処理について説明する。
図18は、性能決定処理の手順を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。なお、性能決定処理は、所定の周期で定期的に実行される。
【0118】
[ステップS41]制御部130は、ネットワーク制御情報メモリ120から現行動作モード126と現在閾値127とを取得する。
[ステップS42]制御部130は、現行動作モードに対応する閾値・性能リストを取得する。例えば制御部130は、重要度テーブル122を参照し、現行動作モードに対応する閾値・性能リストの識別情報を判断する。次に制御部130は、取得した識別情報で示される閾値・性能リストを、性能制御テーブル123から取得する。
【0119】
[ステップS43]制御部130は、単位時間当たりのノード100への流入トラフィック量を算出する。例えば制御部130は、トラフィック管理テーブル124からすべてのフローの流入トラフィック量を取得する。そして制御部130は、取得した流入トラフィック量の合計を、ノード100の流入トラフィック量とする。次に制御部130は、流入トラフィック量に基づいて、現在の処理負荷を算出する。処理負荷は、例えば流入トラフィック量を、ノード100の単位時間当たりに処理可能なトラフィック量で除算した値である。
【0120】
[ステップS44]制御部130は、処理負荷が現在閾値より少ないか否かを判断する。制御部130は、現在閾値より少なければ、処理をステップS48に進める。制御部130は、処理負荷が現在閾値以上であれば、処理をステップS45に進める。
【0121】
[ステップS45]処理負荷が現在閾値以上の場合、制御部130は、ステップS42で取得した閾値・性能リストを参照し、現在閾値より上位の閾値があるか否かを判断する。上位の閾値とは、値が大きい閾値を指す。制御部130は、上位の閾値があれば、処理をステップS46に進める。制御部130は、上位の閾値がなければ処理を終了する。
【0122】
[ステップS46]制御部130は、次の上位の閾値を、ネットワーク制御情報メモリ120内の現在閾値127に設定する。
[ステップS47]制御部130は、閾値・性能リストにおいて、現在閾値127に設定した閾値と対となる性能を、ノード100の性能に設定する。例えば制御部130は、性能を示す数値を、主制御プロセッサ101に通知する。すると、主制御プロセッサ101は、電源制御部106などを制御し、通知された性能となるように、動作クロックや電源電圧を制御する。その後、処理をステップS44に進める。
【0123】
[ステップS48]処理負荷が現在閾値より少ない場合、制御部130は、ステップS42で取得した閾値・性能リストを参照し、現在閾値よりも下位の閾値があるか否かを判断する。下位の閾値とは、値が小さい閾値を指す。制御部130は、下位の閾値がある場合、処理をステップS49に進める。また制御部130は、下位の閾値がない場合、処理を終了する。
【0124】
[ステップS49]制御部130は、処理負荷が下位の閾値より少ないか否かを判断する。制御部130は、処理負荷の方が下位の閾値より少なければ、処理をステップS50に進める。また制御部130は、処理負荷が下位の閾値以上であれば、処理を終了する。
【0125】
[ステップS50]制御部130は、次の下位の閾値を、ネットワーク制御情報メモリ120内の現在閾値127に設定する。
[ステップS51]制御部130は、閾値・性能リストにおいて、現在閾値127に設定した閾値と対となる性能を、ノード100の性能に設定する。制御部130は、その後、処理をステップS44に進める。
【0126】
このようにして、ノード100を流れるフローの重要度に応じた性能でノード100を動作させることができる。また、ノード100を流れるトラフィックが無くなった場合、それ以前に流れていたトラフィックに対応するフローの重要度に応じたスリープモードで、ノード100を停止させることができる。
【0127】
例えば、ノード100に対して重要度が高いフローが流入していた場合、ノード100は、省電力よりも伝送品質維持を優先し、100%の処理能力で動作する。これにより、重要度が高いフローのトラフィック量が増加した場合にも、遅延なくそのフローのパケットの転送が可能である。
【0128】
図19は、スリープモード移行処理の手順を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS52]主制御プロセッサ101は、すべての流入トラフィックが0か否かを判断する。例えば主制御プロセッサ101は、トラフィック管理テーブル124を参照し、すべてのフローの流入トラフィック量の値が0であれば、すべての流入トラフィックが0であると判断する。主制御プロセッサ101は、すべての流入トラフィックが0であれば、処理をステップS53に進める。また主制御プロセッサ101は、少なくとも1つのフローに流入トラフィックがあれば、ステップS52の処理を繰り返す。
【0129】
[ステップS53]主制御プロセッサ101は、すべての流入トラフィックが0になってからの時間計測を行っているか否かを判断する。時間計測中であれば、主制御プロセッサ101は処理をステップS55に進める。主制御プロセッサ101は、時間計測を行っていなければ、処理をステップS54に進める。
【0130】
[ステップS54]主制御プロセッサ101は、すべての流入トラフィックが0になってからの時間計測を開始する。その後、主制御プロセッサ101は、処理をステップS52に進める。
【0131】
[ステップS55]主制御プロセッサ101は、すべての流入トラフィックが0になってからの経過時間が、予め設定されている閾値に達したか否かを判断する。主制御プロセッサ101は、閾値に達した場合、処理をステップS56に進める。主制御プロセッサ101は、閾値に達していなければ、処理をステップS52に進める。
【0132】
なお、ここまでのステップS52からステップS55は主制御プロセッサ101で実行されるとしてきたが、ネットワークプロセッサ102で実行されてもよい。その場合、すべての流入トラフィックが0になってからの経過時間が閾値に達した場合、ネットワークプロセッサ102は主制御プロセッサ101へ閾値に達したことを通知する。
【0133】
[ステップS56]主制御プロセッサ101は、すべての流入トラフィックが0になってからの経過時間に閾値に達した場合、ネットワーク制御情報メモリ120から現行動作モード126を取得する。
【0134】
[ステップS57]主制御プロセッサ101は、現行動作モードに応じたスリープ状態にノードを移行させる。例えば、主制御プロセッサ101は、重要度テーブル122を参照し、現行の動作モードに応じたスリープレベルを判断する。なお、現行の動作モードに応じたスリープレベルが非スリープに場合、主制御プロセッサ101はスリープモードへの移行を行わず、処理を終了する。
【0135】
また、ノード100に対して重要度「高」のフローのトラフィックが流入していた場合、ノード100に流入するトラフィックが途絶えても、機能をスリープさせない。これにより、重要度「高」のフローのトラフィックが再開された場合、遅延なくそのフローのパケットの転送が可能である。
【0136】
また、ノード100に対して、最大で重要度「中」のフローのトラフィックが流入していた場合、ノード100は、性能の余裕度を広くとって、性能を押さえた省電力制御を行う。これにより、重要度「中」のフローのトラフィック量が増加した場合にも、少ない遅延で、フローのパケットの転送が可能である。
【0137】
また、ノード100に対して、最大で重要度「中」のフローのトラフィックが流入していた場合、ノード100に流入するトラフィックが途絶えると浅いスリープで機能を停止させる。これにより、重要度「中」のフローのトラフィックが再開された場合、短い時間でノード100の全体の機能を起動し、少ない遅延で再開されたフローのパケットの転送が可能である。
【0138】
また、ノード100に対して、重要度「低」のフローのトラフィックのみが流入していた場合、ノード100は、性能の余裕度を狭くとって、性能を押さえた省電力制御を行う。これにより、ノード100の消費電力を十分に押さえ、ネットワークシステムの省電力化を図ることができる。
【0139】
また、ノード100に対して、重要度「低」のフローのトラフィックのみが流入していた場合、ノード100に流入するトラフィックが途絶えると、深いスリープで機能を停止させる。これにより、ノード100の消費電力を十分に押さえ、ネットワークシステムの省電力化を図ることができる。
【0140】
以上のような処理は、ノード100だけでなく、ネットワーク10上のすべてのノードで実行される。その結果、パケットの適切な転送品質の維持と、ネットワークシステム全体の省電力化とをバランスよく達成することができる。
【0141】
なお、トラフィックの集約制御において、入口ノードで経路を指定してネットワーク10内のパケット転送を行うことができる。このような経路指定型のトラフィック制御を行っている場合、入口ノードで流入したフローの重要度を判定し、そのフローの経路上の中継ノードおよび出口ノードに、フローの重要度を通知することができる。
【0142】
図20は、重要度通知の一例を示す図である。図20の例には、ノード100とノード200とが入口ノードとなるフローが示されている。なお図20では、ノード100,200のネットワーク制御情報メモリ120,220内の情報の一部を抜き出して示している。
【0143】
ノード100には、フローID「1」、「2」の2つのフローの区間、経路、および重要度が、ネットワーク制御情報メモリ120内に設定されている。ノード100の主制御プロセッサ101は、流入したフローに基づいて各フローの重要度が判定されると、そのフローの重要度を、経路上の他のノードに通知する。例えば、フローID「1」のフローに関して2つの重要度通知35,36が送信され、フローID「2」のフローに関して、1つの重要度通知37が送信される。
【0144】
同様に、ノード200には、フローID「3」のフローの区間、経路、および重要度が、ネットワーク制御情報メモリ220内に設定されている。ノード200の主制御プロセッサは、流入したフローに基づいて各フローの重要度が判定されると、そのフローの重要度を、経路上の他のノードに通知する。例えば、フローID「3」のフローに関して2つの重要度通知38,39が送信される。
【0145】
送信される各重要度通知35〜39には、例えばフローID、経路情報、および重要度が含められる。重要度通知を受信した各ノードは、経路情報を参照して、経路上の次の隣接ノードに、受信した重要度通知を転送する。また重要度通知を受信した各ノードは、フローIDと重要度とに基づいて、自己を経路に含むフローの重要度を認識する。そして各重要度通知を受信した各ノードは、自己のトラフィック管理テーブルに、フローの重要度を設定する。これにより、入口ノード以外のノードは、フロー決定テーブルを用いたフローの重要度の判定を行わずにすみ、処理負荷が軽減される。
【0146】
図21は、フローの重要度に応じた各ノードの動作モードの一例を示す図である。図20のような重要度通知が行われた場合、ノード100,300,600は、重要度「高」のフローの経路となるため、動作モードは「品質優先モード」となる。また、ノード200,400,500は、重要度「中」以下のフローの経路となるため、動作モードは「中間モード」となる。
【0147】
各ノードがこのような動作モードの場合において、誘引力に基づくトラフィックの集約制御を行う場合を想定する。
図22は、誘引力に応じた送出確率の制御例を示す図である。なお図22では、ノード100,200のネットワーク制御情報メモリ120,220内の情報の一部を抜き出して示している。
【0148】
図22の例では、ノード100からノード500へのフローについては、ノード300を経由する経路に60%、ノード400を経由する経路に40%の確率でパケットが送出されている。またノード100からノード600へのフローについては、ノード300を経由する経路に100%の確率でパケットが送出されている。またノード200からノード500へのフローについては、ノード300を経由する経路に100%、ノード400を経由する経路に0%の確率でパケットが送出されている。
【0149】
図23は、トラフィックの集約および分散状況を示す図である。図22に示した状態からトラフィックの集約制御が行われると、ノード100からノード500へのフローについて、ノード300を経由する経路に100%、ノード400を経由する経路に0%の確率でパケットが送出されるようになる。なお図23では、トラフィック量が0の経路を破線で示している。するとノード400に流入するトラフィックがなくなり、スリープモードに移行可能となる。ノード400に流入するトラフィックに対応するフローの重要度は、最も高いもので「中」である。そこでノード400は、浅いスリープのスリープモードに移行する。
【0150】
その他のノードは、流入しているトラフィックの重要度に応じた性能で動作する。例えば、重要度「高」のトラフィックが流入しているノード100,300,600は、100%の性能を発揮して動作する。また「中」以下の重要度のフローのトラフィックが流入しているノード200,500は、流入しているトラフィック量に応じて40%〜100%の性能を発揮して動作する。
【0151】
例えば集約制御時において、ノード200からノード500へのフローのトラフィック量が400Mbpsであり、このトラフィック量はノード200の処理能力の40%の負荷に相当するものとする。この場合、ノード200は、図11と同様の内容の性能制御テーブルに基づいて、70%の性能で動作する。
【0152】
ここで、例えばノード100からノード500へのフローのトラフィックが増加してノード300からノード500への伝送路で輻輳の危険性が検知されると、ノード300からノード100,200にアラーム情報が送信され、トラフィックの分散制御が行われる。分散制御が行われると、ノード100からノード500へのフローについて、ノード400を経由する経路にもパケットが送出されるようになる。また、ノード200からノード500へのフローについて、ノード400を経由する経路にもパケットが送出されるようになる。
【0153】
すると、ノード400が起動される。ノード400は、「中」以下の重要度のフローのトラフィックが流入しているため、流入しているトラフィック量に応じて40%〜100%の性能を発揮して動作する。
【0154】
例えば分散制御時において、ノード100からノード500へのフローのノード400を経由する経路のトラフィックが400Mbps、ノード200からノード500へのフローのノード400を経由する経路のトラフィックが200Mbpsであるものとする。この場合、ノード400には合わせて600Mbpsのトラフィック量が流入している。600Mbpsのトラフィックの転送は、ノード400の処理能力の60%の負荷に相当するものとする。この場合、ノード400は、図11と同様の内容の性能制御テーブルに基づいて、100%の性能で動作する。
【0155】
このように、フローの重要度に応じて各ノードの動作モードを決定し、動作モードに応じた性能制御およびスリープモードへの移行制御を行うことで、重要度の高いフローのパケットの伝送品質を保ちつつ、ネットワーク全体での省電力化を図ることが可能となる。
【0156】
しかも、ノードの負荷量に応じてノードに発揮させる性能を変更することで、流入トラフィック量が少ない場合には性能を下げ、更なる低消費電力化が可能である。さらに、品質条件の厳しいフローの経路上のノードに対して、負荷に対する性能の余裕幅を広く取ることで、動作時には急なトラフィック量の増加に対しても、品質劣化が抑止される。その結果、品質条件の厳しいフローに対し信頼性を担保しつつ、きめ細かな低電力化を図ることが可能になる。
【0157】
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、過去の所定期間内に流入したトラフィックに対応するフローの重要度を考慮して、動作特性やスリープレベルを決定するものである。
【0158】
第3の実施の形態では、現在トラフィックがなくても、過去の所定期間内にフローの重要度「高」のトラフィックがノードに流入していた場合、そのノードの現行動作モードは「品質優先モード」とする。これは、今は重要度「高」のトラフィックは生じていないが、再開するかもしれないので、再開時の品質劣化を防ぐものである。また過去にフローの重要度「高」のトラフィックがノードに流入していたとしても、そのトラフィックの最後の流入から所定期間以上経過した場合、そのトラフィックに対応するフローが消滅したものと判断される。そしてフローの重要度「高」のトラフィックの流入がなくなってから所定時間以上経過した場合、ノードの動作モードは「中間モード」または「省電力優先モード」に変更される。これにより、省電力化を促進することができる。
【0159】
このような制御を実現するため、第3の実施の形態では、各ノードにおいて、トラフィックの履歴情報を記憶しておく。
図24は、第3の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。図24では、図5に示した第2の実施の形態のネットワークプロセッサ102と同じ機能を有する要素には図5と同じ符号を付し、説明を省略する。
【0160】
第3の実施の形態におけるネットワーク制御情報メモリ120−1には、複数のトラフィック履歴表128a,128b,128c,・・・や複数の誘引力履歴表129a,129b,129c,・・・が格納されている。
【0161】
またトラフィック管理テーブル124−1には、第2の実施の形態における流入トラフィック量に代えて、トラフィック履歴表の識別情報が設定される。送出分配テーブル125d,125e,125f,・・・には、トラフィック誘引力、送出確率に代えて、誘引力履歴表129a,129b,129c,・・・の識別情報が設定されている。
【0162】
第3の実施の形態では、トラフィック計測部170−1は、フローごとのトラフィック量の履歴管理を行うことができる。また制御部130−1は、出力ポートごとの誘引力の履歴管理を行うことができる。
【0163】
また第3の実施の形態では、制御部130−1は、隣接ノードからの誘引力と分配確率を、直近の値だけでなく、過去数回分の履歴を誘引力管理表129a,129b,129c,・・・に格納する。
【0164】
図25は、第3の実施の形態のトラフィック管理テーブルのデータ構造の一例を示す図である。トラフィック管理テーブル124−1には、フローID、フロー重要度、入力ポート、出口エッジノード、トラフィック履歴表、および送出分配テーブルの欄が設けられている。このうちフローID、フロー重要度、入力ポート、出口エッジノード、および送出分配テーブルの欄については、図13に示した第2の実施の形態のトラフィック管理テーブル124の同名の欄と同種の情報が設定される。
【0165】
トラフィック履歴表の欄には、フローIDで示されるフローに対応するトラフィック履歴表の識別情報が設定される。
【0166】
図26は、トラフィック履歴表のデータ構造の一例を示す図である。トラフィック履歴表128aには、トラフィック履歴表128aの識別情報「sheet#11」が設定されている。トラフィック履歴表128aの行方向のラベルには、流入トラフィックと送出先毎の送出トラフィックとが設定されている。列方向のラベルには、無トラフィックカウンタ、今回トラフィック、前回トラフィック、および前々回トラフィックが設定されている。
【0167】
無トラフィックカウンタの列には、流入トラフィックおよび各送出トラフィックが無くなってから、継続したトラフィックが無いと判断されたトラフィック量計測回数を示す値(無トラフィックカウンタ値)が設定される。今回トラフィックの列には、直近に計測したトラフィック量が設定される。前回トラフィックの列には、直近の計測の1回前に計測したトラフィック量が設定される。前々回トラフィックの列には、直近の計測の2回前に計測したトラフィック量が設定される。
【0168】
なお、過去の何回分のトラフィック量を履歴情報として格納するかは、管理者が任意に設定することができる。
【0169】
図27は、第3の実施の形態の送出分配テーブルのデータ構造の一例を示す図である。送出分配テーブル125dには、送出分配テーブルの識別情報「Table#21」が設定されている。また送出分配テーブル125dは、出力ポート、隣接ノード、および誘引力履歴表の欄が設けられている。出力ポート、隣接ノードとの欄には、図14に示した第2の実施の形態の送出分配テーブル125aにおける同名の欄と同種の情報が設定される。
【0170】
誘引力履歴表の欄には、送出分配テーブル125dに対応する誘引力管理表の識別情報が設定される。
【0171】
図28は、誘引力履歴表のデータ構造の一例を示す図である。誘引力履歴表129aには、誘引力履歴表129aの識別情報「sheet#31」が設定されている。誘引力履歴表129aの行方向のラベルには、出力ポートのポート番号ごとに誘引力と送出確率とが設定されている。列方向のラベルには、今回計算値と前回計算値とが設定されている。
【0172】
今回計算値の列には、直近に計算した出力ポートごとのトラフィック誘引力と送出確率とが設定される。前回計算値の列には、直近の計測の1回前に計測した出力ポートごとのトラフィック誘引力と送出確率とが設定される。
【0173】
なお、過去の何回分の誘引力および送出確率を履歴情報として格納するかは、管理者が任意に設定することができる。
次に、第3の実施の形態のトラフィック量計測処理について説明する。
【0174】
図29は、第3の実施の形態のトラフィック量計測処理の手順を示すフローチャートである。以下、図29に示す処理をステップ番号に沿って説明する。
[ステップS61]トラフィック計測部170−1は、トラフィック管理テーブル124−1からフローを1つ選択する。
【0175】
[ステップS62]トラフィック計測部170−1は、選択したフローの単位時間当たりのトラフィック量を計算する。例えばトラフィック計測部170−1は、選択したフローの流入トラフィック量の積算値を、トラフィック計測周期で除算し、単位時間当たりのトラフィック量(転送データ量/秒)を計算する。
【0176】
[ステップS63]トラフィック計測部170−1は、トラフィック履歴表の流入トラフィック量を更新する。例えばトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の前々回トラフィックの値を削除する。またトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの前回トラフィックの値を、前々回トラフィックに設定する。またトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの今回トラフィックの値を、前回トラフィックに設定する。そしてトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの今回トラフィックに、ステップS62で計算した流入トラフィック量を設定する。
【0177】
これにより、一定時間以上過去のトラフィック量の履歴は、トラフィック履歴表から削除される。
[ステップS64]トラフィック計測部170−1は、今回計測した流入トラフィック量が0か否かを判断する。流入トラフィック量が0であれば、トラフィック計測部170−1は、処理をステップS66に進める。流入トラフィック量が0でなければ、トラフィック計測部170−1は、処理をステップS65に進める。
【0178】
[ステップS65]トラフィック計測部170−1は、今回計測した流入トラフィック量が0でない場合、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタの値を0にする。その後、トラフィック計測部170−1は、処理をステップS69に進める。
【0179】
[ステップS66]トラフィック計測部170−1は、今回計測した流入トラフィック量が0の場合、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタの値を1だけカウントアップする。
【0180】
[ステップS67]トラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタが予め設定された閾値を超えたか否かを判断する。閾値を超えた場合、トラフィック計測部170−1は処理をステップS68に進める。閾値を超えていない場合、トラフィック計測部170−1は、処理をステップS69に進める。
【0181】
[ステップS68]トラフィック計測部170−1は、選択したフローのレコードを、トラフィック管理テーブル124−1から削除する。この際、トラフィック計測部170−1は、例えば選択したフローに対応するトラフィック履歴表と送出分配テーブルも削除する。
【0182】
[ステップS69]トラフィック計測部170−1は、トラフィック管理テーブル124−1内の未処理のフローがあるか否かを判断する。未処理のフローがある場合、処理をステップS61に進める。トラフィック計測部170は、未処理のフローがなければ、処理をステップS70に進める。
【0183】
[ステップS70]トラフィック計測部170−1は、トラフィック計測周期だけ待機する。
[ステップS71]トラフィック計測部170−1は、すべてのフローを未処理状態に変更し、処理をステップS61に進める。
【0184】
なお図29では、流入トラフィック量の計測およびトラフィック履歴表の流入トラフィック量に関する情報の更新を行っているが、送出トラフィック量についても同様に計測し、トラフィック履歴表の送出トラフィック量を更新することができる。ただし、送出トラフィック量に関しては、トラフィックを送出する物理ポートごとに計算される。
【0185】
第3の実施の形態においても、図16に示した第2の実施の形態の処理と同様に、トラフィック管理テーブル124−1に記録されたフローの重要度の最大値により現行動作モードが決定される。そして決定された現行動作モードにより、動作特性とスリープレベルが決定される。
【0186】
第3の実施の形態における性能設定処理は、図18に示した第2の実施の形態の性能決定処理と同様である。なお、第3の実施の形態では、ノード100の性能を決定する際には、過去の所定期間の流入トラフィックを考慮して性能を決定してもよい。例えば図18のフローチャートにおけるステップS43における流入トラフィック量算出の際に、例えば制御部130−1は、トラフィック履歴表128a,128b,128c,・・・からすべてのフローの流入トラフィック量を取得する。その際、制御部130−1は、各フローの流入トラフィック量として、直近および過去のトラフィック量のうちの最大値を取得する。例えば、あるフローの流入トラフィック量に関して、今回と前回トラフィック量が0であっても、前々回トラフィック量が10であれば、そのフローの流入トラフィック量は10とする。そして制御部130−1は、取得した流入トラフィック量の合計を、ノード100の流入トラフィック量とする。これにより、過去のトラフィック量を加味した性能が設定される。
【0187】
このように、過去のトラフィック量を加味した性能設定を行うことで、一度減ったトラフィック量が元に戻った場合でも、遅延無くパケット転送を行うことができる。
また、流入するトラフィックがある場合(ノード動作時)は、流入トラフィックが0となったフローの重要度も含めて、最大のものが現行動作モードになり、その現行動作モードにより動作特性が決定される。すべてのフローの流入トラフィックが0の場合は、トラフィック管理テーブル124−1中の各フローの重要度の最大値により、スリープレベルが決定される。
【0188】
なおトラフィック管理テーブル124−1へのフローのレコードの追加は、フローのパケット到着での登録(ダイナミックな設定)に加え、オペレータによる設定(スタティックな追加)が可能である。ここで、一定時間以上流入トラフィック0となったフローは、他の経路に集約されたのではなく消滅したものと判断され、対応するレコードがトラフィック管理テーブル124−1から削除される。これにより、既に消滅したフローの重要度が無効となり、適切な現行動作モードの設定が可能となる。
【0189】
なお、図29に示した処理は、ネットワークプロセッサ102−1内で実行されているが、浅いスリープのスリープモードに入った場合、主制御プロセッサ101において無トラフィックカウンタの更新の処理を行うことができる。例えば主制御プロセッサ101は、流入するトラフィックが無い状態が継続している間、各フローの流入トラフィックの無トラフィックカウンタの値を、トラフィック計測周期ごとに1ずつカウントアップする。そして、主制御プロセッサ101は、流入トラフィックの無トラフィックカウンタの値が閾値を超えたフローのレコードを、順次トラフィック管理テーブル124−1から削除する。そしてトラフィック管理テーブル124−1に登録されているフローの重要度の最大値が「低」になった場合、主制御プロセッサ101は、浅いスリープから深いスリープへスリープモードを移行させる。これにより、省電力化の効果をさらに高めることができる。
【0190】
[第4の実施の形態]
次に第4の実施の形態について説明する。第4の実施の形態は、各フローが消滅したのか、ある経路に集約されているのかを入口ノードが判断し、判断結果を、そのフローの経路上の各ノードに、制御パケットにより通知するものである。これにより、各ノードは、流入トラフィックが0になったフローについて、他のノードを経由する経路にトラフィックが集約されたのか、そのフローが消滅したのかを正確に判断できるようになる。
【0191】
すなわち、上記の第2,第3の実施の形態では、トラフィックの誘引力を用いて、入口ノードに流入したフローのトラフィックを、1つの経路に集約させる。そのため、フローごとに各ノードで通過トラフィック量に応じたトラフィック誘引力を計算し、それを隣接ノードに伝達する。各隣接ノードからトラフィック誘引力を受け取ったノードは、誘引力の大きい方へ該当フローのトラフィックをより多く分配する。これを継続すると、トラフィックの多い経路の誘引力が高まり、最終的に一部の経路にトラフィックが集約される。そして、経路集約の結果トラフィックが流れなくなったノードをスリープさせ省電力化が図られる。ただし、経路集約の結果、例えばノード間を接続する伝送路に所定の閾値以上のトラフィックが送出された場合、経路を分散させるアラーム情報の制御パケットが入口ノードに伝達される。すると入口ノードにおいて、トラフィックが複数の経路に分散して送出され、輻輳の発生が抑止される。
【0192】
ここで、第2,第3の実施の形態では、各ノードが個別に、流入トラフィックが無くなったことを判別している。したがって、誘引力による経路集約の結果そのノードにそのフローのトラフィックが流れなくなった(他のノード/経路には流れている)のか、そもそもそのフロー自体が消滅した(入口エッジノードへの流入が無くなった)のか、正確には区別できない。
【0193】
トラフィックが集約されたのか消滅したのかの判別を間違えると、重要度「高」のフローのトラフィックが、集約状態から輻輳回避のための分散状態に変更された場合に、省電力制御がされていたノードの再起動に時間がかかる可能性がある。例えば重要度「高」のフローのトラフィックが流入したノードで、再起動に必要以上に時間がかかると、重要度「高」のフローに求められる品質を保つことが困難となる。
【0194】
そこで、第4の実施の形態では、入口ノードにおいて、あるフローについて流入トラフィックはあるが、トラフィックの分配確率が0の隣接ノードに対しては、フローが存在していることを示す制御パケットを定期的に送出する。制御パケットを送信する周期は、例えば、流入トラフィックが0になってから、トラフィック管理テーブルの無トラフィックカウンタが閾値に達する時間よりは短い値とする。
【0195】
また制御パケットを受信した隣接ノードはトラフィック管理テーブルの対応フローの無トラフィックカウンタの値を0にクリアする。つまり、流入トラフィック量が0の状態が続いても、制御パケットを受信する限り、対応するフローのレコードはトラフィック管理テーブルから削除されなくなる。トラフィック管理テーブルにフローのレコードが残存している間は、そのフローの重要度も考慮して動作モードが判定される。
【0196】
このようにして、入口ノードでフローそのものの流入が無くなった場合と、経路集約の結果、あるノードにはトラフィックが流入しなくなった(他の経路を流れている)場合との正確な区別が可能となり、適切な動作モード判定が行われる。
【0197】
第4の実施の形態のノードの構成および格納されたデータは、図24〜図28に示した第3の実施の形態と同様である。そこで図24〜図28に示した各要素の符号を用いて,第4の実施の形態の処理を説明する。
【0198】
図30は、第4の実施の形態の制御パケット送信手順を示すフローチャートである。以下、図30に示す処理をステップ番号に沿って説明する。
[ステップS81]主制御プロセッサ101は、トラフィック管理テーブル124−1のフローを1つ選択する。
【0199】
[ステップS82]主制御プロセッサ101は、選択したフローに対応する誘引力履歴表を参照し、トラフィックが集約されているか否かを判断する。例えば主制御プロセッサ101は、1つの出力ポートの送出確率が「1.0」であり、他の出力ポートの送出確率が「0」であれば、対応するフローのトラフィックが集約されていると判断する。主制御プロセッサ101は、トラフィックが集約されている場合、処理をステップS83に進める。主制御プロセッサ101は、トラフィックが集約されていない場合、処理をステップS84に進める。
【0200】
[ステップS83]主制御プロセッサ101は、トラフィックの発生していない経路それぞれに、フローが存在していることを示す制御パケットを送信する。集約されているフローに、トラフィックが0の経路が複数ある場合、トラフィックが0の経路それぞれに制御パケットが送信される。送信される制御パケットには、選択したフローのフローIDと、制御パケットを送信する経路の経路情報が含められる。例えば主制御プロセッサ101は、フロー管理テーブル120aから各経路の経路情報を取得する。
【0201】
[ステップS84]主制御プロセッサ101は、トラフィック管理テーブル124−1内に未処理のフローがあるか否かを判断する。主制御プロセッサ101は、未処理のフローがあれば、処理をステップS81に進める。主制御プロセッサ101は、未処理のフローがなければ、処理をステップS85に進める。
【0202】
[ステップS85]主制御プロセッサ101は、予め設定された制御パケット送信周期だけ待機する。
[ステップS86]主制御プロセッサ101は、すべてのフローを未処理に設定し、処理をステップS81に進める。
【0203】
このようにして、フローのトラフィックが発生しているが、そのトラフィックが集約されている場合、トラフィックが発生していない経路に制御パケットが送信される。なおフローのトラフィックが全く発生していない場合、そのフローのレコードは、入口ノードであるノード100のトラフィック管理テーブル124−1から削除される。その結果、消滅したフローに関しては、制御パケットは送信されない。
【0204】
次に制御パケット受信時の処理について説明する。
図31は、第4の実施の形態における制御パケット受信処理の手順を示すフローチャートである。以下、図31に示す処理をステップ番号に沿って説明する。なお、ノード100が中継ノードまたは出口ノードとなるフローの制御パケットを、他のノードから受信した場合の処理である。
【0205】
[ステップS91]主制御プロセッサ101は、制御パケットを受信したか否かを判断する。主制御プロセッサ101は、フローが存在していることを示す制御パケットを受信した場合、処理をステップS92に進める。主制御プロセッサ101は、制御パケットを受信していなければ、ステップS91の処理を繰り返す。
【0206】
[ステップS92]主制御プロセッサ101は、制御パケットに示されるフローIDに対応するトラフィック履歴表の、流入トラフィックの無トラフィックカウンタの値を0にする。
【0207】
[ステップS93]主制御プロセッサ101は、制御パケットに示された経路情報における次のノードへ、制御パケットを転送する。主制御プロセッサ101は、その後、処理をステップS91に進める。
【0208】
このように、フローが存在していることを示す制御パケットを受信した場合、対応するフローの流入トラフィックの無トラフィックカウンタを0にリセットすることで、その無トラフィックカウンタが閾値を超えることはなくなる。そのため、ノードにトラフィックが流入していないフローであっても、他の経路にトラフィックが存在している限り、そのフローのレコードがトラフィック管理テーブル124−1から削除されることはない。その結果、他の経路の集約されたトラフィックのフローの重要度を加味して現行動作モードが決定される。
【0209】
図32は、第4の実施の形態を適用したパケット転送の第1の例を示す図である。図32の例では、ノード41が入口ノードであり、ノード42〜44が中継ノードである。ノード41には、重要度「高」のトラフィックが流入している。またノード42には、ノード41以外からもトラフィックが流入しているが、ノード43,44には、トラフィックの流入はない。
【0210】
このような状況では、ノード42は、流入するトラフィックがあるため、大きな誘引力をノード41に通知する。一方、ノード43,44は、流入するトラフィックがないため、例えば誘引力「0」をノード41に通知する。するとノード41は、流入したトラフィックをすべてノード42へ送出する。
【0211】
このときノード43,44にはトラフィックが分配されない。そこでノード41は、ノード43,44に対してフローの流入トラフィックが存在していることを示す制御パケットを送信する。するとノード43,44は、流入トラフィックが0になっても、スリープモードに移行せず、かつ性能100%の状態を維持する。
【0212】
ここで、ノード41に流入するトラフィック量が増加し、ノード42において輻輳発生の危険性を検知した場合を考える。この場合、ノード42は、輻輳が発生する前に、流入トラフィックが所定の閾値に達すると、ノード41宛にアラーム情報を送信する。アラーム情報を受信したノード41は、流入トラフィックを複数の経路に分散させる。その結果、ノード42〜44それぞれに対する送出トラフィックが発生する。ノード43,44は、ノード41からトラフィックが流入するが、性能100%で動作しているため、流入したトラフィックを遅延なく処理することができる。
【0213】
図33は、第4の実施の形態を適用したパケット転送の第2の例を示す図である。図33の例では、図32の上段に示した状態から、ノード41に流入するトラフィックが消滅した場合である。この場合、ノード41からノード43,44への制御パケットの送信は行われない。そのため、ノード43,44は、流入トラフィックが無くなってから所定期間が経過すると、スリープモードに移行する。その結果、ネットワーク全体での省電力化が図られる。
【0214】
このように、例えば重要度「高」のフローが1つの経路に集約された後、輻輳回避制御により複数のトラフィックに分散された場合でも、転送遅延などを発生させずにパケットを転送できる。他方、フローのすべてのトラフィックが消滅した場合、そのフローのレコードはトラフィック管理テーブル124−1から削除され、そのフローの重要度は現行動作モードの決定に影響を及ぼさなくなる。その結果、省電力化を促進できる。
【0215】
〔その他の実施の形態〕
上記の第2〜第4の実施の形態では、ネットワークプロセッサ102,102−1内にトラフィック計測部170,170−1を設けているが、トラフィック量の計測は、主制御プロセッサ101などのネットワークプロセッサ102,102−1以外の回路で行うこともできる。
【0216】
また第2〜第4の実施の形態は、ネットワーク上のノードの自律制御によってトラフィックの集約・分散制御を行う場合における、各ノードの省電力制御技術を示しているが、トラフィックの集約・分散を1つの管理装置で集中管理するシステムにも適用でできる。また、特にトラフィックの集約・分散制御を行っていないネットワーク上のノードに対して、上記の実施の形態に示した省電力制御機能を組み込むことも可能である。
【0217】
上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、第1の実施の形態に示した情報処理装置や第2〜第4の実施の形態に示した各ノードが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0218】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0219】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0220】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0221】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0222】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 流入したデータを転送する転送手段と、
流入したデータの重要度を判定する重要度判定手段と、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する動作モード判定手段と、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで前記転送手段の省電力制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【0223】
(付記2) 前記動作モード判定手段は、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記1記載の情報処理装置。
【0224】
(付記3) 前記記憶手段には、前記転送手段に発揮させる性能が、動作モードごとに定義されており、
前記制御手段は、前記判定された動作モードに応じた性能で動作するように、前記転送手段を制御することを特徴とする付記1または2のいずれかに記載の情報処理装置。
【0225】
(付記4) 前記動作モード判定手段は、流入したデータの重要度が高いほど、前記転送手段に高い性能を発揮させる動作モードを、前記適用する動作モードと判定することを特徴とする付記3記載の情報処理装置。
【0226】
(付記5) 前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されている、
ことを特徴とする付記3または4記載の情報処理装置。
【0227】
(付記6) 前記記憶手段には、流入データが途絶えた場合の機能停止内容が、動作モードごとに定義されており、
前記制御手段は、データの流入が途絶えた場合、前記判定された動作モードに応じた機能停止制御を行う、
ことを特徴とする付記1乃至5のいずれかに記載の情報処理装置。
【0228】
(付記7) 前記記憶手段には、低い重要度に応じた動作モードほど多くの機能を停止させるように、流入データが途絶えた場合に停止させる機能が定義されている、
ことを特徴とする付記6記載の情報処理装置。
【0229】
(付記8) ヘッダ情報の適合条件と、該適合条件に合致したパケットの重要度とを対応付けて、前記記憶装置に記憶されており、
前記重要度判定手段は、流入したパケットのヘッダ情報が合致する適合条件を検索し、合致する適合条件に対応する重要度を、該パケットによって転送されるデータの重要度と判定することを特徴とする付記1乃至7のいずれかに記載の情報処理装置。
【0230】
(付記9) 前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から1以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、フローのデータの重要度を、該フローに設定された複数の経路上の装置に通知する、
ことを特徴とする付記1乃至8のいずれかに記載の情報処理装置。
【0231】
(付記10) 送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記1乃至9のいずれかに記載の情報処理装置。
【0232】
(付記11) 前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されており、
前記制御手段は、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、動作モードに応じた性能の余裕幅をとるように、前記転送手段の性能を制御する、
ことを特徴とする付記10記載の情報処理装置。
【0233】
(付記12) 前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から1以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知することを特徴とする付記1乃至11のいずれかに記載の情報処理装置。
【0234】
(付記13) 送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度、および他の装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記1乃至12のいずれかに記載の情報処理装置。
【0235】
(付記14) コンピュータが、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
ことを特徴とする制御方法。
【0236】
(付記15) コンピュータに、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
処理を実行させることを特徴とする制御プログラム。
【符号の説明】
【0237】
1 情報処理装置
1a 転送手段
1b 重要度判定手段
1c 動作モード判定手段
1d 記憶手段
1e 制御手段
2,3 ネットワーク
【技術分野】
【0001】
本発明は、データ転送を行う情報処理装置、制御方法、および制御プログラムに関する。
【背景技術】
【0002】
ネットワークでは複数のノードがパケットを中継し、宛先のコンピュータまでパケットを伝送させる。各ノードはパケットの宛先までの伝送経路を認識するために、経路情報を相互に交換している。経路情報には、その経路情報を送信したノードが認識している伝送経路が示されている。各ノードは、他のノードから受信した経路情報に基づいて、宛先に応じたパケットの転送先を選択する。
【0003】
ノードから宛先のコンピュータへの伝送経路が複数存在する場合、ノードは、所定のアルゴリズムで経路選択を行う。ノードにおける経路選択のアルゴリズムは、OSPF(Open Shortest Path First)やRIP(Routing Information Protocol)などのルーティングプロトコルに規定されている。これらのルーティングプロトコルでは、基本的には最短経路を採るように経路選択が行われる。あるいは、これらのルーティングプロトコルを用いた既存の高度な制御としては、ネットワーク利用率のピークを最小化するよう平滑化しつつ、最短経路を採るように経路選択が行われる。
【0004】
このような従来のルーティングプロトコルでは、パケットなどのトラフィック(ネットワーク上を移動するデータ)は予め決められた経路に沿って転送される。そのため、全体的にトラフィック量が少ない時間帯が存在しても、各ノードを起動させ続けなければならない。
【0005】
他方、ネットワークの処理能力の向上に伴い、ネットワークを構成する機器による消費電力も増加している。そのため、ネットワーク全体での消費電力を抑制した運用を行うことの重要性が高まっている。例えばルータなどの装置の省電力化を図る技術としては、DVS(Dynamic Voltage Scaling)と呼ばれる技術がある。DVSは、電源電圧や動作クロックを可変にして、低負荷時に電圧や動作クロック周波数を落とし、消費電力を下げる技術である。
【0006】
また、最近はトラフィック処理の有無に応じて休止状態となるルータがある。そこで、トラフィックを一部の経路に集約することができれば、トラフィック処理が発生していないルータを休止状態にさせ、省電力化を図ることができる。
【0007】
例えば、ネットワークのトラフィックを限定された経路に確実に集約する技術が考えられている。なおこの技術では、所定の閾値を超えるトラフィックが発生したリンクがある場合、そのリンクへのトラフィックの送信元となるルータが制御パケットを用いてアラーム情報を発信する。アラーム情報を受信した各ルータは、パケットの振り分けモードを、集約モードから分散モードに変更する。これにより、トラフィックの集約による輻輳の発生が抑止される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2010−206467号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、省電力状態となったルータに大量のトラフィックが発生した場合、そのルータを通常の動作状態に復帰させるのに時間がかかり、伝送遅延などの品質劣化が発生する。ここで、転送される各種のデータはそれぞれ許容できる伝送品質の劣化度合いが異なり、許容できる範囲を超えて伝送品質が劣化してしまうことが問題となる。
【0010】
1つの側面では、本発明は、転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を行うことができる情報処理装置、制御方法、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
1つの案では、転送手段、重要度判定手段、動作モード判定手段、および制御手段を有する情報処理装置が提供される。転送手段は、流入したデータを転送する。重要度判定手段は、流入したデータの重要度を判定する。動作モード判定手段は、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。制御手段は、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで転送手段の省電力制御を行う。
【0012】
また別の案では、コンピュータが、流入したデータの重要度を判定し、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、ことを特徴とする制御方法が提供される。
【0013】
また別の案では、コンピュータに、流入したデータの重要度を判定し、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、処理を実行させることを特徴とする制御プログラムが提供される。
【発明の効果】
【0014】
転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を行うことができるようにする。
【図面の簡単な説明】
【0015】
【図1】第1の実施の形態に係る装置の機能構成の一例を示す図である。
【図2】第2の実施の形態のシステム構成例を示す図である。
【図3】誘引力を用いたトラフィック集約技術の一例を示す図である。
【図4】本実施の形態に用いるノードのハードウェアの一構成例を示す図である。
【図5】第2の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。
【図6】深いスリープ状態で動作を停止させる機能の一例を示す図である。
【図7】浅いスリープ状態で動作を停止させる機能の一例を示す図である。
【図8】フロー管理テーブルのデータ構造の一例を示す図である。
【図9】フロー決定テーブルのデータ構造例を示す図である。
【図10】重要度テーブルのデータ構造の一例を示す図である。
【図11】性能制御テーブルのデータ構造の一例を示す図である。
【図12】フローの重要度ごとの通過トラフィック量と性能との関係の一例を示す図である。
【図13】トラフィック管理テーブルのデータ構造の一例を示す図である。
【図14】送出分配テーブルのデータ構造の一例を示す図である。
【図15】パケット受信時の処理手順を示すフローチャートである。
【図16】重要度決定処理の手順を示すフローチャートである。
【図17】トラフィック量計測処理の手順を示すフローチャートである。
【図18】性能決定処理の手順を示すフローチャートである。
【図19】スリープモード移行処理の手順を示すフローチャートである。
【図20】重要度通知の一例を示す図である。
【図21】フローの重要度に応じた各ノードの動作モードの一例を示す図である。
【図22】誘引力に応じた送出確率の制御例を示す図である。
【図23】トラフィックの集約および分散状況を示す図である。
【図24】第3の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。
【図25】第3の実施の形態のトラフィック管理テーブルのデータ構造の一例を示す図である。
【図26】トラフィック履歴表のデータ構造の一例を示す図である。
【図27】第3の実施の形態の送出分配テーブルのデータ構造の一例を示す図である。
【図28】誘引力履歴表のデータ構造の一例を示す図である。
【図29】第3の実施の形態のトラフィック量計測処理の手順を示すフローチャートである。
【図30】第4の実施の形態の制御パケット送信手順を示すフローチャートである。
【図31】第4の実施の形態における制御パケット受信処理の手順を示すフローチャートである。
【図32】第4の実施の形態を適用したパケット転送の第1の例を示す図である。
【図33】第4の実施の形態を適用したパケット転送の第2の例を示す図である。
【発明を実施するための形態】
【0016】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る装置の機能構成の一例を示す図である。情報処理装置1は、ネットワーク2とネットワーク3との間のデータ転送を行う。そのために情報処理装置1は、転送手段1a、重要度判定手段1b、動作モード判定手段1c、記憶手段1d、および制御手段1eを有する。
【0017】
転送手段1aは、流入したデータを転送する。例えば転送手段1aは、ネットワーク2から流入したデータをネットワーク3へ転送する。また転送手段1aは、ネットワーク3から流入したデータをネットワーク2へ転送する。
【0018】
重要度判定手段1bは、流入したデータの重要度を判定する。例えば重要度判定手段1bは、流入したデータのトラフィッククラスやToS(Type Of Service)フィールドに基づいてそのデータの重要度を判定する。トラフィッククラスやToSは、データを伝送するパケットのヘッダ情報の1つである。トラフィッククラスやToSには、パケットの優先度が設定される。例えば重要度判定手段1bは、優先度が高いパケットで伝送されるデータは、重要度が高いと判断することができる。
【0019】
動作モード判定手段1cは、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。例えば動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、適用する動作モードと判定する。
【0020】
ここで、データの重要度が、高い順に「高」、「中」、「低」の3段階で設定される場合を想定する。この場合、例えば重要度「高」には動作モード「品質優先モード」が対応付けられ、重要度「中」には動作モード「中間モード」が対応付けられ、重要度「低」には動作モード「省電力優先モード」が対応付けられる。動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度が「高」であれば、適用する動作モードを「品質優先モード」と判定する。また動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度が「中」であれば、適用する動作モードを「中間モード」と判定する。また動作モード判定手段1cは、流入したデータそれぞれの重要度のうち、最も高い重要度が「低」であれば、適用する動作モードを「省電力優先モード」と判定する。
【0021】
記憶手段1dは、動作モードごとの省電力制御内容を記憶する。例えば記憶手段1dには、動作モードごとに、流入トラフィックがある場合と、流入トラフィックがない場合との省電力制御内容が設定される。図1の例では、流入トラフィックがある場合、品質優先モードでは100%の性能を発揮させ、中間モードでは負荷に広い余裕幅を持たせた性能を発揮させ、省電力優先モードでは負荷に狭い余裕幅を持たせた性能を発揮させることが設定されている。また、流入トラフィックがない場合、品質優先モードでは機能をスリープさせず、中間モードでは浅いスリープのスリープモードに移行させ、省電力優先モードでは深いスリープのスリープモードに移行させることが設定されている。
【0022】
制御手段1eは、記憶手段1dを参照し、適用する動作モードで転送手段1aの省電力制御を行う。例えば制御手段1eは、適用する動作モードに対応する省電力制御内容において、転送手段1aに発揮させる性能が設定さている場合、適用する動作モードに対応する性能となるように転送手段1aの省電力制御を行う。例えば制御手段1eは、転送手段1aの動作クロックを変更することで、転送手段1aの性能を制御する。また制御手段1eは、転送手段1aの電源電圧を制御することで、転送手段1aの性能を制御することもできる。
【0023】
このような情報処理装置1によれば、ネットワーク2からデータが流入すると、重要度判定手段1bにより、流入したデータの重要度が判定される。次に動作モード判定手段1cにより、流入したデータそれぞれの重要度に基づいて、適用する動作モードが判定される。そして、制御手段1eにより、適用する動作モードで、転送手段1aの省電力制御が行われる。
【0024】
このようにして、流入したデータの重要度に応じた転送手段1aの省電力制御が可能となる。そのため、例えば重要度の高いデータが流入していれば、品質優先の動作モードにより省電力制御を行い、転送データの品質劣化を抑止できる。また最大でも重要度が中程度のデータが流入しているのであれば、中間的な動作モードで省電力制御を行い、伝送品質の劣化を少なく抑えながらも、消費電力が削減される。また最も重要度が低いデータのみが流入しているのであれば、省電力優先の動作モードで省電力制御を行い、伝送品質の劣化を許容して、消費電力を大幅に削減することが可能となる。
【0025】
なお、転送手段1a、重要度判定手段1b、動作モード判定手段1c、および制御手段1eは、情報処理装置1が有するCPU(Central Processing Unit)により実現することができる。また、記憶手段1dは、情報処理装置1が有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)により実現することができる。
【0026】
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第1の実施の形態では、データ転送の技術として説明したが、多くのネットワークではパケットによってデータ転送が行われる。そこで、第2の実施の形態では、ネットワークに配置されたルータでパケットを転送する場合を例に採り、適切なパケット転送経路の振り分け技術について説明する。なお、以下の説明では、ネットワーク内でパケットの転送を行うルータを、ノードと呼ぶこととする。また特定の送信元から特定の宛先までのトラフィックの集合を「フロー」と呼ぶ。
【0027】
第2の実施の形態では、ノードの動作特性、スリープレベルの設定は、通過フローの重要度の最大値(最大重要度)に応じて決定される。ノードを通過するフローのうち少なくとも1つに流入トラフィックがあれば、ノードは動作状態である。ノードを通過するすべてのトラフィック量が0になれば、そのノードはスリープする。このときのスリープレベルについても、通過フローの最大重要度により決定される。
【0028】
図2は、第2の実施の形態のシステム構成例を示す図である。ネットワーク10には、複数のノード100,200,300,400,500,600が含まれている。
ネットワーク10に含まれるノードのうち、ノード100,200,500,600は、それぞれ他のネットワーク21〜24に接続されている。ノード100,200,500,600は、ネットワーク10内でのトラフィックの転送に加え、他のネットワークから入力されるトラフィックや他のネットワークへ出力するトラフィックの転送を行うノードとして機能する。このような他のネットワークと間のトラフィックの転送を行うノード100,200,500,600を、特にエッジノードと呼ぶ。
【0029】
エッジノードのうち、他のネットワークから流入したトラフィックを、ネットワーク10を介して転送するノードを、入口ノードと呼ぶ。また、エッジノードのうち、ネットワーク10を介して転送されてきたトラフィックを他のネットワークへ送出するノードを、出口ノードと呼ぶ。エッジノードは、トラフィックの転送方向に応じて、入口ノードとして機能したり、出口ノードとして機能したりする。
【0030】
ネットワーク10に含まれるノードのうち、ノード300,400は、ネットワーク10内のトラフィックを転送する。このようなネットワーク10内でのトラフィックの転送を行うノード300,400を、特に中継ノードと呼ぶ。ノード300,400は、共にノード100,200,500,600それぞれに接続されている。そしてノード300,400は、ノード100,200,500,600間のトラフィックを転送する。
【0031】
各ノードには、ネットワーク10上で識別するためのIDが付与されている。ノード100のIDは「1」である。ノード200のIDは「2」である。ノード300のIDは「3」である。ノード400のIDは「4」である。ノード500のIDは「5」である。ノード600のIDは「6」である。
【0032】
ネットワーク10内では、各ノードが、例えば個々のパケット単位で、伝送経路を選択する。なお、エッジノードとして機能しているノードは、ネットワーク10内でのパケットの中継をするため、中継ノードとしての機能も兼ね備える。
【0033】
以上のような構成のシステムにより、ネットワーク10内でトラフィックが転送される。第2の実施の形態では、ノード100,200に流入したトラフィックを、ノード500,600に転送する場合を想定する。ネットワークに流入したトラフィックは、入口となるノード100,200に予め定義された経路で、出口となるノード500,600に転送される。
【0034】
第2の実施の形態において、トラフィックが他のネットワーク21,22から流入するノード100,200は、入口ノードとして機能する。トラフィックを他のネットワーク23へ送出させるノード500,600は、出口ノードとして機能する。トラフィックをネットワーク10内で中継するノード300,400は、中継ノードとして機能する。経路指定型のルーティンを行う場合、入口ノードとして機能するノード100,200には、区間(入口ノードと出口ノードとの対)に対して、1つ以上の経路が設定されている。そして入口ノードとして機能するノード100,200は、流入したトラフィックを、予め設定された経路に所定の転送確率で分配する。
【0035】
また各ノードは、トラフィックの流入が一定時間途絶えると、スリープモードに移行する。スリープモードでは、ノードの多くの機能が停止し、消費電力が低く抑えられる。各ノードは、複数のスリープモードを有している。例えば、浅いスリープと深いスリープとのスリープモードを有する。ただし深いスリープのスリープモードであっても、制御パケットの転送に必要な機能は動作し続ける。
【0036】
また各ノードは、電源電圧や動作クロックの周波数を制御することによる省電力制御が可能である。各ノードは、省電力のための性能制御として、複数の段階で消費電力制御を行うことができる。例えば各ノードは、ノードへのトラフィックの流入が一定時間途絶えた場合、省電力モードとして、該当ノードを、動作周波数を低下させる低電力モードに移行させることができる。
【0037】
また、第2の実施の形態では、ネットワークのトラフィックの集約を、誘引力を用いて行うものとする。各ノードは、自己が転送するトラフィックが多いほど、大きな誘引力を計算し、隣接するノードに通知する。誘引力を受け取ったノードは、パケットを転送する際に、誘引力が大きい隣接ノードほど転送確率を大きくし、パケットの転送経路を決定する。このようにして、トラフィックが多いノードを経由する経路へ、トラフィックが集約されていく。なお、誘引力を用いたトラフィックの集約技術としては、例えば特開2010−206467号公報に開示された技術がある。
【0038】
図3は、誘引力を用いたトラフィック集約技術の一例を示す図である。図3の例では、ノード100には、ノード500を出口ノードとするフローと、ノード600を出口ノードとするフローとが、ネットワーク21から流入している。またノード200には、ノード500を出口ノードとするフローが、ネットワーク22から流入している。
【0039】
このときノード100からノード500へのフローについて、ノード100には、ノード300を経由する経路とノード400を経由する経路とが設定されているものとする。またノード100からノード600へのフローについて、ノード100には、ノード300を経由する経路のみが設定されているものとする。またノード200からノード500へのトラフィックについて、ノード200には、ノード300を経由する経路とノード400を経由する経路とが設定されているものとする。
【0040】
図3の例では、ノード100は、ノード500へのフローのトラフィックを、ノード300を経由する経路により多く分配している。またノード200は、ノード500へのフローのトラフィックを、ノード300を経由する経路により多く分配している。
【0041】
トラフィックを中継するノード300,400は、流入するトラフィック量に応じた誘引力を、経路上の入口ノード側に隣接するノード100,200に通知する。図3の例では、ノード300の方が、ノード400よりも大きな誘引力を、ノード100,200に通知する。
【0042】
ノード100,200は、ノード300,400からの誘引力を受け取ると、通知した誘引力が大きなノード300へ、さらに多くのトラフィックを振り分ける。すると、ノード300に流入するトラフィック量は増加し、誘引力も増加する。逆に、ノード400に流入するトラフィック量は減少し、誘引力も減少する。このような処理を継続すると、すべてのトラフィックが、ノード300を経由する経路に集約される。その結果、ノード400をスリープモードに移行させ、省電力化を図ることが可能となる。
【0043】
しかし、ノードを一度スリープモードにすると、通常動作に復帰させるのに時間がかかる。そこで第2の実施の形態では、各ノードを経由する経路を有するフローの重要度に応じて、スリープモードにするか否か、あるいはスリープモードにするときのレベルを決定する。これにより、重要度が高いフローの伝送品質を保つことができると共に、重要度が低いフローしか中継しないノードについては、積極的に省電力化を図り、ネットワーク全体の省電力を抑制することができる。
【0044】
また流入トラフィックがあるノードであっても、流入トラフィックが少なければ、DVSの技術などを用いて、省電力化を図ることができる。しかし、DVSにより省電力化を図った状態でトラフィック量が急激に増加すると、性能を向上させる性能制御が遅れ、パケットの遅延増加などの伝送品質の劣化の可能性がある。そこで、第2の実施の形態では、重要度の高いにフローに関するトラフィックを転送するノードについては、現在の処理負荷からの余裕幅を広く取った性能で動作させる。これにより重要度が高いフローに関する急激なトラフィックの増加があった場合の品質劣化を抑止することができる。また、重要度の低いにフローに関するトラフィックのみを転送するノードについては、現在の処理負荷からの余裕幅を狭く取った性能で動作させる。これによりネットワークの省電力化を図ることができる。
【0045】
図4は、本実施の形態に用いるノードのハードウェアの一構成例を示す図である。ノード100は、主制御プロセッサ101、ネットワークプロセッサ102、ROM(Read Only Memory)103、RAM104、フラッシュメモリ105、電源制御部106、起動制御監視部107、および複数のネットワークインタフェース(NIF)108−1,108−2,・・・を有する。
【0046】
ノード100は、主制御プロセッサ101によって装置全体が制御されている。例えば主制御プロセッサ101は、他のノードとの制御パケットの送受信を行う。また主制御プロセッサ101は、動作クロック変更、電源電圧変更、スリープモード移行などの制御を行う。主制御プロセッサ101には、ネットワークプロセッサ102、ROM103、RAM104、フラッシュメモリ105、電源制御部106などが接続されている。
【0047】
ネットワークプロセッサ102は、複数のNIF108−1,108−2,・・・に接続されており、パケットの転送制御を行う。ROM103には、例えば起動時にフラッシュメモリ105に格納された設定データやファームウェアプログラムをRAM104へ書き込み実行するブートプログラムが、予め格納されている。RAM104には、例えば主制御プロセッサ101が処理を実行する際に利用されるデータやプログラムが、一時的に格納される。フラッシュメモリ105には、例えば主制御プロセッサ101やネットワークプロセッサ102のファームウェアプログラム、ネットワークの管理者により設定されたネットワーク制御情報、あるいはスリープモード時にネットワークプロセッサ101から退避された宛先検索メモリ110およびネットワーク制御情報メモリ120の内容やスリープモード中に制御パケットで送受信される各種制御情報が格納される。
【0048】
電源制御部106は、主制御プロセッサ101やネットワークプロセッサ102に供給する電源を制御する。例えば電源制御部106は、主制御プロセッサ101からスリープモードへの移行指示を受けると、所定の回路への電源供給を停止する。また電源制御部106は、スリープモード時に起動制御監視部107からトラフィックの発生の通知を受けると、電源供給を停止していた回路への電源供給を開始する。また電源制御部106は、主制御プロセッサ101から指示された電源電圧を、主制御プロセッサ101やネットワークプロセッサ102に供給する。
【0049】
起動制御監視部107は、複数のNIF108−1,108−2,・・・に接続されており、スリープモード時のパケットの流入の有無を監視する。起動制御監視部107は、例えばパケットの流入を検知すると、電源制御部106にトラフィックの発生を通知する。
【0050】
NIF108−1は、他のノードと伝送線によって接続されており、接続されたノードとの間でデータ転送を行う。そのためにNIF108−1は、パケット受信回路108a、パケットバッファ108b、パケット送信回路108c、およびパケットバッファ108dを有している。パケット受信回路108aは、他のノードから入力されたパケットを受信する。パケットバッファ108bは、受信したパケットを一時的に格納する。パケット送信回路108cは、他のノードに対してパケットを送信する。パケットバッファ108dは、送信するパケットを一時的に格納する。他のNIF108−2,・・・もNIF108−1と同様の機能を有している。
【0051】
またノード100には、管理端末装置25を接続することができる。管理端末装置25は、主制御プロセッサ101と起動制御監視部107に接続される。ネットワーク10の管理者は、管理端末装置25を用いて、ノード100に対して各種設定を行うことができる。なお管理端末装置25には、例えば光ディスク26のデータを読み取るドライブ装置が内蔵されている。光ディスク26は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク26には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。管理端末装置25は、例えば光ディスク26からプログラムやデータを読み取り、ノード100に入力することができる。その場合、ノード100では、入力されたプログラムやデータがフラッシュメモリ105に格納される。
【0052】
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお図4には、ノード100のハードウェア構成例を示したが、他のノード200,300,400,500,600も同様のハードウェアで実現することができる。また、第1の実施の形態に示した装置も、図4に示したコンピュータと同様のハードウェアにより実現することができる。
【0053】
図5は、第2の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。ネットワークプロセッサ102は、宛先検索メモリ110、ネットワーク制御情報メモリ120、制御部130、ヘッダ解析部140、宛先判定部150、パケット転送部160、およびトラフィック計測部170を有する。
【0054】
宛先検索メモリ110は、宛先のIPアドレスと隣接ノードとの対応関係を記憶する。例えば宛先検索メモリ110には、OSPFやRIPなどのルーティングプロトコルにより取得されたルーティング情報を記憶する。また、例えば宛先検索メモリ110には、宛先ノードのIPアドレスに対応付けて、隣接ノードのIPアドレス、MAC(Media Access Control)アドレスや隣接ノードにつながる出力物理ポート番号などが格納される。
【0055】
ネットワーク制御情報メモリ120は、パケットの転送先の決定に利用される各種制御情報を記憶する。例えばネットワーク制御情報メモリ120には、フロー管理テーブル120a、フロー決定テーブル121、重要度テーブル122、性能制御テーブル123、トラフィック管理テーブル124、複数の送出分配テーブル125a,125b,125c,・・・、現行動作モード126、および現在閾値127が格納される。
【0056】
フロー管理テーブル120aには、フローごとの経路が設定されている。なお、フロー管理テーブル120aは、経路指定型のトラフィック制御を行う場合に、入口ノードに格納される。
【0057】
フロー決定テーブル121は、パケットのヘッダ情報に基づいて、フローIDと重要度とを判別するための情報が登録されたデータテーブルである。重要度テーブル122は、重要度ごとの動作特性やスリープレベルが登録されたデータテーブルである。性能制御テーブル123は、重要度ごとに、トラフィックの閾値と性能との対応関係を定義したデータテーブルである。トラフィック管理テーブル124は、フローごとのトラフィック量を管理するデータテーブルである。送出分配テーブル125a,125b,125c,・・・は、各フローに設定された経路へのパケットの分配率を定義したデータテーブルの集合である。現行動作モード126は、ノード100に適用する重要度のレベルを示す情報である。例えば現行動作モード126は、「品質優先モード」、「中間モード」、「省電力優先モード」のいずれかの値が設定される。現在閾値127は、現在の性能で処理を実行する、負荷の上限値である。ノード100の起動時には、現在閾値に例えば「100%」の初期値が設定される。
【0058】
制御部130は、主制御プロセッサ101からの指示を受けて、パケットのルーティング処理を制御する。なお主制御プロセッサ101は、制御部130を介して、ネットワーク制御情報メモリ120内の情報にアクセスすることができる。
【0059】
ヘッダ解析部140は、入力されたパケットのヘッダ情報を解析する。例えばヘッダ解析部140は、ヘッダ情報を解析し、入力されたパケットに対応するフローのフローIDや重要度を判定する。
【0060】
宛先判定部150は、ヘッダ解析部140からパケットを受け取り、宛先検索メモリ110を参照し、パケットの送出先となる出力ポート、経路上で隣接するノードのIPアドレス、MACアドレスなどを判定する。
【0061】
パケット転送部160は、宛先判定部150からパケットを受け取り、宛先判定部150が判定した出力ポートを有するNIFへパケットを送出する。
トラフィック計測部170は、フローの経路ごとの単位時間当たりの送出トラフィック量を計測する。トラフィック計測部170は、計測したトラフィック量を、該当経路の送出分配テーブルに設定する。
【0062】
なお、図1に示した転送手段1aは、図5の宛先判定部150およびパケット転送部160によって実現されている。また図1に示した重要度判定手段1bと動作モード判定手段1cとは、図5のヘッダ解析部140によって実現されている。また図1に示した記憶手段1dは、図5のネットワーク制御情報メモリ120によって実現されている。また図1に示した制御手段1eは、ネットワークプロセッサ102の制御部130、主制御プロセッサ101、電源制御部106(図4参照)、および起動制御監視部107(図4参照)によって実現されている。
【0063】
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このような構成のノード100において、スリープモードになると、一部の機能が停止する。第2の実施の形態では、スリープモードを、深いスリープと浅いスリープとの2段階のいずれかに設定することができる。深いスリープは、浅いスリープに比べて通常動作への復帰時間は長くなるが、消費電力は低く抑えることができるスリープモードである。
【0064】
図6は、深いスリープ状態で動作を停止させる機能の一例を示す図である。図6では、深いスリープのスリープ状態のときに停止させる機能を破線で示し、動作させる機能を実線で示している。図6の例では、主制御プロセッサ101,ネットワークプロセッサ102、ROM103、RAM104、およびフラッシュメモリ105の動作が停止されている。一方、電源制御部106、起動制御監視部107、およびNIF108−1,108−2,・・・は動作している。
【0065】
深いスリープのスリープモードに移行する場合、主制御プロセッサ101は、例えばネットワークプロセッサ102の制御部130から宛先検索メモリ110とネットワーク制御情報メモリ120の内容を取得し、フラッシュメモリ105に書き込む。なお主制御プロセッサ101が、宛先検索メモリ110とネットワーク制御情報メモリ120に格納する情報をネットワークプロセッサ102に入力する際に、入力した情報と同じ情報をフラッシュメモリ105に書き込んでおくこともできる。このようにした場合、深いスリープモードへの移行時に、ネットワークプロセッサ102内の情報をフラッシュメモリ105に書き込む処理を行わずにすむ。
【0066】
このようなスリープモードからすべての機能を起動させる場合、まず、主制御プロセッサ101が、ROM103からファームウェアブートプログラムを実行し、フラッシュメモリ105から主制御プロセッサ用ファームウェアプログラムや設定情報をRAM104にロードする。その後、主制御プロセッサ101がRAM104にロードしたプログラムを実行することで、主制御プロセッサが起動する。
【0067】
主制御プロセッサ101は、起動が完了すると、フラッシュメモリ105にスリープ移行時にネットワークプロセッサ102から宛先検索メモリ110やネットワーク制御情報メモリ120の内容が退避されていれば、読み出してネットワークプロセッサ102の宛先検索メモリ110やネットワーク制御情報メモリ120に設定する。フラッシュメモリは不揮発性であるので停止時も記憶内容は保持されている。ただしそれらの情報はスリープ移行時点のものであり、スリープ中の変化は反映されていない。主制御プロセッサは更にルーティングプロトコルに基づいて隣接ノードとの間でルーティング情報その他の制御情報を送受信することにより、ネットワークトポロジ(ネットワークの接続形態)や経路情報を取得する。主制御プロセッサ101は、取得したネットワークトポロジや経路情報の変化を、ネットワークプロセッサ102の宛先検索メモリ110やネットワーク制御情報メモリ120に設定する。その後正常なパケット転送処理が可能になる。
【0068】
図7は、浅いスリープ状態で動作を停止させる機能の一例を示す図である。図7では、浅いスリープのスリープ状態のときに停止させる機能を破線で示し、動作させる機能を実線で示している。図6の例では、ネットワークプロセッサ102のみ、動作が停止されている。一方、主制御プロセッサ101などのネットワークプロセッサ102以外の機能は動作している。
【0069】
浅いスリープのスリープモードに移行する場合、主制御プロセッサ101は、例えばネットワークプロセッサ102の制御部130から宛先検索メモリ110とネットワーク制御情報メモリ120の内容を取得し、RAM104に書き込む。なお主制御プロセッサ101が、ネットワークプロセッサ102の宛先検索メモリ110とネットワーク制御情報メモリ120に格納する情報をネットワークプロセッサ102に入力する際に、入力した情報と同じ情報をRAM104に書き込んでおくこともできる。このようにした場合、浅いスリープモードへの移行時に、ネットワークプロセッサ102内の情報をRAM104に書き込む処理を行わずにすむ。
【0070】
浅いスリープのスリープモードでは、ネットワークプロセッサ102の機能を停止するのみであるが、有効な省電力効果を得ることができる。例えばネットワークプロセッサ102内の宛先検索メモリ110には、高速な検索が可能であることが要求され、消費電力の大きいTCAM(Ternary CAM)を使用する場合が多い。そのため、ネットワークプロセッサ102の機能を停止すれば、有効な省電力効果が得られる。
【0071】
なお、浅いスリープのスリープモードでは、主制御プロセッサ101によるルーティングプロトコルその他制御パケットの処理は行われる。そして浅いスリープのスリープモード中のネットワーク状態の変化は、主制御プロセッサ101によりRAM104に格納された制御情報に反映される。
【0072】
ネットワークプロセッサ102の起動時には、主制御プロセッサ101により、RAM104から、ネットワークプロセッサ102の宛先検索メモリ110やネットワーク制御情報メモリ120に制御情報がコピーされる。そして、ネットワークプロセッサ102によるパケットのルーティング処理が開始される。
【0073】
このように、ネットワークプロセッサ102の起動の際に事前に実行する処理は、制御情報のコピーのみであり、迅速に、正常なルーティング処理を開始することができる。
なお、浅いスリープのスリープモードの間は、主制御プロセッサ101は、制御パケットを用いたルーティング情報の更新処理を実行すればよいので、その実行に十分なレベルに動作クロックを落とし、低電力化を図ることも可能である。
【0074】
なお、浅いスリープにおいて、さらに消費電力を減らす工夫も可能である。例えば、NIF108−1,108−2,・・・について、接続相手とのネゴシエーションによって回線速度を決定し、スリープ中の通信速度を落とすことができれば、消費電力を減らすことが可能である。また、起動制御監視部107が、スリープ中のルーティングプロトコルによる制御情報の管理処理など制御パケットの処理を代行できるようにしておけば、浅いスリープのスリープモードであっても、主制御プロセッサ101の動作を停止させることが可能となる。
浅いスリープから更に深いスリープのスリープモードに移行する場合、主制御プロセッサ101は、たとえばRAM104上に置かれたルーティング情報やネットワーク制御情報をフラッシュメモリ105に書き込み退避する。
【0075】
次に、ネットワーク制御情報メモリ120に格納される制御情報について詳細に説明する。
図8は、フロー管理テーブルのデータ構造の一例を示す図である。フロー管理テーブル120aには、フローID、区間、および経路の欄が設けられている。フローIDの欄には、ノード100にネットワーク21から流入するフローの識別情報(フローID)が設定される。区間の欄には、フローIDで示されるフローの区間が、入口ノードのノードIDと出口ノードのノードIDとの組で設定される。経路の欄には、フローIDで示されるフローの経路が設定される。経路は、入口ノードから出口ノードまでの経路上の各ノードのノードIDの配列で示される。
【0076】
図9は、フロー決定テーブルのデータ構造例を示す図である。図9の例では、フロー決定テーブル121は、連想メモリ(CAM:Content Addressable Memory)によって構成されている。
【0077】
フロー決定テーブル121には、入力物理ポート番号、送信元MACアドレス、宛先MACアドレス、タグVLAN(Virtual LAN)ユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、DSCP(DiffServ Code Point)、およびフローID、重要度テーブルアドレスの欄が設けられている。これらの欄のうちフローIDと重要度テーブルアドレス以外の各欄の値は、ヘッダ情報の適合条件を示しており、受信したパケットに対応するフローのフローID、および重要度テーブルアドレスの検索に利用される。
【0078】
入力物理ポート番号の欄には、フローIDで示されるフローのパケットがノード100に入力されるときの物理ポートを示す物理ポート番号が設定される。送信元MACアドレスの欄には、フローIDで示されるフローのパケットのヘッダの送信元MACアドレスが設定される。宛先MACアドレスの欄には、フローIDで示されるフローのパケットのヘッダの宛先MACアドレスが設定される。ユーザ優先度(UPRI)の欄には、フローIDで示されるパケットを含むフレームがVLANタグ付の場合のユーザ優先度(UPRI)が設定される。送信元IPアドレスの欄には、フローIDで示されるフローのパケットの送信元IPアドレスが設定される。宛先IPアドレスの欄には、フローIDで示されるフローのパケットの宛先IPアドレスが設定される。IPプロトコル番号の欄には、フローIDで示されるフローのパケットのIPプロトコル番号が設定される。送信元IPポート番号の欄には、フローIDで示されるフローのパケットの送信元IPポート番号が設定される。宛先IPポート番号の欄には、フローIDで示されるフローのパケットの宛先IPポート番号が設定される。DSCPの欄には、フローIDで示されるフローのパケットのDSCPの値が設定される。
【0079】
なお、入力物理ポート番号、送信元MACアドレス、宛先MACアドレス、ユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、およびDSCPの各欄には、特定の値に代えて合致条件を設定してもよい。なお合致条件の一つとしてどんな値とも合致するワイルドカードを指定することもできる。
【0080】
フローIDの欄には、以上の各欄で特定されるフローの識別情報(フローID)が設定される。
重要度テーブルアドレスの欄には、フローIDで示されるフローの重要度を定義した重要度テーブル内のレコードのアドレスが設定される。
【0081】
ヘッダ解析部140は、フロー決定テーブル121の各欄、入力物理ポート番号、送信元MACアドレス、宛先MACアドレス、タグVLANユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、DSCPの値と、入力パケットのヘッダ情報の対応部分の値とを比較し、すべての欄が合致するレコードのフローIDと、重要度テーブル122のアドレスとを取得する。このようにして、ヘッダ解析部140は、フロー決定テーブル121を用いて、受信したパケットに対応するフローIDと重要度テーブル122のアドレス、つまりそのフローの重要度を取得することができる。
【0082】
図10は、重要度テーブルのデータ構造の一例を示す図である。重要度テーブル122には、重要度、動作モード、動作特性、およびスリープレベルの欄が設けられている。
重要度の欄には、フローの重要度が設定される。図10の例では、「高」、「中」、「低」の3段階の重要度が設定されている。
【0083】
動作モードの欄には、重要度に応じた動作モードが設定される。図10の例では、重要度が「高」であれば動作モードは「品質優先モード」であり、重要度が「中」であれば動作モードは「中間モード」であり、重要度が「低」であれば動作モードは「省電力優先モード」である。品質優先モードは、ノード100の性能を最大限まで発揮させ、パケットの伝送品質を最良に保つための動作モードある。中間モードは、パケットの伝送品質の劣化を出来る限り抑止しながら、適度な省電力化を図る動作モードである。省電力優先モードは、パケットの伝送品質の劣化をある程度許容し、ノード100の省電力化の向上を図る動作モードである。
【0084】
動作特性の欄には、各重要度に対応する性能制御テーブル123内の閾値・性能リストの識別情報が設定される。スリープレベルの欄には、各重要度に対応するスリープレベルが設定される。図10の例では、深いスリープ、浅いスリープ、およびスリープさせない(非スリープ)という3段階のスリープレベルが設定されている。重要度「高」の場合、スリープレベル「非スリープ」であり、重要度「中」の場合、スリープレベル「浅いスリープ」であり、重要度「低」の場合、スリープレベル「深いスリープ」である。
【0085】
また重要度テーブル122の各レコードは、重要度テーブル122のアドレスに対応付けられている。例えばアドレス「add#0」には、重要度「高」のフローに関するレコードが設定され、アドレス「add#1」には、重要度「中」のフローに関するレコードが設定され、アドレス「add#2」には、重要度「低」のフローに関するレコードが設定されている。
【0086】
図11は、性能制御テーブルのデータ構造の一例を示す図である。性能制御テーブル123には、複数の閾値・性能リストそれぞれの識別情報に対応付けて、閾値と性能との1つ以上の対(閾値・性能対)が登録されている。
【0087】
性能制御テーブル123における閾値は、対応する性能でノード100を動作させるノード100の負荷の上限値である。ノード100の負荷は、例えばノード100の単位時間当たりのパケット転送の最大処理能力に対する現在の単位時間当たりのパケット転送数である。例えば閾値「100」は、パケット転送の処理能力の最大値を閾値とすることを示し、閾値「25」は、パケット転送の処理能力の最大値の25%の処理負荷を閾値とすることを示す。
【0088】
性能は、ノード100のパケット転送の処理能力の最大値に対して、対応する閾値以下の処理負荷のときにノード100に発揮させる処理能力を示す数値である。例えば、ノード100の動作クロック数と処理能力とが比例している場合、動作クロック数を最大値の40%に低下させることで、40%の処理能力にすることができる。
【0089】
図11の例では、識別情報「閾値・性能リスト#1」の閾値・性能リストには、閾値「100」・性能「100」の閾値・性能対のみが登録されている。これはノード100を常に最大性能で動作させることを示している。
【0090】
また識別情報「閾値・性能リスト#2」の閾値・性能リストには、3つの閾値・性能対が登録されている。閾値「25」・性能「40」の閾値・性能対は、処理負荷が25%以下の間はノード100を40%の処理能力で動作させることを示している。閾値「55」・性能「70」の閾値・性能対は、処理負荷が25%を超え55%以下の間はノード100を70%の処理能力で動作させることを示している。閾値「100」・性能「100」の閾値・性能対は、処理負荷が55%を超えた場合はノード100を100%の処理能力で動作させることを示している。
【0091】
識別情報「閾値・性能リスト#3」の閾値・性能リストには、6つの閾値・性能対が登録されている。閾値「5」・性能「10」の閾値・性能対は、処理負荷が5%以下の間はノード100を10%の処理能力で動作させることを示している。閾値「15」・性能「20」の閾値・性能対は、処理負荷が5%を超え10%以下の間はノード100を20%の処理能力で動作させることを示している。閾値「35」・性能「40」の閾値・性能対は、処理負荷が15%を超え35%以下の間はノード100を40%の処理能力で動作させることを示している。閾値「55」・性能「60」の閾値・性能対は、処理負荷が35%を超え55%以下の間はノード100を60%の処理能力で動作させることを示している。閾値「75」・性能「80」の閾値・性能対は、処理負荷が55%を超え75%以下の間はノード100を80%の処理能力で動作させることを示している。閾値「100」・性能「100」の閾値・性能対は、処理負荷が75%を超えた場合はノード100を100%の処理能力で動作させることを示している。
【0092】
図12は、フローの重要度ごとの通過トラフィック量と性能との関係の一例を示す図である。図12では、横軸にノード100を通過するトラフィック量を示し、縦軸にノード100に発揮させる性能を示している。図12には、フローの重要度が「高」の場合の性能の変化を示す線31、フローの重要度が「中」の場合の性能の変化を示す線32、およびフローの重要度が「低」の場合の性能の変化を示す線33が示されている。また、通過トラフィック量に応じたノード100の処理負荷を示す線34も示されている。
【0093】
フローの重要度が「高」の場合、通過トラフィック量に関係なく、ノード100は常に100%の処理性能で動作する。フローの重要度が「中」の場合、通過トラフィック量が増加するのに従って、ノード100の性能が3段階で、段階的に増加する。フローの重要度が「低」の場合、通過トラフィック量が増加するのに従って、ノード100の性能が6段階で、段階的に増加する。
【0094】
図12に示したように、フローの重要度が「低」の場合、ノード100は、常にフローの重要度が「中」の場合の性能以下の性能となる。その結果、処理負荷に対する余裕度は、フローの重要度が「中」の場合の方が、フローの重要度が「低」の場合よりも広くなる。ここで余裕度とは、性能と処理負荷との差分である。
【0095】
このように、重要度が高いトラフィックが通過するときほど、少ない制御段階かつ急激な負荷ピークに対する余裕度を広くとった特性とする。制御段階数が少ないことで、性能制御変更処理回数を減らし、変更中の遅延発生を抑止することができる。また、余裕度を広くとることで、制御が間に合わないような急激な増加時のパケットロストを抑止することができる。
【0096】
図13は、トラフィック管理テーブルのデータ構造の一例を示す図である。トラフィック管理テーブル124には、フローID、フロー重要度、入力ポート、出口エッジノード、流入トラフィック量、および送出分配テーブルの欄が設けられている。
【0097】
フローIDの欄には、フローIDが設定される。フロー重要度の欄には、フローIDで示されるフローの重要度が設定される。入力ポートの欄には、フローIDで示されるフローのパケットが入力される物理ポートの識別番号(物理ポート番号)が設定される。出口エッジノードの欄には、フローIDで示されるフローのこのネットワーク10の出口となるエッジノードの識別情報が設定される。流入トラフィック量の欄には、フローIDで示されるフローの単位時間当たりに流入するトラフィック量が設定される。トラフィック量の単位は、例えばメガバイトである。送出分配テーブルの欄には、フローIDで示されるフローの経路ごとのパケットの分配率を定義した送出分配テーブルの識別情報が設定される。
【0098】
図14は、送出分配テーブルのデータ構造の一例を示す図である。送出分配テーブル125aには、送出分配テーブルの識別情報「Table#1」が設定されている。また送出分配テーブル125aは、出力ポート、隣接ノード、トラフィック誘引力、送出確率、および送出トラフィック量の欄が設けられている。
【0099】
出力ポートの欄には、トラフィック管理テーブル124で対応付けられているフローの経路上で隣接するノードに接続された物理ポートの識別番号(物理ポート番号)が設定される。隣接ノードの欄には、トラフィック管理テーブル124で対応付けられているフローの経路上で隣接するノードのノードIDが設定される。トラフィック誘引力の欄には、経路上で隣接するノードから得られるトラフィック誘引力が設定される。送出確率の欄には、トラフィック誘引力に応じた各経路へのパケットの送出確率が設定される。送出トラフィック量の欄には、各経路へ送出したトラフィック量が設定される。
【0100】
以上のような構成におけるノード100の性能制御・およびスリープモードへの移行制御処理について説明する。
図15は、パケット受信時の処理手順を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
【0101】
[ステップS11]ネットワークプロセッサ102のヘッダ解析部140は、パケットを受信したNIF108−1の受信パケットバッファ108bからパケットを取得する。そしてヘッダ解析部140は、取得したパケットのヘッダ部を取得する。
【0102】
[ステップS12]ヘッダ解析部140は、受信したパケットに対応するフローの重要度決定処理を実行する。重要度決定処理の詳細は後述する(図16参照)。なお重要度決定処理により、受信したパケットに対応するフローのフローIDと重要度とが得られる。
【0103】
[ステップS13]トラフィック計測部170は、受信したパケットのサイズに基づいて、フローの流入トラフィック量を積算する。
[ステップS14]ヘッダ解析部140は、取得したパケットヘッダを宛先判定部150に送る。すると宛先判定部150は、パケットの転送先とする隣接ノードを決定する。例えば宛先判定部150は、ヘッダ解析部140を介して、受信したパケットの隣接ノードへの送出確率を取得する。そして宛先判定部150は、取得した送出確率に従って、宛先となる隣接ノードを決定する。
【0104】
なお、送出確率に基づくトラフィックの集約または分散制御を行わないことも可能である。この場合、宛先判定部150は、例えば宛先検索メモリ110に格納されているルーティングテーブルを参照し、OSPFやRIPなどのルーティングプロトコルに基づいて、転送先のノードを判断する。
【0105】
さらに宛先判定部150は、決定した隣接ノードのMACアドレスや、その隣接ノードが接続された物理ポートの識別番号(物理ポート番号)などを宛先検索メモリ110から取得し、パケット転送部160に渡す。
【0106】
[ステップS15]パケット転送部160は、受信パケットバッファ108bからパケットを取得し、宛先判定部150で決定された隣接ノードへパケットを転送する。この際、パケット転送部160は、宛先判定部150から取得したMACアドレスを、パケットの宛先MACアドレスとし、宛先判定部150から取得した識別情報で示される物理ポートを有するNIFにパケットを渡す。NIFでは、受け取ったそのパケットを送信パケットバッファ108dに格納し、パケットバッファに格納したパケットを順次、隣接するノードに送信する。
【0107】
次に、重要度決定処理の詳細について説明する。
図16は、重要度決定処理の手順を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
【0108】
[ステップS21]ヘッダ解析部140は、フローの重要度を決定する。例えばヘッダ解析部140は、受信したパケットの入力物理ポート番号および受信パケットのヘッダ情報と、フロー決定テーブル121の各レコードとを比較し、合致するレコードを判断する。なお、ヘッダ情報と比較されるのは、フロー決定テーブル121の送信元MACアドレス、宛先MACアドレス、VLANタグ、ユーザ優先度(UPRI)、送信元IPアドレス、宛先IPアドレス、IPプロトコル番号、送信元IPポート番号、宛先IPポート番号、およびDSCPである。ヘッダ解析部140は、合致したレコードのフローIDと重要度テーブルアドレスとを取得する。そしてヘッダ解析部140は、重要度テーブル122内の取得した重要度テーブルアドレスに格納されたレコードを取得する。ヘッダ解析部140は、重要度テーブル122から取得したレコードの内に示される重要度を、受信したパケットに対応するフローの重要度と判定する。
【0109】
[ステップS22]ヘッダ解析部140は、ステップS21で取得したフローIDが、トラフィック管理テーブル124に登録されているか否かを判断する。ヘッダ解析部140は、フローIDが既に登録されていれば、処理をステップS24に進める。またヘッダ解析部140は、フローIDが登録されていなければ、処理をステップS23に進める。
【0110】
[ステップS23]ヘッダ解析部140は、トラフィック管理テーブル124に、新たに取得したフローIDに対応するレコードを追加する。追加されるレコードのフローIDの欄には、ステップS21で取得したフローIDが設定される。フロー重要度の欄には、ステップS21で決定した重要度が設定される。入力ポートの欄には、ステップS21において、フロー決定テーブル121内のレコードと合致したパケットの入力物理ポート番号の値が設定される。出口エッジノードの欄には、パケットの宛先となる装置が接続されたネットワークと、ネットワーク10との間のパケットを中継するエッジノード(出口エッジノード)の識別情報が設定される。例えば、ヘッダ解析部140は、受信したパケットの宛先までの到達経路を調べ、その到達経路上にあるエッジノードを、出口エッジノードとすることができる。この場合、ノード100には、ネットワーク10内のエッジノードのIPアドレスが予め登録されているものとする。なお受信したパケットの宛先までの到達経路は、UNIX(登録商標)のtracerouteコマンドなどにより取得可能である。流入トラフィック量の欄は、レコードの追加直後は空欄である。なお、規定の初期値を流入トラフィック量の欄に設定することもできる。送出分配テーブルの欄には、トラフィック管理テーブル124に新たに登録したフローに対応付けて、新たに作成した送出分配テーブルの識別情報が設定される。
【0111】
トラフィック管理テーブル124に新たなフローのレコードを追加した場合、ヘッダ解析部140は、新たなフローに対応する送出分配テーブルを生成する。生成した送出分配テーブルの出力ポートの欄には、新たなフローにおける経路上で隣接するノードに接続された物理ポートの物理ポート番号が設定される。隣接ノードの欄には、新たなフローにおける経路上で隣接するノードの識別情報が設定される。トラフィック誘引力の欄には、隣接するノードから取得したトラフィック誘引力が設定される。送出確率の欄には、トラフィック誘引力に応じた送出確率が設定される。送出分配テーブルの生成直後は、送出トラフィック量の欄は空欄である。生成された送出分配テーブルの送出トラフィック量は、その送出分配テーブルに対応するフロー発生後にトラフィック計測部170によって計測され、送出分配テーブルに設定される。
【0112】
[ステップS24]ヘッダ解析部140は、ノード100に適用する動作モード(現行動作モード)を決定する。例えばヘッダ解析部140は、トラフィック管理テーブル124に登録されているすべてのレコードのフローの重要度のうち最もレベルの高い重要度を、現行動作モードに決定する。そしてヘッダ解析部140は、決定した現行動作モードを、ネットワーク制御情報メモリ120に格納する。
【0113】
次に、トラフィック量計測処理について説明する。
図17は、トラフィック量計測処理の手順を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
【0114】
[ステップS31]トラフィック計測部170は、トラフィック管理テーブル124からフローを1つ選択する。
[ステップS32]トラフィック計測部170は、選択したフローの単位時間当たりのトラフィック量を計算する。例えばトラフィック計測部170は、選択したフローの流入トラフィック量の積算値を、トラフィック計測周期で除算し、単位時間当たりのトラフィック量(転送データ量/秒)を計算する。そしてトラフィック計測部170は、計算した単位時間当たりのトラフィック量を、選択したフローに対応付けてトラフィック管理テーブル124に格納する。
【0115】
[ステップS33]トラフィック計測部170は、トラフィック管理テーブル124内の未処理のフローがあるか否かを判断する。未処理のフローがある場合、処理をステップS31に進める。トラフィック計測部170は、未処理のフローがなければ、処理をステップS34に進める。
【0116】
[ステップS34]トラフィック計測部170は、トラフィック計測周期だけ待機する。
[ステップS35]トラフィック計測部170は、すべてのフローを未処理状態に変更し、処理をステップS31に進める。
【0117】
このようにして、各フローの流入トラフィック量が計算される。
次に、性能決定処理について説明する。
図18は、性能決定処理の手順を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。なお、性能決定処理は、所定の周期で定期的に実行される。
【0118】
[ステップS41]制御部130は、ネットワーク制御情報メモリ120から現行動作モード126と現在閾値127とを取得する。
[ステップS42]制御部130は、現行動作モードに対応する閾値・性能リストを取得する。例えば制御部130は、重要度テーブル122を参照し、現行動作モードに対応する閾値・性能リストの識別情報を判断する。次に制御部130は、取得した識別情報で示される閾値・性能リストを、性能制御テーブル123から取得する。
【0119】
[ステップS43]制御部130は、単位時間当たりのノード100への流入トラフィック量を算出する。例えば制御部130は、トラフィック管理テーブル124からすべてのフローの流入トラフィック量を取得する。そして制御部130は、取得した流入トラフィック量の合計を、ノード100の流入トラフィック量とする。次に制御部130は、流入トラフィック量に基づいて、現在の処理負荷を算出する。処理負荷は、例えば流入トラフィック量を、ノード100の単位時間当たりに処理可能なトラフィック量で除算した値である。
【0120】
[ステップS44]制御部130は、処理負荷が現在閾値より少ないか否かを判断する。制御部130は、現在閾値より少なければ、処理をステップS48に進める。制御部130は、処理負荷が現在閾値以上であれば、処理をステップS45に進める。
【0121】
[ステップS45]処理負荷が現在閾値以上の場合、制御部130は、ステップS42で取得した閾値・性能リストを参照し、現在閾値より上位の閾値があるか否かを判断する。上位の閾値とは、値が大きい閾値を指す。制御部130は、上位の閾値があれば、処理をステップS46に進める。制御部130は、上位の閾値がなければ処理を終了する。
【0122】
[ステップS46]制御部130は、次の上位の閾値を、ネットワーク制御情報メモリ120内の現在閾値127に設定する。
[ステップS47]制御部130は、閾値・性能リストにおいて、現在閾値127に設定した閾値と対となる性能を、ノード100の性能に設定する。例えば制御部130は、性能を示す数値を、主制御プロセッサ101に通知する。すると、主制御プロセッサ101は、電源制御部106などを制御し、通知された性能となるように、動作クロックや電源電圧を制御する。その後、処理をステップS44に進める。
【0123】
[ステップS48]処理負荷が現在閾値より少ない場合、制御部130は、ステップS42で取得した閾値・性能リストを参照し、現在閾値よりも下位の閾値があるか否かを判断する。下位の閾値とは、値が小さい閾値を指す。制御部130は、下位の閾値がある場合、処理をステップS49に進める。また制御部130は、下位の閾値がない場合、処理を終了する。
【0124】
[ステップS49]制御部130は、処理負荷が下位の閾値より少ないか否かを判断する。制御部130は、処理負荷の方が下位の閾値より少なければ、処理をステップS50に進める。また制御部130は、処理負荷が下位の閾値以上であれば、処理を終了する。
【0125】
[ステップS50]制御部130は、次の下位の閾値を、ネットワーク制御情報メモリ120内の現在閾値127に設定する。
[ステップS51]制御部130は、閾値・性能リストにおいて、現在閾値127に設定した閾値と対となる性能を、ノード100の性能に設定する。制御部130は、その後、処理をステップS44に進める。
【0126】
このようにして、ノード100を流れるフローの重要度に応じた性能でノード100を動作させることができる。また、ノード100を流れるトラフィックが無くなった場合、それ以前に流れていたトラフィックに対応するフローの重要度に応じたスリープモードで、ノード100を停止させることができる。
【0127】
例えば、ノード100に対して重要度が高いフローが流入していた場合、ノード100は、省電力よりも伝送品質維持を優先し、100%の処理能力で動作する。これにより、重要度が高いフローのトラフィック量が増加した場合にも、遅延なくそのフローのパケットの転送が可能である。
【0128】
図19は、スリープモード移行処理の手順を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS52]主制御プロセッサ101は、すべての流入トラフィックが0か否かを判断する。例えば主制御プロセッサ101は、トラフィック管理テーブル124を参照し、すべてのフローの流入トラフィック量の値が0であれば、すべての流入トラフィックが0であると判断する。主制御プロセッサ101は、すべての流入トラフィックが0であれば、処理をステップS53に進める。また主制御プロセッサ101は、少なくとも1つのフローに流入トラフィックがあれば、ステップS52の処理を繰り返す。
【0129】
[ステップS53]主制御プロセッサ101は、すべての流入トラフィックが0になってからの時間計測を行っているか否かを判断する。時間計測中であれば、主制御プロセッサ101は処理をステップS55に進める。主制御プロセッサ101は、時間計測を行っていなければ、処理をステップS54に進める。
【0130】
[ステップS54]主制御プロセッサ101は、すべての流入トラフィックが0になってからの時間計測を開始する。その後、主制御プロセッサ101は、処理をステップS52に進める。
【0131】
[ステップS55]主制御プロセッサ101は、すべての流入トラフィックが0になってからの経過時間が、予め設定されている閾値に達したか否かを判断する。主制御プロセッサ101は、閾値に達した場合、処理をステップS56に進める。主制御プロセッサ101は、閾値に達していなければ、処理をステップS52に進める。
【0132】
なお、ここまでのステップS52からステップS55は主制御プロセッサ101で実行されるとしてきたが、ネットワークプロセッサ102で実行されてもよい。その場合、すべての流入トラフィックが0になってからの経過時間が閾値に達した場合、ネットワークプロセッサ102は主制御プロセッサ101へ閾値に達したことを通知する。
【0133】
[ステップS56]主制御プロセッサ101は、すべての流入トラフィックが0になってからの経過時間に閾値に達した場合、ネットワーク制御情報メモリ120から現行動作モード126を取得する。
【0134】
[ステップS57]主制御プロセッサ101は、現行動作モードに応じたスリープ状態にノードを移行させる。例えば、主制御プロセッサ101は、重要度テーブル122を参照し、現行の動作モードに応じたスリープレベルを判断する。なお、現行の動作モードに応じたスリープレベルが非スリープに場合、主制御プロセッサ101はスリープモードへの移行を行わず、処理を終了する。
【0135】
また、ノード100に対して重要度「高」のフローのトラフィックが流入していた場合、ノード100に流入するトラフィックが途絶えても、機能をスリープさせない。これにより、重要度「高」のフローのトラフィックが再開された場合、遅延なくそのフローのパケットの転送が可能である。
【0136】
また、ノード100に対して、最大で重要度「中」のフローのトラフィックが流入していた場合、ノード100は、性能の余裕度を広くとって、性能を押さえた省電力制御を行う。これにより、重要度「中」のフローのトラフィック量が増加した場合にも、少ない遅延で、フローのパケットの転送が可能である。
【0137】
また、ノード100に対して、最大で重要度「中」のフローのトラフィックが流入していた場合、ノード100に流入するトラフィックが途絶えると浅いスリープで機能を停止させる。これにより、重要度「中」のフローのトラフィックが再開された場合、短い時間でノード100の全体の機能を起動し、少ない遅延で再開されたフローのパケットの転送が可能である。
【0138】
また、ノード100に対して、重要度「低」のフローのトラフィックのみが流入していた場合、ノード100は、性能の余裕度を狭くとって、性能を押さえた省電力制御を行う。これにより、ノード100の消費電力を十分に押さえ、ネットワークシステムの省電力化を図ることができる。
【0139】
また、ノード100に対して、重要度「低」のフローのトラフィックのみが流入していた場合、ノード100に流入するトラフィックが途絶えると、深いスリープで機能を停止させる。これにより、ノード100の消費電力を十分に押さえ、ネットワークシステムの省電力化を図ることができる。
【0140】
以上のような処理は、ノード100だけでなく、ネットワーク10上のすべてのノードで実行される。その結果、パケットの適切な転送品質の維持と、ネットワークシステム全体の省電力化とをバランスよく達成することができる。
【0141】
なお、トラフィックの集約制御において、入口ノードで経路を指定してネットワーク10内のパケット転送を行うことができる。このような経路指定型のトラフィック制御を行っている場合、入口ノードで流入したフローの重要度を判定し、そのフローの経路上の中継ノードおよび出口ノードに、フローの重要度を通知することができる。
【0142】
図20は、重要度通知の一例を示す図である。図20の例には、ノード100とノード200とが入口ノードとなるフローが示されている。なお図20では、ノード100,200のネットワーク制御情報メモリ120,220内の情報の一部を抜き出して示している。
【0143】
ノード100には、フローID「1」、「2」の2つのフローの区間、経路、および重要度が、ネットワーク制御情報メモリ120内に設定されている。ノード100の主制御プロセッサ101は、流入したフローに基づいて各フローの重要度が判定されると、そのフローの重要度を、経路上の他のノードに通知する。例えば、フローID「1」のフローに関して2つの重要度通知35,36が送信され、フローID「2」のフローに関して、1つの重要度通知37が送信される。
【0144】
同様に、ノード200には、フローID「3」のフローの区間、経路、および重要度が、ネットワーク制御情報メモリ220内に設定されている。ノード200の主制御プロセッサは、流入したフローに基づいて各フローの重要度が判定されると、そのフローの重要度を、経路上の他のノードに通知する。例えば、フローID「3」のフローに関して2つの重要度通知38,39が送信される。
【0145】
送信される各重要度通知35〜39には、例えばフローID、経路情報、および重要度が含められる。重要度通知を受信した各ノードは、経路情報を参照して、経路上の次の隣接ノードに、受信した重要度通知を転送する。また重要度通知を受信した各ノードは、フローIDと重要度とに基づいて、自己を経路に含むフローの重要度を認識する。そして各重要度通知を受信した各ノードは、自己のトラフィック管理テーブルに、フローの重要度を設定する。これにより、入口ノード以外のノードは、フロー決定テーブルを用いたフローの重要度の判定を行わずにすみ、処理負荷が軽減される。
【0146】
図21は、フローの重要度に応じた各ノードの動作モードの一例を示す図である。図20のような重要度通知が行われた場合、ノード100,300,600は、重要度「高」のフローの経路となるため、動作モードは「品質優先モード」となる。また、ノード200,400,500は、重要度「中」以下のフローの経路となるため、動作モードは「中間モード」となる。
【0147】
各ノードがこのような動作モードの場合において、誘引力に基づくトラフィックの集約制御を行う場合を想定する。
図22は、誘引力に応じた送出確率の制御例を示す図である。なお図22では、ノード100,200のネットワーク制御情報メモリ120,220内の情報の一部を抜き出して示している。
【0148】
図22の例では、ノード100からノード500へのフローについては、ノード300を経由する経路に60%、ノード400を経由する経路に40%の確率でパケットが送出されている。またノード100からノード600へのフローについては、ノード300を経由する経路に100%の確率でパケットが送出されている。またノード200からノード500へのフローについては、ノード300を経由する経路に100%、ノード400を経由する経路に0%の確率でパケットが送出されている。
【0149】
図23は、トラフィックの集約および分散状況を示す図である。図22に示した状態からトラフィックの集約制御が行われると、ノード100からノード500へのフローについて、ノード300を経由する経路に100%、ノード400を経由する経路に0%の確率でパケットが送出されるようになる。なお図23では、トラフィック量が0の経路を破線で示している。するとノード400に流入するトラフィックがなくなり、スリープモードに移行可能となる。ノード400に流入するトラフィックに対応するフローの重要度は、最も高いもので「中」である。そこでノード400は、浅いスリープのスリープモードに移行する。
【0150】
その他のノードは、流入しているトラフィックの重要度に応じた性能で動作する。例えば、重要度「高」のトラフィックが流入しているノード100,300,600は、100%の性能を発揮して動作する。また「中」以下の重要度のフローのトラフィックが流入しているノード200,500は、流入しているトラフィック量に応じて40%〜100%の性能を発揮して動作する。
【0151】
例えば集約制御時において、ノード200からノード500へのフローのトラフィック量が400Mbpsであり、このトラフィック量はノード200の処理能力の40%の負荷に相当するものとする。この場合、ノード200は、図11と同様の内容の性能制御テーブルに基づいて、70%の性能で動作する。
【0152】
ここで、例えばノード100からノード500へのフローのトラフィックが増加してノード300からノード500への伝送路で輻輳の危険性が検知されると、ノード300からノード100,200にアラーム情報が送信され、トラフィックの分散制御が行われる。分散制御が行われると、ノード100からノード500へのフローについて、ノード400を経由する経路にもパケットが送出されるようになる。また、ノード200からノード500へのフローについて、ノード400を経由する経路にもパケットが送出されるようになる。
【0153】
すると、ノード400が起動される。ノード400は、「中」以下の重要度のフローのトラフィックが流入しているため、流入しているトラフィック量に応じて40%〜100%の性能を発揮して動作する。
【0154】
例えば分散制御時において、ノード100からノード500へのフローのノード400を経由する経路のトラフィックが400Mbps、ノード200からノード500へのフローのノード400を経由する経路のトラフィックが200Mbpsであるものとする。この場合、ノード400には合わせて600Mbpsのトラフィック量が流入している。600Mbpsのトラフィックの転送は、ノード400の処理能力の60%の負荷に相当するものとする。この場合、ノード400は、図11と同様の内容の性能制御テーブルに基づいて、100%の性能で動作する。
【0155】
このように、フローの重要度に応じて各ノードの動作モードを決定し、動作モードに応じた性能制御およびスリープモードへの移行制御を行うことで、重要度の高いフローのパケットの伝送品質を保ちつつ、ネットワーク全体での省電力化を図ることが可能となる。
【0156】
しかも、ノードの負荷量に応じてノードに発揮させる性能を変更することで、流入トラフィック量が少ない場合には性能を下げ、更なる低消費電力化が可能である。さらに、品質条件の厳しいフローの経路上のノードに対して、負荷に対する性能の余裕幅を広く取ることで、動作時には急なトラフィック量の増加に対しても、品質劣化が抑止される。その結果、品質条件の厳しいフローに対し信頼性を担保しつつ、きめ細かな低電力化を図ることが可能になる。
【0157】
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、過去の所定期間内に流入したトラフィックに対応するフローの重要度を考慮して、動作特性やスリープレベルを決定するものである。
【0158】
第3の実施の形態では、現在トラフィックがなくても、過去の所定期間内にフローの重要度「高」のトラフィックがノードに流入していた場合、そのノードの現行動作モードは「品質優先モード」とする。これは、今は重要度「高」のトラフィックは生じていないが、再開するかもしれないので、再開時の品質劣化を防ぐものである。また過去にフローの重要度「高」のトラフィックがノードに流入していたとしても、そのトラフィックの最後の流入から所定期間以上経過した場合、そのトラフィックに対応するフローが消滅したものと判断される。そしてフローの重要度「高」のトラフィックの流入がなくなってから所定時間以上経過した場合、ノードの動作モードは「中間モード」または「省電力優先モード」に変更される。これにより、省電力化を促進することができる。
【0159】
このような制御を実現するため、第3の実施の形態では、各ノードにおいて、トラフィックの履歴情報を記憶しておく。
図24は、第3の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。図24では、図5に示した第2の実施の形態のネットワークプロセッサ102と同じ機能を有する要素には図5と同じ符号を付し、説明を省略する。
【0160】
第3の実施の形態におけるネットワーク制御情報メモリ120−1には、複数のトラフィック履歴表128a,128b,128c,・・・や複数の誘引力履歴表129a,129b,129c,・・・が格納されている。
【0161】
またトラフィック管理テーブル124−1には、第2の実施の形態における流入トラフィック量に代えて、トラフィック履歴表の識別情報が設定される。送出分配テーブル125d,125e,125f,・・・には、トラフィック誘引力、送出確率に代えて、誘引力履歴表129a,129b,129c,・・・の識別情報が設定されている。
【0162】
第3の実施の形態では、トラフィック計測部170−1は、フローごとのトラフィック量の履歴管理を行うことができる。また制御部130−1は、出力ポートごとの誘引力の履歴管理を行うことができる。
【0163】
また第3の実施の形態では、制御部130−1は、隣接ノードからの誘引力と分配確率を、直近の値だけでなく、過去数回分の履歴を誘引力管理表129a,129b,129c,・・・に格納する。
【0164】
図25は、第3の実施の形態のトラフィック管理テーブルのデータ構造の一例を示す図である。トラフィック管理テーブル124−1には、フローID、フロー重要度、入力ポート、出口エッジノード、トラフィック履歴表、および送出分配テーブルの欄が設けられている。このうちフローID、フロー重要度、入力ポート、出口エッジノード、および送出分配テーブルの欄については、図13に示した第2の実施の形態のトラフィック管理テーブル124の同名の欄と同種の情報が設定される。
【0165】
トラフィック履歴表の欄には、フローIDで示されるフローに対応するトラフィック履歴表の識別情報が設定される。
【0166】
図26は、トラフィック履歴表のデータ構造の一例を示す図である。トラフィック履歴表128aには、トラフィック履歴表128aの識別情報「sheet#11」が設定されている。トラフィック履歴表128aの行方向のラベルには、流入トラフィックと送出先毎の送出トラフィックとが設定されている。列方向のラベルには、無トラフィックカウンタ、今回トラフィック、前回トラフィック、および前々回トラフィックが設定されている。
【0167】
無トラフィックカウンタの列には、流入トラフィックおよび各送出トラフィックが無くなってから、継続したトラフィックが無いと判断されたトラフィック量計測回数を示す値(無トラフィックカウンタ値)が設定される。今回トラフィックの列には、直近に計測したトラフィック量が設定される。前回トラフィックの列には、直近の計測の1回前に計測したトラフィック量が設定される。前々回トラフィックの列には、直近の計測の2回前に計測したトラフィック量が設定される。
【0168】
なお、過去の何回分のトラフィック量を履歴情報として格納するかは、管理者が任意に設定することができる。
【0169】
図27は、第3の実施の形態の送出分配テーブルのデータ構造の一例を示す図である。送出分配テーブル125dには、送出分配テーブルの識別情報「Table#21」が設定されている。また送出分配テーブル125dは、出力ポート、隣接ノード、および誘引力履歴表の欄が設けられている。出力ポート、隣接ノードとの欄には、図14に示した第2の実施の形態の送出分配テーブル125aにおける同名の欄と同種の情報が設定される。
【0170】
誘引力履歴表の欄には、送出分配テーブル125dに対応する誘引力管理表の識別情報が設定される。
【0171】
図28は、誘引力履歴表のデータ構造の一例を示す図である。誘引力履歴表129aには、誘引力履歴表129aの識別情報「sheet#31」が設定されている。誘引力履歴表129aの行方向のラベルには、出力ポートのポート番号ごとに誘引力と送出確率とが設定されている。列方向のラベルには、今回計算値と前回計算値とが設定されている。
【0172】
今回計算値の列には、直近に計算した出力ポートごとのトラフィック誘引力と送出確率とが設定される。前回計算値の列には、直近の計測の1回前に計測した出力ポートごとのトラフィック誘引力と送出確率とが設定される。
【0173】
なお、過去の何回分の誘引力および送出確率を履歴情報として格納するかは、管理者が任意に設定することができる。
次に、第3の実施の形態のトラフィック量計測処理について説明する。
【0174】
図29は、第3の実施の形態のトラフィック量計測処理の手順を示すフローチャートである。以下、図29に示す処理をステップ番号に沿って説明する。
[ステップS61]トラフィック計測部170−1は、トラフィック管理テーブル124−1からフローを1つ選択する。
【0175】
[ステップS62]トラフィック計測部170−1は、選択したフローの単位時間当たりのトラフィック量を計算する。例えばトラフィック計測部170−1は、選択したフローの流入トラフィック量の積算値を、トラフィック計測周期で除算し、単位時間当たりのトラフィック量(転送データ量/秒)を計算する。
【0176】
[ステップS63]トラフィック計測部170−1は、トラフィック履歴表の流入トラフィック量を更新する。例えばトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の前々回トラフィックの値を削除する。またトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの前回トラフィックの値を、前々回トラフィックに設定する。またトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの今回トラフィックの値を、前回トラフィックに設定する。そしてトラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの今回トラフィックに、ステップS62で計算した流入トラフィック量を設定する。
【0177】
これにより、一定時間以上過去のトラフィック量の履歴は、トラフィック履歴表から削除される。
[ステップS64]トラフィック計測部170−1は、今回計測した流入トラフィック量が0か否かを判断する。流入トラフィック量が0であれば、トラフィック計測部170−1は、処理をステップS66に進める。流入トラフィック量が0でなければ、トラフィック計測部170−1は、処理をステップS65に進める。
【0178】
[ステップS65]トラフィック計測部170−1は、今回計測した流入トラフィック量が0でない場合、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタの値を0にする。その後、トラフィック計測部170−1は、処理をステップS69に進める。
【0179】
[ステップS66]トラフィック計測部170−1は、今回計測した流入トラフィック量が0の場合、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタの値を1だけカウントアップする。
【0180】
[ステップS67]トラフィック計測部170−1は、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタが予め設定された閾値を超えたか否かを判断する。閾値を超えた場合、トラフィック計測部170−1は処理をステップS68に進める。閾値を超えていない場合、トラフィック計測部170−1は、処理をステップS69に進める。
【0181】
[ステップS68]トラフィック計測部170−1は、選択したフローのレコードを、トラフィック管理テーブル124−1から削除する。この際、トラフィック計測部170−1は、例えば選択したフローに対応するトラフィック履歴表と送出分配テーブルも削除する。
【0182】
[ステップS69]トラフィック計測部170−1は、トラフィック管理テーブル124−1内の未処理のフローがあるか否かを判断する。未処理のフローがある場合、処理をステップS61に進める。トラフィック計測部170は、未処理のフローがなければ、処理をステップS70に進める。
【0183】
[ステップS70]トラフィック計測部170−1は、トラフィック計測周期だけ待機する。
[ステップS71]トラフィック計測部170−1は、すべてのフローを未処理状態に変更し、処理をステップS61に進める。
【0184】
なお図29では、流入トラフィック量の計測およびトラフィック履歴表の流入トラフィック量に関する情報の更新を行っているが、送出トラフィック量についても同様に計測し、トラフィック履歴表の送出トラフィック量を更新することができる。ただし、送出トラフィック量に関しては、トラフィックを送出する物理ポートごとに計算される。
【0185】
第3の実施の形態においても、図16に示した第2の実施の形態の処理と同様に、トラフィック管理テーブル124−1に記録されたフローの重要度の最大値により現行動作モードが決定される。そして決定された現行動作モードにより、動作特性とスリープレベルが決定される。
【0186】
第3の実施の形態における性能設定処理は、図18に示した第2の実施の形態の性能決定処理と同様である。なお、第3の実施の形態では、ノード100の性能を決定する際には、過去の所定期間の流入トラフィックを考慮して性能を決定してもよい。例えば図18のフローチャートにおけるステップS43における流入トラフィック量算出の際に、例えば制御部130−1は、トラフィック履歴表128a,128b,128c,・・・からすべてのフローの流入トラフィック量を取得する。その際、制御部130−1は、各フローの流入トラフィック量として、直近および過去のトラフィック量のうちの最大値を取得する。例えば、あるフローの流入トラフィック量に関して、今回と前回トラフィック量が0であっても、前々回トラフィック量が10であれば、そのフローの流入トラフィック量は10とする。そして制御部130−1は、取得した流入トラフィック量の合計を、ノード100の流入トラフィック量とする。これにより、過去のトラフィック量を加味した性能が設定される。
【0187】
このように、過去のトラフィック量を加味した性能設定を行うことで、一度減ったトラフィック量が元に戻った場合でも、遅延無くパケット転送を行うことができる。
また、流入するトラフィックがある場合(ノード動作時)は、流入トラフィックが0となったフローの重要度も含めて、最大のものが現行動作モードになり、その現行動作モードにより動作特性が決定される。すべてのフローの流入トラフィックが0の場合は、トラフィック管理テーブル124−1中の各フローの重要度の最大値により、スリープレベルが決定される。
【0188】
なおトラフィック管理テーブル124−1へのフローのレコードの追加は、フローのパケット到着での登録(ダイナミックな設定)に加え、オペレータによる設定(スタティックな追加)が可能である。ここで、一定時間以上流入トラフィック0となったフローは、他の経路に集約されたのではなく消滅したものと判断され、対応するレコードがトラフィック管理テーブル124−1から削除される。これにより、既に消滅したフローの重要度が無効となり、適切な現行動作モードの設定が可能となる。
【0189】
なお、図29に示した処理は、ネットワークプロセッサ102−1内で実行されているが、浅いスリープのスリープモードに入った場合、主制御プロセッサ101において無トラフィックカウンタの更新の処理を行うことができる。例えば主制御プロセッサ101は、流入するトラフィックが無い状態が継続している間、各フローの流入トラフィックの無トラフィックカウンタの値を、トラフィック計測周期ごとに1ずつカウントアップする。そして、主制御プロセッサ101は、流入トラフィックの無トラフィックカウンタの値が閾値を超えたフローのレコードを、順次トラフィック管理テーブル124−1から削除する。そしてトラフィック管理テーブル124−1に登録されているフローの重要度の最大値が「低」になった場合、主制御プロセッサ101は、浅いスリープから深いスリープへスリープモードを移行させる。これにより、省電力化の効果をさらに高めることができる。
【0190】
[第4の実施の形態]
次に第4の実施の形態について説明する。第4の実施の形態は、各フローが消滅したのか、ある経路に集約されているのかを入口ノードが判断し、判断結果を、そのフローの経路上の各ノードに、制御パケットにより通知するものである。これにより、各ノードは、流入トラフィックが0になったフローについて、他のノードを経由する経路にトラフィックが集約されたのか、そのフローが消滅したのかを正確に判断できるようになる。
【0191】
すなわち、上記の第2,第3の実施の形態では、トラフィックの誘引力を用いて、入口ノードに流入したフローのトラフィックを、1つの経路に集約させる。そのため、フローごとに各ノードで通過トラフィック量に応じたトラフィック誘引力を計算し、それを隣接ノードに伝達する。各隣接ノードからトラフィック誘引力を受け取ったノードは、誘引力の大きい方へ該当フローのトラフィックをより多く分配する。これを継続すると、トラフィックの多い経路の誘引力が高まり、最終的に一部の経路にトラフィックが集約される。そして、経路集約の結果トラフィックが流れなくなったノードをスリープさせ省電力化が図られる。ただし、経路集約の結果、例えばノード間を接続する伝送路に所定の閾値以上のトラフィックが送出された場合、経路を分散させるアラーム情報の制御パケットが入口ノードに伝達される。すると入口ノードにおいて、トラフィックが複数の経路に分散して送出され、輻輳の発生が抑止される。
【0192】
ここで、第2,第3の実施の形態では、各ノードが個別に、流入トラフィックが無くなったことを判別している。したがって、誘引力による経路集約の結果そのノードにそのフローのトラフィックが流れなくなった(他のノード/経路には流れている)のか、そもそもそのフロー自体が消滅した(入口エッジノードへの流入が無くなった)のか、正確には区別できない。
【0193】
トラフィックが集約されたのか消滅したのかの判別を間違えると、重要度「高」のフローのトラフィックが、集約状態から輻輳回避のための分散状態に変更された場合に、省電力制御がされていたノードの再起動に時間がかかる可能性がある。例えば重要度「高」のフローのトラフィックが流入したノードで、再起動に必要以上に時間がかかると、重要度「高」のフローに求められる品質を保つことが困難となる。
【0194】
そこで、第4の実施の形態では、入口ノードにおいて、あるフローについて流入トラフィックはあるが、トラフィックの分配確率が0の隣接ノードに対しては、フローが存在していることを示す制御パケットを定期的に送出する。制御パケットを送信する周期は、例えば、流入トラフィックが0になってから、トラフィック管理テーブルの無トラフィックカウンタが閾値に達する時間よりは短い値とする。
【0195】
また制御パケットを受信した隣接ノードはトラフィック管理テーブルの対応フローの無トラフィックカウンタの値を0にクリアする。つまり、流入トラフィック量が0の状態が続いても、制御パケットを受信する限り、対応するフローのレコードはトラフィック管理テーブルから削除されなくなる。トラフィック管理テーブルにフローのレコードが残存している間は、そのフローの重要度も考慮して動作モードが判定される。
【0196】
このようにして、入口ノードでフローそのものの流入が無くなった場合と、経路集約の結果、あるノードにはトラフィックが流入しなくなった(他の経路を流れている)場合との正確な区別が可能となり、適切な動作モード判定が行われる。
【0197】
第4の実施の形態のノードの構成および格納されたデータは、図24〜図28に示した第3の実施の形態と同様である。そこで図24〜図28に示した各要素の符号を用いて,第4の実施の形態の処理を説明する。
【0198】
図30は、第4の実施の形態の制御パケット送信手順を示すフローチャートである。以下、図30に示す処理をステップ番号に沿って説明する。
[ステップS81]主制御プロセッサ101は、トラフィック管理テーブル124−1のフローを1つ選択する。
【0199】
[ステップS82]主制御プロセッサ101は、選択したフローに対応する誘引力履歴表を参照し、トラフィックが集約されているか否かを判断する。例えば主制御プロセッサ101は、1つの出力ポートの送出確率が「1.0」であり、他の出力ポートの送出確率が「0」であれば、対応するフローのトラフィックが集約されていると判断する。主制御プロセッサ101は、トラフィックが集約されている場合、処理をステップS83に進める。主制御プロセッサ101は、トラフィックが集約されていない場合、処理をステップS84に進める。
【0200】
[ステップS83]主制御プロセッサ101は、トラフィックの発生していない経路それぞれに、フローが存在していることを示す制御パケットを送信する。集約されているフローに、トラフィックが0の経路が複数ある場合、トラフィックが0の経路それぞれに制御パケットが送信される。送信される制御パケットには、選択したフローのフローIDと、制御パケットを送信する経路の経路情報が含められる。例えば主制御プロセッサ101は、フロー管理テーブル120aから各経路の経路情報を取得する。
【0201】
[ステップS84]主制御プロセッサ101は、トラフィック管理テーブル124−1内に未処理のフローがあるか否かを判断する。主制御プロセッサ101は、未処理のフローがあれば、処理をステップS81に進める。主制御プロセッサ101は、未処理のフローがなければ、処理をステップS85に進める。
【0202】
[ステップS85]主制御プロセッサ101は、予め設定された制御パケット送信周期だけ待機する。
[ステップS86]主制御プロセッサ101は、すべてのフローを未処理に設定し、処理をステップS81に進める。
【0203】
このようにして、フローのトラフィックが発生しているが、そのトラフィックが集約されている場合、トラフィックが発生していない経路に制御パケットが送信される。なおフローのトラフィックが全く発生していない場合、そのフローのレコードは、入口ノードであるノード100のトラフィック管理テーブル124−1から削除される。その結果、消滅したフローに関しては、制御パケットは送信されない。
【0204】
次に制御パケット受信時の処理について説明する。
図31は、第4の実施の形態における制御パケット受信処理の手順を示すフローチャートである。以下、図31に示す処理をステップ番号に沿って説明する。なお、ノード100が中継ノードまたは出口ノードとなるフローの制御パケットを、他のノードから受信した場合の処理である。
【0205】
[ステップS91]主制御プロセッサ101は、制御パケットを受信したか否かを判断する。主制御プロセッサ101は、フローが存在していることを示す制御パケットを受信した場合、処理をステップS92に進める。主制御プロセッサ101は、制御パケットを受信していなければ、ステップS91の処理を繰り返す。
【0206】
[ステップS92]主制御プロセッサ101は、制御パケットに示されるフローIDに対応するトラフィック履歴表の、流入トラフィックの無トラフィックカウンタの値を0にする。
【0207】
[ステップS93]主制御プロセッサ101は、制御パケットに示された経路情報における次のノードへ、制御パケットを転送する。主制御プロセッサ101は、その後、処理をステップS91に進める。
【0208】
このように、フローが存在していることを示す制御パケットを受信した場合、対応するフローの流入トラフィックの無トラフィックカウンタを0にリセットすることで、その無トラフィックカウンタが閾値を超えることはなくなる。そのため、ノードにトラフィックが流入していないフローであっても、他の経路にトラフィックが存在している限り、そのフローのレコードがトラフィック管理テーブル124−1から削除されることはない。その結果、他の経路の集約されたトラフィックのフローの重要度を加味して現行動作モードが決定される。
【0209】
図32は、第4の実施の形態を適用したパケット転送の第1の例を示す図である。図32の例では、ノード41が入口ノードであり、ノード42〜44が中継ノードである。ノード41には、重要度「高」のトラフィックが流入している。またノード42には、ノード41以外からもトラフィックが流入しているが、ノード43,44には、トラフィックの流入はない。
【0210】
このような状況では、ノード42は、流入するトラフィックがあるため、大きな誘引力をノード41に通知する。一方、ノード43,44は、流入するトラフィックがないため、例えば誘引力「0」をノード41に通知する。するとノード41は、流入したトラフィックをすべてノード42へ送出する。
【0211】
このときノード43,44にはトラフィックが分配されない。そこでノード41は、ノード43,44に対してフローの流入トラフィックが存在していることを示す制御パケットを送信する。するとノード43,44は、流入トラフィックが0になっても、スリープモードに移行せず、かつ性能100%の状態を維持する。
【0212】
ここで、ノード41に流入するトラフィック量が増加し、ノード42において輻輳発生の危険性を検知した場合を考える。この場合、ノード42は、輻輳が発生する前に、流入トラフィックが所定の閾値に達すると、ノード41宛にアラーム情報を送信する。アラーム情報を受信したノード41は、流入トラフィックを複数の経路に分散させる。その結果、ノード42〜44それぞれに対する送出トラフィックが発生する。ノード43,44は、ノード41からトラフィックが流入するが、性能100%で動作しているため、流入したトラフィックを遅延なく処理することができる。
【0213】
図33は、第4の実施の形態を適用したパケット転送の第2の例を示す図である。図33の例では、図32の上段に示した状態から、ノード41に流入するトラフィックが消滅した場合である。この場合、ノード41からノード43,44への制御パケットの送信は行われない。そのため、ノード43,44は、流入トラフィックが無くなってから所定期間が経過すると、スリープモードに移行する。その結果、ネットワーク全体での省電力化が図られる。
【0214】
このように、例えば重要度「高」のフローが1つの経路に集約された後、輻輳回避制御により複数のトラフィックに分散された場合でも、転送遅延などを発生させずにパケットを転送できる。他方、フローのすべてのトラフィックが消滅した場合、そのフローのレコードはトラフィック管理テーブル124−1から削除され、そのフローの重要度は現行動作モードの決定に影響を及ぼさなくなる。その結果、省電力化を促進できる。
【0215】
〔その他の実施の形態〕
上記の第2〜第4の実施の形態では、ネットワークプロセッサ102,102−1内にトラフィック計測部170,170−1を設けているが、トラフィック量の計測は、主制御プロセッサ101などのネットワークプロセッサ102,102−1以外の回路で行うこともできる。
【0216】
また第2〜第4の実施の形態は、ネットワーク上のノードの自律制御によってトラフィックの集約・分散制御を行う場合における、各ノードの省電力制御技術を示しているが、トラフィックの集約・分散を1つの管理装置で集中管理するシステムにも適用でできる。また、特にトラフィックの集約・分散制御を行っていないネットワーク上のノードに対して、上記の実施の形態に示した省電力制御機能を組み込むことも可能である。
【0217】
上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、第1の実施の形態に示した情報処理装置や第2〜第4の実施の形態に示した各ノードが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0218】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0219】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0220】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0221】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0222】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 流入したデータを転送する転送手段と、
流入したデータの重要度を判定する重要度判定手段と、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する動作モード判定手段と、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで前記転送手段の省電力制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【0223】
(付記2) 前記動作モード判定手段は、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記1記載の情報処理装置。
【0224】
(付記3) 前記記憶手段には、前記転送手段に発揮させる性能が、動作モードごとに定義されており、
前記制御手段は、前記判定された動作モードに応じた性能で動作するように、前記転送手段を制御することを特徴とする付記1または2のいずれかに記載の情報処理装置。
【0225】
(付記4) 前記動作モード判定手段は、流入したデータの重要度が高いほど、前記転送手段に高い性能を発揮させる動作モードを、前記適用する動作モードと判定することを特徴とする付記3記載の情報処理装置。
【0226】
(付記5) 前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されている、
ことを特徴とする付記3または4記載の情報処理装置。
【0227】
(付記6) 前記記憶手段には、流入データが途絶えた場合の機能停止内容が、動作モードごとに定義されており、
前記制御手段は、データの流入が途絶えた場合、前記判定された動作モードに応じた機能停止制御を行う、
ことを特徴とする付記1乃至5のいずれかに記載の情報処理装置。
【0228】
(付記7) 前記記憶手段には、低い重要度に応じた動作モードほど多くの機能を停止させるように、流入データが途絶えた場合に停止させる機能が定義されている、
ことを特徴とする付記6記載の情報処理装置。
【0229】
(付記8) ヘッダ情報の適合条件と、該適合条件に合致したパケットの重要度とを対応付けて、前記記憶装置に記憶されており、
前記重要度判定手段は、流入したパケットのヘッダ情報が合致する適合条件を検索し、合致する適合条件に対応する重要度を、該パケットによって転送されるデータの重要度と判定することを特徴とする付記1乃至7のいずれかに記載の情報処理装置。
【0230】
(付記9) 前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から1以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、フローのデータの重要度を、該フローに設定された複数の経路上の装置に通知する、
ことを特徴とする付記1乃至8のいずれかに記載の情報処理装置。
【0231】
(付記10) 送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記1乃至9のいずれかに記載の情報処理装置。
【0232】
(付記11) 前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されており、
前記制御手段は、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、動作モードに応じた性能の余裕幅をとるように、前記転送手段の性能を制御する、
ことを特徴とする付記10記載の情報処理装置。
【0233】
(付記12) 前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から1以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知することを特徴とする付記1乃至11のいずれかに記載の情報処理装置。
【0234】
(付記13) 送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度、および他の装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記1乃至12のいずれかに記載の情報処理装置。
【0235】
(付記14) コンピュータが、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
ことを特徴とする制御方法。
【0236】
(付記15) コンピュータに、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
処理を実行させることを特徴とする制御プログラム。
【符号の説明】
【0237】
1 情報処理装置
1a 転送手段
1b 重要度判定手段
1c 動作モード判定手段
1d 記憶手段
1e 制御手段
2,3 ネットワーク
【特許請求の範囲】
【請求項1】
流入したデータを転送する転送手段と、
流入したデータの重要度を判定する重要度判定手段と、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する動作モード判定手段と、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで前記転送手段の省電力制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記動作モード判定手段は、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記記憶手段には、前記転送手段に発揮させる性能が、動作モードごとに定義されており、
前記制御手段は、前記判定された動作モードに応じた性能で動作するように、前記転送手段を制御することを特徴とする請求項1または2のいずれかに記載の情報処理装置。
【請求項4】
前記動作モード判定手段は、流入したデータの重要度が高いほど、前記転送手段に高い性能を発揮させる動作モードを、前記適用する動作モードと判定することを特徴とする請求項3記載の情報処理装置。
【請求項5】
前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されている、
ことを特徴とする請求項3または4記載の情報処理装置。
【請求項6】
前記記憶手段には、流入データが途絶えた場合の機能停止内容が、動作モードごとに定義されており、
前記制御手段は、データの流入が途絶えた場合、前記判定された動作モードに応じた機能停止制御を行う、
ことを特徴とする請求項1乃至5のいずれかに記載の情報処理装置。
【請求項7】
前記記憶手段には、低い重要度に応じた動作モードほど多くの機能を停止させるように、流入データが途絶えた場合に停止させる機能が定義されている、
ことを特徴とする請求項6記載の情報処理装置。
【請求項8】
送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項1乃至7のいずれかに記載の情報処理装置。
【請求項9】
前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されており、
前記制御手段は、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、動作モードに応じた性能の余裕幅をとるように、前記転送手段の性能を制御する、
ことを特徴とする請求項8記載の情報処理装置。
【請求項10】
前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から1以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知することを特徴とする請求項1乃至9のいずれかに記載の情報処理装置。
【請求項11】
送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度、および他の装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項1乃至10のいずれかに記載の情報処理装置。
【請求項12】
コンピュータが、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
ことを特徴とする制御方法。
【請求項13】
コンピュータに、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
処理を実行させることを特徴とする制御プログラム。
【請求項1】
流入したデータを転送する転送手段と、
流入したデータの重要度を判定する重要度判定手段と、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する動作モード判定手段と、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで前記転送手段の省電力制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記動作モード判定手段は、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記記憶手段には、前記転送手段に発揮させる性能が、動作モードごとに定義されており、
前記制御手段は、前記判定された動作モードに応じた性能で動作するように、前記転送手段を制御することを特徴とする請求項1または2のいずれかに記載の情報処理装置。
【請求項4】
前記動作モード判定手段は、流入したデータの重要度が高いほど、前記転送手段に高い性能を発揮させる動作モードを、前記適用する動作モードと判定することを特徴とする請求項3記載の情報処理装置。
【請求項5】
前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されている、
ことを特徴とする請求項3または4記載の情報処理装置。
【請求項6】
前記記憶手段には、流入データが途絶えた場合の機能停止内容が、動作モードごとに定義されており、
前記制御手段は、データの流入が途絶えた場合、前記判定された動作モードに応じた機能停止制御を行う、
ことを特徴とする請求項1乃至5のいずれかに記載の情報処理装置。
【請求項7】
前記記憶手段には、低い重要度に応じた動作モードほど多くの機能を停止させるように、流入データが途絶えた場合に停止させる機能が定義されている、
ことを特徴とする請求項6記載の情報処理装置。
【請求項8】
送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項1乃至7のいずれかに記載の情報処理装置。
【請求項9】
前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されており、
前記制御手段は、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、動作モードに応じた性能の余裕幅をとるように、前記転送手段の性能を制御する、
ことを特徴とする請求項8記載の情報処理装置。
【請求項10】
前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から1以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知することを特徴とする請求項1乃至9のいずれかに記載の情報処理装置。
【請求項11】
送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度、および他の装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項1乃至10のいずれかに記載の情報処理装置。
【請求項12】
コンピュータが、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
ことを特徴とする制御方法。
【請求項13】
コンピュータに、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
処理を実行させることを特徴とする制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【公開番号】特開2012−169823(P2012−169823A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28538(P2011−28538)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]