第一PCIeブリッジと第一入力/出力IOデバイスとの間の接続に対するフェイルオーバオペレーションを備えるための方法であって、前記方法は、第一リンクを介し前記PCIeブリッジのレーンの第一セットを用いて、前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの第一セットを交換するステップと、前記第一リンク中で障害が検出されるのに応じ、第二PCIeブリッジと第二IOデバイスとを接続している第二リンクの使われていない部分を用いて、前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの第二セットを交換するステップと、を含む、前記方法。前記障害が検出されるのに応じ、バス搬送ビットの前記第二セットを交換するステップは、前記第二リンクの前記使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの前記第二セットを交換するため、PCIeブリッジ端部において、レーンの前記第一セットと前記第二PCIeブリッジのレーンの第二セットとの間で第一切り替えを実施するステップを含み、前記使用されていない部分はレーンの前記第二セットを包含する、請求項1に記載の方法。前記障害が検出されるのに応じ、バス搬送ビットの前記第二セットを交換するステップは、前記第二リンクの前記使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの前記第二セットを交換するため、IOデバイス端部において、レーンの前記第一セットと前記第二セットとの間で第二切り替えを実施するステップ、をさらに含む、請求項2に記載の方法。前記第一リンク中で前記障害が検出されるのに応じ、レーンの前記第二セットの使用を停止するため、前記第二PCIeブリッジを設定するステップ、をさらに含む、請求項3に記載の方法。前記第一リンク中で前記障害が検出されるのに応じ、レーンの前記第一セット以外のレーンの使用を停止するため、前記第一PCIeブリッジを設定するステップ、をさらに含む、請求項4に記載の方法。前記第一および前記第二PCIeブリッジの各々はPCIeホストブリッジPHBを含む、請求項1に記載の方法。前記第一および前記第二IOデバイスの各々はPCIeスイッチを含む、請求項1に記載の方法。前記第一および前記第二PCIeブリッジはPCIeルートコンプレックスに内蔵されている、請求項1に記載の方法。第一PCIeブリッジと第一入力/出力IOデバイスとの間の接続に対するフェイルオーバオペレーションを備えるための装置であって、前記装置は、第一PCIeブリッジを第一IOデバイスに接続する第一リンクであって、前記第一リンクは、前記第一PCIeブリッジのレーンの第一セットを用いて、前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの第一セットを交換するために使われる、前記第一リンクと、少なくとも、第二PCIeブリッジを第二IOデバイスに接続している第二リンクとを含み、前記第一リンク中で障害が検出されるのに応じ、前記第二リンクの使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの第二セットが交換される、前記装置。前記第二リンクの前記使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの前記第二セットを交換するために、レーンの前記第一セットと前記第二PCIeブリッジのレーンの第二セットとの間で第一切り替えを実施するための、PCIeブリッジ端部にある少なくとも一つの第一スイッチをさらに含み、前記使用されていない部分はレーンの前記第二セットを包含する、請求項9に記載の装置。前記第二リンクの前記使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの前記第二セットを交換するために、レーンの前記第一セットとレーンの前記第二セットとの間で第二切り替えを実施するための、IOデバイス端部にある少なくとも一つの第二スイッチ、をさらに含む、請求項10に記載の装置。前記第一リンク中で前記障害が検出されるのに応じ、レーンの前記第二セットの使用を停止するため、前記第二PCIeブリッジが設定される、請求項11に記載の装置。前記第一リンク中で前記障害が検出されるのに応じ、レーンの前記第一セットの以外のレーンの使用を停止するため、前記第一PCIeブリッジが構成される、請求項12に記載の装置。前記第一スイッチおよび前記第二スイッチは、中央処理ユニットCPUファームウエアによって制御される、請求項11に記載の装置。前記第二スイッチを制御するため前記第二IOデバイスに接続された制御デバイスをさらに含み、前記制御デバイスは前記CPUファームウエアによって制御される、請求項14に記載の装置。前記第一および前記第二PCIeブリッジの各々はPCIeホストブリッジPHBを含む、請求項9に記載の装置。前記第一および前記第二IOデバイスの各々はPCIeスイッチを含む、請求項9に記載の装置。前記第一および前記第二PCIeブリッジはPCIeルートコンプレックスに内蔵されている、請求項9に記載の装置。第一PCIeブリッジと第一入力/出力IOデバイスとの間の接続に対するフェイルオーバオペレーションを備えるためのコンピュータプログラムであって、前記コンピュータプログラムは、第一リンクを介し前記PCIeブリッジのレーンの第一セットを用いて、前記PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの第一セットを交換するステップと、前記第一リンク中で障害が検出されるのに応じ、第二PCIeブリッジと第二IOデバイスとを接続している第二リンクの使われていない部分を用いて、前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの第二セットを交換するステップと、に対するコードを包含するコンピュータ可読媒体、を含む、前記コンピュータプログラム。前記障害が検出されるのに応じ、バス搬送ビットの前記第二セットを交換するステップは、前記第二リンクの前記使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの前記第二セットを交換するため、PCIeブリッジ端部において、レーンの前記第一セットと前記第二PCIeブリッジのレーンの第二セットとの間で第一切り替えを実施するステップ、を含み、前記使用されていない部分はレーンの前記第二セットを包含する、請求項19に記載のコンピュータプログラム。前記障害が検出されるのに応じ、バス搬送ビットの前記第二セットを交換するステップは、前記第二リンクの前記使われていない部分を用いて前記第一PCIeブリッジと前記第一IOデバイスとの間でバス搬送ビットの前記第二セットを交換するため、IOデバイス端部において、レーンの前記第一セットと前記第二セットとの間で第二切り替えを実施するステップ、をさらに含む、請求項20に記載のコンピュータプログラム。前記第一リンク中で前記障害が検出されるのに応じ、レーンの前記第二セットの使用を停止するため、前記第二PCIeブリッジを設定するステップ、をさらに含む、請求項21に記載のコンピュータプログラム。前記第一リンク中で前記障害が検出されるのに応じ、レーンの前記第一セット以外のレーンの使用を停止するため、前記第一PCIeブリッジを設定するステップ、をさらに含む、請求項22に記載のコンピュータプログラム。前記第一および前記第二PCIeブリッジの各々はPCIeホストブリッジPHBを含む、請求項19に記載のコンピュータプログラム。前記第一および前記第二IOデバイスの各々はPCIeスイッチを含む、請求項19に記載のコンピュータプログラム。前記第一および前記第二PCIeブリッジはPCIeルートコンプレックスに内蔵されている、請求項19に記載のコンピュータプログラム。通常、これらのIO拡張シャーシは、物理的に別個の電子シャーシまたはエンクロージャなので、CPUシャーシ中のPHBと、IO拡張シャーシ内のPCIeアダプタスロットとの間の電子接続のために、これらエンクロージャの間に物理ケーブルの設置が必要となる。これらのケーブルは、PHBとPCIeアダプタスロットとの間に数インチを超える相互接続距離を必要とし、CPUとIO拡張エンクロージャとを収容する相異なる物理ラックの間に延長されることもある。CPUとPCIeスイッチとを外部ケーブルを使って接続することから生じる一つの問題は、ケーブルまたはケーブルコネクタの障害、どちらか側のシャーシでのケーブル接続の偶発的な取り外し、あるいはケーブル修理のためケーブル除去を要するサービス処置に起因する、ケーブルを介して通信するIOスロットへの接続の喪失である。本発明の開示のある態様は、第一PCIeブリッジと第一入力/出力IO:input/outputデバイスとの間の接続に対するフェイルオーバオペレーションを備える方法を提供する。該方法は、一般に、第一リンクを介し第一PCIeブリッジのレーンの第一セットを用い、第一PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第一セットを交換するステップと、第一リンク中で障害が検出されるのに応じ、第二PCIeブリッジと第二IOデバイスとを接続する第二リンクの使われていない部分を用いて、第一PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第一セットを交換するステップを含む。本発明の開示のある態様は、第一PCIeブリッジと第一入力/出力IOデバイスとの間の接続に対するフェイルオーバオペレーションを備えるための装置を提供する。一般に、該装置は、第一PCIeブリッジを第一IOデバイスに接続する第一リンクであって、該第一リンクは、第一PCIeブリッジのレーンの第一セットを用いて、第一PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第一セットを交換するために使われる、該第一リンクと、少なくとも、第二PCIeブリッジを第二IOデバイスに接続する第二リンクとを含み、第一リンクで障害が検出されるのに応じ、第二リンクの使われていない部分を用いて、第一PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第二セットが交換される。本発明の開示のある態様は、第一PCIeブリッジと第一入力/出力IOデバイスとの間の接続に対するフェイルオーバオペレーション備えるためのコンピュータプログラムを提供し、該コンピュータプログラムは、一般に、コードを包含するコンピュータ可読媒体を含む。該コードは、一般に、第一リンクを介し前記PCIeブリッジのレーンの第一セットを用いて、PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第一セットを交換するためのコードと、第一リンク中に障害が検出されるのに応じ、第二PCIeブリッジと第二IOデバイスとを接続する第二リンクの使われていない部分を用いて、第一PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第二セットを交換するためのコードとを含む。前述した態様を実現する仕方を詳細に理解できるように、添付の図面を参照することによって上記で簡潔に要約した本発明の実施形態のさらに詳しい説明を得ることができる。しかしながら、添付の図面は、単に本発明の典型的な実施形態を示したものであり、従って、本発明の範囲を限定すると見なすべきでなく、本発明は他の同等に効果的な実施形態を包含し得る。図1は、本開示のある実施形態による、PCIエクスプレスPCIeRファブリックの接続形態を組み込んだコンピュータシステム100を示す例示図である。該コンピュータシステムは、ルートコンプレックス104に連結されたCPU102を含む。ルートコンプレックス104は、通例、CPU102に代わってトランザクション要求を生成する。ルートコンプレックス機能は、個別デバイスとして実装でき、またはプロセッサ内に例、CPU102に組み込むこともできる。ルートコンプレックス104には、複数のPCIエクスプレスRポート、およびこれらポートに連結または一つ以上のポートからカスケード接続をすることが可能な、複数のPCIeスイッチデバイスを包含させることができる。ルートコンプレックス104には、例えばPHB106および108などの複数のPCIeホストブリッジPHBを含めることができる。ある態様によれば、PHB106、108は、個別デバイスとして実装でき、またはルートコンプレックス104内に組み込むことができる。各PHB106、108は、入力/出力IOバス130、132を介して対応するPCIeスイッチ142、144に接続することができる。例えば、PHB106は、バス130を介してPCIeスイッチ142に連結されており、PHB108は、バス132を介してPCIeスイッチ144に連結されている。スイッチ142、144の各々は、リンク152を介してPCIeのエンドポイントEP:endpoint150にさらに連結することができる。スイッチ142、144は、通例、これらそれぞれのIOバス130、132に対するファンアウトを備えている。こうすることによって、PHB対PCIeアダプタ比を増大することができ、CPUシャーシ中で必要なPHBの数を最小化することができる。ある態様によれば、スイッチ142、144は、リンク152を介してコネクタを取り付けられる一つ以上のポートを有し、これらコネクタの各々は、さらにエンドポイント150に取り付けられる。これらエンドポイントは、通例、リンク152を使い、コンピュータシステム上の任意の他のデバイス別のエンドポイントを含むとデータをやり取りする。スイッチ142、144の各々は、アップストリームルートポートと、コンピュータシステム中の、これらのスイッチに連結されたエンドポイントデバイス150との間で、複数の2点間接続を設定する。リンクは、コンピュータシステム100中の2つのコンポーネントの間でのデュアルシンプレックス通信パスである。論理的には、ポートは、コンポーネントとPCIエクスプレスRリンクとの間のインタフェースである。物理的には、ポートは、リンクを定義するチップと同じチップ上に配置されたトランスミッタおよびレシーバの一群である。リンクは、各レーンが差分信号のペア一組の送信ペアおよび一組の受信ペアのセットを代表する中で、少なくとも一つのレーンをサポートしなければならない。回線容量を調整するために、リンクはxNで表される複数のレーンを統合することができ、Nはサポートされるリンク幅の一つである。例えば、x1は、一本の物理レーンを有するリンクを表し、x8は8本の物理レーンを有するリンクを表す。PCIエクスプレスRは、PCIエクスプレス対応周辺デバイスのいろいろな回線容量要求に応じるために、単一レーン、4レーン、8レーン、16レーン、および32レーンなど、複数の物理レーンを提供する。また、一部の態様において、IOバス130、132の各々には、一般に、エンドポイント150に接続するリンクのレーンの数に対応するレーン数を有する複数レーンを含めることができる。例として、バス130および132の各々はx8バスである。ある態様によれば、PCIeリンクは、ケーブル、内蔵基板配線、基板間接続、およびPCIeブリッジとPCIeスイッチまたはデバイスとの間の通信を可能にする他の任意の接続を含む。ある態様によれば、リンク/バスのレーンは、物理的にレーンの複数のセットに分けることができる。例えば、PHB106とPCIeスイッチ142とを接続するIOバス130は、各4レーンの2つレーンセット110および112に分けることができる。同様に、PHB108とPCIeスイッチ144とを接続するIOバス132は、各4レーンの2つレーンセット114および116に分けることができる。リンク/バスの各々をレーンの2つのセットに分けるのは単なる例示のためであって、これらバス/リンクを、各レーンセットが最小一本のレーンを有する任意の数のレーンセットに分けることが可能なのはよく理解できよう。例えば、x16バス/リンクは、2つのx8バス、4つのx4バス、8つのx2バス、または16のx1バスに分けることができる。ある態様によれば、バスのこの物理的分離は、ソフトウエア制御に支配されるものでなく、該分離はハードウエア設計に基づく恒久的なものである。始動時に、PCIエクスプレスRデバイスは、通例、スイッチとネゴシエートして、そのリンクが構成可能なレーンの最大数を判定する。このリンク幅ネゴシエーションは、リンク自体の最大幅すなわち、リンクが構成する物理信号ペアの実際の数、デバイスが取り付けられたコネクタの幅、およびデバイス自体の幅の如何による。ある実施形態において、PCIeスイッチ142、144は物理的に別個になった電子シャーシまたはエンクロージャなので、PHBをそれらそれぞれのスイッチに連結するIOバスの各々は、物理ケーブル134、136など別個のリンクを通過する。例えば、バス130はケーブル134を通過し、バス132はケーブル136を通過する。各ケーブル134、136の両端に設けられたケーブルコネクタCC:cableconnector160は、レーンセットとケーブルとの間の電気接続を提供する。ある態様によれば、CPUとPCIeスイッチとを外部ケーブルを使って接続することから生じる一つの問題は、ケーブルまたはケーブルコネクタの障害、どちらか側のシャーシでのケーブル接続の偶発的な取り外し、あるいはケーブル修理のためケーブル除去を要するサービス処置に起因する、ケーブルを介して通信するIOスロットへの接続の喪失である。ある態様によれば、別個の物理ケーブルを使って、各PHB106、108をそれぞれスイッチ142、144に連結することは、冗長性のあるケーブルを提供し、ケーブル134、136のどちらか一つに障害が起きた場合にフェイルオーバメカニズムを備える助力となる。ある態様において、該フェイルオーバメカニズムによれば、第一PHBと第一PCIeスイッチとを接続するケーブルに障害が生じた場合、データの少なくとも一部は、第二のアクティブなケーブルを使って第一PHBと第一PCIeスイッチとの間で交換することが可能で、該第二のアクティブなケーブルは第二PHBと第二PCIeスイッチとをつないでいる。例えば、コンピュータシステム100が、ケーブル136に障害が生じたことを検出した場合、データは、まだアクティブであり得るケーブル134内のレーンの一部を使って、PHB108とスイッチ144との間で交換することができ、一方、PHB106とスイッチ142とは、ケーブル134内の他のレーンでデータの交換を続ける。PCIeアーキテクチャは、レーンのダウンシフトおよびアップシフトを可能にする。このことは、CPUファームウエアが、PHBと対応するスイッチとの間のアクティブなレーンの数を減らすことダウンシフト、およびアクティブなレーンの元の数に戻すことアップシフトを可能にする。ある態様において、このPCIeシステムのこの能力を使って、ケーブル障害時にフェイルオーバメカニズムが提供される。例えば、ケーブル136中で障害が検出された場合、バス130および132の両方がダウンシフトされ、1セットのレーンだけが使われる。しかして、各バスは、x8バスからx4バスにダウンシフトされる。レーンのダウンシフトが完了したならば、バス132のレーンのアクティブなセット上のデータは、バス130の使われていないレーンのセットを用いて、PHB108とスイッチ144との間で交換される。ある態様では、バス130だけがx8からx4にダウンシフトされ、バス130のレーンのうちの非アクティブなセットが、PHB108とスイッチ144との間でデータを交換するために使われる。図2は、本開示の実施形態による、CPU端部およびスイッチ端部の両方にマルチプレクサを用いた、ケーブルフェイルオーバメカニズムを備えるためのPCIeシステム200のベースオペレーションを示す例示図である。図2に示されるように、PCIeルートコンプレックス104は、PHB106および108を含む。PHB106は、IOバス130を使ってPCIeスイッチ142とデータを交換し、PHB108は、IOバス132を使ってPCIeスイッチ144とデータを交換する。バス130および132の各々はx8バスである。IOバス130は、各4レーンの2つのレーンセット110および112に分けられている。同様に、IOバス132は、各4レーンの2つのレーンセット114および116に分けられている。ある態様において、バス130に対して、レーンセット110は高位のレーン0~3を代表し、レーンセット112は低位のレーン4~7を代表する。同様に、バス132に対して、レーンセット114は高位のレーン0~3を代表し、レーンセット116は低位のレーン4~7を代表する。各ケーブル134、136の両端に設けられたケーブルコネクタ160a~160dは、これらレーンセットとケーブルとの間に電気接続を提供する。レーンマルチプレクサMUX:multiplexerまたはクロスポイント電気スイッチ202a~202dは、ケーブル134および136の両端CPU端部およびスイッチ端部において、バス130および132の各々のレーンセット間でのレーン切り替えを可能にする。ある態様で、PCIeシステムのベースオペレーションの間、両方のケーブル134および136はアクティブである。以下は、ベースオペレーションの間のMUXの典型的構成である。○CPU端部において、MUX202aは、レーンセット110をCC160aに、レーンセット116をCC160cに連結する。○CPU端部において、MUX202cは、レーンセット114をCC160cに、レーンセット112をCC160aに連結する。○スイッチ端部において、MUX202bは、レーンセット110をPCIeスイッチ142に、レーンセット116をPCIeスイッチ144に連結する。○スイッチ端部において、MUX202dは、レーンセット114をPCIeスイッチ144に、レーンセット112をPCIeスイッチ142に連結する。しかして、ベースオペレーションの間、バス130のレーンセット110および112は、PHB106をスイッチ142に接続し、バス132のレーンセット114および116は、PHB108をスイッチ144に接続している。スイッチ側のMUXは、PCIeスイッチを包含するIOシャーシに組み入れることができる。ある態様では、CPU端部において、マルチプレクサを利用して、全レーンを各PHBから両方のケーブルに経路させることができる。例えば、MUX202aは、レーンセット110をCC160aに連結、またはレーンセット110をCC160cに連結するようにレーンセットを切り替えることができる。同様に、スイッチ端部のマルチプレクサは、各ケーブル内のレーンのサブセットをどちらのスイッチにも再経路させることができる。当然ながら、当業者は、図2に示されたMUXの数および構成が例示のためのものであり、本開示のさまざまな態様を実装するため、これらMUXの任意の数および任意の構成が使えることをよく理解していよう。ある態様によれば、CPUファームウエアは、PHBとMUX202aおよび202cとのオペレーションを制御する。ある態様において、MUX202bおよび202dは、スイッチ142および144のどちらか一つに連結された一つ以上のデバイスまたはEPによって制御される。例えば、スイッチ142および144にそれぞれ連結されたMUX制御デバイス204aおよび204bは、MUX202bおよび202dを制御するためのプログラムをすることができる。ある態様では、CPUファームウエアは、MUX202bおよび202dを使ってスイッチ端部のレーン切り替えを行うため、MUX制御デバイス204aおよび204bを設定しもしくはこれらと通信する。ある態様において、MUX制御デバイス204aおよび204bの各々はMUX202bおよび202dの両方を制御することができる。ある態様では、MUX制御デバイスは、これもスイッチに接続されたPCIeデバイスである、特殊な型のIOシャーシ制御エレメントである。図3は、本開示のある実施形態による、図2のPCIeシステムにおいてケーブル障害の過程で用いられるフェイルオーバメカニズムを示す例示図である。図2に関連して上記で説明したように、ベースオペレーションの間、PHBとIOシャーシ中のスイッチとの間のPCIeバスの全てのレーンは接続されている。しかして、2つのx8PHB106、108の各々は、バス130、132中の全8レーンをIOシャーシ中のそれぞれのスイッチに接続している。一つのケーブルが失われたとき、CPUファームウエアは、PCIeレーンダウンシフトを使い、まず、他方のPHBとその対応スイッチとの間のアクティブなレーンの数を、例えば、x8バスからx4バスに減らすなどして低減する。これにより、対応スイッチへのケーブル接続性を喪失したPHBおよびIOバスが使用するための4本のレーンが解放される。ある態様において、解放されるレーンは、一般には、x8PCIeバス中のレーン4~7である。ある態様によれば、PHBまたはルートポートは、PCIeリンク接続またはケーブルの障害または喪失に関して、リンク停止イベントなどのリンク状態変化イベントをCPUファームウエアに信号伝達して、CPUファームウエアがケーブルまたはリンクの作動状態を点検するよう促す。他の実施形態では、CPUファームウエアが同様にケーブル障害を点検するよう促すため、他の表示またはメカニズムを利用することができる。ある態様によれば、CPUファームウエアは、ケーブルを喪失したPHBもx4バスに設定する。前述したように、マルチプレクサまたはクロスポイント電気スイッチを利用して、全レーンを、各PHBから両方のケーブルに経路させることができる。しかして、ケーブル134、136の一つに障害が生じたとき、フェイルオーバメカニズムが開始され、CPUファームウエアは、CPU端部のマルチプレクサが、ケーブルを喪失したPHBからのあるレーンセット通常はレーン0~3を他方のアクティブなPHBケーブルの使われていないレーン通常はレーン4~7に再経路させるよう、該マルチプレクサを設定する。また、前述のように、スイッチ端部のマルチプレクサは、各ケーブル内のレーンのサブセットをいずれのスイッチにも再経路させることができる。同様に、フェイルオーバメカニズムの一部として、CPUファームウエアは、アクティブなPHBケーブルを介してPCIeスイッチ上のMUX制御デバイスに通信し、マルチプレクサが直ちにPHBのアクティブなケーブルのレーン4~7を他方スイッチのレーン0~3に経路させるように、該制御デバイスを設定する。これにより、ケーブル接続を喪失したPHBのレーン0~3は、アクティブに接続されているケーブル中のPHBのレーン4~7を利用して、当初それが接続されていたスイッチのレーン0~3に連結され、一方、アクティブなPHBレーン0~3の同一ケーブル上の対応スイッチのレーン0~3への接続性は、PCIeダウンシフトプロトコル以外の妨害を受けることなく維持される。例えば、図3は、ケーブル132に障害が発生し、ケーブル130だけがアクティブな場合のケーブルフェイルオーバメカニズムを示す。CPUは、ケーブル132の障害を検出し、それに応じ、レーンダウンシフトを用い、バス130および132中のアクティブなレーンの数をx8バスからx4バスに低減する。この例において、レーンダウンシフトは、PHB106がレーンセット110レーン0~3だけを使用するようにさせ、PHB108がレーンセット114レーン0~3だけを使用するようにさせる。CPUファームウエアは、MUX202cに対し、レーンセット114とアクティブなバス130のレーン4~7との間に接続を確立するよう命令する。CPUファームウエアは、同時に、アクティブなケーブル134のIOバス130を使って、MUX制御デバイス204aと通信する。MUX制御デバイス204aは、MUX202dに対し、バス130のレーン4~7とPCIeスイッチ144のレーン0~3との間に接続を確立するよう命令する。しかして、これにより、ケーブルフェイルオーバメカニズムは、ケーブル接続を喪失したPHB108のレーン0~3を、アクティブに接続されているケーブル134中のPHB106のレーン4~7を利用して、当初それが接続されていたPCIeスイッチ144のレーン0~3に連結する。ある態様によれば、失われたケーブル接続性を修復するサービス処置が完了次第、CPUファームウエアは、修復されたケーブル接続性について通知されあるいは、これに換えて電子的ケーブル存在信号を介して検出することができ、フェイルオーバメカニズムの過程で行われたMUXの設定を逆に戻し、しかしてレーンマルチプレクサの設定を変更し、各PHBに対するレーンの全てが、それらに接続されたスイッチのアップストリームポートへの対応ケーブルを直接通るよう再経路させることができる。図4は、本開示のある実施形態による、CPU端部およびスイッチ端部の両方にマルチプレクサを用いた、図2および3のPCIeシステム使った、ケーブルフェイルオーバメカニズムを備えるための例示的プロセス400を示す流れ図である。402において、CPUファームウエアは、PHB106および108をこれらの各スイッチ142および144にそれぞれ接続するケーブル134および136中の障害について点検する。404で、CPUファームウエアが、例えばケーブル136に対し、ケーブル中の障害を検出した場合、次いで406において、CPUファームウエアは、バス130および132の両方をx8からx4バスにダウンシフトする。408において、該ファームウエアは、CPU端部のMUX202cに対し、ケーブル障害を有するPHBのレーンセット114をアクティブなバス130のレーン4~7に切り替えるよう命令する。410で、該ファームウエアは、スイッチ端部のMUX制御デバイス204aを使って、MUX202dに対し、アクティブなバス130のレーン4~7をスイッチ144のレーン0~3に切り替えるよう命令する。412において、ケーブル136の全面的接続性が修復されていない場合、プロセス400は、フェイルオーバモードでオペレーションを継続し、ケーブル136の接続性の修復についての点検を続ける。412で、CPUファームウエアが、ケーブル136の接続性修復を検出した場合、PCIeシステムは、x8バスに復元されたバスを用いる図2のベースオペレーションに復帰する。ある態様によれば、エレクトロニクスコスト低減の利点およびパッケージ要求事項を達成するために、レーン多重化エレクトロニクスまたはMUXをケーブルのCPU端部上から除去することができる。しかしながら、これは、これらの冗長構成に用いられた2本のケーブルの間の限られたケーブル長許容差を規定する電子タイミング要求事項に起因して、ケーブル長さが制限され、一部のIOシャーシケーブル配線構成が限定されるという不利点を有する。各冗長構成は、フェイルオーバおよび修復メカニズムのファームウエアシーケンシングに、各付随する違いを有する。当業者は、特定のPCIe実装の必要性に適したどれかの冗長構成を選択することができる。図5は、本開示のある実施形態による、ケーブルフェイルオーバメカニズムを備えるための例示的オペレーション500を示す流れ図である。オペレーション500は、502で、第一PCIeブリッジと第一IOデバイスとの間で、第一ケーブルを介し該第一PCIeブリッジのレーンの第一セットを用いて、バス搬送ビットの第一セットを交換することにより開始される。バス搬送ビットは、一般に、バス上を送信されるデータのビットをいう。504において、第一ケーブル中で障害が検出される。第一ケーブル中で障害が検出されるのに応じ、506で、バス搬送ビットの第一セットが、第二PCIeブリッジと第二IOデバイスとを接続する第二ケーブルの使われていない部分を用いて、第一PCIeブリッジと第一IOデバイスとの間で交換される。図6は、本開示のある実施形態による、スイッチ端部にだけマルチプレクサを用いたフェイルオーバメカニズムを備えるためのPCIeシステム600のベースオペレーションを示す例示的流れ図である。図6に示されるように、レーンマルチプレクサMUXまたはクロスポイント電気スイッチ202bおよび202dは、ケーブル134および136のスイッチ端部上で、バス130および132の各々のレーンセットの間でのレーン切り替えを可能にする。しかしながら、CPU端部にはMUXはなく、レーンセットは直接ケーブルに接続されている。ある態様において、PCIeシステムのベースオペレーションの間、ケーブル134および136の両方はアクティブである。以下は、ベースオペレーションの間のPCIeシステム600の典型的構成である。○CPU端部において、○PHB106に対し、レーンセット110は、CC160aに直接接続し、レーンセット112は、CC160cに直接接続している。○PHB108に対し、レーンセット114は、CC160cに直接接続し、レーンセット116は、CC160cに直接接続している。○スイッチ端部において、○MUX202bは、レーンセット110および112をPCIeスイッチ142に接続しており、これを使ってレーンセット110と112との間で切り替えを行うことができる。○MUX202dは、レーンセット114および116をPCIeスイッチ144に接続しており、これを使ってレーンセット114と116との間で切り替えを行うことができる。しかして、ベースオペレーションの間、バス130のレーンセット110および112は、PHB106をスイッチ142に接続し、バス132のレーンセット114および116は、PHB108をスイッチ144に接続している。ある態様では、CPU端部において、レーンスワッピングを利用して、全レーンを各PHBから両方のケーブルに経路させることができる。例えば、レーンセット114をレーンセット116とスワップし、これにより、レーンセット114をケーブル160cに換えて160aを通って経路させることが可能である。同様に、レーンセット110と112とをスワップし、各レーンセットをケーブル160aおよび160bのどちらでも通って経路させることができる。上記のパラグラフで示したように、スイッチ端部のMUX202bおよび202dは、各ケーブル内のレーンのサブセットをいずれのスイッチにも再経路させることを可能にする。当然ながら、当業者は、これらMUXの数および構成が例示のためだけのものであって、本開示のさまざまな態様を実装するため、MUXの任意の数および任意の構成が使用可能であることをよく理解していよう。ある態様によれば、CPUファームウエアは、CPU端部においてレーンスワッピングを制御する。既に説明したように、CPUファームウエアはPHBのオペレーションを制御し、MUX202bおよび202dは、例えば、MUX制御デバイス204aおよび204bなど、スイッチ142および144の何れか一つに接続された一つ以上のデバイスまたはEPによって制御される。また、MUX制御デバイス204aおよび204bの各々は、MUX202bおよび202dの両方を制御することができる。図7は、本開示のある実施形態による、図6のPCIeシステムでケーブル障害が検出されるのに応じて用いられるフェイルオーバメカニズムを示す例示図である。図6に関して前述したように、ベースオペレーションの間、PCIeバス130および132の各々の全てのレーンは、PHBと、IOシャーシ中のそれらそれぞれのスイッチとの間に接続されている。しかして、2つのx8PHB106および108の各々は、バス130、132中の全8本のレーンをIOシャーシ中のそれぞれのスイッチに接続する。ケーブル134、136の一つが接続性を喪失したとき、CPUファームウエアは、PCIeレーンダウンシフトを用い、他方のPHBとその対応スイッチの間のアクティブなレーンの数を、例えば、x8バスからx4バスに減らすなどして低減する。これによって、スイッチへのケーブル接続性を喪失したPHBおよびIOバスが使うための4本のレーンが解放される。ある態様において、解放されるレーンは、通例、x8PCIeバス中のレーン4~7である。また、ある態様によれば、CPUファームウエアは、ケーブルを喪失したPHBもx4バスに設定する。図6のPCIeシステムのベースオペレーションに関して既に説明したように、レーンスワッピングを用いて、全レーンを各PHBから両方のケーブルに経路させることができる。しかして、ケーブル障害の状態において、フェイルオーバメカニズムが開始され、CPUファームウエアは、ケーブルを喪失したPHBのレーンセットをスワップし、ケーブルを喪失したPHBからのあるレーンセット通例、レーン0~3を他方のアクティブなPHBケーブルの使われていないレーン通例、レーン4~7に再経路させる。また、前述のように、スイッチ端部のマルチプレクサは、各ケーブル内のレーンのサブセットを、どちらのスイッチにも再経路させることができる。しかして、フェイルオーバメカニズムの一部として、CPUファームウエアは、アクティブなPHBケーブルを介してPCIeスイッチ上のMUX制御デバイスに通信し、マルチプレクサが直ちにアクティブなケーブルのレーン4~7を、ケーブルを喪失したPHBが当初接続されていた他方のスイッチのレーン0~3に経路させるように設定する。これにより、ケーブル接続を喪失したPHBのレーン0~3は、アクティブに接続されているケーブル中のPHBのレーン4~7を利用して、当初それが接続されていたスイッチのレーン0~3に連結され、一方、アクティブなPHBレーン0~3の同一ケーブル上の対応スイッチのレーン0~3への接続性は、PCIeダウンシフトプロトコル以外の妨害を受けることなく維持される。例えば、図7に示されるように、ケーブル132に障害が生じ、ケーブル130だけがアクティブとなる。CPUがケーブル132の障害を検出し、それに応じて、CPUファームウエアは、レーンダウンシフトを用い、バス130および132中のアクティブなレーンの数をx8バスからx4バスに低減する。この例において、レーンダウンシフトは、PHB106がレーンセット110レーン0~3だけを使用するようにさせ、PHB108がレーンセット114レーン0~3だけを使用するようにさせる。CPUファームウエアは、PHB108に対し、レーンセット114と116との間でスワップし、レーンセット114レーン0~3が、障害のあるケーブル136の代わりに、アクティブなケーブル134中のバス130のレーン4~7を通って経路させるよう命令する。CPUファームウエアは、同時に、アクティブなケーブル134のIOバス130を使って、MUX制御デバイス204aに通信し、MUX202dにバス130のレーン4~7とPCIeスイッチ144のレーン0~3との間の接続を確立するよう命令する。これにより、ケーブルフェイルオーバメカニズムは、アクティブに接続されているケーブル134中のPHB106のレーン4~7を利用して、ケーブル接続を喪失したPHB108のレーン0~3を、PHB108が当初接続されていたPCIeスイッチ144のレーン0~3に接続する。ある態様によれば、失われたケーブル接続性を修復するサービス処置が完了次第、CPUファームウエアは、修復されたケーブル接続性について通知されあるいは、これに換えて電子的ケーブル存在信号を介して検出することができ、レーンセット116と114とを逆スワップし、フェイルオーバメカニズムの過程で行われたMUX202bおよび202dの設定を元に戻すことができる。図8は、本開示のある実施形態による、スイッチ端部だけにマルチプレクサを用いた、図6および7のPCIeシステムを使った、ケーブルフェイルオーバメカニズムを備えるための例示的プロセス800を示す流れ図である。802において、CPUファームウエアは、PHB106および108をそれらそれぞれスイッチ142および144に接続するケーブル134および136中に障害がないか点検する。804で、CPUファームウエアが、例えばケーブル136などのケーブル中に不具合を検出した場合、プロセス800は、806に進み、CPUファームウエアが130および132両方のバスをx8からx4バスにダウンシフトする。808において、該ファームウエアは、CPU端部のPHB108に対し、レーンセット114と116との間でスワップを行い、アクティブなバス130のレーン4~7を使ってレーンセット114を経路させるよう命令する。810で、該ファームウエアは、MUX202dに対し、スイッチ端部のMUX制御デバイス204aを使って、バス130のレーン4~7とPCIeスイッチ144のレーン0~3との間の接続を確立するよう命令する。812において、ケーブル136が全面的接続性を回復していない場合、プロセス800は、フェイルオーバモードでオペレーションを継続し、ケーブル136の接続性の回復についての点検を続ける。812で、CPUファームウエアがケーブル136の接続性回復を検出した場合、PCIeシステムは、x8バスに復元されたバスを用いる、図6のベースオペレーションに復帰される。図9は、本開示のある実施形態による、ケーブルフェイルオーバメカニズムを備えるための例示的オペレーション900を示す流れ図である。図示のように、オペレーション900は、902で、第一PCIeブリッジと第一IOデバイスとの間で、第一ケーブルを介し該第一PCIeブリッジのレーンの第一セットを用いて、バス搬送ビットの第一セットを交換することによって開始される。904において、第一ケーブル中で障害が検出される。第一ケーブル中で障害が検出されるのに応じ、906で、第二ケーブルを介し第一PCIeブリッジのレーンの第二セットを用いて、第一PCIeブリッジと第一IOデバイスとの間でバス搬送ビットの第一セットが交換される。上記では、本発明の実施形態を参照した。しかしながら、本発明が説明する特定の実施形態に限定されないことを理解すべきである。それどころか、各種の実施形態に関係しているかどうかの如何を問わず、上述の特質およびエレメントの一切の組み合わせは、本発明を実装、実施するものと見なされる。例えば、当業者は、本発明がケーブルを使わない、または複数の物理エンクロージャを必要としないPCIeリンクにも同等に適用できることをよく理解していよう。本発明は、コンピュータ回路基板に内蔵された配線、あるいはミッドプレーンコネクタを介するものなどコンピュータ回路基板の間の配線、および同一または隣接物理エンクロージャ内の配線を用いているPCIeリンクなどの他の実施形態に対しても、PCIeリンクの喪失に対するフェイルオーバを備えるために本発明は同等に有用である。また、上記で説明したフェイルオーバメカニズムは、IOデバイスまたはアダプタが、スイッチを介して接続されるのに換えて、PHBに直接接続されているPCIe構成にも適用できることはよく理解できよう。また、類似のフェイルオーバ手順を用い、MUX制御デバイスを使って、スイッチと該スイッチに接続されたIOデバイスとの間の接続障害に対処することもできる。さらに、本発明の実施形態が、他の可能な対処策または従来技術あるいはその両方に優れる利点を実現できるからといって、所与の実施形態により特定の利点が達成されるかどうかによって本発明が限定されるものではない。しかして、前述の態様、特質、実施形態、および利点は、単なる例示であり、請求項群中に明示で記載されている場合を除き、添付の請求項の構成要素または限定事項と見なすべきではない。同様に本発明への参照は、本明細書で開示されたどの発明主題事項の一般化としても解釈されてはならず、請求項群中に明示で記載されている場合を除き、添付の請求項の構成要素または限定事項と見なしてはならない。当業者ならよく理解するであろうように、本発明の態様は、システム、方法、またはコンピュータプログラムとして具現することができる。従って、本発明の態様は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態ファームウエア、常駐ソフトウエア、マイクロコードなどを含む、または、本明細書では全て一般的に回路、モジュール、またはシステムと呼ぶこともある、ソフトウエアおよびハードウエア態様を組み合わせた実施形態の形をとることができる。さらに、本発明の態様は、コンピュータ可読プログラムコードをそこに有する一つ以上のコンピュータ可読媒体中に具現された、コンピュータプログラムの形をとることもできる。一つ以上のコンピュータ可読媒体群の任意の組み合わせを用いることができる。該コンピュータ可読媒体は、コンピュータ可読信号媒体あるいはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム、装置、またはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のさらに具体的な例非包括的リストには、一つ以上の配線を有する電気接続、携帯コンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM:randomaccessmemory、読み取り専用メモリROM:read-onlymemory、消去可能プログラム可能読み取り専用メモリEPROM:erasableprogrammableread-onlymemory、またはフラッシュメモリ、光ファイバ、携帯コンパクトディスク読み取り専用メモリCD-ROM:compactdiscread-onlymemory、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせが含まれよう。本文書のコンテキストにおいて、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってあるいはこれらに関連させて使うためのプログラムを包含または格納できる任意の有形媒体であり得る。コンピュータ可読信号媒体には、コンピュータ可読プログラムコードをその中に、例えば、ベースバンド中にまたは搬送波の一部として具現する伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の適切な組み合わせを含むさまざまな任意の形をとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによってあるいはこれらに関連させて使うためのプログラムを、通信、伝播、または搬送することが可能な、任意のコンピュータ可読媒体であり得る。コンピュータ可読媒体上に具現されたプログラムコードは、以下に限らないが、無線、有線、光ファイバケーブル、RFなど、またはこれらの任意の適切な組み合わせを含む任意の適切な媒体を用いて送信することができる。本発明の態様に対するオペレーションを実行するためのコンピュータプログラムコードは、JavaR、SmalltalkR、Cなどのオブジェクト指向プログラミング言語、およびCプログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合わせで書くことができる。該プログラムコードは、単独型のソフトウエアパッケージとして、完全にユーザのコンピュータでまたは部分的にユーザのコンピュータで、あるいは一部をユーザのコンピュータでそして他の部分を遠隔コンピュータで、あるいは完全に遠隔コンピュータまたはサーバで実行することができる。この後者のシナリオでは、該遠隔コンピュータは、ローカルエリアネットワークLAN:localareanetworkまたは広域ネットワークWAN:wideareanetworkを含め、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、あるいは、例えば、インターネットサービスプロバイダを使ってインターネットを介し外部のコンピュータに接続をすることができる。本発明の実施形態による、フローチャート説明図、または、方法、装置システムおよびコンピュータプログラム製品のブロック図、あるいはその両方を参照しながら、上記で本発明の態様を説明した。フローチャート説明図またはブロック図あるいはその両方の各ブロック、およびフローチャート説明図またはブロック図あるいはその両方のブロック群の組合せは、コンピュータプログラム命令によって実行可能であることは理解されよう。これらのコンピュータプログラム命令を、汎用コンピュータ、特殊用途コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに供給して、マシンを生成し、該命令を該コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行し、上記フローチャートまたはブロック図あるいはその両方の中のブロックまたはブロック群に指定された機能/処置を実行するための手段を生成することができる。また、これらのコンピュータプログラム命令を、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに特定の仕方で機能するよう命令できる、コンピュータ可読の媒体の中に格納し、該コンピュータ可読の媒体中に格納された命令が、上記フローチャートまたはブロック図あるいはその両方の中のブロックまたはブロック群に指定された機能/処置を実行する命令を包含する製造品として生成されるようにすることができる。さらに、これらコンピュータプログラム命令を、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードし、該コンピュータ、他のプログラム可能な装置または他のデバイスに一連のオペレーションステップを遂行させ、該コンピュータまたは他のプログラム可能な装置で実行される命令が、上記フローチャートまたはブロック図あるいはその両方の中のブロックまたはブロック群に指定された機能/処置を遂行するためのプロセスを提供する、コンピュータ実行の工程を生成することができる。これら図の中のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータプログラムの可能なインプリメンテーションのアーキテクチャ、機能、およびオペレーションを示す。これに関し、これらフローチャートまたはブロック図中の各ブロックは、所定の論理機能群を遂行するための一つ以上の実行可能命令を含む、コードのモジュール、セグメント、または部分を表し得る。また、ある別のインプリメンテーションにおいて、ブロック中に記載された機能が、図中に記載された順序と違った順序で行われ得ることに留意すべきである。例えば、関与する機能の如何によっては、引き続きに示された2つのブロックが、実際は、ほぼ同時に実行されることがあり、または時によりこれらブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明図あるいはその両方の各ブロック、およびこれらブロック図またはフローチャート説明図中のブロックの組み合わせは、所定の機能または処置を遂行する特殊用途ハードウエアベースのシステムによって、または特殊用途ハードウエアおよびコンピュータ命令の組み合わせによって実行できることにも留意する。前述の説明は、本発明の実施形態を対象としてきたが、その基本的範囲から逸脱することなく、他のさらなる本発明の実施形態を考案することができ、本発明の範囲は添付の請求項によって決定される。