(57)【特許請求の範囲】
【請求項１】
基本機能と、基本機能に付加される拡張機能とによって実現される画像形成装置において、
前記拡張機能が付加された前記基本機能が実行される実行時間と、前記実行時間の中で拡張機能ごとの個別実行時間とを算出する実行時間算出手段と、
前記実行時間が閾値を超えているか否かを判定する実行時間判定手段と、
前記実行時間判定手段により前記実行時間が前記閾値を超えていると判定されたとき、前記個別実行時間に基づいて、前記実行時間が前記閾値を超えない拡張機能の組み合わせを作成する組合作成手段と、
前記組合作成手段により作成された拡張機能の組み合わせを表示する表示手段と、
を有すること特徴とする画像形成装置。
【請求項２】
ユーザにより指定された拡張機能の組み合わせに含まれない拡張機能を停止させる拡張機能停止手段と、
を有すること特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記表示手段は、拡張機能の組み合わせに含まれる拡張機能の数が多い順に、拡張機能の組み合わせを表示すること、
を特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記表示手段は、拡張機能の組み合わせに含まれる拡張機能の付加された日が新しい順に、拡張機能の組み合わせを表示すること、
を特徴とする請求項１ないし３いずれか一項に記載の画像形成装置。
【請求項５】
基本機能に付加された拡張機能の情報と、当該拡張機能を実現するプラグインの情報とを管理するプラグイン管理手段と、
前記拡張機能が付加された前記基本機能が実行されるとき、前記基本機能及び前記拡張機能を実現するプラグインごとに、プラグインの実行開始時間及び実行終了時間を記録するログ記録手段とを有し、
前記実行時間算出手段は、前記プラグイン管理手段により管理された前記拡張機能の情報及び当該拡張機能を構成するプラグインの情報と、前記ログ記録手段により記録された当該プラグインの実行開始時間及び実行終了時間とに基づいて、拡張機能ごとの個別実行時間を算出すること、
を特徴とする請求項１ないし４いずれか一項に記載の画像形成装置。
【請求項６】
基本機能と、基本機能に付加される拡張機能とによって実現される画像形成装置における拡張機能組合作成方法において、
前記拡張機能が付加された前記基本機能が実行される実行時間と、前記実行時間の中で拡張機能ごとの個別実行時間とを算出する実行時間算出手順と、
前記実行時間が閾値を超えているか否かを判定する実行時間判定手順と、
前記実行時間判定手順により前記実行時間が前記閾値を超えていると判定されたとき、前記個別実行時間に基づいて、前記実行時間が前記閾値を超えない拡張機能の組み合わせを作成する組合作成手順と、
前記組合作成手順により作成された拡張機能の組み合わせを表示する表示手順と、
を有すること特徴とする拡張機能組合作成方法。
【請求項７】
ユーザにより指定された拡張機能の組み合わせに含まれない拡張機能を停止させる拡張機能停止手順と、
を有すること特徴とする請求項６に記載の拡張機能組合作成方法。
【請求項８】
前記表示手順は、拡張機能の組み合わせに含まれる拡張機能の数が多い順に、拡張機能の組み合わせを表示すること、
を特徴とする請求項６又は７に記載の拡張機能組合作成方法。
【請求項９】
前記表示手順は、拡張機能の組み合わせに含まれる拡張機能の付加された日が新しい順に、拡張機能の組み合わせを表示すること、
を特徴とする請求項６ないし８いずれか一項に記載の拡張機能組合作成方法。
【請求項１０】
基本機能に付加された拡張機能の情報と、当該拡張機能を実現するプラグインの情報とを管理するプラグイン管理手順と、
前記拡張機能が付加された前記基本機能が実行されるとき、前記基本機能及び前記拡張機能を実現するプラグインごとに、プラグインの実行開始時間及び実行終了時間を記録するログ記録手順とを有し、
前記実行時間算出手順は、前記プラグイン管理手順により管理された前記拡張機能の情報及び当該拡張機能を構成するプラグインの情報と、前記ログ記録手段により記録された当該プラグインの実行開始時間及び実行終了時間とに基づいて、拡張機能ごとの個別実行時間を算出すること、
を特徴とする請求項６ないし９いずれか一項に記載の拡張機能組合作成方法。
【請求項１１】
請求項６ないし１０いずれか一項に記載の拡張機能組合作成方法をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、拡張機能組合作成方法、プログラム、及び記録媒体の分野に関する。
【背景技術】
【０００２】
現在のデジタル複合機、画像形成装置は、CPU（Central Processing Unit）の性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、画像処理・画像形成に関連する技術の進化に伴い、単にデジタル複写機としての機能だけでなく、ファクシミリ、プリンタ及びスキャナ機能等の様々な機能を搭載し、利用者の環境において様々な場面で利用されている。
【０００３】
そのため、利用者からは、基本機能（標準機能）に加え、用途に合わせた機能拡張を要求されることも多く、製造者（メーカー）側では、基本機能の拡張を迅速に行うため、機能の拡張性や導入の柔軟性に優れた画像形成装置を設計しなければならない。これらの点を鑑みて、拡張機能プログラムを蓄積したダウンロードサーバから、拡張したい機能を選択し、該当する拡張機能プログラムをダウンロード（画像形成装置側に転送）することで機能拡張（アップグレード）を行なうことが可能となっている。なお、拡張機能プログラムは、複数のプラグインから実現（構成）されていることが多い。これは共通プラグインを複数の拡張機能で共有できること、部品化による開発のし易さなどの理由による設計事項であり、現在、拡張機能プログラムは主にプラグイン単位で開発が進められている。
【０００４】
ところで、拡張機能の中には、「文書送信」などそれ単体で機能できるものもあるが、単体で機能せず基本機能に付加されて機能するものがある（説明の便宜上、基本機能に付加して機能する拡張機能を付加型拡張機能という）。例えば、「不正コピー画像認識機能」などの付加型拡張機能は、基本機能であるコピー機能に付加して、コピー対象画像を認識し、対象画像が不正画像と判断された場合にはコピーを中止させる機能である。コピー機能なしの単独では機能しない。このように基本機能は、画像形成装置における基本機能アプリケーションであり、付加型拡張機能は、基本機能アプリケーションのプラグインソフトウェアという関係を持っているともいえる。
【０００５】
この付加型拡張機能の中には、３ｒｄベンダ等により開発され、画像形成装置に機能拡張されるものもある。例えば、３ｒｄベンダにより開発された付加型拡張機能である「コピー画像への独自スタンプ追加機能」が画像形成装置に追加されていたとする。この機能は、コピー処理において、コピー画像に対し予め用意されたスタンプ画像を所定位置にスタンプする機能である。因みに、スタンプ画像は、使用される環境で個々に異なっており（例えば社印、特定マークなどが多い）、また、スタンプ画像がスタンプされる位置なども個々に異なっていたりと、「コピー画像への独自スタンプ追加機能」は使用環境ごとに多少なりともカスタマイズされる。
【０００６】
ここで、画像形成装置に対して、度々複数の付加型拡張機能を追加した結果、付加型拡張機能含めた基本機能の処理動作が思いの外、遅くなるなどの問題が生じる場合がある。この場合、特にどの付加型拡張機能により、全体として処理動作が遅くなっているのかを洗い出すため、検証などを行うことになる。
【０００７】
図１６は、追加された拡張機能の一覧を示す図である。直近（2008/01/31）、「指紋認証」、「課金」、及び「不正コピー画像認識機能」の３つの付加型拡張機能が追加されている。このように複数の付加型拡張機能が一度に追加され、付加型拡張機能含めた基本機能の処理動作全体のパフォーマンスの低下が発生した場合には、図１７に示すように、１つの付加型拡張機能を停止させて、基本機能の処理動作させてみるなどして、特にどの付加型拡張機能により基本機能の全体の処理動作のパフォーマンスの低下が発生しているのかを特定しなくてはならない。また、依然パフォーマンスが悪いようであれば、図１８に示すように、もう１つ付加型拡張機能を停止させてみる。さらに、場合によっては、図１９に示すように、一度停止した付加型拡張機能を動作させてみる場合もある。このように、何通りものパターンを試して検証を行うことになる。
【０００８】
もし単独で機能できる拡張機能ならば、それ単独で機能させれば良く処理時間の把握は容易である。しかしながら、付加型拡張機能は、それ単独で機能できず基本機能に付加して機能する上、使用環境ごとに多少なりとも異なる仕様（カスタマイズ）である場合もあり、さらに３ｒｄベンダにより開発された付加型拡張機能も含まれていたりと、事前に付加型拡張機能ごとの正確な処理時間の把握が難しく、結局実際に処理動作させ上述したような検証方法で検証される場合が多いのが実情である。
【０００９】
ところで、問題や障害が発生した際に、一般的な方法として、ログを採取しての原因究明もよく行われる。プログラムが吐き出す処理履歴、ログを分析することによって、問題を特定することができることがある。これを解決するに関連する技術として、特許文献１に記載される発明には、障害原因特定のために有効なログを収集することのできるログ収集装置、ログ収集プログラム、及び画像形成装置について記載されている。このように、ログ機能を有効活用することにより、効率的かつ迅速に問題や原因の特定を行うことができる。
【特許文献１】特開２００６−０９９７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、まず図１６−１９で示したような何通りものパターンで検証を行う方法では、複数回のパフォーマンスの計測、確認が必要になってくることになる。まして、相当多数の拡張機能が一度に追加された場合など考えれば、このような方法による検証は相当な手間である。また、ログを採取分析する方法においては、そもそも一般的にログ分析といっても、正確に問題を特定するためには、まずログの内容自体が問題と対応していること（まさにその問題を特定するために設計されたログであるか）、ログの吐き出しが十分であることなどが必要である。
【００１１】
そこで本発明では上記のような問題に鑑みて、基本機能に拡張機能を付加したことで拡張機能含めた基本機能の処理動作のパフォーマンスが低下した場合など、上述したような拡張機能の組み合わせごとにパフォーマンスの計測検証を何度も実施することなく、一度の計測検証で処理動作のパフォーマンス状況を特定し、一定のパフォーマンスを維持するための拡張機能構成を容易に把握できるようにするものである。
【００１２】
即ち、本発明は、基本機能に拡張機能が追加されたとき容易に処理動作のパフォーマンス状況を特定し、又一定のパフォーマンスを維持可能な拡張機能構成を提案及び提供を行なう画像形成装置、拡張機能組合作成方法、プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１３】
そこで上記課題を解決するため、本発明に係る画像形成装置は、基本機能と、基本機能に付加される拡張機能とによって実現される画像形成装置において、前記拡張機能が付加された前記基本機能が実行される実行時間と、前記実行時間の中で拡張機能ごとの個別実行時間とを算出する実行時間算出手段と、前記実行時間が閾値を超えているか否かを判定する実行時間判定手段と、前記実行時間判定手段により前記実行時間が前記閾値を超えていると判定されたとき、前記個別実行時間に基づいて、前記実行時間が前記閾値を超えない拡張機能の組み合わせを作成する組合作成手段と、前記組合作成手段により作成された拡張機能の組み合わせを表示する表示手段とを有すること特徴とする。
【００１４】
また上記課題を解決するため、前記画像形成装置において、ユーザにより指定された拡張機能の組み合わせに含まれない拡張機能を停止させる拡張機能停止手段とを有すること特徴とする。
【００１５】
また上記課題を解決するため、前記画像形成装置において、前記表示手段は、拡張機能の組み合わせに含まれる拡張機能の数が多い順に、拡張機能の組み合わせを表示することを特徴とする。
【００１６】
また上記課題を解決するため、前記画像形成装置において、前記表示手段は、拡張機能の組み合わせに含まれる拡張機能の付加された日が新しい順に、拡張機能の組み合わせを表示することを特徴とする。
【００１７】
また上記課題を解決するため、前記画像形成装置において、基本機能に付加された拡張機能の情報と、当該拡張機能を実現するプラグインの情報とを管理するプラグイン管理手段と前記拡張機能が付加された前記基本機能が実行されるとき、前記基本機能及び前記拡張機能を実現するプラグインごとに、プラグインの実行開始時間及び実行終了時間を記録するログ記録手段とを有し、前記実行時間算出手段は、前記プラグイン管理手段により管理された前記拡張機能の情報及び当該拡張機能を構成するプラグインの情報と、前記ログ記録手段により記録された当該プラグインの実行開始時間及び実行終了時間とに基づいて、拡張機能ごとの個別実行時間を算出することを特徴とする。
【００１８】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１９】
本発明によれば、基本機能に拡張機能が追加されたとき容易に処理動作のパフォーマンス状況を特定し、又一定のパフォーマンスを維持可能な拡張機能構成を提案及び提供を行なう画像形成装置、拡張機能組合作成方法、プログラム、及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態を各実施形態において図面を用いて説明する。
【００２１】
（画像形成装置）
図１は、本発明の実施形態に係る画像形成装置１の一実施形態の主要構成を示すハードウェア構成図である。本実施形態に係る画像形成装置１は、主要な構成として、操作パネル１１と、記憶メディアＩ／Ｆ（Interface）１２と、コントローラ１３と、データ通信Ｉ／Ｆ１４と、ＨＤＤ（Hard Disk Drive）１７と、スキャナ１５と、プロッタ１６とを含む構成であり、それぞれ相互に接続されている。以下、簡単に説明する。
【００２２】
操作パネル１１は、入力装置１１aと表示装置１１bとを有しており、入力装置１１aは、ハードウェアキーなどで構成され、画像形成装置１に各操作信号を入力するのに用いられる。また、表示装置１１bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信Ｉ／Ｆ１４は、インタフェース装置１４aを有しており、画像形成装置１をネットワークなどのデータ伝送路に接続するインタフェースである。
【００２３】
ＨＤＤ１７は、画像形成装置１で取り扱われる受信文書データや読み取り画像データ、ログファイルなどの各種データを格納している。また、ＨＤＤ１７は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００２４】
ＨＤＤ１７に格納される各種データの中には、外部機器によって記録された電子データも含まれる。このような場合には、メモリカードなどの記録媒体１２bによって画像形成装置１に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体１２bは、記憶メディアＩ／Ｆ１２が有するドライブ装置１２aにセットされ各種データが記録媒体１２bからドライブ装置１２aを介してＨＤＤ１７に格納される。
【００２５】
コントローラ１３は、ＲＯＭ（Read Only Memory）１３a、ＲＡＭ（Random Access Memory）１３b、及びＣＰＵ（Central Processing Unit）１３cとを有しており、ＲＯＭ１３aは、画像形成装置１が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭ１３bは、ＲＯＭ１３aやＨＤＤ１７から読み出された各種プログラムやデータを一時保持する。更に、ＣＰＵ１３cは、ＲＡＭ１３bが一時保持しているプログラムを実行する。コントローラ１３は、例えば、データ通信Ｉ／Ｆ１４を介して印刷データを受信した場合に、ＲＯＭ１３aからＲＡＭ１３b上に読み出された、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１３cにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００２６】
スキャナ１５は、画像読取装置１５aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ１６は、印刷装置１６aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
【００２７】
このように、本実施形態に係る画像形成装置１では、上記ハードウェア構成により、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。
【００２８】
（機能）
図２は、本発明の実施形態に係る画像形成装置１の一実施形態の主要機能を示す機能ブロック図である。画像形成装置１は、主要な機能として、機能実行部２０１、ログ記録部２０２、ログ格納部２０３、ログ取得部２０４、実行時間算出部２０５、実行時間判定部２０６、組合（組合せ）作成部２０７、プラグイン管理部２０８、表示部２０９、拡張機能停止部２１０を含む構成である。
【００２９】
機能実行部２０１は、機能を実行する。即ち、拡張機能が付加された基本機能を実行して、画像形成装置１に係る処理動作を行う。例えば、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実行する。
【００３０】
ログ記録部２０２は、機能実行部２０１により実行された機能について、その機能が実現されるプラグインごとの開始時間及び終了時間を含む処理ログを記録する。ログ格納部２０３は、ログ記録部２０２により記録されたログを格納する。ログ取得部２０４は、ログ格納部２０３に格納されたプラグインごとのログを取得する。
【００３１】
実行時間算出部２０５は、ログ取得部２０４により取得されたログの開始時間及び終了時間から、ある処理動作の実行時間（全実行時間）を算出する。またプラグインごとの実行時間（個別実行時間）を算出する。簡単にいえば、終了時間から開始時間を引いた時間が実行時間として算出される。
【００３２】
実行時間判定部２０６は、拡張機能が付加された基本機能の処理が開始されてから終了するまでの実行時間（全実行時間）と、所定の閾値とを比較して、全実行時間が閾値内に収まっているか（超えているか）否かを判定する。つまり、画像形成装置１における基本機能を実行するときのパフォーマンスが、所定時間以内（閾値以内）に収まっているかを判定する。実行時間算出部２０５で算出されたプラグインごとの実行時間（個別実行時間）と、プラグイン管理部２０８で管理されている拡張機能の情報及び当該拡張機能を実現するプラグインの情報とから全実行時間を取得できる。この詳細は後述する。
【００３３】
組合作成部２０７は、実行時間判定部２０６により全実行時間が、所定の閾値とを比較して、閾値内に収まっていない（超えている）と判定された場合に、閾値内で全実行時間が収まる拡張機能の組み合せを作成する。例えば、基本機能に複数の拡張機能が付加されている場合、組合作成部２０７は、この複数の拡張機能の中から多くの実行時間を要する拡張機能を外して、閾値内に収まるような拡張機能の組合せを作成する。
【００３４】
プラグイン管理部２０８は、拡張機能の情報及び当該拡張機能を実現するプラグインの情報を管理する。例えば、工場出荷時に搭載されている基本機能に後日追加された拡張機能の一覧、またその拡張機能を構成するプラグインの情報を管理している。なお、ある拡張機能を実現するに１つ以上のプラグインにより実現されている場合もある。この場合、ある拡張機能を実現するに、例えば、プラグインＡ、プラグインＢ、及びプラグインＣという３つのプラグインを画像形成装置１にインストールすることにより、１つの拡張機能が実現されるということになる。
【００３５】
表示部２０９は、組合作成部２０７により作成された拡張機能の組み合せを表示する。
【００３６】
拡張機能停止部２１０は、表示部２０９により表示された拡張機能の組み合せの中からユーザにより選択・指定された拡張機能の組み合わせに含まれない拡張機能を停止させる。例えば、表示部２０９により、複数の拡張機能の組み合わせが表示されたとして、この中から１つ、拡張機能の組み合わせをユーザが選択する。拡張機能停止部２１０は、その拡張機能の組み合わせに含まれなかった拡張機能を停止させる。
【００３７】
なお、これらの機能は、実際にはＣＰＵ１３ｃが実行するプログラムにより実現されるものである。
【００３８】
以上、画像処理装置１の有するハードウェア構成と機能構成について、説明を行った。続いて以下、実施例を交えながら具体的に説明を行う。
【００３９】
＜実施例１＞
本実施例による画像形成装置１の一使用形態について説明する。まず、本発明の内容理解を容易にするため、本発明が実施された結果、拡張機能の組み合わせの表示について説明する。
【００４０】
図３は、プラグイン管理部２０８が管理する拡張機能の情報及び当該拡張機能を実現するプラグインの情報の一例である。この例では、５つの拡張機能が画像形成装置１に追加されている。また、各拡張機能の状態（ステータス）はそれぞれ有効（Activated）である。図４は、画像形成装置１のパフォーマンスが低下したときに表示される画面の一例である。図３に示す拡張機能が画像形成装置１に追加されて、所定のパフォーマンスを維持できなくなった場合に表示される。図４は、ある処理動作、例えば、コピーが行われた際、コピーのパフォーマンスが所定時間以内（閾値内）に収まらなかった場合に表示される画面例である。図４の警告画面によれば、基本機能であるコピー機能には、「文書蓄積」、「不正コピー画像認識」及び「課金」の拡張機能が付加されているが、この拡張機能が付加されることによりパフォーマンスが所定時間以内に収まっていない。そのため、その旨が警告され、所定のパフォーマンスを維持可能な４つの場合の拡張機能の組み合わせが提案される。またユーザがこの中から１つ、例えば、「文書蓄積」、「不正コピー画像認識」を選択すると、これ以外の拡張機能である「課金」の機能は停止される。このように本発明に係る画像形成装置１は、基本機能に拡張機能が追加されたとき、容易に処理動作のパフォーマンス状況を特定し、一定のパフォーマンスを維持可能な拡張機能構成を提案及び提供するものである。以下、詳しく説明する。
【００４１】
（ログ記録）
まず、ある処理動作、例えば、コピーが行われた際、コピーのパフォーマンスが所定時間以内（閾値内）に収まっているか否かを判定するため、コピーの処理動作の実行時間を取得する。上述したように、基本機能には拡張機能が付加されているので、本実施例では、基本機能及び拡張機能を実現するプラグインごとのログを利用してプラグインの実行開始時間及び実行終了時間を算出する。
【００４２】
図５は、ログ記録部２０２が、拡張機能が付加された前記基本機能が実行されるとき、基本機能及び拡張機能を実現するプラグインごとに、プラグインの実行開始時間及び実行終了時間を記録したログファイルの一例を示す図である。この例では、コピー、ＦＡＸが行われた際に記録されたログの一例となっている。ログには基本機能及び拡張機能を実現するプラグインごとに、実行開始時間及び実行終了時間が記録されている。
【００４３】
（動作全体）
次に図６のフローチャートを参照して、例えば、コピーが行なわれた際にログが記録される様子を含む画像形成装置１の動作全体について説明する。本実施例に係るコピー機能は、図６に示すように、「PluginOpe」、「PluginEngine（スキャンエンジン）」、「PluginA」、「PluginB」、「PluginC」、「PluginD」、及び「PluginEngine（プリントエンジン）」といったプラグインにより実現される。なお、「PluginEngine（プリントエンジン）」が行なう処理には、給紙や排紙処理といった処理も含むものとする。
【００４４】
ステップＳ６０１で、ユーザ操作によりコピー要求が行われる。ステップＳ６０２で、「PluginOpe」においてログ記録部２０２は、コピー要求を受けて処理（オペレーション処理）の開始とともにログファイルにログを記録する。また、処理の終了とともに再度ログファイルにログを記録する。ステップＳ６０３で、機能実行部２０１は、次に処理を実行すべき「PluginEngine（スキャンエンジン）」に対して処理要求を行う。
【００４５】
ステップＳ６０４で、「PluginEngine（スキャンエンジン）」においてログ記録部２０２は、処理要求を受けて処理（スキャン処理）の開始とともにログファイルにログを記録する。また、処理の終了とともに再度ログファイルにログを記録する。ステップＳ６０５で、機能実行部２０１は、は、次に処理を実行すべき「PluginA」に対して処理要求を行う。以降、この動作は全てのプラグインにおいて行われる。
【００４６】
ステップＳ６０６に進み、「PluginEngine（プリントエンジン）」においてログ記録部２０２が処理の終了とともにログファイルにログを記録すると、実行時間算出部２０５に対してジョブ終了通知が通知される。なお、実際、ログ記録部２０２が行なうログ記録は、プラグインにおいて含まれるログ書き出しプログラムをＣＰＵ１３ｃが実行することにより実現される。
【００４７】
ステップＳ６０７に進み、ログ取得部２０４により実行時間算出部２０５では、ログファイルからログが取得される。実行時間算出部２０５は、ログから個別実行時間と、全実行時間とを算出する。個別実行時間は、プラグインごとの実行に要した処理の時間である。また全実行時間は、拡張機能が付加された基本機能が実行に要した処理の時間である。つまり、プラグイン「PluginOpe」から「PluginEngine（プリントエンジン）」までが実行されるコピー処理全体に要する時間である。
【００４８】
ステップＳ６０８に進み、実行時間判定部２０６は、実行時間算出部２０５で算出された全実行時間を取得する。
【００４９】
図７、ステップＳ７０１に進み、実行時間判定部２０６は、コピーのパフォーマンスが所定時間以内（閾値内）に収まっているか否かを判定する。なお、この閾値は管理者等によって予め設定されている値であり、コピーであればコピー処理が完了されるべき時間であるとして設定される時間である。例えば、コピーには、排紙完了まで含めて６．５秒という閾値が設定されているとする。この場合、実行時間判定部２０６は、全実行時間が６．５秒以内に実行されたか否かを判定する。全実行時間が、所定時間以内（閾値内）に収まっていると判定した場合には問題はないので、画像形成装置１における本実施例に係る処理はこのまま終了する。また、全実行時間が所定時間以内（閾値内）に収まっていないと判定した場合、次のステップに進む。
【００５０】
ステップＳ７０２に進み、全実行時間が所定時間以内（閾値内）に収まっていないと判定された場合であるが、実行時間判定部２０６は、組合作成部２０７に対して組合作成要求を行う。上述したように組合作成部２０７は、閾値内で全実行時間が収まる拡張機能の組み合せを作成する。例えば、基本機能に複数の拡張機能が付加されている場合、組合作成部２０７は、この複数の拡張機能の中から多くの実行時間を要する拡張機能を外して、閾値内に収まるような拡張機能の組合せを作成する。ステップＳ７０３で、組合せの作成にあたって組合作成部２０７は、プラグイン管理部２０８から拡張機能情報とプラグイン情報とを取得する。プラグイン管理部２０８は、拡張機能の情報及び当該拡張機能を実現するプラグインの情報を管理しているので、この情報に基づいて特に拡張機能を構成するプラグインの情報を得る。
【００５１】
ステップＳ７０４で、組合作成部２０７は、閾値内で実行可能な拡張機能リストを作成する。この閾値は実行時間判定部２０６から取得している。なお、この拡張機能リストの作成については、後に詳しく説明する。
【００５２】
次いでステップＳ７０５で、表示部２０９により、組合作成部２０７で作成された拡張機能の組合せが表示される。この一例として、図４に示す画面が表示される。閾値内で実行可能な拡張機能の組合せが、警告とともに提案されている。また、組合せが複数ある場合にはユーザが所望する組合せを選択可能となっている。
【００５３】
ステップＳ７０６に進み、ユーザが所望する組合せを選択すると、拡張機能停止命令が拡張機能停止部２１０に通知される。ステップＳ７０７でユーザにより指定された拡張機能の組み合わせに含まれない拡張機能は、実行時間を短縮するため（実行時間を閾値内に収めるため）停止される。ステップＳ７０８に進み、拡張機能の停止通知がプラグイン管理部２０８に対して行われる。ステップＳ７０８で、プラグイン管理部２０８は拡張機能の状態（ステータス）の更新を行う。なお、ユーザが所望する組合せを選択すると、拡張機能停止命令が拡張機能停止部２１０に通知されるが、この拡張機能停止命令の通知はプラグイン管理部２０８によって行われる構成とすることも可能である。
【００５４】
このように本実施例に係る画像形成装置１は、基本機能に拡張機能を付加したことで拡張機能含めた基本機能の処理動作のパフォーマンスが低下した場合など、上述したような拡張機能の組み合わせごとにパフォーマンスの計測検証を何度も実施することなく、一度の計測検証で処理動作のパフォーマンス状況を特定し、一定のパフォーマンスを維持するための拡張機能構成を提案する。また、拡張機能を停止することにより一定のパフォーマンスを維持することが可能となる。
【００５５】
（動作詳細）
次に、主に実行時間判定部２０６及び組合作成部２０７の動作について詳しく説明する。実行時間判定部２０６は実行時間が所定時間以内（閾値内）に収まっていないと判定し、組合作成部２０７は閾値内で全実行時間が収まる拡張機能の組み合せを作成する動作についてである。図８を参照しつつ説明を行う。
【００５６】
ステップＳ８０１において、実行時間判定部２０６は、閾値と全実行時間が比較され実行時間が所定時間以内（閾値内）に収まっているか否かが判定する。全実行時間が所定時間以内（閾値内）に収まっている場合には処理を終了する（Ｙ）。全実行時間が所定時間以内（閾値内）に収まっていない場合は次に進む（Ｎ）。
【００５７】
ステップＳ８０２に進み、組合作成部２０７は、実行時間算出部２０５からプラグインごとの実行時間（個別実行時間）を取得する。なお、プラグインごとの個別実行時間は、実行時間算出部２０５で算出されている。図９にプラグインごとの個別実行時間の一例を示す。
【００５８】
ステップＳ８０３に進み、組合作成部２０７は、プラグイン管理部２０８から追加された拡張機能の一覧、拡張機能を構成するプラグインの情報を取得する。図３に一例を示す。
【００５９】
ステップＳ８０４に進み、組合作成部２０７は、ステップＳ８０２、８０３で取得した情報から、拡張機能ごとの実行時間を算出する。これを説明するに、図３及び９をまずプラグインをキーとして表を結合する。図９からある処理動作には、「PluginOpe」、「PluginA-D」、「PluginEngine」というプラグインが関わっていることが分かる。また図３を参照すると、拡張機能によるプラグイン部分があるということが分かる。その共通部(PluginB〜D)に注目して一つにまとめたものが図１０となる。図３及び９に共通である「PluginB−D」は拡張機能であると判明し、共通ではない「PluginOpe」、「PluginA」、「PluginEngine」は、基本機能ということになる。
【００６０】
ステップＳ８０５に進む。図１１は、拡張機能の組合せをリストアップしたものである。拡張機能は、３つ付加されているのでその組合せとして、８（2^3）通りがリストアップされる。
【００６１】
ステップＳ８０６に進み、組合作成部２０７は、この拡張機能の組合せの中から閾値内で全実行時間が収まる組合せを選択する。ここで閾値を６．５秒とすると、全実行時間は７秒（図９）であるので、基本機能を実現するプラグイン（「PluginOpe」、「PluginA」、「PluginEngine」）の実行時間５．６秒を差し引いた残り０．９秒以内で実行可能な拡張機能の組合せを選択することになる。図１２は、０．９秒以内で実行可能な拡張機能の組合せをリストアップしたものである。Ｎｏ３、５−８の拡張機能の組合せがこれに該当している。
【００６２】
ステップＳ８０７に進み、ステップＳ８０６でリストアップした拡張機能の組合せをできるだけ拡張機能が多い組合せを優先し、拡張機能が追加された日時が新しい順、また実行時間が少ない順に並び替える（ソートする）。図１３は、拡張機能をこの条件を満たす順に並び替えたものである（新Ｎｏ１−５）。新Ｎｏ１（並び替え前Ｎｏ３）は、「文書蓄積」、「不正コピー画像認識」という２つの拡張機能を含むので最も拡張機能が多く先頭に並び替えられている。新Ｎｏ２（並び替え前Ｎｏ７）は、「不正コピー画像認識」という１つの拡張機能を含むが、追加された日時(2008/01/31)が新しく、実行時間（0.200）も少ないので２番目に並び替えられている。
【００６３】
ステップＳ８０８に進み、表示部２０９は、ステップＳ８０７で並び替えられた順に拡張機能の組合せを表示する。図４に一例を示す。なお、拡張機能が多い組合せを優先して並び替えるのは、できるだけ多くの拡張機能は有効である方が多くの機能を使用可能であるし、また追加された日時(2008/01/31)が新しい順に並び替えるのは、先に追加された拡張機能をできるだけ尊重すべきであること等による。そして、表示の際にユーザに対して上述の順序でもって拡張機能の組合せを提案することができる。
【００６４】
ステップＳ８０９に進み、機能停止命令が拡張機能停止部２１０に通知された場合には、ステップＳ８１０で、拡張機能停止部２１０は、該当する拡張機能を停止する。具体的には、図４に示す画面においてユーザが先頭の「文書蓄積、不正コピー画像認識」を有効とする拡張機能の組合せを選択した場合に、ユーザにより指定された拡張機能の組み合わせに含まれない拡張機能である「課金」を停止させる。拡張機能の停止により、ステップＳ８１１で、プラグイン管理情報の更新が行なわれる（プラグイン管理部２０８）。図１４に、「課金」機能が停止された一例を示す。
【００６５】
以上、本実施例による画像形成装置１によれば、基本機能に拡張機能を付加したことで拡張機能含めた基本機能の処理動作のパフォーマンスが低下した場合など、上述したような拡張機能の組み合わせごとにパフォーマンスの計測検証を何度も実施することなく、一度の計測検証で処理動作のパフォーマンス状況を特定し、一定のパフォーマンスを維持するための拡張機能構成を容易に把握することが可能となる。即ち、本発明によれば、基本機能に拡張機能が追加されたとき容易に処理動作のパフォーマンス状況を特定し、又一定のパフォーマンスを維持可能な拡張機能構成を提案及び提供を行なう画像形成装置、拡張機能組合作成方法、プログラム、及び記録媒体を提供することが可能となる。
【００６６】
＜実施例２＞
図１５は、本発明の実施例に係るビルドサーバ２、証明書サーバ３、及びダウンロードサーバ４の一実施例の主要機能を示す機能ブロック図である。画像形成装置１は、ネットワーク５を介して接続されたダウンロードサーバ４から拡張機能プログラムをダウンロードが可能な構成である。基本機能の拡張を迅速に行うため、拡張機能プログラムを蓄積したダウンロードサーバ４から、拡張したい機能を選択し、該当する拡張機能プログラムをダウンロード（画像形成装置側に転送）することで機能拡張（アップグレード）を行なうことが可能となっている。本実施例では、実施例1で説明した画像形成装置１を実現するため、ログ書き出し機能を担保する拡張機能プログラム（プラグイン）を提供するビルドサーバ２、証明書サーバ３、及びダウンロードサーバ４について説明する。なお、画像形成装置１は既に上述した通りであるので説明は省略する。
【００６７】
ビルドサーバ２は、ソース格納部１５０１、ログ機能挿入部１５０２、及びビルド部１５０３を含む構成である。ソース格納部１５０１は、拡張機能プログラム（プラグイン）のプログラムソースそのものを格納する領域である。ログ機能挿入部１５０２は、プログラムソースに対し、適切な箇所にログ吐き出し機能を挿入（付加）する。これにより、このソースによるプラグインをインストールされる画像形成装置１は、プラグインの実行時間及び終了時間をログとして吐き出すことができる。ビルド部１５０３は、プログラムソースをビルド（コンパイル）し実行プログラムに変換する。
【００６８】
証明書サーバ３は、ログ機能チェック部１５１１及び証明書付与部１５１２を含む構成である。ログ機能チェック部１５１１は、ビルド部１５０３によりビルドされた実行プログラムに適切なログ吐き出し機能が挿入されているか確認する。証明書付与部１５１２は、ログ機能チェック部１５１１により確認された実行プログラムに対して証明書を付与する。証明書が付与された実行フログラムは、プラグインの実行時間及び終了時間をログとして吐き出す機能を有することが証明される。
【００６９】
ダウンロードサーバ４は、プラグイン格納部１５３１を含む構成である。プラグイン格納部１５３１には、証明書付き実行プログラムが格納される。ダウンロードサーバ４から配信されることを許可(証明書が付与)された実行プログラムを格納する領域である。画像形成装置１は、ネットワーク５を介して基本機能を拡張すべく実行プログラム（プラグイン）のダウンロードを行なう。
【００７０】
なお、本実施例に係るビルドサーバ２、証明書サーバ３、及びダウンロードサーバ４は、主要なハードウェア構成としては、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、表示装置、操作装置、データ通信Ｉ／Ｆとを含む構成であり、それぞれ相互に接続されている。
【００７１】
以上、本実施例によれば、プラグインごとのばらつきを抑え一定の基準を満たす拡張機能プログラム（プラグイン）がダウンロードサーバ４から配信されるので、基本機能に拡張機能が追加されたとき、容易に処理動作のパフォーマンス状況を特定し、一定のパフォーマンスを維持可能な拡張機能構成を提案及び提供する画像形成装置を安定して提供することが可能となる。
【００７２】
なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７３】
例えば、図７のステップＳ７０６、又は図８のステップＳ８０９において、ユーザが所望する拡張機能の組合せを選択すると、ユーザにより選択（指定）された拡張機能の組み合わせに含まれない拡張機能は停止されると説明した。ここで、ユーザの選択なしに、拡張機能が多い組合せを優先して、及び／又は、追加された日時の新しい順での並び替えにより、最もこの条件に当て嵌まる（先頭に並び替えられた）拡張機能の組合せを有効とし、その上で残りの拡張機能の組合せをユーザが選択可能とする構成も可能である。この場合、一旦推奨（先頭に並び替えられた）される拡張機能の組合せを有効とし、この有効にされた拡張機能の組み合わせに含まれない拡張機能は停止される。そして、残りの拡張機能の組合せからユーザの選択があった場合にはその拡張機能の組合せを有効とするものである。これにより、あまり知識がないユーザにとっても特段操作なしに推奨される画像形成装置１のパフォーマンスを維持することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施形態に係る画像形成装置１の一実施形態の主要構成を示すハードウェア構成図である。
【図２】本発明の実施形態に係る画像形成装置１の一実施形態の主要機能を示す機能ブロック図である。
【図３】プラグイン管理部が管理する拡張機能の情報及び当該拡張機能を実現するプラグインの情報の一例を示す図である。
【図４】画像形成装置１のパフォーマンスが低下したときに表示される画面の一例を示す図である。
【図５】ログファイルの一例を示す図である。
【図６】画像形成装置１の動作全体について説明するフローチャートである。
【図７】画像形成装置１の動作全体について説明するフローチャートである。
【図８】画像形成装置１の動作詳細について説明するフローチャートである。
【図９】プラグインごとの実行時間の一例を示す図である。
【図１０】拡張機能ごとの実行時間の一例を示す図である。
【図１１】拡張機能ごとの組合せの一例を示す図である。
【図１２】拡張機能ごとの組合せの一例を示す図である。
【図１３】拡張機能ごとの組合せの並び替えの一例を示す図である。
【図１４】プラグイン管理部により更新された拡張機能の情報及び当該拡張機能を実現するプラグインの情報の一例を示す図である。
【図１５】本発明の実施例に係るビルドサーバ、証明書サーバ、及びダウンロードサーバの一実施例の主要機能を示す機能ブロック図である。
【図１６】追加された拡張機能の一覧を示す図である。
【図１７】追加された拡張機能の一覧を示す図である。
【図１８】追加された拡張機能の一覧を示す図である。
【図１９】追加された拡張機能の一覧を示す図である。
【符号の説明】
【００７５】
１        画像形成装置
２        ビルドサーバ
３        証明書サーバ
４        ダウンロードサーバ
５        ネットワーク
１１        操作パネル
１１ａ    入力パネル
１１ｂ    表示装置
１２        記憶メディアＩ／Ｆ
１２ａ    ドライブ装置
１２ｂ    記録媒体
１３        コントローラ
１３ａ    ＲＯＭ
１３ｂ    ＲＡＭ
１３ｃ    ＣＰＵ
１４        データ通信Ｉ／Ｆ
１４ａ    インターフェース装置
１５        スキャナ
１５ａ    画像読取装置
１６        プロッタ
１６ａ    印刷装置
１７        ＨＤＤ
２０１    機能実行部
２０２    ログ記録部
２０３    ログ格納部
２０４    ログ取得部
２０５    実行時間算出部
２０６    実行時間判定部
２０７    組合作成部
２０８    プラグイン管理部
２０９    表示部
２１０    拡張機能停止部
１５０１    ソース格納部
１５０２    ログ機能挿入部
１５０３    ビルド部
１５１１    ログ機能チェック部
１５１２    証明書付与部
１５３１    プラグイン格納部
【図１】
0004995148.tif 000002
【図２】
0004995148.tif 000003
【図３】
0004995148.tif 000004
【図４】
0004995148.tif 000005
【図５】
0004995148.tif 000006
【図６】
0004995148.tif 000007
【図７】
0004995148.tif 000008
【図８】
0004995148.tif 000009
【図９】
0004995148.tif 000010
【図１０】
0004995148.tif 000011
【図１１】
0004995148.tif 000012
【図１２】
0004995148.tif 000013
【図１３】
0004995148.tif 000014
【図１４】
0004995148.tif 000015
【図１５】
0004995148.tif 000016
【図１６】
0004995148.tif 000017
【図１７】
0004995148.tif 000018
【図１８】
0004995148.tif 000019
【図１９】
0004995148.tif 000020