(57)【要約】  リモート端末２１は、ホストコンピュータ１１の物理資源として使用されるＩＯデバイス２１０と、ホストコンピュータ１１との接続処理を行うＩＯ側ブリッジ２１１とを備え、ホストコンピュータ１１は、リモート端末２１との接続処理を行うＣＰＵ側ブリッジ１１２と、リモート端末２１のＩＯデバイス２１０を、ホストコンピュータ１１上で動作するアプリケーションごとに割り当てる割当設定部４３１１と、割り当てられたアプリケーションとＩＯデバイス２１０との間の情報の転送処理を行い、割り当てられていないアプリケーションとＩＯデバイス２１０との間の情報の転送処理を防止するルーティング部４３１２とを備える。
2013179606.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたホストコンピュータとリモート端末とを含むリモートマルチクライアント収容システムであって、
前記リモート端末は、
前記ホストコンピュータの物理資源として使用されるＩＯデバイスと、
前記ホストコンピュータとの接続処理を行うＩＯ側ブリッジとを備え、
前記ホストコンピュータは、
前記リモート端末との接続処理を行うＣＰＵ側ブリッジと、
前記リモート端末のＩＯデバイスを、当該ホストコンピュータ上で動作するアプリケーションごとに割り当てる割当設定部と、
割り当てられた前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を行い、割り当てられていない前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を防止するルーティング部とを備えた
ことを特徴とするリモートマルチクライアント収容システム。
【請求項２】
割当設定部は、リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯ側ブリッジの固有値を識別子として指定する
請求項１記載のリモートマルチクライアント収容システム。
【請求項３】
割当設定部は、リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯデバイスの固有値を識別子として指定する
請求項１記載のリモートマルチクライアント収容システム。
【請求項４】
割当設定部は、ＩＯデバイスが割り当て済か否かを示す情報を保持するテーブルを含み、当該テーブルを参照してＩＯデバイスをアプリケーションに割り当てる
請求項１から請求項３のうちのいずれか１項に記載のリモートマルチクライアント収容システム。
【請求項５】
リモートマルチクライアント収容システムに用いられ、ネットワークを介してリモート端末に接続されたホストコンピュータであって、
前記リモート端末が有するＩＯ側ブリッジと前記ネットワークを介して接続し、前記リモート端末との接続処理を行うＣＰＵ側ブリッジと、
物理資源として使用する前記リモート端末のＩＯデバイスを、当該ホストコンピュータ上で動作するアプリケーションごとに割り当てる割当設定部と、
割り当てられた前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を行い、割り当てられていない前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を防止するルーティング部とを備えた
ことを特徴とするホストコンピュータ。
【請求項６】
割当設定部は、リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯ側ブリッジの固有値を識別子として指定する
請求項５記載のホストコンピュータ。
【請求項７】
割当設定部は、リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯデバイスの固有値を識別子として指定する
請求項５記載のホストコンピュータ。
【請求項８】
ネットワークを介してリモート端末に接続されたホストコンピュータに用いられるリモートマルチクライアント資源割り当て方法であって、
前記リモート端末が有するＩＯ側ブリッジと前記ネットワークを介して接続し、前記リモート端末との接続処理を行い、
物理資源として使用する前記リモート端末のＩＯデバイスを、前記ホストコンピュータ上で動作するアプリケーションごとに割り当て、
割り当てられた前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を行い、割り当てられていない前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を防止する
ことを特徴とするリモートマルチクライアント資源割り当て方法。
【請求項９】
リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯ側ブリッジの固有値を識別子として指定する
請求項８記載のリモートマルチクライアント資源割り当て方法。
【請求項１０】
リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯデバイスの固有値を識別子として指定する
請求項８記載のリモートマルチクライアント資源割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に分散配置された複数のリモートクライアント端末とそれを収容するホストコンピュータとを備えたリモートマルチクライアント収容システム、ホストコンピュータおよびリモートマルチクライアント資源割り当て方法に関し、特にリモートクライアント端末の効率向上を図る技術に関する。
【背景技術】
【０００２】
近年、特許文献１および非特許文献１に示されるような、ターミナルサービス等を利用したリモートマルチクライアント収容システムが普及している。図１２は、一般的なリモートマルチクライアント収容システムを示すブロック図である。このようなシステムでは、サーバ等のホストコンピュータでアプリケーションの処理が行われる。また、ホストコンピュータには、シンクライアント等のリモート端末が接続され、ユーザは、リモート端末からホストコンピュータへ遠隔接続して作業を行う。【０００３】
例えば、非特許文献１に示すようなターミナルサービス型システムでは、ターミナルサーバー上でターミナルサービスが実行される。ターミナルサーバー上ではＣＰＵ、メモリに展開されたリモート端末ソフトが動作しており、リモートディスプレイプロトコル（ＲＤＰ）等のディスプレイプロトコルにより、デスクトップの状態を表示するユーザーインタフェースコンポーネントがクライアント（リモート端末）に転送される。そして、リモート端末は、ユーザのキーストロークとマウス操作の情報をターミナルサーバーに転送する。これにより、ユーザは仮想化されたセッションを自分のコンピュータとして扱うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２６７１４６号公報
【非特許文献】
【０００５】
【非特許文献１】“Windows Server 2008の概要 ターミナルサービス”、[online]、2007年11月26日、Microsoft Corporation、P3、[2012年5月8日検索]、インターネット<URL:www.dell.com/downloads/global/support/I09_Terminal_Services.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１または非特許文献１に記載されたターミナルサービス型のリモートマルチクライアント収容システムでは、エミュレーションを用いてデバイスを使用するため、リモート端末上の画面表示やキーボードレスポンス等のＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）パフォーマンスが低いという課題がある。また、リモート端末で使用できるデバイスの種類が限定されており、ターミナルサービス上で動作するアプリケーションに制限があるという課題がある。【０００７】
そこで、本発明は、リモート端末のＩＯパフォーマンスを改善することができ、さらに使用できるＩＯデバイスの制限を緩和することができるリモートマルチクライアント収容システム、ホストコンピュータおよびリモートマルチクライアント資源割り当て方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によるリモートマルチクライアント収容システムは、ネットワークを介して接続されたホストコンピュータとリモート端末とを含むリモートマルチクライアント収容システムであって、前記リモート端末は、前記ホストコンピュータの物理資源として使用されるＩＯデバイスと、前記ホストコンピュータとの接続処理を行うＩＯ側ブリッジとを備え、前記ホストコンピュータは、前記リモート端末との接続処理を行うＣＰＵ側ブリッジと、前記リモート端末のＩＯデバイスを、前記ホストコンピュータ上で動作するアプリケーションごとに割り当てる割当設定部と、割り当てられた前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を行い、割り当てられていない前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を防止するルーティング部とを備えたことを特徴とする。【０００９】
本発明によるホストコンピュータは、リモートマルチクライアント収容システムに用いられ、ネットワークを介してリモート端末に接続されたホストコンピュータであって、前記リモート端末が有するＩＯ側ブリッジと前記ネットワークを介して接続し、前記リモート端末との接続処理を行うＣＰＵ側ブリッジと、物理資源として使用する前記リモート端末のＩＯデバイスを、前記ホストコンピュータ上で動作するアプリケーションごとに割り当てる割当設定部と、割り当てられた前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を行い、割り当てられていない前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を防止するルーティング部とを備えたことを特徴とする。【００１０】
本発明によるリモートマルチクライアント資源割り当て方法は、ネットワークを介してリモート端末に接続されたホストコンピュータに用いられるリモートマルチクライアント資源割り当て方法であって、前記リモート端末が有するＩＯ側ブリッジと前記ネットワークを介して接続し、前記リモート端末との接続処理を行い、物理資源として使用する前記リモート端末のＩＯデバイスを、前記ホストコンピュータ上で動作するアプリケーションごとに割り当て、割り当てられた前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を行い、割り当てられていない前記アプリケーションと前記ＩＯデバイスとの間の情報の転送処理を防止することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、リモート端末のＩＯパフォーマンスを改善することができ、さらに使用できるＩＯデバイスの制限を緩和することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明によるリモートマルチクライアント収容システムの第１の実施形態の構成を示すブロック図である。
【図２】ホストコンピュータのハードウェア構成を示すブロック図である。
【図３】リモート端末の構成を示すブロック図である。
【図４】ホストコンピュータのソフトウェア構成を示すブロック図である。
【図５】デバイス制御部群の構成を示すブロック図である。
【図６】デバイス制御部群の別の構成を示すブロック図である。
【図７】第２の実施形態のリモート端末の構成を示すブロック図である。
【図８】第２の実施形態のリモート端末の別の構成を示すブロック図である。
【図９】第２の実施形態のリモート端末のさらに別の構成を示すブロック図である。
【図１０】第３の実施形態のデバイス制御部群を示すブロック図である。
【図１１】本発明によるリモートマルチクライアント収容システムの主要部の構成を示すブロック図である。
【図１２】一般的なリモートマルチクライアント収容システムを示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を、図面を参照して詳細に説明する。
【００１４】
実施形態１．
図１は、本発明によるリモートマルチクライアント収容システムの第１の実施形態（実施形態１）の構成を示すブロック図である。図１に示すように、本実施形態のリモートマルチクライアント収容システムは、１つまたは複数のホストコンピュータ１１〜１ｎ、１つまたは複数のリモート端末２１〜２ｎ、およびネットワーク３を備える。ホストコンピュータ１１〜１ｎは、ネットワーク３を介してリモート端末２１〜２ｎに接続されている。
【００１５】
図２は、ホストコンピュータ１１のハードウェア構成を示すブロック図である。ホストコンピュータ１１は、ＣＰＵ、メモリ、およびチップセットを含むＣＰＵデバイス群１１１と、ＣＰＵ側ブリッジ１１２とを備える。なお、ホストコンピュータ１１は、ＣＰＵ側ブリッジ１１２を複数備えていてもよい。ＣＰＵデバイス群１１１およびＣＰＵ側ブリッジ１１２は、例えばＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスやＰＣＩＥｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。また、ＣＰＵ側ブリッジ１１２は、ネットワーク３とＥｔｈｅｒｎｅｔ（登録商標）等で接続される。
【００１６】
なお、本実施形態のリモートマルチクライアント収容システムが、ホストコンピュータを複数含む場合は、他のホストコンピュータ１２〜１ｎも図２に示した構成と同様の構成であるとする。
【００１７】
ＣＰＵデバイス群１１１は、汎用的なコンピュータ、組み込み系の専用コンピュータ、ハイパフォーマンスコンピュータ、スーパーコンピュータなどに用いられるＣＰＵデバイスの集合であって、ソフトウェアを搭載し、処理するためのデバイス群である。
【００１８】
ＣＰＵ側ブリッジ１１２は、ＣＰＵデバイス群１１１とリモート端末２１〜２ｎとの接続関係の処理を行い、ＣＰＵデバイス群１１１から送られるパケットや、ネットワーク３から送られるパケットを所望の転送先に転送されるように変換し、転送を行う。また、ＣＰＵ側ブリッジ１１２は、必要に応じて制御パケットを生成し、ＣＰＵデバイス群１１１や、リモート端末２１〜２ｎにパケットを送信する。また、ＣＰＵ側ブリッジ１１２は、ＣＰＵデバイス群１１１のデバイス情報を取得し、そのデバイス情報を自身に付けられた自グループＩＤとともに制御パケットとして送付する。
【００１９】
図３は、リモート端末２１の構成を示すブロック図である。リモート端末２１は、ＩＯ側ブリッジ２１１、ＵＳＢ制御部２１２、グラフィック制御部２１３、サウンド制御部２１４、ＵＳＢインタフェース（Ｉ／Ｆ）２１５、ディスプレイＩ／Ｆ２１６、サウンドＩ／Ｆ２１７を備える。なお、リモート端末２１は、ＩＯ側ブリッジ２１１を複数備えていてもよい。リモート端末２１は、リモート端末２１全体を制御するソフトウェア（例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ））を持たない。また、以下の説明において、ＵＳＢ制御部２１２、グラフィック制御部２１３、サウンド制御部２１４をＩＯデバイスと記載することがある。
【００２０】
ＩＯ側ブリッジ２１１は、ネットワーク３とＥｔｈｅｒｎｅｔ等で接続され、またＵＳＢ制御部２１２とＰＣＩバスやＰＣＩ  Ｅｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。
【００２１】
ＩＯ側ブリッジ２１１は、ＵＳＢ制御部２１２等のＩＯデバイスとホストコンピュータ１１〜１ｎとの接続関係の処理を行い、ＩＯデバイスからのパケットやネットワーク３からのパケットを所望の転送先に転送されるよう変換し、転送を行う。また、ＩＯ側ブリッジ２１１は、必要に応じて制御パケットを生成し、ＩＯデバイスや、ホストコンピュータ１１にパケットを送信する。さらにＩＯデバイスのデバイス情報を取得し、自身に付けられた自グループＩＤとともに制御パケットとして送付する。
【００２２】
ＵＳＢ制御部２１２は、グラフィック制御部２１３、サウンド制御部２１４とＵＳＢバスで接続される。また、ＵＳＢ制御部２１２は、ＵＳＢＩ／Ｆ２１５を介してＵＳＢ機器群２１０８とＵＳＢバスで接続される。ＵＳＢ機器群２１０８は、例えば、ＵＳＢキーボード、ＵＳＢマウス、ＵＳＢストレージデバイス、ＵＳＢカメラ等である。ＵＳＢ制御部２１２は、一般的なＵＳＢコントローラであり、ＵＳＢ機器群２１０８の制御を行う。
【００２３】
グラフィック制御部２１３は、ディスプレイＩ／Ｆ２１６を介してディスプレイ２１０９と接続される。グラフィック制御部２１３は、一般的なグラフィックコントローラであり、グラフィック出力制御や画像処理を行う。
【００２４】
サウンド制御部２１４は、サウンドＩ／Ｆ２１７を介してサウンド機器群２１１０と接続される。サウンド機器群２１１０は、例えば、スピーカー、ヘッドホン、ヘッドセット等である。サウンド制御部２１４は、一般的なサウンドコントローラであり、サウンドの入出力制御、サウンド処理を行う。また、グラフィック制御部２１３と、サウンド制御部２１４とが統合され１つの制御部として存在してもよい。
【００２５】
なお、以下の説明において、ＵＳＢ機器群２１０８、ディスプレイ２１０９、サウンド機器群を物理デバイスと記載することがある。また、本実施形態のリモートマルチクライアント収容システムが、リモート端末を複数含む場合は、他のリモート端末２２〜２ｎも図３に示した構成と同様の構成であるとする。
【００２６】
図４は、ホストコンピュータ１１のソフトウェア構成を示すブロック図である。ホストコンピュータ１１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）４１と、１または複数のデバイスドライバで構成されるデバイスドライバ群４２と、１または複数のデバイス制御部で構成されるデバイス制御部群４３と、１または複数のアプリケーションで構成されるアプリケーション群４４とを備える。
【００２７】
ＯＳ４１は、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）等の一般的なＯＳの機能を有し、本実施形態のリモートマルチクライアント収容システムに特化した機能は有していない。
【００２８】
デバイスドライバ群４２は、リモート端末２１〜２ｎの各デバイスに対応し、デバイスを制御する一般的なデバイスドライバで構成される。
【００２９】
デバイス制御部群４３は、アプリケーション群４４とリモート端末２１の物理デバイスとのアクセスを制御する。
【００３０】
アプリケーション群４４は、ユーザが所望の作業を行うためのソフトウェアの集合である。
【００３１】
図５は、デバイス制御部群４３の構成を示すブロック図である。デバイス制御部群４３は、複数のデバイス制御部４３１〜４３ｎで構成されている。以下、デバイス制御部４３１の構成および機能を説明するが、他のデバイス制御部４３２〜４３ｎの構成および機能もデバイス制御部４３１と同様であるとする。
【００３２】
デバイス制御部４３１は、アプリケーション群４４のうちの割り当て対象のアプリケーション４４ａ、および物理デバイスに対応するデバイスドライバ群４２と接続される。デバイス制御部４３１は、割当設定部４３１１と、ルーティング部４３１２と、デバイスドライバ側インタフェース４３１３と、アプリケーション側インタフェース４３１４とを備える。
【００３３】
割当設定部４３１１は、ルーティング部４３１２と接続され、アプリケーション群４４内の各アプリケーションに割り当てるリモート端末２１のＩＯデバイスおよび物理デバイスの設定を行い、その設定をルーティング部４３１２に反映させる。
【００３４】
ルーティング部４３１２は、デバイスドライバ側インタフェース４３１３、およびアプリケーション側インタフェース４３１４と接続される。ルーティング部４３１２は、アプリケーション側から送られる表示情報、音声情報、その他の情報を、そのアプリケーションに割り当てられた物理デバイスに対応するデバイスドライバ（デバイスドライバ群４２のいずれか）に転送する。
【００３５】
また、ルーティング部４３１２は、物理デバイスに対応するデバイスドライバから送られた操作情報、音声情報、その他の情報を、アプリケーション群４４のうち当該物理デバイスが割り当てられたアプリケーションに転送する。
【００３６】
図６は、デバイス制御部群の別の構成を示すブロック図である。図６は、アプリケーション群４４に含まれるアプリケーション４４ａにデバイス制御部４３１が含まれる場合の構成例を示している。図６に示す例のように、あるアプリケーション４４ａにデバイス制御部４３１が搭載され、デバイス制御部４３１は、アプリケーション４４ａが使用するデバイスの制御を行う。なお、図６に示すデバイス制御部４３１内の構成は、図５に示したデバイス制御部４３１の構成と同じである。
【００３７】
次に、本実施形態のリモートマルチクライアント収容システムの動作を説明する。以下、ホストコンピュータ１１〜１ｎに関して、ホストコンピュータ１１の動作を例として説明するが、ホストコンピュータ１２〜１ｎの動作も同様である。また、リモート端末２１〜２ｎに関して、リモート端末２１を例として説明するがリモート端末２２〜２ｎの動作も同様である。
【００３８】
リモート端末２１は、ホストコンピュータ１１の物理資源として認識されて動作する。リモート端末２１の電源は、ホストコンピュータ１１の電源より先に電源が入っていることが望ましいが、後から入った場合でもＰＣＩ  Ｅｘｐｒｅｓｓ／ＵＳＢのホットプラグ等により物理資源として認識させることは可能である。
【００３９】
ホストコンピュータ１１のＯＳ４１およびデバイスドライバ群４２は、リモート端末２１のＩＯデバイスおよびＩＯデバイスに接続された物理デバイスに対し、ホストコンピュータ１１の物理資源として使用できるようにするための設定を行う。この設定が行われる際、ホストコンピュータ１１のＣＰＵ側ブリッジ１１２は、ＰＣＩ  ＥｘｐｒｅｓｓスイッチのＵｐｓｔｒｅａｍ側ブリッジとして動作し、リモート端末２１のＩＯ側ブリッジ２１１は、Ｄｏｗｎｓｔｒｅａｍ側ブリッジとして動作する。ＩＯ側ブリッジ２１１の下位の各デバイス（ＰＣＩ  Ｅｘｐｒｅｓｓデバイス）は、ＯＳ４１、デバイスドライバ群４２からはＰＣＩ  Ｅｘｐｒｅｓｓスイッチ経由で接続しているように仮想される。
【００４０】
その後、ホストコンピュータ１１のデバイス制御部群４３は、アプリケーションへのＩＯデバイスおよび物理デバイスの割り当て設定を行う。デバイス制御部４３１の割当設定部４３１１は、アプリケーション群４４のうちの割り当てるアプリケーションを選択する。また、デバイス制御部４３１が、それぞれのアプリケーション用に予め用意されているか、またはアプリケーションに組み込まれている場合、デバイス制御部４３１は、そのアプリケーションに対する割り当てを行う。
【００４１】
リモート端末２１を、例えば特定のアプリケーション４４ａに割り当てる場合、前述のとおりアプリケーション４４ａ用のデバイス制御部４３１またはアプリケーション４４ａに含まれるデバイス制御部４３１の割当設定部４３１１が、リモート端末２１のＩＯデバイスを選択し、設定する。割当設定部４３１１は、リモート端末２１を選択する際にリモート端末２１を特定する必要があるが、その特定方法には以下に示す複数の方法がある。
【００４２】
第１の特定方法は、ＩＯ側ブリッジ２１１の固有値を用いて特定する方法である。ＩＯ側ブリッジ２１１には、ネットワーク３上において重複しない固有値が予め割り振られている。ホストコンピュータ１１は、ＣＰＵ側ブリッジ１１２およびデバイスドライバ群４２のＣＰＵ側ブリッジ用ドライバを用いてその固有値を取得することができる。割当設定部４３１１は、特定のリモート端末２１を割り当てる際にその固有値を指定する。そして、指定されたＩＯ側ブリッジ２１１およびその下位のＩＯデバイスが、アプリケーションに割り当てられる。
【００４３】
第２の特定方法は、ＩＯデバイス（例えば、ＵＳＢ制御部２１２）の固有値（ＰＣＩバス番号、デバイス番号、ファンクション番号）を用いて特定する方法である。ＰＣＩバス番号、デバイス番号、ファンクション番号は、ＯＳ４１により重複しないように各ＩＯデバイスに予め割り当てられる。割当設定部４３１１は、その割り当てられた値を指定することで指定されたＩＯデバイスとその下位の物理デバイスをアプリケーションに割り当てる。
【００４４】
割当設定部４３１１は、割り当てるデバイスが決定するとルーティング部４３１２にその設定を反映させる。
【００４５】
ルーティング部４３１２は、アプリケーション側から送られた表示情報、音声情報、その他の情報を、デバイスドライバ群４２のうち、割当設定部４３１１により割り当てられたデバイスに対応するデバイスドライバに転送する。そして、それら情報は、デバイスドライバから、ＣＰＵ側ブリッジ１１２、ネットワーク３、ＩＯ側ブリッジ２１１を介してリモート端末２１のデバイスに送られる。
【００４６】
リモート端末２１において、物理デバイスに対する操作または音声入力等があった場合、操作情報、音声情報またはその他の情報は、ＩＯデバイス、ＩＯ側ブリッジ２１１、ネットワーク３、ＣＰＵ側ブリッジ１１２を介してホストコンピュータ１１のデバイスドライバ群４２に送られる。また、デバイスドライバから送られた操作情報、音声情報またはその他の情報は、アプリケーション群４４のうち当該情報を送信したデバイスが割り当てられたアプリケーションに転送される。また、ルーティング部４３１２は、アプリケーションからの割り当てられたデバイス以外へのアクセス、および割り当てられたデバイス以外からのアプリケーションへのアクセスをブロックする。
【００４７】
通常、１つのアプリケーションに１つのリモート端末が接続されるが、１つのアプリケーションに複数のリモート端末を割り当てることも可能である。例えば、ユーザが、本実施形態のリモートマルチクライアント収容システムをプレゼンテーションツールや会議ツールとして使用する場合には、１つのアプリケーションに複数のリモート端末が割り当てられる。また、１つのリモート端末に複数のアプリケーションが割り当てられてもよい。また、アプリケーションを使用するユーザ単位で、特定の割り当てが行われてもよい。
【００４８】
本実施形態のリモートマルチクライアント収容システムは、ネットワーク経由でホストコンピュータ１１とリモート端末２１のＩＯデバイスとを密結合するためのデバイス接続ブリッジ（ＣＰＵ側ブリッジ１１２およびＩＯ側ブリッジ２１１）を有し、ＩＯデバイスをユーザ毎またはアプリケーション毎に割り当てる。そして、特定のユーザおよびアプリケーションが、他のユーザおよびアプリケーションから隔離され、リモート端末２１のＩＯデバイスおよび物理デバイスがホストコンピュータ１１の物理資源として使用される。そのため、本実施形態のリモートマルチクライアント収容システムは、リモート端末２１からホストコンピュータ１１へ遠隔接続する際のＩＯパフォーマンスを改善することができる。
【００４９】
また、本実施形態のリモートマルチクライアント収容システムは、エミュレーション等のリモート専用ソフトウェアを使用しないので、ソフトウェアにより使用できるＩＯデバイスが制限されることがない。つまり、ＩＯデバイスの制限が緩和される。
【００５０】
実施形態２．
本発明によるリモートマルチクライアント収容システムは、第１の実施形態に示したリモート端末２１〜２ｎの構成以外にも、本実施形態に示すような様々な構成のリモート端末２１〜２ｎを用いることができる。なお、本実施形態のリモートマルチクライアント収容システムの構成は、特に説明しない部分に関しては第１の実施形態の構成と同じであるとする。
【００５１】
図７は、第２の実施形態（実施形態２）のリモート端末２２の構成を示すブロック図である。図７に示すように、本実施形態のリモート端末２２は、３つのＩＯ側ブリッジ２２１、ＵＳＢ制御部２２２、グラフィック制御部２２３、サウンド制御部２２４、ＵＳＢインタフェース（Ｉ／Ｆ）２２５、ディスプレイＩ／Ｆ２２６、サウンドＩ／Ｆ２２７を備える。
【００５２】
３つのＩＯ側ブリッジ２２１は、ネットワーク３とＥｔｈｅｒｎｅｔ等で接続される。また、３つのＩＯ側ブリッジ２２１は、それぞれＵＳＢ制御部２２２、グラフィック制御部２２３、サウンド制御部２２４と、ＰＣＩバスやＰＣＩ  Ｅｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。
【００５３】
ＵＳＢ制御部２２２は、ＵＳＢＩ／Ｆ２２５を介してＵＳＢ機器２２０８とＵＳＢバスで接続される。ＵＳＢ機器群２１０８は、例えば、ＵＳＢキーボード、ＵＳＢマウス、ＵＳＢストレージデバイス、ＵＳＢカメラ等である。
【００５４】
グラフィック制御部２２３は、ディスプレイＩ／Ｆ２２６を介してディスプレイ２２０９と接続される。
【００５５】
サウンド制御部２２４は、サウンドＩ／Ｆ２２７を介してサウンド機器群２２１０と接続される。サウンド機器群２１１０は、例えば、スピーカー、ヘッドホン、ヘッドセット等である。
【００５６】
つまり、リモート端末２２は、グラフィック制御部２２３およびサウンド制御部２２４がＰＣＩ／ＰＣＩ  Ｅｘｐｒｅｓｓデバイスを構成し、グラフィック制御部２２３およびサウンド制御部２２４のそれぞれを異なるＩＯ側ブリッジ２２１が収容する形となっている。また、グラフィック制御部２２３とサウンド制御部２２４とは１つの制御部に統合されていてもよい。
【００５７】
この場合、複数のＩＯ側ブリッジ２２１とＣＰＵ側ブリッジ１１２とが、相互に接続され、１つのＵｐｓｔｒｅａｍポートと複数のＤｏｗｎｓｔｒｅａｍポートを持つＰＣＩ  Ｅｘｐｒｅｓｓ  Ｓｗｉｔｃｈとして動作するように設定される。
【００５８】
ホストコンピュータ１１のデバイス制御部群４３が物理デバイスを割り当てる際のデバイス指定方法は、第１の特定方法については第１の実施形態に示した方法と同じである。第２の特定方法については、各ＩＯデバイス（ＵＳＢ制御部２２２、グラフィック制御部２２３、サウンド制御部２２４）の固有値（ＰＣＩバス番号、デバイス番号、ファンクション番号）を指定する点が第１の実施形態の第２の特定方法と異なる。
【００５９】
次に、第２の実施形態のリモート端末の別の構成例を説明する。図８は、第２の実施形態のリモート端末２３の構成を示すブロック図である。図８に示すリモート端末２３は、図７に示したリモート端末２２に任意のＰＣＩ  Ｅｘｐｒｅｓｓデバイスを収容する部分が追加された構成である。
【００６０】
ＰＣＩデバイス２３１１〜２３ｘは、任意のＰＣＩ  Ｅｘｐｒｅｓｓデバイスであり、例えば、ストレージデバイスやアクセラレータエンジン等である。これらのＰＣＩ  Ｅｘｐｒｅｓｓデバイスは、ＩＯ側ブリッジ２３１にそれぞれ接続され、ホストコンピュータの資源として使用されることが可能である。
【００６１】
第２の実施形態のリモート端末のさらに別の構成例を説明する。図９は、第２の実施形態のリモート端末２４の構成を示すブロック図である。図９に示すリモート端末２４は、ＩＯ側ブリッジ２４１にＰＣＩ  Ｅｘｐｒｅｓｓスイッチ２４１２が接続され、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ２４１２にＵＳＢ制御部２４２、グラフィック制御部２４３、サウンド制御部２４４、ＰＣＩデバイス２４１１〜２４ｘが接続される。
【００６２】
ＵＳＢ制御部２４２は、ＵＳＢＩ／Ｆ２４４を介してＵＳＢ機器２２０８とＵＳＢバスで接続される。ＵＳＢ機器群２２０８は、例えば、ＵＳＢキーボード、ＵＳＢマウス、ＵＳＢストレージデバイス、ＵＳＢカメラ等である。
【００６３】
グラフィック制御部２４３は、ディスプレイＩ／Ｆ２４６を介してディスプレイ２４０９と接続される。
【００６４】
サウンド制御部２４４は、サウンドＩ／Ｆ２４７を介してサウンド機器群２４１０と接続される。サウンド機器群２１１０は、例えば、スピーカー、ヘッドホン、ヘッドセット等である。
【００６５】
なお、第１の実施形態に示したリモート端末２１、および本実施形態に示したリモート端末２２、リモート端末２３、リモート端末２４は、それぞれ互換性があり、リモートマルチクライアント収容システム内に混在していてもよい。
【００６６】
本実施形態のリモートマルチクライアント収容システムは、グラフィック制御部、サウンド制御部がＩＯ側ブリッジに対して、直接コンピュータ内部バスで接続する構成となっている。そのため、本実施形態のリモートマルチクライアント収容システムは、グラフィック制御部、サウンド制御部がＩＯ側ブリッジに対して、ＵＳＢバスおよびＵＳＢ制御部を介して接続する構成と比べて、データ伝送の高速化、大容量が可能となる。
【００６７】
また、本実施形態のリモートマルチクライアント収容システムは、グラフィック制御部、サウンド制御部が独立にコンピュータ内部バスで接続されているため、ＵＳＢ制御部にトラフィックが集中することがなくなるのでパフォーマンスを向上できる。
【００６８】
また、本実施形態の図８および図９に示すリモートマルチクライアント収容システムは、グラフィック、サウンド以外のＰＣＩデバイスを搭載することで汎用性を高めることができる。
【００６９】
また、本実施形態の図９に示すリモートマルチクライアント収容システムは、ＰＣＩ  Ｅｘｐｒｅｓｓのツリー階層を増やすことで端末のＩＯ収容率を向上させることができる。
【００７０】
実施形態３．
図１０は、第３の実施形態（実施形態３）のデバイス制御部群４３を示すブロック図である。本実施形態において、デバイス制御部群４３以外の構成は、第１の実施形態または第２の実施形態と同様であるとする。図１０に示すように、本実施形態の複数のデバイス制御部群４３は、中央制御部４３２７を備え、中央制御部４３２７が、リモート端末２１〜２ｎのＩＯデバイスおよび物理デバイスと複数のアプリケーションとの割当関係を決定する。
【００７１】
本実施形態のデバイス制御部群４３は、複数のデバイス制御部４３２と中央制御部４３２７とを備える。複数のデバイス制御部４３２および中央制御部４３２７は、制御部インタフェース４３２５を介して接続される。
【００７２】
デバイス制御部４３２は、ルーティング部４３２２、デバイスドライバ側インタフェース４３２３、アプリケーション側インタフェース４３２４、制御部インタフェース４３２５を備える。
【００７３】
中央制御部４３２７は、割当設定部４３２１、制御部インタフェース４３２５、割当テーブル４３２６を備える。
【００７４】
割当設定部４３２１は、リモート端末のデバイスに関する情報を保持する割当テーブル４３２６に接続されている。
【００７５】
割当テーブル４３２６は、収集された情報を保持している。収集された情報は、リモート端末の各ＩＯデバイスが割当済みかどうかを示す情報と、ＩＯデバイスが割当済みの場合、割当られているアプリケーションおよびＩＯデバイスの情報と、ＩＯデバイスの固有値（ＰＣＩバス番号、デバイス番号、ファンクション番号）と、デバイス種別等の情報とを含む。
【００７６】
割当設定部４３２１は、割当テーブル４３２６を参照し、アプリケーションとＩＯデバイスおよび物理デバイスの割り当てを決定する。割当設定部４３２１は、決定した割り当てに基づいて制御部インタフェース４３２５を介してルーティング部４３２２の設定を行う。
【００７７】
ルーティング部４３２２は、デバイスドライバ側インタフェース４３２３、アプリケーション側インタフェース４３２４と接続される。ルーティング部４３２２は、アプリケーションから送られた表示情報、音声情報またはその他の情報を、当該アプリケーションに割り当てられた物理デバイスに対応するデバイスドライバ（デバイスドライバ群４２のいずれか）に転送する。
【００７８】
また、ルーティング部４３２２は、物理デバイスに対応するデバイスドライバから送られた操作情報、音声情報またはその他の情報を、アプリケーション群４４のうちの当該物理デバイスが割り当てられたアプリケーションに転送する。
【００７９】
本実施形態のリモートマルチクライアント収容システムは、デバイス制御部群４３が中央制御部４３２７を備え、中央制御部４３２７が集中的にデバイスを管理する。そのため、特定のアプリケーションとデバイスの間で割り当ての失敗が発生しても、他のデバイスを割り当てるなどの対応を行うことで遊休デバイスの発生を防止することができる。よって、アプリケーションへのデバイス割り当てが効率よく行われる。
【００８０】
図１１は、本発明によるリモートマルチクライアント収容システムの主要部を示すブロック図である。図１１に示すように、リモートマルチクライアント収容システムは、ネットワーク３を介して接続されたホストコンピュータ１１とリモート端末２１とを含むリモートマルチクライアント収容システムであって、リモート端末２１は、ホストコンピュータ１１の物理資源として使用されるＩＯデバイス２１０と、ホストコンピュータ１１との接続処理を行うＩＯ側ブリッジ２１１とを備え、ホストコンピュータ１１は、リモート端末２１との接続処理を行うＣＰＵ側ブリッジ１１２と、リモート端末２１のＩＯデバイス２１０を、ホストコンピュータ１１上で動作するアプリケーションごとに割り当てる割当設定部４３１１と、割り当てられたアプリケーションとＩＯデバイス２１０との間の情報の転送処理を行い、割り当てられていないアプリケーションとＩＯデバイス２１０との間の情報の転送処理を防止するルーティング部４３１２とを備える。
【００８１】
また、上記の実施形態では、以下の（１）〜（３）に示すようなリモートマルチクライアント収容システムも開示されている。
【００８２】
（１）ネットワーク（例えば、ネットワーク３）を介して接続されたホストコンピュータ（例えば、ホストコンピュータ１１〜１ｎ）とリモート端末（例えば、リモート端末２１〜２ｎ）とを含むリモートマルチクライアント収容システムであって、リモート端末は、ホストコンピュータの物理資源として使用されるＩＯデバイス（例えば、ＵＳＢ制御部２１２、２２２、２３２、２４２、グラフィック制御部２１３、２２３、２３３、２４３、サウンド制御部２１４、２２４、２３４、２４４、ＰＣＩデバイス２３１１〜２３１ｎ）と、ホストコンピュータ１１との接続処理を行うＩＯ側ブリッジ（例えば、ＩＯ側ブリッジ２１１、２２１、２３１、２４１）とを備え、ホストコンピュータは、リモート端末との接続処理を行うＣＰＵ側ブリッジ（例えば、ＣＰＵ側ブリッジ１１２）と、リモート端末のＩＯデバイスを、ホストコンピュータ上で動作するアプリケーションごとに割り当てる割当設定部（例えば、割当設定部４３１１、４３２１）と、割り当てられたアプリケーションとＩＯデバイスとの間の情報の転送処理を行い、割り当てられていないアプリケーションとＩＯデバイスとの間の情報の転送処理を防止するルーティング部（例えば、ルーティング部４３１２、４３２２）とを備える。
【００８３】
（２）リモートマルチクライアント収容システムは、割当設定部が、リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯ側ブリッジの固有値を識別子として指定するように構成されていてもよい。このようなリモートマルチクライアント収容システムによれば、割り当てられたＩＯデバイスを他のユーザから確実に、かつ容易に隔離することができる。
【００８４】
（３）リモートマルチクライアント収容システムは、割当設定部が、リモート端末のＩＯデバイスをアプリケーションに割当てる際に、ＩＯデバイスの固有値を識別子として指定するように構成されていてもよい。このようなリモートマルチクライアント収容システムによれば、割り当てられたＩＯデバイスを他のユーザから確実に、かつ容易に隔離することができる。
【００８５】
この出願は、２０１２年５月２８日に出願された日本出願特願２０１２−１２０７５３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００８６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【００８７】
本発明は、ユーザ間の距離が離れている場合のプレゼンテーションや会議に適用できる。
【符号の説明】
【００８８】
３  ネットワーク
１１〜１ｎ  ホストコンピュータ
２１〜２ｎ  リモート端末
２１０  ＩＯデバイス
２１１，２２１，２３１，２４１  ＩＯ側ブリッジ
１１２  ＣＰＵ側ブリッジ
４３１１，４３２１  割当設定部
４３１２，４３２２  ルーティング部
【図１】
2013179606.tif 000003
【図２】
2013179606.tif 000004
【図３】
2013179606.tif 000005
【図４】
2013179606.tif 000006
【図５】
2013179606.tif 000007
【図６】
2013179606.tif 000008
【図７】
2013179606.tif 000009
【図８】
2013179606.tif 000010
【図９】
2013179606.tif 000011
【図１０】
2013179606.tif 000012
【図１１】
2013179606.tif 000013
【図１２】
2013179606.tif 000014
【国際調査報告】
2013179606.tif 000015
2013179606.tif 000016
2013179606.tif 000017
2013179606.tif 000018