(57)【要約】【課題】ターゲット機器に割り当てられたデバイス識別子をターゲット機器にアクセスするためのプログラムが自動認識できるようにする。【解決手段】インタフェース部１２０とホスト部１１０と調査対象のターゲット機器１３０をリセット状態又はリセット解除状態のいずれかに切り替えるリセット手段１３３ａとを有する装置１００又はこれが実行する方法であって、リセット状態においてシステムログ情報を記録し、リセット状態からリセット解除状態に切り替え、リセット解除状態においてシステムログ情報を記録し、リセット状態におけるシステムログ情報とリセット解除状態におけるシステムログ情報とが異なるか否かを判定し、異なると判定されたときにリセット解除状態におけるシステムログ情報において直近に認識されたデバイス識別子を調査対象のターゲット機器のデバイス識別子として取得する。【選択図】図１
2010267129.tif 000002
【特許請求の範囲】
【請求項１】
複数のターゲット機器が接続可能なインタフェース部と、
前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部と
を有するターゲット機器識別装置であって、
前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第１の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第２の状態のいずれかに切り替える切り替え手段を有し、
前記ホスト部は、
前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、
前記システムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、
前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なるときに、前記デバイス識別子取得手段に、前記第２の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得させる制御手段とを有する
ことを特徴とするターゲット機器識別装置。
【請求項２】
前記切り替え手段は、前記調査対象のターゲット機器内に備えられたリセット手段であり、
前記第１の状態は、前記調査対象のターゲット機器のリセット状態であり、
前記第２の状態は、前記調査対象のターゲット機器のリセット状態を解除したリセット解除状態である
ことを特徴とする請求項１に記載のターゲット機器識別装置。
【請求項３】
前記切り替え手段は、前記インタフェース部と前記調査対象のターゲット機器との間の接続ラインに備えられたスイッチであり、
前記第１の状態は、前記スイッチが前記接続ラインを切断したオフ状態であり、
前記第２の状態は、前記スイッチが前記接続ラインを接続したオン状態である
ことを特徴とする請求項１に記載のターゲット機器識別装置。
【請求項４】
前記システムログ情報は、前記第１の状態において前記インタフェース部に接続されているターゲット機器の第１の個数と、前記第２の状態において前記インタフェース部に接続されているターゲット機器の第２の個数とを含み、
前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なるときは、前記第１の個数と前記第２の個数とが異なるときである
ことを特徴とする請求項１乃至３のいずれか１項に記載のターゲット機器識別装置。
【請求項５】
前記システムログ情報は、前記インタフェース部に接続されているターゲット機器のデバイス識別子を含み、
前記調査対象のターゲット機器のデバイス識別子の取得は、前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報との差分の中に含まれるデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得することによって実行される
ことを特徴とする請求項１乃至３のいずれか１項に記載のターゲット機器識別装置。
【請求項６】
前記調査対象のターゲット機器は、ターゲット機器識別装置の一部を構成する内蔵ターゲット機器であることを特徴とする請求項１乃至５のいずれか１項に記載のターゲット機器識別装置。
【請求項７】
複数のターゲット機器が接続可能なインタフェース部と、前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部と、前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第１の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第２の状態のいずれかに切り替える切り替え手段とを有する装置において実行されるターゲット機器識別方法であって、
前記第１の状態において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、
前記１の状態から前記第２の状態へ切り替えるステップと、
前記第２の状態への切り替え後において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、
前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なるか否かを判定するステップと、
前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なると判定されたときに、前記第２の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得するステップと
を有することを特徴とするターゲット機器識別方法。
【請求項８】
前記切り替え手段は、前記調査対象のターゲット機器内に備えられたリセット手段であり、
前記第１の状態は、前記調査対象のターゲット機器のリセット状態であり、
前記第２の状態は、前記調査対象のターゲット機器のリセット状態を解除したリセット解除状態である
ことを特徴とする請求項７に記載のターゲット機器識別方法。
【請求項９】
前記切り替え手段は、前記インタフェース部と前記調査対象のターゲット機器との間の接続ラインに備えられたスイッチであり、
前記第１の状態は、前記スイッチが前記接続ラインを切断したオフ状態であり、
前記第２の状態は、前記スイッチが前記接続ラインを接続したオン状態である
ことを特徴とする請求項７に記載のターゲット機器識別方法。
【請求項１０】
前記システムログ情報は、前記第１の状態において前記インタフェース部に接続されているターゲット機器の第１の個数と、前記第２の状態において前記インタフェース部に接続されているターゲット機器の第２の個数とを含み、
前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なるときは、前記第１の個数と前記第２の個数とが異なるときである
ことを特徴とする請求項７乃至９のいずれか１項に記載のターゲット機器識別方法。
【請求項１１】
前記システムログ情報は、前記インタフェース部に接続されているターゲット機器のデバイス識別子を含み、
前記調査対象のターゲット機器のデバイス識別子の取得は、前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報との差分の中に含まれるデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得することによって実行される
ことを特徴とする請求項７乃至９のいずれか１項に記載のターゲット機器識別方法。
【請求項１２】
前記調査対象のターゲット機器は、ターゲット機器識別装置の一部を構成する内蔵ターゲット機器であることを特徴とする請求項７乃至１１のいずれか１項に記載のターゲット機器識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト機器で動作するシステムソフトウェア（「システム」又は「ＯＳ」とも言う。）がホスト機器のインタフェース部に接続されたターゲット機器に割り当てたデバイス識別子を、ターゲット機器にアクセスするためのプログラムが自動認識できるようにするターゲット機器識別装置及びターゲット機器識別方法に関するものである。
【背景技術】
【０００２】
図９は、従来のＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ホスト機器５００とＵＳＢターゲット機器５３０との接続状態を概略的に示すブロック図である。ＵＳＢホスト機器５００とＵＳＢターゲット機器５３０とは、ＩＣ５２１に接続された２本のデータ信号ラインＤ＋，Ｄ−と、電源ライン（図示せず）と、グランドライン（図示せず）とによって接続される。ＵＳＢ信号の通信は、データ信号ラインＤ＋，Ｄ−を互いに逆の位相で動作させる差動データ信号によって行われる。ＵＳＢホスト機器５００において、データ信号ラインＤ＋，Ｄ−は、プルダウン抵抗５２２，５２３によりグランドライン（ＧＮＤ）にプルダウンされている。データ信号ラインＤ＋，Ｄ−が共にＬｏｗ（ロー）レベルであれば、ＵＳＢバスリセット状態になる。ＵＳＢコネクタ５２４に何も接続されていない状態では、データ信号ラインＤ＋，Ｄ−は共にＬｏｗレベルになり、ＵＳＢバスリセット状態になる。
【０００３】
ＵＳＢターゲット機器５３０は、電圧源５３１と、プルアップ抵抗５３２と、ＵＳＢデバイスコントローラ５３３と、ＣＰＵ５３４とを有している。ＵＳＢターゲット機器５３０では、ロースピード、又は、フルスピード（若しくはハイスピード）のいずれの転送スピードで通信を行うかを定義するために、データ信号ラインＤ＋，Ｄ−のいずれかを、プルダウン抵抗５２２，５２３より十分小さな抵抗値のプルアップ抵抗（データ信号ラインＤ＋に接続されたプルアップ抵抗５３２又はデータ信号ラインＤ−に接続されたプルアップ抵抗（図示せず））によって電圧源５３１にプルアップする。したがって、ＵＳＢホスト機器５００とＵＳＢターゲット機器５３０とがＵＳＢケーブルによって接続されると、データ信号ラインＤ＋，Ｄ−のいずれかがプルアップ抵抗によって、Ｈｉｇｈ（ハイ）状態にプルアップされる。ＵＳＢホスト機器５００は、データ信号ラインＤ＋，Ｄ−のいずれかがＨｉｇｈ状態になることによってＵＳＢターゲット機器５３０が接続されたことを検出し、その状態から通信が開始される。
【０００４】
ユーザーがＵＳＢホスト機器５００からＵＳＢターゲット機器５３０を切り離すと、データ信号ラインＤ＋，Ｄ−は共にＬｏｗレベルになってＵＳＢバスリセット状態が発生する。その後、ユーザーがＵＳＢターゲット機器５３０をＵＳＢホスト機器５００に接続すると、ＵＳＢホスト機器５００は、ＵＳＢターゲット機器５３０を新たに接続されたターゲット機器として認識する。
【０００５】
一方、ＵＳＢホスト機器５００から取り外しができないＵＳＢターゲット機器（例えば、内蔵ＵＳＢターゲット機器）の場合には、ＵＳＢホスト機器５００を動作させるＯＳ（オペレーションシステム）の起動時にターゲット機器として認識される。
【０００６】
また、ＵＳＢホスト機器においてシステムを再起動したり、ＵＳＢケーブルを抜き差ししたりしなくても、ＵＳＢターゲット機器をリセットすることができる装置の提案がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−７５７１３号公報（段落００３５）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来の装置では、ＵＳＢホスト機器に複数のＵＳＢターゲット機器が接続されている場合には、システム再起動によってＵＳＢターゲット機器を識別するためのデバイス識別子の割り当てが変更されることがあった。このようなデバイス識別子の割り当ての変更が発生すると、デバイス識別子を利用してターゲット機器を制御するためのプログラムは、システム再起動後におけるＵＳＢターゲット機器とデバイス識別子の対応関係を正確に把握できず、ＵＳＢターゲット機器にアクセスできなくなるという問題があった。
【０００９】
そこで、本発明は、上記従来技術の課題を解決するためになされたものであり、その目的は、システムがターゲット機器に割り当てたデバイス識別子を、ターゲット機器にアクセスするためのプログラムが自動認識できるようにするターゲット機器識別装置及びターゲット機器識別方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係るターゲット機器識別装置は、複数のターゲット機器が接続可能なインタフェース部と、前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部とを有するターゲット機器識別装置であって、前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第１の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第２の状態のいずれかに切り替える切り替え手段を有し、前記ホスト部は、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、前記システムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なるときに、前記デバイス識別子取得手段に、前記第２の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得させる制御手段とを有することを特徴としている。
【００１１】
また、本発明に係るターゲット機器識別方法は、複数のターゲット機器が接続可能なインタフェース部と、前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部と、前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第１の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第２の状態のいずれかに切り替える切り替え手段とを有する装置において実行されるターゲット機器識別方法であって、前記第１の状態において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、前記１の状態から前記第２の状態へ切り替えるステップと、前記第２の状態への切り替え後において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なるか否かを判定するステップと、前記第１の状態における前記システムログ情報と前記第２の状態における前記システムログ情報とが異なると判定されたときに、前記第２の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得するステップとを有することを特徴としている。
【発明の効果】
【００１２】
本発明によれば、システムがターゲット機器に割り当てたデバイス識別子を、ターゲット機器にアクセスするためのプログラムが自動認識できるので、ホスト機器で動作するプログラムがＵＳＢターゲット機器にアクセスできず、正常に動作しない事態を回避できるという効果を得ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１に係るターゲット機器識別装置としてのＵＳＢホスト機器とその周辺機器の構成を概略的に示すブロック図である。
【図２】実施の形態１に係るＵＳＢホスト機器におけるインタフェース部とホスト部と内蔵ＵＳＢターゲット機器との接続状態を概略的に示すブロック図である。
【図３】実施の形態１に係るＵＳＢホスト機器のシステムログ情報から調査対象のＵＳＢターゲット機器のデバイス識別子を取得する方法を概略的に示すフローチャートである。
【図４】本発明の実施の形態２に係るターゲット機器識別装置としてのＵＳＢホスト機器とその周辺機器の構成を概略的に示すブロック図である。
【図５】実施の形態２に係るＵＳＢホスト機器におけるインタフェース部とホスト部と内蔵ＵＳＢターゲット機器とスイッチとの接続状態を概略的に示すブロック図である。
【図６】実施の形態２に係るＵＳＢホスト機器のシステムログ情報から調査対象のＵＳＢターゲット機器のデバイス識別子を取得する方法を概略的に示すフローチャートである。
【図７】本発明の実施の形態３に係るターゲット機器識別装置としてのＵＳＢホスト機器とその周辺機器の構成を概略的に示すブロック図である。
【図８】実施の形態３に係るＵＳＢホスト機器のｄｍｓｇコマンド実行により得られたメッセージ情報から調査対象のＵＳＢターゲット機器のデバイス識別子を取得する方法を概略的に示すフローチャートである。
【図９】従来のＵＳＢホスト機器とＵＳＢターゲット機器との接続状態を概略的に示すブロック図である。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、本発明の実施の形態１に係るターゲット機器識別装置（すなわち、実施の形態１に係るターゲット機器識別方法を実施する装置）としてのＵＳＢホスト機器１００とその周辺機器の構成を概略的に示すブロック図である。図１に示されるように、ＵＳＢホスト機器１００は、複数のＵＳＢターゲット機器が接続可能なインタフェース部１２０と、インタフェース部１２０に接続されたＵＳＢターゲット機器を制御するホスト部１１０と、インタフェース部１２０とＵＳＢ接続され且つホスト部１１０からの制御信号を受信する内蔵ＵＳＢターゲット機器１３０とを有している。図１には、ＵＳＢホスト機器１００の周辺機器の一例として、インタフェース部１２０にＵＳＢケーブルなどによって接続された外付けＵＳＢターゲット機器４０１，…，４０４と、ハブ４１１とが示されている。ただし、周辺機器の構成は図示の例に限定されない。
【００１５】
また、図１において、内蔵ＵＳＢターゲット機器１３０は、システムによって割り当てられたデバイス識別子を調査する調査対象のＵＳＢターゲット機器である。図１に示されるように、内蔵ＵＳＢターゲット機器１３０は、ＵＳＢデバイスコントローラ１３３を有している。ＵＳＢデバイスコントローラ１３３は、内蔵ＵＳＢターゲット機器１３０をリセット状態（第１の状態）又はリセット状態が解除されたリセット解除状態（第２の状態）のいずれかに切り替える切り替え手段としてのリセット手段１３３ａを有している。リセット状態（第１の状態）は、ホスト部１１０が内蔵ＵＳＢターゲット機器１３０の存在を認識できない状態であり、リセット解除状態（第２の状態）は、ホスト部１１０がインタフェース部１２０を経由して内蔵ＵＳＢターゲット機器１３０を認識できる状態である。
【００１６】
また、ホスト部１１０は、インタフェース部１２０に接続されているＵＳＢターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、このシステムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、内蔵ＵＳＢターゲット機器１３０がリセット状態であるときのシステムログ情報と内蔵ＵＳＢターゲット機器１３０がリセット解除状態であるときのシステムログ情報とが異なるときに、デバイス識別子取得手段に、リセット解除状態におけるシステムログ情報において直近に認識されたデバイス識別子を調査対象のＵＳＢターゲット機器のデバイス識別子として取得させる制御手段とを有している。図１のホスト部１１０におけるログ手段、デバイス識別子取得手段、及び制御手段が実行する各動作は、後述する図２におけるＣＰＵ１１１とＲＯＭ１１２とＲＡＭ１１３とによって実行される。
【００１７】
図２は、実施の形態１に係るＵＳＢホスト機器１００におけるインタフェース部１２０とホスト部１１０と内蔵ＵＳＢターゲット機器１３０との接続状態を概略的に示すブロック図である。図２に示されるように、インタフェース部１２０は、ＩＣ１２１と、ＩＣ１２１からの信号が出力されるデータ信号ラインＤ＋，Ｄ−と、データ信号ラインＤ＋，Ｄ−をグランドライン（ＧＮＤ）にプルダウンするプルダウン抵抗１２２，１２３とを有している。インタフェース部１２０の構成及び動作は、図９に示される従来のインタフェース部５２０の構成及び動作と同様である。
【００１８】
内蔵ＵＳＢターゲット機器１３０は、電圧源１３１と、プルアップ抵抗１３２と、ＵＳＢデバイスコントローラ１３３と、ＣＰＵ１３４とを有している。ＵＳＢターゲット機器１３０では、ロースピード、又は、フルスピード（若しくはハイスピード）のいずれの転送スピードで通信を行うかを定義するために、データ信号ラインＤ＋，Ｄ−のいずれかを、プルダウン抵抗１２２，１２３より十分小さな抵抗値のプルアップ抵抗（図２においては、抵抗１３２）を用いて電圧源１３１にプルアップする。ＵＳＢデバイスコントローラ１３３は、ＩＣ１２１からの信号が出力されるデータ信号ラインＤ＋，Ｄ−に接続されている。内蔵ＵＳＢターゲット機器１３０内のＣＰＵ１３４は、ＵＳＢデバイスコントローラ１３３を制御する。
【００１９】
図２に示されるように、ホスト部１１０は、ＣＰＵ１１１と、ＲＯＭ１１２と、ＲＡＭ１１３と、これらを接続するバス１１４とを有している。システム起動のためのプログラムは、ＲＯＭ１１２に格納されている。また、ホスト部１１０内のＣＰＵ１１１は、ＵＳＢホスト機器１００内の各構成の動作を制御すると共に、調査対象の内蔵ＵＳＢターゲット機器１３０のＵＳＢデバイスコントローラ１３３におけるリセット手段１３３ａに制御信号を与える。
【００２０】
ＵＳＢホスト機器１００のホスト部１１０によるシステム起動時（システム再起動時を含む）には、内蔵ＵＳＢターゲット機器及び外付けＵＳＢターゲット機器の区別無く、システムによって認識されたターゲット機器の順番に、デバイス識別子が割り当てられる。例えば、フラッシュメモリ型の内蔵ＵＳＢターゲット機器１３０が、Ｌｉｎｕｘ（Ｌｉｎｕｘは商標）のＯＳによって認識される場合には、“ｓｄａ”、“ｓｄｂ”、“ｓｄｃ”などのような名前のデバイス識別子が、各ＵＳＢターゲット機器に割り当てられる。各ターゲット機器は、ＯＳに認識される順番に名前が割り当てられるため、接続されているターゲット機器が１つだけのときには“ｓｄａ”が割り当てられるが、複数のターゲット機器が接続されているときには、いずれのデバイス識別子が割り当てられるか決まっていない。
【００２１】
また、内蔵ＵＳＢターゲット機器１３０以外にシリアルＡＴＡ（ＳＡＴＡ）規格に準拠した機器（例えば、ハードディスクや、ＳＣＳＩ規格のストレージ機器など）にも、同じ系列のデバイス識別子が割り当てられる。そのため、動的に変化するデバイス識別子を、ターゲット機器にアクセスするためのプログラムが正しく指定できるようにする仕組みを提供することが必要である。デバイス識別子は、例えば、システム起動時の情報を表示するコマンドであるｄｍｅｓｇコマンドを使って、システムが認識しているターゲット機器情報を調べることによって知ることができる。このターゲット機器情報には、デバイス識別子、Ｖｅｎｄｏｒ（メーカー名）、Ｍｏｄｅｌ（型名）、及び、情報記録ディスクの場合にはディスク容量などが含まれる。これらの情報から、デバイス識別子と内蔵ＵＳＢターゲット機器１３０との組み合わせを知ることは可能であるが、同じメーカーの、同じ型名（製品名）の、同じ容量のＵＳＢターゲット機器を複数接続している場合には、それらの区別がつかない場合がある。以下に説明する本発明の方法によれば、同一種類の複数のＵＳＢターゲット機器のデバイス識別子を区別することができる。
【００２２】
図３は、実施の形態１に係るＵＳＢホスト機器１００におけるデバイス識別子の取得方法（すなわち、実施の形態１に係るターゲット機器識別方法）を概略的に示すフローチャートである。ホスト機器１００におけるシステム起動時には、デバイス識別子と内蔵ＵＳＢターゲット機器１３０の対応関係は不明である。このため、ＵＳＢホスト機器１００のホスト部１１０は、対応関係を調べたい調査対象のターゲット機器（実施の形態１においては、内蔵ＵＳＢターゲット機器１３０）のＵＳＢデバイスコントローラ１３３のリセット手段１３３ａに制御信号を出力して、内蔵ＵＳＢターゲット機器１３０をリセット状態にする（ステップＳ１１）。リセット状態が保持されている間は、内蔵ＵＳＢターゲット機器１３０のデータ信号ラインＤ＋，Ｄ−が共にＬｏｗレベルとなるので、ＵＳＢホスト機器１００のホスト部１１０は、内蔵ＵＳＢターゲット機器１３０が接続されていない状態と認識する。このときに、ホスト部１１０は、インタフェース部１２０に接続されている内蔵及び外付けのＵＳＢターゲット機器の接続個数（第１の個数）を調べる（ステップＳ１２）。例えば、ＯＳがＬｉｎｕｘである場合には、「／ｐｒｏｃ／ｓｃｓｉ／ＵＳＢ−ｓｔｏｒａｇｅディレクトリ」に含まれるファイルの数から、システムによって認識されているターゲット機器の数を調べれば、インタフェース部１２０に接続されているＵＳＢターゲット機器の接続個数を知ることができる。例えば、現在認識されているＵＳＢターゲット機器が１つだけである場合には、「／ｐｒｏｃ／ｓｃｓｉ／ＵＳＢ−ｓｔｏｒａｇｅディレクトリ」に１つのファイルが存在する。
【００２３】
次に、ホスト部１１０内のＣＰＵ１１１から、内蔵ＵＳＢターゲット機器１３０内のＵＳＢデバイスコントローラ１３３のリセット手段１３３ａに制御信号を出力して、内蔵ＵＳＢターゲット機器１３０をリセット状態からリセット解除状態に切り替え（ステップＳ１３）、その後、リセット解除状態においてインタフェース部１２０に接続されている内蔵及び外付けのＵＳＢターゲット機器の接続個数（第２の個数）を調べる（ステップＳ１４）。システムによって調査対象の内蔵ＵＳＢターゲット機器１３０が正常に接続されたと認識されると、接続個数は変更される（リセット状態のときよりも１つ増える）。もしも、内蔵ＵＳＢターゲット機器１３０をリセット状態にし、その後リセット解除状態にする処理（リセット処理）を数回リトライしても、リセット状態のときの接続個数とリセット解除状態のときの接続個数とが同じである場合には（ステップＳ１５でＮＯ）、調査対象の内蔵ＵＳＢターゲット機器１３０が装着されていないか、又は、内蔵ＵＳＢターゲット機器１３０が正常に動作していない（故障など）と判断することができる。
【００２４】
リセット状態のときの接続個数とリセット解除状態のときの接続個数とが異なる場合（１つ接続個数が増えている場合）には（ステップＳ１５でＹＥＳ）、ホスト部１１０のＣＰＵ１１１は、システムログ情報から直近に認識されたデバイス識別子を取得する（ステップＳ１６）。例えば、システムログ情報が記録されている「／ｖａｒ／ｌｏｇ／ｍｅｓｓａｇｅｓファイル」を参照することによって、調査対象のＵＳＢターゲット機器が認識された時刻とデバイス識別子を取得することができる。
【００２５】
以上に説明したように、実施の形態１に係るターゲット機器認識装置及び方法によれば、システムがＵＳＢターゲット機器に割り当てたデバイス識別子を、ＵＳＢターゲット機器にアクセスするためのプログラムが自動認識できるので、ＵＳＢホスト機器１００のホスト部１１０で動作するプログラムがＵＳＢターゲット機器にアクセスできず、正常に動作しない事態を回避することができる。このように、注目する内蔵ＵＳＢターゲット機器１３０のデバイス識別子は、ホスト部１１０が実行するプログラムによって自動認識されるので、ユーザーがデバイス識別子を意識しなくても、プログラムは注目するターゲット機器に対するデータの読み出し及び書き込みを確実に行うことができる。
【００２６】
また、実施の形態１に係るターゲット機器認識装置及び方法においては、調査対象の内蔵ＵＳＢターゲット機器がリセット状態のときのＵＳＢターゲット機器の接続個数と調査対象の内蔵ＵＳＢターゲット機器がリセット解除状態のときのＵＳＢターゲット機器の接続個数とを比較して、接続個数に変化があったときの、システムログ情報から直近に追加されたデバイス識別子を調査対象のＵＳＢターゲット機器１３０のデバイス識別子と判定しているので、デバイス識別子の誤認識を防ぐことができる。
【００２７】
さらに、実施の形態１に係るターゲット機器認識装置及び方法は、ハードウェアの面では、ＵＳＢホスト機器１００のホスト部１１０内のＣＰＵ１１１から内蔵ＵＳＢターゲット機器１３０内のＵＳＢデバイスコントローラ１３３のリセット手段１３３ａを制御するように構成するだけで、実現できるので、追加の部品コストがほとんど必要ないという利点がある。
【００２８】
実施の形態２．
図４は、本発明の実施の形態２に係るターゲット機器識別装置（すなわち、実施の形態２に係るターゲット機器識別方法を実施する装置）としてのＵＳＢホスト機器２００とその周辺機器の構成を概略的に示すブロック図である。図４に示されるように、ＵＳＢホスト機器２００は、複数のＵＳＢターゲット機器が接続可能なインタフェース部２２０と、インタフェース部２２０に接続されたＵＳＢターゲット機器を制御するホスト部２１０と、インタフェース部２２０にＵＳＢ接続される内蔵ＵＳＢターゲット機器２３０と、インタフェース部２２０と内蔵ＵＳＢターゲット機器２３０との接続ラインをオン／オフするスイッチ２４０とを有している。スイッチ２４０は、ホスト部２１０からの制御信号を受信し、制御信号に基づいてオン／オフする。図４には、ＵＳＢホスト機器１００の周辺機器の一例として、インタフェース部２２０のポートにＵＳＢケーブルなどによって接続された外付けＵＳＢターゲット機器４０１，…，４０４と、ハブ４１１とが示されている。ただし、周辺機器の構成は図示の例に限定されない。
【００２９】
また、図４において、内蔵ＵＳＢターゲット機器２３０は、システムによって割り当てられたデバイス識別子を調査する調査対象のＵＳＢターゲット機器である。スイッチ２４０は、内蔵ＵＳＢターゲット機器２３０をホスト部２１０がインタフェース部２２０を経由して調査対象の内蔵ＵＳＢターゲット機器２３０を認識できない第１の状態（オフ状態）又はホスト部２１０がインタフェース部２２０を経由して調査対象のターゲット機器２３０を認識できる第２の状態（オン状態）いずれかに切り替える切り替え手段である。ホスト部２１０は、実施の形態１のホスト部１１０と同様に、インタフェース部２２０に接続されているＵＳＢターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、このシステムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、内蔵ＵＳＢターゲット機器２３０がリセット状態であるときのシステムログ情報と内蔵ＵＳＢターゲット機器２３０がリセット解除状態であるときのシステムログ情報とが異なるときに、デバイス識別子取得手段に、リセット解除状態におけるシステムログ情報において直近に認識されたデバイス識別子を調査対象のＵＳＢターゲット機器のデバイス識別子として取得させる制御手段とを有している。図４のホスト部２１０におけるログ手段、デバイス識別子取得手段、及び制御手段が実行する各動作は、後述する図５におけるＣＰＵ２１１とＲＯＭ２１２とＲＡＭ２１３とによって実行される。
【００３０】
図５は、実施の形態２に係るＵＳＢホスト機器２００におけるインタフェース部２２０とホスト部２１０と内蔵ＵＳＢターゲット機器２３０とスイッチ２４０との接続状態を概略的に示すブロック図である。図５に示されるように、インタフェース部２２０は、ＩＣ２２１と、データ信号ラインＤ＋，Ｄ−と、プルダウン抵抗２２２，２２３とを有している。インタフェース部２２０の構成及び動作は、図９に示される従来のインタフェース部５２０の構成及び動作と同様である。
【００３１】
内蔵ＵＳＢターゲット機器２３０は、電圧源２３１と、プルアップ抵抗２３２と、ＵＳＢデバイスコントローラ２３３と、ＣＰＵ２３４とを有している。ＩＣ２２１とＵＳＢデバイスコントローラ２３３との間にスイッチ２４０を配置し、２つのデータ信号ラインＤ＋，Ｄ−の接続及び切断をＣＰＵ２１１が制御する。内蔵ＵＳＢターゲット機器２３０の構成及び動作は、図９に示される従来のＵＳＢターゲット機器５３０の構成及び動作と同様である。
【００３２】
また、図５に示されるように、ホスト部２１０は、ＣＰＵ２１１と、ＲＯＭ２１２と、ＲＡＭ２１３と、これらを接続するバス２１４とを有している。システム起動のためのプログラムは、ＲＯＭ２１２に格納されており、ＣＰＵ２１１により実行される。
【００３３】
また、ホスト部２１０内のＣＰＵ２１１は、ＵＳＢホスト機器２００内の各構成の動作を制御すると共に、スイッチ２４０にオン／オフ制御のための制御信号を与える。なお、図５には、１つのＵＳＢターゲット機器のみを示しているが、内蔵ＵＳＢターゲット機器が複数存在してもよく、また、外付けの取り外し可能なＵＳＢターゲット機器が複数接続されていてもよい。
【００３４】
図６は、実施の形態２に係るＵＳＢホスト機器２００におけるデバイス識別子の取得方法（すなわち、実施の形態２に係るターゲット機器識別方法）を概略的に示すフローチャートである。ホスト機器２００におけるシステム起動時には、デバイス識別子と内蔵ＵＳＢターゲット機器２３０の対応関係は不明である。このため、ＵＳＢホスト機器２００のホスト部２１０は、対応関係を調べたい調査対象のターゲット機器（実施の形態２においては、内蔵ＵＳＢターゲット機器２３０）用のスイッチ２４０を切断状態にしておく。このときに、ホスト部２１０は、インタフェース部２２０に接続されている内蔵及び外付けのＵＳＢターゲット機器の接続個数（第１の個数）を調べる（ステップＳ２１）。次に、調査対象の内蔵ＵＳＢターゲット機器２３０用のスイッチ２４０をオンにすることによって、内蔵ＵＳＢターゲット機器２３０をホスト部２１０に接続する（ステップＳ２２）。次に、ホスト部２１０は、インタフェース部２２０に接続されている内蔵及び外付けのＵＳＢターゲット機器の接続個数（第２の個数）を調べる（ステップＳ２３）。内蔵ＵＳＢターゲット機器２３０の接続個数に変化があったかを調べ、変化が無かった場合には内蔵ＵＳＢターゲット機器２３０の接続に失敗しているので（ステップＳ２４でＮＯ）、スイッチ２４０を切断することにより、デバイス識別子調査対象の内蔵ＵＳＢターゲット機器２３０を切断状態にし（ステップＳ２６）、ステップＳ２１からの処理を再度実行する。内蔵ＵＳＢターゲット機器２３０が正しくシステムに認識された場合には（ステップＳ２４でＹＥＳ）、システムログ情報から直近に認識されたデバイス識別子を取得する（ステップＳ２５）。
【００３５】
以上に説明したように、実施の形態２に係るターゲット機器認識装置及び方法によれば、システムがＵＳＢターゲット機器に割り当てたデバイス識別子を、ＵＳＢターゲット機器にアクセスするためのプログラムが自動認識できるので、ＵＳＢホスト機器２００のホスト部２１０で動作するプログラムがＵＳＢターゲット機器にアクセスできず、正常に動作しない事態を回避することができる。このように、注目する内蔵ＵＳＢターゲット機器２３０のデバイス識別子は、ホスト部２１０が実行するプログラムによって自動認識されるので、ユーザーがデバイス識別子を意識しなくても、プログラムは注目するターゲット機器に対するデータの読み出し及び書き込みを確実に行うことができる。
【００３６】
また、実施の形態２に係るターゲット機器認識装置及び方法においては、スイッチ２４０が切断状態のときのＵＳＢターゲット機器の接続個数と接続状態のときのＵＳＢターゲット機器の接続個数とを比較して、接続個数に変化があったときの、システムログ情報から直近に追加されたデバイス識別子を調査対象のＵＳＢターゲット機器２３０のデバイス識別子と判定しているので、デバイス識別子の誤認識を防ぐことができる。
【００３７】
また、実施の形態２に係るターゲット機器認識装置及び方法においては、スイッチ２４０を用いているので、システム起動時（再起動時を含む）にシステムが他のＵＳＢターゲット機器の接続を認識し、デバイス識別子を割り当てたあとに、調査対象の内蔵ＵＳＢターゲット機器２３０の接続を行うことができ、システム起動後にスイッチ２４０を１回の接続状態に切り替えるという処理によって調査対象の内蔵ＵＳＢターゲット機器２３０のデバイス識別子を特定できる。
【００３８】
実施の形態３．
図７は、本発明の実施の形態３に係るターゲット機器識別装置（すなわち、実施の形態３に係るターゲット機器識別方法を実施する装置）としてのＵＳＢホスト機器３００とその周辺機器の構成を概略的に示すブロック図である。図７に示されるように、ＵＳＢホスト機器３００は、複数のＵＳＢターゲット機器が接続可能なインタフェース部３２０と、インタフェース部３２０に接続されたＵＳＢターゲット機器を制御するホスト部３１０と、インタフェース部３２０にＵＳＢ接続される内蔵ＵＳＢターゲット機器３３０と、インタフェース部３２０と内蔵ＵＳＢターゲット機器３３０との接続ラインをオン（接続）／オフ（切断）するスイッチ３４０とを有している。実施の形態３に係るＵＳＢホスト機器３００は、ホスト部３１０の動作を除き、実施の形態２に係るＵＳＢホスト機器２００と同じである。
【００３９】
図８は、実施の形態３に係るＵＳＢホスト機器３００におけるデバイス識別子の取得方法（すなわち、実施の形態３に係るターゲット機器識別方法）を概略的に示すフローチャートである。ＵＳＢホスト機器３００におけるシステム起動時には、デバイス識別子と内蔵ＵＳＢターゲット機器３３０の対応関係は不明である。このため、ＵＳＢホスト機器３００のホスト部３１０は、システム起動時には、対応関係を調べたい調査対象のターゲット機器（図７においては、内蔵ＵＳＢターゲット機器３３０）用のスイッチ３４０を切断状態にしておく。このときに、ＵＳＢホスト機器３００のホスト部３１０は、システムバッファ（図示せず）が保持するシステムログ情報を示すメッセージを表示させるコマンド、例えば、ｄｍｅｓｇコマンドを発行し、出力されるメッセージをホスト部３１０内のＲＡＭに保存する（ステップＳ３１）。次に、スイッチ３４０をオンにすることによって、調査対象の内蔵ＵＳＢターゲット機器３３０をホスト部３１０に接続させる（ステップＳ３２）。次に、ホスト部３１０は、システムバッファ（図示せず）が保持するシステムログ情報を示すメッセージを表示させるｄｍｅｓｇコマンドを再度発行し、出力されるメッセージと、ＲＡＭに保存されているメッセージとの差分を抽出する（ステップＳ３３）。ステップＳ３１とステップＳ３３で得られた情報に差分が無い場合（ステップＳ３４においてＮＯの場合）には、スイッチ３４０を切断した後（ステップＳ３６）、ステップＳ３１から始まるデバイス識別子取得処理を再度実行する。また、ステップＳ３１とステップＳ３３で得られた情報に差分がある場合（ステップＳ３４においてＹＥＳの場合）には、差分の情報の中にデバイス識別子が記述されているので、差分から新たに接続された内蔵ＵＳＢターゲット機器３３０のデバイス識別子を取得する。
【００４０】
以上に説明したように、実施の形態３に係るターゲット機器認識装置及び方法によれば、システムがＵＳＢターゲット機器に割り当てたデバイス識別子を、ＵＳＢターゲット機器にアクセスするためのプログラムが自動認識できるので、ＵＳＢホスト機器３００のホスト部３１０で動作するプログラムがＵＳＢターゲット機器にアクセスできず、正常に動作しない事態を回避することができる。このように、注目する内蔵ＵＳＢターゲット機器３３０のデバイス識別子は、ホスト部３１０が実行するプログラムによって自動認識されるので、ユーザーがデバイス識別子を意識しなくても、プログラムは注目するターゲット機器に対するデータの読み出し及び書き込みを確実に行うことができる。
【００４１】
また、実施の形態３に係るターゲット機器認識装置及び方法においては、内蔵ＵＳＢターゲット機器３３０の接続前後のｄｍｅｓｇコマンドに対するメッセージの差分からデバイス識別子を取得するようにしたのでＵＳＢターゲット機器３３０のデバイス識別子に加えて、例えば、プリンター、スキャナー、カメラなどのようなＵＳＢターゲット機器３３０の種類情報や装置名称などの機器固有の情報をも取得することができる。
【００４２】
なお、実施の形態３は、実施の形態２と同様のハードウェア構成を有する装置を前提に説明したが、実施の形態１と同様のハードウェア構成を有する装置にも適用可能である。
【符号の説明】
【００４３】
１００，２００，３００  ＵＳＢホスト機器、  １１０，２１０，３１０  ホスト部、  １１１，２１１  ホスト部内のＣＰＵ、  １１２，２１２  ＲＯＭ、  １１３，２１３  ＲＡＭ、  １１４，２１４  バス、  １２０，２２０，３２０  インタフェース部、  １２１，２２１  ＩＣ、  １２２，１２３，２２２，２２３  プルダウン抵抗、  １３０，２３０，３３０  内蔵ＵＳＢターゲット機器、  １３１，２３１  電圧源、  １３２，２３２  プルアップ抵抗、  １３３，２３３  ＵＳＢデバイスコントローラ、  １３３ａ  リセット手段、  １３４，２３４  内蔵ＵＳＢターゲット機器内のＣＰＵ、  ２４０  スイッチ、  ４０１，…，４０４  外付けＵＳＢターゲット機器、  ４１１  ハブ。
【図１】
2010267129.tif 000003
【図２】
2010267129.tif 000004
【図３】
2010267129.tif 000005
【図４】
2010267129.tif 000006
【図５】
2010267129.tif 000007
【図６】
2010267129.tif 000008
【図７】
2010267129.tif 000009
【図８】
2010267129.tif 000010
【図９】
2010267129.tif 000011