(57)【特許請求の範囲】
【請求項１】
データ処理システムにおける、パケット・ロスを防ぐエネルギー効率のよいリンクの移行の方法であって、
前記方法は、
低電力モードで作動する第一ネットワーク・アダプタを起動するステップと、
高速モードで作動する第二ネットワーク・アダプタを作動停止するステップと、
前記第一ネットワーク・アダプタおよび前記第二ネットワーク・アダプタに連結されているスイッチが送信元からの入来トラフィックを前記第一ネットワーク・アダプタに送るように、前記スイッチを設定するステップと、
前記第一ネットワーク・アダプタの高い利用度が検出されるのに対応して、高速モードの前記第二ネットワーク・アダプタを起動し、前記第一ネットワーク・アダプタ上で進行中の全送信要求を完了し、前記スイッチを前記第二ネットワーク・アダプタとデータのやりとりをするように設定し、前記第一ネットワーク・アダプタを作動停止するステップと、
を含む、前記方法。
【請求項２】
前記第一ネットワーク・アダプタの高い利用度を検出するステップは、
計量指標の値を測定するステップと、
前記計量指標の前記値を閾値と比較するステップと、
前記計量指標の前記値が前記閾値を超えるのに応じ、前記第一ネットワーク・アダプタの高い利用度を検出するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記計量指標は、所定時間間隔内の送信または受信パケットの数である、請求項２に記載の方法。
【請求項４】
前記第一ネットワーク・アダプタの高い利用度が検出されるのに対応して、デバイス・ドライバがアドレス解決プロトコル要求を生成するステップと、
前記アドレス解決プロトコル要求を前記第二ネットワーク・アダプタから前記スイッチに送信するステップと、
をさらに含み、
前記アドレス解決プロトコル要求は、前記スイッチにメディア・アクセス制御アドレスに対する新規の場所を通知する、
請求項１に記載の方法。
【請求項５】
前記第一ネットワーク・アダプタの高い利用度が検出されるのに対応して、デバイス・ドライバが、送信トラフィックを前記第二ネットワーク・アダプタに送るステップ、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記第一ネットワーク・アダプタの高い利用度が検出されるのに対応して、ドライバ・ステータスを更新するステップ、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記第二ネットワーク・アダプタの低い利用度が検出されるのに対応して、低電力モードの前記第一ネットワーク・アダプタを起動し、前記第二ネットワーク・アダプタ上で進行中の全送信要求を完了し、前記スイッチを前記第一ネットワーク・アダプタとデータのやりとりをするように設定し、前記第二ネットワーク・アダプタを作動停止するステップと、
をさらに含む、請求項１に記載の方法。
【請求項８】
前記第二ネットワーク・アダプタの低い利用度を検出するステップは、
計量指標の値を測定するステップと、
前記計量指標の前記値を閾値と比較するステップと、
前記計量指標の前記値が前記閾値未満に低下するのに応じ、前記第二ネットワーク・アダプタの低い利用度を検出するステップと、
を含む、請求項７に記載の方法。
【請求項９】
前記第二ネットワーク・アダプタの低い利用度が検出されるのに対応して、デバイス・ドライバがアドレス解決プロトコル要求を生成するステップと、
前記アドレス解決プロトコル要求を前記第一ネットワーク・アダプタから前記スイッチに送信するステップと、
をさらに含み、
前記アドレス解決プロトコル要求は、前記スイッチにメディア・アクセス制御アドレスに対する新規の場所を通知する、
請求項７に記載の方法。
【請求項１０】
前記第二ネットワーク・アダプタの低い利用度が検出されるのに対応して、デバイス・ドライバが、送信トラフィックを前記第一ネットワーク・アダプタに送るステップをさらに含む、
請求項７に記載の方法。
【請求項１１】
請求項１乃至１０のいずれかに記載の方法の全てのステップを実行させるコンピュータ・プログラム。
【請求項１２】
ネットワーク・インタフェース・デバイスであって、前記ネットワーク・インタフェース・デバイスは、低電力モードで作動する第一ネットワーク・アダプタ、高速モードで作動する第二ネットワーク・アダプタ、および前記第一ネットワーク・アダプタと前記第二ネットワーク・アダプタとに連結されたスイッチを含む、前記ネットワーク・インタフェース・デバイスと、
前記ネットワーク・インタフェース・デバイスに関連付けられたデバイス・ドライバと、
利用度検出コンポーネントと、
を含む装置であって、
請求項１乃至１０のいずれかに記載の方法の全てのステップを実行させるよう構成されている、
前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に改良されたデータ処理の装置および方法に関し、さらに具体的には、高速フェイルオーバを用いた、パケット・ロスを防ぐエネルギー効率のよいＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行を達成するための方法、コンピュータ・プログラム、および装置に関する。
【背景技術】
【０００２】
ＥＴＨＥＲＮＥＴ（Ｒ）は、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）への標準的アクセス方法である。ＥＴＨＥＲＮＥＴは、電気電子技術者協会（ＩＥＥＥ：Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）によって８０２．３規格として規定され、企業内またはホーム・ネットワーク内のコンピュータ群を接続するため、および、単一のコンピュータを、インターネットへのアクセスのため、ケーブル・モデムまたはデジタル加入者回線（ＤＳＬ：ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ）モデムに接続するために用いられる。
【０００３】
１０／１００ＥＴＨＥＲＮＥＴ（Ｒ）ポートは、２つの速度をサポートする、１０Ｍｂｐｓ（１０Ｂａｓｅ−Ｔ）および１００Ｍｂｐｓ（１００Ｂａｓｅ−Ｔ）である。１０／１００／１０００ポートは、１Ｇｂｐｓ（１，０００メガビット）のギガビット・ＥＴＨＥＲＮＥＴ（Ｒ）を含む。従来、ＥＴＨＥＲＮＥＴ（Ｒ）デバイスは相互にネゴシエーションし、可能な最高速度で送信していた。エネルギー・スター・コンプライアンスは、２００９年までに省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）への対応を求めている。現在のＥＴＨＥＲＮＥＴ（Ｒ）の方向は、適応リンク・レート（ＡＬＲ：Ａｄａｐｔｉｖｅ  Ｌｉｎｋ  Ｒａｔｅ）を中心に展開してこの目標を達成しようとしているが、これはまだＩＥＥＥ規格として設定されていない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＥＴＨＥＲＮＥＴ（Ｒ）トラフィックにおけるトラフィックが集中しやすい性質に鑑み、ＡＬＲは、低い利用度の期間は低速でのリンクを再ネゴシエーションし、高い利用度の期間は高速を再ネゴシエーションする形で構成されている。当面の問題は、ＡＬＲが、まだできていない新規のハードウエア、スイッチ、および規格要件によって駆動されるということである。
【０００５】
さらに、ハードウエア／プロトコル機能性に対する試案は、ソフトウエア・ベースの対処策には貢献しない。リンクの再ネゴシエーションにはリンクの再設定が必要でこれに数百ミリ秒かかりパケットドロップをもたらす。パケットドロップの数は、ライン速度（例、１０／１００／１０００／１００００Ｍｂｐｓ）に比例することになる。ボイス・オーバー・インターネット・プロトコル（ＶｏＩＰ：ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）およびストリーミング映像によるストリーミング・トラフィックなどレイテンシの影響を受けやすいアプリケーション、高性能コンピューティング（ＨＰＣ：ｈｉｇｈ  ｐｅｒｆｏｒｍａｎｃｅ  ｃｏｍｐｕｔｉｎｇ）、および非ＴＣＰ／ＩＰプロトコルは、ドロップされたパケットがもたらす高いレイテンシの影響を受ける。ＡＬＲが実施されたならば、これは、ハードウエアおよびプロトコルの機能性によって非常に高速な移行、約１０ｍｓでの移行、を提供することができるが、ただし、ＡＬＲはゼロ・パケット・ロスの保証はできない。
【課題を解決するための手段】
【０００６】
一つの例示的実施形態において、データ処理システムにおける、パケット・ロスを防ぐエネルギー効率のよいリンク移行の方法を提供する。該方法は、低電力モードの第一ネットワーク・アダプタを起動するステップと、第二ネットワーク・アダプタを作動停止するステップと、第一ネットワーク・アダプタと第二ネットワーク・アダプタとに連結されているスイッチが送信元からの入来トラフィックを第一ネットワーク・アダプタに送るように、該スイッチを設定するステップとを含む。該方法は、第一ネットワーク・アダプタの高い利用度が検出されるのに対応して、高速モードの第二ネットワーク・アダプタを起動し、第一ネットワーク・アダプタ上で進行中の全送信要求を完了し、第二ネットワーク・アダプタとデータのやりとりをするようにスイッチを設定し、第一ネットワーク・アダプタを作動停止するステップをさらに含む。
【０００７】
他の例示的実施形態において、コンピュータ可読プログラムを有するコンピュータ可用または可読媒体、を含むコンピュータ・プログラム製品を提供する。該コンピュータ可読プログラムは、コンピューティング・デバイスで実行されるとき、該コンピューティング・デバイスに、上記方法の例示的実施形態に関して前述したオペレーションの個々およびそれらの組合せを遂行させる。
【０００８】
さらに別の例示的実施形態において、ある装置はネットワーク・インタフェース・デバイスを含む。該ネットワーク・インタフェース・デバイスは、第一ネットワーク・アダプタ、第二ネットワーク・アダプタ、および第一ネットワーク・アダプタと第二ネットワーク・アダプタとに連結されたスイッチを含む。該装置は、ネットワーク・インタフェース・デバイスに関連付けられたデバイス・ドライバと、利用度検出コンポーネントをさらに含む。該デバイス・ドライバは、低電力モードの第一ネットワーク・アダプタを起動し、第二ネットワーク・アダプタを作動停止し、送信元からの入来トラフィックを第一ネットワーク・アダプタに送るよう該スイッチを設定するように作られている。該デバイス・ドライバは、利用度検出コンポーネントが第一ネットワーク・アダプタの高い利用度を検出するのに対応して、高速モードの第二ネットワーク・アダプタを起動し、第一ネットワーク・アダプタ上で進行中の全送信要求を完了し、第二ネットワーク・アダプタとデータのやりとりをするようにスイッチを設定し、第一ネットワーク・アダプタを作動停止する、ように作られている。
【０００９】
本発明のこれらおよび他の特質と利点とは、以下の本発明の例示実施形態の詳細な記述の中で説明され、当業者はこれを参照することにより明解できよう。
【００１０】
本発明およびその好適な使用モード、並びに本発明のさらなる目的および利点は、添付の図面と併せ以下の例示的実施形態の詳細な説明を読み、これらを参照することによって最善に理解されよう。
【図面の簡単な説明】
【００１１】
【図１】例示的実施形態の態様を実施することが可能な分散データ処理システム例の図的表現を示す。
【図２】例示的実施形態の態様を実施することが可能なデータ処理システム例のブロック図である。
【図３】ある例示的実施形態による、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行を備えたデータ処理システム中の、各種レイヤを図示するブロック図である。
【図４】図４Ａ、図４Ｂ、および図４Ｃは、ある例示的実施形態による、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムの実施例を示す。
【図５】ある例示的実施形態による、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムのオペレーション例を概述するフローチャートを提示する。
【発明を実施するための形態】
【００１２】
これら例示的実施形態は、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムを提供する。該メカニズムは、低いエネルギー使用で低速で作動する第一アダプタ（ＰＡ：ｐｒｉｍａｒｙ  ａｄａｐｔｅｒ）および高いエネルギー使用で高速で作動する第二アダプタ（ＳＡ：ｓｅｃｏｎｄａｒｙ  ａｄａｐｔｅｒ）を保有することによって高効率を実現する。デフォルトでは、該メカニズムは、低エネルギー使用で低速で作動する第一アダプタを使い、第二アダプタは作動停止される。低いリンク利用度の期間はこのデフォルト設定が用いられる。
【００１３】
システムまたは入力／出力（ＩＯ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）の負荷が高速を必要とするとき、該メカニズムは、第二アダプタをその最高のサポート・リンク速度で起動する。第一アダプタ上で実行されている進行中の全送信（ＴＸ）トラフィックは完了され、完了次第、上記ドライバは、アドレス解決プロトコル（ＡＲＰ：ａｄｄｒｅｓｓ  ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｔｏｃｏｌ）パケットを生成し、該パケットを第二アダプタを介して送信する。ＡＲＰパケットは、スイッチに、メディア・アクセス制御（ＭＡＣ：ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ）アドレスに対する新規の場所を通知する。この処理の完了後、第一アダプタは、リンク・ダウン（０Ｗ）に移行し、パケット・ロスを防ぐ形での移行が完了する。
【００１４】
システムは、該メカニズムが低速、低電力モードへの復帰ネゴシエーションを実行するまでこの設定の下で作動することになり、該実行の時点で、第二アダプタから第一アダプタへの移行のため同じプロセスが実施される。システム負荷に基づいてどの時点で高速のリンクに移行するかを決める方法／ポリシーは、実装に固有のものであり、従って、該メカニズムは、ドライバによる時間間隔当たりのＲＸ／ＴＸパケットの追跡に基づいて、あるいはＩＯ制御（ＩＯＣＴＬ：ＩＯ  ｃｏｎｔｒｏｌ）機能を介したドライバへの適用通知によるポリシー実行によってリンク間の移行を行うことができよう。
【００１５】
これら例示的実施形態は、分散データ処理環境、単一のデータ処理デバイスなどを含め、多くの異なった種類のデータ処理環境で活用することができる。これら例示的実施形態の特定のエレメントおよび機能性の説明のためのコンテキストを提供するため、以降、これら例示的実施形態の態様が実装可能な環境の例として図１および図２を提示する。図１および図２による説明では、主として単一のデータ処理デバイスへの実装に焦点を当てることになるが、これは単なる一例であって、本発明の特質に関しいかなる限定を明示することも暗示することも意図されてはいない。それどころか、これら例示的実施形態は、分散データ処理システムのコンポーネントがパケット・ロスを防ぐ形でのエネルギー効率のよいリンクの移行を必要とする、分散データ処理環境群および実施形態群を含むことが意図されている。
【００１６】
ここで図を、具体的には図１および図２を参照すると、本発明の例示的実施形態を実装することが可能なデータ処理環境例の図が提示されている。図１および図２は単なる例であって、本発明の態様または実施形態が実装可能な環境に関して、いかなる限定の主張も暗示も意図するものでないことをよく理解すべきである。本発明の精神および範囲から逸脱することなく、図示の環境に多くの修改を加えることができる。
【００１７】
ここで図を参照すると、図１は、該例示的実施形態の態様を実装することが可能な分散データ処理システム例の図的表現を示している。分散データ処理システム１００には、例示的実施形態の態様を実装することが可能なコンピュータのネットワークを含めることができる。分散データ処理システム１００は、少なくとも一つのネットワーク１０２を包含し、該ネットワークは、分散データ処理システム１００内に一緒に連結されたさまざまなデバイスおよびコンピュータに通信リンクを提供するため使われる媒体である。ネットワーク１０２には、有線、無線通信リンク、または光ファイバ・ケーブルなどの連結路を含めることができる。
【００１８】
図示の例ではサーバ１０４およびサーバ１０６が、記憶ユニット１０８とともにネットワーク１０２に連結されている。加えて、クライアント１１０、１１２、および１１４もネットワーク１０２に連結されている。クライアント１１０、１１２、および１１４は、例えば、個人用コンピュータ、ネットワーク・コンピュータ、または類似のものとすることができる。図示された例において、サーバ１０４は、クライアント１１０、１１２、および１１４に、起動ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータを提供する。図示の例では、クライアント１１０、１１２、および１１４はサーバ１０４のクライアントである。分散データ処理システム１００には、図示されていない追加のサーバ、クライアント、および他のデバイスを含めることができる。
【００１９】
図示された例において、分散データ処理システム１００は、インターネットであり、ネットワーク１０２は、相互の通信のため伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の一連のプロトコルを用いる、ネットワーク群およびゲートウェイ群の世界的集合体を表す。インターネットの核心は、データおよびメッセージを回送するものすごい数の商業、政府、教育およびその他のコンピュータ・システムから成る、主要ノードまたはホスト・コンピュータ間の高速データ通信ラインのバックボーンである。当然ながら、分散データ処理システム１００は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅａｒｅａ ｎｅｔｗｏｒｋ）など、多くの異なった種類のネットワークを含むように実装することも可能である。前述のように、図１は、一例であって、本発明の各種実施形態に対するアーキテクチャ上の限定を意図したものでなく、従って、図１に示された特定のエレメントは、本発明の例示的実施形態を実装することが可能な環境に関して限定をするものと見なすべきではない。
【００２０】
次いで図２を参照すると、例示的実施形態の態様を実装することが可能な、データ処理システム例のブロック図が示されている。データ処理システム２００は、図１中のクライアント１１０など、その中に本発明の例示的実施形態のためのプロセスを実行するコンピュータ可用コードまたは命令を配置できるコンピュータの一例である。
【００２１】
図示された例において、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ：ｎｏｒｔｈｂｒｉｄｇｅ／ｍｅｍｏｒｙ ｃｏｎｔｒｏｌｌｅｒ ｈｕｂ）２０２およびサウス・ブリッジおよび入力／出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ：ｓｏｕｔｈ  ｂｒｉｄｇｅ／ｉｎｐｕｔ／ｏｕｔｐｕｔｃｏｎｔｒｏｌｌｅｒ ｈｕｂ）２０４を含むハブ・アーキテクチャを用いている。プロセッシング・ユニット２０６、主メモリ２０８、およびグラフィックス・プロセッサ２１０が、ＮＢ／ＭＣＨ２０２に連結されている。グラフィックス・プロセッサ２１０は、アクセラレイティッド・グラフィックス・ポート（ＡＧＰ：ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）を介してＮＢ／ＭＣＨ２０２に連結することができる。
【００２２】
図示された例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２が、ＳＢ／ＩＣＨ２０４につながっている。音声アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２２４、ハード・ディスク・ドライブ（ＨＤＤ：ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポートおよび他の通信ポート２３２、並びにＰＣＩ／ＰＣＩｅデバイス２３４が、バス２３８およびバス２４０を介してＳＢ／ＩＣＨ２０４につながっている。ＰＣＩ／ＰＣＩｅデバイスには、例えば、ＥＴＨＥＲＮＥＴ（Ｒ）アダプタ、アドイン・カード、およびノート型コンピュータ用のＰＣカードを含めることができる。ＰＣＩはカード・バス・コントローラを使うが、ＰＣＩｅは使わない。ＲＯＭ２２４は、例えば、フラッシュ基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）とすることができる。
【００２３】
ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してＳＢ／ＩＣＨ２０４につながっている。ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、例えば、統合ドライブ・エレクトロニクス（ＩＤＥ：ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）またはシリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インタフェースを用いることができる。スーパーＩ／Ｏ（ＳＩＯ：Ｓｕｐｅｒ  Ｉ／Ｏ）デバイス２３６をＳＢ／ＩＣＨ２０４に連結することができる。
【００２４】
プロセッシング・ユニット２０６上でオペレーティング・システムが実行される。オペレーティング・システムは、図２のデータ処理システム２００内のさまざまなコンポーネントを調整し、それらの制御を提供する。クライアントとしてのオペレーティング・システムには、マイクロソフト（Ｒ）のウィンドウズ（Ｒ）ＸＰなど、市販のオペレーティング・システムを使うことができる（マイクロソフトおよびウィンドウズは、米国、他の国またはその両方におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標である）。Ｊａｖａ（Ｒプログラミング・システムなどのオブジェクト指向プログラミング・システムを上記オペレーティング・システムと併せて実行し、データ処理システム２００で実行されているＪａｖａ（Ｒ）プログラムまたはアプリケーションからオペレーティング・システムに呼び出しを行うことができる（Ｊａｖａは、米国、他の国またはその両方におけるＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の商標である）。
【００２５】
サーバとしてのデータ処理システム２００は、例えば、拡張対話式エグゼクティブ（ＡＩＸ（ＩＢＭ社の登録商標）：Ａｄｖａｎｃｅｄ Ｉｎｔｅｒａｃｔｉｖｅ Ｅｘｅｃｕｔｉｖｅ）オペレーティング・システム、またはＬＩＮＵＸ（Ｒ）オペレーティング・システムを実行するＩＢＭ（Ｒ）ｅＳｅｒｖｅｒ（Ｒ）Ｓｙｓｔｅｍｐ（ＩＢＭ社の登録商標）コンピュータ・システムとすることができる（ｅＳｅｒｖｅｒ、Ｓｙｓｔｅｍ ｐおよびＡＩＸは、米国、他の国またはその両方におけるＩｎｔｅｒｎａｔｉｏｎａｌＢｕｓｉｎｅｓｓ Ｍａｃｈｉｎｅｓ Ｃｏｒｐｏｒａｔｉｏｎの商標であり、ＬＩＮＵＸは、米国、他の国またはその両方におけるＬｉｎｕｓ Ｔｏｒｖａｌｄｓの商標である）。データ処理システム２００は、プロセッシング・ユニット２０６中に複数のプロセッサを含む対称型マルチプロセッサ（ＳＭＰ：ｓｙｍｍｅｔｒｉｃ ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）システムとすることができる。あるいは単一プロセッサ・システムを用いることも可能である。
【００２６】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムの命令は、ＨＤＤ２２６などの記憶デバイスに在置しておき、主メモリ２０８にロードしてプロセッシング・ユニット２０６に実行させることができる。本発明の例示的実施形態のためのプロセスは、コンピュータ可用プログラム・コードを用いて、プロセッシング・ユニット２０６によって実行することができ、該プログラム・コードは、例えば、主メモリ２０８、ＲＯＭ２２４、あるいは一つ以上の周辺デバイス群（ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０）などの記憶装置に在置することができる。
【００２７】
図２に示されたバス２３８またはバス２４０などのバス・システムは、一つ以上のバスで構成することができる。当然ながら、バス・システムは、ファブリックまたはアーキテクチャに配置された各種コンポーネントまたはデバイスの間でのデータ転送を提供する、任意の種類の通信ファブリックまたはアーキテクチャを使って実装することができる。図２のモデム２２２またはネットワーク・アダプタ２１２などの通信ユニットには、データを送受信するために用いる一つ以上のデバイスを含めることができる。メモリは、例えば、図２中の、主メモリ２０８、ＲＯＭ２２４、またはＮＢ／ＭＣＨ２０２中に在るようなキャッシュとすることができる。
【００２８】
当業者は、図１および図２中のハードウエアは、実装に応じて変更できることをよく理解していよう。図１および図２に描かれたハードウエアに加え、あるいはこれらに換えて、フラッシュ・メモリ、同様な不揮発性メモリ、または光ディスク・ドライバおよび類似デバイスなど、他の内部ハードウエアまたは周辺デバイスを用いてもよい。また、これら例示的実施形態のプロセスは、本発明の精神および範囲から逸脱することなく、前述したＳＭＰシステム以外のマルチプロセッサ・データ処理システムに適用することもできる。
【００２９】
さらに、データ処理システム２００は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話または他の通信デバイス、携帯端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）または類似のものを包含する、任意の数の異なるデータ処理システム群の形を取ることができる。一部の例示的実施形態において、データ処理システム２００は、例えば、オペレーティング・システム・ファイルまたはユーザ作成データあるいはその両方を格納するための不揮発性メモリを提供するフラッシュ・メモリを使って作られた、携帯型のコンピューティング・デバイスにすることもできよう。基本的には、データ処理システム２００は、アーキテクチャ上の制限なく、既知のまたは今後開発される任意のデータ処理システムとすることができる。
【００３０】
ある例示的実施形態によれば、図２のネットワーク・アダプタ２１２には、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムを含めることができる。該メカニズムは、ネットワーク・アダプタ２１２に、低いエネルギー使用で低速で作動する第一アダプタ（ＰＡ）および高いエネルギー使用で高速で作動する第二アダプタ（ＳＡ）を含めることによって高い効率を実現する。デフォルトでは、該メカニズムは、低エネルギー使用で低速で作動する第一アダプタを使い、第二アダプタは作動停止される。低いリンク利用度の期間はこのデフォルト設定が用いられる。
【００３１】
システムまたは入力／出力（ＩＯ）の負荷が高速を必要とするとき、該メカニズムは、第二アダプタをその最高のサポート・リンク速度で起動する。第一アダプタ上で実行されている進行中の全送信（ＴＸ）トラフィックが完了されることになる。この処理の完了後、第一アダプタは、リンク・ダウン（０Ｗ）に移行し、パケット・ロスを防ぐ形での移行が完了する。システムは、該メカニズムが低速、低電力モードへの復帰ネゴシエーションを実行するまでこの設定の下で作動することになり、該実行の時点で、第二アダプタから第一アダプタへの移行のため同じプロセスが実施される。
【００３２】
図３は、ある例示的実施形態による、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行を備えるデータ処理システム中の、各種レイヤを描いたブロック図である。アプリケーション３１０がオペレーティング・システム３２０上で実行され、データを送受信することによってＥＴＨＥＲＮＥＴ（Ｒ）トラフィックを生成する。例えば、アプリケーション３１０は、ｅメール・クライアント、ファイル転送クライアント、ウェブ・ブラウザ、映像ストリーミング・アプリケーションまたはプラグイン、ボイス・オーバーＩＰ（ＶｏＩＰ）クライアント、または類似のものであり得る。
【００３３】
ネットワーク・レイヤ３３０は、デバイス・ドライバ３４０の上部に存在する。ネットワーク・レイヤは、オペレーティング・システム３２０を、デバイス・ドライバ３４０を介してネットワーク（すなわち周辺）デバイスにリンクする。デバイス・ドライバ３４０は、ハードウエア・レイヤと相互交信するプログラム・ルーチンであり、該レイヤは、図示の実施形態では、第一アダプタ３５２、第二アダプタ３５４およびスイッチ３５６の組合せである。ネットワーク・レイヤ３３０は、ハードウエア・レイヤと相互交信するためのプロトコルを提供し、ハードウエア・レイヤは、第一アダプタ３５２、第二アダプタ３５４およびスイッチ３５６を含む。
【００３４】
第一アダプタ（ＰＡ）３５２は、低速、低電力のＥＴＨＥＲＮＥＴ（Ｒ）アダプタである。例えば、第一アダプタ３５２は、起動されたとき、１００Ｍｂｐｓで１Ｗより小さい電力で作動することができる。第二アダプタ（ＳＡ）３５４は、高速、高電力のＥＴＨＥＲＮＥＴ（Ｒ）アダプタである例えば、第二アダプタ３５４は、１ＧｂＥ／１０ＧｂＥで約２．５Ｗ／１４Ｗの電力で作動することができる。あるデフォルト設定では、第一アダプタ３５２が低速／低電力で作動するよう設定され、第二アダプタ３５４はリンク作動停止（０Ｗ）にされ、スイッチ３５６は、受信（ＲＸ）および送信（ＴＸ）トラフィックを第一アダプタ３５２とやりとりするよう設定される。しかして、該デフォルト設定では、第一アダプタ２５２および第二アダプタ３５４は合計で１Ｗより小さな電力で作動する。該例示的実施形態のメカニズムは、低いリンク利用度の期間はこのデフォルト設定を使用する。
【００３５】
該例示的実施形態のメカニズムは、デバイス・ドライバ３４０、ネットワーク・レイヤ３３０、オペレーティング・システム３２０、またはアプリケーション３１０の中に具現することが可能な利用度検出コンポーネント３６０を含む。該検出コンポーネント３６０は、リンク利用度が高速リンクを必要とするレベルに達したときこれを検出する。検出コンポーネント３６０は、秒当たりのＴＸまたはＲＸパケット数などの計量指標を使って、リンク利用度が移行を必要とするレベルに達したときを判定することができる。検出コンポーネント３６０は、例えば、計量指標の値を測定しその値を閾値と比較することができる。ユーザは、ポリシー・データ構造３６２中に計量指標を定義し、閾値を選定することによって検出コンポーネント３６０を設定することができる。
【００３６】
検出コンポーネント３６０が、システムまたはＩＯの負荷が高速を必要とすると判定したとき、デバイス・ドライバ３４０は、第二アダプタ３５４をその最高のサポート・リンク速度で起動する。しかして、第二アダプタ３５４は、リンク・ダウン（０Ｗ）から１ＧｂＥ／１０ＧｂＥ（約２．５Ｗ／約１４Ｗ）に移行することができる。第一アダプタ３５２上で実行されている進行中の全送信（ＴＸ）トラフィックが完了され次第、デバイス・ドライバ３４０は、アドレス解決プロトコル（ＡＲＰ）パケットを生成し、該パケットを第二アダプタ３５４を介して送信する。ＡＲＰパケットは、スイッチ３５６に、メディア・アクセス制御（ＭＡＣ）アドレスに対する新規の場所を通知する。この処理の完了後、第一アダプタ３５２は、リンク・ダウン（０Ｗ）に移行し、パケット・ロス防ぐ形での移行が完了する。
【００３７】
メカニズムは、該メカニズムが低速、低電力モードのデフォルト設定への復帰ネゴシエーションを実行するまでこの高利用度設定の下で作動し、該実行の時点で、第二アダプタ３５４から第一アダプタ３５２への移行のため同じプロセスが実施される。システム負荷に基づいてどの時点でより高速のリンクに移行するかを決めるポリシーは、実装に固有のものであり、従って、該メカニズムは、ドライバによる時間間隔当たりのＲＸ／ＴＸパケットの追跡に基づいて、あるいはＩＯ制御（ＩＯＣＴＬ）機能を介したドライバへの適用通知によるポリシー実行によってリンク間の移行を行うことができよう。
【００３８】
図４Ａ、図４Ｂ、および図４Ｃは、ある例示的実施形態による、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムの実装例を示す。図４Ａにおいて、第一アダプタ４５２は、低電力モード（１００Ｍｂｐｓ、＜１Ｗ）で作動している。利用度が所定の閾値に達していないため、全ＴＸ／ＲＸデータは順当に流れている。第二アダプタ４５４は作動しておらず、第二アダプタ・リンクでの電力消費はない。スイッチ４５６は、全ての入来トラフィックを第一アダプタ４５２に送っている。
【００３９】
図４Ｂでは、第一アダプタ４５２が低電力モードで作動しており、リンク利用度が閾値に達している。メカニズムが高リンク速度への移行を開始する。上記例示的実施形態のメカニズムが、第二アダプタ４５４によるリンクを起動し、１ＧｂＥ／１０ＧｂＥ（２．５Ｗ／１４Ｗ）にネゴシエーションする。第一アダプタ４５２は、処理中の全ての送信要求を完了する。完了したならば、デバイス・ドライバは、第二アダプタ４５４からＡＲＰ要求を発信する。ＡＲＰ要求は、スイッチ４５６に、ＭＡＣアドレスが今や新規のポートにあることを通知する。この後、スイッチ４５６は、全ての入来トラフィックを第二アダプタ４５４に送る。デバイス・ドライバは、スタックからの一切の新規送信パケットを第二アダプタ４５４に送る。メカニズムがドライバ・ステータスを更新する。メカニズムは、ユーザが閲見可能なログに通知を置くことによってドライバ・ステータスを更新することができる。
【００４０】
図４Ｃにおいては、第二アダプタ４５４がフル速度および電力で作動している。第一アダプタ４５２は、作動しておらず、第一アダプタ・リンクでの電力消費はない。図４Ｃでは、省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行はパケット・ロスを防ぐ形で完了している。利用度レベルが変化し、もはや高速モードが必要なくなれば、第二アダプタ４５４から第一アダプタ４５２への移行のため同じステップが実施される。
【００４１】
当業者がよく理解するであろうように、本発明は、システム、方法、またはコンピュータ・プログラム製品として具現することができる。従って、本発明の態様は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態（ファームウエア、常駐ソフトウエア、マイクロコードなどを含む）の形、あるいは、本明細書では全て一般的に「回路」、「モジュール」または「システム」ということもある、ソフトウエアおよびハードウエア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の態様は、自体中に具現されたコンピュータ可用プログラム・コードを有する、任意の一つ以上のコンピュータ可読媒体（群）中に具体化された、コンピュータ・プログラム製品の形を取ることもできる。
【００４２】
一つ以上のコンピュータ可読媒体（群）の任意の組合せを用いることができる。該コンピュータ可読媒体は、コンピュータ可読信号媒体とすることも、またはコンピュータ可読記憶媒体とすることもできる。コンピュータ可読記憶媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム、装置、デバイス、またはこれらの任意の組合せとすることができる。コンピュータ可読媒体のさらに具体的な例（限定的リスト）には、一つ以上の配線を有する電気接続、携帯コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ）、消去およびプログラム可能読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、またはフラッシュ・メモリ）、光ファイバ、携帯コンパクト・ディスク読み取り専用メモリ（ＣＤＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光記憶デバイス、磁気記憶デバイス、または前述の任意の適切な組合せが含まれよう。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって、またはこれらに関連させて使われるプログラムを包含または格納できる任意の有形媒体であるということができる。
【００４３】
コンピュータ可読信号媒体には、例えば、ベースバンド中にまたは搬送波の一部として具現されたコンピュータ可読プログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の組合せを含め、さまざまな任意の形態を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でなく、命令実行システム、装置、またはデバイスによって、またはこれらに関連させて用いるプログラムを通信、伝播、または搬送することのできる任意のコンピュータ可読媒体であるといえよう。
【００４４】
コンピュータ可読媒体に具現されたコンピュータ・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、無線周波数（ＲＦ：ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）などを含む、任意の適切な媒体あるいはそれらの任意の適切な組合せを使って送信することができる。
【００４５】
本発明の態様のためのオペレーションを実施するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋または類似のオブジェクト指向プログラミング言語、および、“Ｃ”プログラミング言語または類似のプログラミング言語など従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組合せで書くことができる。該プログラム・コードは、全体をユーザのコンピュータで、一部をユーザのコンピュータで、単独型ソフトウエア・パッケージとして実行することができ、一部をユーザのコンピュータで他の部分を遠隔コンピュータで、または全体を遠隔コンピュータまたはサーバで実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うことができる。
【００４６】
以下に、本発明の例示的実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の、フローチャート説明図またはブロック図あるいはその両方を参照しながら、本発明の態様を説明する。フローチャート説明図またはブロック図あるいはその両方の各ブロック、および、フローチャート説明図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ・プログラム命令によって実施可能であることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、または他のプログラム可能データ処理装置のプロセッサに供給してマシンを形成し、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、該フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群中に規定された機能／処理を実施するための手段を生成するようにすることができる。
【００４７】
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置または他のデバイスに、特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、該コンピュータ可読媒体に格納された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群中に規定された機能／処理を実施する命令を包含する製品を形成するようにすることができる。
【００４８】
さらに、該コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置または他のデバイスにロードし、該コンピュータ、他のプログラム可能装置または他のデバイス上で一連のオペレーション・ステップを実施させてコンピュータ実行のプロセスを生成し、該コンピュータまたは他のプログラム可能装置で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群中に規定された機能／処理を実施するためのプロセスを提供するようにすることもできる。
【００４９】
図５は、ある例示的実施形態による、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムのオペレーションの例を概述するフローチャートを示す。オペレーションが開始され、メカニズムが低電力モードの第一アダプタを起動する（ブロック５０２）。該メカニズムは、次いで、システムまたはＩＯの負荷が高速リンクへの移行を必要としているかどうかを判定する（ブロック５０４）。メカニズムが移行は必要ないと判定した場合、利用度レベルが利用度閾値に達するかまたは他のポリシー基準に合致するまでは、オペレーションはブロック５０４に戻る。
【００５０】
ブロック５０４においてメカニズムが移行が必要と判定した場合、該メカニズムは、高速モードの第二アダプタを起動する（ブロック５０６）。メカニズムは、第一アダプタ上で進行中の全送信要求を完了する（ブロック５０８）。次いで、第二アダプタは、ドライブが生成したアドレス解決プロトコル（ＡＲＰ）要求をスイッチに送信する（ブロック５１０）。スイッチは、送信元からの入来トラフィックを第二アダプタに送り（ブロック５１２）、デバイス・ドライバは送信トラフィックを第二アダプタに送る（ブロック５１４）。次いで、メカニズムはドライバ・ステータスを更新する（ブロック５１６）。
【００５１】
しかる後、該メカニズムは、システムまたはＩＯの負荷が、もはや高速リンクを必要としていないかどうかを判定する（ブロック５１８）。メカニズムが移行は必要ないと判定した場合、オペレーションは、利用度レベルが利用度閾値以下に低下するまでは、ブロック５１８に戻る。
【００５２】
メカニズムが、ブロック５１８において移行が必要と判定した場合、該メカニズムは、低速モードの第一アダプタを起動する（ブロック５２０）。メカニズムは、第二アダプタ上で進行中の全送信要求を完了する（ブロック５２２）。次いで、第一アダプタは、ドライバが生成したＡＲＰ要求をスイッチに送信する（ブロック５２４）。スイッチは、送信元からの入来トラフィック第一アダプタに送り（ブロック５２６）、デバイス・ドライバは送信トラフィックを第一アダプタに送る（ブロック５２８）。次いで、メカニズムはドライバ・ステータスを更新する（ブロック５３０）。しかる後、オペレーションは、ブロック５０４に戻り、高速モードへの移行が必要かどうかが判定される。
【００５３】
これら図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の有力な実装アーキテクチャ、機能、およびオペレーションを示す。これに関し、フローチャートまたはブロック図中の各ブロックは、規定された論理機能（群）を実施するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、いくつかの別の実装において、ブロックの中に記載された機能が図に記載された順序と違った順に実施され得ることに留意すべきである。例えば、逐次に示された２つのブロックが、実際上、実質的に同時に実行されることがあり、関連する機能によっては、それらブロックがときとして逆の順序で実行されることがある。さらに、ブロック図またはフローチャート説明図あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明図あるいはその両方のブロックの組合せは、特定の機能または処理を遂行する特別用途のハードウエア・ベースのシステム、または特別用途のハードウエアとコンピュータ命令との組合せによって実施できることにも留意すべきである。
【００５４】
かくのごとく、これら例示的実施形態は、ドライバによる高速フェイルオーバを用いた、パケット・ロスを防ぐ省エネ型ＥＴＨＥＲＮＥＴ（Ｒ）のリンク移行のためのメカニズムを提供する。該メカニズムは、低いエネルギー使用で低速で作動する第一アダプタ（ＰＡ）および高いエネルギー使用で高速で作動する第二アダプタ（ＳＡ）を保有することによって高効率を実現する。デフォルトでは、該メカニズムは、低エネルギー使用で低速で作動する第一アダプタを使い、第二アダプタは作動停止される。低いリンク利用度の期間はこのデフォルト設定が用いられる。
【００５５】
システムまたは入力／出力（ＩＯ）の負荷が高速を必要とするとき、該メカニズムは、第二アダプタをその最高のサポート・リンク速度で起動する。第一アダプタ上で実行されている進行中の全送信（ＴＸ）トラフィックが完了され、完了次第、上記ドライバは、アドレス解決プロトコル（ＡＲＰ）パケットを生成し、該パケットを第二アダプタを介して送信する。ＡＲＰパケットは、スイッチに、メディア・アクセス制御（ＭＡＣ）アドレスに対する新規の場所を通知する。この処理の完了後、第一アダプタは、リンク・ダウン（０Ｗ）に移行し、パケット・ロスを防ぐ形での移行が完了する。
【００５６】
システムは、該メカニズムが低速、低電力モードへの復帰ネゴシエーションを実行するまでこの設定の下で作動することになり、該実行の時点で、第二アダプタから第一アダプタへの移行のため同じプロセスが実施される。システム負荷に基づいてどの時点で高速のリンクに移行するかを決める方法／ポリシーは、実装に固有のものであり、従って、該メカニズムは、ドライバによる時間間隔当たりのＲＸ／ＴＸパケットの追跡に基づいて、あるいはＩＯ制御（ＩＯＣＴＬ）機能を介したドライバへの適用通知によるポリシー実行によってリンク間の移行を行うことができよう。
【００５７】
前述したように、これらの例示的実施形態は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態、またはハードウエアおよびソフトウエア・エレメントの両方を包含する実施形態の形を取ることが可能なのをよく理解すべきである。一つの実施形態の例において、該例示的実施形態のメカニズムは、以下に限らないが、ファームウエア、常駐ソフトウエア、マイクロコードなどを含むソフトウエアまたはプログラム・コード中に実装される。
【００５８】
プログラム・コードを格納または実行あるいはその両方を行うのに適したデータ処理システムは、直接的に、あるいはシステム・バスを介して間接的にメモリ・エレメントに連結された少なくとも一つのプロセッサを含むことになる。該メモリ・エレメントは、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置、および、実行中に大容量記憶装置からの読み出しをしなければならない回数を低減するために少なくとも一部のプログラム・コードの一時的保管を提供する、キャッシュ・メモリを含めることができる。
【００５９】
入力／出力またはＩ／Ｏ（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限らない）は、直接にあるいはＩ／Ｏコントローラを介在させてシステムに連結することができる。また、ネットワーク・アダプタをシステムに連結し、データ処理システムが、介在する私有または公共ネットワークを通して、他のデータ処理システムあるいは遠隔のプリンタまたは記憶デバイスに連結することを可能にすることができる。モデム、ケーブル・モデム、およびＥＴＨＥＲＮＥＴ（Ｒ）カードは、現在利用可能なネットワーク・アダプタの種類のごく一部である。
【００６０】
本発明の記述は、例示および説明の目的で提示されており、全網羅することまたは本発明を開示された形態に限定することは意図されていない。当業者には、多くの修改および変形案が明らかであろう。本実施形態は、本発明の原理および実際的応用を最善に説明し、他の当業者が、意図された特定の用途に適したさまざまな修改を加えたさまざまな実施形態のため本発明を理解できるように、選択され説明された。
【符号の説明】
【００６１】
２０２    ＮＢ／ＭＣＨ
２０４    ＳＢ／ＩＣＨ
２０６    プロセッシング・ユニット
２０８    主メモリ
２１０    グラフィックス・プロセッサ
２１２    ネットワーク・アダプタ
２１６    音声アダプタ
２２０    キーボードおよびマウス・アダプタ
２２２    モデム
２２４    ＲＯＭ
２２６    ディスク
２３０    ＣＤ−ＲＯＭ
２３２    ＵＳＢおよび他のポート
２３４    ＰＣＩ／ＰＣＩｅデバイス
２３６    ＳＩＯ
２３８    バス
２４０    バス
【図１】
0005613009.tif 000002
【図２】
0005613009.tif 000003
【図３】
0005613009.tif 000004
【図４】
0005613009.tif 000005
【図５】
0005613009.tif 000006