(57)【特許請求の範囲】
【請求項１】
ホストデバイスと、
リモートターミナルとを含む、
システムであって、
該ホストデバイスは、ホストターミナルを含み、
該ホストターミナルは、
データレーンをＩ／Ｏプロトコルに配分するホストコンフィギュレーションマネージャと、
前記コンフィギュレーションマネージャの前記配分に基づき前記データレーンの配分を実施するプロトコルマルチプレクサとを含み、
前記リモートターミナルは、リモートコンフィギュレーションマネージャを含み、
前記ホストコンフィギュレーションマネージャは、コントロールバスを介して、前記リモートコンフィギュレーションマネージャと通信して、Ｉ／ＯポートへのＩ／Ｏデバイスの接続を検出し、且つ前記データレーンを前記Ｉ／Ｏプロトコルに配分する、
配分可能なデータレーンを備えるシステム。
【請求項２】
前記コントロールバスは、一方向通信リンク又は双方向通信リンクを含む、請求項１に記載のシステム。
【請求項３】
前記データレーンは、複数のデータレーンを含み、多数のＩ／ＯデバイスがＩ／Ｏポートに結合させられ、前記データレーンは、前記Ｉ／ＯデバイスのＩ／Ｏプロトコルに配分される、請求項１又は２に記載のシステム。
【請求項４】
前記データレーンは、複数の一方向データレーンを含み、前記データレーンは、対称的に又は非対称的に配分される、請求項１、２、又は３に記載のシステム。
【請求項５】
前記ホストコンフィギュレーションマネージャは、リモートターミナルのリモートコンフィギュレーションマネージャと通信して、前記データレーンを前記Ｉ／Ｏプロトコルに割り当てる、請求項１、２、３、又は４に記載のシステム。
【請求項６】
前記ホストコンフィギュレーションマネージャは、Ｉ／Ｏデバイス性能情報に基づきデータレーンを配分し、前記情報は、前記リモートコンフィギュレーションマネージャによって前記ホストコンフィギュレーションマネージャに伝達される、請求項１、２、３、４、又は５に記載のシステム。
【請求項７】
前記ホストデバイスは、前記リモートターミナルを含み、或いはリモートデバイスが、リモートターミナルを含む、請求項１、２、３、４、５、又は６に記載のシステム。
【請求項８】
前記データレーンは、一方向データレーン又は双方向データレーンを含む、請求項１、２、３、４、５、６、又は７に記載のシステム。
【請求項９】
前記データレーンは、前記Ｉ／Ｏデバイスと前記ホストデバイスとの間でデータを転送する、請求項１、２、３、４、５、６、７、又は８に記載のシステム。
【請求項１０】
前記リモートコンフィギュレーションマネージャは、双方向リンクを介して前記ホストコンフィギュレーションマネージャと通信する、請求項１、２、３、４、５、６、７、８、又は９に記載のシステム。
【請求項１１】
ホスト電子デバイスのホストターミナルであって、
Ｉ／ＯデバイスがＩ／Ｏポートに結合させられるときにデータレーンをＩ／Ｏプロトコルに配分するホストコンフィギュレーションマネージャと、
前記コンフィギュレーションマネージャによって決定される前記Ｉ／Ｏプロトコルへの前記データレーンの配分を実施するプロトコルマルチプレクサとを含む、
ホストターミナル。
【請求項１２】
前記データレーンは、複数のデータレーンを含み、前記データレーンは、対称的に又は非対称的に配分される、請求項１１に記載のホストターミナル。
【請求項１３】
前記データレーンは、一方向データレーン又は双方向データレーンを含む、請求項１１又は１２に記載のホストターミナル。
【請求項１４】
前記ホストコンフィギュレーションマネージャは、コントロールバスを介して、リモートターミナルのリモートコンフィギュレーションマネージャと通信して、前記データレーンを前記Ｉ／Ｏプロトコルに割り当てる、請求項１１、１２、又は１３に記載のホストターミナル。
【請求項１５】
前記コントロールバスは、一方向リンク又は双方向リンクを含む、請求項１４に記載のホストターミナル。
【請求項１６】
前記ホストデバイスは、前記リモートターミナルを含み、或いはリモートデバイスが、前記リモートターミナルを含む、請求項１４に記載のホストターミナル。
【請求項１７】
前記データレーンは、前記Ｉ／Ｏデバイスと前記ホストデバイスとの間でテータを転送する、請求項１１、１２、１３、１４、１５、又は１６に記載のホストターミナル。
【請求項１８】
ホストデバイスのホストターミナルにおいてＩ／Ｏデバイスの接続を検出すること、
データレーンをＩ／Ｏプロトコルに配分するようリモートターミナルと通信すること、及び
前記配分されるデータレーンを介して前記Ｉ／Ｏデバイスから前記ホストデバイスにデータを転送することを含む、
方法。
【請求項１９】
リモートターミナルにおいてＩ／ＯポートへのＩ／Ｏデバイスの接続を検出すること、及び
前記ホストターミナルに前記Ｉ／Ｏデバイスの前記接続を通知することを更に含む、
請求項１８に記載の方法。
【請求項２０】
前記リモートターミナルのリモートコンフィギュレーションマネージャが、双方向リンクを介して、前記ホストターミナルのホストコンフィギュレーションマネージャと通信する、請求項１８又は１９に記載の方法。
【請求項２１】
前記ホストターミナル及び前記リモートターミナルは、複数のデータレーンによって結合させられる、請求項１８、１９、又は２０に記載の方法。
【請求項２２】
プロセッサに、
ホストデバイスのホストターミナルにおいてＩ／Ｏデバイスの接続を検出させ、
リモートターミナルと通信してデータレーンをＩ／Ｏプロトコルに配分させ、且つ
前記配分されるデータレーンを介して前記Ｉ／Ｏデバイスから前記ホストデバイスにデータを転送させる、
コンピュータプログラム。
【請求項２３】
更に前記プロセッサに、
リモートターミナルにおいてＩ／ＯポートへのＩ／Ｏデバイスの接続を検出させ、且つ
前記ホストターミナルに前記Ｉ／Ｏデバイスの前記接続を通知させる、
請求項２２に記載のコンピュータプログラム。
【請求項２４】
前記リモートターミナルのリモートコンフィギュレーションマネージャは、双方向リンクを介して前記ホストターミナルのホストコンフィギュレーションマネージャと通信する、請求項２２又は２３に記載のコンピュータプログラム。
【請求項２５】
前記ホストターミナル及び前記リモートターミナルは、複数のデータレーンによって結合させられる、請求項２２、２３、又は２４に記載のコンピュータプログラム。
【請求項２６】
請求項２２、２３、２４、又は２５に記載のコンピュータプログラムを記憶するコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
一般的には、本技法は入出力（Ｉ／Ｏ）信号伝達プロトコルに関する。具体的には、本技法はデータレーン上の多重化Ｉ／Ｏプロトコルに関する。
【背景技術】
【０００２】
現在、入出力（Ｉ／Ｏ）デバイスは、データの転送やデータのバックアップ等を含む様々の理由のために、電子デバイスに結合されている。Ｉ／Ｏデバイスは、とりわけ、記憶装置、キーボード、及びマウスのような入力デバイスを含む。様々のＩ／Ｏデバイスに加えて、各デバイスはＩ／Ｏデバイスが結合させられる電子デバイスと相互作用するためのＩ／Ｏプロトコルに依存する。これらのＩ／Ｏデバイスは、とりわけ、ユニバーサルシリアルバス（ＵＳＢ）、ディスプレイポート（ＤＰ）、ペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）、及びシリアル・アドバンスド・テクノロジー・アタッチメント（ＳＡＴＡ）を含み得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は従来技術を改良することを目的とする。
【課題を解決するための手段】
【０００４】
図面を参照して、特定の例示的な実施例を以下に詳細に記載する。
【図面の簡単な説明】
【０００５】
【図１】コンピュータシステムの実施例を示すブロック図である。
【図２】他のコンピュータシステムの実施例を示すブロック図である。
【図３】他のコンピュータシステムの実施例を示すブロック図である。
【図４】データレーン多重システムの実施例を示すブロック図である。
【図５】データレーンにＩ／Ｏプロトコルを割り当てる方法の実施例を示すプロセスフローチャートである。
【図６】データレーンにＩ／Ｏプロトコルを割り当てる方法の他の実施例を示すプロセスフローチャートである。
【発明を実施するための形態】
【０００６】
同等の構成部品及び機能に言及するために、本開示及び図面を通じて同じ番号を用いる。１００番台の番号は図１に最初に見出される機能を指し、２００番台の番号は図２に最初に見出される機能を指す等である。
【０００７】
ここに開示する実施例は、Ｉ／Ｏリンクのレーン分割多重化のための技法を提供する。増大するＩ／Ｏ接続の種類の故に、電子デバイスは、ますます多数のポートと、サポートされるＩ／Ｏインターフェースとを含む。サポートされるＩ／Ｏインターフェースの数を増大させるために、一部のインターコネクトは、多数のＩ／Ｏプロトコルをサポートし得る。
【０００８】
多数のＩ／Ｏプロトコルをサポートする単一のインターコネクトが存在し、そこでは、ホストコントローラからのトラフィックが単一のバスにマージされ、ホストレベルでＩ／Ｏプロトコルのパケット化がもたらされる。換言すれば、それはトランスポートプロトコルを創り出し得る技術である。異なるネイティブＩ／Ｏプロトコルが送信側でトランスポートプロトコルにマッピングされる、即ち、単一のデータレーン上で配送されるよう単一のトランスポートプロトコルに束ねられ、受信側でネイティブＩ／Ｏプロトコルにマッピング解除される。この種のＩ／Ｏ技術は、ネイティブ１／Ｏをトランスポートプロトコルにパケット化し且つトランスポートプロトコルからネイティブ１／Ｏプロトコルにパケット化解除するために追加的な出力を利用する。加えて、ネイティブ１／Ｏプロトコルは１つに束ねられるので、プロトコルは個別に出力管理が行われ得ない。更に、ネイティブ１／Ｏプロトコルのバンドルの故に、トランスポートプロトコルはタイミングの懸念に晒される。例えば、データ転送が最も遅い速度のＩ／Ｏプロトコルで起こり、最も速い速度のＩ／Ｏプロトコルで起こらない。これらのタイミングの懸念の故に、ネイティブ１／Ｏプロトコルに遅延を導入し得る。
【０００９】
多数のＩ／Ｏプロトコルをサポートする単一のインターコネクトの他の実例は、ＵＳＢである。ＵＳＢは、デバイスレベルでＩ／Ｏプロトコルをパケット化する技術である。換言すれば、ＵＳＢは、サポートされるプロトコルの全てが同じパス上を走り且つデバイスドライバ及びスケジューリングによって分離される技術である。ＵＳＢは、デバイスのためにデバイスクラスを定め、そのデバイスレベルでデータ転送を停止する。しかしながら、ＵＳＢはデータの種類及び一時に転送し得るデータの量において制限される。加えて、ＵＳＢは再構築性において制限される。ＵＳＢプロトコルはそのデバイスレベルで作動するよう最適化されるが、非ＵＳＢプロトコルをトンネリングすることを考慮せずに定められる。
【００１０】
上述の実例は、両方とも時分割多重（ＴＤＭ）の着想を利用し、そこでは、各デバイスは時間領域内で帯域幅を共用する。この出願では、レーン分割多重（ＬＤＭ）の着想が提示される。ＬＤＭでは、インターコネクト媒体が、双方向レーンと共に、各方向における１つ又はそれよりも多くの一方向高速レーンで構成される。様々のＩ／Ｏプロトコルが検出され、独立して特定のレーンにネイティブに（即ち、Ｉ／Ｏプロトコルの特性を維持して）配分される。Ｉ／Ｏプロトコルは電気的に結合されない。このＬＤＭ方法は既存の解決策に対して幾つかの利点を有する。具体的には、Ｉ／Ｏプロトコルのネイティブ特性が維持されるので、その方法は既存の解決策よりもロバストである。加えて、新しいプロトコルが導入されないので、マッピング及びマッピング解除に関する追加的なプロトコル処理が不要であり、金型サイズの減少及びより低い電力消費をもたらす。加えて、その方法はより効率的である。何故ならば、プロトコルはバンダルにされないので、高速プロトコル及び低速プロトコルが干渉を伴わずにそれらの夫々の速度で動作し得るからである。更に、その方法は単純であり、新しいプロトコルの創成、マッピング及びマッピング解除の複雑性、又は各々がそれらの独自の特性を有するＩ／Ｏプロトコルのバンダルを要求しない。接続されるＩ／Ｏプロトコルに依存して、その方法を異なるＩ／Ｏプロトコルで柔軟に構成することもできる。加えて、電気信号を運ぶものとしてシステム及び方法をここに記載するが、システム及び方法は光信号のような他の種類の信号を含むよう拡張可能である。
【００１１】
図１は、コンピュータシステムの実施例のブロック図である。コンピュータシステムは、電子デバイス１００（即ち、ホストデバイス）を含み得る。電子デバイス１００は、実質的に如何なる種類の電子デバイスであってもよく、例えば、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、スマートフォンのような携帯電話、携帯情報端末（ＰＤＡ）、カメラ、テレビ、ビデオプレーヤ又はレシーバ、ゲームコンソール、及び類似物を含むが、これらに限定されない。電子デバイス１００は、記憶させられる命令を実行する中央処理装置１０２（ＣＰＵ）や、ＣＰＵ１０２によって実行可能である命令を記憶するメモリデバイス１０４を含み得る。バス１０６によってＣＰＵ１０２をメモリデバイスに結合し得る。加えて、ＣＰＵ１０２は、シングルコアプロセッサ、マルチコアプロセッサ、又は任意の数の他のコンフィギュレーション（構成）であり得る。更に、電子デバイス１００は、１つよりも多くのＣＰＵ１０２を含み得る。
【００１２】
メモリデバイス１０４は、ランダムアクセス記憶装置（ＲＡＭ）、読出し専用記憶装置（ＲＯＭ）、フラッシュメモリ、又は任意の他の適切なメモリシステムを含み得る。例えば、メモリデバイス１０４は、ダイナミックランダムアクセス記憶装置（ＤＲＡＭ）を含み得る。電子デバイス１００をディスプレイデバイス１１０に接続するために、バス１０６を通じてＣＰＵ１０２をディスプレイインターフェース１０８に接続し得る。ディスプレイデバイス１１０は、電子デバイス１００の内蔵コンポーネントであるディスプレイスクリーンを含み得る。ディスプレイデバイス１１０は、とりわけ、電子デバイス１００に外部的に接続される、コンピュータモニタ、テレビ、又はプロジェクタも含み得る。
【００１３】
ネットワークインターフェースカード１１２（ＮＩＣ）が、システムバス１０６を通じて、電子デバイス１００をネットワーク（図示せず）に接続し得る。ネットワーク（図示せず）は、とりわけ、広域ネットワーク（ＷＡＮ）、構内ネットワーク（ＬＡＮ）、又はインターネットであり得る。ある実施例において、電子デバイス１００は有線接続又は無線接続を介してネットワークに繋がり得る。
【００１４】
バス１０６を通じてＣＰＵ１０２をホストターミナル１１４にも結合し得る。ホストターミナル１１４をリモートターミナル１１６に結合し得る。リモートターミナル１１６をＩ／Ｏデバイス又は複数のＩ／Ｏデバイス１１８に結合し得る。Ｉ／Ｏデバイス１１８から電子デバイス１００にデータを転送するために、ホストターミナル１１４及びリモートターミナル１１６を複数のデータレーンによって結合し得る。複数のデータレーンは如何なる数のデータレーンをも含み得る。データレーンをＩ／Ｏデバイス１１８のＩ／Ｏプロトコルに配分するために、ホストターミナル１１４及びリモートターミナル１１６はコントロールバスを介して通信し得る。コントロールバスは一方向通信リンク又は双方向通信リンクであり得る。ある実施例では、各データレーンを異なるＩ／Ｏプロトコルに割り当て得る。Ｉ／Ｏデバイスが利用可能であるデータ速度及びこれらのデータ速度をサポートするレーンの数に基づき、各Ｉ／Ｏプロトコルに割り当てられるレーンの数を決定し得る。
【００１５】
図１のブロック図は、コンピュータシステム１００があらゆる場合において図１に示すコンポーネントの全てを含むべきことを示すことを意図していないことが理解されるべきである。更に、具体的な実施の詳細に依存して、如何なる数の追加的なコンポーネントをもコンピュータシステム１００内に含め得る。
【００１６】
図２は、他のコンピュータシステムの実施例のブロック図である。ホストデバイス２００は如何なる種類の電子デバイスであってもよい。例えば、ホストデバイス２００は、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ等であり得る。ホストデバイス２００は、ホストターミナル２０２を含む。複数のデータレーンを介してリモートデバイス２０４をホストデバイス２００に結合し得る。リモートデバイス２０４も、如何なる電子デバイスであってもよく、Ｉ／Ｏデバイス２０６を接続するためのＩ／Ｏポートを含み得る。例えば、リモートデバイス２０４は、ドッキングステーション、Ｉ／Ｏデバイスハブ等であり得る。リモートデバイス２０４は、リモートターミナル２０８を含む。リモートターミナル２０８は、ホストターミナル１１４と通信してＩ／Ｏデバイス２０６のＩ／Ｏプロトコルにデータレーンを配分する。リモートターミナル２０８又はホストターミナル２０２によってリモートターミナル２０８とホストターミナル２０２との間の通信を開始し得る。
【００１７】
図２のブロック図は、コンピュータシステム２００があらゆる場合において図２に示すコンポーネントの全てを含むべきことを示すことを意図していないことが理解されるべきである。更に、具体的な実施の詳細に依存して、如何なる数の追加的なコンポーネントをもコンピュータシステム２００内に含め得る。
【００１８】
図３は、他のコンピュータシステムの実施例のブロック図である。コンピュータシステムは、ホストデバイス３００を含む。ホストデバイス３００は、リモートターミナル３０４に結合されるホストターミナル３０２を含む。複数のデータレーンを介してホストターミナル３０２及びリモートターミナル３０４を結合し得る。例えば、複数のデータレーンを含むケーブルによってホストターミナル３０２をリモートターミナル３０４に結合し得る。ホストデバイス３００は、複数のＩ／Ｏポートを含み得る。Ｉ／ＯポートにはＩ／Ｏデバイス３０６を結合し得る。リモートターミナル３０４はＩ／Ｏポートに結合させられ、ホストデバイス３００へのＩ／Ｏデバイス３０６の接続を検出する。ホストターミナル３０２及びリモートターミナル３０４は通信してＩ／Ｏデバイス３０６のＩ／Ｏプロトコルにデータレーンを配分する。
【００１９】
図３のブロック図は、コンピュータシステム３００があらゆる場合において図３に示すコンポーネントの全てを含むべきことを示すことを意図していないことが理解されるべきである。更に、具体的な実施の詳細に依存して、如何なる数の追加的なコンポーネントをもコンピュータシステム３００内に含め得る。
【００２０】
図４は、データレーン多重システムの実施例のブロック図である。データレーン多重システム４００を、図１、図２、又は図３に例示するコンピュータシステムのようなコンピュータシステムに含め得る。データレーン多重システムは、ホストターミナル４０２と、リモートターミナル４０４とを含み得る。ホストターミナル４０２を、電子デバイス１００、ホストデバイス２００、又はホストデバイス３００のようなホストデバイスに含め得る。リモートターミナル２０４を図３によって例示するようなホストデバイスに含め得るし、或いはリモートターミナル２０４を図２に例示するようなホストデバイス２００と別個のリモートデバイスに含め得る。
【００２１】
データレーン又は複数のデータレーン４０４−４１４を介してホストターミナル４０２及びリモートターミナル４０４を結合し得る。例えば、各々のワイヤがデータを転送するデータレーンとして作用する複数のワイヤを含むケーブルによってホストターミナル４０２及びリモートターミナル４０４を結合し得る。データレーン４０４−４１４は、ホストターミナル４０２からリモートターミナル４０４に或いはリモートターミナル４０４からホストターミナル４０２にのように、データを一方向においてのみ転送する一方向データレーンであり得る。データレーン４０４−４１４は、高速データレーン又は低速データレーンのような、如何なる適切な種類のデータレーンであってもよい。他の実施例において、ホストターミナル４０２をリモートターミナル４０４に結合するデータレーン４０４−４１４は、混じり合った種類のデータレーンを含み得る。例えば、データレーン４０４−４１４は、高速データレーン及び低速データレーンの混合を含み得る。どのデータレーン（複数のデータレーン）４０４−４１４が各Ｉ／Ｏプロトコルに配分されるかを決定するために、データレーンへのＩ／Ｏプロトコルの配分中にデータレーンの種類を用い得る。
【００２２】
ホストターミナル４０２は、複数のＩ／Ｏプロトコルインターフェース４１６、４１８、及び４２０を含み得る。例えば、ホストターミナル４０２は、ディスプレイポート（ＤＰ）インターフェース４１６、ユニバーサルシリアルバス３．０（ＵＳＢ３）インターフェース４１８、及びペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）インターフェース４２０を含み得る。システム４００は、ＤＰ、ＵＳＢ３、及びＰＣＩｅを含むものとして示されているが、システム４００はそれらのインターフェースに限定されず、如何なる種類のＩ／Ｏインターフェース、並びに如何なる種類のＩ／Ｏインターフェースの組み合わせをも含み得ることが理解されるべきである。
【００２３】
ホストターミナル４０２は、ホストコンフィギュレーションマネージャ４２２も含み得る。ホストコンフィギュレーションマネージャ４２２は、Ｉ／ＯデバイスのＩ／Ｏプロトコルをデータレーンに配分する。ホストターミナル４０２は、プロトコルマルチプレクサ４２４を追加的に含み得る。プロトコルマルチプレクサ４２４は、ホストコンフィギュレーションマネージャ４２２によるるデータレーンのコンフィギュレーション（構成）に基づきデータレーン上の信号を多重化（多重送信）し得る。換言すれば、プロトコルマルチプレクサ４２４は、ホストコンフィギュレーションマネージャ４２２によって決定されるようなデータレーンへのＩ／Ｏプロトコルの配分を実施する。
【００２４】
リモートターミナル４０４は、Ｉ／Ｏデバイスを接続するためのＩ／Ｏポートを含み得る。例えば、Ｉ／Ｏポートは、とりわけ、ディスプレイポート４２６、ＵＳＢ３ポート４２８、及びＰＣＩｅポート４３０を含み得る。ポートは図４に描写するポートに限定されず、物理層で類似の電気特性を共用する如何なる種類のＩ／Ｏプロトコルをも含み得る。
【００２５】
リモートターミナル４０４は、リモートコンフィギュレーションマネージャ４３２も含む。リモートターミナル４０４のリモートコンフィギュレーションマネージャ４３２は、ホストターミナル４０２のホストコンフィギュレーションマネージャ４２２と通信し得る。リモートコンフィギュレーションマネージャ４３２及びホストコンフィギュレーションマネージャ４２２はコントロールバス４３４を介して通信し得る。コントロールバス４３４は、高速リンク又は低速リンク或いは一方向リンク又は双方向リンクのような、如何なる適切な種類のリンクでもあり得る。リモートコンフィギュレーションマネージャ４３２は、Ｉ／Ｏポート４２６−４３０へのＩ／Ｏデバイスの接続を検出する。リモートコンフィギュレーションマネージャ４３２がＩ／Ｏデバイスの接続を検出すると、リモートコンフィギュレーションマネージャ４３２はホストコンフィギュレーションマネージャ４２２に通知する。ホストコンフィギュレーションマネージャ４２２はリモートコンフィギュレーションマネージャを初期化(initialize)し、リモートコンフィギュレーションマネージャ４３２と通信する。リモートコンフィギュレーションマネージャ４３２は、そのＩ／Ｏデバイスが可能なデータ速度のような、接続されるＩ／Ｏデバイスの性能を決定し、よって、所与のデータ速度で動作するためにどれぐらい多くのデータレーンをＩ／Ｏデバイスが用いるかを決定する。ホストコンフィギュレーションマネージャ４２２は、どのアプリケーションがＩ／Ｏデバイスにアクセスするかを決定し、アプリケーションが動作するデータ速度を決定し得る。ホストコンフィギュレーションマネージャ４２２及びリモートコンフィギュレーションマネージャ４３２は情報を交換し且つ交渉してデータレーンをＩ／ＯデバイスのＩ／Ｏプロトコルに配分する。
【００２６】
ある実施例において、リモートターミナル４０４は、多数のＩ／Ｏデバイスの接続を検出し得る。例えば、リモートターミナル４０４は、ディスプレイポート４２６内のディスプレイポートデバイス及びＵＳＢ３ポート４２８内のＵＳＢデバイスの接続を検出し得る。リモートコンフィギュレーションマネージャ４３２はホストコンフィギュレーションマネージャ４２２と通信して、データレーンにＩ／Ｏデバイスを配分する。例えば、データレーン４０４及び４１０をＤＰデバイスに配分して、データレーン４０６及び４１２をＵＳＢデバイスに配分し得る。データレーン４０４−４１４を対称的に或いは非対称的に配分し得ることが理解されるべきである。例えば、データレーン４０４、４０６、及び４１０をＤＰデバイスに配分し、データレーン４０８及び４１２をＵＳＢデバイスに配分し得る。データレーン４０４−４１４をＩ／Ｏプロトコルに配分するや否や、Ｉ／Ｏデバイスは配分されたデータレーン４０４−４１４を介してホストデバイスにデータを転送し得る。
【００２７】
リモートコンフィギュレーションマネージャ４３２は、Ｉ／Ｏポート４２６−４３０からのデバイスの切断も検出し得る。例えば、リモートコンフィギュレーションマネージャ４３２は、ＤＰデバイスの切断を検出し得る。リモートコンフィギュレーションマネージャ４３２はホストコンフィギュレーションマネージャ４２２にＤＰデバイスの切断を通知する。ホストコンフィギュレーションマネージャ４２２はＤＰデバイスに配分されたデータレーンを再配分し、再配分されるデータレーンを利用可能な資源、即ち、配分のために利用可能なデータレーンとして記す。デバイスが切断されると、いずれの接続されたままの状態のデバイスも中断なく作動し続ける。例えば、ＤＰデバイスが切断されると、ＵＳＢデバイスは中断なく作動し続ける。
【００２８】
リモートターミナルは、アナログマルチプレクサ４３６も含み得る。プロトコルマルチプレクサ４２４と同様に、アナログマルチプレクサ４３６は、ホストコンフィギュレーションマネージャ４２２とリモートコンフィギュレーションマネージャ４３２との間の通信によって決定される、Ｉ／Ｏプロトコルへのデータレーンの機能の切換えを実施する。リモートターミナル４０４に中継器４３８（リピータ）を含め得る。中継器４３８は、中継される電気信号の電気特性を維持し得る。
【００２９】
図４のブロック図は、データレーン多重システム４００があらゆる場合において図４に示すコンポーネントの全てを含むべきことを示すことを意図していないことが理解されるべきである。更に、具体的な実施の詳細に依存して、如何なる数の追加的なコンポーネントをもデータレーン多重システム４００内に含め得る。
【００３０】
図５は、Ｉ／Ｏプロトコルをデータレーンに配分する方法の実施例のプロセスフロー図である。データレーン多重システム４００のような、レーン多重システムによって方法５００を実施し得る。ブロック５０２で、ホストデバイスのホストターミナルにおいてＩ／Ｏデバイスの接続を検出し得る。Ｉ／Ｏデバイスは、ＵＳＢデバイス、ＰＣＩｅデバイス、ＤＰデバイス、又は任意の他の種類のＩ／Ｏデバイスのような、如何なる種類のＩ／Ｏデバイスであってもよい。Ｉ／Ｏデバイスの接続の検出は、Ｉ／Ｏデバイスの接続のリモートターミナルによる検出、及びホストターミナルにデバイスの接続を通知することを含み得る。例えば、リモートコンフィギュレーションマネージャ４３２のような、リモートコンフィギュレーションマネージャ４３２が、Ｉ／Ｏデバイスの接続を検出し得る。リモートコンフィギュレーションマネージャ４３２はホストコンフィギュレーションマネージャ４２２と通信してホストターミナルにＩ／Ｏデバイスの接続を通知し得る。
【００３１】
Ｉ／ＯデバイスをＩ／Ｏポートに結合し得る。Ｉ／Ｏポートをホストデバイス内に或いはリモートデバイス内に配置し得る。例えば、ホストデバイスはラップトップであり、Ｉ／ＯデバイスをラップトップのＩ／Ｏポートに結合し得るし、或いはＩ／Ｏデバイスラップトップに結合されるリモートデバイス（例えば、ＵＳＢ３）に結合し得る。ホストデバイス又はリモートデバイスは、単一のＩ／Ｏポート又は多数のＩ／Ｏポートを含み得る。ある実施例では、単一のＩ／Ｏデバイスをホストデバイス又はリモートデバイスに結合し得る。更なる実施態様では、多数のＩ／Ｏデバイスをホストデバイス又はリモートデバイスに結合し得る。Ｉ／Ｏポートは単一の種類のＩ／Ｏポート又は多数の種類のＩ／Ｏポートを含み得る。例えば、Ｉ／Ｏポートは、ＵＳＢ３ポート、ＤＰポート、ＰＣＩｅポート、それらの組み合わせ、又は任意の他の種類のＩ／Ｏポートを含み得る。
【００３２】
ブロック５０４で、接続されるＩ／ＯデバイスのＩ／Ｏプロトコルをデータレーンに配分するよう、ホストターミナルはリモートターミナルと通信する。リモートターミナルをホストデバイス内に含め得るし、或いはリモートターミナルをリモートデバイス内に含め得る。データを転送するために複数のデータレーンによってリモートターミナルとホストターミナルとを結合し得る。ホストターミナル及びリモートターミナルは双方向リンクを介して通信し得る。ホストターミナル及びリモートターミナルは、Ｉ／Ｏデバイスの性能及びＩ／Ｏデバイスにアクセスするアプリケーション（複数のアプリケーション）のデータ速度に関する情報を交換し得る。この情報を用いて、ホストターミナル及びリモートターミナルは、データレーン（複数のデータレーン）をＩ／ＯデバイスのＩ／Ｏプロトコルに配分し得る。足す運おＩ／ＯデバイスがＩ／Ｏポートに結合されるとき、データレーンをＩ／Ｏデバイスの各々のＩ／ＯデバイスのＩ／Ｏプロトコルに配分し得る。
【００３３】
データレーンを配分するために、ホストターミナルのホストコンフィギュレーションマネージャがリモートターミナルのリモートコンフィギュレーションマネージャと通信し得る。ホストコンフィギュレーションマネージャ及びリモートコンフィギュレーションマネージャは情報を交換し、その情報に基づきデータレーンを配分する。データレーンを対称的に又は非対称的に配分し得る。ブロック５０６で、割り当てられるデータレーン（複数のデータレーン）を介して、Ｉ／Ｏデバイスからホストデバイスにデータを転送し得る。
【００３４】
図５の方法は、方法５００があらゆる場合において図５に示すコンポーネントの全てを含むべきことを示すことを意図していないことが理解されるべきである。更に、具体的な実施の詳細に依存して、如何なる数の追加的なコンポーネントをも方法５００内に含め得る。
【００３５】
図６は、Ｉ／Ｏプロトコルをデータレーンに配分する方法の他の実施例のプロセスフロー図である。データレーン多重システム４００のような、レーン多重システムによって方法６００を実施し得る。ブロック６０２で、ホストターミナル及びリモートターミナルを初期化し得る。ホストデバイス１００、２００、又は３００のような、ホストデバイス内にホストターミナルを含め得る。ホストデバイス内に或いはホストデバイスとは別個のリモートデバイス内にリモートターミナルを含め得る。Ｉ／Ｏデバイスとホストデバイスとの間でデータを転送するために、複数のデータレーンのようなデータレーンを介して、ホストターミナルとリモートターミナルとを結合し得る。
【００３６】
ブロック６０４で、Ｉ／Ｏデバイスの検出を決定し得る。リモートターミナルによってＩ／Ｏデバイスの検出を実施し得る。リモートターミナルは、Ｉ／ＯポートへのＩ／Ｏデバイスの接続を検出し得る。Ｉ／Ｏデバイスは、如何なる種類のＩ／Ｏデバイスであってもよい。Ｉ／Ｏデバイスが検出されないならば、方法はブロック５０２に戻り得る。Ｉ／Ｏデバイスが検出されるならば、リモートターミナルは、ブロック６０６で、ホストターミナルにＩ／Ｏデバイスの接続を通知し得る。具体的には、リモートターミナルのリモートコンフィギュレーションマネージャがホストデバイスのホストコンフィギュレーションマネージャ４２２に接続を通知し得る。
【００３７】
ブロック６０８で、ホストターミナルのホストコンフィギュレーションマネージャはリモートコンフィギュレーションマネージャと通信してＩ／ＯデバイスのＩ／Ｏプロトコルをデータレーン（複数のデータレーン）に配分し得る。リモートコンフィギュレーションマネージャ及びホストコンフィギュレーションマネージャは、Ｉ／Ｏデバイスにアクセスするアプリケーションをサポートするよう、Ｉ／Ｏデバイスの性能及びデータ速度に関する情報を交換し得る。この情報を用いて、リモートコンフィギュレーションマネージャ及びホストコンフィギュレーションマネージャはデータレーンをＩ／ＯデバイスのＩ／Ｏプロトコルに配分する。ある実施例では、多数のＩ／ＯデバイスをＩ／Ｏポートに結合し得る。Ｉ／Ｏデバイスは、各々、異なるＩ／Ｏプロトコルを含む。結合させられるＩ／Ｏデバイスの各Ｉ／Ｏプロトコルにデータレーンを配分し得る。
【００３８】
ブロック６１０で、配分されるデータレーン（複数のデータレーン）を介してＩ／Ｏデバイスからホストデバイスにデータを転送し得る。ブロック６１２で、Ｉ／Ｏデバイスの切断を決定し得る。例えば、リモートコンフィギュレーションマネージャはＩ／Ｏデバイスが切断されたか否かを決定し得る。Ｉ／Ｏデバイスが切断されていないならば、方法はブロック６１０に戻る。Ｉ／Ｏデバイスが切断されているならば、リモートターミナルは、ブロック６１４で、ホストターミナルにＩ／Ｏデバイスの切断を通知し得る。ブロック６１６で、ホストコンフィギュレーションマネージャは、切断されたＩ／Ｏデバイスに配分されているデータレーン（複数のデータレーン）を、再配分のために、非配分（即ち、利用可能な）状態に戻す。方法はブロック６０２に戻り得る。
【００３９】
図６の方法は、方法６００があらゆる場合において図６に示すコンポーネントの全てを含むべきことを示すことを意図していないことが理解されるべきである。更に、具体的な実施の詳細に依存して、如何なる数の追加的なコンポーネントをも方法６００内に含め得る。
【実施例１】
【００４０】
あるシステムをここに記載する。システムは、ホストデバイスを含む。ホストデバイスは、データレーンをＩ／Ｏプロトコルに配分するホストコンフィギュレーションマネージャと、コンフィギュレーションマネージャの配分に基づきデータレーンの配分を実施するプロトコルマルチプレクサとを含む。システムは、リモートコンフィギュレーションマネージャを含むリモートターミナルも含む。Ｉ／ＯポートへのＩ／Ｏデバイスの接続を検出し且つデータレーンをＩ／Ｏプロトコルに配分するために、ホストコンフィギュレーションマネージャはコントロールバスを介してリモートコンフィギュレーションマネージャと通信する。
【００４１】
コントロールバスは一方向リンク又は双方向リンクを含み得る。データレーンは一方向データレーン又は双方向データレーンを含み得る。データレーンは、複数のデータレーンと、Ｉ／Ｏポートに結合させられる多数のＩ／Ｏデバイスとを含み得る。データレーンをＩ／ＯデバイスのＩ／Ｏプロトコルに配分し得る。データレーンは複数の一方向データレーンを含み得る。複数のデータレーンを対称的に又は非対称的に配分し得る。データレーンをＩ／Ｏプロトコルに割り当てるために、ホストコンフィギュレーションマネージャは、リモートターミナルのリモートコンフィギュレーションマネージャと通信するようであり得る。ホストコンフィギュレーションマネージャは、Ｉ／Ｏデバイス性能情報に基づきデータレーンを配分するようであり得る。情報は、リモートコンフィギュレーションマネージャによってホストコンフィギュレーションマネージャに通信させられるようであり得る。ホストデバイスはリモートターミナルを含み得るし、或いはリモートデバイスはリモートターミナルを含み得る。
【実施例２】
【００４２】
あるホスト電子デバイスのホストターミナルをここに記載する。ホストターミナルは、Ｉ／ＯデバイスがＩ／Ｏポートに結合させられるときにデータレーンをＩ／Ｏプロトコルに配分するホストコンフィギュレーションマネージャを含む。ホストターミナルは、ホストコンフィギュレーションマネージャによって決定されるようなＩ／Ｏプロトコルへのデータレーンの配分を実施するプロトコルマルチプレクサも含む。
【００４３】
データレーンは複数のデータレーンを含み得る。データレーンを対称的に又は非対称的に配分し得る。データレーンは一方向データレーン又は双方向データレーンを含み得る。ホストコンフィギュレーションマネージャは、データレーンをＩ／Ｏプロトコルに割り当てるために、コントロールバスを介してリモートターミナルのリモートコンフィギュレーションマネージャと通信するようであり得る。コントロールバスは一方向リンク又は双方向リンクを含み得る。ホストデバイスはリモートターミナルを含み得るし、或いはリモートデバイスはリモートターミナルを含み得る。データレーンはＩ／Ｏデバイスとホストデバイスとの間でデータを転送し得る。データレーンは複数のデータレーンを含み得るし、多数のＩ／ＯデバイスをＩ／Ｏポートに結合させ得るし、データレーンをＩ／Ｏデバイスの各Ｉ／Ｏプロトコルに配分し得る。ホストコンフィギュレーションマネージャは、Ｉ／Ｏデバイス性能情報に基づきデータレーンを配分するようであり得る。情報はリモートターミナルのリモートコンフィギュレーションマネージャによってホストコンフィギュレーションマネージャに通信させられることが意図される。
【実施例３】
【００４４】
あるコンピュータシステムをここに記載する。コンピュータシステムは、ホストデバイスのホストターミナルにおいて、Ｉ／Ｏデバイスの接続を検出する論理を含む。コンピュータシステムは、データレーンをＩ／Ｏプロトコルに配分するようリモートターミナルと通信する論理や、配分されるデータレーンを介してＩ／Ｏデバイスからホストデバイスにデータを転送する論理も含む。
【００４５】
コンピュータシステムは、リモートターミナルにおいて、Ｉ／ＯポートへのＩ／Ｏデバイスの接続を検知する論理や、ホストターミナルにＩ／Ｏデバイスの接続を通知する論理も含み得る。リモートターミナルのリモートコンフィギュレーションマネージャは、双方リンクを介して、ホストターミナルのホストコンフィギュレーションマネージャと通信し得る。複数のデータレーンによってホストターミナル及びリモートターミナルを結合させ得る。データレーンは一方向データレーンを含み得る。コンピュータシステムは、Ｉ／ＯポートからのＩ／Ｏデバイスの切断を検出する論理や、データレーンを新しいＩ／Ｏプロトコルに配分させられるべき非配分状態に戻す論理も含み得る。Ｉ／Ｏデバイスの接続は、ホストデバイスのＩ／ＯポートへのＩ／Ｏデバイスの接続又はホストデバイスに結合させられるリモートデバイスのＩ／ＯポートへのＩ／Ｏデバイスの接続を含み得る。
【実施例４】
【００４６】
あるコンピュータシステムをここに記載する。コンピュータシステムは、電子デバイスのリモートターミナルにおいて、Ｉ／ＯポートからのＩ／Ｏデバイスの切断を検出する論理と、Ｉ／ＯデバイスのＩ／Ｏプロトコルに割り当てられるデータレーンを新しいプロトコルへの配分のために利用可能な配分解除状態に戻す論理とを含む。コンピュータシステムは、Ｉ／Ｏポートへの新しいＩ／Ｏデバイスの接続を検出する論理や、データレーンを新しいＩ／ＯデバイスのＩ／Ｏプロトコルに配分するようホストターミナルと通信する論理も含み得る。コンピュータシステムは、データレーンを介して新しいＩ／Ｏデバイスとホストデバイスとの間でテータを転送する論理を更に含む。
【００４７】
複数のＩ／ＯデバイスをＩ／Ｏポートに結合し得る。Ｉ／ＯポートからのＩ／Ｏデバイスの切断は、Ｉ／Ｏポートに結合させられる残余のＩ／Ｏデバイスの動作を中断しない。新しいプロトコルは以前のプロトコルと同じであり得るし、或いは新しいプロトコルは以前のプロトコルと異なり得る。
【００４８】
上述の記載及び請求項では、「結合され」及び「接続され」並びにそれらの派生語を用い得る。これらの用語は互いに同義語として意図されていない。むしろ、特定の実施態様では、２つ又はそれよりも多くの要素が互いに直接的に物理的又は電気的に接触することを示すために、「接続され」を用い得る。「結合され」は、２つ又はそれよりも多くの要素が互いに直接的に物理的又は電気的に接触することを意味し得る。しかしながら、「結合され」は、２つ又はそれよりも多くの要素が互いに直接的に接触しないが、依然として互いに協働し或いは相互作用することも意味し得る。
【００４９】
ハードウェア、ファームウェア、及びソフトウェアのうちの１つ又はそれらの組み合わせにおいて一部の実施態様を実施し得る。ここに記載する動作を遂行するコンピュータプラットフォームによって読み取られ且つ実行され得る機械読取り可能な媒体に記憶される命令としても一部の実施態様を実施し得る。機械読取り可能な媒体は、機械、例えば、コンピュータによって読取り可能な形態において情報を記憶し或いは送信するための如何なる機構をも含み得る。例えば、機械読取り可能な媒体は、とりわけ、読出し専用記憶装置（ＲＯＭ）、ランダムアクセス記憶装置（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置を含み得る。
【００５０】
ある実施態様がインプリメンテーション（実施）又は実施例である。明細書における「（ある）実施態様」、「１つの実施態様」、「一部の実施態様」、「様々の実施態様」、又は「他の実施態様」への言及は、それらの実施態様との関係において記載する特定の機能、構造、又は特性が本発明の少なくとも一部の実施態様に含まれるが、必ずしも全ての実施態様に含まれないことを意味する。「（ある）実施態様」、「１つの実施態様」、又は「一部の実施態様」の様々の出現は、必ずしも全て同じ実施態様を言及していない。ある実施態様からの要素又は特徴を他の実施態様の要素又は特徴と組み合わせ得る。
【００５１】
ここに記載し且つ例示するコンポーネント（素子）、機能、構造、特徴等の全てが、特定の実施態様又は特定の複数の実施態様に含まれる必要はない。例えば、あるコンポーネント、機能、構造、又は特徴が含まれ得ると明細書が記述するならば、その特定の機能、構造、又は特徴は含まれることは要求されない。明細書又は請求項が単数形の要素に言及するならば、それはその素子が１つだけあることを意味しない。明細書又は請求項が「（ある）追加的な」要素に言及するならば、それは１つよりも多くの追加的な要素があることを排除しない。
【００５２】
具体的な実施を参照して幾つかの実施を記載しているが、幾つかの実施態様に従った他のインプリメンテーション（実施）も可能であることが記されなければならない。加えて、図面中に例示され且つ／或いはここに記載される回路要素又は他の機能の配置及び／又は順序は、例示され且つ記載される特定の方法において配置される必要はない。幾つかの実施態様に従って多くの他の配置が可能である。
【００５３】
図面に示す各システムにおいて、一部の場合における要素は、提示される要素が異なり得る且つ／或いは類似であり得ることを示唆するよう、各々同じ参照番号又は異なる参照番号を有し得る。しかしながら、ある要素は異なるインプリメンテーション（実施）を有し且つ個々に示し或いは記載するシステムの一部又は全部と共に作動するのに十分な程に柔軟であり得る。図面に示す様々の要素は同じであり得るし或いは異なり得る。第１の要素としてどれが言及され、どれが第２の要素と呼ばれるかは、任意である。
【００５４】
上述の記載において、開示の主題の様々の特徴を記載した。説明の目的のために、主題の十分な理解をもたらすよう、特定の番号、システム、及び構造を示した。しかしながら、特定の詳細がなくとも主題を実施し得ることは、この開示の利益を有する当業者に明らかである。他の場合には、開示の主題を曖昧にしないために、周知の機能、コンポーネント、又はモジュールを省略し、単純化し、組み合わせ、或いは分割されるであろう。
【００５５】
例示的な実施態様を参照して開示の主題を記載したが、この記載は限定的な意味において解釈されるべきことは意図されない。例示的な実施態様の様々の変形、並びに開示の主題の当業者に明らかである主題の他の実施態様は、開示の主題の範囲内にあると見做される。
【００５６】
本技法は様々の変形及び代替的な形態を許容するが、上記で議論した例示的な実施例を一例として示した。本技法がここに開示する特定の実施例に限定されることは意図されていないことが理解されるべきである。正に、本技法は、付属の請求項の真正な精神及び範囲内に入る全ての変形、変更、及び均等物を含む。
【符号の説明】
【００５７】
１００  電子デバイス／コンピュータシステム／ホストデバイス
１０２  中央処理装置
１０４  メモリデバイス
１０６  システムバス
１０８  ディスプレイインターフェース
１１０  ディスプレイデバイス
１１２  ネットワークインターフェースカード
１１４  ホストターミナル
１１６  リモートターミナル
１１８  Ｉ／Ｏデバイス
２００  コンピュータシステム／ホストデバイス
２０２  ホストターミナル
２０４  リモートデバイス／リモートターミナル
２０６  デバイス
２０８  リモートターミナル
３００  ホストデバイス
３００  コンピュータシステム
３０２  ホストターミナル
３０４  リモートターミナル
３０６  Ｉ／Ｏデバイス
４００  データレーン多重システム
４０２  ホストターミナル
４０４  データレーン／リモートターミナル
４０６  データレーン
４０８  データレーン
４１０  データレーン
４１２  データレーン
４１４  データレーン
４１６  インターフェース
４１８  インターフェース
４２０  インターフェース
４２２  ホストコンフィギュレーションマネージャ
４２４  プロトコルマルチプレクサ
４２６  ディスプレイポート
４２８  ポート
４３０  ポート
４３２  リモートコンフィギュレーションマネージャ
４３４  コントロールバス
４３６  アナログマルチプレクサ
４３８  中継器
【図１】
0005960220.tif 000002
【図２】
0005960220.tif 000003
【図３】
0005960220.tif 000004
【図４】
0005960220.tif 000005
【図５】
0005960220.tif 000006
【図６】
0005960220.tif 000007