(57)【要約】【課題】ネットワークのパフォーマンスを維持しつつ、省電力化の実現に貢献すること。【解決手段】ノード制御装置は、１又は２以上のノードと接続するノード制御装置であって、ノードからトラフィック情報を取得するトラフィック情報管理部と、トラフィック情報管理部が取得するトラフィック情報に基づいて、当該トラフィック情報に対応するノードのバッファブロック、又はノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する、転送先判断部と、トラフィック情報に対応するノードのバッファブロック毎に、電源制御する、電源制御部と、を備える。【選択図】図１
2016181782.tif 000002
【特許請求の範囲】
【請求項１】
１又は２以上のノードと接続するノード制御装置であって、
前記ノードからトラフィック情報を取得するトラフィック情報管理部と、
前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードのバッファブロック、又は前記ノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する、転送先判断部と、
前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する、電源制御部と、
を備えるノード制御装置。
【請求項２】
前記転送先判断部は、前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、フローの出力ポートの競合の有無を判断し、前記競合が有る場合、当該フローの特性に基づいて、フローの転送先を判断する、請求項１に記載のノード制御装置。
【請求項３】
前記転送先判断部は、前記トラフィック情報に対応するフローの特性に応じて、前記バッファブロックのブロック数、前記バッファブロックのサイズの少なくともいずれかを変更する、請求項１又は２に記載のノード制御装置。
【請求項４】
前記転送先判断部は、パケット損失率、遅延時間、パケット転送距離に基づいて、前記バッファブロック、又はファイバ遅延線の少なくともいずれかを、パケット転送先として判断する、請求項１乃至３のいずれか一に記載のノード制御装置。
【請求項５】
１又は２以上のノードと、
前記ノードと接続するノード制御装置と、
を含むノード制御システムであって、
前記ノードは、
１又は２以上のファイバ遅延線と、
１又は２以上のバッファブロックに区切られた電気バッファと、
パケットの転送先に関する情報を格納するフォワーディングテーブルと、
を備え、
前記ノード制御装置は、
前記フォワーディングテーブルを参照し、トラフィック情報を取得するトラフィック情報管理部と、
前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードの前記バッファブロック、又は前記ファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する、転送先判断部と、
前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する、電源制御部と
を備えるノード制御システム。
【請求項６】
前記転送先判断部は、前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、フローの出力ポートの競合の有無を判断し、前記競合が有る場合、当該トラフィック情報に対応する前記ノードの前記バッファブロック、前記ファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として決定し、当該トラフィック情報に対応する前記ノードのフォワーディングテーブルに、前記決定した転送先を登録する、請求項５に記載のノード制御システム。
【請求項７】
前記転送先判断部は、前記トラフィック情報に対応するフローの特性に応じて、前記バッファブロックのブロック数、前記バッファブロックのサイズの少なくともいずれかを変更するように、前記フォワーディングテーブルを更新する、請求項５又は６に記載のノード制御システム。
【請求項８】
１又は２以上のノードと接続するノード制御装置の制御方法であって、
前記ノードからトラフィック情報を取得する工程と、
前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードのバッファブロック、又は前記ノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する工程と、
前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する工程と、
を含むノード制御装置の制御方法。
【請求項９】
ノードからトラフィック情報を取得する処理と、
前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードのバッファブロック、又は前記ノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する処理と、
前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する処理と、
を、１又は２以上のノードと接続するノード制御装置を制御するコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード制御装置、ノード制御システム、ノード制御装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークにおけるトラフィックが急増していることにより、ネットワークの消費電力が増大する傾向がある。ネットワークの消費電力の増大を防ぐために、全光ネットワーク（フォトニックネットワーク、photonic network）の導入が検討されている。全光ネットワークでは光処理でデータを扱うため、低エネルギー化が可能である。しかしながら、全光ネットワークでは光バッファ（メモリ）の実現が技術的に困難であり、現状ではノード（ネットワークノード）の部分で電気バッファを用いるのが通常となっている。
【０００３】
特許文献１においては、ノード対の間の通信量を算出し、算出した通信量に基づいて、
第１のネットワークに含まれるノードの中から、トラヒックに対して十分なスループットを与えるために必要なノードを抽出する技術が記載されている。そして、特許文献１に記載された技術においては、抽出したノードを含む第２のネットワークを構成し、第２のネットワークに含まれないノードの消費電力を抑える。
【０００４】
特許文献２及び特許文献３においては、電気バッファを複数のメモリに区切り、使用していないメモリ電源をオフにする技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１４−５１３４４８号公報
【特許文献２】特開２０１１−０６１４４３号公報
【特許文献３】特開２００４−３３０５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【０００７】
上述の通り、ネットワークの消費電力を抑制することが求められている。しかし、ノードの電気バッファの消費電力によっては、ネットワークの消費電力が増大する恐れがある。
【０００８】
特許文献１に記載された技術においては、使用するノードを制限するが、ノードの電気バッファの消費電力を抑制することはできない。
【０００９】
また、特許文献２及び特許文献３に記載された技術においては、電気バッファから区切られたメモリの電源をオフにする際に、バッファリングされるパケットの特性（許容するパケット損失率等）が考慮されていないため、余計にメモリの電源がオフにされる可能性がある。従って、パケットの競合時にネットワークの劣化が想定される。
【００１０】
そこで、本発明は、ネットワークのパフォーマンスを維持しつつ、省電力化の実現に貢献するノード制御装置、ノード制御システム、ノード制御装置の制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、１又は２以上のノードと接続するノード制御装置が提供される。該ノード制御装置は、前記ノードからトラフィック情報を取得するトラフィック情報管理部を備える。
さらに、該ノード制御装置は、前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードのバッファブロック、又は前記ノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する、転送先判断部を備える。
さらに、前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する、電源制御部を備える。
【００１２】
本発明の第２の視点によれば、１又は２以上のノードと、前記ノードと接続するノード制御装置と、を含むノード制御システムが提供される。該ノードは、１又は２以上のファイバ遅延線を備える。
さらに、該ノードは、１又は２以上のバッファブロックに区切られた電気バッファを備える。
さらに、該ノードは、パケットの転送先に関する情報を格納するフォワーディングテーブルを備える。
さらに、該ノード制御装置は、前記フォワーディングテーブルを参照し、トラフィック情報を取得するトラフィック情報管理部を備える。
さらに、該ノード制御装置は、前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードの前記バッファブロック、又は前記ファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する、転送先判断部を備える。
さらに、該ノード制御装置は、前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する、電源制御部を備える。
【００１３】
本発明の第３の視点によれば、１又は２以上のノードと接続するノード制御装置の制御方法が提供される。該制御方法は、前記ノードからトラフィック情報を取得する工程を含む。
さらに、該制御方法は、前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードのバッファブロック、又は前記ノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する工程を含む。
さらに、前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する工程を含む。
なお、本方法は、１又は２上のノードと接続するノード制御装置という、特定の機械に結び付けられている。
【００１４】
本発明の第４の視点によれば、１又は２以上のノードと接続するノード制御装置を制御するコンピュータに実行させるプログラムが提供される。該プログラムは、ノードからトラフィック情報を取得する処理を、該コンピュータに実行させる。
さらに、該プログラムは、前記トラフィック情報に基づいて、当該トラフィック情報に対応する前記ノードのバッファブロック、又は前記ノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する処理を、該コンピュータに実行させる。
さらに、該プログラムは、前記トラフィック情報に対応する前記ノードの前記バッファブロック毎に、電源制御する処理を、該コンピュータに実行させる。
なお、該プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明の各視点によれば、ネットワークのパフォーマンスを維持しつつ、省電力化を実現に貢献するノード制御装置、ノード制御システム、ノード制御装置の制御方法、およびプログラムが提供される。
【図面の簡単な説明】
【００１６】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係るノード制御システム１（パケットヘッダ解析部２０５なし）の内部構成の一例を示すブロック図である。
【図３】第１の実施形態に係るノード制御システム１（パケットヘッダ解析部２０５あり）の内部構成の一例を示すブロック図である。
【図４】第１の実施形態に係るノード制御システム１（パケットヘッダ解析部２０５なし）の動作の一例を示すフローチャートである。
【図５】第１の実施形態に係るノード制御システム１（パケットヘッダ解析部２０５あり）の動作の一例を示すフローチャートである。
【図６】第１の実施形態に係るフォワーディングテーブル２０４の一例を示す図である。
【図７】第２の実施形態に係るノード制御システム１ａ（パケットヘッダ解析部２１５なし）の内部構成の一例を示す図である。
【図８】第２の実施形態に係るノード制御システム１ａ（パケットヘッダ解析部２１５あり）の内部構成の一例を示す図である。
【図９】第２の実施形態に係るノード制御システム１ａ（パケットヘッダ解析部２１５なし）の動作の一例を示すフローチャートである。
【図１０】第２の実施形態に係るノード制御システム１ａ（パケットヘッダ解析部２１５あり）の動作の一例を示すフローチャートである。
【図１１】第２の実施形態に係るフォワーディングテーブルの一例を示す図である。
【図１２】電気バッファのブロックの状態の一例を示す図である。
【発明を実施するための形態】
【００１７】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００１８】
上述の通り、ネットワークのパフォーマンスを維持しつつ省電力化を実現に貢献するノード制御装置が望まれる。
【００１９】
そこで、一例として、図１に示すノード制御装置１０００を提供する。ノード制御装置１０００は、１又は２以上のノードと接続する。そして、ノード制御装置１０００は、トラフィック管理部１００１と、転送先判断部１００３と、電源制御部１００２とを備える。
【００２０】
トラフィック管理部１００１は、ノードからトラフィック情報を取得する。ここで、トラフィック情報とは、各ノードのトラフィックの状況を示す情報である。また、転送先判断部１００３は、トラフィック情報管理部１００１が取得するトラフィック情報に基づいて、当該トラフィック情報に対応するノードのバッファブロック、又はノードのファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として判断する。
【００２１】
フローのパケットがファイバ遅延線を通ることで、バッファブロックの電力消費が低減される。しかし、フローのパケットがファイバ遅延線を通ることにより、当該フローのパケットが減衰（パケット損失率が向上）する恐れがある。
【００２２】
一方、フローのパケットがバッファブロックに格納されることで、パケット損失率が低減される。しかし、フローのパケットがバッファブロックに格納されることにより、バッファブロックの電力消費が増大する。
【００２３】
そこで、ノード制御装置１０００は、トラフィック情報に基づいて、フローのパケット転送先を判断する。ここで、ノード制御装置１００は、ネットワークのパフォーマンスを維持するように、パケット転送先を判断することが好ましい。
【００２４】
また、電源制御部１００２は、トラフィック情報に対応するノードのバッファブロック毎に、電源制御する。例えば、電源制御部１００２は、使用されていないバッファブロックに関して、電源オフしても良い。
【００２５】
以上より、ノード制御装置１０００は、ネットワークのパフォーマンスを維持しつつ省電力化を実現することに貢献する。
【００２６】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２７】
図２は第１の実施形態に係るノード制御システム１の内部構成の一例を示すブロック図である。ノード制御システム１は、ノード制御装置１０と、ノード２０とを含んで構成される。なお、図２は、ノード制御システム１の一例を示す図であり、本実施形態に係るノード制御システム１の構成を、図２に示す構成に限定する趣旨ではない。
【００２８】
まず、本実施形態に係るノード制御装置１０の内部構成について説明する。
【００２９】
ノード制御装置１０は、トラフィック管理部１０１と、電源制御部１０２と、転送先判断部１０３とを含んで構成される。ノード制御装置１０は、ノード２０の外部にあってもよく、またノード２０の内部にあってもよい。
【００３０】
トラフィック管理部１０１は、ノード２０からフォワーディングテーブルの情報を受信することで、ノード２０におけるトラフィック情報を把握する。トラフィック管理部１０１が把握したトラフィック情報は、転送先判断部１０３が受信する。
【００３１】
転送先判断部１０３は、トラフィック情報に基づいてフローの競合を確認し、競合している場合にバッファブロックに格納するかファイバ遅延線（Fiber Delay Line、FDL）を通過させるかの判断を行い、フォワーディングテーブルを更新する。また、転送先判断部１０３は、競合の確認の結果、使用していないバッファブロックの情報を電源制御部１０２に送出する。
【００３２】
電源制御部１０２は、転送先判断部１０３から受信したバッファブロックの情報に基づいてノード２０内のバッファブロックの電源オフ制御を行う。
【００３３】
次に、本実施形態に係るノード２０の内部構成について説明する。
【００３４】
ノード２０は、電気バッファ２０１と、ファイバ遅延線２０２と、パケット転送部２０３と、フォワーディングテーブル２０４とを含んで構成される。
【００３５】
電気バッファ２０１は、同じ出力ポートとなるパケット同士の競合回避のために用いられる。また、電気バッファ２０１は、他ノードからパケット転送部２０３を介してノード２０の配下にあるサーバ群または外部ネットワークへデータが送出される場合に用いられる。
【００３６】
また、電気バッファ２０１は、サーバ群または外部ネットワークからパケット転送部２０３を介して他ノードに送出される場合にも用いられる。ここで、電気バッファ２０１は、複数のブロックに分割されており、それぞれ個別に電源制御ができる。ファイバ遅延線２０２は、電気バッファ２０１と同様に同じ出力ポートとなるパケット同士の競合回避のために用いられる。
【００３７】
ファイバ遅延線２０２は、電気バッファ２０１とは異なり、所定の時間でパケットを遅らせて再びパケット転送部２０３に入力されるため、さらに競合が発生する可能性がある。ここで、ファイバ遅延線２０２は複数あってもよい。
【００３８】
パケット転送部２０３は、他ノードからパケットを受信して、フォワーディングテーブル２０４の転送情報に基づいてパケットの送出先を決定してパケットを送出する。送出先がノードで構成されるネットワークである場合には、パケット転送部２０３は、他ノードにパケットを送出する。一方、送出先がノードで構成されるネットワークではない場合には、パケット転送部２０３は、電気バッファ２０１を通じてサーバ群または外部ネットワークにパケットを送出する。また、パケットが競合する場合には、パケット転送部２０３は、電気バッファ２０１またはファイバ遅延線２０２にパケットを送出する。
【００３９】
フォワーディングテーブル２０４は、パケットの転送先情報を格納しており、パケット転送部２０３から参照される。また、フォワーディングテーブル２０４は、ノード制御装置１０に対して自身が保持する転送先情報を送出し、ノード制御装置１０から更新された転送先情報を受信する。ここでフォワーディングテーブル２０４は、ネットワーク全体の情報を把握するコントローラと接続しており、当該コントローラから転送先情報を受信する。また、図３のようにフォワーディングテーブル２０４はパケットヘッダ解析部２０５から転送先情報を受信してもよい。
【００４０】
次に、第１の実施形態に係るノード制御システム１の動作の一例について説明する。なお、以下の説明では、パケットロスに厳しいフローとは、パケット損失率（パケットロス率）が、所定の第１の閾値以下を許容するフローを意味するものとする。
【００４１】
図４、図５は、第１の実施形態に係るノード制御システム１の動作の一例を示すフローチャートである。図４は、図２のコントローラから転送先情報を受信する場合における、ノード制御システム１の動作の一例を示すフローチャートである。
【００４２】
まず、ノード２０がコントローラから転送先情報を受信する（ステップＳ１０１０）。ノード２０は転送先情報を受信後、フォワーディングテーブル２０４に変化があるか確認する（ステップＳ１０２０）。フォワーディングテーブル２０４に変化がある場合（ステップＳ１０２０／Ｙｅｓ）、ノード２０はフォワーディングテーブル２０４を更新し、トラフィック管理部１０１が更新情報を受信する（ステップＳ１０３０）。一方、フォワーディングテーブル２０４に変化がない場合（ステップＳ１０２０／Ｎｏ）、ノード２０はフォワーディングテーブル２０４の更新動作を行わず、ステップＳ１０４０に遷移する。
【００４３】
そして、転送先情報から出力ポートが競合しているフローがあるかを、ノード制御装置１０内の転送先判断部１０３は確認する（ステップＳ１０４０）。競合しているフローがない場合（ステップＳ１０４０／Ｎｏ）、ノード制御装置１０内の電源制御部１０２は、電気バッファ２０１内の使用していないバッファブロックの電源をオフにする（ステップＳ１０４１）。一方、競合しているフローがある場合（ステップＳ１０４０／Ｙｅｓ）、ノード制御装置１０内の転送先判断部１０３は、競合しているフローの中でパケットロスに厳しいフローがあるか確認する（ステップＳ１０５０）。ここで、パケットロスに厳しいフローとは、許容するパケット損失率（パケットロス率）が、所定の閾値以下のフローを意味する。なお、以下の説明では、パケットロスを、パケット損失とも呼ぶ。
【００４４】
パケットロスに厳しいフローがある場合（ステップＳ１０５０／Ｙｅｓ）、ノード制御装置１０内の転送先判断部１０３がそのフローのパケットを電気バッファ２０１のバッファブロックに格納するように、フォワーディングテーブル２０４を更新する（ステップＳ１０５１）。一方、パケットロスに厳しいフローがない場合（ステップＳ１０５０／Ｎｏ）、ノード制御装置１０内の転送先判断部１０３がファイバ遅延線２０２に空きがないか確認する（ステップＳ１０６０）。
【００４５】
ファイバ遅延線２０２に空きがない場合（ステップＳ１０６０／Ｎｏ）、ノード制御装置１０内の転送先判断部１０３がそのフローのパケットを電気バッファ２０１のバッファブロックに格納するように、フォワーディングテーブル２０４を更新する（ステップＳ１０５１）。一方、ファイバ遅延線２０２に空きがある場合（ステップＳ１０６０／Ｙｅｓ）、ノード制御装置１０内の転送先判断部１０３は、そのフローのパケットをファイバ遅延線２０２に流すように、フォワーディングテーブル２０４を更新する（ステップＳ１０７０）。
【００４６】
最後に、ノード制御装置１０の電源制御部１０２は、転送先判断部１０３から受信したバッファブロックの情報に基づいて、電気バッファ２０１内の使用していないバッファブロックの電源をオフにする（ステップＳ１０４１）。
【００４７】
次に、図５は、図３のパケットヘッダ解析部２０５から転送先情報を受信する場合における、ノード制御システム１の一例を示すフローチャートである。
【００４８】
まず、パケットヘッダ解析部２０５は、転送先情報を受信し、パケットヘッダを読み取る（ステップＳ１１１０）。ノード２０はパケットヘッダを読み取り後、フォワーディングテーブル２０４に変化があるか確認する（ステップＳ１０２０）。フォワーディングテーブル２０４に変化がある場合（ステップＳ１０２０／Ｙｅｓ）、ノード２０はフォワーディングテーブル２０４を更新し、トラフィック管理部１０１が更新情報を受信する（ステップＳ１０３０）。一方、フォワーディングテーブル２０４に変化がない場合（ステップＳ１０２０／Ｎｏ）、ノード２０はフォワーディングテーブル２０４の更新動作を行わない。なお、ステップＳ１０４０からステップＳ１０７０までの処理は、上述の通りであるため、詳細な説明は省略する。
【００４９】
図６は、第１の実施形態に係るフォワーディングテーブル２０４の一例を示す図である。図６（ａ）は、図６（ｂ）に示すフォワーディングテーブル２０４に対応する、パケット転送部の出力ポートの数、電気バッファのブロック数、ファイバ遅延線の数を示す。具体的には、図６（ａ）の場合、パケット転送部の出力ポートが４、電気バッファのブロック数が４つ、ファイバ遅延線が４本である。
【００５０】
また、図６（ｂ）は、図６（ａ）に示す条件における、フォワーディングテーブル２０４の一例を示す図である。図６（ｂ）に示す通り、フローは全部で７つ、登録されており、すべて出力ポートが１となっているものとする。また、フローはパケットロスに厳しいアプリケーションが含まれているものと含まれていないものに分かれているものとする。図６（ｂ）においては、「Ａｐｐ」の欄に「＃」が記載されている場合、パケットロスに厳しいアプリケーションであることを示す。例えば、図６（ｂ）は、フロー２、４、６に対応するアプリケーションが、パケットロスに厳しいアプリケーションであることを示す。
【００５１】
パケットロスに厳しいアプリケーションが含まれているフローは、ファイバ遅延線を通した後の競合を回避するため、バッファブロックに格納するようにフォワーディングテーブルが更新される。一方、パケットロスに厳しいアプリケーションが含まれていないフローは、バッファブロックの省電力化のため、ファイバ遅延線を通すようにフォワーディングテーブルが更新される。図６に示すフォワーディングテーブルの場合、電気バッファには３つのバッファブロックが使用される。そして、図６に示すフォワーディングテーブルの場合、１つのバッファブロックが使用されていない状態となるため、使用していないバッファブロックの電源はオフにされる。
【００５２】
図６では、ノード制御装置１０内の転送先判断部１０３は、パケットロスに厳しいフローによって電気バッファに格納するかファイバ遅延線に通すか判断しているが、ほかの判断で電気バッファに格納するかファイバ遅延線に通すか判断してもよい。例えば、遅延の厳しさ、フローの宛先の遠さなどで電気バッファに格納するかファイバ遅延線に通すかを、転送先判断部１０３は判断しても良い。遅延が厳しい場合、電気バッファに格納するとより遅延がかかる場合がある。そのため、遅延が厳しい場合には、ファイバ遅延線に通すと、転送先判断部１０３は判断しても良い。
【００５３】
フローの宛先が遠い場合、ファイバ遅延線を通すと信号の減衰が発生し、宛先までの信号品質に問題があるため、電気バッファに格納すると判断することができる。
【００５４】
以上のように、本実施形態に係るノード制御システム１は、ノードのトラフィック状況およびトラフィック特性に応じて電気バッファの電力制御を行う。従って、本実施形態に係るノード制御システム１は、ネットワークのパフォーマンスを維持しつつ省電力化を実現することに貢献する。
【００５５】
［第２の実施形態］
次に、第２の実施形態について、図面を用いてより詳細に説明する。
【００５６】
第２の実施形態は、電気バッファのバッファブロックを可変にする形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
【００５７】
第２の実施形態に係るノード制御システム１ａの内部構成について説明する。図７は第２の実施形態に係るノード制御システム１ａの内部構成の一例を示す図である。図７に示すノード制御システム１ａは、ノード制御装置１１と、ノード２１とを含んで構成される。ここでノード制御装置１１はノード外にあってもよく、またノード内にあってもよい。
【００５８】
まず、本実施形態に係るノード制御装置１１の内部構成について説明する。
【００５９】
ノード制御装置１１は、トラフィック管理部１１１と、電源制御部１１２と、転送先判断部１１３とを含んで構成される。
【００６０】
トラフィック管理部１１１は、ノード２１からフォワーディングテーブルの情報を受信することで、ノード２１におけるトラフィック状況を把握する。トラフィック管理部１１１が把握したトラフィック情報は転送先判断部１１３が受信する。
【００６１】
転送先判断部１１３は、トラフィック情報に基づいてフローの競合を確認し、競合している場合にバッファブロックに格納するかファイバ遅延線を通過させるかの判断を行い、フォワーディングテーブルを更新する。さらに、転送先判断部１１３はフローの特性の違いでバッファブロックの格納サイズを変更するように、フォワーディングテーブルを更新する。また、転送先判断部１１３は、競合の確認の結果、使用していないバッファブロックの情報を電源制御部１１２に送出する。
【００６２】
電源制御部１１２は転送先判断部１１３から受信したバッファブロックの情報に基づいてノード２１内のバッファブロックの電源オフ制御を行う。
【００６３】
次に、本実施形態に係るノード２１の内部構成について説明する。
【００６４】
ノード２１は電気バッファ２１１と、ファイバ遅延線２１２と、パケット転送部２１３と、フォワーディングテーブル２１４とを含んで構成される。
【００６５】
電気バッファ２１１は同じ出力ポートとなるパケット同士の競合回避のために用いられる。また、電気バッファ２１１は他ノードからパケット転送部２１３を介してノード２１の配下にあるサーバ群または外部ネットワークへデータが送出される場合に用いられる。
【００６６】
また、電気バッファ２１１はサーバ群または外部ネットワークからパケット転送部２１３を介して他ノードに送出される場合にも用いられる。ここで、電気バッファ２１１は複数のブロックに分割されており、それぞれ個別に電源制御ができる。また、電気バッファ２１１の各ブロックサイズは可変にすることができる。ファイバ遅延線２１２は電気バッファ２１１と同様に同じ出力ポートとなるパケット同士の競合回避のために用いられる。
【００６７】
ファイバ遅延線２１２は電気バッファ２１１とは異なり、所定の時間でパケットを遅らせて再びパケット転送部２１３に入力されるため、さらに競合が発生する可能性がある。ここで、ファイバ遅延線２１２は複数あってもよい。
【００６８】
パケット転送部２１３は他ノードからパケットを受信して、フォワーディングテーブル２１４の転送情報に基づいてパケットの送出先を決定してパケットを送出する。送出先はノードで構成されるネットワークであれば他ノードに送出され、それ以外の場合は電気バッファ２１１を通じてサーバ群または外部ネットワークに送出される。また、パケットが競合する場合は電気バッファ２１１またはファイバ遅延線２１２に送出される。
【００６９】
フォワーディングテーブル２１４はパケットの転送先情報を格納しており、パケット転送部２１３から参照される。また、フォワーディングテーブル２１４はノード制御装置１１に対してフォワーディングテーブル２１４にある転送先情報を送出し、ノード制御装置１１から更新された転送先情報を受信する。ここでフォワーディングテーブル２１４はネットワーク全体情報を把握するコントローラと接続しており、コントローラから転送先情報を受信する。また、図８のようにフォワーディングテーブル２１４はパケットヘッダ解析部２１５から転送先情報を受信してもよい。
【００７０】
次に、第２の実施形態に係るノード制御システム１ａの動作の一例について説明する。なお、以下の説明では、パケットロスにより厳しいフローとは、パケット損失率（パケットロス率）が、上記の第１の閾値より低い、第２の閾値以下を許容するフローを意味するものとする。
【００７１】
図９、図１０は、第２の実施形態に係るノード制御システム１ａの動作の一例を示すフローチャートである。図９は、図７のコントローラから転送先情報を受信する場合における、ノード制御システム１ａの動作の一例を示すフローチャートである。
【００７２】
ノード２１がコントローラから転送先情報を受信する（ステップＳ２０１０）。ノード２１は転送先情報を受信後、フォワーディングテーブル２１４に変化があるか確認する（ステップＳ２０２０）。フォワーディングテーブル２１４に変化がある場合（ステップＳ２０２０／Ｙｅｓ）、ノード２１がフォワーディングテーブル２１４を更新し、トラフィック管理部１１１が更新情報を受信する（ステップＳ２０３０）。一方、フォワーディングテーブル２１４に変化がない場合（ステップＳ２０２０／Ｎｏ）、ノード２１は、フォワーディングテーブル２１４の更新動作を行わず、ステップＳ２０４０に遷移する。
【００７３】
そして、転送先情報から出力ポートが競合しているフローがあるかを、ノード制御装置１１内の転送先判断部１１３は、確認する（ステップＳ２０４０）。競合しているフローがない場合（ステップＳ２０４０／Ｎｏ）、ノード制御装置１１内の電源制御部１１２が、電気バッファ２１１内の使用していないバッファブロックの電源をオフにする（ステップＳ２０４１）。一方、競合しているフローがある場合（ステップＳ２０４０／Ｙｅｓ）、ノード制御装置１１内の転送先判断部１１３は、競合しているフローの中でパケットロスに厳しいフローがあるか確認する（ステップＳ２０５０）。
【００７４】
パケットロスに厳しいフローがある場合（ステップＳ２０５０／Ｙｅｓ）、ノード制御装置１１内の転送先判断部１１３は、フローの中でパケットロスにより厳しいフローがあるか確認する（ステップＳ２０５１）。パケットロスにより厳しいフローがある場合（ステップＳ２０５１／Ｙｅｓ）、ノード制御装置１１内の転送先判断部１１３がそのフローに対するバッファブロックを拡張すると判断する（ステップＳ２０５２）。
【００７５】
ノード制御装置１１内の転送先判断部１１３がそのフローのパケットを電気バッファ２１１の拡張したバッファブロックに格納するように、フォワーディングテーブル２１４を更新する（ステップＳ２０５３）。パケットロスにより厳しいフローがない場合（ステップＳ２０５１／Ｎｏ）、ノード制御装置１１内の転送先判断部１１３がそのフローのパケットを電気バッファ２１１のバッファブロックに格納するように、フォワーディングテーブル２１４を更新する（ステップＳ２０５３）。
【００７６】
また、パケットロスに厳しいフローがない場合（ステップＳ２０５０／Ｎｏ）、ノード制御装置１１内の転送先判断部１１３がファイバ遅延線２１２に空きがないか確認する（ステップＳ２０６０）。ファイバ遅延線２１２に空きがない場合（ステップＳ２０６０／Ｎｏ）、ノード制御装置１１内の転送先判断部１１３がそのフローのパケットを電気バッファ２１１のバッファブロックに格納するように、フォワーディングテーブル２１４を更新する（ステップＳ２０５３）。ファイバ遅延線２１２に空きがある場合（ステップＳ２０６０／Ｙｅｓ）、ノード制御装置１１内の転送先判断部１１３がそのフローのパケットをファイバ遅延線２１２に流すように、フォワーディングテーブル２１４を更新する（ステップＳ２０７０）。
【００７７】
最後に、ノード制御装置１１の電源制御部１１２は転送先判断部１１３から受信したバッファブロックの情報に基づいて、電気バッファ２１１内の使用していないバッファブロックの電源をオフにする（ステップＳ２０４１）。
【００７８】
次に、図１０は、図８のパケットヘッダ解析部２１５から転送先情報を受信する場合における、ノード制御システム１ａの動作の一例を示すフローチャートである。
【００７９】
まず、パケットヘッダ解析部２１５は、転送先情報を受信し、パケットヘッダを読み取る（ステップＳ２１１０）。ノード２１は転送先情報を受信後、フォワーディングテーブル２１４に変化があるか確認する（ステップＳ２０２０）。フォワーディングテーブル２１４に変化がある場合（ステップＳ２０２０／Ｙｅｓ）、ノード２１がフォワーディングテーブル２１４を更新し、トラフィック管理部１１１が更新情報を受信する（ステップＳ２０３０）。一方、フォワーディングテーブル２１４に変化がない場合（ステップＳ２０２０／Ｎｏ）、ノード２１は、フォワーディングテーブル２１４の更新動作を行わず、ステップＳ２０４０に遷移する。なお、ステップＳ１０４０からステップＳ１０７０までの処理は上述の通りであるため、詳細な説明は省略する。
【００８０】
次に、第２の実施形態に係るフォワーディングテーブル２１４について詳細に説明する。
【００８１】
図１１は第２の実施形態に係るフォワーディングテーブル２１４の一例を示す図である。図１１（ａ）は、図１１（ｂ）に示すフォワーディングテーブル２１４に対応する、パケット転送部の出力ポートの数、電気バッファのブロック数、ファイバ遅延線の数を示す。具体的には、図１１（ａ）の場合、パケット転送部の出力ポートが４、電気バッファのブロック数が４個、ファイバ遅延線が４本である。
【００８２】
また、図１１（ｂ）は、図１１（ａ）に示す条件における、フォワーディングテーブル２１４の一例を示す図である。図１１（ｂ）に示す通り、フローは全部で７つ、登録されており、すべて出力ポートが１となっているものとする。
【００８３】
ここで、フローはパケットロスにより厳しいアプリケーションが含まれているもの、パケットロスに厳しいアプリケーションが含まれているもの、および含まれていないものに分かれている。図１１（ｂ）においては、「Ａｐｐ」の欄に「＃」が記載されている場合、パケットロスに厳しいアプリケーションであることを示す。また、図１１（ｂ）においては、「Ａｐｐ」の欄に「＃＃」が記載されている場合、「＃」が記載されている場合より、より一層、パケットロスに厳しいアプリケーションであることを示す。例えば、図１１（ｂ）の場合、フロー４、６に対応するアプリケーションは、パケットロスに厳しいアプリケーションであることを示す。さらに、図１１（ｂ）の場合、フロー２に対応するアプリケーションは、フロー４、６に対応するアプリケーションより、より一層、パケットロスに厳しいアプリケーションであることを示す。
【００８４】
そして、パケットロスにより厳しいアプリケーションが含まれているフローは、ファイバ遅延線を通した後の競合を回避するため、バッファブロックに格納するが、パケットロスにより厳しいため、格納するバッファブロックを拡張する。このとき、拡張されたバッファブロックに格納するようにフォワーディングテーブル２１４が更新される。
【００８５】
パケットロスに厳しいアプリケーションが含まれているフローは、ファイバ遅延線を通した後の競合を回避するため、バッファブロックに格納するようにフォワーディングテーブル２１４が更新される。一方、パケットロスに厳しいアプリケーションが含まれていないフローは、バッファブロックの省電力化のため、ファイバ遅延線を通すようにフォワーディングテーブル２１４が更新される。
【００８６】
図１２はフォワーディングテーブル２１４更新前、および更新後の電気バッファのブロックの状態の一例を示す図である。図１２に示すブロックＡはブロック拡張によって、もとのブロックサイズの２倍となっている。なお、フローの状況に応じてブロックサイズは２倍以上または２倍未満になってもよい。残りの３つのバッファブロックは、ブロックＡに合わせて縮小される。バッファブロックＤが使用されていない状態となるため、使用していないバッファブロックの電源はオフにされる。図６の場合と比較してバッファがオフにできるブロック範囲は縮小するが、トラフィックを格納しやすくなるため、ネットワークの性能面は向上する。
【００８７】
また、図１２では更新前後でブロック数が４で固定であるが、更新前後でブロック数が変更してもよい。さらにフローの状況に応じてブロック数が変更されてもよい。図１１では、パケットロスに厳しいフローによって電気バッファに格納するかファイバ遅延線に通すか判断しているが、ほかの判断で電気バッファに格納するかファイバ遅延線に通すか判断してもよい。
【００８８】
例えば、遅延の厳しさ、フローの宛先の遠さ等に基づいて、電気バッファに格納するか、ファイバ遅延線に通すかを判断しても良い。遅延が厳しいほど、電気バッファに格納するとより遅延がかかってしまうため、ファイバ遅延線に通すと判断することができる。フローの宛先が遠いほど、ファイバ遅延線を通すと信号の減衰が発生し、宛先までの信号品質に問題があるため、電気バッファに格納すると判断することができる。
【００８９】
以上のように、第２の実施形態に係るノード制御システム１ａは、電気バッファのバッファブロックのサイズを可変にする。その結果、第２の実施形態に係るノード制御システム１ａは、ネットワークのパフォーマンスをさらに生かしながら、より一層、省電力を実現することに貢献する。
【００９０】
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００９１】
（付記１）上記の第１の視点に係るノード制御装置の通りである。
【００９２】
（付記２）前記転送先判断部は、前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、フローの出力ポートの競合の有無を判断し、前記競合が有る場合、当該フローの特性に基づいて、フローの転送先を判断する、付記１に記載のノード制御装置。
【００９３】
（付記３）前記転送先判断部は、前記トラフィック情報に対応するフローの特性に応じて、前記バッファブロックのブロック数、前記バッファブロックのサイズの少なくともいずれかを変更する、付記１又は２に記載のノード制御装置。
【００９４】
（付記４）前記転送先判断部は、パケット損失率、遅延時間、パケット転送距離に基づいて、前記バッファブロック、又はファイバ遅延線の少なくともいずれかを、パケット転送先として判断する、付記１乃至３のいずれか一に記載のノード制御装置。
【００９５】
（付記５）上記第２の視点に係るノード制御システムの通りである。
【００９６】
（付記６）前記転送先判断部は、前記トラフィック情報管理部が取得する前記トラフィック情報に基づいて、フローの出力ポートの競合の有無を判断し、前記競合が有る場合、当該トラフィック情報に対応する前記ノードの前記バッファブロック、前記ファイバ遅延線の少なくともいずれかを、当該トラフィック情報に対応するフローのパケット転送先として決定し、当該トラフィック情報に対応する前記ノードのフォワーディングテーブルに、前記決定した転送先を登録する、付記５に記載のノード制御システム。
【００９７】
（付記７）前記転送先判断部は、前記トラフィック情報に対応するフローの特性に応じて、前記バッファブロックのブロック数、前記バッファブロックのサイズの少なくともいずれかを変更するように、前記フォワーディングテーブルを更新する、付記５又は６に記載のノード制御システム。
【００９８】
（付記８）上記第３の視点に係るノード制御装置の制御方法の通りである。
【００９９】
（付記９）上記第４の視点に係るプログラムの通りである。
【０１００】
なお、上記の付記５、８、９に示す形態は、付記１に示す形態と同様に、付記２乃至４に示す形態に展開することが可能である。
【０１０１】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１０２】
１、１ａ  ノード制御システム
１０、１１、１０００  ノード制御装置
２０、２１  ノード
１０１、１１１、１００１  トラフィック管理部
１０２、１１２、１００２  電源制御部
１０３、１１３、１００３  転送先判断部
２０１、２１１  電気バッファ
２０２、２１２  ファイバ遅延線
２０３、２１３  パケット転送部
２０４、２１４  フォワーディングテーブル
２０５、２１５  パケットヘッダ解析部
【図１】
2016181782.tif 000003
【図２】
2016181782.tif 000004
【図３】
2016181782.tif 000005
【図４】
2016181782.tif 000006
【図５】
2016181782.tif 000007
【図７】
2016181782.tif 000008
【図８】
2016181782.tif 000009
【図９】
2016181782.tif 000010
【図１０】
2016181782.tif 000011
【図６】
2016181782.tif 000012
【図１１】
2016181782.tif 000013
【図１２】
2016181782.tif 000014