(57)【要約】【課題】  複数のソフトウェアでデバイスを制御可能である場合のユーザの利便性を向上させた情報処理装置、情報処理方法、及びプログラムを提供する。【解決手段】  情報処理装置に、デバイスを制御可能な第１のソフトウェア及びデバイスを制御可能な第２のソフトウェアがインストールされている場合に、インストールされた第１のソフトウェア及び第２のソフトウェアのいずれによりデバイスの制御を行うかを判定する。デバイスの制御が第１のソフトウェアで行うと判定された場合、前記第１のソフトウェアによるデバイスの制御を選択する。【選択図】  図６
2015022509.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置に、デバイスを制御可能な第１のソフトウェア及び前記デバイスを制御可能な第２のソフトウェアがインストールされている場合に、前記インストールされた第１のソフトウェア及び第２のソフトウェアのいずれによりデバイスの制御を行うかを判定する判定手段と、
前記判定手段によりデバイスの制御が第１のソフトウェアで行うと判定された場合、前記第１のソフトウェアによるデバイスの制御を選択する選択手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記選択手段は、前記判定手段によりデバイスの制御が第１のソフトウェアで行うと判定された場合、第２のソフトウェアによるデバイスの制御を設定できないようにすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、前記判定手段によりデバイスの制御が第１のソフトウェアで行うと判定された場合、第２のソフトウェアによるデバイスの制御を非表示とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記選択手段は、前記判定手段によりデバイスの制御が第１のソフトウェアで行うと判定された場合、第１のソフトウェアで行うように促す警告をすることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記選択手段は、第２のソフトウェアが第１のソフトウェアを起動して第１のソフトウェアの設定を表示することを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１のソフトウェア及び前記第２のソフトウェアのうちいずれか一方がサポートするプロトコルが前記デバイスでサポートされない場合に、他方のソフトウェアで設定を行うと判定することを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判定手段は、前記第１のソフトウェア及び前記第２のソフトウェアのうちいずれか一方で対象の機種がサポートされていない場合に、他方のソフトウェアで設定を行うと判定することを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記判定手段は、前記第１のソフトウェア及び前記第２のソフトウェアのうちいずれか一方がインストールされていない場合に、他方のソフトウェアで設定を行うと判定することを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記判定手段は、前記第１のソフトウェア及び前記第２のソフトウェアのうちより高機能なソフトウェアで設定を行うと判断することを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記判定手段は、前記第１のソフトウェア及び前記第２のソフトウェアのうち先にデバイスに登録されたソフトウェアで設定を行うと判断することを特徴とする請求項１〜９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記情報処理装置に、デバイスを制御可能な第１のソフトウェア及び前記デバイスを制御可能な第２のソフトウェアがインストールされている場合に、インストールされた第１のソフトウェア及び第２のソフトウェアのいずれによりデバイスの制御を行うかを判定する判定工程と、
前記判定手段によりデバイスの制御が第１のソフトウェアで行うと判定された場合、前記第１のソフトウェアによるデバイスの制御を選択する選択工程と、
を備えることを特徴とする情報処理方法。
【請求項１２】
請求項１〜１０のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアによりデバイスを制御するための情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェアの機能をアップグレードする場合やソフトウェアの改善などのためソフトウェアをバージョンアップしてリリースする際、同じ名称でソフトウェアをバージョンアップして古いバージョンを上書きする方法が知られている。ソフトウェアを上書きした場合、古いバージョンのソフトウェアの操作性などになれたユーザにとって使い勝手が悪くなってしまうことがある。
【０００３】
一方、オペレーティングシステム（以降、ＯＳと呼ぶ）やプログラム間の通信プロトコルの制限により、新しいバージョンで上書きすることができない場合がある。たとえば、スキャナ用の通信プロトコルには、ＴＷＡＩＮ（Ｔｅｃｈｎｏｌｏｇｙ  Ｗｉｔｈｏｕｔ  Ａｎ  Ｉｎｔｅｒｅｓｔｉｎｇ  Ｎａｍｅ）やＷＩＡ（Ｗｉｎｄｏｗｓ（登録商標）  Ｉｍａｇｅ  Ａｃｑｕｉｓｉｔｉｏｎ）などの規格がある。そして、ＴＷＡＩＮプロトコルに対応したソフトウェアをＷＩＡプロトコルに変更する場合がある。しかしながら、ＴＷＡＩＮとＷＩＡプロトコルにおいて全く同じ機能を実現できないことがある。したがって、ソフトウェアを上書きしてバージョンアップするのではなく、ソフトウェアの名称を変更するなどして他のソフトウェアとして提供することがある。このとき、古いバージョンのソフトウェアと新しいバージョンのソフトウェアをＯＳ上に存在させることが可能である。さらに、新旧のソフトウェアがデバイスを制御するようなソフトウェアである場合、新旧のソフトウェアで１つのデバイスを制御できるケースも存在する。
【０００４】
２つのソフトウェアがＯＳ上に共存する環境において、各プログラムのバージョンや識別子に関する情報を構成ファイルとして構築し、その構成ファイルを参照して呼び出し元のプログラムに対応するバージョンのプログラムを自動で切り換える方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２９３３７７
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、昨今のＯＳの中にはサンドボックス技術が導入されているものがあり、サンドボックスに対応したソフトウェアでは他のソフトウェアの設定ファイルを参照することができなくなっている。サンドボックス技術は、システムが不正に操作されるのを防止してセキュリティの高いシステムを提供するための技術である。ソフトウェアをサンドボックス対応するとシステムで保護された領域内での動作に制限され、他のソフトウェアの設定ファイルにアクセスすることができなくなる。このようにサンドボックスに対応したソフトウェアでは、前述した従来技術のように他のソフトウェアの設定を参照することができない。また、サンドボックス環境では、特許文献１に記載の方法のように複数のプログラムに関する情報を１つの構成ファイルとして構築することが困難である。
【０００７】
本発明は上述した事情に鑑み、複数のソフトウェアでデバイスを制御可能である場合のユーザの利便性を向上させた情報処理装置、情報処理方法、及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
上述のような課題を解決するための本発明の情報処理装置は、前記情報処理装置に、デバイスを制御可能な第１のソフトウェア及び前記デバイスを制御可能な第２のソフトウェアがインストールされている場合に、前記インストールされた第１のソフトウェア及び第２のソフトウェアのいずれによりデバイスの制御を行うかを判定する判定手段と、前記判定手段によりデバイスの制御が第１のソフトウェアで行うと判定された場合、前記第１のソフトウェアによるデバイスの制御を選択する選択手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
複数のソフトウェアでデバイスを制御可能である場合、複数のソフトウェアを共存させつつ、１つのソフトウェアで設定可能とし、他のソフトウェアで設定をさせないようにすることで、ユーザが混乱することなくデバイスの制御をすることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る情報処理システムを示すブロック図である。
【図２】実施形態１に係るシステム構成のイメージ図である。
【図３】ソフトウェアに係る第１のデバイス制御画面である。
【図４】ソフトウェアに係る第２のデバイス制御画面である。
【図５】実施形態１に係るソフトウェアのＵＩ画面の設定処理のフローチャートである。
【図６】実施形態１に係るソフトウェアのＵＩ画面の設定処理における判定処理のフローチャートである。
【図７】実施形態２に係るソフトウェアのＵＩ画面の設定処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
（実施形態１）
図１は、実施形態１に係る情報処理システムのハードウェア構成を示す図である。本実施形態に係る情報処理システムは、ホストコンピュータ２０と、画像読取装置１０とを備えている。
【００１３】
ホストコンピュータ２０（以下、コンピュータ２０ともいう）は、画像読取装置１０に操作コマンドを発行し、画像読取装置１０から画像データを取得できるホストコンピュータである。
【００１４】
コンピュータ２０は、ハードウェア資源として、通信インターフェース２１、表示装置２２、入力装置２３、補助記憶装置２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７を有する。コンピュータ２０は、汎用的なパーソナルコンピュータを採用可能である。
【００１５】
通信インターフェース２１は、ネットワークにより周辺装置との間でデータの送受信を行う。
【００１６】
表示装置２２は、コンピュータ２０にインストールされているソフトウェアに基づき、画像読取装置１０を操作するための各種ユーザインターフェース（ＵＩ）など種々の情報を表示する。
【００１７】
入力装置２３は、キーボード、ポインティングデバイス等で実現され、ユーザからの操作を示す情報を入力する。補助記憶装置２４は、内蔵又は外付けのハードディスク等で実現され、画像読取装置１０の制御プログラムなど画像読取装置１０の動作に関わる各種情報を記憶する。
【００１８】
ＣＰＵ２５は、補助記憶装置２４やＲＯＭ２６に記憶されている各種プログラムを、ＲＡＭ２７にロードし、それを実行することでコンピュータ２０の動作を制御する。
【００１９】
ＲＯＭ２６は、コンピュータ２０を動作させるための各種プログラムや各種情報を記憶する。例えば、ＢＩＯＳなどの基本ソフトウェアを格納している。
【００２０】
ＲＡＭ２７は、ＣＰＵ２５のワークエリアとして使用されるほか、ソフトウェアや各種情報を一時的に記憶する。
【００２１】
画像読取装置１０は、ハードウェア資源として、通信インターフェース１１、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、スキャナエンジン１５、操作パネル１６を有する。通信インターフェース１１は、ネットワークを介してコンピュータ２０との間でデータの送受信を行う。ＣＰＵ１２は、ＲＯＭ１３に記憶されている画像読取装置１０の制御プログラムを、ＲＡＭ１４にロードし、それを実行することで画像読取装置１０の動作を制御する。ＲＯＭ１３は制御プログラムのほか、画像読取装置１０の動作に必要なパラメータ等も記憶する。ＲＡＭ１４はＣＰＵ１２のワークエリアとして使用されるほか、画像読取装置１０の状態情報や画像データの一時記憶領域等としても使用される。
【００２２】
スキャナエンジン１５は、原稿に光を照射する光源やその反射光を読み取り、光電変換するＣＣＤカラーイメージセンサ等を含む。画像読取装置１０の原稿台に置かれた原稿上をスキャナエンジン１５により走査させて原稿上の画像を読み取り、読み取られた画像に応じた画像データが生成される。操作パネル１６は、画像読取装置１０の状態やユーザによる作業のためのメニューを表示する表示部と、ユーザが読取開始指示を含む種々の操作を行うハードキーを含む。操作パネル１６はタッチパネル等、他の形態としてもよい。
【００２３】
また、ここでは画像読取装置１０を、スキャナ専用機を例に示したが、これにプリンタなど他の機能をさらに付加したマルチファンクション機としてもよい。また、原稿上の画像を読み取る際、原稿台上に原稿を置いて走査するものとしたが、原稿搬送機構を設け、スキャナエンジン１５を固定させて、原稿の搬送により走査するようにしてもよい。また、画像読取装置１０からの読み取り開始のための操作としては、操作パネル１６を用いるものに代え、読取対象の原稿が画像読取装置１０にセットされたことを検知した場合に、それをコンピュータ２０に通知するものとしてもよい。また、画像読取装置１０は、ＣＰＵ１２を持たないものとし、コンピュータ２０からの制御でスキャナエンジン１５を動作させるものとしてもよい。またカラースキャナに代えて、モノクロスキャナとしてもよいし、フィルムを読み取るフィルムスキャナとしてもよい。
【００２４】
また、本実施形態の情報処理システムでは、コンピュータ２０と画像読取装置１０とをネットワークにより接続するものとしたが、これに限定されず、ＵＳＢにより接続し、ＵＳＢ規格に従って周辺装置との間でデータの送受信を行うようにしてもよい。
【００２５】
図２は、本実施形態に係るシステム構成のイメージ図である。ホストコンピュータ２０は、ＯＳ２０２、第１のソフトウェア２０３、及び第２のソフトウェア２０４、判断手段２０７を備える。
【００２６】
第１のソフトウェア２０３は第１の設定手段２０５を備え、第２のソフトウェア２０４は第２の設定手段２０６を備え、第１の設定手段２０５及び第２の設定手段２０５は、画像読取装置１０を制御可能である。ユーザは、第１のソフトウェア２０３の第１の設定手段２０５を利用して画像読取装置１０を制御することができる。同様に、ユーザは、第２のソフトウェア２０４の第２の設定手段２０６を利用して画像読取装置１０を制御することができる。
【００２７】
判断手段２０７は、第１のソフトウェアで画像読取装置１０を制御するのか、第２のソフトウェアで画像読取装置１０を制御するのかを判断する。
【００２８】
本実施形態では、第１のソフトウェアは、旧バージョンのソフトウェア（以下、旧ソフトウェア１とする）とし、第２のソフトウェアは、新バージョンのソフトウェア（以下、新ソフトウェア２とする）とする。これらのソフトウェアは、スキャナの制御に関する設定画面を持ち、その設定に応じてスキャナからスキャンを行うソフトウェアである。ここでは、旧ソフトウェア１は、ＴＷＡＩＮプロトコルをサポートするソフトウェアであり、新ソフトウェア２は、ＷＩＡプロトコルをサポートするソフトウェアである場合を例に説明する。なお、ソフトウェア１及びソフトウェア２は、それぞれ上述したものに限定されるものではなく、他のプロトコルに対応したソフトウェアであってもよい。また、本実施形態では、ソフトウェア１及び２は、それぞれ画像読取装置１０の制御を行うものとしたが、これに限定されるものではなく、他のデバイスの制御を行うものであってもよい。
【００２９】
本実施形態では、旧ソフトウェア１は製品名Ｐｒｏｄｕｃｔ−Ｘの１機種をサポートし、新ソフトウェア２は製品名Ｐｒｏｄｕｃｔ−Ｘと製品名Ｐｒｏｄｕｃｔ−Ｙの２機種をサポートしているものとする。つまり、製品名Ｐｒｏｄｕｃｔ−Ｘは旧ソフトウェア１と新ソフトウェア２の両方でサポートされている。
【００３０】
ここで、図３を用いて、旧ソフトウェア１及び新ソフトウェア２のユーザインターフェースについて説明する。なお、図３は、新ソフトウェア２のユーザインターフェースの説明図であり、具体的には、図３（ａ）は製品名選択画面６０１の図であり、図３（ｂ）はスキャン設定画面７０１の図であり、図３（ｃ）はネットワークデバイス選択画面８０１の図である。旧ソフトウェア１のユーザインターフェースは、第１の設定手段２０５に対応し、新ソフトウェア２のユーザインターフェースは、第２の設定手段２０６に対応する。
【００３１】
ソフトウェア（旧ソフトウェア１又は新ソフトウェア２）を起動すると、まず、製品名選択画面６０１が表示される。この製品名選択画面６０１は、製品名選択リストボックス６０２及びスキャン設定ボタン６０３を備える。図３（ａ）に示すように、新ソフトウェア２の製品名選択画面では、製品名Ｐｒｏｄｕｃｔ−Ｘの１機種と製品名Ｐｒｏｄｕｃｔ−Ｙの２機種をサポートのみをサポートしているので、いずれかが選択可能に表示される。ユーザは所望の製品名を製品名選択リストボックス６０２から選択する。なお、図示しないが、旧ソフトウェアの製品名選択画面では、製品名Ｐｒｏｄｕｃｔ−Ｘの１機種のみをサポートしているので、製品名選択リストボックス６０２には、Ｐｒｏｄｕｃｔ−Ｘが表示されるだけであり、他のデバイスを選択することはできない。
【００３２】
そして、製品名選択画面６０１において、［スキャン設定・・・］ボタン６０３が押下されると、製品名選択リストボックス６０２で選択されたデバイスのスキャン設定画面７０１が開く。
【００３３】
図３（ｂ）に示すように、スキャン設定画面７０１は、ＰＣからスキャンを行うためのプルスキャン設定ボックス７０２、デバイスのパネルを操作してスキャンを行うためのプッシュスキャン設定ボックス７０６を備える。以下、ＰＣからスキャンを行うことをプルスキャンといい、デバイスのパネルを操作してスキャンすることをプッシュスキャンという。プルスキャン設定ボックス７０２は、原稿サイズ設定ボックス７０３、解像度設定ボックス７０４、実際にプルスキャンを行うためのスキャンボタン７０５を備える。プッシュスキャン設定ボックス７０６は、原稿サイズ設定ボックス７０７、解像度設定ボックス７０８、ネットワークデバイス選択ボタン７０９を備える。本実施形態では、各スキャン設定として、原稿サイズ設定及び解像度設定を備えるものとしたが、カラーモードの設定など他の設定を行えるようにしてもよい。なお、旧ソフトウェアのスキャン設定画面は、図３（ｂ）と同様の画面となる。
【００３４】
プルスキャン設定ボックスにおいて、ユーザが原稿サイズを原稿サイズ設定ボックス７０３から選択し、解像度を解像度設定ボックス７０４から選択し、スキャンボタン７０５が押下されると、各ボックスで設定された条件でスキャンが開始される。
【００３５】
プッシュスキャン設定ボックスにおいて、ネットワークデバイス選択ボタン７０９が押下されると、ネットワークデバイス選択画面が表示される。
【００３６】
図３（ｃ）に示すように、ネットワークデバイス選択画面８０１には、ネットワークデバイスリスト８０２が表示される。また、ネットワークデバイスリスト８０２は、デバイス選択８０３のチェックボックス及びデバイス固有名称８０４を備える。デバイス固有名称とは、ネットワーク上に同じ名称が割当たられないように決められた名称である。このデバイス固有名称８０４には、ネットワーク上に接続されたデバイスが検索されて、検索されたデバイスの固有名称が表示される。デバイス選択８０３のチェックボックスにより、ユーザはネットワーク経由でスキャンしたいデバイスを決定する。
【００３７】
図３（ｃ）において、デバイスを選択すると、ＰＣから選択されたデバイスに対してネットワーク経由でプッシュスキャンを行うためのポーリングを開始する。ポーリングを受けたデバイスは、デバイスのパネルにＰＣ名を表示する。そして、そのＰＣ名をユーザがデバイスのパネル上で選択することで、デバイスを起点としてスキャンを行いＰＣにスキャン画像を転送することができる。このとき、図３（ｂ）でユーザが原稿サイズ設定ボックス７０７で選択した原稿サイズ、解像度設定ボックス７０８で選択した解像度でスキャン画像が転送される。
【００３８】
図３（ｃ）では、製品名Ｐｒｏｄｕｃｔ−Ｘの機器が２台（デバイス固有名称がＰｒｏｄｕｃｔ−Ｘ１，Ｐｒｏｄｕｃｔ−Ｘ２）と製品名Ｐｒｏｄｕｃｔ−Ｙの機器が１台（デバイス固有名称がＰｒｏｄｕｃｔ−Ｙ１）の計３台のデバイスがネットワーク上に接続されている。図３（ｃ）に示すように、Ｐｒｏｄｕｃｔ−Ｘ１を選択すると、ＰＣからＰｒｏｄｕｃｔ−Ｘ１に対してネットワーク経由でプッシュスキャンを行うためのポーリングを開始する。ポーリングを受けたＰｒｏｄｕｃｔ−Ｘ１はデバイスのパネルにＰＣ名を表示し、そのＰＣ名をユーザが選択することでデバイスを起点としてスキャンを行いＰＣにスキャン画像を転送する。なお、ここでは、ネットワークデバイスリストに、サポートしている機種（Ｐｒｏｄｕｃｔ−Ｘの機器及びＰｒｏｄｕｃｔ−Ｙの機器）を全て表示するものとしたが、図３（ａ）で選択された機種のみ表示するようにしてもよい。
【００３９】
なお、図示しないが、旧ソフトウェア１のネットワークデバイス選択画面も同様に、ネットワークデバイスリスト８０２が表示され、ネットワークデバイスリスト８０２には、デバイス選択８０３のチェックボックス及びデバイス固有名称８０４が表示される。このとき、デバイス固有名称には、製品名Ｐｒｏｄｕｃｔ−Ｙをサポートしていないので、製品名Ｐｒｏｄｕｃｔ−Ｘの機器が２台（デバイス固有名称がＰｒｏｄｕｃｔ−Ｘ１，Ｐｒｏｄｕｃｔ−Ｘ２）が表示される。
【００４０】
上述したソフトウェアのユーザインターフェースを介して、第１のソフトウェア（旧ソフトウェア１）及び第２のソフトウェア（新ソフトウェア２）は、それぞれ画像読取装置１０の制御を行う。
【００４１】
ここで、旧ソフトウェア１及び新ソフトウェア２のいずれからも、Ｐｒｏｄｕｃｔ−Ｘのスキャン設定を行うことが可能である。すなわち、旧ソフトウェア１と新ソフトウェア２はともにＰｒｏｄｕｃｔ−Ｘをサポートしているため、製品名選択画面でＰｒｏｄｕｃｔ−Ｘが選択された場合、図３（ｂ）に示すようなＰｒｏｄｕｃｔ−Ｘのスキャン設定画面７０１が表示される。このとき、プルスキャンの場合は、スキャン設定画面７０１にスキャンボタン７０５が表示されるため、２つのソフトウェアに各々設定を持っていてもユーザが混乱することは無い。しかしながら、プッシュスキャンの場合は、スキャン設定画面７０１にスキャンボタンが表示されないため、どちらのソフトウェアでスキャンされるかはユーザには分かり難い。このため、一方のソフトウェアで設定したにも関わらず別のソフトウェアでスキャンされてしまい、ユーザの混乱を招くことがある。なお、プッシュスキャンを実行した際にどのソフトウェアが起動するかは、ＯＳが同梱するソフトウェアなどで設定可能であるが、ユーザがそのソフトウェアを別途起動して設定する必要があるため煩わしく、また、その設定はユーザにとって分かり難いことがある。
【００４２】
同様に、旧ソフトウェア１の場合も新ソフトウェア２の場合もネットワークデバイス選択画面が表示される。このとき、旧ソフトウェア１及び新ソフトウェア２はともにＰｒｏｄｕｃｔ−Ｘをサポートしているため、いずれの画面においてもＰｒｏｄｕｃｔ−Ｘを選択可能である。２つのソフトウェアからＰｒｏｄｕｃｔ−Ｘの選択を行うと、２つのソフトウェアからＰｒｏｄｕｃｔ−Ｘに対してポーリングが行われる。しかしながら、１つのＰＣから２重にポーリングが行われることは望ましいことではない。例えば、旧ソフトウェア１と新ソフトウェア２からポーリングを行うとデバイスのパネルには同じＰＣ名が２つ表示される。ユーザにとっては、どちらも同じ名称であるため、どちらのＰＣ名がどちらのソフトウェアでスキャンされるかがユーザには分からず、ユーザの混乱を招いてしまう。
【００４３】
本実施形態では、複数のソフトウェアを共存させつつ、あるデバイスに対する設定が複数のソフトウェアから行われることが無いように設定を行う。ここでは、スキャン対象のデバイスに関するスキャン設定を旧ソフトウェア１で設定が可能であり、且つ、旧ソフトウェア１でスキャン対象のデバイスに関するスキャン設定を行った方がよい場合は、旧ソフトウェア１によるデバイスの制御を選択する。具体的には、新ソフトウェア２でプッシュスキャン設定ボックス７０６を非表示とする。なお、旧ソフトウェア１でスキャン対象のデバイスに関するスキャン設定を行った方がよい場合とは、例えば、スキャン対象デバイスのスキャン設定がＴＷＡＩＮプロトコルを優先する場合が挙げられる。一方、旧ソフトウェア１でプッシュスキャンに関する設定を行わない方がよい場合及びスキャン設定ができない場合は、上述したように、新ソフトウェア２でプッシュスキャンに関する設定を表示する。旧ソフトウェア１でプッシュスキャンに関する設定をしない方がよい場合とは、例えば、ＴＷＡＩＮプロトコルを優先する設定ではない場合やＯＳに登録されているプッシュスキャン対象のソフトウェアがＴＷＡＩＮプロトコルに対応したソフトウェアではない場合が挙げられる。スキャン設定ができない場合とは、例えば、ＯＳでＴＷＡＩＮプロトコルが非サポートになった場合や、ＴＷＡＩＮプロトコルに対応したソフトウェアがインストールされていない場合が挙げられる。
【００４４】
図４は、スキャン対象のデバイスに関するスキャン設定を旧ソフトウェア１で設定が可能であり、且つ、旧ソフトウェア１でスキャン対象のデバイスに関するスキャン設定を行った方がよい場合の新ソフトウェア２の設定画面である。なお、以下、上述した図３に示す新ソフトウェア２の画面を第１のデバイス制御画面、図４に示す新ソフトウェア２の画面を第２のデバイス制御画面とする。
【００４５】
図４（ａ）に示すように、スキャン設定画面７０１は、プルスキャン設定ボックス７０２が表示されるが、プッシュスキャン設定ボックスは非表示である。なお、プルスキャン設定ボックス７０２は、図３（ｂ）と同様に、原稿サイズ設定ボックス７０３、解像度設定ボックス７０４、実際にプルスキャンを行うためのスキャンボタン７０５を備える。
【００４６】
そして、スキャンボタン７０５を押下すると、図４（ｂ）に示す新ソフトウェア２のネットワークデバイス選択画面が表示される。ネットワークデバイス選択画面８０１には、ネットワークデバイスリスト８０２が表示され、ネットワークデバイスリスト８０２には、デバイス選択８０３のチェックボックス及びデバイス固有名称８０４が表示される。このとき、デバイス固有名称には、製品名Ｐｒｏｄｕｃｔ−Ｙが１台表示され、製品名Ｐｒｏｄｕｃｔ−Ｘの機器は表示されない。このように、製品名Ｐｒｏｄｕｃｔ−Ｙを非表示とすることにより、ユーザが製品名Ｐｒｏｄｕｃｔ−Ｙを選択するのを抑制する。
【００４７】
図５は、本実施形態の新ソフトウェア２のＵＩ画面の設定処理のフローチャートである。このフローチャートは、ＣＰＵ２５により実行される。
【００４８】
まず、新ソフトウェア２を起動する（Ｓ１０１）。
【００４９】
ユーザにより新ソフトウェア２の製品名選択画面６０１の製品名選択リストボックス６０２で所望のデバイスが選択されることで、スキャン対象デバイス（スキャン対象機種）を決定する（Ｓ１０２）。ここでは、ユーザが所望するデバイスの名称をＰｒｏｄｕｃｔ−Ｘとする。
【００５０】
次に、新ソフトウェア２の製品名選択画面６０１で、ユーザにより［スキャン設定…］ボタン６０３が押下されると、スキャン設定画面７０１を開く（Ｓ１０３）。その後、新ソフトウェア２はスキャン対象デバイスのプッシュスキャン設定がＴＷＡＩＮプロトコルを優先するか否かを判定する（Ｓ１０４）。
【００５１】
新ソフトウェア２がＴＷＡＩＮプロトコルを優先しないと判定した場合、新ソフトウェア２は、図３（ａ）に示すようにスキャン設定画面７０１でプルスキャン設定ボックス７０２とプッシュスキャン設定ボックス７０６のいずれも表示する（Ｓ１０６）。さらに、新ソフトウェア２は図３（ｂ）に示すようにネットワークデバイス選択画面８０１において製品名Ｐｒｏｄｕｃｔ−ＸのデバイスＰｒｏｄｕｃｔ−Ｘ１とＰｒｏｄｕｃｔ−Ｘ２を表示して（Ｓ１０７）、設定処理を終了する。すなわち、新ソフトウェア２がＴＷＡＩＮプロトコルを優先しないと判定した場合（Ｓ１０４でＮＯ）、第１のデバイス制御画面を表示して設定処理を終了する。
【００５２】
一方、新ソフトウェア２がＴＷＡＩＮプロトコルを優先すると判定した場合（Ｓ１０４でＹＥＳ）、新ソフトウェア２がスキャン対象デバイスのプッシュスキャン設定を旧ソフトウェア１のソフトウェアで設定可能か判定する（Ｓ１０５）。
【００５３】
新ソフトウェア２が旧ソフトウェア１で設定不可能（Ｓ１０５でＮＯ）と判断した場合、新ソフトウェア２はＳ１０６、Ｓ１０７に進み、第１のデバイス制御画面を表示して設定処理を終了する。
【００５４】
一方、新ソフトウェア２がスキャン対象デバイスのプッシュスキャン設定を旧ソフトウェア１で設定可能であると判断した場合（Ｓ１０５でＹＥＳ）は、図４（ａ）に示すように新ソフトウェア２はプルスキャン設定のみを表示してプッシュスキャン設定を非表示にする（Ｓ１０８）。さらに、図４（ｂ）に示すように、新ソフトウェア２はネットワークデバイス選択画面でスキャン対象機種Ｐｒｏｄｕｃｔ−Ｘ（デバイス固有名称Ｐｒｏｄｕｃｔ−Ｘ１、Ｐｒｏｄｕｃｔ−Ｘ２）を非表示にし、Ｐｒｏｄｕｃｔ−Ｙを表示する（Ｓ１０９）。その後、設定処理を終了する。すなわち、第２のデバイス制御画面を表示して設定処理を終了する。
【００５５】
なお、上述した設定処理のフローにおけるＳ１０４及びＳ１０５の判定は、上述した判断手段２０７が行う。
【００５６】
また、旧ソフトウェア１が起動した際の動作については、表示の制御を行わない通常の動作であるため説明を省略する。
【００５７】
ここで、Ｓ１０５の判定処理について図６を用いて詳細に説明する。図６は、Ｓ１０５の判定処理のフローチャートである。すなわち、ＴＷＡＩＮプロトコルに対応したソフトウェアでプッシュスキャンの設定が可能かを新ソフトウェア２が判定する判定処理のフローチャートである。
【００５８】
まず、Ｓ２０１において、新ソフトウェア２は、ＯＳがＴＷＡＩＮプロトコルをサポートしているか否かを判定する。この判定方法は、特に限定されないが、本実施形態では、ＯＳにＴＷＡＩＮに関するライブラリがインストールされているか否かで判定する。
【００５９】
新ソフトウェア２がＯＳでＴＷＡＩＮプロトコルがサポートされていないと判断した場合（Ｓ２０１でＮＯ）には、新ソフトウェア２は自身のソフトウェアでプッシュスキャン設定を行うと判断する（Ｓ２０４）。
【００６０】
一方、新ソフトウェア２がＯＳはＴＷＡＩＮプロトコルをサポートしていると判断した場合（Ｓ２０１でＹＥＳ）、新ソフトウェア２は旧ソフトウェア１がインストールされているかを判定する（Ｓ２０２）。この判定方法は、特に限定されないが、本実施形態では、旧ソフトウェア１のインストールパスを探して、そこにソフトウェアがあるか否かで判定する。
【００６１】
新ソフトウェア２が旧ソフトウェア１はインストールされていないと判定した場合（Ｓ２０２でＮＯ）、新ソフトウェア２は自身のソフトウェアでプッシュスキャンの設定を行うと判断する（Ｓ２０４）。
【００６２】
一方、新ソフトウェア２が旧ソフトウェア１はインストールされている判定した場合（Ｓ２０２でＹＥＳ）、新ソフトウェア２は旧ソフトウェア１がスキャン対象の機種をサポートしているかを判定する（Ｓ２０３）。
【００６３】
新ソフトウェア２は旧ソフトウェア１がスキャン対象機種をサポートしていないと判定した場合（Ｓ２０３でＮＯ）は、新ソフトウェア２は自身のソフトウェアでプッシュスキャンの設定を行うと判断する（Ｓ２０４）。言い換えれば、スキャン対象デバイスのプッシュスキャン設定が旧ソフトウェア１で設定可能ではない（Ｓ１０５でＮＯ）と判定する。
【００６４】
一方、新ソフトウェア２が旧ソフトウェア１はスキャン対象機種をサポートしていると判定した場合（Ｓ２０３でＹＥＳ）は、新ソフトウェア２は旧ソフトウェア１でプッシュスキャンの設定を行うと判断する（Ｓ２０５）。言い換えれば、スキャン対象デバイスのプッシュスキャン設定が旧ソフトウェア１で設定可能と（Ｓ１０５でＹＥＳ）と判定する。
【００６５】
上述したように、複数のソフトウェアでデバイスを制御可能である場合、複数のソフトウェアを共存させつつ、１つのソフトウェアでデバイスを制御可能とし、他のソフトウェアでデバイスを制御させないようにする。これにより、ユーザが混乱することなくデバイスの制御をすることができる。具体的には、旧ソフトウェアと新ソフトウェアの両方でデバイスの設定可能である場合に、どちらか一方で設定をさせないようにすることで、１つのデバイスに対して２つのソフトウェアからネットワーク経由のポーリングを行うのを防止する。これにより、デバイスのパネル上に同じＰＣ名が複数表示されるのを防ぎ、ユーザが混乱することなく設定をすることが可能となる。
【００６６】
したがって、例えば、新ソフトウェア２でスキャン対象デバイスを選択する際に、旧ソフトウェア１が新ソフトウェア２の設定ファイルを参照し、旧ソフトウェア１でスキャン対象のデバイスが既に選択されているか否かを判定する必要がない。すなわち、新ソフトウェア２でスキャン対象デバイスを選択する際に、旧ソフトウェア１の設定を確認し、すでに旧ソフトウェア１でスキャン対象のデバイスが選択されていれば旧ソフトウェアＡでの選択を解除してから新ソフトウェア２で選択する必要がない。
【００６７】
また、サンドボックス技術が導入されており、他のソフトウェアの設定ファイルを参照することができない場合であっても、適切な１つのソフトウェアで設定可能とし、他のソフトウェアで設定をさせないようにする。これにより、ユーザが混乱することなく設定をすることができる。
【００６８】
本実施形態では、複数のソフトウェアを共存させたい場合、言い換えれば、一方のソフトウェアにより他方のソフトウェアを上書きしたくない場合、１つのソフトウェアでデバイスを制御可能とし、他のソフトウェアでデバイスを制御させないようにする。これにより、ユーザは、混乱することなくデバイスの制御をすることができる。
【００６９】
また、本実施形態では、Ｓ２０１において、新ソフトウェア２はＯＳでＴＷＡＩＮプロトコルがサポートされているか否かを判定する。この判定により、今後のＯＳでＴＷＡＩＮプロトコルが非サポートになった場合に、新ソフトウェア２（ＷＩＡ対応のソフトウェア）ではプッシュスキャンの設定が表示されるようになる（Ｓ１０６、Ｓ１０７）。そのため、今後のＯＳでＴＷＡＩＮプロトコルが非サポートになった場合でも、そのためにソフトウェアを修正してリリースする必要が無い。
【００７０】
（実施形態２）
本実施形態では、旧ソフトウェア１でスキャン対象のデバイスに関するスキャン設定を行った方がよい場合に、非表示とするのではなく、新ソフトウェア２は旧ソフトウェア１でプッシュスキャンの設定した方が良いことを警告する。なお、実施形態１と同様の構成については説明を省略する。
【００７１】
図７は、図５のＳ１０８とＳ１０９の処理をＳ１１０の処理に変更したフローチャートである。Ｓ１０１〜Ｓ１０７は、実施形態１と同様であるので説明を省略する。
【００７２】
Ｓ１０５において、スキャン対象デバイスのプッシュスキャン設定が旧ソフトウェア１で設定可能である場合（Ｓ１０５がＹＥＳ）、Ｓ１１０では、旧ソフトウェア１でプッシュスキャンの設定した方が良いことを警告する。これにより、旧ソフトウェア１でプッシュスキャン設定を行うようにユーザを誘導する。
【００７３】
上述したように、複数のソフトウェアでデバイスを制御可能である場合、複数のソフトウェアを共存させつつ、より適切なソフトウェアがある場合にそれをユーザに警告する。これにより、ユーザは適切なソフトウェアを選択してデバイスを制御することができ、ユーザの混乱を防止することができる。具体的には、旧ソフトウェアと新ソフトウェアの両方でデバイスの設定可能である場合に、旧ソフトウェア１でプッシュスキャンの設定した方がよい場合は、新ソフトウェア２においてそれを警告する。これにより、旧ソフトウェア１でプッシュスキャン設定を行うようにユーザが誘導され、ユーザが混乱することなく設定をすることが可能となる。
【００７４】
（他の実施形態）
本発明の基本的構成は上述したものに限定されるものではない。上述した実施形態は、本発明の効果を得るための一手段であり、類似の別手法を用いたり、異なるパラメータを用いたとしても、本発明と同等の効果が得られる場合は、本発明の範疇に含まれる。
【００７５】
例えば、実施形態１では、ユーザがスキャン設定画面７０１を開いた（Ｓ１０３）後にＳ１０４の判定を行ったが、Ｓ１０４の判定のタイミングはこれに限定されず、ユーザが新ソフトウェア２を起動した（Ｓ１０１）後に行ってもよい。
【００７６】
また、実施形態１では、旧ソフトウェア１と新ソフトウェア２のいずれによりデバイスを制御したほうがよいかの判定は、Ｓ１０４の判定及びＳ１０５の判定に限定されるものではない。すなわち、複数のソフトウェアにおけるプロトコルを基準に判定するものに限定されない。例えば、プッシュスキャン対象のソフトウェアがＯＳなどに登録されるシステムでは、登録されているソフトウェアの情報を取得して登録されたソフトウェアを優先して起動するように判定してもよいし、先に登録されたソフトウェアを優先するように判定してもよい。また、より高機能なソフトウェアを優先するように判断してもよいし、常にＷＩＡプロトコルを優先するなど一意のソフトウェアを優先するように判断してもよい。
【００７７】
上述した実施形態では、新ソフトウェア２で対象機種のプッシュスキャンに関する設定を非表示とすることで新ソフトウェア２によるデバイスの制御を抑制したが、これに限定されるものではない。例えば、新ソフトウェア２が旧ソフトウェア１を起動して旧ソフトウェア１のスキャン設定を表示するようにしても良い。
【００７８】
また、上述した実施形態では、旧ソフトウェア１の表示は変更しないものとしたが、これに限定されるものではない。新ソフトウェア２によりデバイスを制御したほうがよい場合は、旧ソフトウェア１を起動した際に新ソフトウェア２によりデバイスを制御したほうがよいことを通知するようにしてもよい。また、新ソフトウェア２によりデバイスを制御したほうがよい場合は、旧ソフトウェア１が起動時に自身のプッシュスキャンの設定を表示しないように制御してもよい。また、新ソフトウェア２が、旧ソフトウェア１を起動した際に旧ソフトウェア１でプッシュスキャンを表示しないように制御するようにプログラムしてもよい。
【００７９】
上述した実施形態では、対象デバイスのプッシュスキャン設定が旧ソフトウェア１で設定可能かを判定する際に、Ｓ２０１、Ｓ２０２、Ｓ２０３の３つの判定基準により判定したが、これに限定されるものではない。
【００８０】
また、上述した実施形態では、コンピュータ２０が制御するデバイスとして画像読取装置１０を例に挙げたが、これに限定されるものではなく、ＦＡＸ、プリンタ等の他のデバイスであってもよい。
【００８１】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、ＣＰＵも１つのＣＰＵで全ての処理を行うものに限らず、複数のＣＰＵが適宜連携をしながら処理を行うものとしてもよい。
【符号の説明】
【００８２】
１０  画像読取装置
２０  ホストコンピュータ
２０２  ＯＳ
２０３  第１のソフトウェア
２０４  第２のソフトウェア
【図１】
2015022509.tif 000003
【図２】
2015022509.tif 000004
【図３】
2015022509.tif 000005
【図４】
2015022509.tif 000006
【図５】
2015022509.tif 000007
【図６】
2015022509.tif 000008
【図７】
2015022509.tif 000009