(57)【特許請求の範囲】
【請求項１】
流入したデータを転送する転送手段と、
送信元と宛先とが共通なデータの流れをフローとし、フローごとの重要度を記憶すると共に、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる、動作モードごとの性能を記憶する記憶手段と、
流入したデータの送信元と宛先とに基づいて該データが属するフローを判定し、前記記憶手段を参照して該フローの重要度を判定する重要度判定手段と、
フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段と、
前記所定期間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、適用する動作モードと判定する動作モード判定手段と、
前記記憶手段を参照し、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、前記判定された動作モードに対応する余裕幅だけ高い性能で動作するように、前記転送手段を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記記憶手段には、流入データが途絶えた場合の機能停止内容が、動作モードごとに定義されており、
前記制御手段は、データの流入が途絶えた場合、前記判定された動作モードに応じた機能停止制御を行う、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶手段には、低い重要度に応じた動作モードほど多くの機能を停止させるように、流入データが途絶えた場合に停止させる機能が定義されている、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
フローごとに予め設定された複数の経路から１以上の経路へ、各フローのトラフィックを転送し、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知する他の情報処理装置と、ネットワークを介して接続されており、
前記動作モード判定手段は、前記記憶手段を参照し、前記所定期間内に自装置を介した経路にトラフィックが発生したフローの重要度、および自装置を介した経路を有するフローのうちの前記他の情報処理装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から１以上の経路へ、各フローのトラフィックを転送する転送手段と、
流入したデータの重要度を判定する重要度判定手段と、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する動作モード判定手段と、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで前記転送手段の省電力制御を行うと共に、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知する制御手段と、
を有することを特徴とする情報処理装置。
【請求項６】
フローごとに予め設定された複数の経路から１以上の経路へ、各フローのトラフィックを転送し、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知する他の情報処理装置と、ネットワークを介して接続されており、
前記記憶手段は、さらに、フローごとの重要度を記憶しており、
フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記記憶手段を参照し、前記所定期間内に自装置を介した経路にトラフィックが発生したフローの重要度、および自装置を介した経路を有するフローのうちの前記他の情報処理装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする請求項５記載の情報処理装置。
【請求項７】
送信元と宛先とが共通なデータの流れをフローとし、フローごとの重要度を記憶すると共に、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、発揮する動作モードごとの性能を記憶する記憶手段を有するコンピュータが、
流入したデータの送信元と宛先とに基づいて該データが属するフローを判定し、前記記憶手段を参照して該フローの重要度を判定し、
フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納し、
前記所定期間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、適用する動作モードと判定し、
前記記憶手段を参照し、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、前記判定された動作モードに対応する余裕幅だけ高い性能で動作する、
ことを特徴とする制御方法。
【請求項８】
送信元と宛先とが共通なデータの流れをフローとし、フローごとの重要度を記憶すると共に、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、発揮さする動作モードごとの性能を記憶する記憶手段を有するコンピュータに、
流入したデータの送信元と宛先とに基づいて該データが属するフローを判定し、前記記憶手段を参照して該フローの重要度を判定し、
フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納し、
前記所定期間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、適用する動作モードと判定し、
前記記憶手段を参照し、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、前記判定された動作モードに対応する余裕幅だけ高い性能で動作する、
処理を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送を行う情報処理装置、制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
ネットワークでは複数のノードがパケットを中継し、宛先のコンピュータまでパケットを伝送させる。各ノードはパケットの宛先までの伝送経路を認識するために、経路情報を相互に交換している。経路情報には、その経路情報を送信したノードが認識している伝送経路が示されている。各ノードは、他のノードから受信した経路情報に基づいて、宛先に応じたパケットの転送先を選択する。
【０００３】
ノードから宛先のコンピュータへの伝送経路が複数存在する場合、ノードは、所定のアルゴリズムで経路選択を行う。ノードにおける経路選択のアルゴリズムは、ＯＳＰＦ（Open Shortest Path First）やＲＩＰ（Routing Information Protocol）などのルーティングプロトコルに規定されている。これらのルーティングプロトコルでは、基本的には最短経路を採るように経路選択が行われる。あるいは、これらのルーティングプロトコルを用いた既存の高度な制御としては、ネットワーク利用率のピークを最小化するよう平滑化しつつ、最短経路を採るように経路選択が行われる。
【０００４】
このような従来のルーティングプロトコルでは、パケットなどのトラフィック（ネットワーク上を移動するデータ）は予め決められた経路に沿って転送される。そのため、全体的にトラフィック量が少ない時間帯が存在しても、各ノードを起動させ続けなければならない。
【０００５】
他方、ネットワークの処理能力の向上に伴い、ネットワークを構成する機器による消費電力も増加している。そのため、ネットワーク全体での消費電力を抑制した運用を行うことの重要性が高まっている。例えばルータなどの装置の省電力化を図る技術としては、ＤＶＳ（Dynamic Voltage Scaling）と呼ばれる技術がある。ＤＶＳは、電源電圧や動作クロックを可変にして、低負荷時に電圧や動作クロック周波数を落とし、消費電力を下げる技術である。
【０００６】
また、最近はトラフィック処理の有無に応じて休止状態となるルータがある。そこで、トラフィックを一部の経路に集約することができれば、トラフィック処理が発生していないルータを休止状態にさせ、省電力化を図ることができる。
【０００７】
例えば、ネットワークのトラフィックを限定された経路に確実に集約する技術が考えられている。なおこの技術では、所定の閾値を超えるトラフィックが発生したリンクがある場合、そのリンクへのトラフィックの送信元となるルータが制御パケットを用いてアラーム情報を発信する。アラーム情報を受信した各ルータは、パケットの振り分けモードを、集約モードから分散モードに変更する。これにより、トラフィックの集約による輻輳の発生が抑止される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−２０６４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、省電力状態となったルータに大量のトラフィックが発生した場合、そのルータを通常の動作状態に復帰させるのに時間がかかり、伝送遅延などの品質劣化が発生する。ここで、転送される各種のデータはそれぞれ許容できる伝送品質の劣化度合いが異なり、許容できる範囲を超えて伝送品質が劣化してしまうことが問題となる。
【００１０】
１つの側面では、本発明は、転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を行うことができる情報処理装置、制御方法、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、転送手段、重要度判定手段、動作モード判定手段、および制御手段を有する情報処理装置が提供される。転送手段は、流入したデータを転送する。重要度判定手段は、流入したデータの重要度を判定する。動作モード判定手段は、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。制御手段は、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで転送手段の省電力制御を行う。
【００１２】
また別の案では、コンピュータが、流入したデータの重要度を判定し、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、ことを特徴とする制御方法が提供される。
【００１３】
また別の案では、コンピュータに、流入したデータの重要度を判定し、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、動作モードごとの省電力制御内容を記憶する記憶手段を参照し、適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、処理を実行させることを特徴とする制御プログラムが提供される。
【発明の効果】
【００１４】
転送されるデータに求められる伝送品質を維持しながら、できるだけ省電力効果を高めた省電力制御を行うことができるようにする。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態に係る装置の機能構成の一例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】誘引力を用いたトラフィック集約技術の一例を示す図である。
【図４】本実施の形態に用いるノードのハードウェアの一構成例を示す図である。
【図５】第２の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。
【図６】深いスリープ状態で動作を停止させる機能の一例を示す図である。
【図７】浅いスリープ状態で動作を停止させる機能の一例を示す図である。
【図８】フロー管理テーブルのデータ構造の一例を示す図である。
【図９】フロー決定テーブルのデータ構造例を示す図である。
【図１０】重要度テーブルのデータ構造の一例を示す図である。
【図１１】性能制御テーブルのデータ構造の一例を示す図である。
【図１２】フローの重要度ごとの通過トラフィック量と性能との関係の一例を示す図である。
【図１３】トラフィック管理テーブルのデータ構造の一例を示す図である。
【図１４】送出分配テーブルのデータ構造の一例を示す図である。
【図１５】パケット受信時の処理手順を示すフローチャートである。
【図１６】重要度決定処理の手順を示すフローチャートである。
【図１７】トラフィック量計測処理の手順を示すフローチャートである。
【図１８】性能決定処理の手順を示すフローチャートである。
【図１９】スリープモード移行処理の手順を示すフローチャートである。
【図２０】重要度通知の一例を示す図である。
【図２１】フローの重要度に応じた各ノードの動作モードの一例を示す図である。
【図２２】誘引力に応じた送出確率の制御例を示す図である。
【図２３】トラフィックの集約および分散状況を示す図である。
【図２４】第３の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。
【図２５】第３の実施の形態のトラフィック管理テーブルのデータ構造の一例を示す図である。
【図２６】トラフィック履歴表のデータ構造の一例を示す図である。
【図２７】第３の実施の形態の送出分配テーブルのデータ構造の一例を示す図である。
【図２８】誘引力履歴表のデータ構造の一例を示す図である。
【図２９】第３の実施の形態のトラフィック量計測処理の手順を示すフローチャートである。
【図３０】第４の実施の形態の制御パケット送信手順を示すフローチャートである。
【図３１】第４の実施の形態における制御パケット受信処理の手順を示すフローチャートである。
【図３２】第４の実施の形態を適用したパケット転送の第１の例を示す図である。
【図３３】第４の実施の形態を適用したパケット転送の第２の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る装置の機能構成の一例を示す図である。情報処理装置１は、ネットワーク２とネットワーク３との間のデータ転送を行う。そのために情報処理装置１は、転送手段１ａ、重要度判定手段１ｂ、動作モード判定手段１ｃ、記憶手段１ｄ、および制御手段１ｅを有する。
【００１７】
転送手段１ａは、流入したデータを転送する。例えば転送手段１ａは、ネットワーク２から流入したデータをネットワーク３へ転送する。また転送手段１ａは、ネットワーク３から流入したデータをネットワーク２へ転送する。
【００１８】
重要度判定手段１ｂは、流入したデータの重要度を判定する。例えば重要度判定手段１ｂは、流入したデータのトラフィッククラスやＴｏＳ(Type Of Service)フィールドに基づいてそのデータの重要度を判定する。トラフィッククラスやＴｏＳは、データを伝送するパケットのヘッダ情報の１つである。トラフィッククラスやＴｏＳには、パケットの優先度が設定される。例えば重要度判定手段１ｂは、優先度が高いパケットで伝送されるデータは、重要度が高いと判断することができる。
【００１９】
動作モード判定手段１ｃは、流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する。例えば動作モード判定手段１ｃは、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、適用する動作モードと判定する。
【００２０】
ここで、データの重要度が、高い順に「高」、「中」、「低」の３段階で設定される場合を想定する。この場合、例えば重要度「高」には動作モード「品質優先モード」が対応付けられ、重要度「中」には動作モード「中間モード」が対応付けられ、重要度「低」には動作モード「省電力優先モード」が対応付けられる。動作モード判定手段１ｃは、流入したデータそれぞれの重要度のうち、最も高い重要度が「高」であれば、適用する動作モードを「品質優先モード」と判定する。また動作モード判定手段１ｃは、流入したデータそれぞれの重要度のうち、最も高い重要度が「中」であれば、適用する動作モードを「中間モード」と判定する。また動作モード判定手段１ｃは、流入したデータそれぞれの重要度のうち、最も高い重要度が「低」であれば、適用する動作モードを「省電力優先モード」と判定する。
【００２１】
記憶手段１ｄは、動作モードごとの省電力制御内容を記憶する。例えば記憶手段１ｄには、動作モードごとに、流入トラフィックがある場合と、流入トラフィックがない場合との省電力制御内容が設定される。図１の例では、流入トラフィックがある場合、品質優先モードでは１００％の性能を発揮させ、中間モードでは負荷に広い余裕幅を持たせた性能を発揮させ、省電力優先モードでは負荷に狭い余裕幅を持たせた性能を発揮させることが設定されている。また、流入トラフィックがない場合、品質優先モードでは機能をスリープさせず、中間モードでは浅いスリープのスリープモードに移行させ、省電力優先モードでは深いスリープのスリープモードに移行させることが設定されている。
【００２２】
制御手段１ｅは、記憶手段１ｄを参照し、適用する動作モードで転送手段１ａの省電力制御を行う。例えば制御手段１ｅは、適用する動作モードに対応する省電力制御内容において、転送手段１ａに発揮させる性能が設定さている場合、適用する動作モードに対応する性能となるように転送手段１ａの省電力制御を行う。例えば制御手段１ｅは、転送手段１ａの動作クロックを変更することで、転送手段１ａの性能を制御する。また制御手段１ｅは、転送手段１ａの電源電圧を制御することで、転送手段１ａの性能を制御することもできる。
【００２３】
このような情報処理装置１によれば、ネットワーク２からデータが流入すると、重要度判定手段１ｂにより、流入したデータの重要度が判定される。次に動作モード判定手段１ｃにより、流入したデータそれぞれの重要度に基づいて、適用する動作モードが判定される。そして、制御手段１ｅにより、適用する動作モードで、転送手段１ａの省電力制御が行われる。
【００２４】
このようにして、流入したデータの重要度に応じた転送手段１ａの省電力制御が可能となる。そのため、例えば重要度の高いデータが流入していれば、品質優先の動作モードにより省電力制御を行い、転送データの品質劣化を抑止できる。また最大でも重要度が中程度のデータが流入しているのであれば、中間的な動作モードで省電力制御を行い、伝送品質の劣化を少なく抑えながらも、消費電力が削減される。また最も重要度が低いデータのみが流入しているのであれば、省電力優先の動作モードで省電力制御を行い、伝送品質の劣化を許容して、消費電力を大幅に削減することが可能となる。
【００２５】
なお、転送手段１ａ、重要度判定手段１ｂ、動作モード判定手段１ｃ、および制御手段１ｅは、情報処理装置１が有するＣＰＵ（Central Processing Unit）により実現することができる。また、記憶手段１ｄは、情報処理装置１が有するＲＡＭ（Random Access Memory）やハードディスクドライブ（ＨＤＤ:Hard Disk Drive）により実現することができる。
【００２６】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第２の実施の形態〕
次に、第２の実施の形態について説明する。第１の実施の形態では、データ転送の技術として説明したが、多くのネットワークではパケットによってデータ転送が行われる。そこで、第２の実施の形態では、ネットワークに配置されたルータでパケットを転送する場合を例に採り、適切なパケット転送経路の振り分け技術について説明する。なお、以下の説明では、ネットワーク内でパケットの転送を行うルータを、ノードと呼ぶこととする。また特定の送信元から特定の宛先までのトラフィックの集合を「フロー」と呼ぶ。
【００２７】
第２の実施の形態では、ノードの動作特性、スリープレベルの設定は、通過フローの重要度の最大値（最大重要度）に応じて決定される。ノードを通過するフローのうち少なくとも１つに流入トラフィックがあれば、ノードは動作状態である。ノードを通過するすべてのトラフィック量が０になれば、そのノードはスリープする。このときのスリープレベルについても、通過フローの最大重要度により決定される。
【００２８】
図２は、第２の実施の形態のシステム構成例を示す図である。ネットワーク１０には、複数のノード１００，２００，３００，４００，５００，６００が含まれている。
ネットワーク１０に含まれるノードのうち、ノード１００，２００，５００，６００は、それぞれ他のネットワーク２１〜２４に接続されている。ノード１００，２００，５００，６００は、ネットワーク１０内でのトラフィックの転送に加え、他のネットワークから入力されるトラフィックや他のネットワークへ出力するトラフィックの転送を行うノードとして機能する。このような他のネットワークと間のトラフィックの転送を行うノード１００，２００，５００，６００を、特にエッジノードと呼ぶ。
【００２９】
エッジノードのうち、他のネットワークから流入したトラフィックを、ネットワーク１０を介して転送するノードを、入口ノードと呼ぶ。また、エッジノードのうち、ネットワーク１０を介して転送されてきたトラフィックを他のネットワークへ送出するノードを、出口ノードと呼ぶ。エッジノードは、トラフィックの転送方向に応じて、入口ノードとして機能したり、出口ノードとして機能したりする。
【００３０】
ネットワーク１０に含まれるノードのうち、ノード３００，４００は、ネットワーク１０内のトラフィックを転送する。このようなネットワーク１０内でのトラフィックの転送を行うノード３００，４００を、特に中継ノードと呼ぶ。ノード３００，４００は、共にノード１００，２００，５００，６００それぞれに接続されている。そしてノード３００，４００は、ノード１００，２００，５００，６００間のトラフィックを転送する。
【００３１】
各ノードには、ネットワーク１０上で識別するためのＩＤが付与されている。ノード１００のＩＤは「１」である。ノード２００のＩＤは「２」である。ノード３００のＩＤは「３」である。ノード４００のＩＤは「４」である。ノード５００のＩＤは「５」である。ノード６００のＩＤは「６」である。
【００３２】
ネットワーク１０内では、各ノードが、例えば個々のパケット単位で、伝送経路を選択する。なお、エッジノードとして機能しているノードは、ネットワーク１０内でのパケットの中継をするため、中継ノードとしての機能も兼ね備える。
【００３３】
以上のような構成のシステムにより、ネットワーク１０内でトラフィックが転送される。第２の実施の形態では、ノード１００，２００に流入したトラフィックを、ノード５００，６００に転送する場合を想定する。ネットワークに流入したトラフィックは、入口となるノード１００，２００に予め定義された経路で、出口となるノード５００，６００に転送される。
【００３４】
第２の実施の形態において、トラフィックが他のネットワーク２１，２２から流入するノード１００，２００は、入口ノードとして機能する。トラフィックを他のネットワーク２３へ送出させるノード５００，６００は、出口ノードとして機能する。トラフィックをネットワーク１０内で中継するノード３００，４００は、中継ノードとして機能する。経路指定型のルーティンを行う場合、入口ノードとして機能するノード１００，２００には、区間（入口ノードと出口ノードとの対）に対して、１つ以上の経路が設定されている。そして入口ノードとして機能するノード１００，２００は、流入したトラフィックを、予め設定された経路に所定の転送確率で分配する。
【００３５】
また各ノードは、トラフィックの流入が一定時間途絶えると、スリープモードに移行する。スリープモードでは、ノードの多くの機能が停止し、消費電力が低く抑えられる。各ノードは、複数のスリープモードを有している。例えば、浅いスリープと深いスリープとのスリープモードを有する。ただし深いスリープのスリープモードであっても、制御パケットの転送に必要な機能は動作し続ける。
【００３６】
また各ノードは、電源電圧や動作クロックの周波数を制御することによる省電力制御が可能である。各ノードは、省電力のための性能制御として、複数の段階で消費電力制御を行うことができる。例えば各ノードは、ノードへのトラフィックの流入が一定時間途絶えた場合、省電力モードとして、該当ノードを、動作周波数を低下させる低電力モードに移行させることができる。
【００３７】
また、第２の実施の形態では、ネットワークのトラフィックの集約を、誘引力を用いて行うものとする。各ノードは、自己が転送するトラフィックが多いほど、大きな誘引力を計算し、隣接するノードに通知する。誘引力を受け取ったノードは、パケットを転送する際に、誘引力が大きい隣接ノードほど転送確率を大きくし、パケットの転送経路を決定する。このようにして、トラフィックが多いノードを経由する経路へ、トラフィックが集約されていく。なお、誘引力を用いたトラフィックの集約技術としては、例えば特開２０１０−２０６４６７号公報に開示された技術がある。
【００３８】
図３は、誘引力を用いたトラフィック集約技術の一例を示す図である。図３の例では、ノード１００には、ノード５００を出口ノードとするフローと、ノード６００を出口ノードとするフローとが、ネットワーク２１から流入している。またノード２００には、ノード５００を出口ノードとするフローが、ネットワーク２２から流入している。
【００３９】
このときノード１００からノード５００へのフローについて、ノード１００には、ノード３００を経由する経路とノード４００を経由する経路とが設定されているものとする。またノード１００からノード６００へのフローについて、ノード１００には、ノード３００を経由する経路のみが設定されているものとする。またノード２００からノード５００へのトラフィックについて、ノード２００には、ノード３００を経由する経路とノード４００を経由する経路とが設定されているものとする。
【００４０】
図３の例では、ノード１００は、ノード５００へのフローのトラフィックを、ノード３００を経由する経路により多く分配している。またノード２００は、ノード５００へのフローのトラフィックを、ノード３００を経由する経路により多く分配している。
【００４１】
トラフィックを中継するノード３００，４００は、流入するトラフィック量に応じた誘引力を、経路上の入口ノード側に隣接するノード１００，２００に通知する。図３の例では、ノード３００の方が、ノード４００よりも大きな誘引力を、ノード１００，２００に通知する。
【００４２】
ノード１００，２００は、ノード３００，４００からの誘引力を受け取ると、通知した誘引力が大きなノード３００へ、さらに多くのトラフィックを振り分ける。すると、ノード３００に流入するトラフィック量は増加し、誘引力も増加する。逆に、ノード４００に流入するトラフィック量は減少し、誘引力も減少する。このような処理を継続すると、すべてのトラフィックが、ノード３００を経由する経路に集約される。その結果、ノード４００をスリープモードに移行させ、省電力化を図ることが可能となる。
【００４３】
しかし、ノードを一度スリープモードにすると、通常動作に復帰させるのに時間がかかる。そこで第２の実施の形態では、各ノードを経由する経路を有するフローの重要度に応じて、スリープモードにするか否か、あるいはスリープモードにするときのレベルを決定する。これにより、重要度が高いフローの伝送品質を保つことができると共に、重要度が低いフローしか中継しないノードについては、積極的に省電力化を図り、ネットワーク全体の省電力を抑制することができる。
【００４４】
また流入トラフィックがあるノードであっても、流入トラフィックが少なければ、ＤＶＳの技術などを用いて、省電力化を図ることができる。しかし、ＤＶＳにより省電力化を図った状態でトラフィック量が急激に増加すると、性能を向上させる性能制御が遅れ、パケットの遅延増加などの伝送品質の劣化の可能性がある。そこで、第２の実施の形態では、重要度の高いにフローに関するトラフィックを転送するノードについては、現在の処理負荷からの余裕幅を広く取った性能で動作させる。これにより重要度が高いフローに関する急激なトラフィックの増加があった場合の品質劣化を抑止することができる。また、重要度の低いにフローに関するトラフィックのみを転送するノードについては、現在の処理負荷からの余裕幅を狭く取った性能で動作させる。これによりネットワークの省電力化を図ることができる。
【００４５】
図４は、本実施の形態に用いるノードのハードウェアの一構成例を示す図である。ノード１００は、主制御プロセッサ１０１、ネットワークプロセッサ１０２、ＲＯＭ（Read Only Memory）１０３、ＲＡＭ１０４、フラッシュメモリ１０５、電源制御部１０６、起動制御監視部１０７、および複数のネットワークインタフェース（ＮＩＦ）１０８−１，１０８−２，・・・を有する。
【００４６】
ノード１００は、主制御プロセッサ１０１によって装置全体が制御されている。例えば主制御プロセッサ１０１は、他のノードとの制御パケットの送受信を行う。また主制御プロセッサ１０１は、動作クロック変更、電源電圧変更、スリープモード移行などの制御を行う。主制御プロセッサ１０１には、ネットワークプロセッサ１０２、ＲＯＭ１０３、ＲＡＭ１０４、フラッシュメモリ１０５、電源制御部１０６などが接続されている。
【００４７】
ネットワークプロセッサ１０２は、複数のＮＩＦ１０８−１，１０８−２，・・・に接続されており、パケットの転送制御を行う。ＲＯＭ１０３には、例えば起動時にフラッシュメモリ１０５に格納された設定データやファームウェアプログラムをＲＡＭ１０４へ書き込み実行するブートプログラムが、予め格納されている。ＲＡＭ１０４には、例えば主制御プロセッサ１０１が処理を実行する際に利用されるデータやプログラムが、一時的に格納される。フラッシュメモリ１０５には、例えば主制御プロセッサ１０１やネットワークプロセッサ１０２のファームウェアプログラム、ネットワークの管理者により設定されたネットワーク制御情報、あるいはスリープモード時にネットワークプロセッサ１０１から退避された宛先検索メモリ１１０およびネットワーク制御情報メモリ１２０の内容やスリープモード中に制御パケットで送受信される各種制御情報が格納される。
【００４８】
電源制御部１０６は、主制御プロセッサ１０１やネットワークプロセッサ１０２に供給する電源を制御する。例えば電源制御部１０６は、主制御プロセッサ１０１からスリープモードへの移行指示を受けると、所定の回路への電源供給を停止する。また電源制御部１０６は、スリープモード時に起動制御監視部１０７からトラフィックの発生の通知を受けると、電源供給を停止していた回路への電源供給を開始する。また電源制御部１０６は、主制御プロセッサ１０１から指示された電源電圧を、主制御プロセッサ１０１やネットワークプロセッサ１０２に供給する。
【００４９】
起動制御監視部１０７は、複数のＮＩＦ１０８−１，１０８−２，・・・に接続されており、スリープモード時のパケットの流入の有無を監視する。起動制御監視部１０７は、例えばパケットの流入を検知すると、電源制御部１０６にトラフィックの発生を通知する。
【００５０】
ＮＩＦ１０８−１は、他のノードと伝送線によって接続されており、接続されたノードとの間でデータ転送を行う。そのためにＮＩＦ１０８−１は、パケット受信回路１０８ａ、パケットバッファ１０８ｂ、パケット送信回路１０８ｃ、およびパケットバッファ１０８ｄを有している。パケット受信回路１０８ａは、他のノードから入力されたパケットを受信する。パケットバッファ１０８ｂは、受信したパケットを一時的に格納する。パケット送信回路１０８ｃは、他のノードに対してパケットを送信する。パケットバッファ１０８ｄは、送信するパケットを一時的に格納する。他のＮＩＦ１０８−２，・・・もＮＩＦ１０８−１と同様の機能を有している。
【００５１】
またノード１００には、管理端末装置２５を接続することができる。管理端末装置２５は、主制御プロセッサ１０１と起動制御監視部１０７に接続される。ネットワーク１０の管理者は、管理端末装置２５を用いて、ノード１００に対して各種設定を行うことができる。なお管理端末装置２５には、例えば光ディスク２６のデータを読み取るドライブ装置が内蔵されている。光ディスク２６は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２６には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。管理端末装置２５は、例えば光ディスク２６からプログラムやデータを読み取り、ノード１００に入力することができる。その場合、ノード１００では、入力されたプログラムやデータがフラッシュメモリ１０５に格納される。
【００５２】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお図４には、ノード１００のハードウェア構成例を示したが、他のノード２００，３００，４００，５００，６００も同様のハードウェアで実現することができる。また、第１の実施の形態に示した装置も、図４に示したコンピュータと同様のハードウェアにより実現することができる。
【００５３】
図５は、第２の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。ネットワークプロセッサ１０２は、宛先検索メモリ１１０、ネットワーク制御情報メモリ１２０、制御部１３０、ヘッダ解析部１４０、宛先判定部１５０、パケット転送部１６０、およびトラフィック計測部１７０を有する。
【００５４】
宛先検索メモリ１１０は、宛先のＩＰアドレスと隣接ノードとの対応関係を記憶する。例えば宛先検索メモリ１１０には、ＯＳＰＦやＲＩＰなどのルーティングプロトコルにより取得されたルーティング情報を記憶する。また、例えば宛先検索メモリ１１０には、宛先ノードのＩＰアドレスに対応付けて、隣接ノードのＩＰアドレス、ＭＡＣ（Media Access Control）アドレスや隣接ノードにつながる出力物理ポート番号などが格納される。
【００５５】
ネットワーク制御情報メモリ１２０は、パケットの転送先の決定に利用される各種制御情報を記憶する。例えばネットワーク制御情報メモリ１２０には、フロー管理テーブル１２０ａ、フロー決定テーブル１２１、重要度テーブル１２２、性能制御テーブル１２３、トラフィック管理テーブル１２４、複数の送出分配テーブル１２５ａ，１２５ｂ，１２５ｃ，・・・、現行動作モード１２６、および現在閾値１２７が格納される。
【００５６】
フロー管理テーブル１２０ａには、フローごとの経路が設定されている。なお、フロー管理テーブル１２０ａは、経路指定型のトラフィック制御を行う場合に、入口ノードに格納される。
【００５７】
フロー決定テーブル１２１は、パケットのヘッダ情報に基づいて、フローＩＤと重要度とを判別するための情報が登録されたデータテーブルである。重要度テーブル１２２は、重要度ごとの動作特性やスリープレベルが登録されたデータテーブルである。性能制御テーブル１２３は、重要度ごとに、トラフィックの閾値と性能との対応関係を定義したデータテーブルである。トラフィック管理テーブル１２４は、フローごとのトラフィック量を管理するデータテーブルである。送出分配テーブル１２５ａ，１２５ｂ，１２５ｃ，・・・は、各フローに設定された経路へのパケットの分配率を定義したデータテーブルの集合である。現行動作モード１２６は、ノード１００に適用する重要度のレベルを示す情報である。例えば現行動作モード１２６は、「品質優先モード」、「中間モード」、「省電力優先モード」のいずれかの値が設定される。現在閾値１２７は、現在の性能で処理を実行する、負荷の上限値である。ノード１００の起動時には、現在閾値に例えば「１００％」の初期値が設定される。
【００５８】
制御部１３０は、主制御プロセッサ１０１からの指示を受けて、パケットのルーティング処理を制御する。なお主制御プロセッサ１０１は、制御部１３０を介して、ネットワーク制御情報メモリ１２０内の情報にアクセスすることができる。
【００５９】
ヘッダ解析部１４０は、入力されたパケットのヘッダ情報を解析する。例えばヘッダ解析部１４０は、ヘッダ情報を解析し、入力されたパケットに対応するフローのフローＩＤや重要度を判定する。
【００６０】
宛先判定部１５０は、ヘッダ解析部１４０からパケットを受け取り、宛先検索メモリ１１０を参照し、パケットの送出先となる出力ポート、経路上で隣接するノードのＩＰアドレス、ＭＡＣアドレスなどを判定する。
【００６１】
パケット転送部１６０は、宛先判定部１５０からパケットを受け取り、宛先判定部１５０が判定した出力ポートを有するＮＩＦへパケットを送出する。
トラフィック計測部１７０は、フローの経路ごとの単位時間当たりの送出トラフィック量を計測する。トラフィック計測部１７０は、計測したトラフィック量を、該当経路の送出分配テーブルに設定する。
【００６２】
なお、図１に示した転送手段１ａは、図５の宛先判定部１５０およびパケット転送部１６０によって実現されている。また図１に示した重要度判定手段１ｂと動作モード判定手段１ｃとは、図５のヘッダ解析部１４０によって実現されている。また図１に示した記憶手段１ｄは、図５のネットワーク制御情報メモリ１２０によって実現されている。また図１に示した制御手段１ｅは、ネットワークプロセッサ１０２の制御部１３０、主制御プロセッサ１０１、電源制御部１０６（図４参照）、および起動制御監視部１０７（図４参照）によって実現されている。
【００６３】
なお、図５に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このような構成のノード１００において、スリープモードになると、一部の機能が停止する。第２の実施の形態では、スリープモードを、深いスリープと浅いスリープとの２段階のいずれかに設定することができる。深いスリープは、浅いスリープに比べて通常動作への復帰時間は長くなるが、消費電力は低く抑えることができるスリープモードである。
【００６４】
図６は、深いスリープ状態で動作を停止させる機能の一例を示す図である。図６では、深いスリープのスリープ状態のときに停止させる機能を破線で示し、動作させる機能を実線で示している。図６の例では、主制御プロセッサ１０１，ネットワークプロセッサ１０２、ＲＯＭ１０３、ＲＡＭ１０４、およびフラッシュメモリ１０５の動作が停止されている。一方、電源制御部１０６、起動制御監視部１０７、およびＮＩＦ１０８−１，１０８−２，・・・は動作している。
【００６５】
深いスリープのスリープモードに移行する場合、主制御プロセッサ１０１は、例えばネットワークプロセッサ１０２の制御部１３０から宛先検索メモリ１１０とネットワーク制御情報メモリ１２０の内容を取得し、フラッシュメモリ１０５に書き込む。なお主制御プロセッサ１０１が、宛先検索メモリ１１０とネットワーク制御情報メモリ１２０に格納する情報をネットワークプロセッサ１０２に入力する際に、入力した情報と同じ情報をフラッシュメモリ１０５に書き込んでおくこともできる。このようにした場合、深いスリープモードへの移行時に、ネットワークプロセッサ１０２内の情報をフラッシュメモリ１０５に書き込む処理を行わずにすむ。
【００６６】
このようなスリープモードからすべての機能を起動させる場合、まず、主制御プロセッサ１０１が、ＲＯＭ１０３からファームウェアブートプログラムを実行し、フラッシュメモリ１０５から主制御プロセッサ用ファームウェアプログラムや設定情報をＲＡＭ１０４にロードする。その後、主制御プロセッサ１０１がＲＡＭ１０４にロードしたプログラムを実行することで、主制御プロセッサが起動する。
【００６７】
主制御プロセッサ１０１は、起動が完了すると、フラッシュメモリ１０５にスリープ移行時にネットワークプロセッサ１０２から宛先検索メモリ１１０やネットワーク制御情報メモリ１２０の内容が退避されていれば、読み出してネットワークプロセッサ１０２の宛先検索メモリ１１０やネットワーク制御情報メモリ１２０に設定する。フラッシュメモリは不揮発性であるので停止時も記憶内容は保持されている。ただしそれらの情報はスリープ移行時点のものであり、スリープ中の変化は反映されていない。主制御プロセッサは更にルーティングプロトコルに基づいて隣接ノードとの間でルーティング情報その他の制御情報を送受信することにより、ネットワークトポロジ（ネットワークの接続形態）や経路情報を取得する。主制御プロセッサ１０１は、取得したネットワークトポロジや経路情報の変化を、ネットワークプロセッサ１０２の宛先検索メモリ１１０やネットワーク制御情報メモリ１２０に設定する。その後正常なパケット転送処理が可能になる。
【００６８】
図７は、浅いスリープ状態で動作を停止させる機能の一例を示す図である。図７では、浅いスリープのスリープ状態のときに停止させる機能を破線で示し、動作させる機能を実線で示している。図６の例では、ネットワークプロセッサ１０２のみ、動作が停止されている。一方、主制御プロセッサ１０１などのネットワークプロセッサ１０２以外の機能は動作している。
【００６９】
浅いスリープのスリープモードに移行する場合、主制御プロセッサ１０１は、例えばネットワークプロセッサ１０２の制御部１３０から宛先検索メモリ１１０とネットワーク制御情報メモリ１２０の内容を取得し、ＲＡＭ１０４に書き込む。なお主制御プロセッサ１０１が、ネットワークプロセッサ１０２の宛先検索メモリ１１０とネットワーク制御情報メモリ１２０に格納する情報をネットワークプロセッサ１０２に入力する際に、入力した情報と同じ情報をＲＡＭ１０４に書き込んでおくこともできる。このようにした場合、浅いスリープモードへの移行時に、ネットワークプロセッサ１０２内の情報をＲＡＭ１０４に書き込む処理を行わずにすむ。
【００７０】
浅いスリープのスリープモードでは、ネットワークプロセッサ１０２の機能を停止するのみであるが、有効な省電力効果を得ることができる。例えばネットワークプロセッサ１０２内の宛先検索メモリ１１０には、高速な検索が可能であることが要求され、消費電力の大きいＴＣＡＭ（Ternary CAM）を使用する場合が多い。そのため、ネットワークプロセッサ１０２の機能を停止すれば、有効な省電力効果が得られる。
【００７１】
なお、浅いスリープのスリープモードでは、主制御プロセッサ１０１によるルーティングプロトコルその他制御パケットの処理は行われる。そして浅いスリープのスリープモード中のネットワーク状態の変化は、主制御プロセッサ１０１によりＲＡＭ１０４に格納された制御情報に反映される。
【００７２】
ネットワークプロセッサ１０２の起動時には、主制御プロセッサ１０１により、ＲＡＭ１０４から、ネットワークプロセッサ１０２の宛先検索メモリ１１０やネットワーク制御情報メモリ１２０に制御情報がコピーされる。そして、ネットワークプロセッサ１０２によるパケットのルーティング処理が開始される。
【００７３】
このように、ネットワークプロセッサ１０２の起動の際に事前に実行する処理は、制御情報のコピーのみであり、迅速に、正常なルーティング処理を開始することができる。
なお、浅いスリープのスリープモードの間は、主制御プロセッサ１０１は、制御パケットを用いたルーティング情報の更新処理を実行すればよいので、その実行に十分なレベルに動作クロックを落とし、低電力化を図ることも可能である。
【００７４】
なお、浅いスリープにおいて、さらに消費電力を減らす工夫も可能である。例えば、ＮＩＦ１０８−１，１０８−２，・・・について、接続相手とのネゴシエーションによって回線速度を決定し、スリープ中の通信速度を落とすことができれば、消費電力を減らすことが可能である。また、起動制御監視部１０７が、スリープ中のルーティングプロトコルによる制御情報の管理処理など制御パケットの処理を代行できるようにしておけば、浅いスリープのスリープモードであっても、主制御プロセッサ１０１の動作を停止させることが可能となる。
浅いスリープから更に深いスリープのスリープモードに移行する場合、主制御プロセッサ１０１は、たとえばＲＡＭ１０４上に置かれたルーティング情報やネットワーク制御情報をフラッシュメモリ１０５に書き込み退避する。
【００７５】
次に、ネットワーク制御情報メモリ１２０に格納される制御情報について詳細に説明する。
図８は、フロー管理テーブルのデータ構造の一例を示す図である。フロー管理テーブル１２０ａには、フローＩＤ、区間、および経路の欄が設けられている。フローＩＤの欄には、ノード１００にネットワーク２１から流入するフローの識別情報（フローＩＤ）が設定される。区間の欄には、フローＩＤで示されるフローの区間が、入口ノードのノードＩＤと出口ノードのノードＩＤとの組で設定される。経路の欄には、フローＩＤで示されるフローの経路が設定される。経路は、入口ノードから出口ノードまでの経路上の各ノードのノードＩＤの配列で示される。
【００７６】
図９は、フロー決定テーブルのデータ構造例を示す図である。図９の例では、フロー決定テーブル１２１は、連想メモリ（ＣＡＭ：Content Addressable Memory）によって構成されている。
【００７７】
フロー決定テーブル１２１には、入力物理ポート番号、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、タグＶＬＡＮ（Virtual LAN）ユーザ優先度（ＵＰＲＩ）、送信元ＩＰアドレス、宛先ＩＰアドレス、ＩＰプロトコル番号、送信元ＩＰポート番号、宛先ＩＰポート番号、ＤＳＣＰ（DiffServ Code Point）、およびフローＩＤ、重要度テーブルアドレスの欄が設けられている。これらの欄のうちフローＩＤと重要度テーブルアドレス以外の各欄の値は、ヘッダ情報の適合条件を示しており、受信したパケットに対応するフローのフローＩＤ、および重要度テーブルアドレスの検索に利用される。
【００７８】
入力物理ポート番号の欄には、フローＩＤで示されるフローのパケットがノード１００に入力されるときの物理ポートを示す物理ポート番号が設定される。送信元ＭＡＣアドレスの欄には、フローＩＤで示されるフローのパケットのヘッダの送信元ＭＡＣアドレスが設定される。宛先ＭＡＣアドレスの欄には、フローＩＤで示されるフローのパケットのヘッダの宛先ＭＡＣアドレスが設定される。ユーザ優先度（ＵＰＲＩ）の欄には、フローＩＤで示されるパケットを含むフレームがＶＬＡＮタグ付の場合のユーザ優先度（ＵＰＲＩ）が設定される。送信元ＩＰアドレスの欄には、フローＩＤで示されるフローのパケットの送信元ＩＰアドレスが設定される。宛先ＩＰアドレスの欄には、フローＩＤで示されるフローのパケットの宛先ＩＰアドレスが設定される。ＩＰプロトコル番号の欄には、フローＩＤで示されるフローのパケットのＩＰプロトコル番号が設定される。送信元ＩＰポート番号の欄には、フローＩＤで示されるフローのパケットの送信元ＩＰポート番号が設定される。宛先ＩＰポート番号の欄には、フローＩＤで示されるフローのパケットの宛先ＩＰポート番号が設定される。ＤＳＣＰの欄には、フローＩＤで示されるフローのパケットのＤＳＣＰの値が設定される。
【００７９】
なお、入力物理ポート番号、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、ユーザ優先度（ＵＰＲＩ）、送信元ＩＰアドレス、宛先ＩＰアドレス、ＩＰプロトコル番号、送信元ＩＰポート番号、宛先ＩＰポート番号、およびＤＳＣＰの各欄には、特定の値に代えて合致条件を設定してもよい。なお合致条件の一つとしてどんな値とも合致するワイルドカードを指定することもできる。
【００８０】
フローＩＤの欄には、以上の各欄で特定されるフローの識別情報（フローＩＤ）が設定される。
重要度テーブルアドレスの欄には、フローＩＤで示されるフローの重要度を定義した重要度テーブル内のレコードのアドレスが設定される。
【００８１】
ヘッダ解析部１４０は、フロー決定テーブル１２１の各欄、入力物理ポート番号、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、タグＶＬＡＮユーザ優先度（ＵＰＲＩ）、送信元ＩＰアドレス、宛先ＩＰアドレス、ＩＰプロトコル番号、送信元ＩＰポート番号、宛先ＩＰポート番号、ＤＳＣＰの値と、入力パケットのヘッダ情報の対応部分の値とを比較し、すべての欄が合致するレコードのフローＩＤと、重要度テーブル１２２のアドレスとを取得する。このようにして、ヘッダ解析部１４０は、フロー決定テーブル１２１を用いて、受信したパケットに対応するフローＩＤと重要度テーブル１２２のアドレス、つまりそのフローの重要度を取得することができる。
【００８２】
図１０は、重要度テーブルのデータ構造の一例を示す図である。重要度テーブル１２２には、重要度、動作モード、動作特性、およびスリープレベルの欄が設けられている。
重要度の欄には、フローの重要度が設定される。図１０の例では、「高」、「中」、「低」の３段階の重要度が設定されている。
【００８３】
動作モードの欄には、重要度に応じた動作モードが設定される。図１０の例では、重要度が「高」であれば動作モードは「品質優先モード」であり、重要度が「中」であれば動作モードは「中間モード」であり、重要度が「低」であれば動作モードは「省電力優先モード」である。品質優先モードは、ノード１００の性能を最大限まで発揮させ、パケットの伝送品質を最良に保つための動作モードある。中間モードは、パケットの伝送品質の劣化を出来る限り抑止しながら、適度な省電力化を図る動作モードである。省電力優先モードは、パケットの伝送品質の劣化をある程度許容し、ノード１００の省電力化の向上を図る動作モードである。
【００８４】
動作特性の欄には、各重要度に対応する性能制御テーブル１２３内の閾値・性能リストの識別情報が設定される。スリープレベルの欄には、各重要度に対応するスリープレベルが設定される。図１０の例では、深いスリープ、浅いスリープ、およびスリープさせない（非スリープ）という３段階のスリープレベルが設定されている。重要度「高」の場合、スリープレベル「非スリープ」であり、重要度「中」の場合、スリープレベル「浅いスリープ」であり、重要度「低」の場合、スリープレベル「深いスリープ」である。
【００８５】
また重要度テーブル１２２の各レコードは、重要度テーブル１２２のアドレスに対応付けられている。例えばアドレス「add#0」には、重要度「高」のフローに関するレコードが設定され、アドレス「add#1」には、重要度「中」のフローに関するレコードが設定され、アドレス「add#2」には、重要度「低」のフローに関するレコードが設定されている。
【００８６】
図１１は、性能制御テーブルのデータ構造の一例を示す図である。性能制御テーブル１２３には、複数の閾値・性能リストそれぞれの識別情報に対応付けて、閾値と性能との１つ以上の対（閾値・性能対）が登録されている。
【００８７】
性能制御テーブル１２３における閾値は、対応する性能でノード１００を動作させるノード１００の負荷の上限値である。ノード１００の負荷は、例えばノード１００の単位時間当たりのパケット転送の最大処理能力に対する現在の単位時間当たりのパケット転送数である。例えば閾値「１００」は、パケット転送の処理能力の最大値を閾値とすることを示し、閾値「２５」は、パケット転送の処理能力の最大値の２５％の処理負荷を閾値とすることを示す。
【００８８】
性能は、ノード１００のパケット転送の処理能力の最大値に対して、対応する閾値以下の処理負荷のときにノード１００に発揮させる処理能力を示す数値である。例えば、ノード１００の動作クロック数と処理能力とが比例している場合、動作クロック数を最大値の４０％に低下させることで、４０％の処理能力にすることができる。
【００８９】
図１１の例では、識別情報「閾値・性能リスト＃１」の閾値・性能リストには、閾値「１００」・性能「１００」の閾値・性能対のみが登録されている。これはノード１００を常に最大性能で動作させることを示している。
【００９０】
また識別情報「閾値・性能リスト＃２」の閾値・性能リストには、３つの閾値・性能対が登録されている。閾値「２５」・性能「４０」の閾値・性能対は、処理負荷が２５％以下の間はノード１００を４０％の処理能力で動作させることを示している。閾値「５５」・性能「７０」の閾値・性能対は、処理負荷が２５％を超え５５％以下の間はノード１００を７０％の処理能力で動作させることを示している。閾値「１００」・性能「１００」の閾値・性能対は、処理負荷が５５％を超えた場合はノード１００を１００％の処理能力で動作させることを示している。
【００９１】
識別情報「閾値・性能リスト＃３」の閾値・性能リストには、６つの閾値・性能対が登録されている。閾値「５」・性能「１０」の閾値・性能対は、処理負荷が５％以下の間はノード１００を１０％の処理能力で動作させることを示している。閾値「１５」・性能「２０」の閾値・性能対は、処理負荷が５％を超え１０％以下の間はノード１００を２０％の処理能力で動作させることを示している。閾値「３５」・性能「４０」の閾値・性能対は、処理負荷が１５％を超え３５％以下の間はノード１００を４０％の処理能力で動作させることを示している。閾値「５５」・性能「６０」の閾値・性能対は、処理負荷が３５％を超え５５％以下の間はノード１００を６０％の処理能力で動作させることを示している。閾値「７５」・性能「８０」の閾値・性能対は、処理負荷が５５％を超え７５％以下の間はノード１００を８０％の処理能力で動作させることを示している。閾値「１００」・性能「１００」の閾値・性能対は、処理負荷が７５％を超えた場合はノード１００を１００％の処理能力で動作させることを示している。
【００９２】
図１２は、フローの重要度ごとの通過トラフィック量と性能との関係の一例を示す図である。図１２では、横軸にノード１００を通過するトラフィック量を示し、縦軸にノード１００に発揮させる性能を示している。図１２には、フローの重要度が「高」の場合の性能の変化を示す線３１、フローの重要度が「中」の場合の性能の変化を示す線３２、およびフローの重要度が「低」の場合の性能の変化を示す線３３が示されている。また、通過トラフィック量に応じたノード１００の処理負荷を示す線３４も示されている。
【００９３】
フローの重要度が「高」の場合、通過トラフィック量に関係なく、ノード１００は常に１００％の処理性能で動作する。フローの重要度が「中」の場合、通過トラフィック量が増加するのに従って、ノード１００の性能が３段階で、段階的に増加する。フローの重要度が「低」の場合、通過トラフィック量が増加するのに従って、ノード１００の性能が６段階で、段階的に増加する。
【００９４】
図１２に示したように、フローの重要度が「低」の場合、ノード１００は、常にフローの重要度が「中」の場合の性能以下の性能となる。その結果、処理負荷に対する余裕度は、フローの重要度が「中」の場合の方が、フローの重要度が「低」の場合よりも広くなる。ここで余裕度とは、性能と処理負荷との差分である。
【００９５】
このように、重要度が高いトラフィックが通過するときほど、少ない制御段階かつ急激な負荷ピークに対する余裕度を広くとった特性とする。制御段階数が少ないことで、性能制御変更処理回数を減らし、変更中の遅延発生を抑止することができる。また、余裕度を広くとることで、制御が間に合わないような急激な増加時のパケットロストを抑止することができる。
【００９６】
図１３は、トラフィック管理テーブルのデータ構造の一例を示す図である。トラフィック管理テーブル１２４には、フローＩＤ、フロー重要度、入力ポート、出口エッジノード、流入トラフィック量、および送出分配テーブルの欄が設けられている。
【００９７】
フローＩＤの欄には、フローＩＤが設定される。フロー重要度の欄には、フローＩＤで示されるフローの重要度が設定される。入力ポートの欄には、フローＩＤで示されるフローのパケットが入力される物理ポートの識別番号（物理ポート番号）が設定される。出口エッジノードの欄には、フローＩＤで示されるフローのこのネットワーク１０の出口となるエッジノードの識別情報が設定される。流入トラフィック量の欄には、フローＩＤで示されるフローの単位時間当たりに流入するトラフィック量が設定される。トラフィック量の単位は、例えばメガバイトである。送出分配テーブルの欄には、フローＩＤで示されるフローの経路ごとのパケットの分配率を定義した送出分配テーブルの識別情報が設定される。
【００９８】
図１４は、送出分配テーブルのデータ構造の一例を示す図である。送出分配テーブル１２５ａには、送出分配テーブルの識別情報「Table#1」が設定されている。また送出分配テーブル１２５ａは、出力ポート、隣接ノード、トラフィック誘引力、送出確率、および送出トラフィック量の欄が設けられている。
【００９９】
出力ポートの欄には、トラフィック管理テーブル１２４で対応付けられているフローの経路上で隣接するノードに接続された物理ポートの識別番号（物理ポート番号）が設定される。隣接ノードの欄には、トラフィック管理テーブル１２４で対応付けられているフローの経路上で隣接するノードのノードＩＤが設定される。トラフィック誘引力の欄には、経路上で隣接するノードから得られるトラフィック誘引力が設定される。送出確率の欄には、トラフィック誘引力に応じた各経路へのパケットの送出確率が設定される。送出トラフィック量の欄には、各経路へ送出したトラフィック量が設定される。
【０１００】
以上のような構成におけるノード１００の性能制御・およびスリープモードへの移行制御処理について説明する。
図１５は、パケット受信時の処理手順を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１０１】
［ステップＳ１１］ネットワークプロセッサ１０２のヘッダ解析部１４０は、パケットを受信したＮＩＦ１０８−１の受信パケットバッファ１０８ｂからパケットを取得する。そしてヘッダ解析部１４０は、取得したパケットのヘッダ部を取得する。
【０１０２】
［ステップＳ１２］ヘッダ解析部１４０は、受信したパケットに対応するフローの重要度決定処理を実行する。重要度決定処理の詳細は後述する（図１６参照）。なお重要度決定処理により、受信したパケットに対応するフローのフローＩＤと重要度とが得られる。
【０１０３】
［ステップＳ１３］トラフィック計測部１７０は、受信したパケットのサイズに基づいて、フローの流入トラフィック量を積算する。
［ステップＳ１４］ヘッダ解析部１４０は、取得したパケットヘッダを宛先判定部１５０に送る。すると宛先判定部１５０は、パケットの転送先とする隣接ノードを決定する。例えば宛先判定部１５０は、ヘッダ解析部１４０を介して、受信したパケットの隣接ノードへの送出確率を取得する。そして宛先判定部１５０は、取得した送出確率に従って、宛先となる隣接ノードを決定する。
【０１０４】
なお、送出確率に基づくトラフィックの集約または分散制御を行わないことも可能である。この場合、宛先判定部１５０は、例えば宛先検索メモリ１１０に格納されているルーティングテーブルを参照し、ＯＳＰＦやＲＩＰなどのルーティングプロトコルに基づいて、転送先のノードを判断する。
【０１０５】
さらに宛先判定部１５０は、決定した隣接ノードのＭＡＣアドレスや、その隣接ノードが接続された物理ポートの識別番号（物理ポート番号）などを宛先検索メモリ１１０から取得し、パケット転送部１６０に渡す。
【０１０６】
［ステップＳ１５］パケット転送部１６０は、受信パケットバッファ１０８ｂからパケットを取得し、宛先判定部１５０で決定された隣接ノードへパケットを転送する。この際、パケット転送部１６０は、宛先判定部１５０から取得したＭＡＣアドレスを、パケットの宛先ＭＡＣアドレスとし、宛先判定部１５０から取得した識別情報で示される物理ポートを有するＮＩＦにパケットを渡す。ＮＩＦでは、受け取ったそのパケットを送信パケットバッファ１０８ｄに格納し、パケットバッファに格納したパケットを順次、隣接するノードに送信する。
【０１０７】
次に、重要度決定処理の詳細について説明する。
図１６は、重要度決定処理の手順を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
【０１０８】
［ステップＳ２１］ヘッダ解析部１４０は、フローの重要度を決定する。例えばヘッダ解析部１４０は、受信したパケットの入力物理ポート番号および受信パケットのヘッダ情報と、フロー決定テーブル１２１の各レコードとを比較し、合致するレコードを判断する。なお、ヘッダ情報と比較されるのは、フロー決定テーブル１２１の送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、ＶＬＡＮタグ、ユーザ優先度（ＵＰＲＩ）、送信元ＩＰアドレス、宛先ＩＰアドレス、ＩＰプロトコル番号、送信元ＩＰポート番号、宛先ＩＰポート番号、およびＤＳＣＰである。ヘッダ解析部１４０は、合致したレコードのフローＩＤと重要度テーブルアドレスとを取得する。そしてヘッダ解析部１４０は、重要度テーブル１２２内の取得した重要度テーブルアドレスに格納されたレコードを取得する。ヘッダ解析部１４０は、重要度テーブル１２２から取得したレコードの内に示される重要度を、受信したパケットに対応するフローの重要度と判定する。
【０１０９】
［ステップＳ２２］ヘッダ解析部１４０は、ステップＳ２１で取得したフローＩＤが、トラフィック管理テーブル１２４に登録されているか否かを判断する。ヘッダ解析部１４０は、フローＩＤが既に登録されていれば、処理をステップＳ２４に進める。またヘッダ解析部１４０は、フローＩＤが登録されていなければ、処理をステップＳ２３に進める。
【０１１０】
［ステップＳ２３］ヘッダ解析部１４０は、トラフィック管理テーブル１２４に、新たに取得したフローＩＤに対応するレコードを追加する。追加されるレコードのフローＩＤの欄には、ステップＳ２１で取得したフローＩＤが設定される。フロー重要度の欄には、ステップＳ２１で決定した重要度が設定される。入力ポートの欄には、ステップＳ２１において、フロー決定テーブル１２１内のレコードと合致したパケットの入力物理ポート番号の値が設定される。出口エッジノードの欄には、パケットの宛先となる装置が接続されたネットワークと、ネットワーク１０との間のパケットを中継するエッジノード（出口エッジノード）の識別情報が設定される。例えば、ヘッダ解析部１４０は、受信したパケットの宛先までの到達経路を調べ、その到達経路上にあるエッジノードを、出口エッジノードとすることができる。この場合、ノード１００には、ネットワーク１０内のエッジノードのＩＰアドレスが予め登録されているものとする。なお受信したパケットの宛先までの到達経路は、ＵＮＩＸ（登録商標）のtracerouteコマンドなどにより取得可能である。流入トラフィック量の欄は、レコードの追加直後は空欄である。なお、規定の初期値を流入トラフィック量の欄に設定することもできる。送出分配テーブルの欄には、トラフィック管理テーブル１２４に新たに登録したフローに対応付けて、新たに作成した送出分配テーブルの識別情報が設定される。
【０１１１】
トラフィック管理テーブル１２４に新たなフローのレコードを追加した場合、ヘッダ解析部１４０は、新たなフローに対応する送出分配テーブルを生成する。生成した送出分配テーブルの出力ポートの欄には、新たなフローにおける経路上で隣接するノードに接続された物理ポートの物理ポート番号が設定される。隣接ノードの欄には、新たなフローにおける経路上で隣接するノードの識別情報が設定される。トラフィック誘引力の欄には、隣接するノードから取得したトラフィック誘引力が設定される。送出確率の欄には、トラフィック誘引力に応じた送出確率が設定される。送出分配テーブルの生成直後は、送出トラフィック量の欄は空欄である。生成された送出分配テーブルの送出トラフィック量は、その送出分配テーブルに対応するフロー発生後にトラフィック計測部１７０によって計測され、送出分配テーブルに設定される。
【０１１２】
［ステップＳ２４］ヘッダ解析部１４０は、ノード１００に適用する動作モード（現行動作モード）を決定する。例えばヘッダ解析部１４０は、トラフィック管理テーブル１２４に登録されているすべてのレコードのフローの重要度のうち最もレベルの高い重要度を、現行動作モードに決定する。そしてヘッダ解析部１４０は、決定した現行動作モードを、ネットワーク制御情報メモリ１２０に格納する。
【０１１３】
次に、トラフィック量計測処理について説明する。
図１７は、トラフィック量計測処理の手順を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
【０１１４】
［ステップＳ３１］トラフィック計測部１７０は、トラフィック管理テーブル１２４からフローを１つ選択する。
［ステップＳ３２］トラフィック計測部１７０は、選択したフローの単位時間当たりのトラフィック量を計算する。例えばトラフィック計測部１７０は、選択したフローの流入トラフィック量の積算値を、トラフィック計測周期で除算し、単位時間当たりのトラフィック量（転送データ量／秒）を計算する。そしてトラフィック計測部１７０は、計算した単位時間当たりのトラフィック量を、選択したフローに対応付けてトラフィック管理テーブル１２４に格納する。
【０１１５】
［ステップＳ３３］トラフィック計測部１７０は、トラフィック管理テーブル１２４内の未処理のフローがあるか否かを判断する。未処理のフローがある場合、処理をステップＳ３１に進める。トラフィック計測部１７０は、未処理のフローがなければ、処理をステップＳ３４に進める。
【０１１６】
［ステップＳ３４］トラフィック計測部１７０は、トラフィック計測周期だけ待機する。
［ステップＳ３５］トラフィック計測部１７０は、すべてのフローを未処理状態に変更し、処理をステップＳ３１に進める。
【０１１７】
このようにして、各フローの流入トラフィック量が計算される。
次に、性能決定処理について説明する。
図１８は、性能決定処理の手順を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。なお、性能決定処理は、所定の周期で定期的に実行される。
【０１１８】
［ステップＳ４１］制御部１３０は、ネットワーク制御情報メモリ１２０から現行動作モード１２６と現在閾値１２７とを取得する。
［ステップＳ４２］制御部１３０は、現行動作モードに対応する閾値・性能リストを取得する。例えば制御部１３０は、重要度テーブル１２２を参照し、現行動作モードに対応する閾値・性能リストの識別情報を判断する。次に制御部１３０は、取得した識別情報で示される閾値・性能リストを、性能制御テーブル１２３から取得する。
【０１１９】
［ステップＳ４３］制御部１３０は、単位時間当たりのノード１００への流入トラフィック量を算出する。例えば制御部１３０は、トラフィック管理テーブル１２４からすべてのフローの流入トラフィック量を取得する。そして制御部１３０は、取得した流入トラフィック量の合計を、ノード１００の流入トラフィック量とする。次に制御部１３０は、流入トラフィック量に基づいて、現在の処理負荷を算出する。処理負荷は、例えば流入トラフィック量を、ノード１００の単位時間当たりに処理可能なトラフィック量で除算した値である。
【０１２０】
［ステップＳ４４］制御部１３０は、処理負荷が現在閾値より少ないか否かを判断する。制御部１３０は、現在閾値より少なければ、処理をステップＳ４８に進める。制御部１３０は、処理負荷が現在閾値以上であれば、処理をステップＳ４５に進める。
【０１２１】
［ステップＳ４５］処理負荷が現在閾値以上の場合、制御部１３０は、ステップＳ４２で取得した閾値・性能リストを参照し、現在閾値より上位の閾値があるか否かを判断する。上位の閾値とは、値が大きい閾値を指す。制御部１３０は、上位の閾値があれば、処理をステップＳ４６に進める。制御部１３０は、上位の閾値がなければ処理を終了する。
【０１２２】
［ステップＳ４６］制御部１３０は、次の上位の閾値を、ネットワーク制御情報メモリ１２０内の現在閾値１２７に設定する。
［ステップＳ４７］制御部１３０は、閾値・性能リストにおいて、現在閾値１２７に設定した閾値と対となる性能を、ノード１００の性能に設定する。例えば制御部１３０は、性能を示す数値を、主制御プロセッサ１０１に通知する。すると、主制御プロセッサ１０１は、電源制御部１０６などを制御し、通知された性能となるように、動作クロックや電源電圧を制御する。その後、処理をステップＳ４４に進める。
【０１２３】
［ステップＳ４８］処理負荷が現在閾値より少ない場合、制御部１３０は、ステップＳ４２で取得した閾値・性能リストを参照し、現在閾値よりも下位の閾値があるか否かを判断する。下位の閾値とは、値が小さい閾値を指す。制御部１３０は、下位の閾値がある場合、処理をステップＳ４９に進める。また制御部１３０は、下位の閾値がない場合、処理を終了する。
【０１２４】
［ステップＳ４９］制御部１３０は、処理負荷が下位の閾値より少ないか否かを判断する。制御部１３０は、処理負荷の方が下位の閾値より少なければ、処理をステップＳ５０に進める。また制御部１３０は、処理負荷が下位の閾値以上であれば、処理を終了する。
【０１２５】
［ステップＳ５０］制御部１３０は、次の下位の閾値を、ネットワーク制御情報メモリ１２０内の現在閾値１２７に設定する。
［ステップＳ５１］制御部１３０は、閾値・性能リストにおいて、現在閾値１２７に設定した閾値と対となる性能を、ノード１００の性能に設定する。制御部１３０は、その後、処理をステップＳ４４に進める。
【０１２６】
このようにして、ノード１００を流れるフローの重要度に応じた性能でノード１００を動作させることができる。また、ノード１００を流れるトラフィックが無くなった場合、それ以前に流れていたトラフィックに対応するフローの重要度に応じたスリープモードで、ノード１００を停止させることができる。
【０１２７】
例えば、ノード１００に対して重要度が高いフローが流入していた場合、ノード１００は、省電力よりも伝送品質維持を優先し、１００％の処理能力で動作する。これにより、重要度が高いフローのトラフィック量が増加した場合にも、遅延なくそのフローのパケットの転送が可能である。
【０１２８】
図１９は、スリープモード移行処理の手順を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ５２］主制御プロセッサ１０１は、すべての流入トラフィックが０か否かを判断する。例えば主制御プロセッサ１０１は、トラフィック管理テーブル１２４を参照し、すべてのフローの流入トラフィック量の値が０であれば、すべての流入トラフィックが０であると判断する。主制御プロセッサ１０１は、すべての流入トラフィックが０であれば、処理をステップＳ５３に進める。また主制御プロセッサ１０１は、少なくとも１つのフローに流入トラフィックがあれば、ステップＳ５２の処理を繰り返す。
【０１２９】
［ステップＳ５３］主制御プロセッサ１０１は、すべての流入トラフィックが０になってからの時間計測を行っているか否かを判断する。時間計測中であれば、主制御プロセッサ１０１は処理をステップＳ５５に進める。主制御プロセッサ１０１は、時間計測を行っていなければ、処理をステップＳ５４に進める。
【０１３０】
［ステップＳ５４］主制御プロセッサ１０１は、すべての流入トラフィックが０になってからの時間計測を開始する。その後、主制御プロセッサ１０１は、処理をステップＳ５２に進める。
【０１３１】
［ステップＳ５５］主制御プロセッサ１０１は、すべての流入トラフィックが０になってからの経過時間が、予め設定されている閾値に達したか否かを判断する。主制御プロセッサ１０１は、閾値に達した場合、処理をステップＳ５６に進める。主制御プロセッサ１０１は、閾値に達していなければ、処理をステップＳ５２に進める。
【０１３２】
なお、ここまでのステップＳ５２からステップＳ５５は主制御プロセッサ１０１で実行されるとしてきたが、ネットワークプロセッサ１０２で実行されてもよい。その場合、すべての流入トラフィックが０になってからの経過時間が閾値に達した場合、ネットワークプロセッサ１０２は主制御プロセッサ１０１へ閾値に達したことを通知する。
【０１３３】
［ステップＳ５６］主制御プロセッサ１０１は、すべての流入トラフィックが０になってからの経過時間に閾値に達した場合、ネットワーク制御情報メモリ１２０から現行動作モード１２６を取得する。
【０１３４】
［ステップＳ５７］主制御プロセッサ１０１は、現行動作モードに応じたスリープ状態にノードを移行させる。例えば、主制御プロセッサ１０１は、重要度テーブル１２２を参照し、現行の動作モードに応じたスリープレベルを判断する。なお、現行の動作モードに応じたスリープレベルが非スリープに場合、主制御プロセッサ１０１はスリープモードへの移行を行わず、処理を終了する。
【０１３５】
また、ノード１００に対して重要度「高」のフローのトラフィックが流入していた場合、ノード１００に流入するトラフィックが途絶えても、機能をスリープさせない。これにより、重要度「高」のフローのトラフィックが再開された場合、遅延なくそのフローのパケットの転送が可能である。
【０１３６】
また、ノード１００に対して、最大で重要度「中」のフローのトラフィックが流入していた場合、ノード１００は、性能の余裕度を広くとって、性能を押さえた省電力制御を行う。これにより、重要度「中」のフローのトラフィック量が増加した場合にも、少ない遅延で、フローのパケットの転送が可能である。
【０１３７】
また、ノード１００に対して、最大で重要度「中」のフローのトラフィックが流入していた場合、ノード１００に流入するトラフィックが途絶えると浅いスリープで機能を停止させる。これにより、重要度「中」のフローのトラフィックが再開された場合、短い時間でノード１００の全体の機能を起動し、少ない遅延で再開されたフローのパケットの転送が可能である。
【０１３８】
また、ノード１００に対して、重要度「低」のフローのトラフィックのみが流入していた場合、ノード１００は、性能の余裕度を狭くとって、性能を押さえた省電力制御を行う。これにより、ノード１００の消費電力を十分に押さえ、ネットワークシステムの省電力化を図ることができる。
【０１３９】
また、ノード１００に対して、重要度「低」のフローのトラフィックのみが流入していた場合、ノード１００に流入するトラフィックが途絶えると、深いスリープで機能を停止させる。これにより、ノード１００の消費電力を十分に押さえ、ネットワークシステムの省電力化を図ることができる。
【０１４０】
以上のような処理は、ノード１００だけでなく、ネットワーク１０上のすべてのノードで実行される。その結果、パケットの適切な転送品質の維持と、ネットワークシステム全体の省電力化とをバランスよく達成することができる。
【０１４１】
なお、トラフィックの集約制御において、入口ノードで経路を指定してネットワーク１０内のパケット転送を行うことができる。このような経路指定型のトラフィック制御を行っている場合、入口ノードで流入したフローの重要度を判定し、そのフローの経路上の中継ノードおよび出口ノードに、フローの重要度を通知することができる。
【０１４２】
図２０は、重要度通知の一例を示す図である。図２０の例には、ノード１００とノード２００とが入口ノードとなるフローが示されている。なお図２０では、ノード１００，２００のネットワーク制御情報メモリ１２０，２２０内の情報の一部を抜き出して示している。
【０１４３】
ノード１００には、フローＩＤ「１」、「２」の２つのフローの区間、経路、および重要度が、ネットワーク制御情報メモリ１２０内に設定されている。ノード１００の主制御プロセッサ１０１は、流入したフローに基づいて各フローの重要度が判定されると、そのフローの重要度を、経路上の他のノードに通知する。例えば、フローＩＤ「１」のフローに関して２つの重要度通知３５，３６が送信され、フローＩＤ「２」のフローに関して、１つの重要度通知３７が送信される。
【０１４４】
同様に、ノード２００には、フローＩＤ「３」のフローの区間、経路、および重要度が、ネットワーク制御情報メモリ２２０内に設定されている。ノード２００の主制御プロセッサは、流入したフローに基づいて各フローの重要度が判定されると、そのフローの重要度を、経路上の他のノードに通知する。例えば、フローＩＤ「３」のフローに関して２つの重要度通知３８，３９が送信される。
【０１４５】
送信される各重要度通知３５〜３９には、例えばフローＩＤ、経路情報、および重要度が含められる。重要度通知を受信した各ノードは、経路情報を参照して、経路上の次の隣接ノードに、受信した重要度通知を転送する。また重要度通知を受信した各ノードは、フローＩＤと重要度とに基づいて、自己を経路に含むフローの重要度を認識する。そして各重要度通知を受信した各ノードは、自己のトラフィック管理テーブルに、フローの重要度を設定する。これにより、入口ノード以外のノードは、フロー決定テーブルを用いたフローの重要度の判定を行わずにすみ、処理負荷が軽減される。
【０１４６】
図２１は、フローの重要度に応じた各ノードの動作モードの一例を示す図である。図２０のような重要度通知が行われた場合、ノード１００，３００，６００は、重要度「高」のフローの経路となるため、動作モードは「品質優先モード」となる。また、ノード２００，４００，５００は、重要度「中」以下のフローの経路となるため、動作モードは「中間モード」となる。
【０１４７】
各ノードがこのような動作モードの場合において、誘引力に基づくトラフィックの集約制御を行う場合を想定する。
図２２は、誘引力に応じた送出確率の制御例を示す図である。なお図２２では、ノード１００，２００のネットワーク制御情報メモリ１２０，２２０内の情報の一部を抜き出して示している。
【０１４８】
図２２の例では、ノード１００からノード５００へのフローについては、ノード３００を経由する経路に６０％、ノード４００を経由する経路に４０％の確率でパケットが送出されている。またノード１００からノード６００へのフローについては、ノード３００を経由する経路に１００％の確率でパケットが送出されている。またノード２００からノード５００へのフローについては、ノード３００を経由する経路に１００％、ノード４００を経由する経路に０％の確率でパケットが送出されている。
【０１４９】
図２３は、トラフィックの集約および分散状況を示す図である。図２２に示した状態からトラフィックの集約制御が行われると、ノード１００からノード５００へのフローについて、ノード３００を経由する経路に１００％、ノード４００を経由する経路に０％の確率でパケットが送出されるようになる。なお図２３では、トラフィック量が０の経路を破線で示している。するとノード４００に流入するトラフィックがなくなり、スリープモードに移行可能となる。ノード４００に流入するトラフィックに対応するフローの重要度は、最も高いもので「中」である。そこでノード４００は、浅いスリープのスリープモードに移行する。
【０１５０】
その他のノードは、流入しているトラフィックの重要度に応じた性能で動作する。例えば、重要度「高」のトラフィックが流入しているノード１００，３００，６００は、１００％の性能を発揮して動作する。また「中」以下の重要度のフローのトラフィックが流入しているノード２００，５００は、流入しているトラフィック量に応じて４０％〜１００％の性能を発揮して動作する。
【０１５１】
例えば集約制御時において、ノード２００からノード５００へのフローのトラフィック量が４００Ｍｂｐｓであり、このトラフィック量はノード２００の処理能力の４０％の負荷に相当するものとする。この場合、ノード２００は、図１１と同様の内容の性能制御テーブルに基づいて、７０％の性能で動作する。
【０１５２】
ここで、例えばノード１００からノード５００へのフローのトラフィックが増加してノード３００からノード５００への伝送路で輻輳の危険性が検知されると、ノード３００からノード１００，２００にアラーム情報が送信され、トラフィックの分散制御が行われる。分散制御が行われると、ノード１００からノード５００へのフローについて、ノード４００を経由する経路にもパケットが送出されるようになる。また、ノード２００からノード５００へのフローについて、ノード４００を経由する経路にもパケットが送出されるようになる。
【０１５３】
すると、ノード４００が起動される。ノード４００は、「中」以下の重要度のフローのトラフィックが流入しているため、流入しているトラフィック量に応じて４０％〜１００％の性能を発揮して動作する。
【０１５４】
例えば分散制御時において、ノード１００からノード５００へのフローのノード４００を経由する経路のトラフィックが４００Ｍｂｐｓ、ノード２００からノード５００へのフローのノード４００を経由する経路のトラフィックが２００Ｍｂｐｓであるものとする。この場合、ノード４００には合わせて６００Ｍｂｐｓのトラフィック量が流入している。６００Ｍｂｐｓのトラフィックの転送は、ノード４００の処理能力の６０％の負荷に相当するものとする。この場合、ノード４００は、図１１と同様の内容の性能制御テーブルに基づいて、１００％の性能で動作する。
【０１５５】
このように、フローの重要度に応じて各ノードの動作モードを決定し、動作モードに応じた性能制御およびスリープモードへの移行制御を行うことで、重要度の高いフローのパケットの伝送品質を保ちつつ、ネットワーク全体での省電力化を図ることが可能となる。
【０１５６】
しかも、ノードの負荷量に応じてノードに発揮させる性能を変更することで、流入トラフィック量が少ない場合には性能を下げ、更なる低消費電力化が可能である。さらに、品質条件の厳しいフローの経路上のノードに対して、負荷に対する性能の余裕幅を広く取ることで、動作時には急なトラフィック量の増加に対しても、品質劣化が抑止される。その結果、品質条件の厳しいフローに対し信頼性を担保しつつ、きめ細かな低電力化を図ることが可能になる。
【０１５７】
〔第３の実施の形態〕
次に第３の実施の形態について説明する。第３の実施の形態は、過去の所定期間内に流入したトラフィックに対応するフローの重要度を考慮して、動作特性やスリープレベルを決定するものである。
【０１５８】
第３の実施の形態では、現在トラフィックがなくても、過去の所定期間内にフローの重要度「高」のトラフィックがノードに流入していた場合、そのノードの現行動作モードは「品質優先モード」とする。これは、今は重要度「高」のトラフィックは生じていないが、再開するかもしれないので、再開時の品質劣化を防ぐものである。また過去にフローの重要度「高」のトラフィックがノードに流入していたとしても、そのトラフィックの最後の流入から所定期間以上経過した場合、そのトラフィックに対応するフローが消滅したものと判断される。そしてフローの重要度「高」のトラフィックの流入がなくなってから所定時間以上経過した場合、ノードの動作モードは「中間モード」または「省電力優先モード」に変更される。これにより、省電力化を促進することができる。
【０１５９】
このような制御を実現するため、第３の実施の形態では、各ノードにおいて、トラフィックの履歴情報を記憶しておく。
図２４は、第３の実施の形態のネットワークプロセッサの内部機能の一例を示すブロック図である。図２４では、図５に示した第２の実施の形態のネットワークプロセッサ１０２と同じ機能を有する要素には図５と同じ符号を付し、説明を省略する。
【０１６０】
第３の実施の形態におけるネットワーク制御情報メモリ１２０−１には、複数のトラフィック履歴表１２８ａ，１２８ｂ，１２８ｃ，・・・や複数の誘引力履歴表１２９ａ，１２９ｂ，１２９ｃ，・・・が格納されている。
【０１６１】
またトラフィック管理テーブル１２４−１には、第２の実施の形態における流入トラフィック量に代えて、トラフィック履歴表の識別情報が設定される。送出分配テーブル１２５ｄ，１２５ｅ，１２５ｆ，・・・には、トラフィック誘引力、送出確率に代えて、誘引力履歴表１２９ａ，１２９ｂ，１２９ｃ，・・・の識別情報が設定されている。
【０１６２】
第３の実施の形態では、トラフィック計測部１７０−１は、フローごとのトラフィック量の履歴管理を行うことができる。また制御部１３０−１は、出力ポートごとの誘引力の履歴管理を行うことができる。
【０１６３】
また第３の実施の形態では、制御部１３０−１は、隣接ノードからの誘引力と分配確率を、直近の値だけでなく、過去数回分の履歴を誘引力管理表１２９ａ，１２９ｂ，１２９ｃ，・・・に格納する。
【０１６４】
図２５は、第３の実施の形態のトラフィック管理テーブルのデータ構造の一例を示す図である。トラフィック管理テーブル１２４−１には、フローＩＤ、フロー重要度、入力ポート、出口エッジノード、トラフィック履歴表、および送出分配テーブルの欄が設けられている。このうちフローＩＤ、フロー重要度、入力ポート、出口エッジノード、および送出分配テーブルの欄については、図１３に示した第２の実施の形態のトラフィック管理テーブル１２４の同名の欄と同種の情報が設定される。
【０１６５】
トラフィック履歴表の欄には、フローＩＤで示されるフローに対応するトラフィック履歴表の識別情報が設定される。
【０１６６】
図２６は、トラフィック履歴表のデータ構造の一例を示す図である。トラフィック履歴表１２８ａには、トラフィック履歴表１２８ａの識別情報「sheet#11」が設定されている。トラフィック履歴表１２８ａの行方向のラベルには、流入トラフィックと送出先毎の送出トラフィックとが設定されている。列方向のラベルには、無トラフィックカウンタ、今回トラフィック、前回トラフィック、および前々回トラフィックが設定されている。
【０１６７】
無トラフィックカウンタの列には、流入トラフィックおよび各送出トラフィックが無くなってから、継続したトラフィックが無いと判断されたトラフィック量計測回数を示す値（無トラフィックカウンタ値）が設定される。今回トラフィックの列には、直近に計測したトラフィック量が設定される。前回トラフィックの列には、直近の計測の１回前に計測したトラフィック量が設定される。前々回トラフィックの列には、直近の計測の２回前に計測したトラフィック量が設定される。
【０１６８】
なお、過去の何回分のトラフィック量を履歴情報として格納するかは、管理者が任意に設定することができる。
【０１６９】
図２７は、第３の実施の形態の送出分配テーブルのデータ構造の一例を示す図である。送出分配テーブル１２５ｄには、送出分配テーブルの識別情報「Table#21」が設定されている。また送出分配テーブル１２５ｄは、出力ポート、隣接ノード、および誘引力履歴表の欄が設けられている。出力ポート、隣接ノードとの欄には、図１４に示した第２の実施の形態の送出分配テーブル１２５ａにおける同名の欄と同種の情報が設定される。
【０１７０】
誘引力履歴表の欄には、送出分配テーブル１２５ｄに対応する誘引力管理表の識別情報が設定される。
【０１７１】
図２８は、誘引力履歴表のデータ構造の一例を示す図である。誘引力履歴表１２９ａには、誘引力履歴表１２９ａの識別情報「sheet#31」が設定されている。誘引力履歴表１２９ａの行方向のラベルには、出力ポートのポート番号ごとに誘引力と送出確率とが設定されている。列方向のラベルには、今回計算値と前回計算値とが設定されている。
【０１７２】
今回計算値の列には、直近に計算した出力ポートごとのトラフィック誘引力と送出確率とが設定される。前回計算値の列には、直近の計測の１回前に計測した出力ポートごとのトラフィック誘引力と送出確率とが設定される。
【０１７３】
なお、過去の何回分の誘引力および送出確率を履歴情報として格納するかは、管理者が任意に設定することができる。
次に、第３の実施の形態のトラフィック量計測処理について説明する。
【０１７４】
図２９は、第３の実施の形態のトラフィック量計測処理の手順を示すフローチャートである。以下、図２９に示す処理をステップ番号に沿って説明する。
［ステップＳ６１］トラフィック計測部１７０−１は、トラフィック管理テーブル１２４−１からフローを１つ選択する。
【０１７５】
［ステップＳ６２］トラフィック計測部１７０−１は、選択したフローの単位時間当たりのトラフィック量を計算する。例えばトラフィック計測部１７０−１は、選択したフローの流入トラフィック量の積算値を、トラフィック計測周期で除算し、単位時間当たりのトラフィック量（転送データ量／秒）を計算する。
【０１７６】
［ステップＳ６３］トラフィック計測部１７０−１は、トラフィック履歴表の流入トラフィック量を更新する。例えばトラフィック計測部１７０−１は、選択したフローに対応するトラフィック履歴表の前々回トラフィックの値を削除する。またトラフィック計測部１７０−１は、選択したフローに対応するトラフィック履歴表の流入トラフィックの前回トラフィックの値を、前々回トラフィックに設定する。またトラフィック計測部１７０−１は、選択したフローに対応するトラフィック履歴表の流入トラフィックの今回トラフィックの値を、前回トラフィックに設定する。そしてトラフィック計測部１７０−１は、選択したフローに対応するトラフィック履歴表の流入トラフィックの今回トラフィックに、ステップＳ６２で計算した流入トラフィック量を設定する。
【０１７７】
これにより、一定時間以上過去のトラフィック量の履歴は、トラフィック履歴表から削除される。
［ステップＳ６４］トラフィック計測部１７０−１は、今回計測した流入トラフィック量が０か否かを判断する。流入トラフィック量が０であれば、トラフィック計測部１７０−１は、処理をステップＳ６６に進める。流入トラフィック量が０でなければ、トラフィック計測部１７０−１は、処理をステップＳ６５に進める。
【０１７８】
［ステップＳ６５］トラフィック計測部１７０−１は、今回計測した流入トラフィック量が０でない場合、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタの値を０にする。その後、トラフィック計測部１７０−１は、処理をステップＳ６９に進める。
【０１７９】
［ステップＳ６６］トラフィック計測部１７０−１は、今回計測した流入トラフィック量が０の場合、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタの値を１だけカウントアップする。
【０１８０】
［ステップＳ６７］トラフィック計測部１７０−１は、選択したフローに対応するトラフィック履歴表の流入トラフィックの無トラフィックカウンタが予め設定された閾値を超えたか否かを判断する。閾値を超えた場合、トラフィック計測部１７０−１は処理をステップＳ６８に進める。閾値を超えていない場合、トラフィック計測部１７０−１は、処理をステップＳ６９に進める。
【０１８１】
［ステップＳ６８］トラフィック計測部１７０−１は、選択したフローのレコードを、トラフィック管理テーブル１２４−１から削除する。この際、トラフィック計測部１７０−１は、例えば選択したフローに対応するトラフィック履歴表と送出分配テーブルも削除する。
【０１８２】
［ステップＳ６９］トラフィック計測部１７０−１は、トラフィック管理テーブル１２４−１内の未処理のフローがあるか否かを判断する。未処理のフローがある場合、処理をステップＳ６１に進める。トラフィック計測部１７０は、未処理のフローがなければ、処理をステップＳ７０に進める。
【０１８３】
［ステップＳ７０］トラフィック計測部１７０−１は、トラフィック計測周期だけ待機する。
［ステップＳ７１］トラフィック計測部１７０−１は、すべてのフローを未処理状態に変更し、処理をステップＳ６１に進める。
【０１８４】
なお図２９では、流入トラフィック量の計測およびトラフィック履歴表の流入トラフィック量に関する情報の更新を行っているが、送出トラフィック量についても同様に計測し、トラフィック履歴表の送出トラフィック量を更新することができる。ただし、送出トラフィック量に関しては、トラフィックを送出する物理ポートごとに計算される。
【０１８５】
第３の実施の形態においても、図１６に示した第２の実施の形態の処理と同様に、トラフィック管理テーブル１２４−１に記録されたフローの重要度の最大値により現行動作モードが決定される。そして決定された現行動作モードにより、動作特性とスリープレベルが決定される。
【０１８６】
第３の実施の形態における性能設定処理は、図１８に示した第２の実施の形態の性能決定処理と同様である。なお、第３の実施の形態では、ノード１００の性能を決定する際には、過去の所定期間の流入トラフィックを考慮して性能を決定してもよい。例えば図１８のフローチャートにおけるステップＳ４３における流入トラフィック量算出の際に、例えば制御部１３０−１は、トラフィック履歴表１２８ａ，１２８ｂ，１２８ｃ，・・・からすべてのフローの流入トラフィック量を取得する。その際、制御部１３０−１は、各フローの流入トラフィック量として、直近および過去のトラフィック量のうちの最大値を取得する。例えば、あるフローの流入トラフィック量に関して、今回と前回トラフィック量が０であっても、前々回トラフィック量が１０であれば、そのフローの流入トラフィック量は１０とする。そして制御部１３０−１は、取得した流入トラフィック量の合計を、ノード１００の流入トラフィック量とする。これにより、過去のトラフィック量を加味した性能が設定される。
【０１８７】
このように、過去のトラフィック量を加味した性能設定を行うことで、一度減ったトラフィック量が元に戻った場合でも、遅延無くパケット転送を行うことができる。
また、流入するトラフィックがある場合（ノード動作時）は、流入トラフィックが０となったフローの重要度も含めて、最大のものが現行動作モードになり、その現行動作モードにより動作特性が決定される。すべてのフローの流入トラフィックが０の場合は、トラフィック管理テーブル１２４−１中の各フローの重要度の最大値により、スリープレベルが決定される。
【０１８８】
なおトラフィック管理テーブル１２４−１へのフローのレコードの追加は、フローのパケット到着での登録（ダイナミックな設定）に加え、オペレータによる設定（スタティックな追加）が可能である。ここで、一定時間以上流入トラフィック０となったフローは、他の経路に集約されたのではなく消滅したものと判断され、対応するレコードがトラフィック管理テーブル１２４−１から削除される。これにより、既に消滅したフローの重要度が無効となり、適切な現行動作モードの設定が可能となる。
【０１８９】
なお、図２９に示した処理は、ネットワークプロセッサ１０２−１内で実行されているが、浅いスリープのスリープモードに入った場合、主制御プロセッサ１０１において無トラフィックカウンタの更新の処理を行うことができる。例えば主制御プロセッサ１０１は、流入するトラフィックが無い状態が継続している間、各フローの流入トラフィックの無トラフィックカウンタの値を、トラフィック計測周期ごとに１ずつカウントアップする。そして、主制御プロセッサ１０１は、流入トラフィックの無トラフィックカウンタの値が閾値を超えたフローのレコードを、順次トラフィック管理テーブル１２４−１から削除する。そしてトラフィック管理テーブル１２４−１に登録されているフローの重要度の最大値が「低」になった場合、主制御プロセッサ１０１は、浅いスリープから深いスリープへスリープモードを移行させる。これにより、省電力化の効果をさらに高めることができる。
【０１９０】
［第４の実施の形態］
次に第４の実施の形態について説明する。第４の実施の形態は、各フローが消滅したのか、ある経路に集約されているのかを入口ノードが判断し、判断結果を、そのフローの経路上の各ノードに、制御パケットにより通知するものである。これにより、各ノードは、流入トラフィックが０になったフローについて、他のノードを経由する経路にトラフィックが集約されたのか、そのフローが消滅したのかを正確に判断できるようになる。
【０１９１】
すなわち、上記の第２，第３の実施の形態では、トラフィックの誘引力を用いて、入口ノードに流入したフローのトラフィックを、１つの経路に集約させる。そのため、フローごとに各ノードで通過トラフィック量に応じたトラフィック誘引力を計算し、それを隣接ノードに伝達する。各隣接ノードからトラフィック誘引力を受け取ったノードは、誘引力の大きい方へ該当フローのトラフィックをより多く分配する。これを継続すると、トラフィックの多い経路の誘引力が高まり、最終的に一部の経路にトラフィックが集約される。そして、経路集約の結果トラフィックが流れなくなったノードをスリープさせ省電力化が図られる。ただし、経路集約の結果、例えばノード間を接続する伝送路に所定の閾値以上のトラフィックが送出された場合、経路を分散させるアラーム情報の制御パケットが入口ノードに伝達される。すると入口ノードにおいて、トラフィックが複数の経路に分散して送出され、輻輳の発生が抑止される。
【０１９２】
ここで、第２，第３の実施の形態では、各ノードが個別に、流入トラフィックが無くなったことを判別している。したがって、誘引力による経路集約の結果そのノードにそのフローのトラフィックが流れなくなった（他のノード/経路には流れている）のか、そもそもそのフロー自体が消滅した（入口エッジノードへの流入が無くなった）のか、正確には区別できない。
【０１９３】
トラフィックが集約されたのか消滅したのかの判別を間違えると、重要度「高」のフローのトラフィックが、集約状態から輻輳回避のための分散状態に変更された場合に、省電力制御がされていたノードの再起動に時間がかかる可能性がある。例えば重要度「高」のフローのトラフィックが流入したノードで、再起動に必要以上に時間がかかると、重要度「高」のフローに求められる品質を保つことが困難となる。
【０１９４】
そこで、第４の実施の形態では、入口ノードにおいて、あるフローについて流入トラフィックはあるが、トラフィックの分配確率が０の隣接ノードに対しては、フローが存在していることを示す制御パケットを定期的に送出する。制御パケットを送信する周期は、例えば、流入トラフィックが０になってから、トラフィック管理テーブルの無トラフィックカウンタが閾値に達する時間よりは短い値とする。
【０１９５】
また制御パケットを受信した隣接ノードはトラフィック管理テーブルの対応フローの無トラフィックカウンタの値を０にクリアする。つまり、流入トラフィック量が０の状態が続いても、制御パケットを受信する限り、対応するフローのレコードはトラフィック管理テーブルから削除されなくなる。トラフィック管理テーブルにフローのレコードが残存している間は、そのフローの重要度も考慮して動作モードが判定される。
【０１９６】
このようにして、入口ノードでフローそのものの流入が無くなった場合と、経路集約の結果、あるノードにはトラフィックが流入しなくなった（他の経路を流れている）場合との正確な区別が可能となり、適切な動作モード判定が行われる。
【０１９７】
第４の実施の形態のノードの構成および格納されたデータは、図２４〜図２８に示した第３の実施の形態と同様である。そこで図２４〜図２８に示した各要素の符号を用いて，第４の実施の形態の処理を説明する。
【０１９８】
図３０は、第４の実施の形態の制御パケット送信手順を示すフローチャートである。以下、図３０に示す処理をステップ番号に沿って説明する。
［ステップＳ８１］主制御プロセッサ１０１は、トラフィック管理テーブル１２４−１のフローを１つ選択する。
【０１９９】
［ステップＳ８２］主制御プロセッサ１０１は、選択したフローに対応する誘引力履歴表を参照し、トラフィックが集約されているか否かを判断する。例えば主制御プロセッサ１０１は、１つの出力ポートの送出確率が「１．０」であり、他の出力ポートの送出確率が「０」であれば、対応するフローのトラフィックが集約されていると判断する。主制御プロセッサ１０１は、トラフィックが集約されている場合、処理をステップＳ８３に進める。主制御プロセッサ１０１は、トラフィックが集約されていない場合、処理をステップＳ８４に進める。
【０２００】
［ステップＳ８３］主制御プロセッサ１０１は、トラフィックの発生していない経路それぞれに、フローが存在していることを示す制御パケットを送信する。集約されているフローに、トラフィックが０の経路が複数ある場合、トラフィックが０の経路それぞれに制御パケットが送信される。送信される制御パケットには、選択したフローのフローＩＤと、制御パケットを送信する経路の経路情報が含められる。例えば主制御プロセッサ１０１は、フロー管理テーブル１２０ａから各経路の経路情報を取得する。
【０２０１】
［ステップＳ８４］主制御プロセッサ１０１は、トラフィック管理テーブル１２４−１内に未処理のフローがあるか否かを判断する。主制御プロセッサ１０１は、未処理のフローがあれば、処理をステップＳ８１に進める。主制御プロセッサ１０１は、未処理のフローがなければ、処理をステップＳ８５に進める。
【０２０２】
［ステップＳ８５］主制御プロセッサ１０１は、予め設定された制御パケット送信周期だけ待機する。
［ステップＳ８６］主制御プロセッサ１０１は、すべてのフローを未処理に設定し、処理をステップＳ８１に進める。
【０２０３】
このようにして、フローのトラフィックが発生しているが、そのトラフィックが集約されている場合、トラフィックが発生していない経路に制御パケットが送信される。なおフローのトラフィックが全く発生していない場合、そのフローのレコードは、入口ノードであるノード１００のトラフィック管理テーブル１２４−１から削除される。その結果、消滅したフローに関しては、制御パケットは送信されない。
【０２０４】
次に制御パケット受信時の処理について説明する。
図３１は、第４の実施の形態における制御パケット受信処理の手順を示すフローチャートである。以下、図３１に示す処理をステップ番号に沿って説明する。なお、ノード１００が中継ノードまたは出口ノードとなるフローの制御パケットを、他のノードから受信した場合の処理である。
【０２０５】
［ステップＳ９１］主制御プロセッサ１０１は、制御パケットを受信したか否かを判断する。主制御プロセッサ１０１は、フローが存在していることを示す制御パケットを受信した場合、処理をステップＳ９２に進める。主制御プロセッサ１０１は、制御パケットを受信していなければ、ステップＳ９１の処理を繰り返す。
【０２０６】
［ステップＳ９２］主制御プロセッサ１０１は、制御パケットに示されるフローＩＤに対応するトラフィック履歴表の、流入トラフィックの無トラフィックカウンタの値を０にする。
【０２０７】
［ステップＳ９３］主制御プロセッサ１０１は、制御パケットに示された経路情報における次のノードへ、制御パケットを転送する。主制御プロセッサ１０１は、その後、処理をステップＳ９１に進める。
【０２０８】
このように、フローが存在していることを示す制御パケットを受信した場合、対応するフローの流入トラフィックの無トラフィックカウンタを０にリセットすることで、その無トラフィックカウンタが閾値を超えることはなくなる。そのため、ノードにトラフィックが流入していないフローであっても、他の経路にトラフィックが存在している限り、そのフローのレコードがトラフィック管理テーブル１２４−１から削除されることはない。その結果、他の経路の集約されたトラフィックのフローの重要度を加味して現行動作モードが決定される。
【０２０９】
図３２は、第４の実施の形態を適用したパケット転送の第１の例を示す図である。図３２の例では、ノード４１が入口ノードであり、ノード４２〜４４が中継ノードである。ノード４１には、重要度「高」のトラフィックが流入している。またノード４２には、ノード４１以外からもトラフィックが流入しているが、ノード４３，４４には、トラフィックの流入はない。
【０２１０】
このような状況では、ノード４２は、流入するトラフィックがあるため、大きな誘引力をノード４１に通知する。一方、ノード４３，４４は、流入するトラフィックがないため、例えば誘引力「０」をノード４１に通知する。するとノード４１は、流入したトラフィックをすべてノード４２へ送出する。
【０２１１】
このときノード４３，４４にはトラフィックが分配されない。そこでノード４１は、ノード４３，４４に対してフローの流入トラフィックが存在していることを示す制御パケットを送信する。するとノード４３，４４は、流入トラフィックが０になっても、スリープモードに移行せず、かつ性能１００％の状態を維持する。
【０２１２】
ここで、ノード４１に流入するトラフィック量が増加し、ノード４２において輻輳発生の危険性を検知した場合を考える。この場合、ノード４２は、輻輳が発生する前に、流入トラフィックが所定の閾値に達すると、ノード４１宛にアラーム情報を送信する。アラーム情報を受信したノード４１は、流入トラフィックを複数の経路に分散させる。その結果、ノード４２〜４４それぞれに対する送出トラフィックが発生する。ノード４３，４４は、ノード４１からトラフィックが流入するが、性能１００％で動作しているため、流入したトラフィックを遅延なく処理することができる。
【０２１３】
図３３は、第４の実施の形態を適用したパケット転送の第２の例を示す図である。図３３の例では、図３２の上段に示した状態から、ノード４１に流入するトラフィックが消滅した場合である。この場合、ノード４１からノード４３，４４への制御パケットの送信は行われない。そのため、ノード４３，４４は、流入トラフィックが無くなってから所定期間が経過すると、スリープモードに移行する。その結果、ネットワーク全体での省電力化が図られる。
【０２１４】
このように、例えば重要度「高」のフローが１つの経路に集約された後、輻輳回避制御により複数のトラフィックに分散された場合でも、転送遅延などを発生させずにパケットを転送できる。他方、フローのすべてのトラフィックが消滅した場合、そのフローのレコードはトラフィック管理テーブル１２４−１から削除され、そのフローの重要度は現行動作モードの決定に影響を及ぼさなくなる。その結果、省電力化を促進できる。
【０２１５】
〔その他の実施の形態〕
上記の第２〜第４の実施の形態では、ネットワークプロセッサ１０２，１０２−１内にトラフィック計測部１７０，１７０−１を設けているが、トラフィック量の計測は、主制御プロセッサ１０１などのネットワークプロセッサ１０２，１０２−１以外の回路で行うこともできる。
【０２１６】
また第２〜第４の実施の形態は、ネットワーク上のノードの自律制御によってトラフィックの集約・分散制御を行う場合における、各ノードの省電力制御技術を示しているが、トラフィックの集約・分散を１つの管理装置で集中管理するシステムにも適用でできる。また、特にトラフィックの集約・分散制御を行っていないネットワーク上のノードに対して、上記の実施の形態に示した省電力制御機能を組み込むことも可能である。
【０２１７】
上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、第１の実施の形態に示した情報処理装置や第２〜第４の実施の形態に示した各ノードが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０２１８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０２１９】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０２２０】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０２２１】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２２２】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
（付記１）  流入したデータを転送する転送手段と、
流入したデータの重要度を判定する重要度判定手段と、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定する動作モード判定手段と、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで前記転送手段の省電力制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【０２２３】
（付記２）  前記動作モード判定手段は、流入したデータそれぞれの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記１記載の情報処理装置。
【０２２４】
（付記３）  前記記憶手段には、前記転送手段に発揮させる性能が、動作モードごとに定義されており、
前記制御手段は、前記判定された動作モードに応じた性能で動作するように、前記転送手段を制御することを特徴とする付記１または２のいずれかに記載の情報処理装置。
【０２２５】
（付記４）  前記動作モード判定手段は、流入したデータの重要度が高いほど、前記転送手段に高い性能を発揮させる動作モードを、前記適用する動作モードと判定することを特徴とする付記３記載の情報処理装置。
【０２２６】
（付記５）  前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されている、
ことを特徴とする付記３または４記載の情報処理装置。
【０２２７】
（付記６）  前記記憶手段には、流入データが途絶えた場合の機能停止内容が、動作モードごとに定義されており、
前記制御手段は、データの流入が途絶えた場合、前記判定された動作モードに応じた機能停止制御を行う、
ことを特徴とする付記１乃至５のいずれかに記載の情報処理装置。
【０２２８】
（付記７）  前記記憶手段には、低い重要度に応じた動作モードほど多くの機能を停止させるように、流入データが途絶えた場合に停止させる機能が定義されている、
ことを特徴とする付記６記載の情報処理装置。
【０２２９】
（付記８）  ヘッダ情報の適合条件と、該適合条件に合致したパケットの重要度とを対応付けて、前記記憶装置に記憶されており、
前記重要度判定手段は、流入したパケットのヘッダ情報が合致する適合条件を検索し、合致する適合条件に対応する重要度を、該パケットによって転送されるデータの重要度と判定することを特徴とする付記１乃至７のいずれかに記載の情報処理装置。
【０２３０】
（付記９）  前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から１以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、フローのデータの重要度を、該フローに設定された複数の経路上の装置に通知する、
ことを特徴とする付記１乃至８のいずれかに記載の情報処理装置。
【０２３１】
（付記１０）  送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記１乃至９のいずれかに記載の情報処理装置。
【０２３２】
（付記１１）  前記記憶手段には、高い重要度に応じた動作モードほど、データ転送処理負荷に対する性能の余裕幅を大きく取るように、前記転送手段に発揮させる性能が定義されており、
前記制御手段は、フローごとの過去の所定期間内の単位時間当たりのトラフィック量の最大値を合計したトラフィック量に基づいて、データ転送処理負荷を算出し、該データ転送処理負荷に対して、動作モードに応じた性能の余裕幅をとるように、前記転送手段の性能を制御する、
ことを特徴とする付記１０記載の情報処理装置。
【０２３３】
（付記１２）  前記転送手段は、送信元と宛先とが共通なデータの流れをフローとし、フローごとに予め設定された複数の経路から１以上の経路へ、各フローのトラフィックを転送し、
前記制御手段は、流入トラフィックが存在するフローの、トラフィックを転送していない経路上の装置に対し、該フローにトラフィックが存在していることを通知することを特徴とする付記１乃至１１のいずれかに記載の情報処理装置。
【０２３４】
（付記１３）  送信元と宛先とが共通なデータの流れをフローとし、フローごとの単位時間当たりのトラフィック量を計測し、過去の所定期間内のフローごとの単位時間当たりのトラフィック量を示す履歴情報を前記記憶手段に格納するトラフィック計測手段をさらに有し、
前記動作モード判定手段は、前記所定時間内にトラフィックが発生したフローの重要度、および他の装置からトラフィックが存在していることが通知されたフローの重要度のうち、最も高い重要度に応じた動作モードを、前記適用する動作モードと判定することを特徴とする付記１乃至１２のいずれかに記載の情報処理装置。
【０２３５】
（付記１４）  コンピュータが、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
ことを特徴とする制御方法。
【０２３６】
（付記１５）  コンピュータに、
流入したデータの重要度を判定し、
流入したデータそれぞれの重要度に基づいて、適用する動作モードを判定し、
動作モードごとの省電力制御内容を記憶する記憶手段を参照し、前記適用する動作モードで、流入したデータを転送する機能の省電力制御を行う、
処理を実行させることを特徴とする制御プログラム。
【符号の説明】
【０２３７】
１  情報処理装置
１ａ  転送手段
１ｂ  重要度判定手段
１ｃ  動作モード判定手段
１ｄ  記憶手段
１ｅ  制御手段
２，３  ネットワーク
【図１】
0005736818.tif 000002
【図２】
0005736818.tif 000003
【図３】
0005736818.tif 000004
【図４】
0005736818.tif 000005
【図５】
0005736818.tif 000006
【図６】
0005736818.tif 000007
【図７】
0005736818.tif 000008
【図８】
0005736818.tif 000009
【図９】
0005736818.tif 000010
【図１０】
0005736818.tif 000011
【図１１】
0005736818.tif 000012
【図１２】
0005736818.tif 000013
【図１３】
0005736818.tif 000014
【図１４】
0005736818.tif 000015
【図１５】
0005736818.tif 000016
【図１６】
0005736818.tif 000017
【図１７】
0005736818.tif 000018
【図１８】
0005736818.tif 000019
【図１９】
0005736818.tif 000020
【図２０】
0005736818.tif 000021
【図２１】
0005736818.tif 000022
【図２２】
0005736818.tif 000023
【図２３】
0005736818.tif 000024
【図２４】
0005736818.tif 000025
【図２５】
0005736818.tif 000026
【図２６】
0005736818.tif 000027
【図２７】
0005736818.tif 000028
【図２８】
0005736818.tif 000029
【図２９】
0005736818.tif 000030
【図３０】
0005736818.tif 000031
【図３１】
0005736818.tif 000032
【図３２】
0005736818.tif 000033
【図３３】
0005736818.tif 000034