(57)【特許請求の範囲】
【請求項１】
第１のプロトコルを使用する第１のホストコントローラと、
前記第１のプロトコルとは異なる第２のプロトコルを使用する第２のホストコントローラと、
プラグに物理的に結合するように構成された形状を有する統一コネクタポートと、
前記第１のホストコントローラ及び前記第２のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、前記フレームの少なくとも幾つかを前記統一コネクタポートに送信するルータと
を有し、
(1)前記ルータが、前記第１のプロトコルを用いた信号を認識する第１のデバイスに前記プラグを通じて結合された場合、前記ルータは、前記第１のホストコントローラからのパケットを含むカプセル化されたパケットを前記統一コネクタポートに提供し、
(2)前記ルータが、前記第２のプロトコルを用いた信号を認識する第２のデバイスに前記プラグを通じて結合された場合、前記ルータは、前記第２のホストコントローラからのパケットを含むカプセル化されたパケットを前記統一コネクタポートに提供するシステム。
【請求項２】
前記ルータは、前記第１のホストコントローラ及び前記第２のホストコントローラに結合される、請求項１に記載のシステム。
【請求項３】
前記システムは、前記プラグを通じて前記ルータに結合された前記第１のデバイスを更に含む、請求項１に記載のシステム。
【請求項４】
前記システムは、前記プラグを通じて前記ルータに結合された前記第２のデバイスを更に含む、請求項１に記載のシステム。
【請求項５】
前記統一コネクタポートは、第１の統一コネクタポートであり、
前記システムは、前記形状を有する第２の統一コネクタポートを更に有し、
前記ルータは、前記第１のホストコントローラ及び前記第２のホストコントローラからのパケットを含むパケットを統一プロトコルのフレームに選択的にカプセル化し、前記フレームの少なくとも幾つかを前記第２の統一コネクタポートに送信するように構成される、請求項１に記載のシステム。
【請求項６】
前記統一コネクタポートは、前記統一プロトコルのフレームをI/Oリンクで送信するように構成され、
前記統一コネクタポートは、同時に、前記I/Oリンクのレーンの第１のサブセットで第１のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信し、前記I/Oリンクのレーンの第２のサブセットで第２のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように構成される、請求項１に記載のシステム。
【請求項７】
前記統一コネクタポートは、選択的に、I/Oリンクの複数のレーンの全てで前記第１のプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように、前記I/Oリンクの前記複数のレーンの全てで前記第２のプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように、又は、同時に、前記I/Oリンクの前記複数のレーンの第１のサブセットで第１のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信し、前記I/Oリンクのレーンの第２のサブセットで第２のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように構成される、請求項１に記載のシステム。
【請求項８】
前記ルータが、前記第１のプロトコルを用いた信号を認識する第３のデバイスと、前記第３のデバイスに結合された第４のデバイスであり、前記第２のプロトコルを用いた信号を認識する第４のデバイスとに前記プラグを通じて結合された場合、前記ルータは、前記第１のホストコントローラからのカプセル化されたパケット及び前記第２のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供する、請求項１に記載のシステム。
【請求項９】
前記第１のデバイスと前記第１のホストコントローラとの間の関連付けと、前記第２のデバイスと前記第２のホストコントローラとの間の関連付けとを含む関連付けテーブルを格納するメモリを更に有する、請求項１に記載のシステム。
【請求項１０】
前記システムは、システムブート時に前記関連付けテーブルを生成するように構成される、請求項９に記載のシステム。
【請求項１１】
前記システムは、ランタイム中に前記関連付けを変更するように構成される、請求項９に記載のシステム。
【請求項１２】
前記システムは、ランタイム中に前記統一コネクタポートに結合された第３のデバイスを検出し、前記第３のデバイスを前記第１のホストコントローラ又は前記第２のホストコントローラに関連付けるように前記関連付けテーブルを変更するように構成される、請求項９に記載のシステム。
【請求項１３】
前記ルータが前記プラグを通じて前記第１のデバイスに結合された場合、前記第１のデバイスを列挙し、前記ルータが前記プラグを通じて前記第２のデバイスに結合された場合、前記第２のデバイスを列挙する接続マネージャロジックを更に有する、請求項１に記載のシステム。
【請求項１４】
前記接続マネージャロジックは、前記第１のデバイスを前記第１のホストコントローラに関連付け、前記第２のデバイスを前記第２のホストコントローラに関連付けるように構成され、
前記接続マネージャロジックは、システムブート時に前記関連付けを実行し、ランタイム中に前記関連付けのうち１つ以上を変更するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記第１及び第２のプロトコルとは異なる第３のプロトコルを使用する第３のホストコントローラを更に有し、
前記ルータは、前記第３のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、
前記ルータが、前記第３のプロトコルを用いた信号を認識する第３のデバイスに前記プラグを通じて結合された場合、前記ルータは、前記第３のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供するように構成される、請求項１に記載のシステム。
【請求項１６】
前記ルータは、
前記統一コネクタポートから統一プロトコルのフレームを受信し、
前記統一プロトコルのフレームを第２のプロトコルの物理レイヤパケット、第３のプロトコルの物理レイヤパケット又は前記第２のプロトコルの物理レイヤパケットと前記第３のプロトコルの物理レイヤパケットとの双方に分解し、
前記第２のプロトコルの物理レイヤパケットを前記第２のホストコントローラに送信し、前記第３のプロトコルの物理レイヤパケットを前記第３のホストコントローラに送信するように構成される、請求項１５に記載のシステム。
【請求項１７】
第１のホストコントローラ及び第２のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、前記フレームの少なくとも幾つかを統一コネクタポートに送信するルータであり、第１及び第２のプロトコルは異なるルータと、
(1)前記ルータが、前記第１のプロトコルを用いた信号を認識する第１のデバイスに第１のプラグを通じて結合された場合、第１のデバイスを前記第１のホストコントローラに関連付け、(2)前記ルータが、前記第２のプロトコルを用いた信号を認識する第２のデバイスに第２のプラグを通じて結合された場合、第２のデバイスを前記第２のホストコントローラに関連付けるように構成された接続マネージャロジックであり、前記第１のプラグ及び前記第２のプラグは同じ形状を有する接続マネージャロジックと
を有するシステム。
【請求項１８】
前記ルータが、前記第１のデバイスに結合された第３のデバイスであり、前記第２のプロトコルを用いた信号を認識する第３のデバイスに前記第１のプラグ又は前記第２のプラグを通じて結合された場合、前記ルータは、前記第１のホストコントローラからのパケットを含むカプセル化されたパケット及び前記第２のホストコントローラからのパケットを含むカプセル化されたパケットを前記統一コネクタポートに提供する、請求項１７に記載のシステム。
【請求項１９】
前記システムは、前記統一コネクタポートを含む、請求項１７に記載のシステム。
【請求項２０】
前記接続マネージャロジックは、システムブート時に前記関連付けを実行し、ランタイム中に前記関連付けのうち１つ以上を変更するように構成される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムを通じた統一コネクタアーキテクチャ（unified  connector  architecture）の実装に関する。
【背景技術】
【０００２】
現在のコンピュータプラットフォームアーキテクチャは、コンピュータプラットフォームとプラットフォームに接続された周辺機器との間の複数の様々な種類のI/Oを実装する様々なホストコントローラを有する。例えば、グラフィックホストコントローラは、対応する接続インタフェース（すなわち、コンピュータプラットフォームにディスプレイ装置を接続するケーブルの終端のプラグ）とのアナログ及びデジタルポートを潜在的に有する。プラットフォーム内のローカルエリアネットワークコントローラは、一般的に１つ以上のEthernet（登録商標）ジャックを有する。USB（Universal  Serial  Bus）サブシステムは、複数の関連するUSBプラグインタフェースを有する。IEEE  1394  Firewireもまた、１つ以上のプラグインタフェースを有してもよい。周辺機器をコンピュータプラットフォームに接続する異なる別々のポート及び関連するハードウェアインタフェースのリストは、増え続ける。これらのインタフェース及び対応するハードウェアジャック／プラグを有するコンピュータプラットフォームは、このハードウェアの全てを１つの場所に取り込むために、大量のマザーボード及びケースの場所のかなりの要件を有する。これは、これらのインタフェースを完全に補うというモバイルコンピュータの機能を制限しており、不都合なことに、多くのデスクトップシステムの背面周辺機器インタフェースも同様に、サイズ面で増加している。
【図面の簡単な説明】
【０００３】
【図１】統一コネクタアーキテクチャのシステムレベルでの実装の一実施例
【図２】統一コネクタアーキテクチャ（UCA：unified  connector  architecture）の一実施例
【図３】単体グラフィック及びローカルエリアネットワーク（LAN）カードの統一コネクタアーキテクチャのスロットコネクタの実施例
【図４】周辺機器装置に拡張された統一コネクタアーキテクチャの一実施例
【図５】統一コネクタアーキテクチャの環境においてデータパケットをルーティングする処理の一実施例のフローチャート
【発明を実施するための形態】
【０００４】
本発明について、図面により一例として説明するが、本発明は図面により限定されない。図面において同様の参照符号は同様の要素を示す。
【０００５】
コンピュータプラットフォーム上に統一コネクタアーキテクチャ（unified  connector  architecture）を実装するシステム、装置及び方法の実施例について説明する。以下の説明では、複数の特有の詳細が示されている。しかし、実施例はこれらの特有の詳細なしに実施されてもよいことがわかる。他の場合にも、周知の要素、仕様及びプロトコルは、本発明をあいまいにしないために説明しない。
【０００６】
図１は、統一コネクタアーキテクチャのシステムレベルでの実装の一実施例を示している。多くの実施例では、システムは、１つ以上のプロセッサ（中央処理装置（CPU）等）100を含む。異なる実施例では、CPU100は、１つのコア又は複数のコアを含んでもよい。或る実施例では、システムは、各プロセッサが１つのコア又は複数のコアを有するマルチプロセッサシステム（図示せず）である。
【０００７】
CPU100は、１つ以上の高速リンク（すなわち、相互接続、バス等）を通じてシステムメモリ102に結合される。システムメモリ102は、CPU100がプログラムとオペレーティングシステムとを動作して実行するために利用される情報を格納することができる。異なる実施例では、システムメモリ102は、ダイナミックランダムアクセスメモリ（DRAM）の形式のような如何なる使用可能な種類の読み取り可能及び書き込み可能メモリでもよい。
【０００８】
或る実施例では、CPU100はまた、更なる高速リンクを通じて単体（discrete）グラフィックコントローラ104に結合される。単体グラフィックコントローラ104は、スロットコネクタを通じてマザーボード又は他のこのような印刷回路基板に物理的に結合されてもよい。多くの実施例では、単体グラフィックコントローラは、PCI  Express(R)グラフィックスロットコネクタに接続されたPCI  Express(R)グラフィックコントローラ／カードでもよい。この場合、PCI  Express(R)グラフィックコントローラ／カードは、2006年12月20日に公開されたPCI  Express(R)  Base  Specification,  Rev.  2.0のような仕様の改訂に準拠してもよい。他の実施例では、単体グラフィックコントローラは、PCI  Express(R)以外のプロトコルを利用する。或る実施例では、CPU100は、複数の単体グラフィックコントローラに結合される（複数の単体グラフィックコントローラを有する実施例は示されていない）。
【０００９】
CPU100はまた、I/Oコンプレックス106に結合される。I/Oコンプレックス106は、１つ以上のI/Oホストコントローラを収容してもよい。各I/Oホストコントローラは、CPU100がコンピュータシステムに接続されたI/O周辺機器と通信することを可能にする１つ以上のI/Oリンクを制御する。ディスプレイ108、ディスプレイ110及び無線ルータ112のようなI/O周辺機器は、コンピュータシステムに接続され得るI/O周辺機器の例である。
【００１０】
多くの実施例では、I/Oコンプレックス106は、単体ネットワークインタフェースコントローラ（NIC：network  interface  controller）114に結合される。単体NIC114は、コンピュータシステムとコンピュータシステムの外部の１つ以上のネットワークとの間のインタフェースを提供することができる。これらのネットワークは、コンピュータが位置するドメイン内に無線及び有線イントラネットネットワークのようなネットワークを含んでもよく、また、それ自体がインターネットを含んでもよい。
【００１１】
多くの実施例では、図１のシステムは、統一コネクタアーキテクチャ（UCA：unified  connector  architecture）ルータ116を含む。UCAルータ116は、１つ以上の高速リンクを通じて１つ以上の統一コネクタポートに結合される。ここでは、４つの統一コネクタポート（ポート118、ポート120、ポート122及びポート124）が示されている。UCAルータ116はまた、前述のように、１つ以上のI/Oリンクを通じてI/Oコンプレックス106に結合される。これらは、USB（Universal  Serial  Bus）及び／又は他の潜在的なI/OリンクのようなI/Oリンクを含む。図１は、３つのこのようなリンク（I/Oリンク126、I/Oリンク128及びI/Oリンク130）を示している。
【００１２】
多くの実施例では、UCAルータ116は、コンピュータシステムのマザーボード136上の単体コンポーネントである。他の実施例では、UCAルータは、I/Oコンプレックス106に統合されてもよい（これらの実施例は図示されない）。
【００１３】
これまでに実装されているコンピュータシステムでは、I/Oコンプレックス106の反対のI/Oリンクの終端は、互換性のある周辺機器がポートに接続することを可能にするプロトコル特有のポートである（すなわち、USBキーボード装置はUSBポートに接続され、無線ルータ装置はLAN/Ethernet（登録商標）ポートに接続される等）。いずれかの単一のポートは、互換性のあるプラグ及び互換性のあるプロトコルを有する装置に限定される。互換性のある装置がポートに接続されると、通信リンクは、I/Oコンプレックスと周辺機器との間に確立される。
【００１４】
図１に示す実施例に記載のコンピュータシステムでは、I/Oリンク（126-130）は、I/Oコンプレックス106をUCAルータ116に結合し、次にルータは、元々は特有のホストコントローラのプロトコルのデータパケットフォーマットで送信されたデータパケットを、統一コネクタのプロトコルのデータパケットフォーマットにカプセル化する。UCAルータ116は、統一コネクタのプロトコルのデータパケットを、対象の周辺機器が接続（すなわち、結合、プラグ接続）された統一コネクタポートにルーティングする。従って、これらの実施例では、ディスプレイ108、ディスプレイ110及び無線ルータ112のようなI/O周辺機器は、全て統一コネクタのプロトコルに準拠しており、統一コネクタポート（118-124）のいずれか１つに接続する統一コネクタ形状因子のプラグを有する。
【００１５】
更に、UCAルータ116は、接続された周辺機器のいずれかから入来した統一コネクタのプロトコルのデータパケットを、I/Oコンプレックス内で対象のI/Oホストコントローラにネイティブのプロトコルに変換する。
【００１６】
従って、コンピュータシステムから周辺機器に送信されると共に周辺機器からコンピュータシステムに送信されたI/Oデータ（例えば、ディスプレイ、ネットワーキング、USB等）は、それぞれの統一コネクタのプロトコルのデータパケットの内部の物理レイヤでパケット化及びカプセル化される。単体グラフィック及び単体NICコントローラに関して、これらのコントローラは、各プロトコルスタックにより規定された物理レイヤに従ってフォーマットされたI/Oデータを生成及び受信する。このデータが統一コネクタポートで伝搬されると、統一コネクタのデータプロトコルにより規定されたパケットフォーマット（すなわち、フレームフォーマット）に更にカプセル化される。どのようにUCAルータ116がカプセル化及びパケット化を実現するかの特有の実装は、図２を参照して以下に詳細に説明する。
【００１７】
図１に戻ると、多くの実施例では、単体NIC114と共に単体グラフィックコントローラ104をUCAルータ116に直接結合する更なる専用リンクが示されている。これらのリンクは、それぞれ点線のリンク132及び134として示されている。ディスプレイ及びネットワークの点線のリンクは、ディスプレイ装置及び／又はネットワーク装置が統一コネクタポート（例えば、統一コネクタポート118-124の１つ）を通じてコンピュータシステムに接続されることを可能にする。リンク132及び134は、単体カードに直接接続されたポートから、これまでに必要なディスプレイ及びネットワーク結合場所を除去する。例えば、これまでは、ディスプレイ周辺機器は、グラフィックカードのディスプレイポートに直接接続されている。統一コネクタアーキテクチャの実装では、ディスプレイ及びネットワーク装置は、統一コネクタポートに接続される。統一コネクタポートは、単体グラフィックコントローラ104カードの代わりにシステムマザーボード136に位置する。
【００１８】
図２は、統一コネクタアーキテクチャ（UCA）ルータ及びそれに伴う統一コネクタアーキテクチャロジックの一実施例を示している。図１では、UCAルータ116は、複数のホストコントローラ（ディスプレイコントローラ200、202及び204、NIC206及び208、USBホストコントローラ210）に結合されて示されている。更に、UCAルータ116はまた、複数の統一コネクタポート（ポート212-220）に結合されている。更に、複数の周辺機器が、複数のポートに接続されている。周辺機器1（P1）のウェブカメラ222は、統一コネクタポート212に結合された周辺機器2（P2）のディスプレイモニタ224に結合される。周辺機器3（P3）のディスプレイモニタ226は、統一コネクタポート214に結合される。周辺機器4（P4）の無線ルータ228は、統一コネクタポート218に結合される。最後に、周辺機器5（P5）のUSBプリンタ230は、統一コネクタポート220に結合される。
【００１９】
多くの実施例では、統一コネクタアーキテクチャは、ホストコントローラ（200-210）と接続された周辺機器（222-230）との間でデータを交換するためにパケット交換通信を使用する。パケット交換は、ホストコントローラと周辺機器装置との間の一般的なパケット伝送方法である。一般的な発見プロトコルが、プラットフォームに接続された周辺機器を列挙し、また、周辺機器のいずれかのホットプラグ（hot-plug）を検出するために使用される。周辺機器が列挙されると、特有のホストコントローラと特有の周辺機器との間でアプリケーションI/Oデータを交換するために、データ転送プロトコルが使用される。或る実施例では、統一コネクタアーキテクチャの発見及びデータ転送プロトコルは、それぞれのUSB2.0プロトコルの対応するもの（2000年4月27日に公開されたUSB  Specification,  Revision  2.0に規定されている）の拡張でもよい。他の実施例では、統一コネクタアーキテクチャの発見及びデータ転送プロトコルは、利用可能な他の種類の実現可能な装置発見及びデータ転送プロトコルの拡張でもよい。
【００２０】
接続された周辺機器（222-230）の列挙は、接続マネージャ232により実行される。異なる実施例では、接続マネージャ232は、UCAルータ116内のロジックとして、システムBIOS（basic  input/output  system）の一部として、又はコンピュータシステム上で実行するオペレーティングシステム内で、１つの低レベルのファームウェアとして実装されてもよい。接続マネージャ232は、統一コネクタポートに接続された周辺機器の種類（例えば、ディスプレイ、ネットワーク装置、USB装置等）を識別し、周辺機器に特有のアドレスを割り当てる役目をする。多くの実施例では、多機能装置は、複数のアドレスを割り当てられる。
【００２１】
多くの実施例では、各周辺機器（P1-P5）と、周辺機器のI/Oデータを扱う特有のホストコントローラ（200-210の１つ）との間の関連付けは、関連付けテーブル234に規定される。関連付けテーブルは、システム内のいずれかの種類のメモリ（システムメモリ、キャッシュ、バッファ等）に実装されてもよい。UCAルータ116は、正確なデータパケット（すなわち、フレーム）の送信対象を見つけるために、関連付けテーブルを使用する。関連付けテーブルを使用すると、送信対象は、送信されたパケット／フレームの発信元に依存する。ルータがホストコントローラ（すなわち、ディスプレイコントローラ、ネットワークコントローラ、I/Oコントローラ等）からデータパケットを受信すると、その対象は、意図する対象の周辺機器が結合（すなわち、接続）されたポートである。ルータが統一コネクタポートから統一コネクタのプロトコルのデータパケットを受信すると（すなわち、データパケットがポートに結合された周辺機器装置から開始すると）、対象は、その周辺機器に結合されたホストコントローラである。例えば、ディスプレイコントローラ200は、P2ディスプレイ224を対象とするディスプレイデータのパケットを送信し、UCAルータ116はパケットを受信し、関連付けテーブルを使用して対象の周辺機器（P2）を決定し（例えば、P2は、ディスプレイコントローラ200に結合されたAリンクに関連付けられる）、データパケットを統一コネクタのプロトコルのデータパケットにカプセル化し、統一コネクタポート212を通じてパケットをP2に送信する。多くの実施例では、P1がP2につながり、P2が統一コネクタポート212に結合されるように、周辺機器は、一緒に単一のポートから分岐してもよい。図２は、P1がリンクF（USBホストコントローラ210）に関連付けられ、P2がリンクA（ディスプレイコントローラ200）に関連付けられ、P3がリンクC（ディスプレイコントローラ204）に関連付けられ、P4がリンクD（ネットワークインタフェースコントローラ206）に関連付けられ、P5がリンクF（USBホストコントローラ210）に関連付けられることを明確にする関連付けテーブルの例を示している。
【００２２】
多くの実施例では、関連付けテーブルは、まず、システムブート時に（すなわち、システムの電源が回帰するとき、又は制御するオペレーティングシステムがコンピュータのソフトリスタートを実行したとき）、接続マネージャにより設定される。関連付けテーブルはまた、システムI/Oフローの動的切り換えに基づいて変化する使用モデルを実装するために、システムソフトウェア（オペレーティングシステム又は仮想機械マネージャ）によりランタイム中に再マッピングされてもよい。例えば、モバイルプラットフォームでは、ディスプレイ周辺機器は、システムが接続されたときに単体グラフィックコントローラに関連付けられてもよく、システムが関連付け情報を再マッピングすることによりバッテリで動作しているときに統合グラフィックコントローラに動的に切り換えられてもよい。
【００２３】
UCAルータ116はまた、ディスプレイ及びネットワークI/Oデータのパケット化及びカプセル化の役目をする。多くの実施例では、UCAルータ116は、統一コネクタのプロトコルのデータパケット（すなわち、フレーム）を構築しつつ、ディスプレイデータの連続ストリームを保持する１つ以上の内部バッファを有する。従って、UCAルータ116内のロジックは、ストリームをバッファに格納し、格納されたストリーム情報から個々のフレームを構築し、完全になったときにフレームを送信してもよい。他の実施例では、１つ以上のホストコントローラ（200-210）は、UCAルータ116及び統一コネクタのプロトコルフォーマットを認識している。ホストコントローラがUCAルータ116を認識している実施例では、認識しているホストコントローラは、統一コネクタのプロトコルのデータパケット自体を構築し、ネイティブの統一コネクタのプロトコルのフレームをUCAルータ116と交換する。これにより、UCAルータ116から変換／スイッチングの役目を除去する。この例では、UCAルータ116は、単にこれらの予めカプセル化されたデータパケットのフレームを対象の周辺機器に転送する必要があるだけでよい。
【００２４】
多くの実施例では、UCAルータ116はまた、統一コネクタのプロトコルのデータパケットを、対応するネイティブのホストコントローラのフォーマットのデータパケットに分解する役目をする。これは、特有のホストコントローラに関連付けられた周辺機器がホストコントローラを対象とする統一コネクタのプロトコルのデータパケットを送信したときに生じる。このパケットは、周辺機器から統一コネクタポートに到達し、そこで、UCAルータ116がパケットを受け取り、パケットをホストコントローラにネイティブのフォーマットに分解し、分解されたネイティブのデータパケットを対象のホストコントローラに送信する。
【００２５】
図３は、単体グラフィック及びローカルエリアネットワーク（LAN）カードの統一コネクタアーキテクチャのスロットコネクタの実施例を示している。現在の単体グラフィック及びLANカードへの変更を示すために、図３は、各カードの統一コネクタアーキテクチャ（UCA）バージョンと各カードの現在のバージョンとを並べて示している。図３に示す例は、PCI  Express(R)を利用するが、他の関連するプロトコルが使用されてもよい。
【００２６】
PCI  Express(R)単体グラフィックカード300の現在のバージョンが示されている。グラフィックカード300は、図示のようにスロットコネクタピン302を含む。更に、グラフィックカード300は、外部ディスプレイ周辺機器コネクタ304を有する。現在のPCI  Express(R)単体グラフィックのシナリオでは、グラフィックカード300がコンピュータシステムのマザーボード上のPCI  Express(R)グラフィックカードスロットに接続されたときに、CPU及びシステムメモリからのデータは、スロットコネクタピン302に物理的に結合されたPCI  Express(R)リンクを通じてグラフィックカード300に送信される。グラフィックカード300は、この受信したデータで動作し、それを外部周辺機器コネクタ304に接続されたディスプレイ周辺機器に送信する。
【００２７】
UCA付き単体グラフィックカード306を参照すると、図３に示す実施例では、UCA可能グラフィックカード306は、現在のバージョンのグラフィックカード300に類似したスロットコネクタピン308を含む。外部ディスプレイ周辺機器コネクタを有する代わりに、UCA付き単体グラフィックカード306は、追加スロットコネクタピン310を有する。UCA付き単体グラフィックカード306がPCI  Express(R)リンクから（スロットコネクタピン308から）データを受信し、受信したデータで動作すると、UCA可能グラフィックカード306は、マザーボード上の統一コネクタポートに接続されたディスプレイ周辺機器にデータを送信する。特に、データは、システムでスロットコネクタからUCAルータにルーティングされる更なるPCI  Express(R)リンクのレーンを通じて送信される。これらの更なるリンクのレーンは、追加スロットコネクタピン310に物理的に結合される。
【００２８】
次に、図３は、PCI  Express(R)単体LANカード312（カード上に統合されたNICを有する）の現在のバージョンを示している。LANカード312は、図示のようにスロットコネクタピン314を含む。更に、LANカード312は、外部LAN/Ethernet（登録商標）コネクタ316を有する。現在のPCI  Express(R)単体LANカードのシナリオでは、LANカード312がコンピュータシステムのマザーボード上のPCI  Express(R)LANカードスロットに接続されたときに、CPU及びシステムメモリからのデータは、スロットコネクタピン302に物理的に結合されたPCI  Express(R)リンクを通じてLANカード312に送信される。LANカード312は、この受信したデータをパケット化し、それをLAN/Ethernet（登録商標）コネクタ316に接続されたネットワークを通じて送信する。
【００２９】
最後に、UCA付き単体LANカード318を参照すると、図３に示す実施例では、UCA可能LANカード318は、現在のバージョンのLANカード312に類似したスロットコネクタピン320を含む。外部LAN/Ethernet（登録商標）コネクタを有する代わりに、UCA付き単体LANカード318は、追加スロットコネクタピン310を有する。UCA付き単体LANカード312がPCI  Express(R)リンクから（スロットコネクタピン320から）データを受信し、受信したデータをパケット化すると、UCA可能LANカード318は、マザーボード上の統一コネクタポートに接続されたEthernet（登録商標）ケーブルにデータを送信する。特に、データは、システムでスロットコネクタからUCAルータにルーティングされる更なるPCI  Express(R)リンクのレーンを通じて送信される。これらの更なるリンクのレーンは、追加スロットコネクタピン322に物理的に結合される。
【００３０】
図４は、周辺機器装置に拡張された統一コネクタアーキテクチャの一実施例を示している。多くの実施例では、統一コネクタアーキテクチャを使用するコンピュータシステム400は、図１〜３に記載の全ての特有のコンポーネントを含む。特に、UCAルータ116が存在し、１つ以上のホストコントローラ（潜在的にI/Oホストコントローラ、ディスプレイコントローラ、ネットワークコントローラ等を含む）に結合されると共に、１つ以上のユニバーサルコネクタポートに結合される（この例では、４つのポート（ユニバーサルコネクタポート402、404、406及び408）が存在する）。
【００３１】
多くの実施例では、周辺機器装置410は、ユニバーサルコネクタポート404に接続されたケーブル412を通じてコンピュータシステム400に結合される。周辺機器装置410側では、ケーブル412は、ユニバーサルコネクタポート414に接続され、ユニバーサルコネクタポート414は、ユニバーサルコネクタポート404と同じ形状因子を有してもよい。周辺機器装置410は、統合されたUCA論理デバイス416を有する。或る実施例では、UCA論理デバイス416は、コンピュータシステム400（例えば、USBポート付きの多機能ディスプレイ内等）のUCAルータ116と同じ機能を有する。他の実施例では、UCA論理デバイス416は、統一コネクタのプロトコルのデータパケットを周辺機器装置のネイティブのプロトコルのデータパケットに変換し、逆も同様に変換する簡単なプロトコル変換器である。
【００３２】
周辺機器装置410のUCA論理デバイス416は、周辺機器装置を対象とする、コンピュータシステム400のUCAルータ116から送信された統一コネクタのプロトコルのデータパケットを受信する。或る実施例では、UCA論理デバイス416はまた、周辺機器装置内部ロジック418からネイティブの周辺機器装置フォーマットのデータパケットを受信する。他の実施例では、周辺機器装置内部ロジック418は、統一コネクタのプロトコルのデータパケットフォーマットをネイティブに理解し、このことにより、内部ロジックは、統一コネクタのプロトコルのデータパケットを構築し、これらをそのフォーマットでUCA論理デバイス416に送信する。これらの実施例では、UCA論理デバイス416は、いずれかの方向（すなわち、周辺機器装置内部ロジック418からコンピュータシステム400へ及びその逆）に進むデータパケット（すなわち、フレーム）のいずれかのカプセル化作業を実行する必要がない。むしろ、これらの実施例では、UCAルータ418は、単にデータパケットを受信したときにデータパケットを適切な対象に転送する。
【００３３】
図５は、統一コネクタアーキテクチャの環境においてデータパケットをルーティングする処理の一実施例のフローチャートである。この処理は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実行されてもよい。図５を参照すると、処理は、周辺機器装置が統一コネクタポートに接続（プラグ接続）されているか否かを決定することにより始まる（処理ブロック500）。“接続（プラグ接続）”とは、周辺機器装置が統一コネクタポートに結合又は接続されることを示す。異なる実施例では、“接続（プラグ接続）”は、ブート前や、ホットプラグが可能である場合には完全なシステム動作中のような、如何なる時点に生じてもよい。周辺機器装置が接続されていない場合、処理ブロック500が繰り返される（すなわち、統一コネクタポートがポーリングされ、連続的にポーリングされてもよく、ポーリングは設定された期間毎に生じてもよい）。
【００３４】
次に、装置が接続されたことを処理ロジックが検出すると、処理ロジックは、周辺機器装置を列挙する（処理ブロック502）。次に、処理ロジックは、周辺機器装置をシステムに存在するホストコントローラに関連付ける（処理ブロック504）。周辺機器装置は、互換性のあるホストコントローラに関連付けられる（すなわち、これらは同じプロトコルを共有する）。
【００３５】
関連付けの後に、処理ロジックは、データパケットが受信されたか否かを決定する（処理ブロック506）。データパケットが受信されていない場合、処理ロジックは、周辺機器装置に変更／変化が存在するか否かを決定する（処理ブロック508）。例えば、第１の周辺機器装置が切断され、第２の周辺機器装置が同じ統一コネクタポートに接続される。周辺機器装置の状態に変化が存在しない場合、処理ロジックは、処理ブロック506に戻り、データパケットが受信されたか否かを再び検査する。そうでない場合、周辺機器装置で変化が検出された場合、処理ロジックは、処理ブロック500に戻り、周辺機器装置が統一コネクタポートに接続されたか否かを再検査する。
【００３６】
処理ブロック506に戻り、データパケットが受信された場合、処理ロジックは、データパケットが周辺機器装置から受信されたか、ホストコントローラから受信されたかを決定する（処理ブロック510）。データパケットが周辺機器装置から受信された場合、データパケットは、統一コネクタのプロトコルのデータパケットであり、処理ロジックは、統一コネクタのプロトコルのデータパケットを、ホストコントローラのプロトコルに互換性のある１つ以上のネイティブのホストコントローラのデータパケットに分解するように進む（処理ブロック512）。処理ロジックが統一コネクタのプロトコルのデータパケットをネイティブのホストコントローラのプロトコルのデータパケットに分解した後に、処理ロジックは、ネイティブのホストコントローラのデータパケットをホストコントローラに送信する（処理ブロック514）。次に、処理ロジックは、処理ブロック506に戻り、他のデータパケットが受信されているか否かを検査する。
【００３７】
処理ブロック510に戻り、データパケットがホストコントローラから受信された場合、データパケットは、ホストコントローラのネイティブのプロトコルのフォーマットであり、処理ロジックは、ネイティブのホストコントローラのデータパケットを、統一コネクタのプロトコルのデータパケットにカプセル化するように進む（処理ブロック516）。統一コネクタのプロトコルのデータパケットが生成されると、処理ロジックは、統一コネクタのプロトコルのデータパケットを、ポートに接続された周辺機器装置を対象とする統一コネクタポートに送信する（処理ブロック518）。最後に、処理ロジックは、処理ブロック506に戻り、他のデータパケットが受信されているか否かを検査し、処理が終了する。
【００３８】
以上のように、コンピュータプラットフォーム上に統一コネクタアーキテクチャを実装するシステム、装置及び方法の実施例が記載された。これらの実施例は、特定の例示的な実施例を参照して説明している。ここに記載の実施例の広い要旨及び範囲を逸脱することなく、様々な変更及び変形が実施例に行えることがこの開示の利益を有する人に明らかである。従って、明細書及び図面は、限定的な意味ではなく例示的な意味として考えられるべきである。
【００３９】
以上の実施例に関し、更に、以下の項目を開示する。
【００４０】
（１）第１のプロトコルを使用する第１のホストコントローラと、
前記第１のプロトコルとは異なる第２のプロトコルを使用する第２のホストコントローラと、
統一コネクタポートと、
前記第１のホストコントローラと前記第２のホストコントローラと前記統一コネクタポートとに結合されたルータと
を有し、
前記ルータは、前記第１のホストコントローラから受信した物理レイヤパケットを第１の統一コネクタのプロトコルのフレームにカプセル化し、前記第１のフレームを前記統一コネクタポートに送信し、前記第２のホストコントローラから受信した物理レイヤパケットを第２の統一コネクタのプロトコルのフレームにカプセル化し、前記第２のフレームを前記統一コネクタポートに送信するシステム。
【００４１】
（２）前記統一コネクタポートに結合された周辺機器装置と、
前記周辺機器装置の種類を識別し、前記周辺機器装置に固有のアドレスを割り当てる接続マネージャと
を更に有する、（１）に記載のシステム。
【００４２】
（３）関連付けテーブルを格納するメモリを更に有し、
前記ルータは、前記関連付けテーブルを使用して、前記周辺機器装置と前記第１のホストコントローラ及び前記第２のホストコントローラの１つとの間の関連付けを決定するように更に動作可能であり、前記関連付けは、前記周辺機器装置から受信した物理レイヤパケットを前記第１のホストコントローラに送信するか前記第２のホストコントローラに送信するかを前記ルータに通知する、（２）に記載のシステム。
【００４３】
（４）前記接続マネージャは、システムブート時に前記関連付けテーブルを生成するように更に動作可能である、（３）に記載のシステム。
【００４４】
（５）前記ルータは、バッファを更に有し、
前記バッファは、データのストリームを格納し、
前記ストリーム内の複数のパケットは、１つの統一コネクタのプロトコルのフレームを有する、（１）に記載のシステム。
【００４５】
（６）前記第１及び第２のホストコントローラとは別の１つ以上の更なるホストコントローラから受信した１つ以上の物理レイヤパケットを、１つ以上の更なる統一コネクタのプロトコルのフレームにカプセル化し、前記１つ以上の更なるフレームを前記統一コネクタポートに送信することを更に有し、
前記１つ上の更なるホストコントローラは、前記第１及び第２のプロトコルとは異なる１つ以上のプロトコルを有する、（１）に記載のシステム。
【００４６】
（７）第１のホストコントローラと統一コネクタポートとに結合されたルータを有し、
前記ルータは、前記第１のホストコントローラから受信した物理レイヤパケットを第１の統一コネクタのプロトコルのフレームにカプセル化し、前記第１のフレームを前記統一コネクタポートに送信する装置。
【００４７】
（８）前記ルータは、接続マネージャロジックを格納するファームウェアを更に有し、
前記接続マネージャロジックは、前記統一コネクタポートに結合された周辺機器装置の種類を識別し、前記周辺機器装置に固有のアドレスを割り当てる、（７）に記載の装置。
【００４８】
（９）前記ルータは、関連付けテーブルを格納するメモリを更に有し、
前記ルータは、前記関連付けテーブルを使用して、前記周辺機器装置と前記第１のホストコントローラとの間の関連付けを決定するように更に動作可能であり、前記関連付けは、前記周辺機器装置から受信した物理レイヤパケットを前記第１のホストコントローラに送信することを前記ルータに通知する、（８）に記載の装置。
【００４９】
（１０）前記接続マネージャロジックは、システムブート時に前記関連付けテーブルを生成するように更に動作可能である、（９）に記載の装置。
【００５０】
（１１）前記ルータは、バッファを更に有し、
前記バッファは、データのストリームを格納し、
前記ストリーム内の複数のパケットは、１つの統一コネクタのプロトコルのフレームを有する、（７）に記載の装置。
【００５１】
（１２）前記ルータは、前記第１のホストコントローラと異なるプロトコルを使用する第２のホストコントローラに結合され、
前記ルータは、前記第２のホストコントローラから受信した物理レイヤパケットを第２の統一コネクタのプロトコルのフレームにカプセル化し、前記第２のフレームを前記統一コネクタポートに送信するように更に動作可能である、（７）に記載の装置。
【００５２】
（１３）第１のホストコントローラから受信した物理レイヤパケットを第１の統一コネクタのプロトコルのフレームにカプセル化し、
前記第１のフレームを統一コネクタポートに送信し、
第２のホストコントローラから受信した物理レイヤパケットを第２の統一コネクタのプロトコルのフレームにカプセル化し、
前記第２のフレームを前記統一コネクタポートに送信することを有し、
前記第１のホストコントローラと前記第２のホストコントローラとは、異なるI/Oプロトコルを使用する方法。
【００５３】
（１４）前記統一コネクタポートに結合された第１の周辺機器装置の種類を識別し、
前記第１の周辺機器装置に固有のアドレスを割り当てることを更に有する、（１３）に記載の方法。
【００５４】
（１５）前記第１の周辺機器装置と前記第１のホストコントローラ及び前記第２のホストコントローラの１つとの間の関連付けを決定することを更に有し、
前記関連付けは、送信対象のホストコントローラを定める、（１４）に記載の方法。
【００５５】
（１６）前記第１の周辺機器装置が前記統一コネクタポートに接続されたときに、前記関連付けを決定することを更に有する、（１５）に記載の方法。
【００５６】
（１７）グラフィックコントローラから生成されたデータのストリームの複数のパケットから統一コネクタのディスプレイフレームを構築することを更に有する、（１３）に記載の方法。
【００５７】
（１８）統一コネクタポート及びネットワークインタフェースコントローラから生成されたデータのストリームの複数のネットワークデータパケットから統一コネクタのネットワークデータフレームを構築することを更に有する、（１７）に記載の方法。
【００５８】
（１９）前記統一コネクタポートから受信した第３の統一コネクタのプロトコルのフレームを、１つ以上の結果の物理レイヤパケットに分解し、
前記分解された第３のフレームからの前記１つ以上の結果の物理レイヤパケットを前記第１のホストコントローラに送信し、
前記統一コネクタポートから受信した第４の統一コネクタのプロトコルのフレームを、１つ以上の結果の物理レイヤパケットに分解し、
前記分解された第４のフレームからの前記１つ以上の結果の物理レイヤパケットを前記第２のホストコントローラに送信することを更に有する、（１４）に記載の方法。
【００５９】
（２０）前記第１のホストコントローラのプロトコルと互換性のある第１の周辺機器装置が前記第３のプロトコルのフレームを送信し、
前記第２のホストコントローラのプロトコルと互換性のある第２の周辺機器装置が前記第４のプロトコルのフレームを送信し、
前記第１の周辺機器装置は、前記第３のプロトコルのフレームを送信した後に、前記統一コネクタポートから切断し、
前記第２の周辺機器装置は、前記第４のプロトコルのフレームを送信する前に、引き続き前記統一コネクタポートに結合することを更に有する、（１９）に記載の方法。
【図１】
0005475069.tif 000002
【図２】
0005475069.tif 000003
【図３】
0005475069.tif 000004
【図４】
0005475069.tif 000005
【図５】
0005475069.tif 000006