(57)【特許請求の範囲】
【請求項１】
１つ以上の機能を端末装置に提供する画像処理装置であって、
利用可能な前記機能を検出する検出手段と、
前記機能を利用する為に必要なデバイスドライバがインストールされている前記端末装置に、前記検出手段が検出した前記機能を表す情報を設定して通知する設定通知手段とを有し、
前記設定通知手段は、前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように設定して、前記端末装置に通知することを特徴とする画像処理装置。
【請求項２】
前記設定通知手段は、前記検出手段が検出した前記機能を表す情報を構成するインターフェイスを機能毎に設定する設定手段と、
前記設定手段が設定した前記機能を表す情報を前記端末装置に通知する通知手段と
を有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記設定通知手段は、前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように、削除された前記機能に対応する前記インターフェイスを設定して、前記端末装置に通知することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記通知手段が前記端末装置に通知する前記機能を表す情報は、ＵＳＢ（Universal Serial Ｂus）のプロトコル仕様で定義されている情報群であり、前記機能に関して操作手段を提供する論理的な通信経路の情報を含む前記機能毎のインターフェイスとして設定されていることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記設定通知手段はプラグインにより前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように設定して、前記端末装置に通知することを特徴とする請求項１乃至４何れか一項記載の画像処理装置。
【請求項６】
１つ以上の機能を端末装置に提供する画像処理装置のデバイスドライバ再インストール防止方法であって、
利用可能な前記機能を検出する検出ステップと、
前記機能を利用する為に必要なデバイスドライバがインストールされている前記端末装置に、前記検出ステップで検出した前記機能を表す情報を設定して通知する設定通知ステップとを有し、
前記設定通知ステップは、前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように設定して、前記端末装置に通知することにより前記端末装置でのデバイスドライバの再インストールを防止することを特徴とするデバイスドライバ再インストール防止方法。
【請求項７】
前記設定通知ステップは、前記検出ステップで検出した前記機能を表す情報を構成するインターフェイスを機能毎に設定する設定ステップと、
前記設定ステップで設定した前記機能を表す情報を前記端末装置に通知する通知ステップと
を有することを特徴とする請求項６記載のデバイスドライバ再インストール防止方法。
【請求項８】
前記設定通知ステップは、前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように、削除された前記機能に対応する前記インターフェイスを設定して、前記端末装置に通知することを特徴とする請求項７記載のデバイスドライバ再インストール防止方法。
【請求項９】
前記通知ステップが前記端末装置に通知する前記機能を表す情報は、ＵＳＢ（Universal Serial Ｂus）のプロトコル仕様で定義されている情報群であり、前記機能に関して操作手段を提供する論理的な通信経路の情報を含む前記機能毎のインターフェイスとして設定されていることを特徴とする請求項８記載のデバイスドライバ再インストール防止方法。
【請求項１０】
前記設定通知ステップはプラグインにより前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように設定して、前記端末装置に通知することを特徴とする請求項６乃至９何れか一項記載のデバイスドライバ再インストール防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びデバイスドライバ再インストール防止方法に係り、特に端末装置におけるデバイスドライバの再インストールを防止する画像処理装置及びデバイスドライバ再インストール防止方法に関する。
【背景技術】
【０００２】
例えば画像処理装置の一例としての複合機（ＭＦＰ）は、プリンタ機能やスキャナ機能等の１つ以上の機能を備えている。複合機は、その機能を端末装置の一例としてのホストＰＣに提供している。複合機の機能を利用するホストＰＣは、その機能を利用する為に必要なデバイスドライバがインストールされる。デバイスドライバがインストールされることにより、ホストＰＣはデバイスドライバに対応する機能を利用できるようになる。
【０００３】
例えばホストＰＣへのデバイスドライバのインストールは、プラグアンドプレイ機能により行われていた（特許文献１参照）。
【特許文献１】特開２００６−２５９８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複合機とホストＰＣとの接続は、例えばＵＳＢ（Universal Serial Bus）によって行われる。ＵＳＢによって複合機とホストＰＣとが接続されると、プラグアンドプレイ機能は必要に応じてデバイスドライバのインストール画面をホストＰＣに表示し、デバイスドライバの再インストールを行っていた。なお、プラグアンドプレイ機能は複合機からホストＰＣに通知される後述のディスクリプタ情報の構成が変わったときに、デバイスドライバの再インストールが必要と判定している。
【０００５】
図１は、複合機及びホストＰＣのプラグアンドプレイ機能について説明する為の説明図である。図１（Ａ）はＵＳＢ対応のプリンタ機能／スキャナ機能を備えた複合機１０とプリンタドライバ／スキャナドライバがインストールされたホストＰＣ２０とがＵＳＢ接続されている例を表している。
【０００６】
図１（Ａ）の複合機１０からプラグインによってスキャナ機能が削除されると、ディスクリプタ情報の構成は変化する。したがって、プラグアンドプレイ機能は、不要なデバイスドライバのインストール画面をホストＰＣ２０に表示してしまう。結果としてユーザは図１（Ｂ）のように不要なプリンタドライバの再インストールを行う必要があった。
【０００７】
このように、従来のホストＰＣ２０はインストール済みのプリンタドライバと同一のプリンタドライバを再度インストールしてしまうという問題があった。なお、同一のプリンタドライバを再度インストールすることなく、インストール済みのプリンタドライバを利用することもできるが、ユーザに設定の変更を行う為の専門知識が必要であるという問題があった。
【０００８】
本発明は、上記の点に鑑みなされたもので、端末装置における無駄なデバイスドライバの再インストールを防止する画像処理装置及びデバイスドライバ再インストール防止方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、１つ以上の機能を端末装置に提供する画像処理装置であって、利用可能な前記機能を検出する検出手段と、前記機能を利用する為に必要なデバイスドライバがインストールされている前記端末装置に、前記検出手段が検出した前記機能を表す情報を設定して通知する設定通知手段とを有し、前記設定通知手段は、前記機能が削除された場合、前記機能を表す情報を構成するインターフェイスの数を変えることなく、削除された前記機能をクラス無し（未指定）と認識するように設定して、前記端末装置に通知することを特徴とする。
【００１０】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、端末装置における無駄なデバイスドライバの再インストールを防止する画像処理装置及びデバイスドライバ再インストール防止方法を提供可能である。
【発明を実施するための最良の形態】
【００１２】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。まず、本実施例の理解を容易とするため、図１を参照しつつ、従来の複合機１０及びホストＰＣ２０のプラグアンドプレイ機能について詳細に説明する。
【００１３】
電源がＯＮされると、複合機１０は自機で利用可能なプリンタ機能及びスキャナ機能を検出し、そのプリンタ機能及びスキャナ機能を表すディスクリプタ情報を設定してホストＰＣ２０に通知する。ディスクリプタ情報とは、ＵＳＢのプロトコル仕様で定義されている情報群である。図１（Ａ）の例では、図２に示すようなディスクリプタ情報がホストＰＣ２０に通知される。
【００１４】
図２はディスクリプタ情報の一例の構成図である。図２のディスクリプタ情報は、プリンタクラスのインターフェイス（Interface）０と、スキャナクラスに相当するベンダー（Vendor）固有クラスのインターフェイス１とを有する構成である。インターフェイスとはプリンタ機能やスキャナ機能等のデバイスの機能に関して操作手段を提供する０以上のエンドポイント（EP）の集合である。ＵＳＢのプロトコル仕様上、インターフェイスは番号０から始まり、１，２，３，・・・と連続した番号でなければならない。また、エンドポイントとは、固有の機能単位でのＵＳＢホストとデバイスとを結ぶ論理的な通信経路のことである。
【００１５】
プラグアンドプレイ機能はディスクリプタ情報の構成が変わったか否かで、デバイスドライバの再インストールが必要か否かを判定する。ここでは、ディスクリプタ情報の構成が変わっていないため、プラグアンドプレイ機能がインストール画面をホストＰＣ２０に表示せず、デバイスドライバの再インストールを行わない。
【００１６】
その後、図１（Ｂ）のように複合機１０からスキャナ機能が削除されると、複合機１０は自機で利用可能なプリンタ機能を検出し、そのプリンタ機能を表すディスクリプタ情報を設定してホストＰＣ２０に通知する。図１（Ｂ）の例では、図３に示すようなディスクリプタ情報がホストＰＣ２０に通知される。図３はディスクリプタ情報の他の例の構成図である。図３のディスクリプタ情報はプリンタクラスのインターフェイス０を有する構成である。
【００１７】
プラグアンドプレイ機能は、図２のディスクリプタ情報と図３のディスクリプタ情報とを比較し、ディスクリプタ情報の構成が変わっているため、インストール画面をホストＰＣ２０に表示し、図１（Ｂ）に示すようにデバイスドライバの再インストールを行う。このように、従来の複合機１０及びホストＰＣ２０のプラグアンドプレイ機能ではディスクリプタ情報の構成が変わってしまうことにより無駄なデバイスドライバの再インストールが行われていた。
【００１８】
そこで、本実施例の複合機１０及びホストＰＣ２０のプラグアンドプレイ機能は図４に示すように複合機１０の機能がプラグインによって削除された場合、ディスクリプタ情報の構成を後述のように変えないようにした。
【００１９】
図４は、本実施例の複合機及びホストＰＣのプラグアンドプレイ機能について説明する為の説明図である。電源がＯＮされると、複合機１０は自機で利用可能なプリンタ機能及びスキャナ機能を検出し、そのプリンタ機能及びスキャナ機能を表す図２のディスクリプタ情報を設定してホストＰＣ２０に通知する。
【００２０】
プラグアンドプレイ機能はディスクリプタ情報の構成が変わったか否かで、デバイスドライバの再インストールが必要か否かを判定する。ここでは、ディスクリプタ情報の構成が変わっていないため、プラグアンドプレイ機能がインストール画面をホストＰＣ２０に表示せず、デバイスドライバの再インストールを行わない。
【００２１】
その後、図４（Ｂ）のように複合機１０からスキャナ機能が削除されると、複合機１０は自機で利用可能なプリンタ機能を検出し、そのプリンタ機能を表すディスクリプタ情報を設定してホストＰＣ２０に通知する。図４（Ｂ）の例では、図５に示すようなディスクリプタ情報がホストＰＣ２０に通知される。
【００２２】
図５はディスクリプタ情報の一実施例の構成図である。図５のディスクリプタ情報はプリンタクラスのインターフェイス０と、クラス無し（未指定）のインターフェイス１とを有する構成である。
【００２３】
プラグアンドプレイ機能は、図２のディスクリプタ情報と図５のディスクリプタ情報とを比較し、ディスクリプタ情報の構成が変わっていないため、インストール画面をホストＰＣ２０に表示しない。結果として、プラグアンドプレイ機能は図４（Ｂ）に示すようにデバイスドライバの再インストールを行わない。
【００２４】
このように、本実施例の複合機１０及びホストＰＣ２０のプラグアンドプレイ機能ではディスクリプタ情報の構成が変わっていないため、インストール済みのプリンタドライバの再インストールを防止することができ、インストール済みのプリンタドライバ（既存のプリンタドライバ）を利用することができる。
【００２５】
図６は複合機の一例のソフトウェア構成図である。図６の複合機１０は、プラグイン管理コンポーネント１１，ＵＳＢ関連コンポーネント１２，ｕｓｂデーモン１３及びＵＳＢデバイスドライバ１４を有する構成である。図６に示すソフトウェア構成の複合機１０の処理手順について図７を参照しつつ説明する。
【００２６】
図７は複合機の処理手順を示す一例のシーケンス図である。電源がＯＮされると、複合機１０のＵＳＢ関連コンポーネント１２はステップＳ１に進み、自機で利用可能なプリンタ機能及びスキャナ機能を検出し、プリンタ機能及びスキャナ機能が利用可能であることを表すアプリ起動情報をｕｓｂデーモン１３に通知する。アプリ起動情報には、例えば起動対象のアプリの情報が含まれる。
【００２７】
ステップＳ２に進み、ｕｓｂデーモン１３は通知されたアプリ起動情報をＵＳＢデバイスドライバ１４に通知する。ステップＳ３に進み、ｕｓｂデーモン１３は後述するように図２のディスクリプタ情報を設定し、ＵＳＢデバイスドライバ１４に通知する。ステップＳ４に進み、ＵＳＢデバイスドライバ１４は図２のディスクリプタ情報をＵＳＢ経由でホストＰＣ２０に通知する。
【００２８】
ステップＳ１０に進み、複合機１０はプラグイン利用者であるユーザによって自機からスキャナ機能が削除される。ステップＳ１１に進み、プラグイン管理コンポーネント１１はスキャナ機能が削除されたことをＵＳＢ関連コンポーネント１２に通知する。
【００２９】
ステップＳ１２に進み、ＵＳＢ関連コンポーネント１２は自機で利用可能なプリンタ機能を検出し、プリンタ機能が利用可能であることを表すアプリ起動情報をｕｓｂデーモン１３に通知する。
【００３０】
ステップＳ１３に進み、ｕｓｂデーモン１３は通知されたアプリ起動情報をＵＳＢデバイスドライバ１４に通知する。ステップＳ１４に進み、ｕｓｂデーモン１３は後述するように図５のディスクリプタ情報を設定し、ＵＳＢデバイスドライバ１４に通知する。ステップＳ１５に進み、ＵＳＢデバイスドライバ１４は図５のディスクリプタ情報をＵＳＢ経由でホストＰＣ２０に通知する。
【００３１】
このように、本実施例の複合機１０及びホストＰＣ２０のプラグアンドプレイ機能ではステップＳ４及びステップＳ１５でホストＰＣ２０に通知されるディスクリプタ情報の構成が変わっていないため、インストール済みのプリンタドライバの再インストールを防止することができ、インストール済みのプリンタドライバ（既存のプリンタドライバ）を利用することができる。
【００３２】
図８はｕｓｂデーモンの処理手順を示す一例のフローチャートである。ステップＳ２１に進み、ｕｓｂデーモン１３はｕｓｂデバイスドライバ１４との応答が可能となるようにデバイスオープンする。
【００３３】
ステップＳ２２に進み、ｕｓｂデーモン１３はＵＳＢ関連コンポーネント１２からアプリ起動情報を取得する。ステップＳ２３に進み、ｕｓｂデーモン１３は取得したアプリ起動情報をＵＳＢデバイスドライバ１４へ通知する。ステップＳ２４に進み、ｕｓｂデーモン１３はアプリ起動情報に基づき、起動しているアプリのチェックを行う。
【００３４】
プリンタ及びスキャナが起動していれば、ｕｓｂデーモン１３はステップＳ２５及びＳ２６に進み、ディスクリプタ情報のインターフェイス０のクラスを図２に示すプリンタクラスに設定すると共に、ディスクリプタ情報のインターフェイス１のクラスを図２に示すベンダー固有クラス（スキャナクラス）に設定する。
【００３５】
また、プリンタが起動していれば、ｕｓｂデーモン１３はステップＳ２７及びＳ２８に進み、ディスクリプタ情報のインターフェイス０のクラスを図２に示すプリンタクラスに設定すると共に、ディスクリプタ情報のインターフェイス１のクラスを図５に示すクラス無し（未指定）に設定する。
【００３６】
また、スキャナが起動していれば、ｕｓｂデーモン１３はステップＳ２９及びＳ３０に進み、ディスクリプタ情報のインターフェイス０のクラスをクラス無し（未指定）に設定すると共に、ディスクリプタ情報のインターフェイス１のクラスを図２に示すベンダー固有クラス（スキャナクラス）に設定する。
【００３７】
ディスクリプタ情報の設定が終わると、ｕｓｂデーモン１３は設定したディスクリプタ情報をＵＳＢデバイスドライバ１４に通知することで、ＵＳＢデバイスドライバ１４にインターフェイス０及び１のディスクリプタ情報を設定する。ステップＳ３２に進み、ｕｓｂデーモン１３は起動しているアプリの構成変更イベントを待つ。そして、ステップＳ３３に進み、ｕｓｂデーモン１３はｕｓｂデバイスドライバ１４との応答が不可となるようにデバイスクローズし、ステップＳ２１の処理に戻る。
【００３８】
図９は複合機にプリンタ機能及びスキャナ機能が搭載されているときのディスクリプタ情報の詳細図である。図１０はプリンタ機能及びスキャナ機能が搭載された複合機からスキャナ機能を削除したときのディスクリプタ情報の詳細図である。
【００３９】
図９に示すように、ディスクリプタ情報のインターフェイス０は、プリンタクラスと認識する為の値が設定されている。また、ディスクリプタ情報のインターフェイス１は、ベンダー固有クラス（スキャナクラス）と認識する為の値が設定されている。さらに、図１０に示すように、ディスクリプタ情報のインターフェイス１は、クラス無し（未指定）と認識する為の値が設定されている。
【００４０】
図９及び図１０に示すように、ディスクリプタ情報はプリンタクラス，ベンダー固有クラス（スキャナクラス），クラス無し（未指定）と認識する為の値を設定することで、それぞれのインターフェイスにプリンタクラス，ベンダー固有クラス（スキャナクラス），クラス無し（未指定）を設定できる。なお、ディスクリプタ情報のインターフェイスは、インターフェイスを個別に認識し、対応しているクラスや能力の情報が入っているデータ構造である。
【００４１】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００４２】
【図１】複合機及びホストＰＣのプラグアンドプレイ機能について説明する為の説明図である。
【図２】ディスクリプタ情報の一例の構成図である。
【図３】ディスクリプタ情報の他の例の構成図である。
【図４】本実施例の複合機及びホストＰＣのプラグアンドプレイ機能について説明する為の説明図である。
【図５】ディスクリプタ情報の一実施例の構成図である。
【図６】複合機の一例のソフトウェア構成図である。
【図７】複合機の処理手順を示す一例のシーケンス図である。
【図８】ｕｓｂデーモンの処理手順を示す一例のフローチャートである。
【図９】複合機にプリンタ機能及びスキャナ機能が搭載されているときのディスクリプタ情報の詳細図である。
【図１０】プリンタ機能及びスキャナ機能が搭載された複合機からスキャナ機能を削除したときのディスクリプタ情報の詳細図である。
【符号の説明】
【００４３】
１０    複合機
１１    プラグイン管理コンポーネント
１２    ＵＳＢ関連コンポーネント
１３    ｕｓｂデーモン
１４    ＵＳＢデバイスドライバ
２０    ホストＰＣ
【図１】
0005157600.tif 000002
【図２】
0005157600.tif 000003
【図３】
0005157600.tif 000004
【図４】
0005157600.tif 000005
【図５】
0005157600.tif 000006
【図６】
0005157600.tif 000007
【図７】
0005157600.tif 000008
【図８】
0005157600.tif 000009
【図９】
0005157600.tif 000010
【図１０】
0005157600.tif 000011