(57)【要約】  通信ネットワークで電源制御をサポートする方法を提供する。前記ネットワークは、パケット転送を実行する複数のネットワーク要素（１）を有し、各ネットワーク要素（１）は１つ以上のポート、すなわち要素ポート（２）を有する。本方法は、ネットワーク要素（１）が受信するパケットをどの要素ポート（２）経由で転送するかを指定するフローエントリ（５）を含むフローテーブル（４）を前記ネットワーク要素（１）のそれぞれに割り当てるステップと、ネットワーク要素（１）自体（要素ターゲット集合）または個別の要素ポート（２）（ポートターゲット集合）のいずれかをその利用に関して特徴づけるターゲット集合を前記フローテーブル（４）から導出するステップと、それぞれのターゲット集合における変化に基づいて、前記ネットワーク要素（１）および／または前記要素ポート（２）上の電源状態の実施について決定するステップとを備えたことを特徴とする。
2013519250.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークで電源制御をサポートする方法において、前記ネットワークは、パケット転送を実行する複数のネットワーク要素（１）を有し、各ネットワーク要素（１）は１つ以上のポート、すなわち要素ポート（２）を有し、
ネットワーク要素（１）が受信するパケットをどの要素ポート（２）経由で転送するかを指定するフローエントリ（５）を含むフローテーブル（４）を前記ネットワーク要素（１）のそれぞれに割り当てるステップと、
ネットワーク要素（１）自体（要素ターゲット集合）または個別の要素ポート（２）（ポートターゲット集合）のいずれかをその利用に関して特徴づけるターゲット集合を前記フローテーブル（４）から導出するステップと、
それぞれのターゲット集合における変化に基づいて、前記ネットワーク要素（１）および／または前記要素ポート（２）上の電源状態の実施について決定するステップと
を備えたことを特徴とする、通信ネットワークで電源制御をサポートする方法。
【請求項２】
ネットワーク要素（１）の要素ポート（２）のターゲット集合すなわちポートターゲット集合が、要素ポート（２）を出口ポートとする前記ネットワーク要素（１）のすべてのフローエントリ（５）とともに、前記フローエントリ（５）において出口ポートとして指定された要素ポート経由で前記ネットワーク要素（１）の要素ポート（２）に接続された他のネットワーク要素のすべてのフローエントリを含むことを特徴とする請求項１に記載の方法。
【請求項３】
ネットワーク要素（１）のターゲット集合すなわち要素ターゲット集合が、前記ネットワーク要素（１）のすべての要素ポート（２）のフローエントリ（５）を含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
要素ポート（２）は、対応するポートターゲット集合が空になった場合に停止され、および／または、ネットワーク要素（１）は、対応する要素ターゲット集合が空になった場合に停止されることを特徴とする請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
ポートターゲット集合および／または要素ターゲット集合の関連する変化後、対応する要素ポート（２）および／またはネットワーク要素（１）の作動／停止を開始する集中電源制御が提供されることを特徴とする請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
前記集中電源制御が、ルーティング経路を計算し、該ルーティング経路上のネットワーク要素（１）を識別し、該ネットワーク要素（１）のそれぞれのフローテーブル（５）のローカルコピーを保存することを特徴とする請求項５に記載の方法。
【請求項７】
前記集中電源制御が、前記ルーティング経路を設定するために適用する必要のある前記フローテーブル（５）における変化を計算し、要素ターゲット集合およびポートターゲット集合がそれぞれ空でなくなったネットワーク要素（１）および要素ポート（２）を選択することを特徴とする請求項６に記載の方法。
【請求項８】
前記集中電源制御が、それぞれの選択したネットワーク要素（１）および要素ポート（２）に対して、起動を開始するように通知することを特徴とする請求項６または７に記載の方法。
【請求項９】
宛先ノードへのルーティング経路上のネットワーク要素（１）によってインターセプトされるパケットは、該ルーティング経路のすべてのネットワーク要素（１）が作動していることを示す前記集中電源制御からのシグナリングメッセージを該ネットワーク要素（１）が受信するまで、該ネットワーク要素（１）によってバッファリングされることを特徴とする請求項５ないし８のいずれか１項に記載の方法。
【請求項１０】
前記ネットワーク内で送信されるべきパケットがインターセプトされる最初のネットワーク要素（１）が、該パケットをバッファリングし、前記ネットワークを通る適切なルーティング経路を見つけるために前記集中コントローラに問い合わせることを特徴とする請求項５ないし８のいずれか１項に記載の方法。
【請求項１１】
前記最初のネットワーク要素（１）が、前記ルーティング経路上のすべてのネットワーク要素（１）と連絡をとり、それらへルーティングテーブルエントリを送信することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記最初の要素（１）は、前記ルーティング経路上のすべてのネットワーク要素（１）が稼働しているという通知の到来を待機してから、前記バッファリングしているパケットを前記ネットワークへ送出することを特徴とする請求項１０または１１に記載の方法。
【請求項１３】
要素ターゲット集合および／またはポートターゲット集合が、前記最初のネットワーク要素（１）から受信されるルーティング情報に従って個別に、前記ルーティング経路上の前記ネットワーク要素（１）によって更新されることを特徴とする請求項１０ないし１２のいずれか１項に記載の方法。
【請求項１４】
ネットワーク要素（１）は、フローエントリ（５）がそのフローテーブル（４）から削除される場合、そのポートターゲット集合および要素ターゲット集合を調整し、前記削除されるフローエントリ（５）によってターゲット集合が影響される隣接ネットワーク要素の集合を判定し、削除されるフローエントリ（５）をすべての影響される隣接要素にシグナリングすることを特徴とする請求項１ないし１３のいずれか１項に記載の方法。
【請求項１５】
フローエントリ（５）が、フローエントリタイムアウトの定義によってフローテーブル（４）から削除されることを特徴とする請求項１ないし１４のいずれか１項に記載の方法。
【請求項１６】
フローエントリ（５）が、前記集中電源制御からの明示的要求後にフローテーブル（４）から削除されることを特徴とする請求項１ないし１４のいずれか１項に記載の方法。
【請求項１７】
ネットワーク要素（１）停止の場合、該ネットワーク要素（１）の停止手続きが最終的に開始される前に経過しなければならないアイドリング期間が導入されることを特徴とする請求項１ないし１６のいずれか１項に記載の方法。
【請求項１８】
前記ネットワーク要素（１）の要素ターゲット集合が作成される間にフローエントリ（５）が作成された場合、前記アイドリング期間がリセットされることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記アイドリング期間が、前記集中電源制御によって、または、それぞれのネットワーク要素（１）内で直接に、制御されることを特徴とする請求項１７または１８に記載の方法。
【請求項２０】
前記集中電源制御が、要素ターゲット集合および／またはポートターゲット集合に関連するネットワーク要素（１）状態変化を複製または模擬することを特徴とする請求項５ないし１９のいずれか１項に記載の方法。
【請求項２１】
前記集中電源制御が、ハードなフローエントリタイムアウトに関する情報に基づいて、フローエントリ（５）をネットワーク要素（１）のフローテーブル（４）のローカルコピーから削除することを特徴とする請求項２０に記載の方法。
【請求項２２】
フローテーブル（４）の相異なるフローエントリ（５）のソフトなフローエントリタイムアウトが、ソフトタイムアウトクロックサイクルを導入することによって、相互に同期されることを特徴とする請求項１ないし２１のいずれか１項に記載の方法。
【請求項２３】
ハードタイムアウト間隔を前記ソフトタイムアウトクロックサイクルの倍数とすることによって、ハードタイムアウトがソフトタイムアウトと同期されることを特徴とする請求項１ないし２２のいずれか１項に記載の方法。
【請求項２４】
前記ネットワーク要素（１）がＷａｋｅ−ｏｎ−ＬＡＮ機能を備えたことを特徴とする請求項１ないし２３のいずれか１項に記載の方法。
【請求項２５】
前記ネットワーク要素（１）が、ルーティング／スイッチングエントリを含むルーティング／スイッチングテーブルを利用するネットワークルータ／スイッチであることを特徴とする請求項１ないし２４のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークで電源制御をサポートする方法に関する。前記ネットワークは、パケット転送を実行する複数のネットワーク要素を有し、各ネットワーク要素は１つ以上のポート、すなわち要素ポートを有する。
【背景技術】
【０００２】
情報通信技術（information and communication technology, ＩＣＴ）の運用によって生じる全世界のＣＯ２排出を低減するため、ＩＣＴ基盤のエネルギー管理は社会の主要な目標の１つとなっている。特に、ネットワークスイッチやネットワークルータ等の多数のネットワーク要素から構成されるような通信ネットワーク（例えばデータセンタやコアネットワーク）のエネルギー消費を低減することは、ＩＣＴ分野における重要な部分的目標になっている。
【０００３】
一方、省エネルギー戦略は、ネットワーク要素がエネルギー消費に関して最適に利用されるような形でいかにしてトラフィックを転送するかという問題を扱う。例えば、高負荷対応のネットワーク要素上のトラフィックフローを増大させることは、一般的に、より好適である。というのは、それにより、低負荷にしか対応していないネットワーク要素が最終的にすべてのトラフィックフローから解放され得る状況に至る可能性が高いからである。他方、通常は省エネルギー戦略の計算の後に、電源制御メカニズムが、ネットワークの機能に影響を及ぼさずにネットワーク要素のシャットダウンおよび起動を行うことによって、ネットワーク要素に作用する。どのネットワーク要素をシャットダウンし、どのネットワーク要素を起動するかは、省エネルギー戦略とは別個に決定されることが多く、確実に使用中でないことが知られているネットワーク要素のみがシャットダウンされるような、ネットワーク状態の整合的な分析が必要である。
【０００４】
この問題は、非常に困難であると考えられる。というのは、通信ネットワークは一般的に、複雑なトラフィックフローと、ネットワークに接続されたピア間の動的な相互作用とによって特徴づけられるからである。結果として、パケット転送およびルーティング決定を実行することに関連するネットワーク要素の状態は頻繁に変わり得る。このため、ネットワーク要素はそれ自身の状態の分析のみに基づいてシャットダウンさせることはできず、隣接するネットワーク要素の状態も考慮しなければならないという特有の状況が生じる。さらに複雑さを加えることとして、電源状態遷移にはある一定の時間がかかる場合があり、起動プロセス中には、遷移中のネットワーク要素経由で転送することができないパケットを適当な方法で処理する必要がある。
【０００５】
ネットワーク要素の利用の最適化に注目した省エネルギー戦略（例えば非特許文献１や特許文献１（未公開）に記載のもの）以外、電源制御に関連する従来技術は、どのネットワーク要素を厳密にどのような状況でオン／オフしなければならないかを整合性および一貫性のある形で決定する方法について、有効な解決法を提供していない。
【０００６】
一方、比較的簡単な方法で、個々のネットワーク要素のシャットダウンおよび起動が可能である（例えば非特許文献２や非特許文献３に記載）。より詳細には、特許文献２および特許文献３は、集中電源制御論理システムを開示している。このシステムは、接続されたネットワーク要素の集合の電源状態の整合的なビューを維持管理し、それぞれの接続された要素をオン／オフすることによって、その電源状態を制御することが可能である。しかし、これらの技術は、各ネットワーク要素が構成し得る、より大きなネットワークの状況を考慮していない。要するに、上記のアプローチは、本発明によって提案される方法によって使用され得る背景技術とみなすことができる。
【０００７】
他方、一部の電源管理方法は、同じネットワーク要素の処理要素間の相互作用や（例えば特許文献４に記載）、ネットワーク要素のより大きな状況（例えば特許文献５に記載）も考慮しているが、通信ネットワークにおけるすべてのネットワーク要素の電源制御を整合的に実行する具体的方法は規定していない。すなわち、特許文献４は、ネットワーク要素（例えばＳＯＨＯルータ）のネットワークプロセッサに組み込まれた状態マシンを開示している。これは、ネットワークプロセッサの複数の処理要素の電力消費を、各処理要素の監視された利用率に応じて、かつ、同じネットワークプロセッサの処理要素間の相互依存関係にも基づいて、適応させる。特許文献５は、通信ネットワークにアタッチされた端末装置およびネットワーク装置の電源管理を最適化する方法を開示している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際出願ＰＣＴ／ＥＰ２０１０／００２２１９号明細書
【特許文献２】米国特許第４６７７５６６号明細書
【特許文献３】米国特許第４６３５１９５号明細書
【特許文献４】米国特許出願公開第２００４／０１６３０００Ａ１号明細書
【特許文献５】米国特許出願公開第２００９／０２７４０７０Ａ１号明細書
【非特許文献】
【０００９】
【非特許文献１】M. Baldi, Y. Ofek: "Time for a "Greener" Internet", in Proceedings of the IEEE International Conference on Communications Workshops, 2009
【非特許文献２】White Paper: "Wake on LAN Technology", Lieberman Software Corporation, Rev 2 - ２００６年６月１日
【非特許文献３】White Paper: "Magic Packet Technology. Advanced Micro Devices", Publication# 20213, Rev: A, Amendment/0. 発行日：１９９５年１１月
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、本発明の目的は、通信ネットワークで電源制御をサポートする頭書のような方法において、ネットワーク要素の最適化された利用が容易に可能になるようにすると同時に、通信ネットワークにおける全体的な省エネルギーがきわめて効果的になるような改良およびさらなる展開を行うことである。
【課題を解決するための手段】
【００１１】
本発明によれば、上記の目的は、請求項１の構成を備えた方法によって達成される。この請求項に記載の通り、本方法は、ネットワーク要素が受信するパケットをどの要素ポート経由で転送するかを指定するフローエントリを含むフローテーブルを前記ネットワーク要素のそれぞれに割り当てるステップと、ネットワーク要素自体（要素ターゲット集合）または個別の要素ポート（ポートターゲット集合）のいずれかをその利用に関して特徴づけるターゲット集合を前記フローテーブルから導出するステップと、それぞれのターゲット集合における変化に基づいて、前記ネットワーク要素および／または前記要素ポート上の電源状態の実施について決定するステップとを備えたことを特徴とする。
【００１２】
直観的には、解放されたネットワーク要素はオフにすることができ、必要なときに再びオンにされるはずであるが、本発明によって認識されたこととして、ネットワーク要素の電源状態を整合性および一貫性のある形で制御することは非常に困難であることが多い。というのは、スイッチングおよびルーティングを用いてパケットを転送するネットワークでは、ネットワーク要素の状態が頻繁に変化する可能性があり、隣接するネットワーク要素の状態にも依存する場合があるからである。また、ネットワーク要素の電源状態を変更すると、考慮する必要のある時間的オーバーヘッドを伴うことがあるため、ネットワーク要素が起動プロセスにある間にデータパケットを適当な方法で処理することに注意しなければならない。
【００１３】
本発明によれば、通信ネットワーク内のネットワーク要素の電源状態が、いわゆるターゲット集合およびその管理の概念に基づいて制御される。ターゲット集合は、各ネットワーク要素およびその各要素ポートを特徴づける。ターゲット集合に基づいて、ネットワーク要素および各要素ポートをオンまたはオフにすべきかどうかを迅速に決定することが可能である。結果として、本発明による方法は、パケット転送に対するわずかな影響（遅延のみ）で、ネットワーク要素および要素のポートをオンまたはオフにすべきかどうかを特徴づけるための包括的な実用的基礎（ターゲット集合およびその管理）を提供する。従来技術のアプローチとは異なり、本発明は、要素およびその各ポートの両方の粒度に関して、複数の相互接続されたネットワーク要素を考慮する。すなわち、個々の要素の視点を超えた、各ネットワーク要素のより広い状況を考慮することによって、ネットワーク規模の電源管理アプローチがとられる。
【００１４】
電源状態間の過渡的遅延（例えば起動およびシャットダウンの期間）は、例えば、各ネットワーク要素ごとに個別に、任意にパラメータ設定することができ、これは本方法の機能に影響を及ぼさない。さらに、本発明による方法は、ネットワーク要素に対して使用可能な任意の種類のエネルギーモデルに適用可能である。例えば、各ポートの電力消費が無視できるような要素の場合、ネットワーク要素自体だけを制御するために、ネットワーク要素自体のターゲット集合を使用することができる。
【００１５】
本発明によって定義されるターゲット集合は、ネットワーク要素自体および各要素ポートの両方を、それらの利用に関して特徴づけるために使用される。ターゲット集合は、フローエントリから導出される。具体的実施形態によれば、ネットワーク要素Ｓの１つの要素ポートＰのターゲット集合は、非形式的には、フローエントリの次の２つの部分集合の和集合として定義してもよい。
【００１６】
１）ネットワーク要素Ｓのフローエントリのうち、転送ルールの出口ポートが要素ポートＰを指しているすべてのフローエントリ。その出口ポートは、具体的なポート番号Ｐ、または、「全出口ポート」や「パケットを受信したポート以外の全ポート」のような、ポートＰを含む集団のいずれでもよい。
【００１７】
２）ネットワーク要素ＴのポートＱ経由でネットワーク要素ＳのポートＰに接続されているネットワーク要素Ｔのすべてのフローエントリ。各フローエントリの出口ポートはＱ、または、「全出口ポート」や「パケットを受信したポート以外の全ポート」のような、ポートＱを含む集団である。
【００１８】
この場合、１）および２）の２つの部分集合の和集合は、要素ポートＰに対する「ポートターゲット集合」を構成するように定義され、このターゲット集合における変化とともに、いつ要素ポートが使用されるか、および、いつ要素ポートがオンまたはオフにされることが可能かを決定する。
【００１９】
ポートターゲット集合と同様に、上記の概念をネットワーク要素自体に拡張して、ネットワーク要素Ｓの要素ポートＰ１，Ｐ２，...，Ｐｎのすべてのポートターゲット集合を合併して、ネットワーク要素Ｓ自体に対する「要素ターゲット集合」とすることが可能である。
【００２０】
上記のようなターゲット集合の定義に基づいて、要素ポートは、対応するポートターゲット集合が空になった場合に停止され、および／または、ネットワーク要素は、対応する要素ターゲット集合が空になった場合に停止されるようにしてもよい。すなわち、要素ターゲット集合が空でない場合、対応するネットワーク要素は稼働中のままとすべきであり、そうでない場合には、ネットワーク要素は（そのネットワーク要素自体からも、それに接続されている他のネットワーク要素からも）それを指しているフローエントリを有していないので、オフにすることができる。
【００２１】
具体的実施形態によれば、ポートターゲット集合および／または要素ターゲット集合の関連する変化後、集中電源制御により、対応する要素ポートおよび／またはネットワーク要素の作動／停止を開始してもよい。このことは、集中電源制御アプローチが、すべての制御アクションをコントローラに委ね、集中方式で動作する、ということを意味する。すなわち、ポートまたは要素ターゲット集合の関連する変化後、コントローラは、それぞれ対応する要素ポートおよびネットワーク要素のシャットダウンおよび起動を開始する。
【００２２】
集中電源制御アプローチの場合、さらに、集中電源制御がルーティング経路を計算し、ルーティング経路上のネットワーク要素を識別し、各ネットワーク要素のフローテーブルのローカルコピーを保存するようにしてもよい。さらに、集中電源制御は、ルーティング経路を設定するために適用する必要のあるフローテーブルにおける変化を計算し、要素ターゲット集合およびポートターゲット集合がそれぞれ空でなくなったネットワーク要素および要素ポートを選択するようにしてもよい。これを実行した後、集中電源制御は、それぞれの選択したネットワーク要素および要素ポートに対して、起動を開始するように通知してもよい。結果として、フローエントリの効率的追加が実現される。これは、ルーティング経路に沿ったパケット転送に実際に関与するネットワーク要素のみに対して作動することを要求する。
【００２３】
要素ポートの起動とは異なり、ネットワーク要素の起動は一般的に長い時間がかかる。すなわち、ネットワーク要素によってインターセプトされたパケットは、まだ稼働していない中間ネットワーク要素経由で転送されなければならない場合がある。自明な解決法としては、すべての必要なネットワーク要素が稼働するまで、そのパケットおよび同じフローエントリに一致するすべての後続パケットを単に廃棄することが挙げられる。しかし、この解決法は望ましくない。というのは、それにより多数のパケットが廃棄され、特に、インターネットのユーザにとって最適でない経験となる可能性があるからである。
【００２４】
ユーザエクスペリエンスの低下を引き起こすような過剰なパケット廃棄を回避するため、宛先ノードへのルーティング経路上のネットワーク要素によってインターセプトされるパケットは、ルーティング経路のすべてのネットワーク要素が作動していることを示す集中電源制御からのシグナリングメッセージをそのネットワーク要素が受信するまで、そのネットワーク要素によってバッファリングされるようにしてもよい。
【００２５】
集中コントローラノードがそれぞれのシグナリングを含む制御全体を担当するという純粋に集中的な電源制御に対する別法として、少なくとも一部の機能がネットワーク要素に組み込まれた電源制御アプローチを導入してもよい。例えば、このような場合、ネットワーク内で送信されるべきパケットがインターセプトされる最初のネットワーク要素が、そのパケットをバッファリングし、ネットワークを通る適切なルーティング経路を見つけるために集中コントローラに問い合わせるようにしてもよい。次のステップで、最初のネットワーク要素は、ルーティング経路上のすべてのネットワーク要素と連絡をとり、それらへルーティングテーブルエントリを送信してもよい。その後、最初の要素は、ルーティング経路上のすべてのネットワーク要素が稼働しているという通知の到来を待機してから、バッファリングしているパケットをネットワークへ送出してもよい。要素ターゲット集合および／またはポートターゲット集合は、最初のネットワーク要素から受信されるルーティング情報に従って個別に、ルーティング経路上のネットワーク要素によって更新されてもよい。
【００２６】
組込み電源制御の主要な利点は２つある。第１に、電源制御の目的のために、各ネットワーク要素のフローテーブルに関する情報をコントローラノードに複製する必要がなく、ネットワーク要素が独力で自己の状態を管理することで電源管理を実現する。すなわち、分散的な組込みモデルにより、外部当事者の関与なしに自律的な電源管理が可能となる。第２に、フローエントリのタイムアウトはまず、ネットワークにおいて自律的に生じるローカルなアクションであり、まず第１に組込み処理を示唆する、ということを活用している。したがって、ネットワーク要素とコントローラノードとの間の通信の低減およびコントローラノードにおける計算の低減の両方により、全体的な管理効率を大幅に向上させることができる。
【００２７】
分散的な組込み方法は、既存のネットワークにおいて、その通常の機能に影響を及ぼさずに導入することができる。さらに、電源管理をサポートするネットワーク要素と電源管理をサポートしないネットワーク要素を混在させることも可能である。電源制御のための集中的方法および組込み方法の両方を提供することによって、ネットワーク要素におけるサポートに応じて、多くの種類のネットワーク基盤における応用が可能となる。さらに、集中的方法および組込み方法の特徴を混在させることも可能である。これは、異種混在基盤において適切である。例えば、具体的実施形態において、集中的および組込みの電源制御方法を組み合わせることにより、あるネットワークセグメントが組込み方法によって制御され、管理機能の組込みをサポートしないような別のセグメントが集中的に制御される、という混成的な方法としてもよい。
【００２８】
フローエントリの削除は、組込みの場合に特に重要である。というのは、コントローラノードへの大量のメッセージを省略することができるからである。好ましい実施形態によれば、ネットワーク要素は、フローエントリがそのフローテーブルから削除される場合、そのポートターゲット集合および要素ターゲット集合を調整し、削除されるフローエントリによってターゲット集合が影響される隣接ネットワーク要素の集合を判定し、削除されるフローエントリをすべての影響される隣接要素にシグナリングするようにしてもよい。受信した情報に基づいて、すべてのネットワーク要素が、自己の要素ターゲット集合およびポートターゲット集合を自律的に適応させ、可能な場合には、適当なシャットダウン手続きを開始することができる。
【００２９】
一般的に、フローエントリが、フローエントリタイムアウトの定義によって暗黙的にフローテーブルから削除されるようにしてもよい。別法として、フローエントリは、集中電源制御からの明示的要求後にフローテーブルから削除されてもよい。
【００３０】
原理的には、影響される要素ポートおよびネットワーク要素のシャットダウンは、直ちに実行可能である。要素ポートについて、これはほとんど常に成り立つ。というのは、ポートシャットダウン（例えば、要素の電子機器のうちパケット送受信を担当する部分の停止）に伴うオーバーヘッドは、最近のネットワークスイッチおよびネットワークルータでは無視し得ると仮定できるからである。ポートが再び必要とされるときにはいつでも、ほとんど直ちに起動することも可能である。ネットワーク要素自体については、この状況は異なる。というのは、時間およびエネルギーの両方に関するオーバーヘッドが大きいからである。ネットワーク要素の状態変化を節約するため、ネットワーク要素停止の場合、ネットワーク要素の停止手続きが最終的に開始される前に経過しなければならない明示的なアイドリング期間が導入されるようにしてもよい。当該ネットワーク要素の要素ターゲット集合が作成される間にフローエントリが作成された場合、アイドリング期間をリセットし、そのネットワーク要素を再び使用中としてもよい。アイドリングタイムアウトを実現することは、コントローラノードにおいて、または、サポートされていればそれぞれのネットワーク要素内で直接に、実行可能である。
【００３１】
ポートまたはスイッチがオフに切り替えられようとしており、かつ、そのポートまたはスイッチ上にキューイングされているパケットがまだ存在する場合、どのように処理すべきかに関するローカルポリシーが参照される。パケットを単に廃棄して、シャットダウンアクションを直ちに施行してもよい。
【００３２】
別法として、ポート／スイッチは、シャットダウンのために単にタグ付けされるだけとし、それぞれのキューが空になったときにのみオフに切り替えられてもよい。これにより、パケット廃棄が回避され、ネットワークの効率が維持されるという利点がある。
【００３３】
別の実施形態によれば、遅延したスイッチ起動中にパケットをバッファリングする代わりに、関連するネットワーク要素の起動によって生じる遅延を要求側にシグナリングし、遅延が経過したときに要求側がその要求を繰り返すようにしてもよい。
【００３４】
上記のような純粋に集中的な電源制御は、ネットワーク要素とコントローラノードとの間の通信オーバーヘッドが大きいという問題がある。以下の例は、オーバーヘッドの大きさの可能性を例示する。１０００個のネットワーク要素を有するネットワークを仮定する。各ネットワーク要素がかなりのサイズのフローテーブルを有し、毎秒１回のフローエントリタイムアウトが生じるとする。これにより、ネットワーク全体では、ターゲット集合を再決定することができるためには、コントローラノードは１０００個のシグナリングメッセージを受信することになる。これは大きいオーバーヘッドであり、ボトルネックを引き起こしかねない。特に、タイムアウトが均一に分布して起こる可能性は低く、ある期間中に高度に累積する可能性が高いからである。
【００３５】
この状況を改善するため、別の好ましい実施形態によれば、集中電源制御が、要素ターゲット集合および／またはポートターゲット集合に関連するネットワーク要素状態変化を複製または模擬するようにしてもよい。その場合、集中電源制御は、ハードなフローエントリタイムアウトに関する情報に基づいて、フローエントリを、そのエントリの寿命の最後にネットワーク要素のフローテーブルのローカルコピーから削除してもよい。ネットワーク要素は、自己のコピーに対して同じことを行い、両方のコピーが等しいことを保証する。これにより、ハードタイムアウトによるフローエントリ削除をネットワーク要素からコントローラノードへ明示的にシグナリングすることが不要となる。
【００３６】
他方、ソフトタイムアウトはシグナリングされる必要があるが、それらの転送は最適化可能である。以下で説明するそれぞれの解決法は、多くの関連するイベントはネットワークトラフィックとは独立であり、ネットワーク相互作用なしにコントローラノードによって模擬されることが可能であることを活用する。これは、相互間の同期およびトラフィック非依存イベントとの同期の両方によって、トラフィック依存イベントの発生を最適化することに基づく。フローエントリと関連して発生し得るアクションは以下の通りである。
【００３７】
・コントローラノードによるフローエントリの追加：このアクションは、コントローラノードとネットワーク要素との間の明示的な相互作用を必要とするが、追加的シグナリングは不要である。
・コントローラノードによるフローエントリの明示的削除：この場合も、このアクションには明示的な相互作用が必要であるが、追加的シグナリングは不要である。前述のように、このアクションが起こるのは比較的まれであるべきであり、そうでない場合にはボトルネックとなる。
・ハードタイムアウトによるフローエントリの削除：ハードタイムアウトはコントローラノードに知られている一定の定数であるので、ハードタイムアウトに基づくフローエントリ削除の挙動は、コントローラノードによって容易に模擬されることが可能である。したがって、このトラフィック非依存アクションにはシグナリングは不要である。
・ソフトタイムアウトによるフローテーブルエントリの削除：ハードタイムアウトとは異なり、ソフトタイムアウトはトラフィック依存である。というのは、ソフトタイムアウトは、そのタイムアウトが関連づけられているフローエントリに従って転送されるパケットごとに再初期化されるからである。シグナリングが必要であるが、以下で説明するように、シグナリングは最適化可能である。
【００３８】
タイムアウトの種類のうち、ソフトタイムアウトが支配的となる可能性が高い。というのは、ソフトタイムアウトは、トラフィックに対するその依存性のために、最も応答性が高いからである。しかし、そのトラフィック依存性により、ソフトタイムアウトは、コントローラノードで容易に模擬することができない。このため、コントローラノードは、各ネットワーク要素でトラフィックをモニタする必要がある。
【００３９】
ソフトタイムアウトのコントローラノードへのシグナリングの最適化に関して、フローテーブルの相異なるフローエントリのソフトなフローエントリタイムアウトが、ソフトタイムアウトクロックサイクルを導入することによって、相互に同期されるようにしてもよい。さらに、ハードタイムアウト間隔をソフトタイムアウトクロックサイクルの倍数とすることによって、ハードタイムアウトがソフトタイムアウトと同期されるようにしてもよい。
【００４０】
一般的に、それぞれの選択されたネットワーク要素および要素ポートは、集中コントローラノードから、起動を開始するための制御メッセージの通知を受けることが可能である。ネットワーク要素がオンであり、要素ポートを起動するだけでよい状況では、これは例えばＳＮＭＰ（Simple Network Management Protocol）によって実現可能である。ネットワーク要素が現在オフにされており起動が必要な状況では、シグナリングは、例えば特別なパケットによるＷａｋｅ−Ｏｎ−ＬＡＮ技術を使用することによって実現可能である。したがって、各ネットワーク要素は、このような（例えば「マジック」パケットによる）Ｗａｋｅ−ｏｎ−ＬＡＮ機能を、好ましくは各ポートに備えてもよい。
【００４１】
具体的適用場面として、上記のような方法は、データパケットをどのように転送するかを決定するルーティングエントリを含むルーティングテーブルを利用するネットワークルータに適用可能である。この実施形態において、ルーティングエントリはフローエントリに対応し、ルーティングテーブルはフローテーブルに対応する。その場合、ターゲット集合およびターゲット集合管理は、ネットワークルータのルーティングエントリに基づいて実行される。別法として、またはこれに加えて、本方法は、データパケットをどのように転送するかを決定するスイッチングエントリを含むスイッチングテーブルを利用するネットワークスイッチに適用可能である。この実施形態において、スイッチングエントリはフローエントリに対応し、スイッチングテーブルはフローテーブルに対応する。その場合、ターゲット集合およびターゲット集合管理は、ネットワークスイッチのスイッチングエントリに基づいて実行される。スイッチは、例えば、ＯｐｅｎＦｌｏｗスイッチであってもよい。その場合、フローテーブルおよびフローテーブルエントリは、ＯｐｅｎＦｌｏｗスイッチおよびそのポートのターゲット集合の定義および管理のために使用される。特に、異種混在したネットワークルータおよびネットワークスイッチ等のネットワーク要素から構成されるネットワークに、本発明が提案する方法を適用することが可能である。ターゲット集合の定義は、ルーティングおよびスイッチングの両方の情報を整合的に捕捉することができるような形で拡張可能である。というのは、その情報のセマンティクスは類似しているからである。
【００４２】
本発明を好ましい態様で実施するにはいくつもの可能性がある。このためには、一方で請求項１に従属する諸請求項を参照しつつ、他方で図面により例示された本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例について説明する。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態によって使用されるネットワーク要素の模式図である。
【図２】本発明による実施形態によって使用される要素ターゲット集合およびポートターゲット集合の概念を全体的に例示する模式図である。
【図３】本発明の実施形態による集中電源制御を用いたフローエントリの追加（左側）およびフローエントリの削除（右側）を例示する模式図である。
【図４】本発明の実施形態による集中電源制御を用いた遅延ネットワーク要素起動およびパケットバッファリングを例示する模式図である。
【図５】本発明の実施形態によるフローエントリのソフトタイムアウトとハードタイムアウトとの間の同期を例示する模式図である。
【図６】本発明の実施形態による組込み電源制御を用いたタイムアウトおよびフローエントリの削除を例示する模式図である。
【発明を実施するための形態】
【００４４】
以下の説明において、すでに上記で述べたように、パケット転送を実行する任意の種類のネットワーク要素、例えばネットワークルータまたはネットワークスイッチを指すために、「ネットワーク要素」および「要素ポート」という一般的用語を用いる。図１は、本発明の実施形態によって使用されるネットワーク要素１を模式的に示している。例えば、ネットワーク要素１は、ネットワークスイッチまたはネットワークルータであってもよい。
【００４５】
例示したネットワーク要素１は、全部で４個の要素ポート２を有し、それらを通じて、入／出パケットがネットワーク要素１によって受信／送信されることが可能である。内部では、要素ポート２は、要素全体の制御を担当する要素プロセッサ３に接続される。ネットワーク要素１において、「フローテーブル」４は、ネットワーク要素１が受信するパケットをどのように転送するかを決定する「フローエントリ」５（図１ではそのうちの３つを例として示す）を含むと仮定される。フローエントリ５は一般的に、物理要素ポート間のマッピングを定義するが、「パケットを受信したポート以外の全ポート」や「ポートｊ上のキューｉ」のような仮想ポートを含むことも可能である。
【００４６】
１．ターゲット集合
電源制御アルゴリズムの定義および電源制御アクションの実行の重要な前提条件として、特定のネットワーク要素が、ネットワーク機能を損なうことなくオフにすることができるかどうか、およびいつオフにすることができるかに関する知識が挙げられる。例えば、あるトラフィックフローに属するパケットを転送することに関与するネットワーク要素は、その転送中にオフにすることはできないことは直観的に明らかである。他方、ネットワーク要素起動プロセスの待ち時間を考慮しながら、ネットワーク要素は、パケット転送に必要なちょうどよいときにオンにされるべきである。
【００４７】
以下、ターゲット集合の概念に基づいて特定のネットワーク要素がオン／オフされる条件を説明する。ターゲット集合は、ネットワーク要素自体および各要素ポートの両方を、それらの利用に関して特徴づけるために使用され、フローエントリから導出される。まず、ネットワーク要素Ｓの１つの要素ポートＰのターゲット集合を考える。これは、非形式的には、フローエントリの次の２つの部分集合の和集合として定義される。
【００４８】
１）ネットワーク要素Ｓのフローエントリのうち、転送ルールの出口ポートが要素ポートＰを指しているすべてのフローエントリ。その出口ポートは、具体的なポート番号Ｐ、または、「全出口ポート」や「パケットを受信したポート以外の全ポート」のような、ポートＰを含む集団のいずれでもよい。
【００４９】
２）ネットワーク要素ＴのポートＱ経由でネットワーク要素ＳのポートＰに接続されているネットワーク要素Ｔのすべてのフローエントリ。各フローエントリの出口ポートはＱ、または、「全出口ポート」や「パケットを受信したポート以外の全ポート」のような、ポートＱを含む集団である。
【００５０】
１）および２）の２つの部分集合の和集合は、要素ポートＰに対する「ポートターゲット集合」であり、このターゲット集合における変化とともに、いつ要素ポートが使用されるか、および、いつ要素ポートがオンまたはオフにされるべきかを決定する。ポートターゲット集合が空でないとき、集合の少なくとも１つの要素（すなわちフローエントリ）が、ポートＰを直接に（ネットワーク要素Ｓにおいて）、または、間接に（隣接ネットワーク要素Ｔにおいて）指すかのいずれかであり、そのポートはパケット転送に使用中の可能性がある。ポートターゲット集合が空である場合、要素ポートＰはいずれのパケットの出口または入口ポートでもなく、停止することが可能である。したがって、ポートターゲット集合における関連する変化は、要素ポートに対するポートターゲット集合の作成（あるいは、空のポートターゲット集合への最初の要素の追加）である。これは、要素ポートがオンにされるべきであることを示す。ポートターゲット集合を空にすること（あるいは、空でないポートターゲット集合からの最後の要素の削除）は、要素ポートがオフにされることが可能であることを示す。
【００５１】
上記の方式は、ネットワーク要素の各要素ポートに当てはまるとともに、以下のようにして、ネットワーク要素自体に拡張可能である。そのためには、ネットワーク要素Ｓの要素ポートＰ１，Ｐ２，...，Ｐｎのすべてのポートターゲット集合を合併して、ネットワーク要素Ｓ自体に対する「要素ターゲット集合」とする。ポートターゲット集合と同様に、要素ターゲット集合が空でない場合、ネットワーク要素は稼働中のままとすべきであり、そうでない場合には、ネットワーク要素は（そのネットワーク要素自体からも、それに接続されている他のネットワーク要素からも）それを指しているフローエントリを有していないので、オフにすることができる。
【００５２】
ポートターゲット集合および要素ターゲット集合の両方を図２に模式的に例示する。図２において、いくつかのフローエントリがネットワーク要素Ｓ２およびＳ３で削除される。結果として、Ｓ３のポートターゲット集合ならびにＳ２およびＳ３の両方の要素ターゲット集合が変化する。Ｓ２の要素ターゲット集合が空になるので、そのネットワーク要素をシャットダウンすることができる。ネットワーク要素Ｓ３については、ポートターゲット集合ＴＳ３５のみが空となっているので、要素ポートＰ５をシャットダウンすることができる。フローエントリが追加される場合も同様に動作する。
【００５３】
さらに高度な実施形態によれば、要素ターゲット集合およびポートターゲット集合の定義は、これらのターゲット集合が、考慮対象のネットワーク要素の隣接ネットワーク要素を超えた（すなわち、当該ネットワーク要素の近隣の近隣との）協調によって構成され得るという可能性を考慮してもよい。別の実施形態として、ポートターゲット集合および要素ターゲット集合の定義は、例えばあるスイッチについて、どのフローエントリもそのスイッチを指していない場合であってもそのスイッチを起動するために、追加的な外部トリガによって影響されることも可能である。さらに別の実施形態として、ポートターゲット集合および要素ターゲット集合の概念は、複数のネットワーク要素から構成されるネットワークセグメントを捕捉するターゲット集合のような、高レベルの集団にも適用可能である。
【００５４】
２．電源制御方法
以下、上記の定義によるポートおよび要素ターゲット集合に基づく電源制御のための２つの方法をさらに詳細に説明する。第１の解決法である「集中電源制御」は、コントローラノードがネットワーク要素に対するすべての制御アクションを実行すると仮定する。第２の解決法である「組込み電源制御」では、制御アクションは、少なくとも部分的に、ネットワーク要素間の協調によってネットワーク内で実行される。第１の解決法はネットワーク要素の特定の機能を必要としない。第２の解決法は、ネットワーク要素における追加的な計算サポートを必要とする。
【００５５】
２．１  集中電源制御
集中電源制御は、すべての制御アクションをコントローラに委ね、集中方式で動作する。すなわち、ポートターゲット集合または要素ターゲット集合の関連する変化後、コントローラは、それぞれ対応するポートおよび要素のシャットダウンおよび起動を開始する。
【００５６】
２．１．１  フローエントリの追加
集中電源制御によるフローエントリの追加を図３の左側部分に例示する。例示した実施形態によれば、以下のステップの系列が実行される。
【００５７】
１）コントローラノードが、パケットの流れ（「フロー」）に適用されるネットワークを通る新しい経路を計算する。その経路上のネットワーク要素が識別される。
【００５８】
２）コントローラノードは、各ネットワーク要素のフローテーブルのローカルコピーを保存し、以前に選択されたネットワークを通るルートを設定するために適用する必要のある変更を計算する。コントローラノードは、計算した変更をフローテーブルのローカルコピーに適用してから、第２節でのターゲット集合の定義に従って、影響される可能性のあるポートターゲット集合および要素ターゲット集合の両方を再計算する。影響されるネットワーク要素の集合は、追加的なフローエントリによって増加したばかりのネットワーク要素と、ネットワーク要素の新規フローエントリによって指されている隣接ネットワーク要素である。実行した計算に基づいて、要素ターゲット集合およびポートターゲット集合がそれぞれ空でなくなったネットワーク要素および要素ポートが選択される。
【００５９】
３）それぞれの選択されたネットワーク要素および要素ポートは、コントローラノードから、起動を開始するための制御メッセージの通知を受ける。ネットワーク要素がオンであり、要素ポートを起動するだけでよい状況では、これは例えばＳＮＭＰによって実現可能である。ネットワーク要素が現在オフにされており起動が必要な状況では、シグナリングは、例えば（例えば、導入部で引用した２つのホワイトペーパーに記載されているような）特別なパケットによるＷａｋｅ−Ｏｎ−ＬＡＮ技術を使用することによって実現可能である。
【００６０】
４）すべてのネットワーク要素および要素ポートが起動されるとすぐに、コントローラノードは、新規フローによってパケットを転送することに関与するネットワーク要素の部分集合において、その新規フローに対するフローエントリを追加する。
【００６１】
ネットワーク要素上のスイッチングは、インバンド（in-band）で行われることも、アウトオブバンド（out-of-band）で行われることも可能である。アウトオブバンドの場合、すべてのネットワーク要素はコントローラノードへの直接リンクを有し、直接に並列的にスイッチングされることが可能である。インバンドの場合、起動メッセージが、通常のデータリンク経由でネットワーク要素へ送信され、それにより、通常のパケットと同じルーティングおよび省電力メカニズムに従う。したがって、あるネットワーク要素と連絡をとることは、事前に他の要素上のスイッチングを必要とする場合がある。このため、コントローラノードは、直接の到達可能性が得られない場合には、要素の電源状態および要素の接続状態に基づいて要素上で順次スイッチングを行うためのプランを計算する。
【００６２】
２．１．２  遅延ネットワーク要素起動およびパケットバッファリング
要素ポートの起動とは異なり、ネットワーク要素の起動は一般的に長い時間がかかる。すなわち、ネットワーク要素によってインターセプトされたパケットは、まだ稼働していない中間ネットワーク要素経由で転送されなければならない場合がある。自明な解決法としては、すべての必要なネットワーク要素が稼働するまで、そのパケットおよび同じフローエントリに一致するすべての後続パケットを単に廃棄することが挙げられる。しかし、この解決法は望ましくない。というのは、それにより多数のパケットが廃棄され、特に、インターネットのユーザにとって最適でない経験となる可能性があるからである。
【００６３】
代わりに、図４を参照して以下で説明する実施形態によれば、すべての関連するネットワーク要素が再び利用可能になるまでパケットはバッファリングされる。この解決法は、機能に関しては透過的であり、バッファリングされている要求への応答における遅延を伴うだけである。ほとんどの場合、バッファリングされるパケットは、クライアントアプリケーションの初期要求（例えば、動画のストリーミングを開始する要求）に対応するので、フローが確実に設定されるまでに導入されるのは１回の遅延だけであり、これは、クライアントにとって受容可能である場合が多い（そして、遅延の他の可能な原因から区別できないことも多い）。
【００６４】
遅延ネットワーク要素起動およびパケットバッファリング方法は、図４に例示した以下のステップに従って動作する。
【００６５】
１）パケットがコントローラノードによってインターセプトされる。パケットは、ネットワークに接続された宛先エンドノードが選択され、そのエンドノードへのネットワーク経路も選択されるように処理される。そのために、任意の負荷分散および経路計算エンジン（例えば特許文献１（未公開）に記載のもの）が使用可能である。図４では、選択された経路はネットワーク要素Ｓ１、Ｓ２、およびＳ３を通る。
【００６６】
２）作成されるべきフローエントリのうち、現在稼働中（オン）のネットワーク要素に属するものが施行される。現在オフのネットワーク要素は、フローエントリ作成のために通信を行うことができない。図４では、Ｓ１のみが稼働中である。
【００６７】
３）パケットがインターセプトされたネットワーク要素に対して、コントローラノードは、コントローラノードからさらに通知があるまでパケットをバッファリングするよう指示する。これに応じて、ネットワーク要素は、関連するパケットをローカルバッファに入れる。
【００６８】
４）現在オフであるすべてのネットワーク要素に対して、コントローラノードは、オンにする必要があることをこれらの要素にシグナリングする。これは、例えば、前述のようなＷａｋｅ−ｏｎ−ＬＡＮ技術によって実現可能である。すでに起動プロセス中であるネットワーク要素（前のフロー作成プロセスによってこの可能性がある）は省略されてもよい。
【００６９】
５）影響されるネットワーク要素が起動している時間中に、コントローラは、適当なパケットＩＤ（例えば、パケットのシーケンス番号）およびパケットをバッファリングしているネットワーク要素の記録もつける。また、起動中のネットワーク要素のＩＤ（例えばＩＰアドレス）もその記録に保存される。
【００７０】
図４の右側は、ネットワーク要素Ｓ２およびＳ３が起動手続きを完了しようとしている状況を示し、以下のステップが行われる。
【００７１】
６）ｔ１において、ネットワーク要素Ｓ２が起動プロセスを完了し、稼働状態となり、それをコントローラノードにシグナリングする。
【００７２】
７）コントローラノードは、バッファリングされているパケットエントリに対する起動中のネットワーク要素の集合からＳ２を削除し、作成すべきフローエントリをＳ２へ送信する。
【００７３】
８）ｔ２において、ネットワーク要素Ｓ３が稼働状態となり、コントローラノードにシグナリングする。
【００７４】
９）コントローラノードは、起動中のネットワーク要素の集合からＳ３を削除し、Ｓ３のフローエントリを送信する。
【００７５】
１０）このとき、コントローラノードは、起動中のネットワーク要素の集合が空であることを検出する。これは、フローの経路が完全であることを示す。
【００７６】
１１）そこで、コントローラノードは、現在バッファリングされているパケットをネットワークに送出することができることを示す転送指示を、バッファリング中のネットワーク要素へ送信する。
【００７７】
１２）このとき、すべてのフローエントリがネットワーク要素Ｓ１、Ｓ２、およびＳ３に存在し、パケットはその宛先へ転送可能である。
【００７８】
２．１．３  フローエントリの削除
フローエントリの削除は、フローエントリタイムアウトによって暗黙的に行われることも、コントローラノードの明示的要求によって行われることも可能である。フローエントリタイムアウトはさらに、ソフトタイムアウトとハードタイムアウトに区別できる。前者はそれぞれのエントリの最新使用時刻に依存し、後者は、フローエントリの設定から一定期間後に起こる確定したタイムアウトである。いずれの場合でも、エントリの満了は、ポートターゲット集合および要素ターゲット集合の両方の再計算をトリガする。フローテーブルエントリの（ソフトまたはハード）タイムアウトが起きた後のフローエントリ削除のプロセスは、図３の右側に例示されている。実際には、このようなタイムアウトは、コントローラノードによるフローテーブルエントリの事前削除よりもはるかに頻繁に起こると予想できる。
【００７９】
１）ネットワーク要素でハードタイムアウトが起こり、フローエントリが削除される。
【００８０】
２）エントリ削除がコントローラノードにシグナリングされ、コントローラノードはそのローカルストレージにおいて変化を更新する。コントローラノードがエントリを事前に削除する場合、このステップは適用されない。その後、コントローラノードは、削除されたフローエントリによって影響される可能性のあるポートターゲット集合および要素ターゲット集合の両方を再計算する。実行した計算に基づいて、要素ターゲット集合およびポートターゲット集合がエントリを含まなくなった要素およびポートが選択される。
【００８１】
３）最も厳格な場合、それぞれの選択されたネットワーク要素および要素ポートは、コントローラノードから、シャットダウンを開始するための制御メッセージの通知を受ける（例えばＳＮＭＰによって）。
【００８２】
４）ネットワーク要素および要素ポートの電源が停止される。ポートの電源停止は瞬時に有効となるが、ネットワーク要素の電源停止は、ネットワーク要素が整合的なシャットダウンを必要とするか、それとも即時にオフにできるかに応じて、時間がかかる遷移となる場合がある（前者の場合のほうが可能性が高い）。
【００８３】
２．２  模擬機能を用いた集中電源制御
上記ですでに述べたように、集中電源制御は、ネットワーク要素とコントローラノードとの間の通信オーバーヘッドが大きいという点で不利となる。
【００８４】
本発明の実施形態によれば、通信オーバーヘッドを低減するため、関連する要素と相互作用することなく、ポートターゲット集合および要素ターゲット集合に関連するネットワーク要素状態変化を複製または模擬する方法を適用することができる。コントローラノードは、ネットワーク要素におけるハードタイムアウトについて知っている。その情報を用いて、フローエントリを、そのエントリの寿命の最後にネットワーク要素のフローテーブルのローカルコピーから削除することができる。ネットワーク要素は、自己のコピーに対して同じことを行い、両方のコピーが等しいことを保証する。これにより、ハードタイムアウトによるフローエントリ削除をネットワーク要素からコントローラノードへ明示的にシグナリングすることが不要となる。ソフトタイムアウトはシグナリングされる必要があるが、それらの転送は以下で説明するように最適化可能である。本発明のこの部分の主要な考え方は次の通りである。
１）多くの関連するイベントはネットワークトラフィックとは独立であり、ネットワーク相互作用なしにコントローラノードによって模擬されることが可能であることを活用する。
２）相互間の同期およびトラフィック非依存イベントとの同期の両方によって、トラフィック依存イベントの発生を最適化する。
【００８５】
２．２．１  ソフトタイムアウト相互間の同期
通常のアプローチでは、ソフトタイムアウトは、フローエントリがｄｔｓｏｆｔ−ｔｉｍｅｏｕｔの間使用されない場合に満了する時間間隔ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔである。パケットが現在時刻Ｔｃｕｒｒｅｎｔに転送されると、次のソフトタイムアウトがＴｃｕｒｒｅｎｔ＋ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔにスケジューリングされる。
【００８６】
本発明の実施形態によれば、クロッキングされたソフトタイムアウトが使用される。ソフトタイムアウトクロック間隔ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ−ｃｙｃｌｅが導入され、それに従ってソフトタイムアウトがクロッキングされる。その場合、Ｔｃｕｒｒｅｎｔにスイッチングされるパケットは、Ｔｃｕｒｒｅｎｔ＋ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ＋ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ−ｆｉｌｌに、対応するフローテーブルエントリに対する次のソフトタイムアウトがスケジューリングされる。図５は、この種の同期のいくつかの例を示している。特に、相異なるフローエントリのクロッキングされないソフトタイムアウトは、同じ長さである必要はないことに注意すべきである。
【００８７】
同時刻ｎ＊ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ−ｃｙｃｌｅに満了するすべてのフローテーブルエントリは、単一のメッセージでまとめてコントローラにシグナリングされる。エントリ削除通知をまとめることにより、ネットワーク要素とそのコントローラとの間の通信トラフィックが減少する。というのは、この場合、複数のメッセージが単一のメッセージでまとめてシグナリングされるからである。
【００８８】
２．２．２  ソフトタイムアウトとハードタイムアウトとの同期
通常のアプローチでは、ソフトタイムアウトおよびハードタイムアウトは相互に独立に生じる。本発明の具体的実施形態によれば、ソフトタイムアウトの発生がハードタイムアウトの発生と一致する可能性が高くなるようにソフトタイムアウトを同期させることによって、ソフトタイムアウトの発生がさらに最適化される。これは、ハードタイムアウトｄｔｈａｒｄ−ｔｉｍｅｏｕｔの間隔をソフトタイムアウトクロックサイクルの倍数とすることによって、すなわち、ｄｔｈａｒｄ−ｔｉｍｅｏｕｔ＝ｎ＊ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ−ｃｙｃｌｅとすることによってサポート可能である。
【００８９】
この種の同期を用いることにより、ソフトタイムアウトがハードタイムアウトと一致し、コントローラノードへ別個にシグナリングする必要がなくなる。というのは、ハードタイムアウトはコントローラに知られており、コントローラのフローテーブルコピーに正確に反映されるからである。
【００９０】
図５に示した例では、ソフトタイムアウトｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ３がクロッキングされ、ハードタイムアウトと一致するようにハードタイムアウトと同期される。なお、ハードタイムアウトを相互に同期させる必要はない。というのは、ハードタイムアウトはトラフィック非依存であり、コントローラノードによって模擬されることが可能だからである。
【００９１】
以下の例は、上記の例の値を用いて、タイムアウト同期の有効性を例示する。ｄｔｈａｒｄ−ｔｉｍｅｏｕｔ＝６０ｓ、ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ＝７ｓ、ｄｔｓｏｆｔ−ｔｉｍｅｏｕｔ−ｃｙｃｌｅ＝１０ｓと仮定する。前と同様に、さらに、ネットワーク全体で毎秒１０００回のソフトタイムアウトが起こると仮定する。同期により、平均で１６７回のタイムアウトが同期して起こり、特に、１６７回のタイムアウトがハードタイムアウト同期して起こる。タイムアウトによって発生するイベントが、コントローラノードにシグナリングされる前にネットワークで完全に集約可能であると仮定すると、５個の集約メッセージだけをコントローラノードへ送信すればよい。したがって、このアプローチは、同期方法の可能性を十分に活用するために、このような集約機能をサポートすることをネットワークに対して要求する。
【００９２】
２．３  組込み電源制御
集中電源制御は、模擬機能の有無にかかわらず、ネットワーク要素とコントローラノードとの間の相互作用を必要とする。特に、コントローラノードは、ネットワーク要素をシャットダウンするために、ネットワーク要素へ明示的なシャットダウンメッセージを必ず送信する必要がある。
【００９３】
本発明の実施形態によれば、この機能をネットワーク要素自体に組み込むことによって、ポートターゲット集合および要素ターゲット集合の管理が分散される。第２．２．２節で適用した集約機能と同様に、ターゲット集合管理の組込みは、ネットワーク要素（例えばスイッチ）における追加的な計算サポートを必要とする。
【００９４】
以下、組込み電源制御を実施するために必要な可能化技術について３つの基本的な仮定をする。
・各ネットワーク要素は、前に仮定したように、各ポート上に（例えば「マジック」パケットによる）Ｗａｋｅ−ｏｎ−ＬＡＮ機能を有する。
・各ネットワーク要素は、管理機能の限定的なセットを組み込むためのローカルな計算・記憶機能を有する。
・各ネットワーク要素は、シグナリングの目的で、簡単な管理プロトコルにより近隣のネットワーク要素と通信することができる。
【００９５】
主要な考え方およびアプローチは、ターゲット集合管理を分散させ、それに応じて、ネットワーク要素のオン・オフをトリガすることである。
【００９６】
２．３．１  フローエントリの追加
新たなフローエントリの追加は、第２．１．１節で説明したように、コントローラノードによって開始される。パケットを転送する必要のあるネットワーク要素の起動中にパケットがネットワーク要素にバッファリングされるアプローチに関して、集中型調整による電源制御の修正が必要である。
【００９７】
本発明の実施形態によれば、パケットバッファリングおよび要素起動に関してコントローラノードによって実行される機能は、パケットがインターセプトされた最初のネットワーク要素に移転される。上記の実施形態において、このような機能は、コントローラノードとネットワーク要素との間で分割される。
【００９８】
前と同様に、最初のネットワーク要素が、入パケットをバッファリングし、ネットワークを通る適切なルートを見つけるためにコントローラに問い合わせる。次に、最初のネットワーク要素は、経路上のすべてのネットワーク要素と連絡をとり、それらへルーティングテーブルエントリを送信する。オフにされている要素がまず、Ｗａｋｅ−ｏｎ−ＬＡＮ機能を活用することによってオンにされる。最初の要素は、第２．１．２節で説明したように、すべての要素が稼働しているという通知の到来を待機してから、バッファリングしているパケットをネットワークへ送出することにより、パケットは最終宛先へ配信されることが可能である。ターゲット集合は、最初のネットワーク要素から受信されるルーティング情報に従って、各ネットワーク要素によって更新される。
【００９９】
２．３．２  フローエントリの削除
フローエントリの削除は、組込みの場合に特に重要である。というのは、コントローラノードへの大量のメッセージを省略することができるからである。ハードまたはソフトタイムアウトによって起こるフローエントリの削除を図６に詳細に示す。以下のステップが実行される。
【０１００】
１）ネットワーク要素においてタイムアウトが起こり、フローエントリが削除される。
【０１０１】
２）ネットワーク要素は、削除されたフローエントリに基づいて、ローカルポートおよびスイッチターゲット集合を調整する。次に、ネットワーク要素は、削除されたフローエントリによってターゲット集合が影響される隣接ネットワーク要素の集合を判定する。これは、削除されたエントリの出口ポートをチェックすることによって行われる。それが単一のポートである場合、単一の隣接ネットワーク要素が影響される。集約されたポートの場合、複数の隣接要素が影響される場合がある。
【０１０２】
３）ネットワーク要素は、削除されたフローエントリをすべての影響される隣接要素にシグナリングする。
【０１０３】
４）受信した情報に基づいて、すべてのネットワーク要素が、自己のポートターゲット集合および要素ターゲット集合を自律的に適応させる。
【０１０４】
５）この時点で、ターゲット集合が変更されたすべてのネットワーク要素は、そのような変更の実行もしており、１つ以上のポートまたはネットワーク要素自体がシャットダウン可能であるかどうかを自律的に判定することができる。それぞれの空になったポートターゲット集合について、対応するポートが直ちにシャットダウンされる。それぞれの空になった要素ターゲット集合について、ネットワーク要素はアイドル状態に入り、一定のアイドリング期間の後のシャットダウンがスケジューリングされる。アイドリング期間が経過したら、ネットワーク要素は最終的にシャットダウンする。
【０１０５】
最後に、上記の機能のいずれの部分も、ソフトウェア、ハードウェア、またはその両方で実現可能であることに注意すべきである。これは特に、ネットワーク要素に配置された機能に当てはまる。
【０１０６】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到し得るであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。
【図１】
2013519250.tif 000003
【図２】
2013519250.tif 000004
【図３】
2013519250.tif 000005
【図４】
2013519250.tif 000006
【図５】
2013519250.tif 000007
【図６】
2013519250.tif 000008
【国際調査報告】
2013519250.tif 000009
2013519250.tif 000010
2013519250.tif 000011