説明

コンピュータシステム、情報処理システム、仮想メディア方法、および、プログラム

【課題】デバイス(ドライブ)が、クライアントPC(プロセッサ)により出力された特定のコマンドに応答できない場合のエラー処理を実現していないので、仮想メディア機能を実現できない。
【解決手段】コンピュータシステムは、USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスする処理回路を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステム、情報処理システム、仮想メディア方法、および、プログラムに関する。
【背景技術】
【0002】
コンピュータにおいて、ネットワーク上に存在する別のコンピュータに接続された光学ドライブやUSB(Universal Serial Bus)メモリなどの記憶装置を本体装置に接続する仮想メディア機能(リモートメディア機能)が実現されている。
【0003】
この技術に関する一例が特許文献1に記載されている。特許文献1においては、クライアントPCとデバイスサーバとがネットワークで接続され、デバイスサーバには、USB等のインタフェースでデバイスが接続されている。クライアントPCは、ネットワーク、デバイスサーバを介し仮想メディア機能によりデバイスにアクセスする。
【0004】
デバイスサーバは、デバイスからデバイス情報を取得して、そのデバイスが備える機能を識別し、各機能に対して、ネットワーク上で通信させるため、セッションで使用するプロトコルを設定する。
【0005】
クライアントPCは、デバイスサーバからデバイス情報とプロトコルを取得して、仮想化処理のためのソフトウェア部品を生成し、任意のデバイスの機能が指定されると、対応するプロトコルを使用してセッションを要求する。デバイスサーバは、セッションの要求に応じて、セッションを制御する。
【0006】
これを実現するため、クライアントPCは、特殊な常駐モジュールを設けている。常駐モジュールは、クライアントPCのOSが起動している間、常に待機および動作しているソフトウェアである。この常駐モジュールは、ネットワーク上にあるデバイスサーバと通信し、デバイスサーバに接続されたデバイスを認識し、そのデバイスのデバイス識別情報と機能識別情報とを受信する。
【0007】
常駐モジュールは、そのデバイス識別情報と機能識別情報とをもとに、データ入出力に必要なドライバソフトウェア部品(USB仮想バスデバイス等)を一意に特定し、動的に生成する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2011−76437号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1の技術は、デバイスが、クライアントPCにより出力された特定のコマンドに応答できない場合のエラー処理を実現していないので、その場合、仮想メディア機能を実現できないという問題点を持つ。
【0010】
本発明の目的は、上記問題点を解決したコンピュータシステム、情報処理システム、仮想メディア方法、および、プログラムを提供することである。
【課題を解決するための手段】
【0011】
本発明のコンピュータシステムは、USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスする処理回路を含む。
【0012】
本発明の仮想メディア方法は、USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスする。
【0013】
本発明のプログラムは、USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスする。
【発明の効果】
【0014】
本発明は、デバイス(ドライブ)がクライアントPC(プロセッサ)により出力された特定のコマンドに応答できない場合にも、容易に仮想メディア機能を実現できるという効果を持つ。
【図面の簡単な説明】
【0015】
【図1】本発明の第1の実施の形態の構成を示すブロック図である。
【図2】本発明の第2の実施の形態の構成を示すブロック図である。
【図3】第2の実施の形態の動作を示す動作説明図である。
【図4】本発明の第3の実施の形態の動作を示す動作説明図である。
【図5】本発明の第4の実施の形態の構成を示すブロック図である。
【図6】第4の実施の形態の動作を示す動作説明図である。
【図7】第4の実施の形態の動作を示す動作説明図である。
【図8】第4の実施の形態の動作を示す動作説明図である。
【図9】第4の実施の形態の動作を示す動作説明図である。
【図10】本発明の第5の実施の形態の構成を示すブロック図である。
【図11】第5の実施の形態の動作を示す動作説明図である。
【発明を実施するための形態】
【0016】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は、第1の実施の形態の構成を示すブロック図である。
【0017】
図1を参照すると、コンピュータシステム100は、処理回路111を含む。処理回路111は、USBデバイス情報に基づいて、アクセス先の図示しないドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識する。ドライブは、コンピュータシステム100にネットワークインタフェースを介して接続されてもよい。次に、処理回路111は、特別の機能を持つドライブ(たとえば、IEEE1667に準拠するデバイス)であるかどうかを調べるための特定のコマンド(たとえば、SECURITY PROTOCOL INとSECURITY PROTOCOL OUT等)をドライブに向けて出力する。
【0018】
処理回路111は、そのコマンドに対し、エラーを示す実行ステータスを受け取ると、ドライブを上記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスを行う。すなわち、コンピュータシステム100は、ドライブをIEEE1667に準拠しないドライブとして仮想メディア機能を実現する。上記のコンピュータシステム100の動作は、コンピュータシステム100で動作するプログラムによって実現されることも可能である。
【0019】
次に、第1の実施の形態の効果について説明する。
【0020】
第1の実施の形態は、USBマスストレージクラス仕様に準拠するデバイスであるドライブが、特定の機能を持っておらず特定のコマンドに対応できない場合でも、ドライブを特定の機能を持っていないドライブとして扱う構成である。したがって、第1の実施の形態は、コンピュータシステム100が、特別な機能を持つドライブと、特別な機能を持たないドライバとの両方にアクセスする場合に、容易に仮想メディア機能を実現することができるという効果を持つ。
【0021】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図2は、第2の実施の形態の構成を示すブロック図である。図2を参照すると、コンピュータシステム100は、プロセッサ110、BMC120( Baseboard Management Controller :ベースボード・マネジメント・コントローラ)、および、USBインタフェース130を含む。コンピュータシステム100、プロセッサ110は、それぞれ、第1の実施の形態のコンピュータシステム100、処理回路111の一例である。
【0022】
プロセッサ110とBMC120とはUSBインタフェース130で接続される。BMC120は、ドライブと接続された管理装置にネットワークインタフェースで接続される。
【0023】
BMC120は、管理装置によりドライブから取得されたUSBデバイス情報、あるいは、管理装置により作成されたUSBデバイス情報を、ネットワークインタフェース経由で管理装置から受信し、USBデバイス情報122として格納する。次に、BMC120は、プロセッサ110にUSBデバイス情報122を出力する。プロセッサ110は、USBデバイス情報122に基づいて、BMC120をドライブと同等のUSBデバイスとして認識する。
【0024】
プロセッサ110は、USBデバイス情報122に基づいて、USBのコマンドをBMC120に出力する。
【0025】
次に、第2の実施の形態の動作について図面を参照して詳細に説明する。図3は、第2の実施の形態の動作を示す動作説明図である。図2、図3を参照して、プロセッサ110がドライブからデータをリードする場合の動作について説明する。
【0026】
図3を参照すると、プロセッサ110は、USBのコマンド(特別の機能を持つドライブであるかどうかを調べるための特定のコマンド)をBMC120に出力する(ステップA1)。
【0027】
BMC120は、コマンドを管理装置に送信する(ステップB1)。BMC120は、コマンドの送信が一定時間内に完了しない場合(ステップB2/N)、または、管理装置からデータの受信が一定時間内に完了しない場合(ステップB3/N)に、ストールパケットをプロセッサ110に出力する(ステップB4)。
【0028】
プロセッサ110は、ストールパケットを受け取ると、BMC120に、ストール解除指示を出力する。BMC120は、ストール解除指示を受け取ると、ストール状態を解除する。
【0029】
BMC120は、コマンドの送信が一定時間内に完了し(ステップB2/Y)、かつ、管理装置からデータの受信が一定時間内に完了した場合(ステップB3/Y)、管理装置から受信したデータをプロセッサ110に出力する(ステップB5)。そして、BMC120は、管理装置からの実行ステータスの受信が一定時間内に完了すると(ステップB6/Y)、正常を示す実行ステータスをプロセッサ110に出力する(ステップB7)。
【0030】
プロセッサ110は、正常を示す実行ステータスを受け取ると、コマンドが正常に終了したと認識し、次の処理に進む。
【0031】
[ステップB2/N]、[ステップB3/N]、または、管理装置からの実行ステータスの受信が一定時間内に完了しない場合(ステップB6/N)に、BMC120は、エラーを示す実行ステータスをプロセッサ110に出力する(ステップB8)。
【0032】
プロセッサ110は、エラーを示す実行ステータスを受け取ると、以降、ドライブを、USBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱う(ステップA2)。以上により、仮想メディア機能が実現される。
【0033】
[ステップB2/N]、[ステップB3/N]、または、[ステップB6/N]の例としては、ドライブの種類によっては、プロセッサ110が出力する特定のコマンドに応答できない場合等がある。
【0034】
以上において、ストールパケットを出力しない構成も可能である。また、プロセッサ110の動作は、プロセッサ110のOS(オペレーティングシステム)が実行してもよい。また、ステップB2、B3、B6における一定時間は、必ずしも同じ時間である必要はなく、それぞれのステップで異なる時間でよい。
【0035】
次に、第2の実施の形態の効果について説明する。
【0036】
上述のように、第2の実施の形態は、デバイスがコマンドに応答できない場合、あるいは、管理装置、ネットワークの遅延等の場合に、BMC120が、ストールパケット、または、エラーを示す実行ステータスをプロセッサ110に出力する構成である。
【0037】
たとえば、IEEE1667に準拠するプロセッサ110が、特定のコマンド(たとえば、SECURITY PROTOCOL INとSECURITY PROTOCOL OUT等)を出力し、ドライブがこのコマンドに応答できない場合にも、BMC120がエラーを示す実行ステータスを作成し、プロセッサ110に出力する。
【0038】
よって、第2の実施の形態には、プロセッサ110が、エラーを示す実行ステータスを受け取ると、特定のコマンドに応答しないドライブを、特定の機能を持たないUSBマスストレージデバイスとして扱うことにより、容易に、仮想メディア機能を実現できるという第1の実施の形態と同様の効果がある。
【0039】
また、第2の実施の形態は、BMC120はエラー処理を実施すればよく、特別のコマンドに対する特別な機能を持たなくてもよいので、BMC120の構成が簡単であるという効果を持つ。
【0040】
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。第3の実施の形態は、第2の実施の形態の一例(図2と同構成)である。図4は、第3の実施の形態の動作を示す動作説明図である。図2と図4を参照して、プロセッサ110が、USBデバイス情報122を取得し、USBデバイス情報122に基づいて、BMC120をUSBマスストレージデバイスとして認識する動作について説明する。
【0041】
図4を参照すると、BMC120は、管理装置からドライブのUSBデバイス情報122を受信すると、USBデバイス情報122をプロセッサ110に出力する(ステップB11)。以下に示すプロセッサ110の動作は、プロセッサ110のOSが実行してもよい。
【0042】
プロセッサ110は、USBデバイス情報122内のデバイスディスクリプタからデバイスのサポートしているUSB仕様、ベンダID、プロダクトID、デバイスID等のデバイスを識別するためのデバイス識別情報を取得する(ステップA11)。
【0043】
プロセッサ110は、USBデバイス情報122内のコンフィギュレーションディスクリプタからインタフェース数を取得する(ステップA12)。
【0044】
プロセッサ110は、取得したインタフェース数分だけUSBデバイス情報122内のインタフェースディスクリプタを取得する(ステップA13)。プロセッサ110は、インタフェースディスクリプタ内のインタフェースクラス、インタフェースサブクラス、インタフェースプロトコル、エンドポイント数を取得する(ステップA14)。
【0045】
たとえば、ドライブがマスストレージデバイスの場合、インタフェースクラスがマスストレージとなる。インタフェースサブクラスはドライブがサポートしているコマンドセットを示す。インタフェースプロトコルはデータ転送方式を示す。マスストレージデバイスでは、たとえば、インタフェースサブクラスは、SCSI(Small Computer System Interface) Transparent(スカジー・トランスペアレント)、インタフェースプロトコルは、Bulk Only Transport(バルク・オンリー・トランスポート)である。
【0046】
プロセッサ110は、USBデバイス情報122内のエンドポイントディスクリプタから通信に必要なエンドポイントアドレスを取得する(ステップA15)。
【0047】
そして、プロセッサ110は、USBのコマンド(たとえば、マスストレージクラスのコマンド)をBMC120に出力する(ステップA16)。
【0048】
次に、BMC120は、プロセッサ110からのUSBのコマンド(たとえば、マスストレージクラスのコマンド)を管理装置に送信する(ステップB12)。
【0049】
次に、第3の実施の形態の効果について説明する。
【0050】
上述のように、第3の実施の形態は、第2の実施の形態の一例なので、第2の実施の形態と同一の効果を持つ。
【0051】
さらに、第3の実施の形態は、特殊な常駐モジュール、USB仮想バスデバイスを必要としないので、プロセッサ110の構成が簡単であるという効果を持つ。
【0052】
次に、本発明の第4の実施の形態について、図面を参照して詳細に説明する。図5は、第4の実施の形態の構成を示すブロック図である。図5を参照すると、第4の実施の形態の情報処理システム010は、コンピュータシステム100、管理装置200、ドライブ240、USBインタフェース230、および、ネットワークインタフェース300を含む。
【0053】
コンピュータシステム100、プロセッサ110、BMC120は、それぞれ、第2、または、第3の実施の形態のコンピュータシステム100、プロセッサ110、BMC120の一例である。ドライブ240は、たとえば、IEEE1667等の仕様を満たした暗号化USBメモリ、または、USB接続のCD/DVDドライブ等のマスストレージである。
【0054】
BMC120は、USB制御部121、および、マスストレージ処理部123を含む。USB制御部121は、USBデバイス情報122を格納する。マスストレージ処理部123は、エラー処理部124を含む。管理装置200は、USBデバイス情報220を格納する。
【0055】
BMC120のマスストレージ処理部123と管理装置200とは、ネットワークインタフェース300(たとえば、イーサネット(登録商標))で接続される。管理装置200とドライブ240とは、USBインタフェース230で接続される。
【0056】
次に、第4の実施の形態の動作について図面を参照して詳細に説明する。まず、USBデバイス情報122、220の取得について説明する。図6は、第4の実施の形態の動作を示す動作説明図である。
【0057】
図6を参照すると、管理装置200は、ドライブ240にUSBデバイス情報要求を出力する(ステップE1)。ドライブ240は、USBデバイス情報要求を受け取ると、管理装置200にUSBデバイス情報220を出力する(ステップF1)。
【0058】
管理装置200は、ドライブ240からUSBデバイス情報220を受け取ると、内部に格納する(ステップE2)。次に、管理装置200は、USBデバイス情報220を、ネットワークインタフェース300を介してコンピュータシステム100のBMC120に送信する(ステップE3)。
【0059】
BMC120のマスストレージ処理部123は、管理装置200から受信したUSBデバイス情報220をUSB制御部121に出力する(ステップD1)。USB制御部121は、マスストレージ処理部123からのUSBデバイス情報220をUSBデバイス情報122として内部に格納する(ステップC1)。
【0060】
次に、プロセッサ110が、USB制御部121に、デバイス情報取得コマンドを出力すると(ステップA21)、USB制御部121は、USBデバイス情報122をプロセッサ110に出力する(ステップB2)。プロセッサ110は、USBデバイス情報122を、内部に格納し、使用する(ステップA22)。
【0061】
ステップA22の詳細は、たとえば、第3の実施の形態のステップA11〜A16(図4)の動作に相当する。
【0062】
次に、プロセッサ110がドライブ240からデータをリードする場合の動作ついて説明する。図7、図8、図9は、第4の実施の形態の動作を示す動作説明図である。まず、プロセッサ110がUSBのリードコマンド(マスストレージクラス)をBMC120のUSB制御部121に出力する(図7ステップA31)。
【0063】
USB制御部121は、リードコマンドを受け取ると、リードコマンドをマスストレージ処理部123に出力する(ステップC11)。マスストレージ処理部123は、リードコマンドを受け取ると、ネットワークインタフェース300を介し、管理装置200に送信する(ステップD11)。
【0064】
管理装置200は、リードコマンドを受信すると、USBインタフェース230を介して、ドライブ240に出力する(ステップE11)。ドライブ240は、リードコマンドを受け取ると、リードコマンドを実行し、データを読み出し、USBインタフェース230を介して管理装置200に出力する(ステップF11)。
【0065】
管理装置200は、データを受け取ると、ネットワークインタフェース300を介して、コンピュータシステム100のBMC120のマスストレージ処理部123に送信する(ステップE12)。
【0066】
マスストレージ処理部123は、リードコマンドの送信が一定時間内に完了し(ステップD12/Y)、かつ、データの受信が一定時間内に完了すると(ステップD13/Y)、USB制御部121にデータを出力する(ステップD14)。USB制御部121は、データを受け取ると、プロセッサ110に出力する(ステップC12)。
【0067】
また、ドライブ240は、リードコマンド実行(ステップF11)後に、図8に示される動作に移行する。すなわち、ドライブ240は、USBインタフェース230を介して、実行結果を示す実行ステータスを管理装置200に出力する(ステップF12)。管理装置200は、実行ステータスを受け取ると、ネットワークインタフェース300を介して、コンピュータシステム100のBMC120のマスストレージ処理部123に送信する(ステップE13)。
【0068】
マスストレージ処理部123は、実行ステータスの受信が一定時間内に完了すると(ステップD15/Y)、受け取った実行ステータスをUSB制御部121に出力する(ステップD16)。USB制御部121は、実行ステータスを、プロセッサ110に出力する(ステップC13)。
【0069】
再び図7において、リードコマンドの送信が一定時間内に完了しない場合(ステップD12/N)、または、データの受信が一定時間内に完了しない場合(ステップD13/N)、マスストレージ処理部123は、図9に示す動作に移行する。すなわち、マスストレージ処理部123は、ストール指示を含むエラー情報をエラー処理部124に出力する(ステップD21)。
【0070】
また、図8において、実行ステータスの受信が一定時間内に完了しない場合(ステップD15/N)にも、マスストレージ処理部123は、図9に示される動作に移行する。すなわち、マスストレージ処理部123は、ストール指示を含まないエラー情報をエラー処理部124に出力する(ステップD22)。
【0071】
エラー処理部124は、エラー情報を受け取ると、エラー情報がストール指示を含んでいると(ステップG21/Y)、USB制御部121に、ストール指示を出力する(ステップG22)。USB制御部121は、ストール指示を受け取ると、プロセッサ110にストールパケットを出力する(ステップC21)。
【0072】
また、エラー処理部124は、エラー情報を受け取ると、エラー情報に基づく実行ステータスを作成し、USB制御部121に出力する(ステップG23)。USB制御部121は、受け取った実行ステータスをプロセッサ110に出力する(ステップC22)。
【0073】
プロセッサ110は、エラーを示す実行ステータスを受け取ると、自身が出力したコマンドの種類に応じて処理を行う。たとえば、プロセッサ110は、ドライブ240が特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドの場合、以降、ドライブ240を特別な機能を持たないデバイスとして扱う処理を行う。また、プロセッサ110は、データを読み出すためのリードコマンドの場合、障害が発生したとして、障害処理を行う。
【0074】
次に、第4の実施の形態の効果について説明する。
【0075】
第4の実施の形態は、第2の実施の形態の一例なので、上述した第2の実施の形態が持つ効果を持つ。また、第4の実施の形態が、第3の実施の形態の一例である場合には、上述した第3の実施の形態が持つ効果を持つ。
【0076】
また、第4の実施の形態は、エラーを示す実行ステータスを受け取ると、出力したコマンドの種類に応じた処理を行う構成なので、機能を持たないことによる応答無しなのか、それとも、障害なのかの切り分けが容易であるという効果を持つ。
【0077】
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。図10は、第5の実施の形態の構成を示すブロック図である。図5を参照すると、第4の実施の形態の情報処理システム010は、コンピュータシステム100、管理装置200、ドライブ240、デバイスインタフェース260、および、ネットワークインタフェース300を含む。
【0078】
コンピュータシステム100は、第4の実施の形態のコンピュータシステム100と同一である。また、管理装置200は、ディスクイメージ250を含む。ドライブ240は、<SCSI−MMC(Small Computer System Interface -Multi Media Command set)規格>に準拠するものである。すなわち、ドライブ240は、USBの仕様を満たさなくてもよい。したがって、デバイスインタフェース260は、USBインタフェース230に限らないインタフェース(たとえば、<SCSI−MMC規格>に準拠するSCSI、SAS(Serial Attached SCSI)、SATA(Serial Advanced Technology Attachment)、ATAPI(Advanced Technology Attachment Packet Interface)等)である。
【0079】
ドライブ240が<SCSI−MMC規格>に準拠するものであっても、USBインタフェース230でない場合、ドライブ240からデバイス情報の読み出しが可能とは限らない。
【0080】
次に、第5の実施の形態の動作について図面を参照して詳細に説明する。図11は、第5の実施の形態の動作を示す動作説明図である。管理装置200がUSBデバイス情報220を作成し、送信する動作について説明する。
【0081】
図11を参照すると、管理装置200は、ドライブ240に、USBデバイス情報要求を出力する(ステップE30)。ドライブ240から、一定時間内にUSBデバイス情報220を受け取ると(ステップE31/Y)、管理装置200は、USBデバイス情報220を内部に格納する(ステップE32)。ここで、USBデバイス情報220は、ディスクイメージ250に格納されてもよいし、別の場所に格納されてもよい。
【0082】
一定時間内にUSBデバイス情報220を受け取れないと(ステップE31/Y)、管理装置200は、USBデバイス情報220を作成する(ステップE33)。そして、管理装置200は、作成したUSBデバイス情報220を内部に格納する(ステップE34)。
【0083】
さらに、管理装置200は、USBデバイス情報220を、ネットワークインタフェース300を介して、コンピュータシステム100のBMC120に送信する(ステップE35)。
【0084】
以降、コンピュータシステム100のプロセッサ110からのアクセスに対し、管理装置200は、ディスクイメージ250を使用して処理を行う。すなわち、管理装置200は、データをディスクイメージ250に格納し、処理を行う。
【0085】
図11のステップE32、E34のどちらを経由する場合においても、ディスクイメージ250を使用した処理が実行されてもよいし、E34を経由する場合においてのみ、ディスクイメージ250を使用した処理が実行されてもよい。
【0086】
次に、第5の実施の形態の効果について説明する。
【0087】
第5の実施の形態は、ドライブ240が、USBデバイスでない場合に、管理装置200が、ステップE33で、USBデバイス情報220を作成し、ディスクイメージ250を使用する構成である。したがって、USBインタフェース230に限らないインタフェース(たとえば、<SCSI−MMC規格>に準拠する)に接続されたドライブ240がアクセスできるので、第5の実施の形態は、たとえば、第4の実施の形態に比べて汎用性が向上するという効果を持つ。
【0088】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0089】
[付記1]
USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスする処理回路を含むことを特徴とするコンピュータシステム。
【0090】
[付記2]
受け取ったUSBデバイス情報に基づいて前記ドライブに対する前記特定のコマンドを出力し、エラーを示す実行ステータスを受け取ると、前記ドライブをUSBマスストレージデバイスとして扱う前記処理回路であるプロセッサと、
前記ドライブと接続された管理装置から受信したUSBデバイス情報を前記プロセッサに出力し、前記プロセッサから前記特定のコマンドを受け取ると、前記特定のコマンドを前記管理装置に送信し、前記特定のコマンドの送信が一定時間以内に完了しない、データの受信が一定時間以内に完了しない、あるいは、実行ステータスの受信が一定時間以内に完了しないと、前記エラーを示す実行ステータスを前記プロセッサに出力するBMC(ベースボード・マネジメント・)と、
を含むことを特徴とする付記1のコンピュータシステム。
【0091】
[付記3]
前記特定のコマンドの送信が一定時間以内に完了しない、あるいは、データの受信が一定時間以内に完了しないと、ストールパケットを前記プロセッサに出力する前記BMCを含むことを特徴とする付記2のコンピュータシステム。
【0092】
[付記4]
USBデバイス情報内のデバイスディスクリプタからデバイス識別情報を取得し、コンフィギュレーションディスクリプタからインタフェース数を取得し、
取得したインタフェース数分だけインタフェースディスクリプタを取得し、
インタフェースディスクリプタ内のインタフェースクラス、インタフェースサブクラス、インタフェースプロトコル、エンドポイント数を取得し、
エンドポイントディスクリプタから通信に必要なエンドポイントアドレスを取得する前記プロセッサを含むことを特徴とする付記2、または3のコンピュータシステム。
【0093】
[付記5]
前記特定のコマンドを含むコマンドの送信が一定時間内に完了しない場合、または、データの受信が一定時間内に完了しない場合、ストール指示を含むエラー情報を出力するマスストレージ処理部と、前記マスストレージ処理部から受け取ったエラー情報にストール指示が含まれると、ストール指示を前記プロセッサに出力するUSB制御部とを備える前記BMCを含むことを特徴とする付記2、3、または4のコンピュータシステム。
【0094】
[付記6]
USBデバイス情報を出力する前記ドライブと、
前記ドライブから受け取ったUSBデバイス情報を格納し、格納したUSBデバイス情報をネットワークインタフェースを介して前記コンピュータシステムに送信する前記管理装置と、
付記2、3、4、または、5のコンピュータシステムと、
を含むことを特徴とする情報処理システム。
【0095】
[付記7]
エラーを示す実行ステータスを受け取ると、出力したコマンドの種類に応じた処理を行う前記コンピュータシステムを含むことを特徴とする付記6の情報処理システム。
【0096】
[付記8]
前記ドライブにUSBデバイス情報要求を出力し、前記ドライブから一定時間以内に、USBデバイス情報を受け取らないと、USBデバイス情報を作成し、USBデバイス情報を前記ネットワークインタフェースを介して前記コンピュータシステムに送信する前記管理装置を含むことを特徴とする付記7の情報処理システム。
【0097】
[付記9]
USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスすることを特徴とする仮想メディア方法。
【0098】
[付記10]
USBデバイス情報内のデバイスディスクリプタからデバイス識別情報を取得し、コンフィギュレーションディスクリプタからインタフェース数を取得し、
取得したインタフェース数分だけインタフェースディスクリプタを取得し、
インタフェースディスクリプタ内のインタフェースクラス、インタフェースサブクラス、インタフェースプロトコル、エンドポイント数を取得し、
エンドポイントディスクリプタから通信に必要なエンドポイントアドレスを取得することを特徴とする付記9の仮想メディア方法。
【0099】
[付記11]
エラーを示す実行ステータスを受け取ると、出力したコマンドの種類に応じた処理を行うことを特徴とする付記10の仮想メディア方法。
【0100】
[付記12]
USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスすることを特徴とするプログラム。
【0101】
[付記13]
USBデバイス情報内のデバイスディスクリプタからデバイス識別情報を取得し、コンフィギュレーションディスクリプタからインタフェース数を取得し、
取得したインタフェース数分だけインタフェースディスクリプタを取得し、
インタフェースディスクリプタ内のインタフェースクラス、インタフェースサブクラス、インタフェースプロトコル、エンドポイント数を取得し、
エンドポイントディスクリプタから通信に必要なエンドポイントアドレスを取得することを特徴とする付記12のプログラム。
【0102】
[付記14]
エラーを示す実行ステータスを受け取ると、出力したコマンドの種類に応じた処理を行うことを特徴とする付記13のプログラム。
【符号の説明】
【0103】
010 情報処理システム
100 コンピュータシステム
110 プロセッサ
111 処理回路
120 BMC
121 USB制御部
122 USBデバイス情報
123 マスストレージ処理部
124 エラー処理部
130 USBインタフェース
200 管理装置
220 USBデバイス情報
230 USBインタフェース
240 ドライブ
250 ディスクイメージ
260 デバイスインタフェース
300 ネットワークインタフェース

【特許請求の範囲】
【請求項1】
USBデバイス情報に基づいて、ドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスする処理回路を含むことを特徴とするコンピュータシステム。
【請求項2】
受け取ったUSBデバイス情報に基づいて前記ドライブに対する前記特定のコマンドを出力し、エラーを示す実行ステータスを受け取ると、前記ドライブをUSBマスストレージデバイスとして扱う前記処理回路であるプロセッサと、
前記ドライブと接続された管理装置から受信したUSBデバイス情報を前記プロセッサに出力し、前記プロセッサから前記特定のコマンドを受け取ると、前記特定のコマンドを前記管理装置に送信し、前記特定のコマンドの送信が一定時間以内に完了しない、データの受信が一定時間以内に完了しない、あるいは、実行ステータスの受信が一定時間以内に完了しないと、前記エラーを示す実行ステータスを前記プロセッサに出力するBMC(ベースボード・マネジメント・コントローラ)と、
を含むことを特徴とする請求項1のコンピュータシステム。
【請求項3】
前記特定のコマンドの送信が一定時間以内に完了しない、あるいは、データの受信が一定時間以内に完了しないと、ストールパケットを前記プロセッサに出力する前記BMCを含むことを特徴とする請求項2のコンピュータシステム。
【請求項4】
USBデバイス情報内のデバイスディスクリプタからデバイス識別情報を取得し、コンフィギュレーションディスクリプタからインタフェース数を取得し、
取得したインタフェース数分だけインタフェースディスクリプタを取得し、
インタフェースディスクリプタ内のインタフェースクラス、インタフェースサブクラス、インタフェースプロトコル、エンドポイント数を取得し、
エンドポイントディスクリプタから通信に必要なエンドポイントアドレスを取得する前記プロセッサを含むことを特徴とする請求項2、または3のコンピュータシステム。
【請求項5】
前記特定のコマンドを含むコマンドの送信が一定時間内に完了しない場合、または、データの受信が一定時間内に完了しない場合、ストール指示を含むエラー情報を出力するマスストレージ処理部と、前記マスストレージ処理部から受け取ったエラー情報にストール指示が含まれると、ストール指示を前記プロセッサに出力するUSB制御部とを備える前記BMCを含むことを特徴とする請求項2、3、または4のコンピュータシステム。
【請求項6】
USBデバイス情報を出力する前記ドライブと、
前記ドライブから受け取ったUSBデバイス情報を格納し、格納したUSBデバイス情報をネットワークインタフェースを介して前記コンピュータシステムに送信する前記管理装置と、
請求項2、3、4、または、5のコンピュータシステムと、
を含むことを特徴とする情報処理システム。
【請求項7】
エラーを示す実行ステータスを受け取ると、出力したコマンドの種類に応じた処理を行う前記コンピュータシステムを含むことを特徴とする請求項6の情報処理システム。
【請求項8】
前記ドライブにUSBデバイス情報要求を出力し、前記ドライブから一定時間以内に、USBデバイス情報を受け取らないと、USBデバイス情報を作成し、USBデバイス情報を前記ネットワークインタフェースを介して前記コンピュータシステムに送信する前記管理装置を含むことを特徴とする請求項7の情報処理システム。
【請求項9】
USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスすることを特徴とする仮想メディア方法。
【請求項10】
USBデバイス情報に基づいてドライブが、USBマスストレージクラス仕様に準拠するデバイスであると認識すると、特別の機能を持つデバイスであるかどうかを調べるための特定のコマンドを前記ドライブに向けて出力し、前記特定のコマンドに対し、エラーを示す実行ステータスを受け取ると、前記ドライブを前記特別の機能を持たないUSBマスストレージクラス仕様に準拠するUSBマスストレージデバイスとして扱いアクセスすることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−45163(P2013−45163A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−180622(P2011−180622)
【出願日】平成23年8月22日(2011.8.22)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】