(57)【要約】【課題】マルチパス・データ通信におけるエネルギー節約のための方法、システム、およびコンピュータ使用可能なプログラム製品が実施例において提供される。【解決手段】数個のＩ／Ｏ装置の各々の現在の使用率が判定される。その数個のＩ／Ｏ装置に属するＩ／Ｏ装置がルールに違反せずにパワー・ダウンされ得るか否かが違反判定される。この違反判定が偽であることに応答してそのＩ／Ｏ装置がパワー・ダウンされる。マルチパスＩ／Ｏコンフィギュレーションにおいて追加のＩ／Ｏ装置が必要とされるか否かがパワー・アップ判定され得る。そのＩ／Ｏ装置が特定され、パワー・アップされ、マルチパスＩ／Ｏコンフィギュレーションのために利用可能にされ得る。追加のＩ／Ｏ装置が必要とされる時間より前にそのＩ／Ｏ装置の待ち時間が経過し得るか否かが待ち時間判定され得る。パワー・オンは、追加のＩ／Ｏ装置が必要とされる時間より前に遅くとも該待ち時間までに行われ得る。【選択図】図５
2010009570.tif 000002
【特許請求の範囲】
【請求項１】
マルチパス・データ通信におけるエネルギー節約のためのコンピュータ実行される方法であって、
複数のＩ／Ｏ装置の各々の現在の使用率を判定することと、
前記複数のＩ／Ｏ装置のうちのＩ／Ｏ装置がルールに違反せずにパワー・ダウンされ得るか否かを判定し、違反の表示を形成することと、
前記違反の表示が偽であることに応答して前記Ｉ／Ｏ装置をパワー・ダウンすることと、
を含む、前記コンピュータ実行される方法。
【請求項２】
マルチパスＩ／Ｏコンフィギュレーションにおいて追加のＩ／Ｏ装置が必要か否かを判定し、パワー・アップの表示を形成することと、
前記Ｉ／Ｏ装置を特定することと、
前記Ｉ／Ｏ装置をパワー・アップすることと、
前記Ｉ／Ｏ装置をマルチパスＩ／Ｏコンフィギュレーションのために利用可能にすることと、
をさらに含む、請求項１に記載のコンピュータ実行される方法。
【請求項３】
前記追加のＩ／Ｏ装置が必要とされる時間を判定することと、
前記追加のＩ／Ｏ装置が必要とされる前記時間より前に前記Ｉ／Ｏ装置の待ち時間が経過し得るか否かを判定し、待ち時間の表示を形成することと、
前記待ち時間の表示が真であることに応答して前記Ｉ／Ｏ装置をパワー・オンすることと、
をさらに含む、請求項２に記載のコンピュータ実行される方法。
【請求項４】
前記パワー・オンは、前記追加のＩ／Ｏ装置が必要とされる時間より前に遅くとも前記待ち時間までに行われる、請求項３に記載のコンピュータ実行される方法。
【請求項５】
前記パワー・アップの表示を形成する前記判定は、（ｉ）前記追加のＩ／Ｏ装置を求めるリクエストを受け取ることと、（ｉｉ）前記追加の装置に対するニーズを予測することとのうちの一方をさらに含む、請求項２に記載のコンピュータ実行される方法。
【請求項６】
前記Ｉ／Ｏ装置を特定することに失敗したことに応答してユーザに通知をすることをさらに含む、請求項２に記載のコンピュータ実行される方法。
【請求項７】
前記違反の表示を形成する前記判定は、（ｉ）ルールを実行すること、（ｉｉ）システム・ポリシーを実行すること、（ｉｉｉ）コンフィギュレーションを実行すること、のうちの１つをさらに含む、請求項１に記載のコンピュータ実行される方法。
【請求項８】
前記パワー・ダウンは、
ルールに基づいて、前記Ｉ／Ｏ装置をパワー・ダウンするロジックを作動させること、
をさらに含む、請求項１に記載のコンピュータ実行される方法。
【請求項９】
マルチパス・データ通信におけるエネルギー節約のためのコンピュータ使用可能なコードを含むコンピュータ使用可能な媒体を含むコンピュータ使用可能なプログラム製品であって、前記コンピュータ使用可能なコードは、
複数のＩ／Ｏ装置の各々の現在の使用率を判定するためのコンピュータ使用可能なコードと、
前記複数のＩ／Ｏ装置のうちのＩ／Ｏ装置がルールに違反せずにパワー・ダウンされ得るか否かを判定し、違反の表示を形成するためのコンピュータ使用可能なコードと、
前記違反の表示が偽であることに応答して前記Ｉ／Ｏ装置をパワー・ダウンするためのコンピュータ使用可能なコードであって、ルールに基づいて、前記Ｉ／Ｏ装置をパワー・ダウンするロジックを作動させるためのコンピュータ使用可能なコードを含む前記パワー・ダウンするためのコンピュータ使用可能なコードと、
を含む、前記コンピュータ使用可能なプログラム製品。
【請求項１０】
マルチパスＩ／Ｏコンフィギュレーションにおいて追加のＩ／Ｏ装置が必要か否かを判定し、パワー・アップの表示を形成するためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置を特定するためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置をパワー・アップするためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置をマルチパスＩ／Ｏコンフィギュレーションのために利用可能にするためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置を特定することに失敗したことに応答してユーザに通知をするためのコンピュータ使用可能なコードと、
をさらに含む、請求項９に記載のコンピュータ使用可能なプログラム製品。
【請求項１１】
前記追加のＩ／Ｏ装置が必要とされる時間を判定するためのコンピュータ使用可能なコードと、
前記追加のＩ／Ｏ装置が必要とされる前記時間より前に前記Ｉ／Ｏ装置の待ち時間が経過し得るか否かを判定し、待ち時間の表示を形成するためのコンピュータ使用可能なコードと、
前記待ち時間の表示が真であることに応答して前記Ｉ／Ｏ装置をパワー・オンするためのコンピュータ使用可能なコードと、
をさらに含む、請求項１０に記載のコンピュータ使用可能なプログラム製品。
【請求項１２】
前記パワー・オンは、前記追加のＩ／Ｏ装置が必要とされる時間より前に遅くとも前記待ち時間までに行われる、請求項１１に記載のコンピュータ使用可能なプログラム製品。
【請求項１３】
前記パワー・アップの表示を形成する前記判定のための前記コンピュータ使用可能なコードは、（ｉ）前記追加のＩ／Ｏ装置を求めるリクエストを受け取ることと、（ｉｉ）前記追加のＩ／Ｏ装置に対するニーズを予測することとのうちの一方のためのコンピュータ使用可能なコードをさらに含む、請求項１０に記載のコンピュータ使用可能なプログラム製品。
【請求項１４】
前記違反の表示を形成する前記判定のための前記コンピュータ使用可能なコードは、（ｉ）ルールを実行すること、（ｉｉ）システム・ポリシーを実行すること、（ｉｉｉ）コンフィギュレーションを実行すること、のうちの１つのためのコンピュータ使用可能なコードをさらに含む、請求項９に記載のコンピュータ使用可能なプログラム製品。
【請求項１５】
マルチパス・データ通信におけるエネルギー節約のためのデータ処理システムであって、前記データ処理システムは、
コンピュータ使用可能なプログラム・コードを記憶する、記憶媒体を含む記憶装置と、
前記コンピュータ使用可能なプログラム・コードを実行するプロセッサとを含み、前記コンピュータ使用可能なプログラム・コードは、
複数のＩ／Ｏ装置の各々の現在の使用率を判定するためのコンピュータ使用可能なコードと、
前記複数のＩ／Ｏ装置のうちのＩ／Ｏ装置がルールに違反せずにパワー・ダウンされ得るか否かを判定し、違反の表示を形成するためのコンピュータ使用可能なコードと、
前記違反の表示が偽であることに応答して前記Ｉ／Ｏ装置をパワー・ダウンするためのコンピュータ使用可能なコードであって、ルールに基づいて、前記Ｉ／Ｏ装置をパワー・ダウンするロジックを作動させるためのコンピュータ使用可能なコードを含む前記パワー・ダウンするためのコンピュータ使用可能なコードと、
を含む、前記データ処理システム。
【請求項１６】
マルチパスＩ／Ｏコンフィギュレーションにおいて追加のＩ／Ｏ装置が必要か否かを判定し、パワー・アップの表示を形成するためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置を特定するためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置をパワー・アップするためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置をマルチパスＩ／Ｏコンフィギュレーションのために利用可能にするためのコンピュータ使用可能なコードと、
前記Ｉ／Ｏ装置を特定することに失敗したことに応答してユーザに通知をするためのコンピュータ使用可能なコードと、
をさらに含む、請求項１５に記載のデータ処理システム。
【請求項１７】
前記追加のＩ／Ｏ装置が必要とされる時間を判定するためのコンピュータ使用可能なコードと、
前記追加のＩ／Ｏ装置が必要とされる前記時間より前に前記Ｉ／Ｏ装置の待ち時間が経過し得るか否かを判定し、待ち時間の表示を形成するためのコンピュータ使用可能なコードと、
前記待ち時間の表示が真であることに応答して前記Ｉ／Ｏ装置をパワー・オンするためのコンピュータ使用可能なコードと、
をさらに含む、請求項１６に記載のデータ処理システム。
【請求項１８】
前記パワー・オンは、前記追加のＩ／Ｏ装置が必要とされる時間より前に遅くとも前記待ち時間までに行われる、請求項１７に記載のデータ処理システム。
【請求項１９】
前記パワー・アップの表示を形成する前記判定のための前記コンピュータ使用可能なコードは、（ｉ）前記追加のＩ／Ｏ装置を求めるリクエストを受け取ることと、（ｉｉ）前記追加のＩ／Ｏ装置に対するニーズを予測することとのうちの一方のためのコンピュータ使用可能なコードをさらに含む、請求項１６に記載のデータ処理システム。
【請求項２０】
前記違反の表示を形成する前記判定のための前記コンピュータ使用可能なコードは、（ｉ）ルールを実行すること、（ｉｉ）システム・ポリシーを実行すること、（ｉｉｉ）コンフィギュレーションを実行すること、のうちの１つのためのコンピュータ使用可能なコードをさらに含む、請求項１５に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、改良されたデータ処理システムに関し、特にマルチパス・データ通信のためのコンピュータ実行される方法に関する。さらに特に、本発明は、マルチパス・データ通信におけるエネルギー節約のためのコンピュータ実行される方法、システム、およびコンピュータ使用可能なプログラム・コードに関する。
【背景技術】
【０００２】
データ処理システムは、論理的パーティション（ＬＰＡＲ）に分割され得る。論理的パーティションは単に“パーティション”としても知られている。各パーティションは、他のパーティションとは無関係に別個のデータ処理システムとして動作する。一般に、パーティション管理ファームウェアが種々のパーティションを接続して、それらの間にネットワーク接続性を提供する。ハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）は、そのようなパーティション管理ファームウェアの一例である。
【０００３】
パーティションは、データを読み出し、書き込み、格納し、管理するために１つ以上のデータ記憶装置にアクセスすることができる。或る分割型データ処理システムでは、仮想入出力（Ｉ／Ｏ）サーバがパーティションに１つ以上のデータ記憶装置へのアクセスを提供する。データ記憶装置は、ストレージ・アレイあるいはストレージ・エリア・ネットワーク（ＳＡＮ）の場合のように、ハードディスクのような１つ以上の物理的データ記憶ユニットを含むことができる。
【０００４】
仮想Ｉ／Ｏサーバを使用しあるいは使用しないパーティションは、２つ以上のデータ通信経路を介して特定のデータ記憶装置にアクセスすることができる。パーティションとデータ記憶装置との間で２つ以上のデータ通信経路を介して行われるデータ通信はマルチパス入出力（マルチパスＩ／Ｏ）と呼ばれる。
【０００５】
マルチパスＩ／Ｏを利用するパーティションは、データ記憶装置と通信するために複数のＩ／Ｏアダプタを使用することができる。各Ｉ／Ｏアダプタは別個のデータ・ネットワークを介してデータ記憶装置と通信する。マルチパスＩ／Ｏコンフィギュレーションは、パーティションとデータ記憶装置との間のデータ・スループット・レートを増大させるために分割型データ処理システムでよく使われる。マルチパスＩ／Ｏコンフィギュレーションは、また、パーティションとデータ記憶装置との間のデータ通信の信頼性を、それらの間に冗長データ通信経路を提供することによって、改善する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、マルチパス・データ通信におけるエネルギー節約を目的とする。
【課題を解決するための手段】
【０００７】
実施例は、マルチパス・データ通信におけるエネルギー節約のための方法、システム、およびコンピュータ使用可能なプログラム製品を提供する。数個のＩ／Ｏ装置の各々の現在の使用率が判定される。数個のＩ／Ｏ装置のうちのＩ／Ｏ装置がルールに違反せずにパワー・ダウンされ得るか否かを判定する、違反判定を形成する判定が行われる。そのＩ／Ｏ装置は、違反判定が偽であることに応答してパワー・ダウンされる。
【０００８】
マルチパスＩ／Ｏコンフィギュレーションにおいて追加のＩ／Ｏ装置が必要か否かを判定する、パワー・アップ判定を形成する判定が行われ得る。そのＩ／Ｏ装置が特定され得る。そのＩ／Ｏ装置はパワー・アップされ得る。そのＩ／Ｏ装置はマルチパスＩ／Ｏコンフィギュレーションのために利用可能にされ得る。そのＩ／Ｏ装置の特定が履行されないことに応答してユーザに対して通知が行われ得る。
【０００９】
追加のＩ／Ｏ装置が必要とされる時間が判定され得る。追加のＩ／Ｏ装置が必要とされる時間より前に該Ｉ／Ｏ装置の待ち時間が経過し得るか否かを判定する、待ち時間判定を形成する判定が行われ得る。そのＩ／Ｏ装置は、待ち時間判定が真であることに応答してパワー・オンされ得る。一実施態様では、そのパワー・オンは、追加のＩ／Ｏ装置が必要とされる時間より前に遅くとも待ち時間までに行われ得る。
【００１０】
パワー・アップ判定は、追加のＩ／Ｏ装置を求めるリクエストを受け取ること、あるいは追加のＩ／Ｏ装置に対するニーズを予測することをさらに含み得る。違反判定は、ルールを実行すること、システム・ポリシーを実行すること、あるいはコンフィギュレーションを実行することをさらに含むことができる。パワー・ダウンは、Ｉ／Ｏ装置をパワー・ダウンするロジックをルールに基いて作動させることをさらに含み得る。
【００１１】
本発明を特徴付けると考えられる新規な特徴が、添付されている請求項に記載されている。しかし、本発明自体は、好ましい使用方法、その更なる目的および利点と共に、実施例についての以下の詳細な説明を添付図面と関連させて読んだときに最善に理解されるであろう。
【発明を実施するための最良の形態】
【００１２】
本書において記載される実施例は、マルチパス・データ通信におけるエネルギー節約のための方法、システム、およびコンピュータ使用可能なプログラム製品を提供する。実施例は、本書において時には記述を明瞭にするためにパーティションと特定のパーティション技術とを単なる一例として用いて記載される。実施例は、いろいろなデータ処理システムにおいてマルチパスＩ／Ｏを記述された仕方で管理するために使用され得る。例えば、マルチパスＩ／Ｏコンフィギュレーションを採用する非分割型システムは、実施例の範囲内でここに記載された仕方で該実施例を用いることができる。
【００１３】
現在利用可能なマルチパスＩ／Ｏソリューションがデータ処理システムとデータ記憶装置との間のＩ／Ｏのために、ネットワーク・アダプタなどの、設定されているＩ／Ｏ装置の全部または大部分を使用するということを実施例は認識している。さらに、現在利用可能なマルチパスＩ／Ｏソリューションは、しばしば、それらのＩ／Ｏ装置を充分に活用しない。活用が不十分であることは、一般に、Ｉ／Ｏ装置と、関連するデータ・ネットワークとが全体としてパーティションまたはデータ処理システムが必要とするより大きなデータ収容能力を持っていることに起因する。
【００１４】
実施例は、マルチパスＩ／Ｏを使用する現在の方法が計算リソースに関して不経済であり、またエネルギーに関して不経済であることを認識している。一例として、一つの代表的なマルチパス・データ通信コンフィギュレーションでは、Ｉ／Ｏ装置のうちの幾つかは動作可能な状態に留まっているが、どんなデータも全く伝達できないということがあり得る。動作可能であるということは、パワー・オンされた状態にあり、指示された機能を何時でも実行できるということである。動作可能であることにより、Ｉ／Ｏ装置は電力を消費する。しかし、実施例が認識しているように、データ通信に携わっていないかもしれないネットワーク・アダプタでは、その電力は浪費されている。
【００１５】
さらに、マルチパスＩ／Ｏコンフィギュレーションにおいてたとえ幾つかのＩ／Ｏ装置がデータ通信に携わっているかもしれなくても、それらのＩ／Ｏ装置を解放するようにデータ通信を調整できることを実施例は認識している。例えば、１つのＩ／Ｏ装置は、自分のデータ通信能力の僅か２０パーセントを利用しているに過ぎないかもしれない。第２のＩ／Ｏ装置は、自分のデータ通信能力の４０パーセントを利用しているかもしれない。従って、これらのＩ／Ｏ装置は、パワー・アップされて自分たちが動作可能であるために必要とする電力の全部を消費しているけれども、不十分に利用されているに過ぎない。実施例は、このようなＩ／Ｏ装置で電力がまた無駄に消費されていることを認識する。
【００１６】
受信者のグループに電子メールを送ることに関連するこれらの及び他の問題に対処するために、実施例は、マルチパス・データ通信におけるエネルギー節約のための方法、システムおよびコンピュータ使用可能なプログラム製品を提供する。実施例によれば、第１Ｉ／Ｏ装置のデータ通信は第２Ｉ／Ｏ装置に移され得る。移されたデータ通信は、第２Ｉ／Ｏ装置の使用率を増大させ、第１Ｉ／Ｏ装置の使用率をゼロに減少させることができ、第１Ｉ／Ｏ装置は最早データ通信に携わらないかもしれない。
【００１７】
実施例は、使用されていないＩ／Ｏアダプタをパワー・ダウンする方法をさらに提供する。実施例に従って、使用されていないＩ／Ｏアダプタをパワー・ダウンすることは、データ処理システムのデータ通信能力を損なわずに、またマルチパス・データ通信システムの目標を犠牲にせずに、エネルギーを節約する。
【００１８】
本書に記載されている利点は、単なる例に過ぎず、実施例に関して限定をするように意図されてはいない。付加的な、あるいは異なる利点が特定の実施例によって実現され得る。さらに、特定の実施例は、上記の利点の幾つかあるいは全部を持つことができ、あるいは全く持たないかもしれない。
【００１９】
図を、特に図１および２を参照すると、これらの図は、実施例をその中で実現できるデータ処理環境の線図例である。図１および２は、単に例であるに過ぎず、種々の実施態様がその中で実現され得る環境に関して何らかの限定を主張しあるいは示唆するように意図されてはいない。特定のインプリメンテーションは、以下の記述に基づいて、描かれている環境に多くの改変を加えることができる。
【００２０】
図１は、実施例をその中で実現できるデータ処理システムのブロック図を描いている。データ処理システム１００は、システム・バス１０６に接続する複数のプロセッサ１０１，１０２，１０３，１０４を含む対称マルチプロセッサ（ＳＭＰ）システムであり得る。例えば、データ処理システム１００は、ネットワーク内でサーバとして実現されたＩＢＭ社のｅＳｅｒｖｅｒ（登録商標）であり得る。（ｅＳｅｒｖｅｒは１つの製品であり、ｅ（ロゴ）ｓｅｒｖｅｒは米国および他の国におけるＩＢＭ社の商標である）。あるいは、シングル・プロセッサ・システムが採用されても良い。システム・バス１０６にメモリ・コントローラ／キャッシュ１０８も接続されており、これは複数のローカル・メモリ１６０−１６３とのインターフェースを提供する。Ｉ／Ｏバス・ブリッジ１１０は、システム・バス１０６に接続し、Ｉ／Ｏバス１１２とのインターフェースを提供する。メモリ・コントローラ／キャッシュ１０８とＩ／Ｏバス・ブリッジ１１０とは、図示されているように統合され得る。
【００２１】
データ処理システム１００は論理分割されたデータ処理システムである。従って、データ処理システム１００は、同時に動作する複数の異種オペレーティング・システム（あるいは単一のオペレーティング・システムの複数のインスタンス）を持つことができる。これらの複数のオペレーティング・システムの各々は、その中で実行する任意の数のソフトウェア・プログラムを持ち得る。データ処理システム１００は、異なるＰＣＩ  Ｉ／Ｏアダプタ１２０−１２１，１２８−１２９，１３６、グラフィックス・アダプタ１４８、およびハードディスク・アダプタ１４９が異なる論理パーティションに割り当てられ得るように、論理的に分割されている。この場合、グラフィックス・アダプタ１４８は表示装置（図示されていない）に向けて接続し、ハードディスク・アダプタ１４９はハードディスク１５０に接続して制御する。
【００２２】
例えば、データ処理システム１００は３つの論理パーティションＰ１，Ｐ２，Ｐ３に分割されていると想定する。ＰＣＩ  Ｉ／Ｏアダプタ１２０−１２１，１２８−１２９，１３６、グラフィックス・アダプタ１４８、ハードディスク・アダプタ１４９の各々と、ホスト・プロセッサ１０１−１０４の各々と、ローカル・メモリ１６０−１６３からのメモリとが３つのパーティションの各々に割り当てられる。これらの例において、メモリ１６０−１６３は、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）の形をとることができる。ＤＩＭＭは普通はＤＩＭＭ毎にはパーティションに割り当てられない。代わりに、パーティションは、プラットフォームにより見られるメモリ全体の一部分を得る。例えば、プロセッサ１０１と、ローカル・メモリ１６０−１６３からのメモリの多少の部分と、Ｉ／Ｏアダプタ１２０，１２８，１２９とが論理パーティションＰ１に割り当てられることができ、プロセッサ１０２−１０３と、ローカル・メモリ１６０−１６３からのメモリの多少の部分と、ＰＣＩ  Ｉ／Ｏアダプタ１２１，１３６とがパーティションＰ２に割り当てられることができ、プロセッサ１０４と、ローカル・メモリ１６０−１６３からのメモリの多少の部分と、グラフィックス・アダプタ１４８と、ハードディスク・アダプタ１４９とが論理パーティションＰ３に割り当てられることができる。
【００２３】
データ処理システム１００の中で実行する各オペレーティング・システムは、別々の論理パーティションに割り当てられる。従って、データ処理システム１００の中で実行する各オペレーティング・システムは、その論理パーティションの中にあるＩ／Ｏユニットだけにアクセスできる。例えば、アドバンスト・インタラクティブ・エグゼクティブ（ＡＩＸ（登録商標））の１つのインスタンスはパーティションＰ１の中で実行することができ、ＡＩＸオペレーティング・システムの第２インスタンス（イメージ）はパーティションＰ２の中で実行することができ、Ｌｉｎｕｘ（登録商標）またはＯＳ／４００（登録商標）オペレーティング・システムは論理パーティションＰ３の中で動作することができる。（ＡＩＸとＯＳ／４００とはＩＢＭ社の米国および他の国における商標である。Ｌｉｎｕｘはリーナス・トーバルズの米国および他の国における商標である。）
【００２４】
Ｉ／Ｏバス１１２に接続されたペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）ホスト・ブリッジ１１４は、ＰＣＩローカル・バス１１５とのインターフェースを提供する。数個のＰＣＩ入出力アダプタ１２０−１２１は、ＰＣＩ−ＰＣＩブリッジ１１６、ＰＣＩバス１１８、ＰＣＩバス１１９、Ｉ／Ｏスロット１７０、およびＩ／Ｏスロット１７１を通してＰＣＩバス１１５に接続する。ＰＣＩ−ＰＣＩブリッジ１１６は、ＰＣＩバス１１８およびＰＣＩバス１１９とのインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ１２０，１２１は、それぞれ、Ｉ／Ｏスロット１７０，１７１に挿入される。代表的なＰＣＩバス・インプリメンテーションは４個ないし８個のＩ／Ｏアダプタ（すなわち、アドイン・コネクタのための拡張スロット）をサポートする。各ＰＣＩ  Ｉ／Ｏアダプタ１２０−１２１は、データ処理システム１００と、例えば、データ処理システム１００のクライアントである他のネットワーク・コンピュータなどの入出力装置との間のインターフェースを提供する。
【００２５】
付加的なＰＣＩホスト・ブリッジ１２２は、付加的なＰＣＩバス１２３のためのインターフェースを提供する。ＰＣＩバス１２３は複数のＰＣＩ  Ｉ／Ｏアダプタ１２８−１２９に接続する。ＰＣＩ  Ｉ／Ｏアダプタ１２８−１２９は、ＰＣＩ−ＰＣＩブリッジ１２４、ＰＣＩバス１２６、ＰＣＩバス１２７、Ｉ／Ｏスロット１７２、およびＩ／Ｏスロット１７３を通してＰＣＩバス１２３に接続する。ＰＣＩ−ＰＣＩブリッジ１２４は、ＰＣＩバス１２６およびＰＣＩバス１２７とのインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ１２８，１２９は、それぞれ、Ｉ／Ｏスロット１７２，１７３に挿入される。このように、例えばモデムまたはネットワーク・アダプタなどの付加的なＩ／Ｏ装置はＰＣＩ  Ｉ／Ｏアダプタ１２８−１２９の各々を通してサポートされ得る。従って、データ処理システム１００は、複数のネットワーク・コンピュータとの接続を可能にする。
【００２６】
メモリマップの（ｍｅｍｏｒｙ  ｍａｐｐｅｄ）グラフィックス・アダプタ１４８は、Ｉ／Ｏスロット１７４に挿入され、ＰＣＩバス１４４、ＰＣＩ−ＰＣＩブリッジ１４２、ＰＣＩバス１４１、およびＰＣＩホスト・ブリッジ１４０を通してＩ／Ｏバス１１２に接続する。ハードディスク・アダプタ１４９はＩ／Ｏスロット１７５に挿入されることができ、これはＰＣＩバス１４５に接続する。このバスはＰＣＩ−ＰＣＩブリッジ１４２に接続し、これはＰＣＩバス１４１によりＰＣＩホストブリッジ１４０に接続する。
【００２７】
ＰＣＩホスト・ブリッジ１３０は、ＰＣＩバス１３１にＩ／Ｏバス１１２との接続のためのインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ１３６はＩ／Ｏスロット１７６に接続し、これはＰＣＩバス１３３によりＰＣＩ−ＰＣＩブリッジ１３２に接続する。ＰＣＩ−ＰＣＩブリッジ１３２はＰＣＩバス１３１に接続する。このＰＣＩバスは、また、ＰＣＩホスト・ブリッジ１３０を、サービス・プロセッサ・メールボックス・インターフェース・アンドＩＳＡバス・アクセス・パス・スルー・ロジック１９４とＰＣＩ−ＰＣＩブリッジ１３２とに接続する。
【００２８】
サービス・プロセッサ・メールボックス・インターフェース・アンドＩＳＡバス・アクセス・パス・スルー・ロジック１９４は、ＰＣＩ／ＩＳＡブリッジ１９３に向けられたＰＣＩアクセスを転送する。ＮＶＲＡＭ記憶装置１９２は、ＩＳＡバス１９６に接続する。サービス・プロセッサ１３５は、そのローカルＰＣＩバス１９５を通してサービス・プロセッサ・メールボックス・インターフェース・アンドＩＳＡバス・アクセス・パス・スルー・ロジック１９４に接続する。サービス・プロセッサ１３５は、また、複数のＪＴＡＧ／Ｉ２Ｃバス１３４を介してプロセッサ１０１−１０４に接続する。ＪＴＡＧ／Ｉ２Ｃバス１３４は、ＪＴＡＧ／スキャン・バス（ＩＥＥＥ１１４９．１を参照）とフィリップスＩ２Ｃバスとの組み合わせである。
【００２９】
しかし、その代わりに、ＪＴＡＧ／Ｉ２Ｃバス１３４は、フィリップスＩ２ＣバスだけにあるいはＪＴＡＧ／スキャン・バスだけに取って代わられても良い。ホスト・プロセッサ１０１，１０２，１０３，１０４の全てのＳＰ−ＡＴＴＮ信号は、互いに結合しあってサービス・プロセッサ１３５のインターラプト入力信号となる。サービス・プロセッサ１３５は、それ自身のローカル・メモリ１９１を有し、ハードウェアＯＰ−パネル１９０へのアクセスを有する。
【００３０】
データ処理システム１００が最初にパワー・アップされるとき、サービス・プロセッサ１３５は、システム（ホスト）プロセッサ１０１−１０４、メモリ・コントローラ／キャッシュ１０８、およびＩ／Ｏブリッジ１１０に質問をするためにＪＴＡＧ／Ｉ２Ｃバス１３４を使用する。このステップの完了時に、サービス・プロセッサ１３５はデータ処理システム１００についてのインベントリおよびトポロジ理解を有する。サービス・プロセッサ１３５は、また、ホスト・プロセッサ１０１−１０４、メモリ・コントローラ／キャッシュ１０８、およびＩ／Ｏブリッジ１１０に質問をすることによって発見された全てのエレメントに対してビルトイン・セルフ・テスト（ＢＩＳＴ）、ベーシック・アシュアランス・テスト（ＢＡＴ）、およびメモリ・テストを実行する。このＢＩＳＴ、ＢＡＴ、およびメモリ・テストの間に検出された故障についてのエラー情報は、サービス・プロセッサ１３５により集められて報告される。
【００３１】
ＢＩＳＴ、ＢＡＴ、およびメモリ・テストの間に故障していると分かったエレメントを取り除いた後でもなおシステム・リソースの有意義な／有効なコンフィギュレーションが可能であるならば、データ処理システム１００は実行可能なコードをローカル（ホスト）メモリ１６０−１６３にロードすることを許される。サービス・プロセッサ１３５は、その後、ローカル・メモリ１６０−１６３にロードされたコードの実行のためにホスト・プロセッサ１０１−１０４を解放する。ホスト・プロセッサ１０１−１０４がデータ処理システム１００内のそれぞれのオペレーティング・システムからのコードを実行している間に、サービス・プロセッサ１３５はエラーを監視し報告するモードに入る。サービス・プロセッサ１３５により監視されるアイテムの種類は、例えば、冷却ファンの速度および動作、温度センサ、電源制御装置、並びに、プロセッサ１０１−１０４、ローカル・メモリ１６０−１６３およびＩ／Ｏブリッジ１１０により報告される回復可能なエラーおよび回復不能のエラーを含む。
【００３２】
サービス・プロセッサ１３５は、データ処理システム１００の全ての監視されるアイテムに関連するエラー情報を保存し報告する。サービス・プロセッサ１３５は、また、エラーの種類と定められた閾値とに基づいて処置をとる。例えば、サービス・プロセッサ１３５は、プロセッサのキャッシュ・メモリにおける過度の回復可能なエラーを記録し、これが重大な故障の前兆であると判断することができる。この判断に基づいて、サービス・プロセッサ１３５は、現在実行中のセッションと将来の初期プログラム・ロード（ＩＰＬ）のときにコンフィギュレーションから外すためにそのリソースをマークすることができる。ＩＰＬは、時には“ブート”または“ブートストラップ”とも称される。
【００３３】
データ処理システム１００は、種々の商業的に利用可能なコンピュータ・システムを用いて実現され得る。例えば、データ処理システム１００は、ＩＢＭ社から入手できるＩＢＭのｅＳｅｒｖｅｒ  ｉＳｅｒｉｅｓ（ＩＢＭ社の登録商標）モデル８４０システムを用いて実現され得る。その様なシステムはＯＳ／４００（ＩＢＭ社の登録商標）オペレーティング・システムを用いて論理的分割をサポートすることができ、これもＩＢＭ社から入手できる。
【００３４】
図１に描かれているハードウェアが変わり得ることを当業者は認めるであろう。例えば、図示されているハードウェアに加えてあるいはその代わりに、光ディスク・ドライブなどの他の周辺装置を使用することができる。図示されている例は、実施例に関してアーキテクチャ上の限定を示唆するように意図されてはいない。
【００３５】
図２を参照すると、実施例をその中で実現できる代表的な論理分割プラットフォームのブロック図が描かれている。論理分割プラットフォーム２００のハードウェアは、例えば、図１のデータ処理システム１００として実現され得る。
【００３６】
論理分割プラットフォーム２００は、分割されたハードウェア２３０、オペレーティング・システム２０２，２０４，２０６，２０８、およびプラットフォーム・ファームウェア２１０を含む。プラットフォーム・ファームウェア２１０のようなプラットフォーム・ファームウェアは、パーティション管理ファームウェアとしても知られている。オペレーティング・システム２０２，２０４，２０６，２０８は、単一のオペレーティング・システムの複数のコピー、あるいは論理分割プラットフォーム２００上で同時に動作する複数の異種オペレーティング・システムであり得る。これらのオペレーティング・システムはＯＳ／４００を用いて実現されることができ、これはハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）のようなパーティション管理ファームウェアとインターフェースするように設計されている。ＯＳ／４００（ＩＢＭ社の登録商標）は、これらの実施例において単に例として用いられるに過ぎない。もちろん、個々のインプリメンテーションにより、ＡＩＸ（ＩＢＭ社の登録商標）およびリナックス（Ｌｉｎｕｘ）のような他のタイプのオペレーティング・システムを使用しても良い。オペレーティング・システム２０２，２０４，２０６，２０８はパーティション２０３，２０５，２０７，２０９に置かれている。
【００３７】
ハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）ソフトウェアは、パーティション管理ファームウェア２１０を実現するために使用され得るソフトウェアの例であり、ＩＢＭ社から入手できる。ファームウェアは、例えば、読み出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、および不揮発性ランダム・アクセス・メモリ（不揮発性ＲＡＭ）などの電力無しでその内容を保持するメモリ・チップに格納される“ソフトウェア”である。
【００３８】
さらに、これらのパーティションはパーティション・ファームウェア２１１，２１３，２１５，２１７も含む。パーティション・ファームウェア２１１，２１３，２１５，２１７は、イニシャル・ブート・ストラップ・コード、ＩＥＥＥ−１２７５スタンダード・オープン・ファームウェア、およびＩＢＭ社から入手できるランタイム・アブストラクション・ソフトウェア（ＲＴＡＳ）を用いて実現され得る。パーティション２０３，２０５，２０７，２０９がインスタンス化されるとき、ブート・ストラップ・コードのコピーがプラットフォーム・ファームウェア２１０によってパーティション２０３，２０５，２０７，２０９にロードされる。その後、コントロールはブート・ストラップ・コードに移され、ブート・ストラップ・コードはその後、オープン・ファームウェアとＲＴＡＳとをロードする。その後、パーティションに関連付けられあるいは割り当てられているプロセッサは、パーティション・ファームウェアを実行するためにパーティションのメモリにディスパッチされる。
【００３９】
分割されたハードウェア２３０は、複数のプロセッサ２３２−２３８と、複数のシステム・メモリ・ユニット２４０−２４６と、複数の入出力（Ｉ／Ｏ）アダプタ２４８−２６２と、記憶装置２７０とを含む。プロセッサ２３２−２３８、メモリ・ユニット２４０−２４６、ＮＶＲＡＭ記憶装置２９８、およびＩ／Ｏアダプタ２４８−２６２の各々は論理分割プラットフォーム２００内の複数のパーティションのうちの１つに割り当てられることができ、その各々はオペレーティング・システム２０２，２０４，２０６，２０８のうちの１つに対応する。
【００４０】
パーティション管理ファームウェア２１０は、論理分割プラットフォーム２００のパーティショニングを引き起こし実施するべくパーティション２０３，２０５，２０７，２０９のために幾つかの機能およびサービスを実行する。パーティション管理ファームウェア２１０は、下に存在するハードウェアと同一のファームウェア実現される仮想マシンである。パーティション管理ファームウェア２１０は、論理分割プラットフォーム２００の全てのハードウェア・リソースを仮想化することによって独立のＯＳイメージ２０２，２０４，２０６，２０８の同時実行を可能にする。
【００４１】
サービス・プロセッサ２９０は、パーティションにおけるプラットフォーム・エラーの処理などの種々のサービスを提供するために使用され得る。これらのサービスは、ＩＢＭ社のようなベンダーにエラーを報告するためにサービス・エージェントとして行動することもできる。種々のパーティションの動作は、ハードウェア管理コンソール２８０のようなハードウェア管理コンソールを通して制御され得る。ハードウェア管理コンソール２８０は１つの独立のデータ処理システムであって、これからシステム管理者は種々のパーティションへのリソースの再割り当てを含む種々の機能を実行することができる。
【００４２】
図１−２のハードウェアは、インプリメンテーションにより変わり得る。図１−２に示されている或るハードウェアに加えてあるいはその代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、あるいは光ディスク・ドライブなどの他の内部ハードウェアまたは周辺装置が使用され得る。実施例の１つのインプリメンテーションは、実施例の範囲から逸脱せずにパーティションを管理するために代わりのアーキテクチャを使用することもできる。
【００４３】
図１−２に示されている例と上記の例とは、アーキテクチャに関する限定事項を示唆するように意図されてはいない。例えば、論理分割プラットフォーム２００は、実施例の範囲内で実施例を実施するために非分割型データ処理システムと置き換えられても良い。さらに、その非分割型データ処理システムは、ＰＤＡの形をとるほかに、タブレット・コンピュータ、ラップトップ・コンピュータまたは電話装置であり得る。代わりのデータ処理システムのこれらの例は、マルチパスＩ／Ｏコンフィギュレーションと同様に動作し得る複数のネットワーク・アダプタまたは無線通信装置を含むことができる。従って、実施例は、この開示に記載されている仕方で、これらのデータ処理システムに応用され得る。
【００４４】
図３を参照すると、この図は、一実施例に従ってマルチパス・データ通信を監視することのブロック図を描いている。
【００４５】
データ処理システム３００は、図２のパーティション２０３のようなパーティションであり得る。あるいは、データ処理システム３００は、図２の論理分割プラットフォーム２００全体であり得る。あるいは、データ処理システム３００は、マルチパス・データ通信を使用するクライアントまたはサーバ・データ処理システムのような任意タイプのコンピュータにおいて実現され得る。
【００４６】
データ処理システム３００は、イーサネット(登録商標）でのデータ通信のための物理的ネットワーク・アダプタのような、数個のＩ／Ｏ装置を含むことができる。アダプタ３０２，３０４，３０６は、その様なＩ／Ｏ装置の例である。データ処理システム３００は、アダプタ３０２，３０４，３０６の代わりとなるかあるいはこれらのアダプタと組み合わされるＩ／Ｏ装置として、無線トランシーバのような、無線通信に使用できる装置を含むこともできる。
【００４７】
データ処理システム３００は、さらにオペレーティング・システム３０８を含む。１つ以上のアプリケーション３１０がデータ処理システム３００上で実行できる。
【００４８】
データ処理システム３００は、マルチパス・データ通信コンフィギュレーションでデータ記憶装置３１２と通信することができる。データ記憶装置３１２も数個のＩ／Ｏ装置を含むことができる。アダプタ３１４，３１６，３１８，３２０は、その様なＩ／Ｏ装置の例であり、ネットワーク・アダプタ、無線トランシーバ、またはその組み合わせの形をとることができる。アダプタ３１４，３１６，３１８，３２０は、データ記憶装置３１２を許容し、あるいは、数個のデータ・ネットワークを介するデータ処理システム３００および他のデータ処理システムとのデータ通信に参加する。
【００４９】
この図例では、データ処理システム３００は、マルチパス・データ通信を用いてデータ記憶装置３１２と通信する。マルチパス・データ通信は、アダプタ３０２，３０４，３０６をそれぞれアダプタ３１４，３１６，３２０と通信するように設定することによって確立される。
【００５０】
一実施例では、監視アプリケーション３２２は、データ処理システム３００のアダプタ３０２，３０４，３０６の使用率を監視する。監視アプリケーション３２２は、さらにオペレーティング・システム３０８からのデータ通信容量についての要求を監視することができる。
【００５１】
図４を参照すると、この図は一実施例に従う監視アプリケーションのブロック図を描いている。監視アプリケーション４００は、図３の監視アプリケーション３２２として実現され得る。
【００５２】
監視アプリケーション４００は、コンフィギュレーション・コンポーネント４０２を含むことができる。コンフィギュレーション・コンポーネント４０２は、例えば、ユーザが監視アプリケーション４００の動作を設定することを可能にする。他の例として、コンフィギュレーション・コンポーネント４０２は、図３のデータ処理システム３００のような、監視アプリケーション４００がそこで実行できるところのデータ処理システムが、監視アプリケーション４００がそのもとで実行できるところの基準、条件、あるいはパラメータを確立することを可能にすることができる。
【００５３】
監視アプリケーション４００は、ルール４０６を処理することのできるルール・ベース・エンジン４０４をさらに含むことができる。一実施態様では、ルール４０６は、コンフィギュレーション・コンポーネント４０２に記載されているコンフィギュレーションに由来し得る。例えば、ユーザは、コンフィギュレーション・コンポーネント４０２において、任意の時点でアクティブな物理的ネットワーク・アダプタの総数が２未満ではあり得ないと指定することができる。コンフィギュレーション・コンポーネント４０２からのこの指定は、ルール・ベース・エンジン４０４が実行できるルール４０６中のルールに変換され得る。
【００５４】
他の１つの実施態様では、ルール４０６の中のルールは、監視アプリケーション４００がそこで実行できるところのデータ処理システムにおけるシステム全体にわたるポリシーに由来し、該ポリシーを前身とし、該ポリシーに起因し、該ポリシーに依拠し、あるいは該ポリシーに別様に基づくことができる。例えば、システム・ポリシーは、１つのネットワーク・アダプタの使用率が５分間以上にわたって８０パーセントを上回ることはできないと指定することができる。このシステム・ポリシーは、ルール・ベース・エンジン４０４が実行できるルール４０６の中のルールに変換され得る。
【００５５】
さらに、ルール４０６の中のルールは、どの様にデータ通信を１つのＩ／Ｏ装置から他の１つのＩ／Ｏ装置に移すことによって１つのＩ／Ｏ装置の使用率を減少させて他のＩ／Ｏ装置の使用率を増大させるかを記述することができる。
【００５６】
ルール４０６の中のルールは、パワー・オフされたＩ／Ｏ装置をどの様な状況下でどんな手続きを用いて再びパワー・オンできるかを指定することもできる。ルール４０６の中のルールは、オペレーティング・システムがより大きなデータ通信容量あるいはより高度のデータ通信可用性を要求するときに追加のＩ／Ｏ装置をパワー・オンし利用可能にするためにとるべきステップを指定することができる。ルール４０６の中のルールは、どの様に増大したデータ通信負荷を予測し、増大したデータ通信ニーズが生じる前にＩ／Ｏ装置を予測的にパワー・オンするかを指定することもできる。
【００５７】
ルール４０６の中のルールの例は、ここで記述を明瞭にするために記載されたに過ぎなくて、実施例を限定するものではない。他の多くのタイプの処置とルールの構成とがこの開示から明らかとなろう。その様な付加的なルールは、実施例の範囲内で考慮される。さらに、コンフィギュレーション・コンポーネント４０２、ルール・ベース・エンジン４０４、およびルール４０６の関連相互作用も、明瞭性を目的として例として記載されているに過ぎなくて、それにより実施例に関して何らかの限定を課すものではない。実施例の特定のインプリメンテーションは、実施例の範囲から逸脱せずに代替コンポーネントを通して同様の機能性を達成することができる。
【００５８】
図の説明に戻ると、監視アプリケーション４００はパワー・コントロール・ロジック４０８をさらに含むことができる。パワー・コントロール・ロジック４０８は、図３のアダプタ３０２，３０４、あるいは３０６のいずれかなどの特定のＩ／Ｏ装置をオンあるいはオフにする命令をルール・ベース・エンジン４０４から受け取ることができる。さらに、パワー・コントロール・ロジック４０８は、特定のＩ／Ｏ装置の使用率を、そのＩ／Ｏ装置をパワー・オフする前に減少させるために、一定のデータ通信を１つのＩ／Ｏ装置から他のＩ／Ｏ装置に移すために一定のステップを実行するように構成され得る。
【００５９】
監視アプリケーション４００の図示されているコンポーネントは網羅的ではない。図示されているコンポーネントは、１つの実施例の機能性を記述するために選択されたのであって、実施例についての限定事項として選択されたのではない。特定のインプリメンテーションは、実施例の範囲から逸脱せずに監視アプリケーション４００に追加のあるいは異なるコンポーネントを含むことができる。
【００６０】
図５を参照すると、この図は一実施例に従ってマルチパス・データ通信コンフィギュレーションにおいてエネルギーを節約するプロセスのフローチャートを描いている。プロセス５００は、図４の監視アプリケーション４００において実行され得る。さらに、プロセス５００は、単なる例としてのＩ／Ｏ装置のアダプタ実施態様に関して記載される。プロセス５００で記述されるアダプタは実施例を限定するものではなく、プロセス５００と関連して任意の適切なＩ／Ｏ装置が使用され得る。
【００６１】
プロセス５００は、マルチパス・データ通信コンフィギュレーションにおいて設定されている各アダプタの現在の作業負荷または使用率を判定することから始まる（ステップ５０２）。プロセス５００は、コンフィギュレーションまたはルールに違反せずにいずれかのアダプタをパワー・オフできるか否かを判定する（ステップ５０４）。ステップ５０４の判定を行うことと関連して、プロセス５００は、上記のようにアダプタを解放するために作業負荷を１つのアダプタから他のアダプタに移す追加のステップを実行することができる。
【００６２】
もしプロセス５００が１つのアダプタをパワー・オフできると判定したならば（ステップ５０４の“はい”経路）、プロセス５００はパワー・ダウンに関して複数のアダプタが候補であると判定することができる。プロセス５００は、パワー・ダウンする１つのアダプタを選択する（ステップ５０６）。
【００６３】
デバイスをパワー・ダウンするということは、その装置を完全にまたは部分的にオフにすることである。例えば、或る装置は、その装置への相当の電力がオフにされてその装置の相当の機能が停止しているときにも、なお電力を引くことができる。装置のパワー・ダウン・モードは、装置がパワー・ダウンされているときのその装置の状態である。逆に、装置をパワー・アップするということは、装置の相当の機能を使用可能にするためにその装置に電力を供給することである。装置のパワー・アップ・モードは、その装置の機能の相当の部分を実行するために充分な電力を受け取っている場合のその装置の状態のことである。
【００６４】
プロセス５００は、選択されたアダプタをパワー・ダウンする（ステップ５０８）。プロセス５００は、その後、終了する。アダプタがパワー・オフされ得ないとプロセス５００が判定したならば（ステップ５０４の“いいえ”経路）、プロセス５００はその後にも終了する。
【００６５】
図６を参照すると、この図は１つの実施例に従ってＩ／Ｏ装置をリスタートさせるプロセスのフローチャートを描いている。プロセス６００は、図４の監視アプリケーション４００で実行され得る。図５の場合と同じく、プロセス６００も単に例証を目的としてＩ／Ｏ装置の例としてアダプタを用いる。
【００６６】
プロセス６００は、追加のアダプタに対するニーズを判定することから始まる（ステップ６０２）。プロセス６００は、図７Ａおよび７Ｂに描かれているように少なくとも２つの仕方で該ニーズを判定することができる。
【００６７】
追加のアダプタに対するニーズが存在するかあるいは所定間隔の内に発生しそうであるとプロセス６００がステップ６０２で判定したとき、プロセス６００はパワー・ダウン・モードになっているアダプタがあるか否かを判定する（ステップ６０４）。一実施態様では、その待ち時間がステップ６０２の判定の時間と該ニーズが発生するべき時間との間の間隔より短いアダプタがパワー・ダウン・モードで利用できるか否かを判定することができる。
【００６８】
プロセス６００は、適切なアダプタを特定すると（ステップ６０４の“はい”経路）、そのアダプタをパワー・アップする（ステップ６０６）。プロセス６００は、そのアダプタをマルチパス・データ通信のために利用可能にする（ステップ６０８）。プロセス６００はその後、終了する。
【００６９】
もし増大したデータ通信に対するニーズが発生したかあるいは発生しそうであり、パワー・ダウン・モードの適切なアダプタが利用できなければ（ステップ６０４の“いいえ”経路）、プロセス６００はユーザに通知する（ステップ６１０）。プロセス６００はその後、終了する。一実施態様では、プロセス６００はステップ６１０でシステムに通知することができる。他の１つの実施態様では、プロセス６００はステップ６１０でメッセージを記録することができる。プロセス６００は、実施例の範囲から逸脱せずに、描かれているステップ６１０に代わる任意の適切な選択肢をステップ６１０で実行することができる。
【００７０】
図７Ａを参照すると、この図は一実施例に従って増大したデータ通信に対するニーズを判定する一プロセスのフローチャートを描いている。プロセス７００は、図６のステップ６０２として実行され得る。
【００７１】
プロセス７００は、追加のアダプタを求めるリクエストを受け取ることができる（ステップ７０２）。例えば、ステップ７０２を実行するとき、プロセス７００は、追加のアダプタをマルチパスＩ／Ｏコンフィギュレーションに加えることによって満たされ得る増大したデータ通信容量を該オペレーティング・システムが必要とするという命令を該オペレーティング・システムから受け取ることができる。プロセス７００は図６のプロセス６００のステップ６０４に進むことができる（エントリ・ポイントＡ）。プロセス７００は、その後にプロセス６００が終了するときに終了する。
【００７２】
図７Ｂを参照すると、この図は一実施例に従って増大したデータ通信に対するニーズを判定する他の一プロセスのフローチャートを描いている。プロセス７２０は、図６のステップ６０２として実行され得る。
【００７３】
プロセス７２０は、追加のアダプタに対するニーズを特定することができる（ステップ７２２）。一例として、ステップ７２２を実行するとき、プロセス７００は、マルチパスＩ／Ｏコンフィギュレーションに追加のアダプタを加えることによって満たされ得る将来の或る時点での増大したニーズを予報あるいは予測することができる。
【００７４】
一実施態様では、その様な予測のために、プロセス７２０は、アダプタをパワー・アップすることについての待ち時間を考慮に入れることができる。例えば、特定のアダプタをパワー・オンすることと、そのアダプタがデータ通信に利用され得るようになることとの間に５秒の時間が経過し得る。Ｉ／Ｏ装置をパワー・オンした時点から該Ｉ／Ｏ装置が利用可能になる時点までのその様な時間間隔は、そのＩ／Ｏ装置の待ち時間と称される。プロセス７２０は、いずれかのパワー・ダウンされているアダプタの待ち時間のうちに追加のアダプタに対するニーズが発生しそうであるか否かを予測するとき、ステップ７２２でその様な待ち時間を考慮することができる。図８のプロセス８００は、待ち時間を含む予測プロセスの一例を詳しく示す。
【００７５】
プロセス７２０は、図６のプロセス６００のステップ６０４に進むことができる（エントリ・ポイントＡ）。プロセス７２０は、その後にプロセス６００が終了するときに終了する。プロセス７００および７２０も、単なる例証の目的でＩ／Ｏ装置の例としてアダプタを用いている。
【００７６】
図８を参照すると、この図は、一実施例に従ってＩ／Ｏ装置待ち時間を用いてマルチパス・データ通信作業負荷を管理するプセセスのフローチャートを描いている。プロセス８００は、図７Ｂのステップ７２２と図６のプロセス６００との組み合わせとして実行され得る。プロセス８００も、単なる例証の目的でＩ／Ｏ装置の例としてアダプタを用いる。プロセス８００は、実施例の範囲内で任意のタイプのＩ／Ｏ装置で実行され得る。
【００７７】
プロセス８００は、始めに、将来の時点“Ｔ”における作業負荷予測を受け取るかあるいは判定する（ステップ８０２）。プロセス８００は、時点Ｔにおいて追加のアダプタをマルチパス・コンフィギュレーションに加えなければならないかも知れないか否かを判定する（ステップ８０４）。もしプロセス８００が追加のアダプタが必要でないかも知れないと判定したならば（ステップ８０４の“いいえ”経路）、プロセス８００は終了することができる。
【００７８】
しかし、もし追加のアダプタが加えられなければならないかも知れないとプロセス８００が判定すれば（ステップ８０４の“はい”経路）、プロセス８００はパワー・ダウン・モードのアダプタが利用できるか否かを判定する（ステップ８０６）。パワー・ダウン・モードのアダプタが利用可能ではないけれども１つ必要であるとプロセス８００が判定したならば（ステップ８０６の“いいえ”経路）、プロセス８００は通知を行うかあるいは図６のステップ６１０に類似する他の行動をとることができる（ステップ８０８）。プロセス８００は、その後に終了することができる。
【００７９】
もしパワー・ダウン・モードのアダプタが利用可能であるとプロセス８００が判定したならば（ステップ８０６の“はい”経路）、プロセス８００は、そのアダプタのパワー・アップ待ち時間を判定することができる（ステップ８１０）。プロセス８００は、ステップ８０６で、ステップ８０２のニーズの時点が到来する前にその待ち時間が経過し得るアダプタだけを選択できる。利用可能なアダプタの全てがその時点までに完全に経過し得ない待ち時間を有するならば、プロセス８００は、あたかもニーズを満たすために利用できるアダプタが無いかのようにステップ８０６の“いいえ”経路を進むことができる。
【００８０】
プロセス８００は、Ｔマイナス待ち時間より遅くない時点で該アダプタをパワー・アップすることができる（ステップ８１２）。プロセス８００は、時点Ｔまたはそれより前に該アダプタをマルチパス・データ通信のために利用できるようにする（ステップ８１４）。プロセス８００は、その後に終了する。
【００８１】
ブロック図中のコンポーネントと、上記フローチャートのステップとは単に例として記述されたに過ぎない。該コンポーネントおよびステップは、説明を明瞭にするために選択されたのであって、実施例に関して限定をするものではない。例えば、具体的なインプリメンテーションは、実施例の範囲から逸脱せずに該コンポーネントまたはステップのいずれかを組み合わせ、省略し、さらに細分し、改変し、増大させ、減少させ、あるいは択一的に実施することができる。さらに、上記プロセスのステップは、実施例の範囲内で異なる順序で実行されても良い。
【００８２】
この様に、マルチパス・データ通信においてエネルギーを節約するために実施例においてコンピュータ実行される方法、装置およびコンピュータ・プログラム製品が提供される。実施例を用いて、データ処理システムは、マルチパス・データ通信向けに構成されたＩ／Ｏ装置を選択的にパワー・オンしパワー・オフすることができる。データ処理システムは、データ通信スループットまたは信頼性に悪影響を及ぼさずにエネルギーを節約するためにデータ通信作業負荷を動作中のＩ／Ｏ装置に再分配し、また１つ以上のＩ／Ｏ装置をパワー・オフし得るであろう。
【００８３】
実施例は、変化するデータ通信ニーズに応じて、パワー・ダウンされているＩ／Ｏ装置を柔軟に再使用可能にする。或る実施態様は、データ通信のスループットまたは信頼性における切迫した増大についての予測に基づいてＩ／Ｏ装置をパワー・アップするために使用され得る。
【００８４】
或るインプリメンテーションでは、実施例は、一定の状況下で電力を節約するために１つのＩ／Ｏ装置以外の全てのＩ／Ｏ装置をオフにすることを可能にすることができる。他のインプリメンテーションでは、実施例は、冗長性を維持するために少なくとも２つのＩ／Ｏ装置を除いて他の全てのＩ／Ｏ装置をオフにすることを可能にすることができる。実施例の１つの特定のインプリメンテーションは、任意の時点で作動状態に留まっていなければならないＩ／Ｏ装置の閾値個数をセットすることができる。この条件と、他のコンフィギュレーション関連条件とは、実施例においてルールとルール・ベース・エンジンとを用いて実施され得る。
【００８５】
本発明は、完全にハードウェアの実施態様、完全にソフトウェアの実施態様、あるいはハードウェア要素とソフトウェア要素との両方を含む実施態様の形をとることができる。１つの好ましい実施態様では、本発明はソフトウェアで実施され、それはファームウェア、常駐ソフトウェア、マイクロコードを含むけれども、それらに限定されない。
【００８６】
さらに、本発明は、コンピュータまたは任意の命令実行システムによりあるいはそれらと関連して使用されるプログラム・コードを提供するコンピュータ使用可能なまたはコンピュータ可読の媒体からアクセスできるコンピュータ・プログラム製品の形をとることができる。この記述の目的上、コンピュータ使用可能なまたはコンピュータ可読の媒体は、命令実行システム、装置、またはデバイスにより、あるいはそれらと関連して、使用されるプログラムを包含し、記憶し、伝達し、伝播し、あるいは運ぶことのできる任意の有形装置であり得る。
【００８７】
該媒体は、電子、磁気、光学、電磁、赤外線、あるいは半導体のシステム（あるいは装置またはデバイス）または伝播媒体であり得る。コンピュータ可読媒体の例は、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、リジッド磁気ディスクおよび光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み出し／書き込み（ＣＤ−Ｒ／Ｗ）およびＤＶＤを含む。
【００８８】
さらに、コンピュータ可読のプログラム・コードがコンピュータ上で実行されるときに、このコンピュータ可読のプログラム・コードの実行が該コンピュータに他のコンピュータ可読プログラム・コードを通信リンクを介して送信させるように、コンピュータ記憶媒体はコンピュータ可読のプログラム・コードを収容しあるいは記憶することができる。この通信リンクは、例えば限定無しで、物理的なまたは無線の媒体を使用することができる。
【００８９】
プログラム・コードを記憶し、かつ、または、実行するために適するデータ処理システムは、メモリ素子に直接にあるいはシステム・バスを通して間接的に結合される少なくとも１つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの現実の実行時に使用されるローカル・メモリ、大容量記憶装置、および、実行中にコードが大容量記憶装置から取り出されなければならない回数を減らすために少なくとも多少のプログラム・コードの一時記憶を提供するキャッシュ・メモリを含み得る。
【００９０】
データ処理システムは、サーバ・データ処理システムまたはクライアント・データ処理システムとして動作することができる。サーバ・データ処理システムおよびクライアント・データ処理システムは、コンピュータ可読であるなどしてコンピュータ使用可能であるデータ記憶媒体を含むことができる。サーバ・データ処理システムと関連付けられたデータ記憶媒体は、コンピュータ使用可能なコードを含むことができる。クライアント・データ処理システムは、そのコンピュータ使用可能なコードを、そのクライアント・データ処理システムと関連付けられたデータ記憶媒体に格納し、あるいは該クライアント・データ処理システムで使用するなどのために、ダウンロードすることができる。サーバ・データ処理システムは、コンピュータ使用可能なコードをクライアント・データ処理システムから同様にアップロードすることができる。実施例のコンピュータ使用可能なプログラム製品実施態様に由来するコンピュータ使用可能なコードは、この様にしてサーバ・データ処理システムとクライアント・データ処理システムとを用いてアップロードまたはダウンロードされ得る。
【００９１】
入出力あるいはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、これらに限定されない）は、直接に、あるいは介在するＩ／Ｏコントローラを通して、システムに結合され得る。
【００９２】
データ処理システムが、介在する構内ネットワークまたは公衆網を通して他のデータ処理システムまたはリモート・プリンタまたは記憶装置に結合され得るようにネットワーク・アダプタをシステムに結合させることもできる。モデム、ケーブル・モデムおよびイーサネット（登録商標）・カードは、ほんの幾つかの現在利用可能なタイプのネットワーク・アダプタである。
【００９３】
本発明の記述は、例証および記述の目的で提示されており、網羅的であることや、開示された形の発明に限定されることは意図されていない。多くの改変および変形が当業者にとっては明らかであろう。実施態様は、本発明の原理、実際的応用を説明し、意図されている特定の用途に適する種々の改変を伴う種々の実施態様を目的として他の当業者が本発明を理解できるように、選択され記述された。
【図面の簡単な説明】
【００９４】
【図１】実施例がその中で実現され得るデータ処理システムのブロック図を描いている。
【図２】実施例がその中で実現され得る代表的論理分割プラットフォームのブロック図を描いている。
【図３】一実施例に従ってマルチパス・データ通信を監視することのブロック図を描いている。
【図４】一実施例に従う監視アプリケーションのブロック図を描いている。
【図５】一実施例に従ってマルチパス・データ通信コンフィギュレーションにおいてエネルギーを節約するプロセスのフローチャートを描いている。
【図６】一実施例に従ってＩ／Ｏ装置をリスタートさせるプロセスのフローチャートを描いている。
【図７】図７Ａは、一実施例に従って増大したデータ通信に対するニーズを判定する一プロセスのフローチャートを描いている。図７Ｂは、一実施例に従って増大したデータ通信に対するニーズを判定する他の一プロセスのフローチャートを描いている。
【図８】一実施例に従ってＩ／Ｏ装置待ち時間を用いてマルチパス・データ通信作業負荷を管理するプロセスのフローチャートを描いている。
【図１】
2010009570.tif 000003
【図２】
2010009570.tif 000004
【図３】
2010009570.tif 000005
【図４】
2010009570.tif 000006
【図５】
2010009570.tif 000007
【図６】
2010009570.tif 000008
【図７】
2010009570.tif 000009
【図８】
2010009570.tif 000010