(57)【特許請求の範囲】
【請求項１】
第１アプリケーションからの処理要求を実行し、また、予め用意されたＡＰＩを介して予め定義された関数により第２アプリケーションからの処理要求を受信及び実行する情報処理装置であって、
前記第２アプリケーションからの処理要求を前記ＡＰＩにより仲介するインターフェース手段と、
前記第１アプリケーションの処理動作に伴う第１ログを記憶する第１記憶手段と、
前記第２アプリケーションの処理動作に伴う第２ログを記憶する第２記憶手段と、
前記第１ログを、前記第１記憶手段に記録する第１ログ記録手段と、
前記第２ログを、前記第２アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記録する第２ログ記録手段と、を有し、
前記インターフェース手段は、前記第２ログ記録手段により前記第２ログが前記第２記憶手段に記録されるとき、前記第２アプリケーションからのログの記録処理要求を前記第１ログ記録手段に伝達することにより、前記第１記憶手段には、前記第１ログ及び前記第２ログが記憶されること、
を特徴とする情報処理装置。
【請求項２】
第３アプリケーションからのログ参照要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記憶された前記第２ログを参照するログ参照手段を有し、
前記インターフェース手段は、前記第２ログのログ参照要求のみ仲介し、前記第１ログのログ参照要求の仲介は禁止すること、
を特徴とする請求項１記載の情報処理装置。
【請求項３】
第１アプリケーションからの処理要求を実行する情報処理装置において予め用意され、予め定義された関数により第２アプリケーションからの処理要求を前記情報処理装置に受信及び実行させるＡＰＩプログラムあって、
前記情報処理装置は、
前記第２アプリケーションからの処理要求を仲介するインターフェース手段と、
前記第１アプリケーションの処理動作に伴う第１ログを記憶する第１記憶手段と、
前記第２アプリケーションの処理動作に伴う第２ログを記憶する第２記憶手段と、
前記第１ログを、前記第１記憶手段に記録する第１ログ記録手段と、
前記第２ログを、前記第２アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記録する第２ログ記録手段と、を有し、
当該ＡＰＩプログラムは、前記第２アプリケーションからの処理要求を仲介する前記インターフェース手段として、前記情報処理装置に機能させ、
前記インターフェース手段は、前記第２ログ記録手段により前記第２ログが前記第２記憶手段に記録されるとき、前記第２アプリケーションからのログの記録処理要求を前記第１ログ記録手段に伝達することにより、前記第１記憶手段には、前記第１ログ及び前記第２ログが記憶されること、
を特徴とするＡＰＩプログラム。
【請求項４】
前記情報処理装置は、
第３アプリケーションからのログ参照要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記憶された前記第２ログを参照するログ参照手段を有し、
前記インターフェース手段は、前記第２ログのログ参照要求のみ仲介し、前記第１ログのログ参照要求の仲介は禁止すること、
を特徴とする請求項３記載のＡＰＩプログラム。
【請求項５】
第１アプリケーションからの処理要求を実行し、また、予め用意されたＡＰＩを介して予め定義された関数により第２アプリケーションからの処理要求を受信及び実行し、
また、
前記第１アプリケーションの処理動作に伴う第１ログを記憶する第１記憶手段と、前記第１ログを、前記第１記憶手段に記録する第１ログ記録手段と、
前記第２アプリケーションの処理動作に伴う第２ログを記憶する第２記憶手段と
を有する情報処理装置におけるログ環境提供方法であって、
前記第２アプリケーションからのログの記録処理要求を前記ＡＰＩにより仲介するインターフェース手順と、
前記第２ログを、前記第２アプリケーションからのログの記録処理要求に応じて、前記インターフェース手順の仲介により、第２記憶手段に記録する第２ログ記録手順と、を有し、
前記インターフェース手順は、前記第２ログ記録手順により前記第２ログが前記第２記憶手段に記録されるとき、前記第２アプリケーションからのログの記録処理要求を前記第１ログ記録手段に伝達することにより、前記第１記憶手段には、前記第１ログ及び前記第２ログが記憶されること、
を特徴とするログ環境提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ＡＰＩプログラム、及びログ環境提供方法に関する。
【背景技術】
【０００２】
近年、画像形成装置（MFP：Multi-Function Peripheral）は、ＣＰＵ（Central Processing Unit）の性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、ＭＦＰに関連する技術の進化に伴い、単にデジタル複写機としての機能だけでなく、ネットワーク化されたファクシミリ、プリンタ及びスキャナ機能等の様々な機能を搭載し、利用者の環境において様々な場面で利用されている。
【０００３】
このような画像形成装置は、表示部、印刷部、撮像部などの画像形成処理で使用されるハードウェア資源を搭載するとともに、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、またこれらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、複数のアプリケーションが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットフォームを備えている。このような画像形成装置は、アプリケーションとコントロールサービスとを別個に設けているため、装置の出荷後においても、例えばプラグインという形で、新機能や拡張機能を容易に追加できるようになっている。
【０００４】
ここで、追加される各種機能を実現するアプリケーションは、装置開発元（メーカー）以外にも、外部ベンダーなどの第三者により開発され、また提供されうる。この第三者によるアプリケーションに対応するため、装置開発元は、ＳＤＫ（Software Development Kit）といった汎用的なＩ／Ｆを用意することによって、ユーザや外部ベンダーなどがアプリケーションを開発し、画像処理装置での処理内容をある程度自由にカスタマイズできるようにしている。このように、近年の拡張性の高い画像形成装置においては、システムの基本機能を実現する自社製のアプリケーション（以下、内部アプリケーションと呼ぶ）や、追加的に導入され、新機能や拡張機能を実現する他社製のアプリケーション（以下、外部アプリケーションと呼ぶ）など、様々な環境下で開発されたアプリケーションが動作できるよう設計されていることが知られている。
【０００５】
ところで、装置開発元であれ外部ベンダーであれ、アプリケーションの開発者とって、その開発時や保守対応時（例えばバグ対応時）においては、ログが重宝される。例えば、アプリケーションに不具合が発生した場合、装置開発元側の開発者は、装置内部の内部アプリケーションログを参照し、その一方、外部ベンダー側の開発者は、標準の入出力機構や独自のログ出力機構を用いて、外部アプリケーションのログを参照することでそれぞれ対応がなされてきた。
【０００６】
これに関する技術として、特許文献１には、顧客先におけるソフトウェアバグの発生に対し、訪問によるタイムロスを省き、直ちに対策を開始することができるシステムを提供する旨記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、外部ベンダーによる外部アプリケーションは、自由にカスタマイズに利用できる機能が少なかったこともあり、特に外部アプリケーションに不具合が発生した場合、外部ベンダー側の開発者は、独自のログを参照し、装置開発元側の開発者は、装置内部のログを参照するだけでそれほど問題はなかった。
【０００８】
しかしながら、外部アプリケーションのカスタマイズできる範囲が拡大していく中、外部ベンダーによる外部アプリケーションの影響で、装置のプラットフォーム側機能へ影響が及ぶような不具合が発生した場合、装置開発元側の開発者としては、どうしても装置プラットフォーム側の内部アプリケーションのシーケンスと外部ベンダーにより開発された外部アプリケーションのシーケンスとの両方のログを効率よく参照したいところ、従来上述の如く両方のログを効率よく参照することができず、不具合の解消に時間を要していた。
【０００９】
このため、例えば両方のログを統合するような方法も考えられるが、外部ベンダー側の開発者には、機密保持やセキュリティ等の観点から、装置の内部のログを公開することは難しい。また装置の標準の入出力機能の利用も次第に制限される状況の中で、装置開発元側の開発者に対しては、装置プラットフォーム側の内部アプリケーションのシーケンスと、外部ベンダーにより開発された外部アプリケーションのシーケンスと、両方効率よく把握できるようなログ環境を提供し、一方外部ベンダー側の開発者に対しては、従来通り外部アプリケーションのログ環境を提供する画像形成装置が望まれる。
【００１０】
そこで、本発明では上記のような問題に鑑みて、役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、ＡＰＩプログラム、及びログ環境提供方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明に係る情報処理装置は、第１アプリケーションからの処理要求を実行し、また、予め用意されたＡＰＩを介して予め定義された関数により第２アプリケーションからの処理要求を受信及び実行する情報処理装置であって、前記第２アプリケーションからの処理要求を前記ＡＰＩにより仲介するインターフェース手段と、前記第１アプリケーションの処理動作に伴う第１ログを記憶する第１記憶手段と、前記第２アプリケーションの処理動作に伴う第２ログを記憶する第２記憶手段と、前記第１ログを、前記第１記憶手段に記録する第１ログ記録手段と、前記第２ログを、前記第２アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記録する第２ログ記録手段と、を有し、前記インターフェース手段は、前記第２ログ記録手段により前記第２ログが前記第２記憶手段に記録されるとき、前記第２アプリケーションからのログの記録処理要求を前記第１ログ記録手段に伝達することにより、前記第１記憶手段には、前記第１ログ及び前記第２ログが記憶されることを特徴とする。
【００１２】
また、上記の目的を達成するために、上記情報処理装置において、第３アプリケーションからのログ参照要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記憶された前記第２ログを参照するログ参照手段を有し、前記インターフェース手段は、前記第２ログのログ参照要求のみ仲介し、前記第１ログのログ参照要求の仲介は禁止することを特徴とする。
【００１３】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、ＡＰＩプログラム、及びログ環境提供方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係る画像形成装置１００のシステム構成を示すブロック図である。
【図２】本実施形態における画像形成装置１００のハードウェア構成例を示す図である。
【図３】従来技術に係る画像形成装置１００ｂの主要機能構成を示す機能ブロック図である。
【図４】本実施形態に係る画像形成装置１００の主要機能構成を示す機能ブロック図である。
【図５】外部アプリの機能実行に伴うログ記録処理を説明するシーケンス図である。
【図６】本実施形態に係る画像形成装置１００の主要機能構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための最良の形態について図面を参照して説明する。なお、本実施の形態においては、本発明に係る情報処理装置を、コピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能および入力画像を配信する機能等を複合したいわゆる画像形成装置に適用した例を示す。なお本発明は、画像形成装置に限定されるものではなく、その他の一般的なコンピュータ装置等に対しても適用可能である。
【００１７】
（システム構成例）
図１は、本実施形態に係る画像形成装置１００のシステム構成を示すブロック図である。図１に示されるように、画像形成装置１００は、撮像部１０１と、印刷部１０２と、ＨＤＤ（ハードディスクドライブ）１０３と、ファクシミリ、メモリなどのハードウェアリソース１０４を備えるとともに、プラットフォーム１２０と、アプリケーション１１０と、ＡＰＩ（アプリケーションプログラムインターフェース）１４０とから構成されるソフトウェア群とを有している。
【００１８】
アプリケーション１１０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、外部ベンダーなどの第三者が開発した外部アプリ１１５とを有している。
【００１９】
プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４は、標準アプリとして、画像形成装置１００に標準的に（出荷時に予め）実装されている各種アプリケーションである。よって、標準アプリは、コピー機能、プリンタ機能、スキャナ機能、及びファクシミリ機能等、画像形成装置１００の基本的な機能を実現するためのアプリケーションで構成される。
【００２０】
外部アプリ１１５は、追加アプリとして、例えば画像形成装置１００の出荷後に、追加でインストールされるアプリケーションである。本実施形態に係る画像形成装置１００は、専用のＳＤＫ（Software Development Kit：ソフトウェア開発キット）を使用して開発された外部アプリ１１５を、ＡＰＩ１４０を介して実行させることができる。ＡＰＩ１４０は、アプリケーション１１０及びプラットフォーム１２０の間に位置している（プラットフォーム１２０に含めてもよい）。外部アプリ１１５は、ＳＤＫにより使用できる命令や関数を使用してソフトウェアが開発されており、ＡＰＩ１４０は、予め定義された関数により、外部アプリ１１５から処理要求を受信可能とするインターフェースである。特に、この外部アプリ１５は、外部ベンダー等の第三者により開発され、ユーザへの個別対応機能（カスタマイズ機能）などを実現する新機能や拡張機能を提供するソフトウェアである。このＳＤＫを使用して開発したアプリケーションはＳＤＫアプリとも呼ばれ、専用のＳＤＫとしては、Ｃ言語でアプリケーションを開発するための「ＣＳＤＫ」や、Ｊａｖａ（登録商標）言語でアプリケーションを開発するための「ＪＳＤＫ」が提供される。またＪＳＤＫに対応させる場合、Ｊａｖａ（登録商標）言語で記述されたＪＳＤＫアプリ１４７の実行環境を実現するソフトウェアとしてＪＳＤＫプラットフォームが存在することになる（非図示）。
【００２１】
なおここでは、基本機能を提供するような標準アプリ、例えばプリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４を上述でいう内部アプリケーションとして捉えることができる。また、新機能や拡張機能を提供するような追加アプリ、例えば外部アプリ１１５を上述でいう外部アプリケーションとして捉えることができる。
【００２２】
プラットフォーム１２０は、アプリケーション１１０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００２３】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。
【００２４】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットフォーム１２０並びにアプリケーション１１０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００２５】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４ Ｉ／Ｆ、ＲＳ２３２Ｃ Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００２６】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００２７】
ＥＣＳ１２４のプロセスは、撮像部１０１、印刷部１０２、ＨＤＤ１０３、スキャナ、ファクシミリなどからなるハードウェアリソース１０４のエンジンの制御を行う。
【００２８】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００２９】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００３０】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００３１】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下（またはタッチ操作）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスである。また、オペレーションパネルの操作表示部に対する各種画面を描画出力やその他オペレーションパネルに対する制御は、ＯＣＳ関数ライブラリに登録されている描画関数等の各種関数をアプリケーション１１０またはコントロールサービスから呼び出すことにより行われる。このＯＣＳ関数ライブラリは、アプリケーション１１０およびコントロールサービスの各モジュールに動的にリンクされている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳ関数ライブラリとして構成しても良い。
【００３２】
プリントモジュール１２９、スキャンモジュール１３０、ファックスモジュール１３１は、標準アプリを利用したユーザ提供機能を実現する動作モジュール、もしくはプラットフォームコンポーネントである。例えば、コピーアプリ１１２は、プリントモジュール１２９及びスキャンモジュール１３０を利用することにより、ユーザに提供すべきコピー機能を実現している。またログ記録モジュール１３２は、プリントモジュール１２９、スキャンモジュール１３０、ファックスモジュール１３１などの処理動作のログをログファイルに記録するログ機構として機能する。
【００３３】
以上のように、アプリケーション１１０、各動作モジュール、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００３４】
また、画像形成装置１００には、顧客や外部ベンダーなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ１１５を開発して搭載することが可能となっている。また、各アプリケーション１１０は、アプリケーションごとに追加または削除することができる。
【００３５】
図２は、本実施形態における画像形成装置１００のハードウェア構成例を示す図である。画像形成装置１００のハードウェアとしては、コントローラ２０１と、オペレーションパネル２０２と、ファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１０１と、印刷部１０１を備えている。
【００３６】
コントローラ２０１は、ＣＰＵ２１１、ＡＳＩＣ２１２、ＮＢ２２１、ＳＢ２２２、ＭＥＭ−Ｐ２３１、ＭＥＭ−Ｃ２３２、ＨＤＤ１０３、メモリカードスロット２３４、ＮＩＣ（ネットワークインタフェースコントローラ）２４１、ＵＳＢデバイス２４２、ＩＥＥＥ１３９４デバイス２４３、セントロニクスデバイス２４４により構成される。
【００３７】
ＣＰＵ２１１は、種々の情報処理用のＩＣである。ＡＳＩＣ２１２は、種々の画像処理用のＩＣである。ＮＢ２２１は、コントローラ２０１のノースブリッジである。ＳＢ２２２は、コントローラ２０１のサウスブリッジである。ＭＥＭ−Ｐ２３１は、画像形成装置１００のシステムメモリである。ＭＥＭ−Ｃ２３２は、画像形成装置１００のローカルメモリである。ＨＤＤ１０３は、画像形成装置１００のストレージである。メモリカードスロット２３４は、メモリカード２３５をセットするためのスロットである。ＮＩＣ２４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス２４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス２４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。
【００３８】
オペレーションパネル２０２は、オペレータが画像形成装置１００に入力を行うためのハードウェア（操作部）であると共に、オペレータが画像形成装置１００から出力を得るためのハードウェア（表示部）である。
【００３９】
なお、画像形成装置のハードウェアに関しての詳細については、従来の画像形成装置を適用することができるので、ここではこれ以上の説明は省略する。
【００４０】
（機能）
ここでまず、本実施形態に係る画像形成装置１００の理解を容易にする為、従来技術による画像形成装置１００ｂについて補足しておく。図３は、従来技術に係る画像形成装置１００ｂの主要機能構成を示す機能ブロック図である。図を参照しながら、従来における内部アプリ及び外部アプリの処理動作ログの記録方法について言及する。なお、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４等、標準アプリとして、画像形成装置１００に標準的に（出荷時に予め）実装されている各種アプリケーションを、説明の便宜上、「内部アプリ」と称することとする。また、外部ベンダー等の第三者により開発され、例えば画像形成装置１００の出荷後に、標準機能に対して拡張機能を提供するソフトウェアとして追加的にインストールされるアプリケーションを、説明の便宜上、「外部アプリ」と称することとする。
【００４１】
プラットフォーム１２０は、内部アプリ１１１ａが動作モジュール（プラットフォームコンポーネント）１２９ａを利用して、画像形成に係る標準機能を実現している。また、動作モジュール１２９ａは、標準機能実現の為の処理動作に伴い、ログ記録モジュール（ログ機構）１３２を利用して、当該処理動作のログを記録している。ログ記録モジュール１３２は、ログ出力先として、内部用記憶領域１０３ａに内部用ログファイルを出力している。内部用ログファイルは、例えば、内部のプラットフォームにおいて動作する動作モジュール１２９ａの処理動作のシーケンス等が記録されるログファイルとなっている。なお、ここでいう内部用ログファイルとは、画像形成装置開発元側の開発者のみが参照可能なログファイルを意味している。外部ベンダー側の開発者には、機密保持やセキュリティ等の観点から、装置の内部用ログを公開することは難しいからである。
【００４２】
一方、外部アプリ１１５ａは、機能ＡＰＩ１４０ａを介し、プラットフォーム１２０内の動作モジュール１２９ａを利用して機能する。機能ＡＰＩ１４０ａは、外部ベンダー向けに公開され、予め用意された外部向け機能提供Ｉ／Ｆであり、外部アプリ１１５ａは、その機能を実現すべく、ＡＰＩを介して予め定義された関数により、動作モジュール１２９ａに対して処理要求を行う。ここで従来、この外部アプリ１１５ａによるログは、外部ベンダー独自の外部ログ機構（ログ記録モジュール１１５ｂ）を利用したり、標準の入出力機構(非図示)を利用したりして、開発／保守時に参照するログを独自に記録している。つまり、外部ベンダーの開発者は自由に外部アプリ１１５ａのログを出力している形になっている。なおここでは、ログ出力先として、例えば外部ベンダーの利用が許可されている外部記憶領域１０３ｂに外部用ログファイルとして記録される。
【００４３】
このため、外部ベンダーによる外部アプリ１１５ａの影響で、装置のプラットフォーム１２０側の機能へ影響が及ぶような不具合が発生した場合、従来、それぞれのログが別個記録されており、画像形成装置開発元側の開発者としては、装置プラットフォーム１２０側の内部アプリ１１１ａ（もしくは動作モジュール１２９ａ）のシーケンスと外部ベンダーにより開発された外部アプリ１１５ａのシーケンスとの両方のログを効率よく参照することができなかった。具体的には、画像形成装置開発元側の開発者は、内部用記憶領域１０３ａに内部用ログファイル、外部記憶領域１０３ｂに外部用ログファイルをそれぞれ同時並行的に参照するに留まっていた。
【００４４】
図４は、本実施形態に係る画像形成装置１００の主要機能構成を示す機能ブロック図である。従来の画像形成装置１００ｂ（図３）と比較すると、実施形態に係る画像形成装置１００は、外部向け機能提供Ｉ／Ｆとして、ログＡＰＩ１４０ｂを含む構成になっている。
【００４５】
図に示されるように、本実施形態に係る画像形成装置１００には、外部向け機能提供Ｉ／Ｆとして、ログＡＰＩ１４０ｂが予め用意されており、また外部アプリ１１５ａのログ記録を行うログ記録モジュール１１５ｃが示されている（勿論、ログ記録モジュール１１５ｃは外部アプリ１１５ａに含まれる構成も可能）。外部アプリ１１５ａのログ記録を行うログ記録モジュール１１５ｃは、予め定義された関数を使用しており、外部アプリ１１５ａが機能ＡＰＩ１４０ａを利用するのと同様、ログの出力の為のインターフェースであるログＡＰＩ１４０ｂを利用する。ログ記録モジュール１１５ｃは、外部アプリ１１５ａからのログ記録処理要求に応じて、ログＡＰＩ１４０ｂを介し、外部用記憶領域１０３ｂ内の外部用ログファイルへのログ記録を行う。またこのとき、ログＡＰＩ１４０ｂの仲介により、外部アプリ１１５ａからのログ記録処理要求は、プラットフォーム１２０内のログ記録モジュール１３２に伝達される。つまり、ログ記録モジュール１１５ｃは、プラットフォーム１２０内のログ記録モジュール１３２を利用して、内部用記憶領域１０３ａの内部用ログファイルにログを記録できる。これにより、外部アプリ１１５ａから出力されたログが、内部用ログファイルにも記録され、同時にまた、外部用ログファイルにも記録される。
【００４６】
このように、ログの出力の為のインターフェースであるログＡＰＩ１４０ｂが用意されていると、外部ベンダーによる外部アプリ１１５ａのログ記録を行うに際し、機密保持やセキュリティ等を保ちながら、外部アプリ１１５ａのログを内部用記憶領域１０３ａの内部用ログファイルにも記録できるようになるので、画像形成装置開発元側の開発者としては、装置プラットフォーム１２０側の内部アプリ１１１ａ（もしくは動作モジュール１２９ａ）のシーケンスと外部ベンダーにより開発された外部アプリ１１５ａのシーケンスとの両方のログを一元的に効率よく参照することができるようになる。また、外部ベンダーとしては、外部記憶領域１０３ｂの外部用ログファイルは依然確保されているので、従来通り、当該外部用ログファイルを参照することができる。なおまた、次世代フラットフォーム等の登場により、フラットフォーム１２０側の仕様が変更された場合、ＡＰＩ１４０ｂのみを次世代フラットフォームの仕様に対応させることにより、外部アプリ１１５ａのログ記録モジュール１１５ｃを依然として使用することができ、また外部ベンダーにも新たな仕様変更を要しないで済むことになる。
【００４７】
なお、上述のこれらモジュールは、画像形成装置１００のＣＰＵ２１１により実行されることでこれらの機能が実際に実現されるものである。従って、例えば、機能ＡＰＩ１４０ａ及びログＡＰＩ１４０ｂは、インターフェース手段として機能し、ログ記録モジュール１３２は第１ログ記録手段、ログ記録モジュール１１５ｃは第２ログ記録手段として機能することができる。
【００４８】
（動作）
図５は、外部アプリの機能実行に伴うログ記録処理を説明するシーケンス図である。以下、図面を参照しながら説明していく。
【００４９】
まず外部アプリ１１５ｃは、外部向け機能提供Ｉ／ＦのログＡＰＩ１４０ｂに対し、外部アプリ機能実行開始時のログ出力要求を行う（Ｓ５０１）。ログＡＰＩ１４０ｂは、プラットフォーム１２０内のログ機構を実現するログ記録モジュール１３２にログ出力要求を行うと（Ｓ５０２）、ログ記録モジュール１３２により、内部用記憶領域１０３ａの内部用ログファイルに出力される（Ｓ５０３）。また併せて、ログＡＰＩ１４０ｂは、外部用記憶領域１０３ｂの外部用ログファイル１４０ｂに対してもログ出力を行う（Ｓ５０４）。
【００５０】
その後、外部アプリ１１５ｃは、外部アプリ機能を実行する為、外部向け機能提供Ｉ／Ｆの機能ＡＰＩ１４０ａに対し、機能実行要求を行うと（Ｓ５０５）、機能ＡＰＩ１４０ａを介して、動作モジュール１２９ａは、予め定義された関数により外部アプリ１１５ｃの処理要求を受信し（Ｓ５０６）、外部アプリ機能を実行する(Ｓ５０７）。本実施形態では、外部アプリ１１５ｃはいわゆる拡張機能を実現し、外部アプリ機能は、動作モジュール１２９ａを利用して実行される。動作モジュール１２９ａは、この機能実行処理に伴って、ログ記録モジュール１３２にログ出力要求を行うと（Ｓ５０８）、ログ記録モジュール１３２により内部用ログファイルに出力される（Ｓ５０９）。
【００５１】
そして、外部アプリ１１５ｃは、外部向け機能提供Ｉ／ＦのログＡＰＩ１４０ｂに対し、外部アプリ機能実行完了時のログ出力要求を行う（Ｓ５０９）。ログＡＰＩ１４０ｂは、プラットフォーム１２０内のログ記録モジュール１３２にログ出力要求を行うと（Ｓ５１０）、ログ記録モジュール１３２により内部用ログファイルに出力される（Ｓ５１１）。また併せて、ログＡＰＩ１４０ｂは、外部用ログファイル１４０ｂに対してもログ出力を行う（Ｓ５１２）。
【００５２】
このように、本実施形態に係るログ記録処理の場合、機能実行開始時及び機能実行完了時において、内部用ログファイルにログ出力（Ｓ５０３及びＳ５１１）されているので、画像形成装置開発元側の開発者は、内部用ログファイルを参照することにより、装置プラットフォーム１２０側の内部アプリ１１１ａ（もしくは動作モジュール１２９ａ）のシーケンスと外部ベンダーにより開発された外部アプリ１１５ａのシーケンスとの両方のログを一元的に効率よく参照することができるようになる。より具体的に、機能実行開始時のログ出力（Ｓ５０３）により、例えば外部アプリ１１５ａから動作モジュール１２９ａへ、意図される各種パラメータ初期値が正常に渡されているか、機能実行完了時のログ出力（Ｓ５１１）により、例えば動作モジュール１２９ａから外部アプリ１１５ａへ、意図される各種パラメータ戻り値が正常に渡されているか、等を確認できるので、特に開発／保守時に必要とされる処理シーケンスを段階的に確認することもできる。
【００５３】
また、外部ベンダー側の開発者は、外部記憶領域１０３ｂの外部用ログファイルは依然確保されているので、従来通り、当該外部用ログファイルを参照することができる。
【００５４】
（ログ参照）
図６は、本実施形態に係る画像形成装置１００の主要機能構成を示す機能ブロック図である。画像形成装置１００（図４）に対して、外部アプリとして、ログ参照アプリ１１５ｄを含む構成になっている。
【００５５】
画像形成装置開発元側で、外部ベンダーに向け、ログ参照用のアプリケーションであるログ参照アプリ１１５ｄを提供することで、外部アプリの開発者は、外部用ログファイルの参照を行えるようにする。この時、ログ参照アプリ１１５ｄからは、機密保持やセキュリティ等の観点から内部用ログファイルの参照はできず、外部用ログファイルのみの参照に限定されている。このようなログ参照アプリ１１５ｄによれば、外部ベンダーの開発者に対しては、外部用ログファイルのみのログ参照に限定することができるため、装置内部の機密情報を参照されることはなく、かつ、外部アプリの開発者は、参照したい外部用ログのみを参照することができる。つまり、外部ベンダーの開発者にとっては、内部用ログの部分は完全に隠蔽されていても、外部アプリ自体の開発効率には影響がないまま、参照できる範囲を限定することができるようになっている。
【００５６】
（総括）
以下、本実施形態に係る画像形成装置１００の作用効果について説明する。
【００５７】
本実施形態に係る画像形成装置１００は、第１アプリケーションからの処理要求を実行し、また、予め用意されたＡＰＩを介して予め定義された関数により第２アプリケーションからの処理要求を受信及び実行する情報処理装置であって、前記第２アプリケーションからの処理要求を前記ＡＰＩにより仲介し、前記第１アプリケーションの処理動作に伴う第１ログを記憶し、前記第２アプリケーションの処理動作に伴う第２ログを記憶し、前記第１ログを、前記第１記憶手段に記録し、前記第２ログを、前記第２アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第２記憶手段に記録し、前記インターフェース手段は、前記第２ログ記録手段により前記第２ログが前記第２記憶手段に記録されるとき、前記第２アプリケーションからのログの記録処理要求を前記第１ログ記録手段に伝達することにより、前記第１記憶手段には、前記第１ログ及び前記第２ログが記憶される。
【００５８】
このため、この構成によれば、外部ベンダーにより開発された外部アプリからのログの記録処理要求を、インターフェースであるログＡＰＩにより仲介する。そして、外部ベンダー用の記憶領域（例えば第２記憶領域）に、外部用ログ（例えば第２ログ）は記録され、また、装置開発元用の記憶領域（例えば第１記憶領域）にも、外部用ログ（例えば第２ログ）は記録される。つまり、装置開発元用の記憶領域（例えば第１記憶領域）には、内部用ログ（例えば第１ログ）及び外部用ログ（例えば第２ログ）は記録されることになるので、装置開発元側は、内製された内部アプリと、外部ベンダーにより開発された外部アプリとのログ（例えばシーケンス）の両方のログを一元的に効率よく参照することができる。
【００５９】
また、外部ベンダー用の記憶領域（例えば第２記憶領域）に、外部用ログ（例えば第２ログ）は依然記録されているので、従来通り、外部ベンダー側は、当該外部用ログを自由に参照することができる。
【００６０】
なおまた、外部ベンダーにより開発された外部アプリからのログの記録処理要求を、インターフェースであるログＡＰＩにより仲介するので、次世代フラットフォーム等の登場により、画像形成装置側の仕様が変更された場合、ＡＰＩのみを次世代フラットフォームの仕様に対応させることにより、外部ベンダーにより開発された外部アプリからのログの記録処理要求を依然として受信することができ、また外部ベンダーにも新たな仕様変更を要しないで済むことになる。
【００６１】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、以上以外にも様々な構成を採用することもできる。
【００６２】
例えば、上記実施形態では、外部アプリ１１５ａのログ記録を行うものとして、ログ記録モジュール１１５ｃを有する構成としたが、特に限定する意図はなく、例えば、外部アプリ１１５ａがログ記録モジュール１１５ｃを含む構成としてもよい。この場合にも、ログＡＰＩ１４０ｂを介して、外部アプリからのログの記録処理要求を行えるという作用効果は同様だからである。
【００６３】
また、外部向け機能提供Ｉ／Ｆとして、機能ＡＰＩ１４０ａ及びログＡＰＩ１４０ｂを有する構成としたが、特に限定する意図はなく、例えば、機能ＡＰＩ１４０ａがログＡＰＩ１４０ｂを含む構成としてもよい。この場合にも、外部アプリのログの記録処理要求を仲介できるという作用効果は同様だからである。
【００６４】
以上、本実施形態によれば、役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、ＡＰＩプログラム、及びログ環境提供方法を提供することが可能となる。
【００６５】
各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。また、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【符号の説明】
【００６６】
１００        画像形成装置
１０３ａ    内部用記録領域
１０３ｂ    外部用記録領域
１１０        アプリケーション
１１１ａ    内部アプリ
１１５ａ    外部アプリ
１１５ｂ、ｃ    ログ記録モジュール
１１５ｄ    ログ参照アプリ
１２０        プラットフォーム
１２９ａ    動作モジュール
１３２        ログ記録モジュール
１４０        ＡＰＩ
１４０ａ    機能ＡＰＩ
１４０ｂ    ログＡＰＩ
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２００７−２５７０８５号公報
【図１】
0005445051.tif 000002
【図２】
0005445051.tif 000003
【図３】
0005445051.tif 000004
【図４】
0005445051.tif 000005
【図５】
0005445051.tif 000006
【図６】
0005445051.tif 000007