(57)【要約】  【課題】  機能変更を容易に行うことが可能な情報処理装置及びアプリケーションプログラムを提供する。  【解決手段】  画像処理装置１００は、機能拡張可能な箇所を表す拡張ポイントを含むアプリケーションプログラム１２２と、拡張ポイントに対応付けられたプラグインモジュール１３２とを有し、アプリケーション制御部１１２により、該アプリケーションプログラム１２２が拡張ポイントまで実行された場合に、プラグイン制御部１１４によりその拡張ポイントに対応付けられたプラグインモジュール１３２が実行される。【選択図】  図１
2006085291.tif 000002
【特許請求の範囲】
【請求項１】
機能変更可能な箇所を表す変更可能箇所情報を含むアプリケーションプログラムと、
前記変更可能箇所情報に対応付けられたプラグインモジュールと、
前記アプリケーションプログラムが前記機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するプラグインモジュール実行手段とを有することを特徴とする情報処理装置。
【請求項２】
前記変更可能箇所情報と該変更可能箇所情報に対応付けられたプラグインモジュールとを関連付けて登録する関連情報登録手段と、
前記関連情報登録手段に登録された関連情報に基づいて、前記アプリケーションプログラムが前記機能変更可能な箇所まで実行された場合に実行されるべきプラグインモジュールを特定するプラグインモジュール特定手段とを有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーションプログラムの初期化処理時に前記変更可能箇所情報が前記関連情報登録手段に登録されることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記プラグインモジュールの初期化処理時に前記プラグインモジュールが前記関連情報登録手段に登録されることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記変更可能箇所情報は、前記アプリケーションプログラムと前記プラグインモジュールとが並行して実行されることの要否を表し、
前記変更可能箇所情報に基づいて、前記アプリケーションプログラムと前記プラグインモジュールとを並行して実行すべきか否かを判定する並行実行判定手段を有することを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
アプリケーションプログラムと、
前記アプリケーションプログラムにおける機能変更可能な箇所を表す変更可能箇所情報を保持する保持手段と、
前記保持手段に保持された変更可能箇所情報に対応付けられたプラグインモジュールと、
前記アプリケーションプログラムが前記機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するプラグインモジュール実行手段とを有することを特徴とする情報処理装置。
【請求項７】
情報処理装置において実行され、プラグインモジュールを取り込むアプリケーションプログラムであって、
機能変更可能な箇所を表す変更可能箇所情報を含み、
自身が前記機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するステップを有することを特徴とするアプリケーションプログラム。
【請求項８】
初期化処理時に、前記変更可能箇所情報を該変更可能箇所情報に対応付けられた前記プラグインモジュールと関連付けられるように登録手段に登録するステップと、
前記登録手段に登録された変更可能箇所情報に基づいて、自身が前記機能変更可能な箇所まで実行された場合に実行されるべきプラグインモジュールを特定するステップとを有することを特徴とする請求項７に記載のアプリケーションプログラム。
【請求項９】
前記変更可能箇所情報は、前記アプリケーションプログラムと前記プラグインモジュールとが並行して実行されることの要否を表し、
前記変更可能箇所情報に基づいて、前記アプリケーションプログラムと前記プラグインモジュールとを並行して実行すべきか否かを判定するステップを有することを特徴とする請求項７又は８に記載のアプリケーションプログラム。
【請求項１０】
前記変更可能箇所情報は、複数のアプリケーションプログラム間で共通であることを特徴とする請求項７乃至９のいずれかに記載のアプリケーションプログラム。
【請求項１１】
前記複数のアプリケーションプログラム間で共通する変更可能箇所情報のうち、前記情報処理装置の機能変更に必要な箇所を表す変更可能箇所情報のみを含むことを特徴とする請求項１０に記載のアプリケーションプログラム。
【請求項１２】
前記機能変更可能な箇所の少なくとも１つが、ジョブの実行前及び実行後のいずれかであることを特徴とする請求項７乃至１１のいずれかに記載のアプリケーションプログラム。
【請求項１３】
前記機能変更可能な箇所の少なくとも１つが、前記情報処理装置の表示部における画面表示開始前、画面表示中、及び、画面表示終了後のいずれかであることを特徴とする請求項７乃至１２のいずれかに記載のアプリケーションプログラム。
【請求項１４】
情報処理装置において実行され、プラグインモジュールを取り込むアプリケーションプログラムであって、
自身が予め定められた機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するステップを有することを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び当該情報処理装置において実行されるアプリケーションプログラムに関する。
【背景技術】
【０００２】
プリンタやコピー機、スキャナ、あるいは、これらの機能を併せ持ついわゆるデジタル複合機等の画像処理装置をはじめとする各種情報処理装置は、その情報処理装置の機能を果たすべく、様々なアプリケーションプログラムを実行する。
【０００３】
このような情報処理装置は、利用者における様々な業務に対応して、機能が変更（カスタマイズ）可能であることが要求される。このような要求に対して、例えば、任意の動作を行うアプリケーションプログラムを追加可能な情報処理装置が存在する。また、アプリケーションプログラムを機能モジュールに分解し、当該機能モジュール単位での追加を可能とした情報処理装置（例えば、特許文献１参照）、予め定義された機能に当てはまる外部機能提供モジュールを取り込んで実行する情報処理装置（例えば、特許文献２参照）、機能拡張ツールを実行する情報処理装置（例えば、特許文献３参照）が存在する。
【特許文献１】特開平９−１９８２４３号公報
【特許文献２】特開２００１−２２９１５７号公報
【特許文献３】特開２００３−３３０９００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、任意の動作を行うアプリケーションプログラムを追加可能な情報処理装置では、新規のアプリケーションプログラムの追加のみが可能であり、既存のアプリケーションプログラムを変更することができない。このため、既存のアプリケーションプログラムの一部を変更したい場合にも、新規のアプリケーションプログラムを開発しなければならない。
【０００５】
また、特許文献１における情報処理装置では、機能モジュールとは別に、当該機能モジュールの属性情報を管理する必要があり、機能モジュールが追加、削除される場合や、開始アドレスが変更される場合等において、機能モジュールと属性情報との整合性をとるための構成が複雑になる。更には、特許文献２における情報処理装置では、外部機能提供モジュールを取り込んで実行する際の処理が複雑になり、特許文献３における情報処理装置では、いわゆるマルチプロセッサによる並列処理にしか適用することができない。
【０００６】
本発明は、前述したような従来の問題を解決するためになされたもので、機能変更を容易に行うことが可能な情報処理装置及びアプリケーションプログラムを提供するものである。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、機能変更可能な箇所を表す変更可能箇所情報を含むアプリケーションプログラムと、前記変更可能箇所情報に対応付けられたプラグインモジュールと、前記アプリケーションプログラムが前記機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するプラグインモジュール実行手段とを有する。
【０００８】
この構成により、アプリケーションプログラムが機能変更可能な箇所まで実行された場合には、そのアプリケーションプログラムに含まれ、機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールが実行されて、情報処理装置の機能が変更されることになる。
【０００９】
本発明に係る情報処理装置は、前記変更可能箇所情報と該変更可能箇所情報に対応付けられたプラグインモジュールとを関連付けて登録する関連情報登録手段と、前記関連情報登録手段に登録された関連情報に基づいて、前記アプリケーションプログラムが前記機能変更可能な箇所まで実行された場合に実行されるべきプラグインモジュールを特定するプラグインモジュール特定手段とを有する。
【００１０】
この構成により、アプリケーションプログラムが機能変更可能な箇所まで実行された場合に実行されるべきプラグインモジュールが容易に特定可能となる。
【００１１】
また、本発明に係る情報処理装置は、前記アプリケーションプログラムの初期化処理時に前記変更可能箇所情報が前記関連情報登録手段に登録される。
【００１２】
また、本発明に係る情報処理装置は、前記プラグインモジュールの初期化処理時に前記プラグインモジュールが前記関連情報登録手段に登録される。
【００１３】
このように、アプリケーションプログラム及びプラグインモジュールの初期化処理時に、変更可能箇所情報と該変更可能箇所情報に対応付けられたプラグインモジュールとが関連付けられて登録されることにより、その後のアプリケーションプログラムの実行において、確実にプラグインモジュールを特定して実行することが可能となる。
【００１４】
また、本発明に係る情報処理装置は、前記変更可能箇所情報が、前記アプリケーションプログラムと前記プラグインモジュールとが並行して実行されることの要否を表し、前記変更可能箇所情報に基づいて、前記アプリケーションプログラムと前記プラグインモジュールとを並行して実行すべきか否かを判定する並行実行判定手段を有する。
【００１５】
この構成により、要求される機能に応じて、プラグインモジュールの単独実行と、アプリケーションプログラム及びプラグインモジュールの並列実行のいずれも適切に実現可能となる。
また、本発明に係る情報処理装置は、アプリケーションプログラムと、前記アプリケーションプログラムにおける機能変更可能な箇所を表す変更可能箇所情報を保持する保持手段と、前記保持手段に保持された変更可能箇所情報に対応付けられたプラグインモジュールと、前記アプリケーションプログラムが前記機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するプラグインモジュール実行手段とを有する。
【００１６】
また、本発明に係るアプリケーションプログラムは、情報処理装置において実行され、プラグインモジュールを取り込むものであって、機能変更可能な箇所を表す変更可能箇所情報を含み、自身が前記機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するステップを有する。
【００１７】
この構成により、アプリケーションプログラムが機能変更可能な箇所まで実行された場合には、そのアプリケーションプログラムに含まれ、機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールが実行されて、情報処理装置の機能が変更されることになる。
【００１８】
また、本発明に係るアプリケーションプログラムは、初期化処理時に、前記変更可能箇所情報を該変更可能箇所情報に対応付けられた前記プラグインモジュールと関連付けられるように登録手段に登録するステップと、前記登録手段に登録された変更可能箇所情報に基づいて、自身が前記機能変更可能な箇所まで実行された場合に実行されるべきプラグインモジュールを特定するステップとを有する。
【００１９】
この構成により、アプリケーションプログラムが機能変更可能な箇所まで実行された場合に実行されるべきプラグインモジュールが容易に特定可能となる。
【００２０】
また、本発明に係るアプリケーションプログラムは、前記変更可能箇所情報が、前記アプリケーションプログラムと前記プラグインモジュールとが並行して実行されることの要否を表し、前記変更可能箇所情報に基づいて、前記アプリケーションプログラムと前記プラグインモジュールとを並行して実行すべきか否かを判定するステップを有する。
【００２１】
また、本発明に係るアプリケーションプログラムは、前記変更可能箇所情報が、複数のアプリケーションプログラム間で共通である。
【００２２】
この構成により、変更可能箇所情報の汎用性を高め、アプリケーションプログラムの作成を容易化させることができる。
【００２３】
また、本発明に係るアプリケーションプログラムは、前記複数のアプリケーションプログラム間で共通する変更可能箇所情報のうち、前記情報処理装置の機能変更に必要な箇所を表す変更可能箇所情報のみを含む。
【００２４】
この構成により、共通化された変更可能箇所情報が用いられる場合であっても、必要な機能に応じて機能変更可能な箇所の取捨選択が可能となる。
【００２５】
また、本発明に係るアプリケーションプログラムは、前記機能変更可能な箇所の少なくとも１つが、ジョブの実行前及び実行後のいずれかである。
【００２６】
また、本発明に係るアプリケーションプログラムは、前記機能変更可能な箇所の少なくとも１つが、前記情報処理装置の表示部における画面表示開始前、画面表示中、及び、画面表示終了後のいずれかである。
また、本発明に係るアプリケーションプログラムは、情報処理装置において実行され、プラグインモジュールを取り込むものであって、自身が予め定められた機能変更可能な箇所まで実行された場合に、前記機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールを実行するステップを有する。
【発明の効果】
【００２７】
本発明によれば、アプリケーションプログラムが機能変更可能な箇所まで実行された場合には、そのアプリケーションプログラムの機能変更可能な箇所を表す変更可能箇所情報に対応付けられたプラグインモジュールが実行されるため、情報処理装置の機能変更を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態の情報処理装置としての画像処理装置について、図面を用いて説明する。
【００２９】
図１は、画像処理装置の構成を示す図である。図１に示す画像処理装置１００は、例えば、プリント機能、コピー機能、スキャナ機能等を有するいわゆるデジタル複合機であり、コントローラ１１０、ＲＡＭ（Read Only Memory）１２０、ＲＡＭ１３０及びメモリ１４０を有する。
【００３０】
これらのうち、ＲＡＭ１２０には、画像処理装置１００の機能を実現するためのアプリケーションプログラム１２２が格納されている。一方、ＲＡＭ１３０には、画像処理装置１００の機能のカスタマイズを実現すべく、アプリケーションプログラム１２２の実行時に必要に応じて実行されるプラグインモジュール１３２が格納される。更に、メモリ１４０には、後述する登録情報１４２が格納されている。
【００３１】
また、コントローラ１１０は、図示しないＣＰＵ（Central Processing Unit）を内蔵し、アプリケーション制御部１１２及びプラグイン制御部１１４を構成する。このコントローラ１１０は、アプリケーション制御部１１２によりアプリケーションプログラム１２２の初期化処理及び実行を制御するとともに、プラグイン制御部１１４によりプラグインモジュール１３２の初期化処理及び実行を制御する。以下、コントローラ１１０によるアプリケーションプログラム１２２及びプラグインモジュール１３２の初期化処理及び実行の制御の詳細を説明する。なお、以下においては、画像処理装置１００の機能が拡張される場合について説明する。
【００３２】
図２は、コントローラ１１０によるアプリケーションプログラム１２２の初期化処理の制御を示すフローチャートである。コントローラ１１０のアプリケーション制御部１１２は、ＲＡＭ１２０からアプリケーションプログラム１２２を読み出すと、当該アプリケーションプログラム１２２の初期化処理を開始する（Ｓ１０１）。
【００３３】
次に、コントローラ１１０のアプリケーション制御部１１２は、読み出したアプリケーションプログラム１２２に予め含まれる拡張ポイントを抽出し、登録情報１４２の一部としてメモリ１４０に登録する（Ｓ１０２）。ここで、拡張ポイントとは、画像処理装置１００の機能のカスタマイズを実現すべく、アプリケーションプログラム１２２内において、プラグインモジュール１３２を取り込むべき位置を示す情報である。拡張ポイントは、例えばアドレスの形式で変更可能箇所情報としてアプリケーションプログラム１２２に含まれている。図３は、拡張ポイントが登録される場合における登録情報１４２の一例を示す図である。図３では、２つの拡張ポイント＃１及び＃２が登録情報１４２の一部として登録されている。なお、拡張ポイントは、必ずしもアプリケーションプログラム１２２に含まれる必要はなく、アプリケーションプログラム１２２に対応付けられてメモリ１４０等に保持されていても良い。
【００３４】
再び、図２に戻って説明する。拡張ポイントの登録終了後、コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２の初期化処理を終了する（Ｓ１０３）。
図４は、コントローラ１１０によるプラグインモジュール１３２の初期化処理の制御を示すフローチャートである。コントローラ１１０のプラグイン制御部１１４は、ＲＡＭ１３０からプラグインモジュール１３２を読み出すと、当該プラグインモジュール１３２の初期化処理を開始する（Ｓ２０１）。
【００３５】
次に、コントローラ１１０のプラグイン制御部１１４は、読み出したプラグインモジュール１３２に対応する拡張ポイントがメモリ１４０内に存在するか否かを判定する（Ｓ２０２）。プラグインモジュール１３２には、予め当該プラグインモジュール１３２が取り込まれるべきアプリケーションプログラム１２２内の位置を示す拡張ポイントが含まれている。コントローラ１１０のプラグイン制御部１１４は、このプラグインモジュール１３２に含まれる拡張ポイントを抽出し、メモリ１４０内の各拡張ポイントと照合する。
【００３６】
プラグインモジュール１３２に対応する拡張ポイントがメモリ１４０内に存在する場合、コントローラ１１０のプラグイン制御部１１４は、そのプラグインモジュール１３２に対応するメモリ１４０内の拡張ポイントに、当該プラグインモジュール１３２に含まれる識別情報であるプラグインＩＤを関連付けて登録する（Ｓ２０３）。これにより、拡張ポイントと、当該拡張ポイントに対応するプラグインモジュール１３２のプラグインＩＤとが関連付けられた登録情報１４２が構成されることになる。図５は、拡張ポイントとプラグインＩＤとが設定された登録情報１４２の一例を示す図である。図５では、拡張ポイント＃１にプラグインＩＤ＃Ｂが関連付けられ、拡張ポイント＃２にプラグインＩＤ＃Ｃが関連付けられている。これは、アプリケーションプログラム１２２が拡張ポイント＃１まで実行された場合に、プラグインＩＤ＃Ｂを有するプラグインモジュール１３２が取り込まれて実行されること、及び、アプリケーションプログラム１２２が拡張ポイント＃２まで実行された場合に、プラグインＩＤ＃Ｃを有するプラグインモジュール１３２が取り込まれて実行されることを意味する。
【００３７】
なお、１つのプラグインモジュール１３２がアプリケーションプログラム１２２における複数の拡張ポイントにて取り込まれる場合もあり得る。この場合には、プラグインモジュール１３２には、複数の拡張ポイントが含まれ、登録情報１４２において、複数の拡張ポイントに同一のプラグインＩＤが関連付けられることになる。
【００３８】
プラグインＩＤの登録終了後、コントローラ１１０のプラグイン制御部１１４は、プラグインモジュール１３２の初期化処理を終了する（Ｓ２０４）。
【００３９】
一方、読み出されたプラグインモジュール１３２に対応する拡張ポイントがメモリ１４０内に存在しない場合（Ｓ２０２において否定判断された場合）には、アプリケーションプログラム１２２の実行において、その読み出されたプラグインモジュール１３２が取り込まれる必要はない。このため、コントローラ１１０のプラグイン制御部１１４は、Ｓ２０３におけるプラグインＩＤの登録を行わずに、そのままプラグインモジュール１３２の初期化処理を終了する（Ｓ２０４）。
【００４０】
図２及び図４の動作によって、アプリケーションプログラム１２２及びプラグインモジュール１３２の初期化処理が終了して、登録情報１４２が構成されると、これらアプリケーションプログラム１２２及びプラグインモジュール１３２の実行が可能となる。
【００４１】
図６は、コントローラ１１０によるアプリケーションプログラム１２２及びプラグインモジュール１３２の実行の制御を示すフローチャートである。なお、以下においては、アプリケーションプログラム１２２の実行によって、画像処理装置１００の機能としてスキャン動作の機能と、当該スキャン動作によって読み取られたイメージデータを保存する機能とが実現される場合について説明する。
【００４２】
コントローラ１１０のアプリケーション制御部１１２は、ＲＡＭ１２０からアプリケーションプログラム１２２を読み出し、当該アプリケーションプログラム１２２の実行により、スキャン動作を開始する（Ｓ３０１）。
【００４３】
その後、コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２が拡張ポイントまで実行されると、その拡張ポイントに対応するプラグインモジュール１３２、換言すれば、その拡張ポイントで取り込まれて実行されるべきプラグインモジュール１３２が存在するか否かを判定する（Ｓ３０２）。具体的には、コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２に含まれる拡張ポイントを抽出し、当該アプリケーションプログラム１２２が拡張ポイントまで実行されると、その拡張ポイントと、メモリ１４０に格納された登録情報１４２を構成する各拡張ポイントとを照合する。そして、メモリ１４０に格納された登録情報１４２を構成する各拡張ポイントの中に一致するものが存在する場合には、コントローラ１１０のアプリケーション制御部１１２は、拡張ポイントに対応するプラグインモジュール１３２が存在すると判断する。
【００４４】
コントローラ１１０のアプリケーション制御部１１２によって、拡張ポイントに対応するプラグインモジュール１３２が存在すると判断された場合、コントローラ１１０のプラグイン制御部１１４は、そのプラグインモジュール１３２をＲＡＭ１３０から読み出して実行する（Ｓ３０３）。具体的には、コントローラ１１０のプラグイン制御部１１４は、登録情報１４２において、その時点の拡張ポイントと一致する拡張ポイントに関連付けられているプラグインＩＤを抽出し、そのプラグインＩＤを有するプラグインモジュール１３２をＲＡＭ１３０から読み出して実行する。
【００４５】
ここで、プラグインモジュール１３２は、アプリケーションプログラム１２２と並行して実行されても良く、単独で実行されても良い。並行実行であるか単独実行であるかの判定は、コントローラ１１０のアプリケーション制御部１１２によるアプリケーションプログラム１２２の実行時に判定される。具体的には、予めアプリケーションプログラム１２２に含まれる各拡張ポイントに、並行実行であるか単独実行であるかを示すフラグ（実行フラグ）を付加させておく。そして、アプリケーションプログラムの初期化処理において、拡張ポイントがメモリ１４０に登録される際に（図２のＳ１０２参照）、実行フラグも登録されるようにする。
【００４６】
図７は、実行フラグが登録される場合における登録情報１４２の一例を示す図である。図７において、拡張ポイント＃１には、当該拡張ポイント＃１とともにアプリケーションプログラム１２２に含まれていた実行フラグ（ここでは単独実行を示す０）が関連付けられ、拡張ポイント＃２には、当該拡張ポイント＃２とともにアプリケーションプログラム１２２に含まれていた実行フラグ（ここでは並列実行を示す１）が関連付けられている。
【００４７】
コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２が拡張ポイントまで実行された場合に、その拡張ポイントに関連付けられた実行フラグを参照する。そして、参照した実行フラグが単独実行を示すものである場合には、Ｓ３０３におけるプラグインモジュール１３２の実行が終了するまで、アプリケーションプログラム１２２の実行が中断され、並列実行を示すものである場合には、Ｓ３０３におけるプラグインモジュール１３２の実行時においても、アプリケーションプログラム１２２の実行が継続される。
【００４８】
Ｓ３０３におけるプラグインモジュール１３２の実行の終了後、あるいは、Ｓ３０２において拡張ポイントに対応するプラグインモジュール１３２が存在しないと判定された後、コントローラ１１０のアプリケーション制御部１１２は、スキャン動作を終了する（Ｓ３０４）。なお、アプリケーションプログラム１２２におけるスキャン動作の開始から終了に対応する部分に複数の拡張ポイントが含まれる場合には、アプリケーションプログラム１２２が各拡張ポイントまで実行される毎に、Ｓ３０２における拡張ポイントに対応するプラグインモジュール１３２が存在するか否かの判定が行われ、拡張ポイントに対応するプラグインモジュール１３２が存在する場合には、Ｓ３０３において、そのプラグインモジュール１３２が実行されることになる。
【００４９】
スキャン動作の終了後、コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２の実行により、イメージデータの保存を開始する（Ｓ３０５）。
【００５０】
その後、コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２が拡張ポイントまで実行されると、その拡張ポイントに対応するプラグインモジュール１３２が存在するか否かを判定する（Ｓ３０６）。コントローラ１１０のアプリケーション制御部１１２によって、拡張ポイントに対応するプラグインモジュール１３２が存在すると判断された場合、コントローラ１１０のプラグイン制御部１１４は、そのプラグインモジュール１３２をＲＡＭ１３０から読み出して実行する（Ｓ３０７）。Ｓ３０６及びＳ３０７における具体的な動作は、Ｓ３０２及びＳ３０３と同様である。
【００５１】
Ｓ３０７におけるプラグインモジュール１３２の実行の終了後、あるいは、Ｓ３０６において拡張ポイントに対応するプラグインモジュール１３２が存在しないと判定された後、コントローラ１１０のアプリケーション制御部１１２は、アプリケーションプログラム１２２の実行を終了し、これによってイメージデータの保存を終了する（Ｓ３０８）。なお、アプリケーションプログラム１２２におけるイメージデータの保存開始から終了に対応する部分に複数の拡張ポイントが含まれる場合には、上述したスキャン動作の場合と同様、アプリケーションプログラム１２２が各拡張ポイントまで実行される毎に、Ｓ３０６における拡張ポイントに対応するプラグインモジュール１３２が存在するか否かの判定が行われ、拡張ポイントに対応するプラグインモジュール１３２が存在する場合には、Ｓ３０７において、そのプラグインモジュール１３２が実行されることになる。
【００５２】
上述したアプリケーションプログラム１２２及びプラグインモジュール１３２の実行の制御において、拡張ポイントとしては、アプリケーションプログラム１２２におけるジョブの実行前及び実行後があり、これらの拡張ポイントに対応するプラグインモジュール１３２としては、ジョブに関する各種情報の集計を行うものがある。この場合、アプリケーションプログラム１２２の実行によって得られるジョブに関する各種情報（ジョブの実行前に対応するものとしては、ユーザ、アプリケーションの種別、ジョブの開始時刻等であり、ジョブの実行後に対応するものとしては、ジョブの終了時刻、ジョブの実行結果等）がプラグインモジュール１３２の実行による集計処理に用いられる。
【００５３】
また、拡張ポイントとしては、画像処理装置１００のディスプレイ（図示せず）における画面表示開始前及び画面表示終了後があり、これらの拡張ポイントに対応するプラグインモジュール１３２としては、利用者認証のための画面を表示して、入力された認証情報に基づく認証を行うものがある。更に、拡張ポイントとしては、画像処理装置１００のディスプレイにおける画面表示中があり、この拡張ポイントに対応するプラグインモジュール１３２としては、画面表示情報を加工、編集して表示を行うもの、例えば、コピーサービスを行う業者のロゴを含んだ画面表示を行うものがある。
【００５４】
なお、拡張ポイントは、汎用性を高めるべく、複数のアプリケーションプログラム１２２の間で共通のものとすることができる。この場合、各アプリケーションプログラム１２２に対応する登録情報１４２において、必要な拡張ポイントにのみ、その拡張ポイントにおいて実行されるべきプラグインモジュール１３２のプラグインＩＤが関連付けられることになる。例えば、図８及び図９は、複数のアプリケーションプログラム１２２の間で共通に定められた拡張ポイント＃１乃至＃３のうち、拡張ポイント＃１乃至＃３が必要であって、拡張ポイント＃２が不要である場合の例である。図８では、不要な拡張ポイント＃２には、プラグインＩＤが関連付けられておらず、図９では、不要な拡張ポイント＃２が削除されている。
【００５５】
このように、画像処理装置１００では、機能拡張をすべき位置である拡張ポイントを含んだアプリケーションプログラム１２２と、その拡張ポイントにおいて実行されるべきプラグインモジュール１３２とが用意される。そして、アプリケーションプログラム１２２が拡張ポイントまで実行された場合には、その拡張ポイントにおいて実行されるべきプラグインモジュール１３２が実行されることにより、当該画像処理装置１００の機能を容易に拡張することができる。また、拡張ポイントと当該拡張ポイントにおいて実行されるべきプラグインモジュール１３２のプラグインＩＤとが関連付けられて登録情報１４２としてメモリ１４０内に格納されるため、拡張ポイントにおいて実行されるべきプラグインモジュール１３２が容易に特定可能となる。
【産業上の利用可能性】
【００５６】
以上、説明したように、本発明に係る情報処理装置及びアプリケーションプログラムは、機能変更を容易に行うことが可能であり、情報処理装置及びアプリケーションプログラムとして有用である。
【図面の簡単な説明】
【００５７】
【図１】画像処理装置の構成を示す図である。
【図２】アプリケーションプログラムの初期化処理の制御を示すフローチャートである。
【図３】登録情報の第１の例を示す図である。
【図４】プラグインモジュールの初期化処理の制御を示すフローチャートである。
【図５】登録情報の第２の例を示す図である。
【図６】アプリケーションプログラム及びプラグインモジュールの実行の制御を示すフローチャートである。
【図７】登録情報の第３の例を示す図である。
【図８】登録情報の第４の例を示す図である。
【図９】登録情報の第５の例を示す図である。
【符号の説明】
【００５８】
１００  画像処理装置
１１０  コントローラ
１１２  アプリケーション制御部
１１４  プラグイン制御部
１２０、１３０  ＲＡＭ
１２２  アプリケーションプログラム
１３２  プラグインモジュール
１４０  メモリ
１４２  登録情報
【図１】
2006085291.tif 000003
【図２】
2006085291.tif 000004
【図３】
2006085291.tif 000005
【図４】
2006085291.tif 000006
【図５】
2006085291.tif 000007
【図６】
2006085291.tif 000008
【図７】
2006085291.tif 000009
【図８】
2006085291.tif 000010
【図９】
2006085291.tif 000011