(57)【要約】【課題】ＵＳＢデバイスの構成情報が変わった場合であってもＵＳＢデバイスとの接続、機能の利用を行えるようにすることを目的とする。【解決手段】ＵＳＢデバイスの接続を検知する検知手段と、ＵＳＢデバイスから構成情報を取得する取得手段と、取得手段により取得された構成情報に含まれるインターフェース構成情報が、登録されているＵＳＢデバイスのインターフェース構成情報と異なる場合、ＵＳＢデバイスの登録済構成情報を削除する削除手段と、削除手段により登録済構成情報を削除されたＵＳＢデバイスの構成情報を、取得手段により取得された構成情報に基づき登録する登録手段と、を有することによって課題を解決する。【選択図】図２
2017142599.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢデバイスの接続を検知する検知手段と、
前記ＵＳＢデバイスから構成情報を取得する取得手段と、
前記取得手段により取得された構成情報に含まれるインターフェース構成情報が、登録されている前記ＵＳＢデバイスのインターフェース構成情報と異なる場合、前記ＵＳＢデバイスの登録済構成情報を削除する削除手段と、
前記削除手段により登録済構成情報を削除された前記ＵＳＢデバイスの構成情報を、前記取得手段により取得された構成情報に基づき登録する登録手段と、
を有する情報処理装置。
【請求項２】
前記取得手段により取得された構成情報に含まれるインターフェース構成情報と、登録されている前記ＵＳＢデバイスのインターフェース構成情報と、を比較する比較手段を更に有し、
前記削除手段は、前記比較手段による比較の結果、前記取得手段により取得された構成情報に含まれるインターフェース構成情報が、登録されている前記ＵＳＢデバイスのインターフェース構成情報と異なる場合、前記ＵＳＢデバイスの登録済構成情報を削除する請求項１記載の情報処理装置。
【請求項３】
前記比較手段による比較の結果、前記取得手段により取得された構成情報に含まれるインターフェース構成情報が、登録されている前記ＵＳＢデバイスのインターフェース構成情報と異なる場合、前記ＵＳＢデバイスの登録済構成情報を変更するか否かを問い合わせる画面を表示する表示手段を更に有し、
前記削除手段は、前記画面を介して変更する旨が選択された場合、前記ＵＳＢデバイスの登録済構成情報を削除する請求項２記載の情報処理装置。
【請求項４】
前記取得手段は、前記ＵＳＢデバイスの構成情報として、前記ＵＳＢデバイスのＶＩＤ、ＰＩＤ、ＳＩＤ、インターフェース番号、Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅ、ドライバ情報を取得し、
前記比較手段は、前記インターフェース構成情報として前記構成情報に含まれる前記インターフェース番号、及び前記Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅと、登録されている前記ＵＳＢデバイスのインターフェース番号、及びＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅと、を比較する請求項２又は３記載の情報処理装置。
【請求項５】
前記登録手段は、前記削除手段により登録済構成情報を削除された前記ＵＳＢデバイスの構成情報を、前記取得手段により取得された前記ＵＳＢデバイスのＶＩＤ、ＰＩＤ、ＳＩＤ、インターフェース番号、ドライバ情報に基づき登録する請求項４記載の情報処理装置。
【請求項６】
前記検知手段が接続を検知する前記ＵＳＢデバイスは、画像形成装置である請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
情報処理装置が実行する情報処理方法であって、
ＵＳＢデバイスの接続を検知する検知ステップと、
前記ＵＳＢデバイスから構成情報を取得する取得ステップと、
前記取得ステップにより取得された構成情報に含まれるインターフェース構成情報が、登録されている前記ＵＳＢデバイスのインターフェース構成情報と異なる場合、前記ＵＳＢデバイスの登録済構成情報を削除する削除ステップと、
前記削除ステップにより登録済構成情報を削除された前記ＵＳＢデバイスの構成情報を、前記取得ステップにより取得された構成情報に基づき登録する登録ステップと、
を含む情報処理方法。
【請求項８】
コンピュータを、請求項１乃至６何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェースを持つデバイスの一例としてＭＦＰがある。ＭＦＰは、ＨＯＳＴ  ＰＣと通信し、個体を正しく認識してもらうために、以下の３つのＩＤを保持している。１つは、デバイスの製造メーカを特定可能とするＵＳＢ  Ｖｅｎｄｏｒ  ＩＤ（以下、ＶＩＤ）である。もう１つは、製造メーカ内の個々の製品を特定可能とするＵＳＢ  Ｐｒｏｄｕｃｔ  ＩＤ（以下、ＰＩＤ）である。もう１つは、同一製品の中でＵｎｉｑｕｅなＩＤで各個体を識別可能とするＵＳＢ  Ｓｅｒｉａｌ  ＩＤ（以下、ＳＩＤ）である。また内部に複数機能を持つ１つのデバイス（例えば、プリンタとスキャナとを持つ複合機、以下、ＭＦＰという）は、インターフェース番号（以下、Ｉ／Ｆ番号）という概念でその機能をＨＯＳＴ  ＰＣに区別させている。
ＵＳＢデバイスのインターフェース番号構成を変更する技術として、特許文献１に、プリンタ、スキャナという複数機能を持つＵＳＢデバイスが、構成を変更する技術が開示されている。この特許文献１の技術は、ユーザがスキャナを利用せず、例えばプリンタのみを利用するような場合に効果を発する技術であり、ユーザが操作表示部から利用する機能を指定し、ＵＳＢインターフェース構成を変更するというものである。
この技術により、ＨＯＳＴ  ＰＣとＭＦＰとがＵＳＢケーブルで接続されていた場合、プリンタドライバのみＬｏａｄされ、利用しないスキャナドライバがＬｏａｄされずＨＯＳＴ  ＰＣに余計な負荷がかからなくなる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９９５２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザがＭＦＰを、最初、スキャナ機能を搭載しないプリンタモデルとして購入し、その後、スキャナ装置をオプション購入し、プリンタに設置し、ＭＦＰモデル化する場合がある。このような場合、ＨＯＳＴ  ＰＣは、ＭＦＰの構成情報の変更を適切に把握することができず、ＭＦＰとの接続、ＭＦＰの機能の利用を正常に行えなくなる場合があった。
本発明は、ＵＳＢデバイスの構成情報が変わった場合であってもＵＳＢデバイスとの接続、機能の利用を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、ＵＳＢデバイスの接続を検知する検知手段と、ＵＳＢデバイスから構成情報を取得する取得手段と、取得手段により取得された構成情報に含まれるインターフェース構成情報が、登録されているＵＳＢデバイスのインターフェース構成情報と異なる場合、ＵＳＢデバイスの登録済構成情報を削除する削除手段と、削除手段により登録済構成情報を削除されたＵＳＢデバイスの構成情報を、取得手段により取得された構成情報に基づき登録する登録手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、ＵＳＢデバイスの構成情報が変わった場合であってもＵＳＢデバイスとの接続、機能の利用を行えるようにすることができる。
【図面の簡単な説明】
【０００７】
【図１】ＨＯＳＴ  ＰＣのハードウェア構成を示す図である。
【図２】実施形態１のＨＯＳＴ  ＰＣの情報処理を示すフローチャートである。
【図３】実施形態２のＨＯＳＴ  ＰＣの情報処理を示すフローチャートである。
【図４】ダイアログを示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
まず、ＵＳＢデバイスと、ＨＯＳＴ  ＰＣ（ホストコンピュータ）におけるドライバとの関係を説明する。
ＭＦＰに装備される機能として、例えば、プリンタ機能、スキャン機能、そしてＭＦＰの使用時に使用される認証機能が存在する。プリンタ機能は、ＵＳＢとしては、ＵＳＢプリンタクラスのインターフェースとして宣言される。スキャン機能は、ＵＳＢとしては、ＵＳＢ  ベンダークラスのインターフェースとして宣言される。認証機能（例えば、カードリーダや、生体認証等の認証デバイス）は、ＵＳＢとしては、ＵＳＢベンダークラスのインターフェースとして宣言される。ＭＦＰは、画像形成装置の一例である。
以下に前述のＵＳＢプリンタクラスのインターフェースとベンダークラスのインターフェースとがＨＯＳＴ  ＰＣ上のドライバとどのようにハンドシェークするかを説明する。ＨＯＳＴ  ＰＣは、ＵＳＢケーブルでＭＦＰと接続された場合、まずＵＳＢ  Ｓｔａｎｄａｒｄ  Ｃｏｍｍａｎｄである  ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲコマンドを送信して、表１、表２に示す情報等をＭＦＰから取得する。表１のＶＩＤ（Ｔ１０１）は、ＭＦＰの製造メーカを特定するＩＤである。表１のＰＩＤ（Ｔ１０２）は、ＭＦＰの製品を特定するＩＤである。表１のＳＩＤ（Ｔ１０３）は、ＭＦＰの個体を特定するＩＤである。上述したように、ＶＩＤは、ＵＳＢ  Ｖｅｎｄｏｒ  ＩＤの略であり、ＰＩＤは、ＵＳＢ  Ｐｒｏｄｕｃｔ  ＩＤの略であり、ＳＩＤは、ＵＳＢ  Ｓｅｒｉａｌ  ＩＤの略である。
【表１】
2017142599.tif 000003
【表２】
2017142599.tif 000004
【００１０】
表２のＩ／Ｆ番号（Ｉ／Ｆ＃）０（Ｔ２０１）のＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅは、０ｘｆｆで、ＵＳＢ  Ｖｅｎｄｏｒ  ＣｌａｓｓのＩ／Ｆであることを示し、本製品の場合は、スキャナ機能を有するＩ／Ｆである。表２のＩ／Ｆ番号（Ｉ／Ｆ＃）１（Ｔ２０２）のＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅは、０ｘｆｆで、ＵＳＢ  Ｖｅｎｄｏｒ  ＣｌａｓｓのＩ／Ｆであることを示し、本製品の場合は、認証機能を有するＩ／Ｆである。表２のＩ／Ｆ番号（Ｉ／Ｆ＃）２（Ｔ２０３）のＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅは、０ｘ０７で、ＵＳＢ  Ｐｒｉｎｔｅｒ  ＣｌａｓｓのＩ／Ｆであることを示し、本製品の場合は、プリント機能を有するＩ／Ｆである。
ＨＯＳＴ  ＰＣ上には、事前にプリンタドライバ、スキャナドライバ、認証デバイスドライバがインストールせれているものとする。
ＨＯＳＴ  ＰＣは、ＵＳＢデバイスにプリンタクラスＩ／Ｆを持つことが分かると、追加でＵＳＢ  Ｐｒｉｎｔｅｒ  Ｃｌａｓｓ  Ｃｌａｓｓ−Ｓｐｅｃｉｆｉｃ  ＣｏｍｍａｎｄであるＧＥＴ＿ＤＥＶＩＣＥ＿ＩＤコマンドをＭＦＰに送信する。そして、ＨＯＳＴ  ＰＣは、ＭＦＰから表３の内容を含む情報を取得する。表３のＭＤＬ情報  （Ｔ３０１）は、ＩＥＥＥ  １２８４  Ｄｅｖｉｃｅ  ＩＤ  Ｓｔｒｉｎｇに含まれるモデル情報であり、本製品の場合  Ｐｒｉｎｔｅｒ−００１となる。プリンタドライバは、ＭＤＬ情報（Ｔ３０１）文字列とマッチした場合、ハンドシェークを行い、その情報をＨＯＳＴ  ＰＣ上の登録テーブルに、表４に示すＴ４０３のＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号（Ｉ／Ｆ＃）、ドライバ情報（Ｄｒｉｖｅｒ）を登録する。
【表３】
2017142599.tif 000005
【表４】
2017142599.tif 000006
【００１１】
Ｖｅｎｄｏｒ  Ｃｌａｓｓのドライバは、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ情報で得た表１、表２の情報を基にＶＩＤ、ＰＩＤ、Ｉ／Ｆ番号がマッチした場合、ハンドシェークを行う。Ｉ／Ｆ番号は、スキャナドライバは、０番、認証ドライバは、１番とＶｅｎｄｏｒ  Ｃｌａｓｓ  Ｄｒｉｖｅｒの場合は、Ｉ／Ｆ番号が固定となる。ハンドシェークを行った結果、スキャナドライバは、ＨＯＳＴ  ＰＣ上の登録テーブルに、表４に示すＴ４０１のＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号、ドライバ情報を登録する。ハンドシェークを行った結果、認証ドライバは、ＨＯＳＴ  ＰＣ上の登録テーブルに、表４に示すＴ４０２のＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号、ドライバ情報を登録する。
【００１２】
プリンタモデルでは、スキャナが存在せず、認証デバイスが存在するため、ＨＯＳＴ  ＰＣとのＵＳＢ接続時に返答するＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ情報は、表１、表５のようになる。
表１は、既に説明済のＶＩＤ、ＰＩＤ、ＳＩＤである。表５のＩ／Ｆ番号（Ｉ／Ｆ＃）１（Ｔ５０２）の  Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅは、０ｘｆｆで、ＵＳＢ  Ｖｅｎｄｏｒ  ＣｌａｓｓのＩ／Ｆであることを示し、本製品の場合は、認証機能を有するＩ／Ｆである。表５のＩ／Ｆ番号（Ｉ／Ｆ＃）０（Ｔ５０１）のＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅは、０ｘ０７で、ＵＳＢ  Ｐｒｉｎｔｅｒ  ＣｌａｓｓのＩ／Ｆであることを示し、本製品の場合は、プリント機能を有するＩ／Ｆである。ＵＳＢ仕様の規約でＵＳＢ  Ｉ／Ｆ番号は０オリジンで開始する必要性があるためＭＦＰは、プリンタＩ／ＦをＩ／Ｆ番号０とする。
【表５】
2017142599.tif 000007
【００１３】
ＨＯＳＴ  ＰＣは、ＵＳＢ  Ｐｒｉｎｔｅｒ  Ｃｌａｓｓが存在することを認識すると追加でＧＥＴ＿ＤＥＶＩＣＥ＿ＩＤコマンドを送信し、返答として表３に示すＭＤＬ情報を取得する。
プリンタモデルと接続したＨＯＳＴ  ＰＣは、表１、表３、表５で得た情報を基に、プリンタドライバは、ＨＯＳＴ  ＰＣ上の登録テーブルに、表６に示すＴ６０１のＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号、ドライバ情報を登録する。  同時に認証ドライバは、ＨＯＳＴ  ＰＣ上の登録テーブルに、表６に示すＴ６０２のＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号、ドライバ情報を登録する。
【表６】
2017142599.tif 000008
【００１４】
一度、表６に示す登録テーブルにＴ６０１及びＴ６０２のＵＳＢデバイスとホストドライバとのマッチング情報が記載された後、プリンタモデルにスキャナを搭載したＭＦＰモデルに変更になった場合、以下のような問題が生じる。
ＭＦＰモデルになっても個体が変わらないため、ＶＩＤ、ＰＩＤ、ＳＩＤを示す表１の情報は変わらない。一方、スキャナが加わることでＵＳＢインターフェース構成情報（ＵＳＢ構成情報）は、表２のようになる。表２（Ｔ２０１）に示すようにスキャナのＩ／Ｆ番号は０になる必要がある。ＵＳＢ  Ｖｅｎｄｏｒ  Ｃｌａｓｓとデバイスとのマッチングは、ＶＩＤ、ＰＩＤ、Ｉ／Ｆ番号を基にハンドシェークするため、予めベンダーの内部では、スキャナＩ／Ｆ番号は０と固定で機体ごとに変更することはできない。表２（Ｔ２０２）Ｉ／Ｆ番号１は、認証デバイスのＩ／Ｆである。表２（Ｔ２０３）のＩ／Ｆ番号２は、プリンタのＩ／Ｆとなる。
ＭＦＰがこのＵＳＢ構成情報のままＨＯＳＴ  ＰＣと接続された場合、ＨＯＳＴ  ＰＣは、表１で取得したＶＩＤ、ＰＩＤ、ＳＩＤが既に表６に示すように登録されているため、既に接続実績のあるデバイスと接続されたと判断して、登録情報を更新しない。そのためＨＯＳＴ  ＰＣは、プリント動作を行う際、表６に示す情報に従い、Ｉ／Ｆ番号０のインターフェースに対してプリントジョブを実行してしまう。しかし実際のＭＦＰでは、プリント機能のインターフェースは、Ｉ／Ｆ番号が２番になっているため、プリント動作が失敗してしまうという問題が発生する。
この状態を回避するためには、例えば、一度、ＨＯＳＴ  ＰＣ上の登録テーブルの該当項目を削除しなければいけないという手間が発生する。
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。以下では、ＵＳＢデバイスの一例としてＭＦＰを例に説明を行うが、ＵＳＢデバイスはＭＦＰに限定されるものではない。ＭＦＰは、画像形成装置の一例である。
【００１６】
＜実施形態１＞
図１は、ＨＯＳＴ  ＰＣのハードウェア構成の一例を示す図である。ＨＯＳＴ  ＰＣ１は、情報処理装置の一例である。
中央処理演算装置（以下、ＣＰＵ）１０１は、ＨＯＳＴ  ＰＣ１の全体を制御する。システムバス１０２は、ＣＰＵ１０１が、他のユニットにアクセスするため、及び、他のユニット同士アクセスする通路となる。ハードディスクユニット（以下  ＨＤＤ）１０３は、ＨＯＳＴ  ＰＣ１のプログラム、ＨＯＳＴ  ＰＣ１が動作する為に必要なデータベース、また一次保存ファイル等が格納される。図１では、ＨＤＤとの記載をしているが、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（以下  ＳＳＤ）や、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（以下  ＵＳＢ）メモリ等の他の大容量不揮発メモリでもよい。
Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（以下、ＲＡＭ）１０４は、ＨＯＳＴ  ＰＣ１のプログラムが展開され、ＣＰＵ１０１が処理を実行する際の変数や、各ユニットからＤｙｎａｍｉｃ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ（以下、ＤＭＡ）で転送されるデータの格納領域となる。
ＨＯＳＴ  ＰＣ１とＭＦＰとの通信を行うＵＳＢホスト・コントローラ１０７とＵＳＢ  ホスト  Ｉ／Ｆ１０８とが、システムバス１０２に接続される。ＨＯＳＴ  ＰＣ１は、ＵＳＢ  ホスト・コントローラ  Ｉ／Ｆ１０８とＵＳＢケーブルとを使用してＭＦＰと接続される。
【００１７】
これらの構成を基に、ＨＯＳＴ  ＰＣ１からは、ＵＳＢホスト・コントローラＩ／Ｆ１０８を介して、ＭＦＰのプリンタ、スキャナがＵＳＢデバイスとして見えることができるようになる。ＨＯＳＴ  ＰＣ１は、ネットワーク経由で他の機器と通信可能とするためＥｔｈｅｒｎｅｔ（登録商標）コントローラ１０５を介し、Ｅｔｈｅｒｎｅｔ  Ｉ／Ｆ１０６を有する。
ＨＯＳＴ  ＰＣ１の操作をユーザ等が確認できるように表示するディスプレイ１１０は、ディスプレイに表示制御を行うディスプレイコントローラ１０９を介して外部に接続される。また、ＨＯＳＴ  ＰＣ１は、ユーザからの指示を受け付ける入力部１１２と、入力部１１２を制御する入力部コントローラ１１１と、を有する。入力部１１２はより具体的にはキーボードやマウスや、１０キー、カーソルキー、タッチパネルや、操作部キーボードといった入力システムである。
ＣＰＵ１０１が、ＨＤＤ１０３等に記憶されたプログラムに基づきＲＡＭ１０４等を用いて処理を実行することによりＨＯＳＴ  ＰＣ１の機能及び後述する図２、３のフローチャートの処理が実現される。
ＭＦＰも少なくともハードウェア構成として、ＣＰＵとメモリと通信Ｉ／Ｆとを含む。ＭＦＰのＣＰＵがＭＦＰのメモリに記憶されているプログラムに基づき処理を実行することにより、ＭＦＰの機能等が実現される。
【００１８】
次に、図２のフローチャートを用いて実施形態１のＨＯＳＴ  ＰＣ１の情報処理の一例を説明する。
Ｓ２０１において、ＣＰＵ１０１は、ＵＳＢホスト・コントローラ１０７からのＵＳＢデバイスのプラグイン割り込みを監視する。ＣＰＵ１０１は、ＵＳＢデバイスのプラグインを検知した場合、Ｓ２０２に処理を進め、ＵＳＢデバイスのプラグインを検知しない場合、Ｓ２０１の処理を繰り返す。
Ｓ２０２において、ＣＰＵ１０１は、接続されたＵＳＢデバイスにＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲコマンドを送信する。
Ｓ２０３において、ＣＰＵ１０１は、ＵＳＢデバイスからＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲコマンドの返答を待つ。ＣＰＵ１０１は、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲコマンドの返答情報を受信した場合、Ｓ２０４に処理を進め、返答情報を受信しない場合、Ｓ２０３の処理を繰り返す。
Ｓ２０４において、ＣＰＵ１０１は、返答情報のＶＩＤ、ＰＩＤ、ＳＩＤと、登録済構成情報（表４に示すような登録テーブルの情報）と、を比較する。より具体的には、ＣＰＵ１０１は、返答情報のＶＩＤ、ＰＩＤ、ＳＩＤが既に接続実績のあるＩＤかどうかを、登録テーブルに存在するか否かに基づき判定する。ＶＩＤ、ＰＩＤ、ＳＩＤ、インターフェース番号、デバイスに紐付いたＨＯＳＴドライバ、が登録されているテーブル（以下、ＵＳＢ登録テーブル）は、ＨＯＳＴ  ＰＣ１のＨＤＤ１０３等の不揮発な領域に記憶されている。ＣＰＵ１０１は、返答情報のＶＩＤ、ＰＩＤ、ＳＩＤがＵＳＢ登録テーブルに登録されている場合は、Ｓ２０１でプラグインを検知したＵＳＢデバイスは既に登録済みデバイスであると判定する。ＣＰＵ１０１は、登録済みデバイスであると判定した場合、Ｓ２０５に処理を進め、登録済みデバイスでないと判定すると、Ｓ２０７に処理を進める。
【００１９】
Ｓ２０５において、ＣＰＵ１０１は、Ｓ２０３で取得したＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲコマンドの返答情報のＩ／Ｆ構成情報が登録済構成情報等と相違ないか否かを判定する。より具体的説明すると、ＣＰＵ１０１は、返答情報のＩ／Ｆ番号及びＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅと、既に登録済のＵＳＢ登録テーブルのＩ／Ｆ番号及びＩ／Ｆ番号と対応付けられているＤｅｖｉｃｅ  Ｃｌａｓｓ  Ｃｏｄｅと、に相違が無いか判定する。ＣＰＵ１０１は、相違が有る場合、処理をＳ２０６に進め、相違がない場合、図２に示すフローチャートの処理を終了する。
Ｓ２０６において、ＣＰＵ１０１は、Ｓ２０３で取得した今回のＰｌｕｇ  ａｎｄ  Ｐｌａｙで得たＶＩＤ、ＰＩＤ、ＳＩＤに基づいて、登録済みのＵＳＢ登録テーブルから前記ＶＩＤ、ＰＩＤ、ＳＩＤに対応する情報を一旦削除する。前記ＶＩＤ、ＰＩＤ、ＳＩＤに対応する情報とは、前記ＶＩＤ、ＰＩＤ、ＳＩＤと、これらに対応するＩ／Ｆ番号、ドライバ情報である。
Ｓ２０８において、ＣＰＵ１０１は、新たにＨＯＳＴ  ドライバ情報の紐付けを行い、Ｓ２０３で取得した今回のＰｌｕｇ  ａｎｄ  Ｐｌａｙで得たＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号と、ドライバ情報とをＵＳＢ登録テーブルに登録する。
一方、Ｓ２０７において、ＣＰＵ１０１は、未登録デバイスであることが判断されると、新たにＨＯＳＴ  ドライバ情報の紐付けを行う。そして、ＣＰＵ１０１は、Ｓ２０３で取得した今回のＰｌｕｇ  ａｎｄ  Ｐｌａｙで得たＶＩＤ、ＰＩＤ、ＳＩＤ、Ｉ／Ｆ番号、ドライバ情報を新規にＵＳＢ登録テーブルに登録する。
【００２０】
図２のフローチャートで示した情報処理をより具体的なケースに紐付けて説明する。スキャナが存在しない認証機能を持つプリンタモデルのＭＦＰのＵＳＢデバイスのＩ／Ｆ構成は、表７にようになる。
【表７】
2017142599.tif 000009
表７のＴ７０１は、Ｉ／Ｆ番号０が、Ｐｒｉｎｔｅｒ機能のＩ／Ｆで、ＵＳＢ  Ｐｒｉｎｔｅｒ  Ｃｌａｓｓで動作すること表すＣｌａｓｓコード０ｘ０７であることを示している。表７のＴ７０２は、Ｉ／Ｆ番号１が、認証機能のＩ／Ｆで、ＵＳＢ  Ｖｅｎｄｏｒ  Ｃｌａｓｓで動作すること表すＣｌａｓｓコード０ｘｆｆであることを示している。この状態でＭＦＰとＨＯＳＴ  ＰＣ１とがはじめてＵＳＢケーブルで接続されると、ＨＯＳＴ  ＰＣ１に表６に示すようなＵＳＢ登録テーブルが作成され、保持される。
【００２１】
同一のＭＦＰにスキャナが搭載された場合、スキャナと認証機能とを持つＭＦＰのＵＳＢデバイスのＩ／Ｆ構成は表８にように変更される。
【表８】
2017142599.tif 000010
表８のＴ８０１は、Ｉ／Ｆ番号０が、Ｓｃａｎ機能のＩ／Ｆで、ＵＳＢ  Ｖｅｎｄｏｒ  Ｃｌａｓｓで動作すること表すＣｌａｓｓコード０ｘｆｆであることを示している。表８のＴ８０２は、Ｉ／Ｆ番号１が、認証機能のＩ／Ｆで、ＵＳＢ  Ｖｅｎｄｏｒ  Ｃｌａｓｓで動作すること表すＣｌａｓｓコード０ｘｆｆであることを示している。表８のＴ８０３は、Ｉ／Ｆ番号２が、Ｐｒｉｎｔｅｒ機能のＩ／Ｆで、ＵＳＢ  Ｐｒｉｎｔｅｒ  Ｃｌａｓｓで動作すること表すＣｌａｓｓコード０ｘ０７であることを示している。
表７の状態のＭＦＰとの接続実績があるＨＯＳＴ  ＰＣ１のＵＳＢ登録テーブルは、表６のようになっている。しかし、ＨＯＳＴ  ＰＣ１は、表８の状態のＭＦＰと接続されると、Ｉ／Ｆ構成情報が異なるためＳ２０６の処理で行ったＵＳＢ登録テーブルの削除とＳ２０８の処理で行ったＵＳＢ登録テーブルへの新規追加登録とを行い、ＵＳＢ登録テーブルは表４のようになる。
【００２２】
本実施形態の処理によれば、ＭＦＰが表７に示すようなＵＳＢ  Ｉ／Ｆ構成から表８に示すようなＵＳＢ  Ｉ／Ｆ構成に変更になっても、ユーザがＵＳＢ登録テーブルを手動更新しなくても、ＨＯＳＴ  ＰＣ１は、ＭＦＰの機能を使用できる。
【００２３】
＜実施形態２＞
実施形態１は、ＵＳＢ  Ｉ／Ｆ構成が変更になったＵＳＢデバイスが接続された場合、ＨＯＳＴ  ＰＣ側が自動的に新しいＵＳＢ  Ｉ／Ｆ構成に基づき、ＵＳＢ登録情報を更新するものであった。
実施形態２では、ＵＳＢ登録情報の更新の可否をユーザに委ねる例を説明する。
次に、図３のフローチャートを用いて実施形態２のＨＯＳＴ  ＰＣ１の情報処理の一例を説明する。
Ｓ３０１からＳ３０５までの処理は、Ｓ２０１からＳ２０５までの処理と同様であるため、説明を省略する。
ＣＰＵ１０１は、Ｓ３０５で相違が有ると判定した場合、処理をＳ３０６に進める。
Ｓ３０６において、ＣＰＵ１０１は、ユーザにＵＳＢ登録テーブルの内容を変更してよいか、否かの判断を促すため、図４に示すダイアログをディスプレイ１１０画面上に表示をする。Ｓ３０６のダイアログには、ユーザが変更する、しない、を選択するため"はい"、"いいえ"のボタンが用意されている。図４に示すダイアログは、登録済構成情報を変更するか否かを問い合わせる画面の一例である。
Ｓ３０７において、ＣＰＵ１０１は、ダイアログを介したユーザの選択操作に応じて、登録済み構成情報を変更するか否かを判定する。ＣＰＵ１０１は、変更すると判定した場合、処理をＳ３０８に進め、変更しないと判定した場合、図３に示すフローチャートを終了する。ＣＰＵ１０１は、"はい"のボタンが選択された場合、変更すると判定し、"いいえ"のボタンが選択された場合、変更しないと判定する。
Ｓ３０８からＳ３１０までの処理は、Ｓ２０６からＳ２０８までの処理と同様であるため、説明を省略する。
【００２４】
図３のフローチャートで示した情報処理をより具体的なケースに紐付けて説明する。スキャナが存在しない認証機能を持つプリンタモデルのＭＦＰのＵＳＢデバイスのＩ／Ｆ構成は、表７にようになる。
この状態でＭＦＰとＨＯＳＴ  ＰＣ１とがはじめてＵＳＢケーブルで接続されると、ＨＯＳＴ  ＰＣ１に表６に示すようなＵＳＢ登録テーブルが作成され、保持される。
同一のＭＦＰにスキャナが搭載された場合、スキャナと認証機能とを持つＭＦＰのＵＳＢデバイスのＩ／Ｆ構成は表８にように変更される。
表７の状態のＭＦＰとの接続実績があるＨＯＳＴ  ＰＣ１のＵＳＢ登録テーブルは、表６のようになっている。しかし、ＨＯＳＴ  ＰＣ１は、表８の状態のＭＦＰと接続されると、Ｉ／Ｆ構成情報が異なるため、Ｓ３０６の処理で、ダイアログを表示する。ダイアログにおいて登録済み構成情報を変更する旨が選択されると、ＨＯＳＴ  ＰＣ１は、Ｓ３０８の処理で行ったＵＳＢ登録テーブルの削除とＳ３１０の処理で行ったＵＳＢ登録テーブルへの新規追加登録とを行い、ＵＳＢ登録テーブルは表４のようになる。
【００２５】
本実施形態の処理によれば、ＭＦＰが表７に示すようなＵＳＢ  Ｉ／Ｆ構成から表８に示すようなＵＳＢ  Ｉ／Ｆ構成に変更になっても、ユーザは、登録構成情報の変更を選択するだけで、ＨＯＳＴ  ＰＣ１のＵＳＢ登録テーブルを更新することができる。したがって、ＨＯＳＴ  ＰＣ１は、ＭＦＰの機能を使用できる。
【００２６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、図１に示したＨＯＳＴ  ＰＣ１のハードウェア構成は一例であり、ＨＯＳＴ  ＰＣ１は、複数のＣＰＵやディスプレイ等を有していてもよい。
【００２８】
以上、上述した各実施形態によれば、ＵＳＢデバイスの構成情報が変わった場合であってもＵＳＢデバイスとの接続、機能の利用を行えるようにすることができる。
【符号の説明】
【００２９】
１      ＨＯＳＴ  ＰＣ
１０１  ＣＰＵ
１０３  ＨＤＤ
【図１】
2017142599.tif 000011
【図２】
2017142599.tif 000012
【図３】
2017142599.tif 000013
【図４】
2017142599.tif 000014