(57)【要約】【課題】  アプリケーションの操作画面を接続されるデバイスに適応して生成することである。【解決手段】  特定の処理を行うデバイスを接続して情報処理を行う情報処理装置において、接続されたデバイスで特定されるデバイス構成情報を生成する生成（Ｓ１００５）。そして、デバイス構成情報と登録されたデバイスアプリケーションに対する操作画面を表示させるために備えるべきデバイスの構成条件が記述された操作資源情報とを比較する。そして、その比較結果に基づいて、前記アプリケーションに対応した操作画面を表示手段に表示するように制御する（Ｓ１００６〜Ｓ１００８）構成を特徴とする。【選択図】  図１０
2008310674.tif 000002
【特許請求の範囲】
【請求項１】
特定の処理を行うデバイスを接続して情報処理を行う情報処理装置であって、
登録されたデバイスアプリケーションに対する操作画面を表示させるために備えるべきデバイスの構成条件が記述された操作資源情報を記憶する記憶手段と、
接続されたデバイスで特定されるデバイス構成情報を生成する生成手段と、
前記デバイス構成情報と前記操作資源情報とに基づいて、前記デバイスアプリケーションが表示すべき操作画面を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記生成手段により生成されたデバイス構成情報を更新する更新手段を有し、
前記制御手段は、前記更新手段により更新されたデバイス構成情報と前記操作資源情報とに基づいて、表示すべき操作画面を更新することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶手段は、登録された複数のデバイスアプリケーション毎に、操作画面を表示させるために備えるべきデバイスの構成条件が記述された操作資源情報を記憶することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記操作資源情報は、前記デバイスアプリケーションのインストール時に、前記記憶手段に記憶することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記デバイスは、前記情報処理装置に対してローカル接続されるデバイスと、前記情報処理装置に対してネットワーク接続されるデバイスとを含むことを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記制御手段は、デバイス構成情報と前記操作資源情報とを比較し、前記操作画面を構成する各操作オブジェクトを表示すべきかどうかを決定することを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記制御手段は、デバイス構成情報と前記操作資源情報とを比較し、前記操作画面を構成する各操作オブジェクトを表示すべきでないと決定した場合、表示している操作オブジェクトの表示を選択可能な表示状態から選択不可な状態に変更することを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記制御手段は、デバイス構成情報と前記操作資源情報とを比較し、前記操作画面を構成する各操作オブジェクトを表示すべきでないと決定した場合、表示している操作オブジェクトの表示を非表示状態に変更することを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記制御手段は、操作オブジェクトの表示を非表示状態に変更する場合、表示すべき各操作オブジェクトの表示位置を調整することを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記制御手段は、前記表示手段に表示している操作オブジェクトの属性がローカルデバイスに依存する操作オブジェクトであるか、ネットワークデバイスに依存する操作オブジェクトであるかをアイコンで識別表示することを特徴とする請求項６乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
特定の処理を行うデバイスを接続して情報処理を行う情報処理装置における操作処理方法であって、
接続されたデバイスで特定されるデバイス構成情報を生成する生成手段と、
前記デバイス構成情報と登録されたデバイスアプリケーションに対する操作画面を表示させるために備えるべきデバイスの構成条件が記述された操作資源情報とに基づいて、前記デバイスアプリケーションが表示すべき操作画面を制御する制御工程と、
を有することを特徴とする操作処理方法。
【請求項１２】
前記生成工程により生成されたデバイス構成情報を更新する更新工程を有し、
前記制御工程は、前記更新工程により更新されたデバイス構成情報と前記操作資源情報とに基づいて、表示すべき操作画面を更新することを特徴とする請求項１１記載の操作処理方法。
【請求項１３】
登録された複数のデバイスアプリケーション毎に、操作画面を表示させるために備えるべきデバイスの構成条件が記述された操作資源情報を記憶することを特徴とする請求項１１記載のる操作処理方法。
【請求項１４】
前記操作資源情報は、前記デバイスアプリケーションのインストール時に記憶することを特徴とする請求項１１記載の操作処理方法。
【請求項１５】
前記デバイスは、前記情報処理装置に対してローカル接続されるデバイスと、前記情報処理装置に対してネットワーク接続されるデバイスとを含むことを特徴とする請求項１１記載の操作処理方法。
【請求項１６】
前記制御工程は、デバイス構成情報と前記操作資源情報とを比較し、前記操作画面を構成する各操作オブジェクトを表示すべきかどうかを決定することを特徴とする請求項１１記載の操作処理方法。
【請求項１７】
前記制御工程は、デバイス構成情報と前記操作資源情報とを比較し、前記操作画面を構成する各操作オブジェクトを表示すべきでないと決定した場合、表示している操作オブジェクトの表示を選択可能な表示状態から選択不可な状態に変更することを特徴とする請求項１１記載の操作処理方法。
【請求項１８】
前記制御工程は、デバイス構成情報と前記操作資源情報とを比較し、前記操作画面を構成する各操作オブジェクトを表示すべきでないと決定した場合、表示している操作オブジェクトの表示を非表示状態に変更することを特徴とする請求項１１記載の操作処理方法。
【請求項１９】
前記制御工程は、操作オブジェクトの表示を非表示状態に変更する場合、表示すべき各操作オブジェクトの表示位置を調整することを特徴とする請求項８記載の操作処理方法。
【請求項２０】
前記制御工程は、前記表示手段に表示している操作オブジェクトの属性がローカルデバイスに依存する操作オブジェクトであるか、ネットワークデバイスに依存する操作オブジェクトであるかをアイコンで識別表示することを特徴とする請求項１６乃至１９のいずれか１項に記載の操作処理方法。
【請求項２１】
請求項１１〜２０のいずれか１項に記載の操作処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項２２】
請求項１１〜２０のいずれか１項に記載の操作処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定の処理を行うデバイスを接続して情報処理を行う情報処理装置の操作処理に関するものである。
【背景技術】
【０００２】
近年、ＭＦＰ（Multi Function Peripheral）と呼ばれる複合周辺機器が普及し始めている。最近では高度なアプリケーションソフトウェアを自由に搭載することが可能なプラットフォームを持つＭＦＰも登場してきている。以下、アプリケーションをＡＰと記す。
【０００３】
従来は、このようなＭＦＰのデバイス構成が固定的であったため、ユーザが操作する操作ボタンやタッチパネル上のソフトウェアボタンの配置、画面構成やそれらに対する動作はあらかじめ固定的にＡＰにプログラミングされていた。
【０００４】
このため、ＭＦＰ上で必要なデバイスが使えなければ起動時もしくは動作時にエラーとなっていた。
【０００５】
また、ＭＦＰを構成するデバイスを自在に交換できる技術が提案されている（例えば、特許文献１参照）。さらに、ネットワーク接続による構成が可能なＭＦＰも登場しつつある。
【特許文献１】特開２００４−１１２６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に示されるようなフレキシブルなデバイス構成が可能なＭＦＰにおいては、インストール済みのデバイスＡＰが現在のデバイス構成では動作不可能になる状況が、従来のＭＦＰより増えてくる。
【０００７】
そのような状況では、ユーザがＡＰの設定をいろいろしたのに結局やりたいことができなくなる。
【０００８】
また、操作画面上のデバイスＡＰや機能に対応するボタンやメニューの中から動作可能な機能に対するものを探す煩雑さが増大し、ユーザビリティを低下させることとなる。
【０００９】
このような課題を解決するためには、現在のデバイス構成では動作不可能になるデバイスＡＰや機能に対するボタンやメニューを非表示にしたり、操作できないようにしたりするのが効果的である。
【００１０】
従来の手法では、全てのメニューやボタンの構成および表示に対してデバイス構成を考慮したプログラミングが、各デバイスＡＰで必要であった。
【００１１】
しかし、そのようなプログラミングは、ハードウェア構成を取得できないＡＰプラットフォームでは不可能であるし、可能なプラットフォームであっても、開発工数が大幅に増大してしまうという問題があった。
【００１２】
このように接続されるデバイス毎に操作画面を決定する構成とした場合には、生産されるデバイス毎に操作画面情報を記憶する必要があり、また、生産中止されたデバイスが発生した場合には、不要な操作画面情報を記憶することとなる。したがって、接続されるデバイスに依存した操作画面情報を保持するという構成は、設計者に負担を強いるだけでなく、ユーザにとっても利便性が損なわてしまうという課題があった。
【００１３】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、簡単な構成で、アプリケーションの操作画面を接続されるデバイスに適応して生成できる仕組みを提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
【００１５】
特定の処理を行うデバイスを接続して情報処理を行う情報処理装置であって、登録されたデバイスアプリケーションに対する操作画面を表示させるために備えるべきデバイスの構成条件が記述された操作資源情報を記憶する記憶手段と、接続されたデバイスで特定されるデバイス構成情報を生成する生成手段と、前記デバイス構成情報と前記操作資源情報とに基づいて、前記デバイス構成情報と前記操作資源情報とに基づいて、前記デバイスアプリケーションが表示すべき操作画面を制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、接続されるデバイスの構成に適応するアプリケーションの操作画面を接続されるデバイスに適応して生成できる。
【００１７】
また、デバイス構成が変更されても、該変更されたデバイス構成に適応したアプリケーションの操作画面を生成できる。
【発明を実施するための最良の形態】
【００１８】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１９】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本発明の第１実施形態を示す情報処理装置の構成を説明するブロック図である。本例は、情報処理装置がＭＦＰ（Multi Function Peripheral）である場合を示すが、ＭＦＰに限るものではない。また、ＭＦＰの画像形成部、または画像入力部は図示していない。さらに、本実施形態に示す情報処理装置は、後述するようにデバイスアプリケーションを装備し、該デバイスアプリケーション毎に、情報処理装置に接続されるデバイスに適応した操作画面の表示を行う。
【００２０】
図１において、１２は中央処理装置（ＣＰＵ）で、主記憶装置として機能するＲＡＭおよびＲＯＭなどのメモリ１３から制御プログラムを読み出して各デバイスを制御する。また、ＣＰＵ１２は、ＦＤドライブやＨＤドライブなどによる外部記憶装置１５から制御プログラムをメモリ１３にロードして実行する。
【００２１】
１１は入力装置で、例えばタッチパネルやキーなどで構成される。１４は表示装置で、ＣＲＴディスプレイ、又はタッチパネルと一体化した液晶パネルなどで構成される。１７は外部ネットワークで、１６は外部入出力インタフェース（Ｉ／ＯＩ／Ｆ）で、外部ネットワーク１７を介して、外部機器と通信可能に構成されている。
【００２２】
本システムのＭＦＰは、基本Ｉ／Ｏプログラム、ＯＳ，およびプログラムをＣＰＵ１２がメモリ１３にロードして実行することにより動作する。
【００２３】
ここで、基本Ｉ／Ｏプログラム（BIOS）はメモリ１３のＲＯＭに書き込まれており、ＯＳはＨＤ等の外部記憶装置１５に書き込まれている。そして、ＭＦＰの電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャル・プログラム・ローディング）機能により外部記憶装置１５からＯＳがメモリ１３に読み込まれ、ＯＳの動作が開始される。
【００２４】
なお、プログラムは後述の図に示される制御手順のフローチャートに基づいてプログラムコード化されたものである。本実施形態の場合は、本制御プログラムおよび関連データはフレキシブルディスク（ＦＤ）２０で構成される外部記憶装置１５中に記録されており、その記録されている内容の構成を図２に示す。
【００２５】
図２は、図１に示した外部記憶装置１５のメモリマップを説明する図である。本例は、外部記憶装置１５が、例えばフレキシブルディスク（ＦＤ）２０で構成される場合を示す。
【００２６】
図２において、２１はボリューム情報である。２２はディレクトリ情報で、ＦＤ２０内のファイル格納領域を管理する。２３は制御プログラム実行ファイルで、後述するフローチャートに示す制御手順が記憶されている。２４は制御プログラム関連データファイルで、制御プログラム実行ファイル２３で使用する関連データファイル２４が記憶されている。本実施形態では、ＦＤ２０に記録された制御プログラム実行ファイル２３及び関連データファイル２４は、外部記憶装置１５としてのＦＤ２０を通じて本コンピュータシステムにロードすることができる。
【００２７】
このＦＤ２０をＦＤドライブにセットすると、ＯＳおよび基本Ｉ／Ｏプログラムの制御の下に本制御プログラムおよび関連データがＦＤ２０から読み出され、ＲＡＭ等で構成されるメモリ１３にロードされて動作可能となる。
【００２８】
図３は、図１に示したメモリ１３のメモリマップを説明する図である。本例は、本制御プログラムがＲＡＭにロードされ実行可能となった状態のメモリマップ例を示す。
【００２９】
本実施形態では、ＦＤ２０から制御プログラム及び関連データを直接メモリ１３にロードして実行させる例を示すが、他にプログラムや関連データを外部記憶装置１５に格納して、外部記憶装置１５からロードするようにしてもよい。
【００３０】
また、本制御プログラムを記録する媒体は、光ディスク、ＩＣメモリカードなどであってもよい。さらに本プログラムを読取専用のＲＯＭに記録しておき、これを直接ＣＰＵ１２で実行することも可能である。
【００３１】
図３において、３１は基本Ｉ／Ｏプログラムで、メモリ１３を構成するＲＯＭから読み出されて記憶される。３２はＯＳで、外部記憶装置１５から読み出されて記憶される。本実施形態は、特定のＯＳに限定されるものではない。３３は制御プログラムで、外部記憶装置１５から読み出されて記憶される。
【００３２】
３４はデータエリアで、制御プログラム３３が使用する関連データファイルが記憶される。３５はワークエリアで、ワークエリアＷ１〜ＷＮから構成される。また、ワークエリア３５は、制御プログラムのサイズや、関連データファイルのサイズに応じてその容量が動的に変動する。
【００３３】
図４は、本実施形態を示す情報処理装置を適用可能なネットワークシステムの一例を示す図である。
【００３４】
本システムでは、ＭＦＰ４１の他にスキャナ４２やＦＡＸモデム４３など複数のデバイスがＬＡＮ４４に接続されており、ＭＦＰ４１はネットワーク接続する複数のデバイスによりシステム構成を変更することができる。
【００３５】
図５は、図１に示した表示装置１４に表示されるユーザインタフェースの一例を示す図である。本例は、図４に示したＬＡＮ４４に接続されるデバイスの設定を確認する画面の一例である。
【００３６】
図５において、ＭＦＰ４１の管理者は、ＬＡＮ４４に対してネットワーク接続するデバイスのアドレスをアドレス５２に入力し、その行が選択された状態で確認ボタン５３を押す。
【００３７】
これにより、ＭＦＰ４１は入力されたアドレスに対して通信を行い、デバイス種別とＭＦＰ４１の構成デバイスとして登録してよいかを問い合わせし、承諾されればデバイス種別をデバイス種別５１に自動設定する。
【００３８】
また、指定したアドレスのデバイスが既に他のＭＦＰの構成デバイスとして登録済みであるなど承諾されない場合や、デバイス自身から返答がない場合もある。この場合には、入力装置１１からユーザ（管理者等）がデバイス種別をデバイス種別５１に入力して設定することも可能である。
【００３９】
図５に示した表示画面状態で、ＯＫボタン５４を押すと、ＣＰＵ１２は設定されたネットワークデバイス構成情報をメモリ１３内のワークエリア３５に保存する。５５はキャンセルボタンである。
【００４０】
図６は、図４に示したＭＦＰ４１のモジュール構成を説明する図である。本例は、デバイスＡＰが動作するモジュール構成例である。なお、各モジュールは、外部記憶装置１５に記憶されており、メモリ１３にロードされることで起動可能に構成されている。
【００４１】
図６において、デバイスプラットフォーム（以下、プラットフォームをＰＦと略記する）６１は、基本Ｉ／Ｏプログラム３１やＯＳ３２、デバイスドライバ、ネットワークＩ／Ｆなどデバイスの機能全般を実現している。ここで、デバイスドライバとは、プリンタドライバ、スキャナドライバ等を含む。
【００４２】
ＡＰプラットフォーム６２は、デバイスＡＰ６５Ａ，６５Ｂの動作環境を提供し、デバイスＰＦ（以下、ＤＰＭと略記する）６１上で動作している。操作画面の表示やその更新、操作画面からの入力のデバイスＡＰ６５Ａ，６５Ｂへの通知などもＡＰＰＭ６２が実現している。なお、操作画面の構成に関しては後述する。
【００４３】
ＡＰ管理部６３はＡＰＰＭ６２にインストールされているデバイスＡＰ６５Ａ，６５Ｂのインストール状況やライセンス、マニフェストなどを管理している。  デバイスＡＰ提供者はモジュールとライセンスファイルとマニフェストを用意し、ＭＦＰ４１にデバイスＡＰ６５Ａがインストールされると、ＡＰＤＢ６４にライセンスファイルとマニフェストが登録される。そして、ＡＰＰＭ６２やデバイスＡＰ６５から要求されれば、それらの情報を提供する。なお、マニフェストの詳細に関しては後述する。
【００４４】
ローカルポート監視部６６はＤＰＭ６１を構成するモジュールで、システムのデバイス接続ローカルポートを監視していて、デバイスが接続または切断されるとデバイス構成変更イベントをＡＰＰＭ６２に送る。これにより、動的にデバイスの接続状態をＡＰＰＭ６２が認識できるとともに、デバイス構成が変更されても現在のデバイス構成情報を認識することができる。
【００４５】
ここで、デバイス構成変更イベントは、変更種別（接続または切断）とデバイス種別とデバイスアドレスを組にしたリストを含んでいる。また、ＤＰＭ６１やＡＰＰＭ６２からの要求に応じて、ローカル接続しているデバイスを探索し、デバイスの各種情報の一覧をローカルデバイス一覧としてＡＰＰＭ６２に返す。
【００４６】
ネットワークデバイス監視部６７は、ＤＰＭ６１を構成するモジュールで、ワークエリア３５に保存されているネットワークデバイス構成情報にある複数のアドレスを監視する。ここで、ネットワークデバイス監視部６７は、図５に示したアドレス５２を監視する。
【００４７】
また、ネットワークデバイス監視部６７は、上記複数のアドレスを監視していて、デバイスが接続又は切断されるとデバイス構成変更イベントをＡＰＰＭ６２に送る。これにより、動的にネットワークデバイスの接続状態をＡＰＰＭ６２が認識できるとともに、ネットワークデバイス構成が変更されても現在のネットワークデバイス構成情報を認識することができる。
【００４８】
また、ネットワークデバイス監視部６７は、ＤＰＭ６１やＡＰＰＭ６２からの要求に応じて、ワークエリア３５に保存されているネットワークデバイス構成情報にあらかじめ設定されているアドレスのネットワークデバイスと通信を行う。
【００４９】
そして、ネットワークデバイス監視部６７は、通信したネットワークデバイスの各種情報とＭＦＰ４１の構成デバイスとして登録してよいかの問い合わせを行う。そして、承諾されたネットワークデバイスのデバイス情報の一覧をネットワークデバイス一覧としてＡＰＰＭ６２に返す。
【００５０】
このようにして、ローカル接続デバイスもしくはあらかじめ設定されたネットワーク接続デバイスの構成変更のＡＰＰＭ６２への通知が実現される。
【００５１】
本実施形態では、ＭＦＰ４１において、ユーザが操作する画面には、ＡＰ起動画面とＡＰ操作画面とがある。
【００５２】
図７は、図１に示した表示装置１４に表示されるユーザインタフェースの一例を示す図である。本例は、インストール済みデバイスＡＰ６５Ａ，６５Ｂを起動するためのＡＰ起動画面の例である。
【００５３】
図７において、ユーザによりＡＰ名称が書かれたボタンＡＰＢ１、ＡＰＢ２が押下されると、対応するデバイスＡＰ（図６で示す例では、デバイスＡＰ６５Ａ、６５Ｂ）が起動する。
【００５４】
なお、ＡＰ起動画面の画面リソースは、ＡＰＰＭ６２のモジュールに格納されている。また、各ＡＰ操作画面の画面リソースはそれぞれのデバイスＡＰ６５Ａ，６５Ｂのモジュールに格納されている。
【００５５】
図８は、図１に示した表示装置１４に表示されるユーザインタフェースの一例を示す図である。本例は、デバイスＡＰ６５を操作するためのＡＰ操作画面の例であり、Ｗｅｂサイト印刷操作画面に対応する。
【００５６】
図８において、ＢＴ１１〜ＢＴ１３はボタンである。８１はＵＲＬ入力部で、あらかじめ登録された、あるいは一度アクセス履歴のあるＵＲＬの場合は、その履歴一覧から選択入力することができる。また、入力装置１１を介して、ユーザがＵＲＬを直接入力することも可能に構成されている。
【００５７】
８２は印刷オプション設定部で、カラー属性８３、ページレイアウト属性８４、両面属性８５を設定可能な例である。なお、ＵＲＬをＷｅｂサイトからダウンロードする情報とともに、指定された印刷位置、あるいはあらかじめ設定された印刷位置に直接あるいはＱＲコードに変換した画像として印刷するように構成してもよい。
【００５８】
なお、ＡＰ操作画面は、デバイスＡＰ６５Ａ、６５Ｂを操作するための画面で、複数の異なる画面をデバイスＡＰ６５Ａ、６５Ｂ毎に持つことが可能である。
【００５９】
また、図７または図８に示す各操作画面の標準デザインは、画面リソースと呼ばれるデータ形式でモジュールとして、例えば外部記憶装置１５に格納されている。
【００６０】
さらに、画面リソースは、画面を構成するメニューやボタンやテキストといった操作オブジェクトと、その状態（表示状態、非表示状態、操作不可（選択不可）など）と、属性（位置、サイズ、色など）から構成される。そして、ＡＰＰＭ６２およびデバイスＡＰ６５Ａ，６５Ｂが、操作オブジェクトに対して状態の変更、属性の変更、ユーザ操作に対する動作といった制御をすることが可能である。ここで、操作オブジェクトとは、ボタンや、アイコン、文字等が含まれる。
【００６１】
これにより、例えば、必須の入力項目が全て入力されていないとＯＫボタン（図８に示す例では、ボタンＢＴ１１に対応する）を押せないように制御するといったことが可能である。この際、ＣＰＵ１２が制御結果の表示装置１４に対する表示反映のタイミングは、操作オブジェクト単位ですぐに表示更新することも、操作画面全体の再表示更新時にまとめて表示更新することも可能である。また、上記選択不可状態となった場合に、ＣＰＵ１２は、操作画面上の操作オブジェクトで空白となる領域を詰める調整（表示位置の調整）を行う。つまり、ＣＰＵ１２は、操作オブジェクトの再配置処理を行う機能を備える。
【００６２】
通常、表示装置１４に画面を新たに表示する場合は、表示前に操作オブジェクトを制御してから画面を表示し、すでに表示されている画面の操作オブジェクトを制御する場合は、操作オブジェクト単位で変更と再表示を行う場合が多い。
【００６３】
ユーザ操作およびＡＰＰＭ６２やデバイスＡＰ６５Ａ、６５Ｂにより操作画面表示を指示する。これにより、ＡＰＰＭ６２は指示された操作画面の画面リソースが含まれるモジュールを外部記憶装置１５からロードし、画面リソースを取り出し、表示装置１４上に操作画面を表示する。
【００６４】
本実施形態において、マニフェストは、デバイスＡＰ６５Ａ、６５Ｂ全体およびその各操作画面の各操作オブジェクトが動作するために必要なデバイス条件が記述された図９に示す形式のファイルである。なお、本実施形態において、マニュフェストは、操作資源情報として機能する。ここで、操作資源情報とは、登録されたデバイスアプリケーションに対する操作画面を表示させるために備えるべきデバイスの構成条件が記述された情報である。
【００６５】
ここで、構成条件が記述された情報とは、デバイスアプリケーションが実行する機能処理に必要なデバイス構成（デバイスの能力（両面機能）、デバイスの種類（カラー、モノクロー）等を含む）ものであって、一例を図９に示す。
【００６６】
したがって、１つのデバイスアプリケーションで、カラースキャナからの原稿入力を処理する機能を実行する場合に、現在ＭＦＰに接続されたデバイスの情報を取得する。そして、取得したデバイスの構成に、カラー原稿を読み取る能力を備えるスキャナ装置が接続されていない場合、上記デバイスアプリケーションの操作画面上では、カラー原稿の読取操作が行えないようにする操作画面を生成する。これにより、ユーザは、現在のデバイス構成では、カラー原稿画像の処理ができないことを操作画面表示から認知することができる。
【００６７】
また、この際、カラー原稿を読み取り可能なスキャナ装置がデバイスとして接続されている場合であっても、解像度、カラー画像のビット数等がアプリケーションで十分にその処理を実行できない場合がある。このような場合には、読み取られる画像に対する画像編集要求を受け付けない操作画面（選択ボタンをグレー表示する等）を生成するなどの制御を行う。
【００６８】
このように本実施形態では、マニフェストにアプリケーションが必要とするデバイスが備えるべき能力、種類をデバイスアプリケーションに関連づけて記述する。これにより、接続可能なデバイス毎にアプリケーションが操作画面を生成する操作オブジェクトを全て記憶する必要がなくなり、メモリ資源を有効に活用できるとともに、デバイスの変更やアプリケーションの変更に自在に対応することが可能となる。しかも、特定のデバイスに依存することなく、アプリケーション毎にデバイス構成条件を記述できるため、アプリケーションの開発負担も軽減される。
【００６９】
また、マニフェストは、対応するデバイスアプリケーションのインストール時に、外部記憶装置１５に記憶される。なお、マニフェストは、図７に示すようなデバイスアプリケーション一覧に対応して、各デバイスアプリケーション毎に記憶されており、その内容は、アプリケーションのバージョンアップ等により更新可能に構成されている。
【００７０】
図９は、本実施形態を示す情報処理装置の操作画面の動作条件が記述されたマニュフェストの記述例を示す図である。本例は、図８の”Ｗｅｂサイト印刷”ＡＰのマニフェストの例で、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いて記述されている例である。
【００７１】
また、本例は、＜ＡＰｐｌｉｃａｔｉｏｎＭｅｎｕ＞タグによってＡＰ全体の動作条件、＜ＤｉｓｐｌａｙＵＩ＞タグによって操作画面の動作条件が記述されている例である。
【００７２】
図９に示すマニュフェストによれば、ＡＰ起動画面で”Ｗｅｂサイト印刷”ＡＰが動作する条件は”Ｎｅｔｗｏｒｋ  Ｃａｒｄ”という名称のデバイスと”Ｐｒｉｎｔｅｒ”という名称のデバイスが共にある場合であることを表している。
【００７３】
また、”ＰＡＮＥＬ＿ＭＡＩＮ”操作画面において”ＬＩＳＴ  ＿ＣＯＬＯＲ”は、操作オブジェクト（操作画面の”カラー”を設定するリスト）が動作する条件（Ｃｏｎｄｉｔｉｏｎｓ）を記述している。本例では、”Ｃｏｌｏｒ”という能力を持った”Ｐｒｉｎｔｅｒ”という名称のデバイスがある場合であることを記述している。
【００７４】
さらに、”ＬＩＳＴ＿ＤＵＰＬＩＣＡＴＥ”は、操作オブジェクト（操作画面の”両面”を設定するリスト）が動作する条件を記述している。本例は、”Ｐｒｉｎｔｅｒ”という名称のデバイスと”Ｄｕｐｌｉｃａｔｏｒ”という名称のデバイスが共にある場合であることを記述している。
【００７５】
なお、図９に示す例は、ＸＭＬを用いた記述例であるが、他の書式のテキストファイルや、決められた構造のバイナリファイルであっても良い。
【００７６】
次に、デバイスＡＰ６５ＡまたはデバイスＡＰ６５Ｂを起動し、その後構成デバイスが変更された場合の処理についてフローチャートを用いて説明する。
【００７７】
図１０は、本実施形態を示す情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。本例は、ＡＰＰＭ６２がデバイスＡＰ６５Ａを起動し、その後構成デバイスが変更された場合の一連の処理例である。なお、Ｓ１００１〜Ｓ１００９は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【００７８】
まず、Ｓ１００１で、ＡＰＰＭ６２は、ＤＰＭ６１からイベントが届いていないかずっと監視して、イベントがあるかどうかを判断する。ここで、ＡＰＰＭ６２がイベントが有ると判断した場合は、Ｓ１００２へ進む。つまり、ローカルポート監視部６６、ネットワークデバイス監視部６７を監視するＤＰＭ６１からのイベントを監視して、デバイス構成の状態が変化していることをＡＰＰＭ６２が認知することができる。
【００７９】
そして、Ｓ１００２で、ＡＰＰＭ６２は、イベントの種別が終了イベントであるかどうかを判断する。ここで、終了イベントであると判断した場合は、Ｓ１００３で、その他の処理を行い、本処理を終了する。
【００８０】
一方、Ｓ１００２で、ＡＰＰＭ６２がイベントの種別が終了イベントでないと判断した場合は、Ｓ１００４へ進む。そして、Ｓ１００４で、ＡＰＰＭ６２がイベントの種別が終了イベント以外の何のイベントであるかを判断する。ここで、ユーザがＡＰ一覧を呼び出したり、デバイスＡＰを起動したりするなどして、ＡＰＰＭ６２が操作画面表示イベントが発生していると判断した場合、Ｓ１００５で、デバイス構成情報を生成する。そして、Ｓ１００６で、表示装置１４上に操作画面を表示して、本処理を終了する。
【００８１】
一方、Ｓ１００４で、デバイス構成変更イベントが発生していると判断した場合は、Ｓ１００７へ進む。
【００８２】
ここで、デバイス構成変更イベントは、ローカルポートに拡張デバイスを接続又は、ワークエリア３５に保存されたネットワークデバイス構成情報にあらかじめ設定されたネットワーク接続デバイスが切断されるなどで発生する。
【００８３】
そして、Ｓ１００７で、デバイス構成情報を更新し、Ｓ１００８で、表示装置１４に表示する操作画面を更新して、Ｓ１００１へ戻る。これにより、デバイス構成情報が動的に変動しても、現在のデバイス構成に適応した操作画面を生成表示することができる。
【００８４】
一方、Ｓ１００４で、その他のイベントであると判断した場合は、Ｓ１００９で従来どおりのその他の処理を行い、Ｓ１００１へ戻る。
【００８５】
図１１は、本実施形態を示す情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。本例は、図１０に示したＳ１００５のデバイス構成情報生成処理の詳細処理例である。なお、Ｓ１１０１〜Ｓ１１０３は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【００８６】
まず、Ｓ１１０１で、ＤＰＭ６１がローカル接続しているデバイスが正しく動作できるのかチェックするようローカルポート監視部６６に要求する。これを受けて、ＤＰＭ６１は、ローカルポート監視部６６からローカル接続しているデバイスの各種情報の一覧を取得して、ローカルデバイス一覧としてＡＰＰＭ６２に返す。
【００８７】
次に、Ｓ１１０２で、ＤＰＭ６１がネットワーク１７に接続しているデバイスが正しく動作できるかチェックするようネットワークデバイス監視部６７に要求する。これを受けて、ＤＰＭ６１は、ネットワークデバイス監視部６７からネットワーク１７に接続しているデバイスの各種情報の一覧を取得して、ネットワークデバイス一覧としてＡＰＰＭ６２に返す。
【００８８】
最後に、Ｓ１１０３で、Ｓ１１０１により集まったローカルデバイス一覧とＳ１１０２により集まったネットワークデバイス一覧に基づいて、デバイス構成情報をメモリ１３のワークエリア３５に保存して、処理をリターンする。
【００８９】
図１２は、図１に示したメモリ１３のワークエリア３５に保存されるデバイス構成情報の一例を示す図である。
【００９０】
本例では、デバイス構成情報として、ローカル接続されるプリンタ、両面ユニット、ステイプラと、ネットワーク接続されるスキャナと、ＦＡＸモデムとが収集された例である。
【００９１】
図１２において、デバイス構成情報１９０１は、デバイス名称とその能力、およびアドレスを組としたリストとして構成される例を示す。
【００９２】
図１３は、本実施形態を示す情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。本例は、図１０に示したＳ１００６の操作画面表示処理の詳細処理例である。なお、Ｓ１２０１〜Ｓ１２０３は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【００９３】
まず、Ｓ１２０１で、ＣＰＵ１２がユーザが呼び出した操作画面がＡＰ起動画面かどうかを判断する。ここで、ＣＰＵ１２がＡＰ起動画面が呼び出されていると判断した場合は、Ｓ１２０２で、ＡＰ起動画面表示処理を行い、処理をリターンする。
【００９４】
一方、Ｓ１２０２で、ＣＰＵ１２がＡＰ操作画面であると判断した場合は、Ｓ１２０３で、ＡＰ操作画面表示処理を行い、処理をリターンする。
【００９５】
図１４は、本実施形態を示す情報処理装置における第４のデータ処理手順の一例を示すフローチャートである。本例は、図１３に示したＳ１２０２のＡＰ起動画面表示処理の詳細処理例である。なお、Ｓ１３０１〜Ｓ１３１２は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【００９６】
まず、Ｓ１３０１で、ＣＰＵ１２がＡＰＰＭ６２のモジュールに格納されているＡＰ起動画面用の画面リソースを外部記憶装置１５から読み込む。そして、Ｓ１３０２で、ＣＰＵ１２がカウントパラメータｉを「０」に設定する。
【００９７】
次に、Ｓ１３０３で、ｉ番目のマニフェストを外部記憶装置１５から読み込み、Ｓ１３０４で、ＣＰＵ１２が読み込みが成功したかどうかを判断する。ここで、ＣＰＵ１２が読み込みが成功したと判断した場合は、Ｓ１３０５へ進み、読み込みが成功していないと判断した場合は、Ｓ１３１３へ進む。
【００９８】
そして、Ｓ１３１３で、ＣＰＵ１２がパラメータｉを「１」インクリメントして、Ｓ１３１４でマニフェストの読み込みを終了しているかどうかを判断する。ここで、ＣＰＵ１２がマニフェストの読み込みが終了していないと判断した場合は、Ｓ１３０３へ戻り、マニフェストの読み込みが終了していると判断した場合は、Ｓ１３１５へ進み、ＣＰＵ１２は、画面リソースを表示装置１４に表示して、処理をリターンする。
【００９９】
これにより、インストール済みのデバイスＡＰ６５Ａ、６５Ｂ等に対応するマニフェストをＡＰＤＢ６４から順番に読み込みを行い、Ｓ１３０４で、対応するマニフェストがないと判断された場合、失敗となり、Ｓ１３０５へ進む。
【０１００】
そして、Ｓ１３０５で、マニフェストから対応するデバイスＡＰ６５Ａ、６５Ｂ（以下、ＡＰｐ（ｉ）と表記）の動作条件（以下、ＭＦＲｅｑ（ｉ）と表記）を取得し、Ｓ１３０６で、ＭＦＲｅｑ（ｉ）を取得に成功したかどうかを判断する。
【０１０１】
なお、Ｓ１３０５における動作条件とは、図９に示したマニフェストでいうと、Ｃｏｎｄｉｔｉｏｎｓタグで記述された内容に対応する。
【０１０２】
ここで、ＭＦＲｅｑ（ｉ）を取得できなかったと判断した場合は、Ｓ１３１３へ進む。なお、ここで、ＭＦＲｅｑ（ｉ）を取得できなかったと判断する場合とは、ＡＰｐ（ｉ）に対して何の動作条件もない、つまりデバイス構成に依存しない場合には、Ｓ１３０６で失敗となり、Ｓ１３１３へ進む。
【０１０３】
一方、Ｓ１３０６で、ＭＦＲｅｑ（ｉ）を取得できたと判断した場合は、＜ＡＰｐｌｉｃａｔｉｏｎＭｅｎｕ＞タグの記述を取得する。次に、Ｓ１３０７で、ＣＰＵ１２がＳ１３０１で取得した画面リソースからＡＰｐ（ｉ）用の操作オブジェクト（以下、ＯＰＯｂｊ（ｉ）と表記）を検索する。そして、Ｓ１３０８で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）を見つけることができたかどうかを判断する。ここで、ＣＰＵ１２がＯＰＯｂｊ（ｉ）を見つけることができなかったと判断した場合は、Ｓ１３１３へ戻る。
【０１０４】
一方、Ｓ１３０８で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）を見つけることができたと判断した場合は、Ｓ１３０９で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）が問題ないかどうかを判断する。なお、この判断は、デバイス構成情報１９０１によりＭＦＲｅｑ（ｉ）が満たされるか、つまり、ＡＰｐ（ｉ）が動作するために必要なデバイスが揃っているか、という観点で行うものとする。
【０１０５】
具体的には、図９に示す、＜ＡＰｐｌｉｃａｔｉｏｎＭｅｎｕ＞タグの＜Ｃｏｎｄｉｔｉｏｎｓ＞タグの記述による例では以下のように判断する。”Ｎｅｔｗｏｒｋ  Ｃａｒｄ”という名称のデバイスと”Ｐｒｉｎｔｅｒ”という名称のデバイスが、デバイス構成情報１９０１に共にあるかどうかを判断する。
【０１０６】
次に、Ｓ１３１０で、ＣＰＵ１２が動作ＯＫかどうかを判断する。ここで、ＣＰＵ１２が動作がＯＫであると判断した場合は、Ｓ１３１１で、ＯＰＯｂｊ（ｉ）の状態を”表示”にして、Ｓ１３１３へ戻る。
【０１０７】
一方、Ｓ１３１０で、ＣＰＵ１２が動作がＮＧであると判断した場合は、Ｓ１３１２で、ＯＰＯｂｊ（ｉ）の状態を”非表示”にして、Ｓ１３１３に戻る。
【０１０８】
このようして、Ｓ１３１４で、全インストール済みのデバイスＡＰ６５Ａ、６５Ｂに対してＳ１３０３〜Ｓ１３１３の処理が完了したと判断した場合は、Ｓ１３１５へ進む。そして、Ｓ１３１５で、ＣＰＵ１２がそれまでの処理により更新された画面リソースを表示装置１４に表示して、処理をリターンする。
【０１０９】
図１５は、本実施形態を示す情報処理装置における第５のデータ処理手順の一例を示すフローチャートである。本例は、図１３に示したＳ１２０３のＡＰ操作画面表示処理の詳細処理例である。なお、Ｓ１４０１〜Ｓ１４１４は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【０１１０】
まず、Ｓ１４０１で、ＣＰＵ１２が操作画面表示イベントが指示するデバイスＡＰのモジュールに格納されている、操作画面表示イベントが指示する操作画面用の画面リソース（以下、Ｒｅｓと表記）を読み込む。そして、Ｓ１４０２で、デバイスＡＰに対するマニフェストを読み込み、Ｓ１４０３で、ＣＰＵ１２がＡＰＤＢ６４に格納されているデバイスＡＰに対するマニフェストのＲｅｓに対応する部分を取得することに成功したかどうかを判断する。
【０１１１】
図９に示す例でいうと、の場合、画面リソースでの操作画面の名称が＜ＤｉｓｐｌａｙＵＩ＞タグの＜ＰａｎｅｌＩＤ＞タグで記述されているので、＜ＰａｎｅｌＩＤ＞タグが一致する＜ＤｉｓｐｌａｙＵＩ＞タグを取得する。
【０１１２】
ここで、ＣＰＵ１２が取得できたと判断した場合は、Ｓ１４０４で、パラメータｉを「０」に初期化する。その後、Ｓ１４０５で、マニフェストに記述されている操作オブジェクト（以下、ＭＦＯｂｊ（ｉ）と表記）の動作条件（以下、ＭＦＲｅｑ（ｉ）と表記）を順番に取得する。
【０１１３】
図９に示す例でいうと、操作オブジェクトが＜Ｃｏｎｔｒｏｌ＞タグで、その動作条件が＜Ｃｏｎｄｉｔｉｏｎｓ＞タグで記述されている。
【０１１４】
次に、Ｓ１４０６で、ＣＰＵ１２が順番に全操作オブジェクトに対して取得処理が成功しているかどうかを判断する。ここで、ＣＰＵ１２が取得処理が成功していないと判断した場合は、Ｓ１４１４へ進み、それまでの処理により更新された画面リソースを表示装置１４に表示して、処理をリターンする。
【０１１５】
これにより、操作画面表示イベントが指示する操作画面に対するマニフェストがない場合には、Ｓ１４０３で失敗となり、Ｓ１４１４で、Ｓ１４０１で取得した画面リソースのまま表示装置１４にＡＰ操作画面を表示する。
【０１１６】
一方、Ｓ１４０６でＣＰＵ１２がＭＦＲｅｑ（ｉ）が取得できたと判断した場合は、Ｓ１４０７で、Ｓ１４０１で取得した画面リソースからＭＦＯｂｊ（ｉ）に対応する操作オブジェクト（以下、ＯＰＯｂｊ（ｉ）と表記）を検索する。
【０１１７】
そして、Ｓ１４０７で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）を見つけることができたかどうかを判断する。ここで、ＣＰＵ１２が見つけることができないと判断した場合は、Ｓ１４１３へ進み、パラメータｉを「１」インクリメントして、次の操作オブジェクトに対して処理を続けるため、Ｓ１４０５へ戻る。
【０１１８】
図９に示す例でいうと、画面リソースにおける操作オブジェクトの名称が＜ＣｏｎｔｒｏｌＩＤ＞タグで記述されているので、＜ＣｏｎｔｒｏｌＩＤ＞タグの名称と一致する操作オブジェクトを検索する。
【０１１９】
一方、Ｓ１４０８で、ＣＰＵ１２が、ＯＰＯｂｊ（ｉ）を見つけることができたと判断した場合は、Ｓ１４０９で、ＣＰＵ１２が見つけることができたＭＦＲｅｑ（ｉ）が問題ないかどうかを判断する（Ｓ１４０９）。
【０１２０】
なお、この判断は、デバイス構成情報１９０１によりＭＦＲｅｑ（ｉ）が満たされるか、つまり、ＯＰＯｂｊ（ｉ）が動作するために必要なデバイスが揃っているか、という観点で行う。
【０１２１】
図９に示す＜ＣｏｎｔｒｏｌＩＤ＞がＬＩＳＴ＿ＣＯＬＯＲである＜Ｃｏｎｔｒｏｌ＞タグの＜Ｃｏｎｄｉｔｉｏｎｓ＞タグの記述による場合は、以下のように判断する。
【０１２２】
つまり、ＣＰＵ１２が”Ｃｏｌｏｒ”という能力を持った”Ｐｒｉｎｔｅｒ”という名称のデバイスが、図１２に示したデバイス構成情報１９０１にあるかどうかを判断する。
【０１２３】
次に、Ｓ１４１０で、ＣＰＵ１２がＳ１４０９の判断から動作がＯＫかどうかを判断する。ここで、ＣＰＵ１２が動作ＯＫであると判断した場合は、Ｓ１４１１へ進み、ＯＰＯｂｊ（ｉ）の状態を”表示”にし、Ｓ１４１３へ進む。
【０１２４】
一方、Ｓ１４１０で、ＣＰＵ１２が動作ＮＧであると判断した場合は、Ｓ１４１２で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）の状態を”非表示”にし、次の操作オブジェクトに対して処理を続けるため、Ｓ１４１３へ戻る。
【０１２５】
図１６は、本実施形態を示す情報処理装置における第６のデータ処理手順の一例を示すフローチャートである。本例は、図１０に示したＳ１００７のデバイス構成情報更新処理の詳細処理例である。なお、Ｓ１５０１，Ｓ１５０２は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【０１２６】
まず、Ｓ１５０１で、デバイス構成変更イベントからデバイス構成変更情報を作成し、ワークエリア３５に保存する。
【０１２７】
図１７は、本実施形態を示す情報処理装置で管理されるデバイス構成変更情報の一例を示す図である。なお、デバイス構成変更情報は、例えば図１に示したメモリ１３で記憶されて管理される。デバイス構成変更情報を外部記憶装置１５で記憶する構成であってもよい。
【０１２８】
図１７において、デバイス構成変更情報２００１は、変更種別（接続または切断）とデバイス名称とアドレスを組としたリストである。
【０１２９】
次に、Ｓ１５０２で、ＣＰＵ１２がデバイス構成情報１９０１を更新して、処理をリターンする。なお、デバイス構成情報の更新は、変更種別が接続ならば接続されたデバイスをデバイス構成情報１９０１に追加し、変更種別が切断ならば切断されたデバイスをデバイス構成情報１９０１から削除するものである。
【０１３０】
図１８は、本実施形態を示す情報処理装置における第７のデータ処理手順の一例を示すフローチャートである。本例は、図１０に示したＳ１００８の操作画面更新処理の詳細処理例である。なお、Ｓ１６０１〜Ｓ１６０３は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【０１３１】
まず、Ｓ１６０１で、ＣＰＵ１２がユーザが呼び出した操作画面がＡＰ起動画面かどうかを判断する。具体的には、操作画面がＡＰ起動画面であるかどうかを判断する。ここで、ＣＰＵ１２がＡＰ起動画面であると判断した場合は、Ｓ１６０２で、ＣＰＵ１２がＡＰ起動画面更新処理を行い、処理をリターンする。
【０１３２】
一方、Ｓ１６０１で、ＣＰＵ１２がＡＰ起動画面でないと判断した場合は、Ｓ１６０３で、ＣＰＵ１２がＡＰ操作画面更新処理を行い、処理をリターンする。
【０１３３】
図１９は、本実施形態を示す情報処理装置における第８のデータ処理手順の一例を示すフローチャートである。本例は、図１８に示したＳ１６０２のＡＰ起動画面更新処理の詳細処理例である。なお、Ｓ１７０１〜Ｓ１７１３は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【０１３４】
また、Ｓ１６０２のＡＰ起動画面更新処理は図１４に示したＡＰ起動画面表示処理とほぼ同じであるが、既に画面が表示されているので、デバイス構成の変更の影響を受ける操作オブジェクトの表示更新のみすればよい。
【０１３５】
まず、Ｓ１７０１で、ＣＰＵ１２がメモリ１３内のパラメータｉを「０」に初期化する。次に、Ｓ１７０２で、ＣＰＵ１２がインストール済みのデバイスＡＰ６５に対応するマニフェストをＡＰＤＢ６４から順番に読み込む。
【０１３６】
次に、Ｓ１７０３で、マＣＰＵ１２がニフェストの読み込みが成功したかどうかを判断する。ここで、ＣＰＵ１２がマニフェストの読み込みを失敗したと判断した場合、例えば対応するマニフェストがないと判断した場合、Ｓ１７１２へ進む。そして、Ｓ１７１２で、ＣＰＵ１２がパラメータｉを「１」インクリメントして、Ｓ１７１３で、マニフェストの読み込みを全て終了しているかどうかを判断する。ここで、ＣＰＵ１２が全てのマニフェストの読み込みを終了していると判断した場合は、本処理をリターンする。
【０１３７】
一方、Ｓ１７１３で、ＣＰＵ１２が全てのマニフェストの読み込みを終了していないと判断した場合は、Ｓ１７０２へ戻り、順次マニフェストの読み込みを行う。
【０１３８】
一方、Ｓ１７０３で、ＣＰＵ１２がマニフェストの読み込みが成功したと判断した場合は、Ｓ１７０４で、ＣＰＵ１２がマニフェストから対応するデバイスＡＰ６５（以下、ＡＰｐ（ｉ）と表記）の動作条件（以下、ＭＦＲｅｑ（ｉ）と表記）を取得する。次に、Ｓ１７０５で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）を取得できたかどうかを判断する。
【０１３９】
ここで、ＣＰＵ１２がＭＦＲｅｑ（ｉ）を取得できなかったと判断した場合は、Ｓ１７１２へ戻る。
【０１４０】
これにより、ＡＰｐ（ｉ）に対して何の動作条件もない、つまりデバイス構成に依存しない場合には、Ｓ１７０５で失敗と判断され、Ｓ１７１２に戻る。
【０１４１】
一方、Ｓ１７０５で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）を取得できたと判断した場合は、Ｓ１７０６で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）がデバイス構成変更の影響を受けるか判断する。この判断は、デバイス構成変更情報２００１に含まれるデバイスがＭＦＲｅｑ（ｉ）の動作条件に含まれるか、という観点で行う。
【０１４２】
そして、Ｓ１７０７で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）がデバイス構成変更で影響があるかどうかを判断する。ここで、ＣＰＵ１２が影響ないと判断した場合は、Ｓ１７１２に戻る。
【０１４３】
一方、Ｓ１７０７で、ＣＰＵ１２がデバイス構成変更で影響あると判断した場合は、Ｓ１７０８で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）に問題ないか判断する。
【０１４４】
そして、Ｓ１７０９で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）の判断結果に基づいて、動作ＯＫかどうかを判断する。ここで、ＣＰＵ１２が動作ＯＫであると判断した場合は、Ｓ１７１０で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）を表示装置１４に表示して、Ｓ１７１２へ戻る。
【０１４５】
一方、Ｓ１７０９で、ＣＰＵ１２が動作ＮＧであると判断した場合は、Ｓ１７１１で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）を表示装置１４に非表示にして、Ｓ１７１２へ戻る。
【０１４６】
このようにして、全インストール済みのデバイスＡＰ６５に対してＳ１７０２〜Ｓ１７１１の処理が完了したとＳ１７１３で判断された場合は、処理をリターンする。
【０１４７】
図２０は、本実施形態を示す情報処理装置における第９のデータ処理手順の一例を示すフローチャートである。本例は、図１８に示したＳ１６０３のＡＰ操作画面更新処理の詳細処理例である。なお、Ｓ１８０１〜Ｓ１８１２は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【０１４８】
なお、本処理は図１５に示したＡＰ操作画面表示処理とほぼ同じであるが、既に画面が表示されているので、デバイス構成の変更に影響を受ける操作オブジェクトの表示更新のみすればよい。
【０１４９】
まず、Ｓ１８０１で、ＣＰＵ１２がＡＰＤＢ６４に格納されているＡＰｐに対するマニフェストのＲｅｓに対応する部分を取得する。そして、Ｓ１８０２で、ＣＰＵ１２がＡＰｐに対するマニフェストのＲｅｓに対応する部分を取得できたかどうかを判断する。ここで、ＣＰＵ１２がＡＰｐに対するマニフェストのＲｅｓに対応する部分を取得できないと判断した場合は、本処理をリターンする。これにより、現在の操作画面に対するマニフェストがない場合には、Ｓ１８０２で失敗となり、現在の表示のまま何もしない。
【０１５０】
一方、Ｓ１８０２で、ＣＰＵ１２がＡＰｐに対するマニフェストのＲｅｓに対応する部分を取得できたと判断した場合は、ＣＰＵ１２がパラメータｉを「０」に初期化する。そして、Ｓ１８０４で、ＣＰＵ１２がマニフェストに記述されている操作オブジェクト（以下、ＭＦＯｂｊ（ｉ）と表記）の動作条件（以下、ＭＦＲｅｑ（ｉ）と表記）を順番に取得する。
【０１５１】
そして、Ｓ１８０５で、ＣＰＵ１２が順番に全操作オブジェクトに対して後述の処理が成功したかどうかを判断する。ここで、ＣＰＵ１２が失敗したと判断した場合は、本処理をリターンする。
【０１５２】
一方、Ｓ１８０５で、ＣＰＵ１２が順番に全操作オブジェクトに対してＭＦＲｅｑ（ｉ）が取得できたと判断した場合は、Ｓ１８０６へ進む。
【０１５３】
そして、Ｓ１８０６で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）がデバイス構成変更の影響を受けるかどうかを示す影響度を判断する。なお、この判断は、デバイス構成変更情報２００１に含まれるデバイスがＭＦＲｅｑ（ｉ）の動作条件に含まれるか、という観点で行う。
【０１５４】
そして、Ｓ１８０７で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）がデバイス構成変更の影響があるかどうかを判断する。ここで、ＣＰＵ１２が影響ないと判断した場合は、Ｓ１８１２へ進み、ＣＰＵ１２がパラメータｉを「１」インクリメントして、次の操作オブジェクトに対して処理を続けるため、Ｓ１８０４へ戻る。
【０１５５】
一方、Ｓ１８０７で、ＣＰＵ１２がデバイス構成変更の影響があると判断した場合は、Ｓ１８０８で、ＭＦＲｅｑ（ｉ）が問題ないかどうかを判断する。
【０１５６】
そして、Ｓ１８０９で、ＣＰＵ１２がＳ１８０８の判断結果に基づいて、動作ＯＫかどうかを判断する。ここで、ＣＰＵ１２が動作ＯＫと判断した場合は、Ｓ１８１０で、非表示となっているＯＰＯｂｊ（ｉ）を表示装置１４に表示して、Ｓ１８１２へ進む。
【０１５７】
一方、Ｓ１８０９で、ＣＰＵ１２が動作ＮＧであると判断した場合は、Ｓ１８１１で、表示されているＯＰＯｂｊ（ｉ）を表示装置１４に非表示にする。そして、Ｓ１８１２で、ＣＰＵ１２がパラメータＩを「１」インクリメントして、次の操作オブジェクトに対して処理を続けるため、Ｓ１８０４へ戻る。
【０１５８】
本実施形態では、操作オブジェクトの状態として”表示”と”非表示”の２つの状態の場合であったが、グレー表示などで見えるが操作はできない”操作不可”の状態を加えたり、”非表示”の代わりに用いたりしても良い。その場合でも得られる効果は同じである。
【０１５９】
つまり、ＣＰＵ１２は、デバイス構成情報とマニフェストの記述とを比較し、操作画面を構成する各操作オブジェクトを表示すべきでないと決定した場合、以下の表示制御を行う。例えば表示している操作オブジェクトの表示を選択可能な表示状態から選択不可な状態に変更するように制御を行う。
【０１６０】
また、操作オブジェクトの非表示により空いた領域を空白にしないように、あらかじめ指定したルールに従い操作オブジェクトを再配置しても良い。その場合、操作画面を効率よく使うことができるようになり、無駄なスクロールを減らしたり、操作オブジェクトを探す手間を省けたりするようになる。
【０１６１】
本実施形態によれば、マニフェストを記述するという開発が格段に容易な手段を用いてるため、現在のハードウェア構成で動作不可能なデバイスＡＰおよびその機能を、ＡＰ起動画面やＡＰの操作画面で非表示もしくは操作不可とすることができる。
【０１６２】
更に、その画面更新はシステムやＡＰ起動時だけでなくハードウェア構成変更時にも行われるようになる。その結果、ハードウェア構成不足が原因でユーザ操作がエラーとなることがなくなり、無駄な入力をしたり、機能が使えるかどうかユーザが判断したりする必要をなくすことが可能になる。
【０１６３】
また、操作不可能なメニューなどを非表示にすることが可能になり、操作画面を効率よく使い、無駄なスクロールを減らしたり、メニューを探す手間を省けたりすることが可能になる。
【０１６４】
これらの結果、デバイスＡＰのユーザビリティが向上される。更に、マニフェストは開発者以外のＭＦＰ管理者などでも簡単に変更できるため、運用環境の事情に合わせて柔軟にカスタマイズすることも可能である。
【０１６５】
〔第２実施形態〕
ネットワーク接続による構成が可能なＭＦＰにおいては、デバイスＡＰのある機能を実施するためにはネットワーク接続デバイスまでユーザが出向かなければいけない場合がある。例えば、スキャナがネットワーク接続の場合は、紙をスキャンする機能を実行する前にそのデバイスまでユーザが行って紙をセットしてから、機能を実行する必要がある。
【０１６６】
このような状況では、これからユーザが行おうとする操作によって動作する機能はネットワーク機器を必要とするのか、操作画面から一目で分かることが望ましい。
【０１６７】
そこで、図２１のように操作画面の操作オブジェクトにネットワークアイコンを表示するように構成してもよい。以下、その実施形態について説明する。
【０１６８】
図２１は、図１に示した表示装置１４されるユーザインタフェースの一例を示す図である。本例は、Ｗｅｂサイト印刷の操作画面例に対応する。なお、図８と同一のものには同一の符号を付して説明を省略する。
【０１６９】
図２１において、２１０１〜２１０３はそれぞれネットワークアイコンを示し、ネットワークデバイスの操作として、ユーザに操作が必要なことをローカル接続されるデバイスによる操作との違いを視覚的に識別表示する。
【０１７０】
ネットワークアイコン２１０１は、スキャナ部がネットワーク接続であることを示し、ユーザに入力原稿をスキャナ部設置位置まで出向いてもらう必要があることをユーザに認識させるためのアイコンである。
【０１７１】
ネットワークアイコン２１０２は、印刷部がネットワーク接続であることを示し、ユーザに出力結果を印刷部設置位置まで出向いてもらう必要があることをユーザに認識させるためのアイコンである。
【０１７２】
なお、アイコンの表示形態は、本実施形態に示す表示形態以外であって、ネットワーク接続のデバイスであること識別可能な表示形態であれば、なんでもよい。もちろん、アイコンとともに、音声出力でメッセージを通知する処理を組み合わせても良い。
【０１７３】
図２２は、本実施形態を示す情報処理装置における第１０のデータ処理手順の一例を示すフローチャートである。本例は、図１３に示したＳ１２０３のＡＰ操作画面表示処理の詳細処理例である。なお、Ｓ１４０１〜Ｓ１４１４、Ｓ２２１５，Ｓ２２１６は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。また、図１５と同一のステップについては、説明を割愛する。
【０１７４】
以下、追加した処理の詳細を説明する。Ｓ１４１１の後、ＣＰＵ１２がＳ２２１５で、ＭＦＲｅｑ（ｉ）の動作条件としてネットワークデバイスを含んでいるかどうかを判断する。ここで、ＣＰＵ１２が含んでいると判断した場合は、Ｓ２２１６で、ＯＰＯｂｊ（ｉ）にネットワークアイコンを表示して、Ｓ１４１３へ進む。
【０１７５】
一方、Ｓ２２１５で、ＣＰＵ１２がネットワークデバイスを含んでいないと判断した場合は、１４１３へ進む。
【０１７６】
図２３は、本実施形態を示す情報処理装置における第１１のデータ処理手順の一例を示すフローチャートである。本例は、図１８に示したＳ１６０３のＡＰ操作画面更新処理の詳細処理例である。なお、Ｓ１８０１〜Ｓ１８１２、Ｓ２３１３〜Ｓ２３１６は各ステップを示す。また、各ステップは、ＣＰＵ１２がメモリ１３に制御プログラム（モジュール）をロードして実行することで実現される。
【０１７７】
また、図２０と同一のステップについては、説明を割愛する。以下、追加した処理の詳細を説明する。
【０１７８】
Ｓ１８１０の後、Ｓ２３１３で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）の動作条件としてネットワークデバイスを含んでいるかどうかを判断する。ここで、ＣＰＵ１２が含んでいると判断した場合は、Ｓ２３１４で、ＯＰＯｂｊ（ｉ）にネットワークアイコンを表示装置１４に表示し、Ｓ１８１２へ進む。
【０１７９】
一方、Ｓ２３１３で、ＣＰＵ１２がネットワークデバイスを含んでいないと判断した場合は、１８１２へ進む。
【０１８０】
同様に、Ｓ１８１１の後、Ｓ２３１５で、ＣＰＵ１２がＭＦＲｅｑ（ｉ）の動作条件としてネットワークデバイスを含んでいるかどうかを判断する。ここで、ＣＰＵ１２が含んでいると判断した場合は、Ｓ２３１６で、ＣＰＵ１２がＯＰＯｂｊ（ｉ）からネットワークアイコンを表示装置１４に対して非表示にし、Ｓ１８１２へ進む。
【０１８１】
一方、Ｓ２３１５で、ＣＰＵ１２がネットワークデバイスを含んでいないと判断した場合は、Ｓ１８１２へ進む。
【０１８２】
本実施形態では、第１実施形態の処理を上記のように変更することにより、動作条件としてネットワーク接続デバイスが含まれる操作オブジェクトにはネットワークアイコンが表示されるようになる。
【０１８３】
その結果、入力したり出力を受け取ったりするためにネットワーク接続デバイスまで行く必要があるのか、簡易的に処理実行前に分かるようになり、ネットワーク接続による構成が可能なＭＦＰにおいてユーザビリティを向上できる。
【０１８４】
本実施形態によれば、ＡＰ起動画面やＡＰ操作画面の各操作オブジェクトにネットワークアイコンを表示するように制御している。
【０１８５】
これにより、文書を入力したり出力を受け取ったりするために、ネットワーク接続デバイスまで行く必要があるのか、簡易的にではあるが処理実行前に分かるようになる。
【０１８６】
従って、ネットワーク接続型のＭＦＰでのユーザビリティを向上することが可能になる。
【０１８７】
〔第３実施形態〕
以下、図２４に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１８８】
図２４は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１８９】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１９０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１９１】
本実施形態における図１０、図１１、図１３、図１４、図１５、図１６、図１８、図１９、図２０、図２２、図２３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１９２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１９３】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９４】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１９５】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１９６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１９８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１９９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２００】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２０１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０２０２】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０２０３】
【図１】本発明の第１実施形態を示す情報処理装置の構成を説明するブロック図である。
【図２】図１に示した外部記憶装置のメモリマップを説明する図である。
【図３】図１に示したメモリのメモリマップを説明する図である。
【図４】本実施形態を示す情報処理装置を適用可能なネットワークシステムの一例を示す図である。
【図５】図１に示した表示装置に表示されるユーザインタフェースの一例を示す図である。
【図６】図４に示したＭＦＰのモジュール構成を説明する図である。
【図７】図１に示した表示装置に表示されるユーザインタフェースの一例を示す図である。
【図８】図１に示した表示装置に表示されるユーザインタフェースの一例を示す図である。
【図９】本実施形態を示す情報処理装置の操作画面の動作条件が記述されたマニュフェストの記述例を示す図である。
【図１０】本実施形態を示す情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１１】本実施形態を示す情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１２】図１に示したメモリのワークエリアに保存されるデバイス構成情報の一例を示す図である。
【図１３】本実施形態を示す情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１４】本実施形態を示す情報処理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１５】本実施形態を示す情報処理装置における第５のデータ処理手順の一例を示すフローチャートである。
【図１６】本実施形態を示す情報処理装置における第６のデータ処理手順の一例を示すフローチャートである。
【図１７】本実施形態を示す情報処理装置で管理されるデバイス構成変更情報の一例を示す図である。
【図１８】本実施形態を示す情報処理装置における第７のデータ処理手順の一例を示すフローチャートである。
【図１９】本実施形態を示す情報処理装置における第８のデータ処理手順の一例を示すフローチャートである。
【図２０】本実施形態を示す情報処理装置における第９のデータ処理手順の一例を示すフローチャートである。
【図２１】図１に示した表示装置１４されるユーザインタフェースの一例を示す図である。
【図２２】本実施形態を示す情報処理装置における第１０のデータ処理手順の一例を示すフローチャートである。
【図２３】本実施形態を示す情報処理装置における第１１のデータ処理手順の一例を示すフローチャートである。
【図２４】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０２０４】
１１  入力装置
１２  ＣＰＵ
１３  メモリ
１４  表示装置
１５  外部記憶装置
１７  ネットワーク
【図１】
2008310674.tif 000003
【図２】
2008310674.tif 000004
【図３】
2008310674.tif 000005
【図４】
2008310674.tif 000006
【図５】
2008310674.tif 000007
【図６】
2008310674.tif 000008
【図７】
2008310674.tif 000009
【図８】
2008310674.tif 000010
【図９】
2008310674.tif 000011
【図１０】
2008310674.tif 000012
【図１１】
2008310674.tif 000013
【図１２】
2008310674.tif 000014
【図１３】
2008310674.tif 000015
【図１４】
2008310674.tif 000016
【図１５】
2008310674.tif 000017
【図１６】
2008310674.tif 000018
【図１７】
2008310674.tif 000019
【図１８】
2008310674.tif 000020
【図１９】
2008310674.tif 000021
【図２０】
2008310674.tif 000022
【図２１】
2008310674.tif 000023
【図２２】
2008310674.tif 000024
【図２３】
2008310674.tif 000025
【図２４】
2008310674.tif 000026