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