(57)【要約】【課題】本発明は、遠隔地に設置されているコンピュータ（あるいは仮想コンピュータ）に、ローカルのパソコンに「バス」接続された周辺機器を割り当てて、前記遠隔地のコンピュータ（あるいは仮想コンピュータ）に対して周辺機器を増設する方法を提供する。【解決手段】周辺機器に「偽のディスクリプタ情報」を用意することにより、直接接続されたコンピュータでシステムリソースとして扱われないようにし、「接続ソフトウェア」を使用して、遠隔地のコンピュータ（あるいは仮想コンピュータ）にある「仮想バス」に周辺機器の増設を可能にする。【選択図】図１
2008192119.tif 000002
【特許請求の範囲】
【請求項１】
本発明は、遠隔地にある第１のコンピュータ（あるいは仮想コンピュータ）と、第１のコンピュータ（あるいは仮想コンピュータ）にある「仮想バス」と、ローカルにある第２のコンピュータと、前記第２のコンピュータに「バス」接続された周辺機器と、前記周辺機器が「仮想バス」以外の「バス」にシステムリソースとして接続されないようする「偽のディスクリプタ情報」と、前記第１のコンピュータ（あるいは仮想コンピュータ）と前記第２のコンピュータとを通信可能に接続するネットワークと、前記第２のコンピュータにて動作する「接続ソフトウェア」（２５）と、を備えた計算機システムに周辺機器を増設する方法であって、
前記周辺機器の「ディスクリプタ情報」の一部を変更して「偽のディスクリプタ情報」を作成し第２のコンピュータで一般的なシステムリソースとしてＯＳが認識できないようにする第１のステップと、
第２のコンピュータにおいて前記周辺機器の「偽のディスクリプタ情報」を確認し第１のコンピュータへの経路情報を確定する第２のステップと、
前記経路情報を基に第２のコンピュータから第１のコンピュータ（あるいは仮想コンピュータ）にネットワークを使用して接続し  前記周辺機器を前記「仮想バス」に登録する第３のステップと、
前記周辺機器の「偽のディスクリプタ情報」の一部を元に戻して  第３のステップにて確立した接続を利用して第１のコンピュータ（あるいは仮想コンピュータ）から第２のコンピュータに対してネットワーク越しに前記周辺機器のデータ入出力を行う第４のステップと、を備えることを特徴とする周辺機器の増設方法。
【請求項２】
前記第１のステップは、周辺機器との接続時に、ＯＳにて認識されない「偽のデバイスクラス」を「ディスクリプタ情報」に含めることで、ＯＳのシステムリソースとして認識されないように予め変更された「偽のディスクリプタ情報」を作成することを特徴とする「請求項１」に記載の周辺機器の増設方法。
【請求項３】
前記第１のステップは、前記周辺機器内の「ディスクリプタ情報」を保持しているＲＯＭを「偽のディスクリプタ情報」に書き換えることを特徴とする「請求項１」に記載の周辺機器の増設方法。
【請求項４】
前記第４のステップは、「仮想バス」において、周辺機器へのネットワークを経由するアクセスが遅延を検出した場合に、その遅延の程度により、次の２段階の対応を取ることを特徴とする「請求項１」に記載の周辺機器の増設方法。
第１の段階としては、周辺機器への状態確認の頻度を間引くため、直前の周辺機器の状態をキャッシュして、ネットワークを経由するアクセス頻度を減らす処理をする。
第２の段階としては、周辺機器との接続を維持するのは困難と判断し、「仮想バス」（１２）の登録を抹消し、「仮想バス」と「接続ソフトウェア」の間のセッションを切断する。
【発明の詳細な説明】
【技術分野】
【０００１】本発明は、遠隔地に設置されているコンピュータ（あるいは仮想コンピュータ）に、ローカルのパソコンに接続した「バス」接続された周辺機器を割り当てて、前記遠隔地のコンピュータ（あるいは仮想コンピュータ）に対して前記周辺機器を増設する方法を提供する。
【背景技術】
【０００２】従来、遠隔地に設置されているコンピュータ（あるいは仮想コンピュータ）に対して、ローカルのパソコンに「バス」接続された周辺機器を利用可能にするには、次のステップが必要であった。
（イ）遠隔地にある第１のコンピュータ（あるいは仮想コンピュータ）がネットワーク経由で前記「バス」接続の周辺機器を増設するために、ローカルにある第２のコンピュータに前記周辺機器を増設して、第２のコンピュータ上のＯＳが認識した前記周辺機器をシステムリソースとして前記第１のコンピュータにサービスを提供する。
（ロ）遠隔地にある前記第１のコンピュータに、前記第２のコンピュータの位置および前記「バス」接続の周辺機器に対応するＯＳのシステムリソースへの経路情報を、設定する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】これは、次のような欠点があった。
（イ）ローカルにある前記第２のコンピュータが、「バス」接続の周辺機器をシステムリソースとして扱うため、遠隔地にある前記第１のコンピュータ（あるいは仮想コンピュータ）からの要求以外でも前記「バス」接続の周辺機器を同時に操作する可能性がある。もしそのように同時に操作した場合、前記第１のコンピュータ（あるいは仮想コンピュータ）にとって、前記「バス」接続の周辺機器の状態が予期しないこととなり結果不具合を発生する場合がある。
（ロ）前記第１のコンピュータ（あるいは仮想コンピュータ）に、前記第２のコンピュータの位置および前記「バス」接続の周辺機器のシステムリソースへの経路情報を設定する必要があり、前記経路情報の変更が必要となった場合は、前記第１のコンピュータ（あるいは仮想コンピュータ）において前記経路情報の変更する必要がある。また、接続の順序として、前記第１のコンピュータ（あるいは仮想コンピュータ）から第２のコンピュータに接続することになるので、第２のコンピュータがネットワーク上で事前に公開されていて、ネットワーク上の前記第１のコンピュータ（あるいは仮想コンピュータ）から接続可能な状態である必要がある。
本発明は、以上のような欠点をなくすためになされたものである。
【課題が解決するための手段】
【０００４】本発明は、遠隔地にある第１のコンピュータ（あるいは仮想コンピュータ）と、第１のコンピュータ（あるいは仮想コンピュータ）にある「仮想バス」と、ローカルにある第２のコンピュータと、前記第２のコンピュータに「バス」接続された周辺機器と、前記周辺機器が「仮想バス」以外の「バス」にシステムリソースとして接続されないようする「偽のディスクリプタ情報」と、前記第１のコンピュータ（あるいは仮想コンピュータ）と前記第２のコンピュータとを通信可能に接続するネットワークと、前記第２のコンピュータにて動作し前記周辺機器を検知する「接続ソフトウェア」と、を備えた計算機システムに周辺機器を増設する方法であって、
前記周辺機器の「ディスクリプタ情報」の一部を変更して「偽のディスクリプタ情報」を作成し第２のコンピュータで一般的なシステムリソースとしてＯＳが認識できないようにする第１のステップと、
第２のコンピュータにおいて前記周辺機器の「偽のディスクリプタ情報」を確認し第１のコンピュータへの経路情報を確定する第２のステップと、
前記経路情報を基に第２のコンピュータから第１のコンピュータ（あるいは仮想コンピュータ）にネットワークを使用して接続し  前記周辺機器を前記「仮想バス」に登録する第３のステップと、
前記周辺機器の「偽のディスクリプタ情報」の一部を元に戻して  第３のステップにて確立した接続を利用して第１のコンピュータ（あるいは仮想コンピュータ）から第２のコンピュータに対してネットワーク越しに前記周辺機器のデータ入出力を行う第４のステップと、
を備えることを特徴とする。
【発明の効果】
【０００５】本発明によれば、ローカルにあるコンピュータに「バス」を使用して周辺機器を接続することにより、予め関連付けられた遠隔地にあるコンピュータまたは仮想コンピュータに、「バス」接続された機器として次の特徴をもって増設することができる。
【０００６】データセンターなどの遠隔地に設置されているコンピュータ（あるいは仮想コンピュータ）に「仮想バス」を設置した場合、データセンターの借り手がローカルのコンピュータに周辺機器に接続することで、一時的にそのホスティングサーバに対してその周辺機器の全ての機能をそのまま増設することができる。その際にデータセンターの借り手のローカルのコンピュータは、データセンター内のコンピュータ（あるいは仮想コンピュータ）に接続可能であれば良く、ネットワーク上に公開する必要がなく、データセンターからの新規ネットワークのセッションをローカルのコンピュータ側で許可する必要もない。
【０００７】「ディスクリプタ情報」を書き換える方法は、「バス」接続する周辺機器の「ディスクリプタ情報」を格納しているシリアルＲＯＭ（あるいはＲＯＭ）を交換あるいは追加することで容易に実現できる。このため遠隔地のコンピュータから利用可能な「仮想バス」へ接続するかあるいは、ローカルのコンピュータでシステムリソースとして利用可能な「バス」に接続するかの選択を、スイッチ回路の追加でシリアルＲＯＭ（あるいはＲＯＭ）を有効あるいは無効とすることで簡単に実現できる。
【発明を実施するための最良の形態】
【０００８】以下に、本発明の実施の形態を、図面を参照して説明する。【０００９】図１は、本発明の実施の形態の計算機システムの概念図である。【００１０】遠隔地に第１のコンピュータ（１）があり、その中に「仮想バス」（１２）を搭載している。「仮想バス」（１２）は、同一コンピュータ内のＯＳ（１３）に対して「バス」機器へのアクセスを可能にするソフトウェアである。【００１１】ローカルに第２のコンピュータ（２）があり、「バス」接続にて周辺機器（２２）に繋がる。周辺機器（２２）の「ディスクリプタ情報」は、ＯＳ（２３）のシステムリソースとして認識されないように予め変更された「偽のディスクリプタ情報」（２４）が用意されており、第２のコンピュータ（２）のＯＳ（２３）にシステムリソースとして使われない状態で認識される。【００１２】第２のコンピュータ（２）のＯＳ（２３）で動作している「接続ソフトウェア」（２５）は、「偽のディスクリプタ情報」（２４）によって周辺機器（２２）の接続をＯＳ（２３）の自動認識機能によって感知し、それと同時に「経路情報のリスト」（２６）を使用して、第１のコンピュータ（１）（あるいは仮想コンピュータ）で動作する「仮想バス」（１２）に対してネットワーク（５）を経由して接続し、周辺機器（２２）を「仮想バス」（１２）に登録するとともに、周辺機器（２２）と「仮想バス」との接続をそのままネットワーク上のセッションとして維持する。この時、「仮想バス」（１２）に登録する周辺機器（２２）の情報は、ＯＳ（１３）のシステムリソースとして認識可能な「ディスクリプタ情報」に復元して使用する。「接続ソフトウェア」（２５）によって維持されているネットワーク上のセッションは、周辺機器（２２）の「バス」接続が切断されるまで正常時は切断しない。【００１３】図２は、本発明の「ディスクリプタ情報」の変更と復元の実践方法として使用する「デバイスクラス変換表」である。【００１４】本発明において、「ディスクリプタ情報」の変更と復元は、「ディスクリプタ情報」の中の周辺機器のタイプを表す「デバイスクラス」によって異なる処理を実行した方が、実装がより簡単になる。その具体的な方法は、周辺機器の特徴において元来持つべき「デバイスクラス」（９１）（つまり一般的にＯＳでシステムリソースとしてどのように活用可能になるかを分類する「デバイスクラス」）と、それに対応するＯＳにてシステムリソースとして活用されない（未知の「デバイスクラス」としてＯＳが扱う）「偽のデバイスクラス」（９２）を任意に決めておき、これを「デバイスクラス変換表」として、「接続ソフトウェア」（２５）に用意する。周辺機器との接続時に、ＯＳにて認識されない「偽のデバイスクラス」（９２）を「ディスクリプタ情報」に含めることで、ＯＳ（２３）のシステムリソースとして認識されないように予め変更された「偽のディスクリプタ情報」（２４）を作成することができる。
「デバイスクラス」によって異なる処理を実行しない方法は、「ディスクリプタ情報」の中の「デバイスクラス」と「デバイスクラス」以外の属性を変更する必要があり、「デバイスクラス」以外の属性に元来持つべき「デバイスクラス」を保持させて、１つの「偽のデバイスクラス」（９２）からなる「デバイスクラス変換表」とは別に「デバイスクラス」以外の属性の変換表を用意する必要があるため、前述の「デバイスクラス」によって異なる処理を実行する方法より困難となる。【００１５】本発明において、「接続ソフトウェア」（２５）は、前記「デバイスクラス変換表」内にある「偽のデバイスクラス」を持つ周辺機器の制御プログラムとして第２のコンピュータ（２）のＯＳ（２３）に登録しておくことにより、周辺機器（２２）の接続をＯＳ（２３）の自動認識機能によって感知することが出来る。【００１６】第１のコンピュータ（あるいは仮想コンピュータ）内で動作する一般アプリケーションソフトウェアは、「仮想バス」に登録されている周辺機器を操作することにより、接続が保持されている通信セッションをつかって、第２のコンピュータで動作している「接続ソフトウェア」に対して指示を出し、実際の周辺機器を操作する。【００１７】「仮想バス」（１２）は、周辺機器（２２）へのネットワーク（５）を経由するアクセスが遅延した場合は、その遅延の程度により異常時と判断し、次の２段階の対応を取る。最初の段階としては、周辺機器（２２）への状態確認の頻度を間引くため、直前の周辺機器（２２）の状態をキャッシュして、ネットワーク（５）を経由するアクセス頻度を減らす処理をする。次の段階では、周辺機器との接続を維持するのは困難と判断し、「仮想バス」（１２）の登録を抹消し、「仮想バス」（１２）と「接続ソフトウェア」（２５）の間のセッションを切断する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態の計算機システムの概念図である。
【図２】本発明の実施方法として使用する「デバイスクラス変換表」である。
【符号の説明】
【００１９】  １        第１のコンピュータ（遠隔地側）
１１      ネットワークインターフェース（第１のコンピュータ）
１２      「仮想バス」
１３      ＯＳ（第１のコンピュータ）
２        第２のコンピュータ（ローカル側）
２０      「バス」インターフェース
２１      ネットワークインターフェース（第２のコンピュータ）
２２      「バス」接続の周辺機器
２３      ＯＳ（第２のコンピュータ）
２４      周辺機器の変更された「偽のディスクリプタ情報」
２５      「接続ソフトウェア」
２６      「経路情報のリスト」
９１      「デバイスクラス」
９２      「偽のデバイスクラス」
【図１】
2008192119.tif 000003
【図２】
2008192119.tif 000004