(57)【要約】【課題】ネットワーク・サーバとサーバが接続されるスイッチとの間の初期折衝が、サーバ・スイッチ・リンクの初期動作周波数を確立するために実行される、エネルギを節約するためのデータ処理ネットワークおよび方法を提供すること。【解決手段】サーバの有効データ・レートを、サーバでのネットワーク・トラフィックに基づいて判定する。有効データ・レートが、現在の動作周波数と実質的に異なるとの判定に応答して、後続折衝を実行して修正された動作周波数を確立し、修正された動作周波数は最初の動作周波数より有効データ・レートに近くなる。有効データ・レートの判定および後続折衝の臨時の開始は、ネットワークの動作中に周期的に繰り返すことができる。一実施形態では、初期折衝および後続折衝はＩＥＥＥ  ８０２．３標準規格に準拠する。【選択図】図１
2006253831.tif 000002
【特許請求の範囲】
【請求項１】
データ処理ネットワークを動作させる方法であって、
前記ネットワークのサーバと前記サーバが接続されるスイッチとの間で初期折衝を実行するステップであって、前記初期折衝が、前記サーバと前記スイッチとの間のリンクの初期動作周波数を確立するものであるステップと、
前記リンクを介して通信されるネットワーク・トラフィックに基づいて前記サーバの有効データ・レートを判定するステップと、
前記有効データ・レートが前記リンクの現在の帯域幅とは異なるとの判定に応答して、修正された動作周波数を確立するために後続折衝を実行するステップであって、前記修正された動作周波数が、前記初期動作周波数より前記有効データ・レートに近く、前記有効データ・レートを達成するのに必要な最小動作周波数であるものである、ステップと、
を有する方法。
【請求項２】
前記修正された動作周波数が、前記有効データ・レートを処理するのに十分な、前記リンクによって対処される最低の動作周波数である、請求項１に記載の方法。
【請求項３】
指定された間隔にて、前記ネットワークの動作中に、前記有効データ・レートの前記判定および後続折衝の臨時の開始を繰り返すステップをさらに有する、請求項１または２に記載の方法。
【請求項４】
前記初期折衝および前記後続折衝が、ＩＥＥＥ  ８０２．３標準規格に準拠する、請求項１、２または３に記載の方法。
【請求項５】
前記有効データ・レートの判定が、指定された間隔にてネットワーク・トラフィックの量を示す情報を累算するステップと、これに基づいて有効データ・レートを計算するステップと、を含む、請求項１ないし４のいずれかに記載の方法。
【請求項６】
前記有効データ・レートが前記現在の帯域幅の指定された比率より大きいとの判定に応答して、修正された動作周波数を確立するために後続折衝を実行するステップであって、前記修正された動作周波数が前の動作周波数より高いものであるステップをさらに有する、請求項１ないし５のいずれかに記載の方法。
【請求項７】
中央スイッチと、
プロセッサと、メモリと、サーバ装置をネットワーク・リンクを介して前記中央スイッチに接続するネットワーク・インターフェース・カードとを含む前記サーバ装置と、
初期折衝を実行するコード手段であって、前記初期折衝が前記ネットワーク・リンクの初期動作周波数を確立するものである、コード手段と、
前記リンクを介して伝送されるネットワーク・トラフィックに基づいて前記サーバの有効データ・レートを判定するコード手段と、
前記有効データ・レートが前記リンクの現在の帯域幅と異なるとの判定に応答して、修正された動作周波数を確立するために後続折衝を実行するコード手段であって、前記修正された動作周波数が前記初期動作周波数より前記有効データ・レートに近く、前記有効データ・レートを達成するのに必要な最小動作周波数であるものである、コード手段と、
を有する、データ処理ネットワーク。
【請求項８】
前記初期折衝および前記後続折衝が、前記中央スイッチによって開始される、請求項７に記載のネットワーク。
【請求項９】
前記初期折衝および前記後続折衝が、前記サーバ装置によって開始される、請求項７に記載のネットワーク。
【請求項１０】
データ処理ネットワーク内のサーバ・クラスタでの使用に適するサーバ装置であって、
少なくとも１つのプロセッサと、
前記プロセッサからアクセス可能なシステム・メモリと、
前記サーバ装置をネットワーク・リンクを介して中央スイッチに接続するように構成されたネットワーク・インターフェース・カードと、
初期折衝を実行するコード手段であって、前記初期折衝が前記ネットワーク・リンクの初期動作周波数を確立するものである、コード手段と、
前記リンクを介して伝送されるネットワーク・トラフィックに基づいて、前記サーバの有効データ・レートを判定するコード手段と、
前記有効データ・レートが前記リンクの現在の帯域幅とは異なるとの判定に応答して、修正された動作周波数を確立するために後続折衝を実行するコード手段であって、前記修正された動作周波数が前記初期動作周波数より前記有効データ・レートに近く、前記有効データ・レートを達成するのに必要な最小動作周波数であるものである、コード手段と
を有するサーバ装置。
【請求項１１】
前記ネットワーク・インターフェース・カードが、前記動作周波数を制御するクロッキング信号を供給するように構成されたクロック・ユニットを含み、さらに、前記修正された動作周波数を確立する前記コード手段が、前記クロッキング信号の周波数を制御するクロック・レジスタをプログラムするコード手段を含む、請求項１０に記載のサーバ装置。
【請求項１２】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行される時に請求項１ないし６のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を有するコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはネットワーク・コンピューティングの分野に関し、具体的には、選択されたサーバ・ネットワーク・リンクの動作周波数を動的に調整することによってサーバ・クラスタでのエネルギ消費を減らす方法およびシステムに関する。
【背景技術】
【０００２】
ネットワーク化されたコンピューティングおよびデータ処理の分野では、サーバ・クラスタが、ネットワーク・サービスを提供する手段として一般的に使用される。サーバ・クラスタには、通常は、１組のサーバ装置が含まれ、このサーバ装置のそれぞれが、サーバ要求を処理することができる。クラスタには、要求分配機能を含めることができ、要求分配機能は、着信要求を、処理のためにサーバ・クラスタ内の適当なサーバに経路指定するように構成される。要求は、個々のサーバの現在の負荷、要求の起点、要求されたファイルまたはデータの位置、あるいは他の適当な要因に基づいて、個々のサーバに配布することができる。
【０００３】
サーバ・クラスタは、しばしば、交換構成に従って配置され、この構成では、各サーバが、より対銅線、光ファイバ・ケーブルなどの伝送媒体または無線送信される電磁波を介して、中央スイッチと通信する。ネットワーク・パラメータが構成される時に、伝送レートが、めいめいのネットワーク・インターフェース・カードおよび伝送媒体自体の帯域幅能力に基づいて、サーバ・スイッチ・リンクごとに確立される。通常、所与のリンクの伝送レートは、リンクが確立される時に決定され、リンクの寿命の間はセットされたままになる。さらに、確立される伝送レートは、通常は、リンクの両端が対応できる可能な最高の伝送レートである。
【０００４】
各ネットワーク・リンクの伝送レートを可能な最高の値に維持することが、電力消費の増加という対価を払うのみで、その性能を最高にする。ネットワーク・リンクを最高周波数で動作させると、低い周波数で同一のリンクを動作させるよりコストが高いことは、一般的な知識である。さらに、ネットワーク・リンクを高い周波数で動作させるために被る追加の対価は、しばしば、それに相当する性能の改善に結びつかないが、それは、データ伝送レートが、サーバとスイッチの間のリンクの物理的帯域幅以外の要因によって制限される場合があるからである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
個々のサーバ・スイッチ・リンクの帯域幅の合計が、サーバ・クラスタ全体に割り振られる帯域幅を超えることはできない。したがって、２００Ｍビット／秒（Ｍｂｐｓ）の帯域幅を割り振られたサーバ・クラスタが、合計２０個のサーバをサポートし、このサーバのそれぞれが、中央スイッチに１００Ｍｂｐｓリンクによって接続される場合に、リンクのすべてを同時に最高帯域幅で動作させることは、物理的に不可能である。さらに、リモート・クライアントとサーバ・クラスタの間の接続が、サーバ・スイッチリンクの使用可能帯域幅の限度を表す場合がある。他のネットワーク・トラフィックがない期間中に、クライアントが５６Ｋｂｐｓモデム接続を介してサーバ・クラスタ（および個々のサーバ）に接続される場合に、クライアントの要求するサービスに使用することができるサーバ・スイッチ・リンクの最大帯域幅は、５６Ｋである。サーバ・スイッチ・リンクが、例として１００Ｍｂｐｓで動作している場合には、その帯域幅はほとんど活用されていない。
【０００６】
ＥＰ  ０９３９５１１に、リモート・ネットワーク・ノードの機能、構成情報、および判定されたリンク保全性に基づいて、２つのデータ・レートの１つでリモート・ノードとのリンクを選択的に確立する、複数のリピータ・ポートを有するネットワーク・リピータが開示されている。リンク保全性が劣悪であることがわかった場合に、リピータは、確立されたリンクを破棄し、自動折衝を再開始して別のより低速のリンクを確立することによるダウン・シフト動作を実行する。
【０００７】
ＴＷ  ３８７  １９２  Ｂに、イーサネット（Ｒ）・ネットワークに適用できる節電方法が開示されている。イーサネット（Ｒ）・ネットワーク・システムは、少なくとも２タイプのネットワーク・プロトコルで動作することができる。本開示は、この処理方法の２つの重要な部分を含んでいる。一方は、ネットワーク・システムのアイドル時間中のターゲットに対し、もう一方は、データ伝送でのターゲットに対する。まず第１に、ネットワーク・システムのアイドル時間を監視し、さらに、アイドル時間が事前定義の時間を超えるかどうかを判定する。アイドル時間が事前定義の閾値を超える場合に、訂正された自動折衝機能を開始して、動作する通信プロトコルを選択する。訂正された自動折衝で、より少ない電力をネットワーク・アイドル時間中に消費するネットワーク・プロトコルに、より高い優先順位がセットされ、より多い電力を消費するネットワーク・プロトコルに、より低い優先順位がセットされる。ネットワーク・システムは、データ伝送を処理している時に、通常の自動折衝機能を開始して、動作する通信プロトコルを選択する。通常の自動折衝機能では、より高い伝送効率を有するネットワーク・プロトコルが、より高い優先順位を有し、低いデータ伝送効率を有するネットワーク・プロトコルが、より低い優先順位を有する。
【課題を解決するための手段】
【０００８】
したがって、本発明は、データ処理ネットワークを動作させる方法であって、当該ネットワークの１つのサーバと当該サーバが接続される１つのスイッチとの間で初期折衝を実行するステップであって、当該初期折衝が、当該サーバと当該スイッチとの間のリンクの初期動作周波数を確立するものであるステップと、当該リンクを介して通信されるネットワーク・トラフィックに基づいて当該サーバの有効データ・レートを判定するステップと、当該有効データ・レートが当該サーバ・スイッチ・リンクの現在の帯域幅とは異なるとの判定に応答して、修正された動作周波数を確立するために後続折衝を実行するステップであって、当該修正された動作周波数が、当該初期動作周波数より当該有効データ・レートに近く、当該有効データ・レートを達成するのに必要な最小動作周波数であるものであるステップと、を有する方法を提供する。
【０００９】
（この方法は、コンピュータ・プログラムによって、当該プログラムがコンピュータ上で稼動する際に実行することができるということに留意されたい。）
【００１０】
変化するネットワーク状態に応答してサーバ・リンクの動作周波数を動的に最適化することによって、データ処理ネットワーク内のエネルギ消費を動的に節約する方法およびシステムを提供することがより望ましい。
【００１１】
最低限の性能のロスにてエネルギ消費を動的に節約するようにネットワーク・リンクの動作周波数が調整されることがより望まれるようなデータ処理ネットワークおよび方法によって、上で識別された問題が大いに対処されることがより望ましい。サーバのネットワーク・リンクの最大の使用可能な帯域幅がリンクの現在の動作周波数より低い時に、サーバ・リンクの動作周波数を減らすことがより望ましい。同様に、リンクの最大の使用可能な帯域幅が、現在の動作周波数を超える場合に、動作周波数を増やすことができる。一実施形態では、データ処理ネットワークには、１組のサーバ装置が中央スイッチに接続されているサーバ・クラスタが含まれる。個々のサーバ・スイッチ・リンクは、イーサネット（Ｒ）などの産業標準ネットワーク構成プロトコルに準拠するものとすることができる。当初は、サーバ・スイッチ・リンクが、ＩＥＥＥ  ８０２．３などのプロトコルで指定される折衝プロセスに従って、リンクの最大動作周波数で確立されることがより望ましい。その後周期的に、リンクの現在の動作周波数が、所望のレベルの性能を維持しながらクライアント要求をサービスするのに必要な容量を超えるかどうかが、サーバによって判定されることがより望ましい。サーバ（またはスイッチ）によって、現在の負荷に対処するのに必要な最低の可能な動作周波数で動作するようにリンクの帯域幅が調整されることがより望ましい。このように、データ処理ネットワークが、個々のサーバ・リンクの動作周波数を最小にすることで電力消費を減らすことがより望ましい。
【００１２】
当該修正された動作周波数が、当該有効データ・レートを処理するのに十分な、当該サーバ・スイッチ・リンクによって対処される最低の動作周波数であることがより望ましい。
【００１３】
さらに、当該有効データ・レートの判定および後続折衝の臨時の開始が、指定された間隔で当該ネットワークの動作中に繰り返されることがより望ましい。
【００１４】
当該初期折衝および当該後続折衝が、ＩＥＥＥ  ８０２．３標準規格に準拠することがより望ましい。
【００１５】
当該有効データ・レートの判定が、指定された間隔中のネットワーク・トラフィックの量を示す情報を累算することと、これに基づいて有効データ・レートを計算することとを含むことがより望ましい。
【００１６】
さらに、当該有効データ・レートが当該現在の帯域幅の指定された比率より大きいとの判定に応答して、修正された動作周波数を確立する後続折衝が実行され、当該修正された動作周波数が、前の動作周波数より高くなることがより望ましい。
【００１７】
本発明は、さらにデータ処理ネットワークであって、中央スイッチと、プロセッサ、メモリ、およびサーバ装置をネットワーク・リンクを介して当該中央スイッチに接続するネットワーク・インターフェース・カードを含む当該サーバ装置と、初期折衝を実行するコード手段であって、当該ネットワーク・リンクの初期動作周波数を確立するコード手段と、当該リンクを介して伝送されるネットワーク・トラフィックに基づいて当該サーバの有効データ・レートを判定するコード手段と、当該有効データ・レートが当該リンクの現在の帯域幅と異なるとの判定に応答して修正された動作周波数を確立するために後続折衝を実行するコード手段であって、当該修正された動作周波数が当該初期動作周波数より当該有効データ・レートに近く、当該有効データ・レートを達成するのに必要な最小動作周波数であるものであるコード手段と、を有するデータ処理ネットワークを提供する。
【００１８】
修正された動作周波数は、有効データ・レートを処理するのに十分な、サーバ・スイッチ・リンクによって対処される最低の動作周波数であることがより望ましい。
【００１９】
ネットワークは、さらに、ネットワークの動作中に、有効データ・レートの判定および後続折衝の臨時の開始を指定された間隔で繰り返すコード手段を有することがより望ましい。
【００２０】
初期折衝および後続折衝が、ＩＥＥＥ  ８０２．３標準規格に準拠することがより望ましい。
【００２１】
指定された間隔中のネットワーク・トラフィックの量を示す情報を累算し、これに基づいて有効データ・レートを計算するコード手段を、有効データ・レートを判定するコード手段が含むことがより望ましい。
【００２２】
ネットワークは、さらに、有効データ・レートが現在の帯域幅の指定された比率より大きいとの判定に応答して修正された動作周波数を確立するために後続折衝を実行するコード手段であって、修正された動作周波数が前の動作周波数より高いものであるコード手段をさらに有することがより望ましい。
【００２３】
一実施形態では、当該初期折衝および当該後続折衝が、当該中央スイッチによって開始される。
【００２４】
一実施形態では、当該初期折衝および当該後続折衝が、当該サーバ装置によって開始される。
【００２５】
本発明は、さらに、データ処理ネットワーク内のサーバ・クラスタでの使用に適するサーバ装置であって、少なくとも１つのプロセッサと、当該プロセッサからアクセス可能なシステム・メモリと、当該サーバ装置をネットワーク・リンクを介して中央スイッチに接続するように構成されたネットワーク・インターフェース・カードと、初期折衝を実行するコード手段であって当該初期折衝が当該ネットワーク・リンクの初期動作周波数を確立するものであるコード手段と、当該リンクを介して伝送されるネットワーク・トラフィックに基づいて当該サーバの有効データ・レートを判定するコード手段と、当該有効データ・レートが当該リンクの現在の帯域幅と異なるとの判定に応答して修正された動作周波数を確立するために後続折衝を実行するコード手段であって、当該修正された動作周波数が当該初期動作周波数より当該有効データ・レートに近く、当該有効データ・レートを達成するのに必要な最小動作周波数であるものであるコード手段と、を有するサーバ装置を提供する。
【００２６】
修正された動作周波数は、有効データ・レートを処理するのに十分な、サーバ・スイッチ・リンクによって対処される最低の動作周波数であることがより望ましい。
【００２７】
サーバ装置は、さらに、指定された間隔でネットワークの動作中に有効データ・レートの判定および後続折衝の臨時の開始を繰り返すコード手段を有することがより望ましい。
【００２８】
有効データ・レートを判定するコード手段が、指定された間隔中のネットワーク・トラフィックの量を示す情報を累算し、これに基づいて有効データ・レートを計算するコード手段を含むことがより望ましい。
【００２９】
サーバ装置は、さらに、有効データ・レートが現在の帯域幅の指定された比率より大きいとの判定に応答して、修正された動作周波数を確立するために後続折衝を実行するコード手段であって、当該修正された動作周波数が前の動作周波数より高いものであるコード手段をさらに有することがより望ましい。
【００３０】
当該ネットワーク・インターフェース・カードが、当該リンク動作周波数を制御するクロッキング信号を供給するように構成されたクロック・ユニットを含み、さらに、当該修正された動作周波数を確立する当該コード手段が、当該クロッキング信号の周波数を制御するクロック・レジスタをプログラムするコード手段を含むことがより望ましい。
【発明を実施するための最良の形態】
【００３１】
図面に移ると、図１は、本発明の一実施形態によるデータ処理ネットワーク１００の選択された特徴を示すブロック図である。図示の実施形態では、データ処理ネットワーク１００には、中間ゲートウェイ１０６を介して広域ネットワーク（ＷＡＮ）１０５に接続されたサーバ・クラスタ１０１が含まれる。ＷＡＮ１０５に、ゲートウェイ、ルータ、ハブなどを含む複数のさまざまなネットワーク装置ならびに１つまたは複数のローカル・エリア・ネットワーク（ＬＡＮ）を含めることができ、これらのすべてが、おそらくは地理的に大きく離れた区域にまたがって相互接続される。ＷＡＮ１０５は、一実施形態ではインターネットを表すことができる。
【００３２】
図示のサーバ・クラスタ１０１には、ネットワーク・リンク２００を介してゲートウェイ１０６に接続された中央スイッチ１１０が含まれる。サーバ・クラスタ１０１には、さらに複数のサーバが含まれ、そのうちの４つが図１に示され、符号１１１−１、１１１−２、１１１−３、および１１１−４によって示される。各サーバ１１１は、専用ネットワーク・リンク（符号２１１、２１２、２１３、および２１４）を介してスイッチ１１０に接続される。
【００３３】
サーバ・クラスタ１０１によって、ネットワーク１００上の単一のユニバーサル・リソース・インジケータ（ＵＲＩ）へのすべての要求をサービスすることができる。この実施形態では、ＷＡＮ１０５内の任意の位置から発するＵＲＩへのクライアント要求はサーバ・クラスタ１０１に経路指定される。スイッチ１１０には、通常は、クラスタ１０１内のサーバ１１１の１つにクライアント要求を経路指定する責任を負う要求分配機能・ソフトウェア・モジュールが含まれる。要求分配機能にさまざまな分散アルゴリズムまたは分散処理のいずれかを組み込んで、サーバ・クラスタ性能を最適化し、エネルギ消費を最小にし、あるいは他の目的を達成することができる。スイッチ１１０は、たとえば、各サーバ１１１の現在の負荷、クライアント要求のソース、要求されたコンテンツ、またはこれらの組合せといった要因に基づいて、要求をサーバ１１１に経路指定することができる。
【００３４】
一実施形態では、ネットワーク・リンク２１１、２１２、２１３、および２１４によって、イーサネット（Ｒ）・プロトコルが使用される。この実施形態では、各サーバ１１１にはイーサネット（Ｒ）準拠ネットワーク・インターフェース・カードが含まれ、スイッチ１１０にはサーバ１１１ごとに１つのイーサネット（Ｒ）互換ポートが含まれる。図２を参照すると、スイッチ１１０およびサーバ１１１の１つの追加の詳細を示すブロック図が示されている。各サーバ１１１にはスイッチ１１０内の対応するポート１３１に接続されるＮＩＣ１２１が含まれる。一実施形態では、ＮＩＣ１２１およびスイッチ１１０の各ポート１３１がさまざまな動作周波数で動作することができる。一実施形態では、たとえば、ＮＩＣ１２１およびそれに対応するポート１３１が、１０Ｍｂｐｓ、１００Ｍｂｐｓ、および１０００Ｍｂｐｓで動作するイーサネット（Ｒ）・リンクをサポートすることができる。そのような機能性を有する市販スイッチは、たとえば、Alteon（登録商標）WebSystems社（www.alteonwebsystems.com）のコンテンツ・インテリジェント・ウェブ・スイッチの１８０シリーズが代表例である。同様に、3Com（登録商標）社の10/100/1000PCI-X Server NICなどのネットワーク・インターフェース・カードによって、異なる動作周波数で動作する能力をもたらすことができる（Alteonは、Alteon Web Systems Inc社の登録商標であり、3Comは、3ComCorporation社の登録商標である）。
【００３５】
サーバ１１１およびスイッチ１１０は、折衝処理によりそれらの間の対応するリンクの動作周波数に達しかつそのことに合意するように構成される。普通のサーバ・クラスタ構成では、この折衝がリンク初期化中だけに実行され、リンクの動作周波数を含む折衝結果は、リンクが存在する限り一定のままになる。さらに、折衝で得られる動作周波数は、通常は、スイッチ、サーバ、および相互接続する媒体が対処できる最高の動作周波数である。本発明では、好ましい実施形態によれば、サーバ・クラスタの動作コストを減らしながら望ましいレベルのクラスタ応答性能を達成するために、変化するサーバ・クラスタ条件に応答してさまざまなサーバ・スイッチ・リンクの動作周波数を周期的に修正するシステムおよび方法が企図されている。
【００３６】
図３すなわち、本発明の一実施形態による、ＮＩＣ１２１の追加の詳細を示すブロック図に移る。ＮＩＣ１２１の図示の実施形態には、サーバ１１１の周辺バスまたはローカル・バス１４４にインターフェースする組込みプロセッサ１４０が含まれる。バス１４４は、通常は、ＰＣＩ Special Interest Group（www.pcisig.com）のＰＣＩローカル・バス仕様書２．２で指定されるＰＣＩ（PeripheralComponents Interface）ローカル・バスなどの、業界標準バス・プロトコルに従って実施される。ＮＩＣ１２１には、さらに、ネットワーク・リンク２１１から受信され、これに送信される情報の一時的記憶を提供する、プロセッサ１４０に接続されたバッファ・ロジック１４１も含まれる。
【００３７】
クロック発振器１４２によって、基本クロッキング信号１４８が供給され、この信号によって、バッファ・ロジック２１１が駆動され、これによって、ネットワーク・リンク２１１の動作周波数が確立される。図示の実施形態では、クロック発振器１４２は、クロック・レジスタ１４６の設定によって制御されるさまざまな周波数でクロッキング信号１４８を供給することができる。クロック・レジスタ１４６は、プロセッサ１４０のプログラマブル制御の下にある。メモリ１４３は、プロセッサ１４０およびバッファ・ロジック１４１からアクセス可能である。メモリ１４０には、普通のダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）またはスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）などの揮発性ストレージ、ならびにフラッシュ・メモリ・カードまたは他の形の電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）などの永続的または不揮発性のストレージを含めることができる。
【００３８】
本発明の諸部分を、コンピュータ可読媒体に保管されたコンピュータ実行可能命令の組を有するコンピュータ・プログラムとして実施することができる。命令が保管されるコンピュータ可読媒体には、メモリ１４３の揮発性要素または不揮発性要素を含めることができる。別法として、命令を、フロッピ・ディスケット、ハード・ディスク、ＣＤ  ＲＯＭ、ＤＶＤ、磁気テープ、または他の適切な永続的ストレージ機構に保管することができる。
【００３９】
ＮＩＣ１２１には、リンクの動作周波数を確立するために、対応するネットワーク・リンクを介してスイッチ１１０との折衝を実行するように構成されたソフトウェアが含まれる。サーバ・クラスタ１０１のイーサネット（Ｒ）実施形態では、折衝処理ソフトウェアが、通常は、ＩＥＥＥ  ８０２．３標準規格に準拠する。イーサネット（Ｒ）準拠のＮＩＣおよびスイッチには、通常は、ネットワーク・リンクの動作周波数を確立するコードが含まれる。前に示したように、このコードは、普通のサーバでリンクが確立される時に限って実行される。しかし、本発明の実施形態によるＮＩＣ１２１およびそれに対応するポート１３１の両方が、この折衝処理を周期的に呼び出すことでリンクの帯域幅利用での変化する条件に応答してリンク動作周波数の修正をする、ように構成される。
【００４０】
図４を参照すると、サーバ・クラスタ１０１などのデータ処理ネットワーク内のさまざまなリンクの動作周波数を制御する方法を示す流れ図が示されている。サーバ・スイッチ・リンクがはじめて確立される時に、ＮＩＣ１２１によって、本明細書で最初の折衝と称する折衝が開始される（ブロック４０２）。通常、最初の折衝によって、構成要素が対処できる最高のリンク動作周波数が確立される。その後、ＮＩＣ１２１によって、それ自体とそれに対応するポートとの間のネットワーク・リンクの使用状況が監視される（ブロック４０４）。ＮＩＣ１２１は、サーバ・スイッチ帯域幅の使用量が非常に少ない期間を認識し、それ相応にリンクの動作周波数を調整するように構成される。
【００４１】
ＮＩＣ１２１によって監視されるリンク使用状況は、リンクを介してデータが送受されるレートを表す。この使用状況は、リンク使用状況要因（本明細書では有効データ・レートとも称する）が周期的に判定される、比較的単純なリンク・レベル・ルーチンを使用して判定することができる。このルーチンでは、通常は、アキュムレータまたは他の適切な機構を使用して、指定された時間周期中にリンクを介して送信および／または受信されるトラフィックの量が判定される。指定される時間周期は、リンク動作周波数が更新される周期率と一致するものとすることができる。たとえば、必要な場合に１０分ごとにリンク動作周波数が修正される場合に、１０分の期間のリンク・トラフィックのバイト数を累算し、６００秒で割ってビット毎秒に関する使用状況を得ることによって、使用状況要因を判定することができる。リンク動作周波数が修正される周期的な間隔は、指定される時間周期を変更できるように、スイッチ１１０またはサーバ１１１のプログラマブル制御の下にあることがより望ましい。
【００４２】
有効伝送レートは、実質的に、ネットワーク・リンクの動作周波数より低くすることができる。スイッチ・ゲートウェイ・リンク２００の帯域幅によって、個々のサーバ・スイッチ・リンク２１１、２１２などの帯域幅の合計に対する上限が与えられる。個々のサーバ・スイッチ・リンクに必要な帯域幅は、スイッチ・ゲートウェイ・リンク２００に割り振られる帯域幅を超えることができない。任意のサーバ・スイッチ・リンクの有効データ伝送レートはクライアント側帯域幅の関数である。アクティビティまたはネットワーク・トラフィックが少ない時間中は、サーバ１１１は、その多くがかなりの帯域幅制限を有していることがある限られた数のクライアントからの要求をサービスしている可能性がある。サーバ１１１が、普通のモデム接続を介してＷＡＮ１０５に接続された単一のクライアントからの要求をサービスしている場合に、そのサーバに必要な有効データ・レートは、最大数スイッチ最大容量未満の大きさ程度である。そのような状況の下では性能がクライアント側で制限されるので、サーバ・スイッチ・リンクを高い動作周波数に維持することの高いコストが性能上の利益をもたらさない。
【００４３】
ＮＩＣ１２１は、そのネットワーク・リンクの有効データ・レートを、リンクの現在の動作周波数と比較するように構成される。有効データ・レート（ＥＤＲ）が、現在のリンク動作周波数と実質的に異なる場合には、修正された周波数が前の動作周波数よりＥＤＲに近くなるようにリンク動作周波数を修正する。ブロック４０６で、ＥＤＲがリンク動作周波数より実質的に低いと判定される場合には、ブロック４０８で、リンクがより低い動作周波数で動作できるかどうかをＮＩＣ１２１によって判定する。前に述べたように、ＮＩＣ１２１およびその対応するスイッチ・ポートは複数の動作周波数の１つで動作することができる。ＮＩＣ１２１が現在その最低周波数で動作しておらず、その有効データ・レートが現在の動作周波数より実質的に低い場合に、ＮＩＣ１２１は、より低い動作周波数での動作をリンクに強制するようなスイッチ１１０との折衝を開始する（ブロック４１０）ように構成される。
【００４４】
サーバ・スイッチ・リンクがイーサネット（Ｒ）・リンクである実施形態では、ＮＩＣ１２１によって、標準ＩＥＥＥ  ８０２．３折衝プロトコルの大部分を活用して動作周波数の修正を達成することができる。リンク構成要素によって対処できる最高の動作周波数の確立を試みるのではなく、データ・レートが動作周波数より低いことの判定に応答してブロック４１０で行われる折衝（修正折衝と称する）では、最も最近に判定された有効データ・レートとの一貫性を有する最低の可能な動作周波数である１つの動作周波数の達成を試みる。したがって、ＮＩＣ１２１は最初、修正折衝中に、スイッチ１１０に対する所望の動作周波数を示してよい。スイッチ１１０がＮＩＣの所望の動作周波数で動作できる場合に、その周波数がリンクの動作周波数になることになる。スイッチがＮＩＣの所望の動作周波数に対処できない場合には、折衝処理によって、リンクによって対処される最低の動作周波数が解決されることになる。
【００４５】
修正折衝は、変化する負荷条件に合わせて調整するのに十分な頻度であるが、過度の折衝処理から性能に悪影響を及ぼすほどではない頻度で行われることがより望ましい。ＩＥＥＥ  ８０２．３標準規格の折衝の長さはミリ秒程度なので、毎分１回程度の頻度で折衝を開始することによって、性能にかなりの重荷を課すことがないと同時に、負荷の変化に比較的すばやく対処するのに十分に頻繁な修正がもたらされる。
【００４６】
比較的低いレベルの帯域幅使用状況に応答してリンク動作周波数を減らすことができることに加え、サーバ・クラスタ１０１は、比較的高い帯域幅使用状況に応答してリンク動作周波数を増やすように構成される。ブロック４０６で、ある指定された値またはリンクの現在の帯域幅容量のある指定された比率より有効データ・レートがは小さくないと、サーバによって判定される場合に、有効データ・レートが、リンク帯域幅容量のある指定された比率を超えるかどうかを判定する（ブロック４１２）ことができる。有効データ・レートが、たとえばリンクの帯域幅容量の９０％を超える場合に、サーバは、上で説明したブロック４０８および４１０で動作周波数を減らした形に似た形で、リンク動作周波数を増やすことを試みる（ブロック４１４）ことができる。したがって、サーバは、より高い動作周波数が使用可能であるかどうかを判定（ブロック４１３）することができ、そうである場合に、高い動作周波数を強制する修正折衝を開始する（ブロック４１４）ことができる。動作周波数の増加（または減少）の後に、サーバ１１１は動作を再開し、後続の変化に関するリンク帯域幅使用状況の監視を継続する。このような方法で、サーバ１１１は、性能の所望のレベルを達成するのに必要な最小の値にリンク動作周波数を常に調整し、これによって、より高い動作周波数の特性であるエネルギの消費および熱の放散を減らす。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態によるデータ処理ネットワークの選択された特徴を示すブロック図である。
【図２】本発明の一実施形態による、図１のデータ処理ネットワークの追加の詳細を示すブロック図である。
【図３】本発明の一実施形態による、図２のネットワーク・インターフェース・カードの追加の詳細を示すブロック図である。
【図４】本発明の一実施形態による、図１のデータ処理ネットワーク内のサーバの動作を示す流れ図である。
【符号の説明】
【００４８】
１００  データ処理ネットワーク
１０１  サーバ・クラスタ
１０５  広域ネットワーク（ＷＡＮ）
１０６  中間ゲートウェイ
１１０  中央スイッチ
１１１  サーバ
１１１−１  サーバ
１１１−２  サーバ
１１１−３  サーバ
１１１−４  サーバ
１２１  ＮＩＣ
１３１  ポート
１４０  組込みプロセッサ
１４１  バッファ・ロジック
１４２  クロック発振器
１４３  メモリ
１４４  周辺バスまたはローカル・バス
１４６  クロック・レジスタ
１４８  クロッキング信号
２００  スイッチ・ゲートウェイ・リンク
２１１  ネットワーク・リンク
２１２  ネットワーク・リンク
２１３  ネットワーク・リンク
２１４  ネットワーク・リンク
【図１】
2006253831.tif 000003
【図２】
2006253831.tif 000004
【図３】
2006253831.tif 000005
【図４】
2006253831.tif 000006