説明

情報処理装置、APIプログラム、及びログ環境提供方法

【課題】役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、APIプログラム、及びログ環境提供方法を提供する。
【解決手段】本発明における情報処理装置は、第2アプリケーションからの処理要求をAPIにより仲介するインターフェース手段と、第1アプリケーションの処理動作に伴う第1ログを記憶する第1記憶手段と、第2アプリケーションの処理動作に伴う第2ログを記憶する第2記憶手段と、第1ログを第1記憶手段に記録する第1ログ記録手段と、記第2ログを第2アプリケーションからのログの記録処理要求に応じて、インターフェース手段の仲介により、第2記憶手段に記録する第2ログ記録手段とを有し、インターフェース手段は、第2アプリケーションからのログの記録処理要求を第1ログ記録手段に伝達することにより、第1記憶手段には、第1ログ及び第2ログが記憶される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、APIプログラム、及びログ環境提供方法に関する。
【背景技術】
【0002】
近年、画像形成装置(MFP:Multi-Function Peripheral)は、CPU(Central Processing Unit)の性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、MFPに関連する技術の進化に伴い、単にデジタル複写機としての機能だけでなく、ネットワーク化されたファクシミリ、プリンタ及びスキャナ機能等の様々な機能を搭載し、利用者の環境において様々な場面で利用されている。
【0003】
このような画像形成装置は、表示部、印刷部、撮像部などの画像形成処理で使用されるハードウェア資源を搭載するとともに、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、またこれらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、複数のアプリケーションが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットフォームを備えている。このような画像形成装置は、アプリケーションとコントロールサービスとを別個に設けているため、装置の出荷後においても、例えばプラグインという形で、新機能や拡張機能を容易に追加できるようになっている。
【0004】
ここで、追加される各種機能を実現するアプリケーションは、装置開発元(メーカー)以外にも、外部ベンダーなどの第三者により開発され、また提供されうる。この第三者によるアプリケーションに対応するため、装置開発元は、SDK(Software Development Kit)といった汎用的なI/Fを用意することによって、ユーザや外部ベンダーなどがアプリケーションを開発し、画像処理装置での処理内容をある程度自由にカスタマイズできるようにしている。このように、近年の拡張性の高い画像形成装置においては、システムの基本機能を実現する自社製のアプリケーション(以下、内部アプリケーションと呼ぶ)や、追加的に導入され、新機能や拡張機能を実現する他社製のアプリケーション(以下、外部アプリケーションと呼ぶ)など、様々な環境下で開発されたアプリケーションが動作できるよう設計されていることが知られている。
【0005】
ところで、装置開発元であれ外部ベンダーであれ、アプリケーションの開発者とって、その開発時や保守対応時(例えばバグ対応時)においては、ログが重宝される。例えば、アプリケーションに不具合が発生した場合、装置開発元側の開発者は、装置内部の内部アプリケーションログを参照し、その一方、外部ベンダー側の開発者は、標準の入出力機構や独自のログ出力機構を用いて、外部アプリケーションのログを参照することでそれぞれ対応がなされてきた。
【0006】
これに関する技術として、特許文献1には、顧客先におけるソフトウェアバグの発生に対し、訪問によるタイムロスを省き、直ちに対策を開始することができるシステムを提供する旨記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来、外部ベンダーによる外部アプリケーションは、自由にカスタマイズに利用できる機能が少なかったこともあり、特に外部アプリケーションに不具合が発生した場合、外部ベンダー側の開発者は、独自のログを参照し、装置開発元側の開発者は、装置内部のログを参照するだけでそれほど問題はなかった。
【0008】
しかしながら、外部アプリケーションのカスタマイズできる範囲が拡大していく中、外部ベンダーによる外部アプリケーションの影響で、装置のプラットフォーム側機能へ影響が及ぶような不具合が発生した場合、装置開発元側の開発者としては、どうしても装置プラットフォーム側の内部アプリケーションのシーケンスと外部ベンダーにより開発された外部アプリケーションのシーケンスとの両方のログを効率よく参照したいところ、従来上述の如く両方のログを効率よく参照することができず、不具合の解消に時間を要していた。
【0009】
このため、例えば両方のログを統合するような方法も考えられるが、外部ベンダー側の開発者には、機密保持やセキュリティ等の観点から、装置の内部のログを公開することは難しい。また装置の標準の入出力機能の利用も次第に制限される状況の中で、装置開発元側の開発者に対しては、装置プラットフォーム側の内部アプリケーションのシーケンスと、外部ベンダーにより開発された外部アプリケーションのシーケンスと、両方効率よく把握できるようなログ環境を提供し、一方外部ベンダー側の開発者に対しては、従来通り外部アプリケーションのログ環境を提供する画像形成装置が望まれる。
【0010】
そこで、本発明では上記のような問題に鑑みて、役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、APIプログラム、及びログ環境提供方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するために、本発明に係る情報処理装置は、第1アプリケーションからの処理要求を実行し、また、予め用意されたAPIを介して予め定義された関数により第2アプリケーションからの処理要求を受信及び実行する情報処理装置であって、前記第2アプリケーションからの処理要求を前記APIにより仲介するインターフェース手段と、前記第1アプリケーションの処理動作に伴う第1ログを記憶する第1記憶手段と、前記第2アプリケーションの処理動作に伴う第2ログを記憶する第2記憶手段と、前記第1ログを、前記第1記憶手段に記録する第1ログ記録手段と、前記第2ログを、前記第2アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記録する第2ログ記録手段と、を有し、前記インターフェース手段は、前記第2ログ記録手段により前記第2ログが前記第2記憶手段に記録されるとき、前記第2アプリケーションからのログの記録処理要求を前記第1ログ記録手段に伝達することにより、前記第1記憶手段には、前記第1ログ及び前記第2ログが記憶されることを特徴とする。
【0012】
また、上記の目的を達成するために、上記情報処理装置において、第3アプリケーションからのログ参照要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記憶された前記第2ログを参照するログ参照手段を有し、前記インターフェース手段は、前記第2ログのログ参照要求のみ仲介し、前記第1ログのログ参照要求の仲介は禁止することを特徴とする。
【0013】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【0014】
本発明によれば、役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、APIプログラム、及びログ環境提供方法を提供することができる。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係る画像形成装置100のシステム構成を示すブロック図である。
【図2】本実施形態における画像形成装置100のハードウェア構成例を示す図である。
【図3】従来技術に係る画像形成装置100bの主要機能構成を示す機能ブロック図である。
【図4】本実施形態に係る画像形成装置100の主要機能構成を示す機能ブロック図である。
【図5】外部アプリの機能実行に伴うログ記録処理を説明するシーケンス図である。
【図6】本実施形態に係る画像形成装置100の主要機能構成を示す機能ブロック図である。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための最良の形態について図面を参照して説明する。なお、本実施の形態においては、本発明に係る情報処理装置を、コピー機能、ファクシミリ(FAX)機能、プリント機能、スキャナ機能および入力画像を配信する機能等を複合したいわゆる画像形成装置に適用した例を示す。なお本発明は、画像形成装置に限定されるものではなく、その他の一般的なコンピュータ装置等に対しても適用可能である。
【0017】
(システム構成例)
図1は、本実施形態に係る画像形成装置100のシステム構成を示すブロック図である。図1に示されるように、画像形成装置100は、撮像部101と、印刷部102と、HDD(ハードディスクドライブ)103と、ファクシミリ、メモリなどのハードウェアリソース104を備えるとともに、プラットフォーム120と、アプリケーション110と、API(アプリケーションプログラムインターフェース)140とから構成されるソフトウェア群とを有している。
【0018】
アプリケーション110は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、外部ベンダーなどの第三者が開発した外部アプリ115とを有している。
【0019】
プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114は、標準アプリとして、画像形成装置100に標準的に(出荷時に予め)実装されている各種アプリケーションである。よって、標準アプリは、コピー機能、プリンタ機能、スキャナ機能、及びファクシミリ機能等、画像形成装置100の基本的な機能を実現するためのアプリケーションで構成される。
【0020】
外部アプリ115は、追加アプリとして、例えば画像形成装置100の出荷後に、追加でインストールされるアプリケーションである。本実施形態に係る画像形成装置100は、専用のSDK(Software Development Kit:ソフトウェア開発キット)を使用して開発された外部アプリ115を、API140を介して実行させることができる。API140は、アプリケーション110及びプラットフォーム120の間に位置している(プラットフォーム120に含めてもよい)。外部アプリ115は、SDKにより使用できる命令や関数を使用してソフトウェアが開発されており、API140は、予め定義された関数により、外部アプリ115から処理要求を受信可能とするインターフェースである。特に、この外部アプリ15は、外部ベンダー等の第三者により開発され、ユーザへの個別対応機能(カスタマイズ機能)などを実現する新機能や拡張機能を提供するソフトウェアである。このSDKを使用して開発したアプリケーションはSDKアプリとも呼ばれ、専用のSDKとしては、C言語でアプリケーションを開発するための「CSDK」や、Java(登録商標)言語でアプリケーションを開発するための「JSDK」が提供される。またJSDKに対応させる場合、Java(登録商標)言語で記述されたJSDKアプリ147の実行環境を実現するソフトウェアとしてJSDKプラットフォームが存在することになる(非図示)。
【0021】
なおここでは、基本機能を提供するような標準アプリ、例えばプリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114を上述でいう内部アプリケーションとして捉えることができる。また、新機能や拡張機能を提供するような追加アプリ、例えば外部アプリ115を上述でいう外部アプリケーションとして捉えることができる。
【0022】
プラットフォーム120は、アプリケーション110からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0023】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。
【0024】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットフォーム120並びにアプリケーション110の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0025】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0026】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
【0027】
ECS124のプロセスは、撮像部101、印刷部102、HDD103、スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
【0028】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0029】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0030】
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【0031】
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスである。また、オペレーションパネルの操作表示部に対する各種画面を描画出力やその他オペレーションパネルに対する制御は、OCS関数ライブラリに登録されている描画関数等の各種関数をアプリケーション110またはコントロールサービスから呼び出すことにより行われる。このOCS関数ライブラリは、アプリケーション110およびコントロールサービスの各モジュールに動的にリンクされている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCS関数ライブラリとして構成しても良い。
【0032】
プリントモジュール129、スキャンモジュール130、ファックスモジュール131は、標準アプリを利用したユーザ提供機能を実現する動作モジュール、もしくはプラットフォームコンポーネントである。例えば、コピーアプリ112は、プリントモジュール129及びスキャンモジュール130を利用することにより、ユーザに提供すべきコピー機能を実現している。またログ記録モジュール132は、プリントモジュール129、スキャンモジュール130、ファックスモジュール131などの処理動作のログをログファイルに記録するログ機構として機能する。
【0033】
以上のように、アプリケーション110、各動作モジュール、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0034】
また、画像形成装置100には、顧客や外部ベンダーなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ115を開発して搭載することが可能となっている。また、各アプリケーション110は、アプリケーションごとに追加または削除することができる。
【0035】
図2は、本実施形態における画像形成装置100のハードウェア構成例を示す図である。画像形成装置100のハードウェアとしては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部101と、印刷部101を備えている。
【0036】
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD103、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
【0037】
CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、画像形成装置100のシステムメモリである。MEM−C232は、画像形成装置100のローカルメモリである。HDD103は、画像形成装置100のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。
【0038】
オペレーションパネル202は、オペレータが画像形成装置100に入力を行うためのハードウェア(操作部)であると共に、オペレータが画像形成装置100から出力を得るためのハードウェア(表示部)である。
【0039】
なお、画像形成装置のハードウェアに関しての詳細については、従来の画像形成装置を適用することができるので、ここではこれ以上の説明は省略する。
【0040】
(機能)
ここでまず、本実施形態に係る画像形成装置100の理解を容易にする為、従来技術による画像形成装置100bについて補足しておく。図3は、従来技術に係る画像形成装置100bの主要機能構成を示す機能ブロック図である。図を参照しながら、従来における内部アプリ及び外部アプリの処理動作ログの記録方法について言及する。なお、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114等、標準アプリとして、画像形成装置100に標準的に(出荷時に予め)実装されている各種アプリケーションを、説明の便宜上、「内部アプリ」と称することとする。また、外部ベンダー等の第三者により開発され、例えば画像形成装置100の出荷後に、標準機能に対して拡張機能を提供するソフトウェアとして追加的にインストールされるアプリケーションを、説明の便宜上、「外部アプリ」と称することとする。
【0041】
プラットフォーム120は、内部アプリ111aが動作モジュール(プラットフォームコンポーネント)129aを利用して、画像形成に係る標準機能を実現している。また、動作モジュール129aは、標準機能実現の為の処理動作に伴い、ログ記録モジュール(ログ機構)132を利用して、当該処理動作のログを記録している。ログ記録モジュール132は、ログ出力先として、内部用記憶領域103aに内部用ログファイルを出力している。内部用ログファイルは、例えば、内部のプラットフォームにおいて動作する動作モジュール129aの処理動作のシーケンス等が記録されるログファイルとなっている。なお、ここでいう内部用ログファイルとは、画像形成装置開発元側の開発者のみが参照可能なログファイルを意味している。外部ベンダー側の開発者には、機密保持やセキュリティ等の観点から、装置の内部用ログを公開することは難しいからである。
【0042】
一方、外部アプリ115aは、機能API140aを介し、プラットフォーム120内の動作モジュール129aを利用して機能する。機能API140aは、外部ベンダー向けに公開され、予め用意された外部向け機能提供I/Fであり、外部アプリ115aは、その機能を実現すべく、APIを介して予め定義された関数により、動作モジュール129aに対して処理要求を行う。ここで従来、この外部アプリ115aによるログは、外部ベンダー独自の外部ログ機構(ログ記録モジュール115b)を利用したり、標準の入出力機構(非図示)を利用したりして、開発/保守時に参照するログを独自に記録している。つまり、外部ベンダーの開発者は自由に外部アプリ115aのログを出力している形になっている。なおここでは、ログ出力先として、例えば外部ベンダーの利用が許可されている外部記憶領域103bに外部用ログファイルとして記録される。
【0043】
このため、外部ベンダーによる外部アプリ115aの影響で、装置のプラットフォーム120側の機能へ影響が及ぶような不具合が発生した場合、従来、それぞれのログが別個記録されており、画像形成装置開発元側の開発者としては、装置プラットフォーム120側の内部アプリ111a(もしくは動作モジュール129a)のシーケンスと外部ベンダーにより開発された外部アプリ115aのシーケンスとの両方のログを効率よく参照することができなかった。具体的には、画像形成装置開発元側の開発者は、内部用記憶領域103aに内部用ログファイル、外部記憶領域103bに外部用ログファイルをそれぞれ同時並行的に参照するに留まっていた。
【0044】
図4は、本実施形態に係る画像形成装置100の主要機能構成を示す機能ブロック図である。従来の画像形成装置100b(図3)と比較すると、実施形態に係る画像形成装置100は、外部向け機能提供I/Fとして、ログAPI140bを含む構成になっている。
【0045】
図に示されるように、本実施形態に係る画像形成装置100には、外部向け機能提供I/Fとして、ログAPI140bが予め用意されており、また外部アプリ115aのログ記録を行うログ記録モジュール115cが示されている(勿論、ログ記録モジュール115cは外部アプリ115aに含まれる構成も可能)。外部アプリ115aのログ記録を行うログ記録モジュール115cは、予め定義された関数を使用しており、外部アプリ115aが機能API140aを利用するのと同様、ログの出力の為のインターフェースであるログAPI140bを利用する。ログ記録モジュール115cは、外部アプリ115aからのログ記録処理要求に応じて、ログAPI140bを介し、外部用記憶領域103b内の外部用ログファイルへのログ記録を行う。またこのとき、ログAPI140bの仲介により、外部アプリ115aからのログ記録処理要求は、プラットフォーム120内のログ記録モジュール132に伝達される。つまり、ログ記録モジュール115cは、プラットフォーム120内のログ記録モジュール132を利用して、内部用記憶領域103aの内部用ログファイルにログを記録できる。これにより、外部アプリ115aから出力されたログが、内部用ログファイルにも記録され、同時にまた、外部用ログファイルにも記録される。
【0046】
このように、ログの出力の為のインターフェースであるログAPI140bが用意されていると、外部ベンダーによる外部アプリ115aのログ記録を行うに際し、機密保持やセキュリティ等を保ちながら、外部アプリ115aのログを内部用記憶領域103aの内部用ログファイルにも記録できるようになるので、画像形成装置開発元側の開発者としては、装置プラットフォーム120側の内部アプリ111a(もしくは動作モジュール129a)のシーケンスと外部ベンダーにより開発された外部アプリ115aのシーケンスとの両方のログを一元的に効率よく参照することができるようになる。また、外部ベンダーとしては、外部記憶領域103bの外部用ログファイルは依然確保されているので、従来通り、当該外部用ログファイルを参照することができる。なおまた、次世代フラットフォーム等の登場により、フラットフォーム120側の仕様が変更された場合、API140bのみを次世代フラットフォームの仕様に対応させることにより、外部アプリ115aのログ記録モジュール115cを依然として使用することができ、また外部ベンダーにも新たな仕様変更を要しないで済むことになる。
【0047】
なお、上述のこれらモジュールは、画像形成装置100のCPU211により実行されることでこれらの機能が実際に実現されるものである。従って、例えば、機能API140a及びログAPI140bは、インターフェース手段として機能し、ログ記録モジュール132は第1ログ記録手段、ログ記録モジュール115cは第2ログ記録手段として機能することができる。
【0048】
(動作)
図5は、外部アプリの機能実行に伴うログ記録処理を説明するシーケンス図である。以下、図面を参照しながら説明していく。
【0049】
まず外部アプリ115cは、外部向け機能提供I/FのログAPI140bに対し、外部アプリ機能実行開始時のログ出力要求を行う(S501)。ログAPI140bは、プラットフォーム120内のログ機構を実現するログ記録モジュール132にログ出力要求を行うと(S502)、ログ記録モジュール132により、内部用記憶領域103aの内部用ログファイルに出力される(S503)。また併せて、ログAPI140bは、外部用記憶領域103bの外部用ログファイル140bに対してもログ出力を行う(S504)。
【0050】
その後、外部アプリ115cは、外部アプリ機能を実行する為、外部向け機能提供I/Fの機能API140aに対し、機能実行要求を行うと(S505)、機能API140aを介して、動作モジュール129aは、予め定義された関数により外部アプリ115cの処理要求を受信し(S506)、外部アプリ機能を実行する(S507)。本実施形態では、外部アプリ115cはいわゆる拡張機能を実現し、外部アプリ機能は、動作モジュール129aを利用して実行される。動作モジュール129aは、この機能実行処理に伴って、ログ記録モジュール132にログ出力要求を行うと(S508)、ログ記録モジュール132により内部用ログファイルに出力される(S509)。
【0051】
そして、外部アプリ115cは、外部向け機能提供I/FのログAPI140bに対し、外部アプリ機能実行完了時のログ出力要求を行う(S509)。ログAPI140bは、プラットフォーム120内のログ記録モジュール132にログ出力要求を行うと(S510)、ログ記録モジュール132により内部用ログファイルに出力される(S511)。また併せて、ログAPI140bは、外部用ログファイル140bに対してもログ出力を行う(S512)。
【0052】
このように、本実施形態に係るログ記録処理の場合、機能実行開始時及び機能実行完了時において、内部用ログファイルにログ出力(S503及びS511)されているので、画像形成装置開発元側の開発者は、内部用ログファイルを参照することにより、装置プラットフォーム120側の内部アプリ111a(もしくは動作モジュール129a)のシーケンスと外部ベンダーにより開発された外部アプリ115aのシーケンスとの両方のログを一元的に効率よく参照することができるようになる。より具体的に、機能実行開始時のログ出力(S503)により、例えば外部アプリ115aから動作モジュール129aへ、意図される各種パラメータ初期値が正常に渡されているか、機能実行完了時のログ出力(S511)により、例えば動作モジュール129aから外部アプリ115aへ、意図される各種パラメータ戻り値が正常に渡されているか、等を確認できるので、特に開発/保守時に必要とされる処理シーケンスを段階的に確認することもできる。
【0053】
また、外部ベンダー側の開発者は、外部記憶領域103bの外部用ログファイルは依然確保されているので、従来通り、当該外部用ログファイルを参照することができる。
【0054】
(ログ参照)
図6は、本実施形態に係る画像形成装置100の主要機能構成を示す機能ブロック図である。画像形成装置100(図4)に対して、外部アプリとして、ログ参照アプリ115dを含む構成になっている。
【0055】
画像形成装置開発元側で、外部ベンダーに向け、ログ参照用のアプリケーションであるログ参照アプリ115dを提供することで、外部アプリの開発者は、外部用ログファイルの参照を行えるようにする。この時、ログ参照アプリ115dからは、機密保持やセキュリティ等の観点から内部用ログファイルの参照はできず、外部用ログファイルのみの参照に限定されている。このようなログ参照アプリ115dによれば、外部ベンダーの開発者に対しては、外部用ログファイルのみのログ参照に限定することができるため、装置内部の機密情報を参照されることはなく、かつ、外部アプリの開発者は、参照したい外部用ログのみを参照することができる。つまり、外部ベンダーの開発者にとっては、内部用ログの部分は完全に隠蔽されていても、外部アプリ自体の開発効率には影響がないまま、参照できる範囲を限定することができるようになっている。
【0056】
(総括)
以下、本実施形態に係る画像形成装置100の作用効果について説明する。
【0057】
本実施形態に係る画像形成装置100は、第1アプリケーションからの処理要求を実行し、また、予め用意されたAPIを介して予め定義された関数により第2アプリケーションからの処理要求を受信及び実行する情報処理装置であって、前記第2アプリケーションからの処理要求を前記APIにより仲介し、前記第1アプリケーションの処理動作に伴う第1ログを記憶し、前記第2アプリケーションの処理動作に伴う第2ログを記憶し、前記第1ログを、前記第1記憶手段に記録し、前記第2ログを、前記第2アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記録し、前記インターフェース手段は、前記第2ログ記録手段により前記第2ログが前記第2記憶手段に記録されるとき、前記第2アプリケーションからのログの記録処理要求を前記第1ログ記録手段に伝達することにより、前記第1記憶手段には、前記第1ログ及び前記第2ログが記憶される。
【0058】
このため、この構成によれば、外部ベンダーにより開発された外部アプリからのログの記録処理要求を、インターフェースであるログAPIにより仲介する。そして、外部ベンダー用の記憶領域(例えば第2記憶領域)に、外部用ログ(例えば第2ログ)は記録され、また、装置開発元用の記憶領域(例えば第1記憶領域)にも、外部用ログ(例えば第2ログ)は記録される。つまり、装置開発元用の記憶領域(例えば第1記憶領域)には、内部用ログ(例えば第1ログ)及び外部用ログ(例えば第2ログ)は記録されることになるので、装置開発元側は、内製された内部アプリと、外部ベンダーにより開発された外部アプリとのログ(例えばシーケンス)の両方のログを一元的に効率よく参照することができる。
【0059】
また、外部ベンダー用の記憶領域(例えば第2記憶領域)に、外部用ログ(例えば第2ログ)は依然記録されているので、従来通り、外部ベンダー側は、当該外部用ログを自由に参照することができる。
【0060】
なおまた、外部ベンダーにより開発された外部アプリからのログの記録処理要求を、インターフェースであるログAPIにより仲介するので、次世代フラットフォーム等の登場により、画像形成装置側の仕様が変更された場合、APIのみを次世代フラットフォームの仕様に対応させることにより、外部ベンダーにより開発された外部アプリからのログの記録処理要求を依然として受信することができ、また外部ベンダーにも新たな仕様変更を要しないで済むことになる。
【0061】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、以上以外にも様々な構成を採用することもできる。
【0062】
例えば、上記実施形態では、外部アプリ115aのログ記録を行うものとして、ログ記録モジュール115cを有する構成としたが、特に限定する意図はなく、例えば、外部アプリ115aがログ記録モジュール115cを含む構成としてもよい。この場合にも、ログAPI140bを介して、外部アプリからのログの記録処理要求を行えるという作用効果は同様だからである。
【0063】
また、外部向け機能提供I/Fとして、機能API140a及びログAPI140bを有する構成としたが、特に限定する意図はなく、例えば、機能API140aがログAPI140bを含む構成としてもよい。この場合にも、外部アプリのログの記録処理要求を仲介できるという作用効果は同様だからである。
【0064】
以上、本実施形態によれば、役割に応じて必要十分なログ環境を提供し、アプリケーションの開発及び保守効率を向上させる情報処理装置、APIプログラム、及びログ環境提供方法を提供することが可能となる。
【0065】
各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。また、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【符号の説明】
【0066】
100 画像形成装置
103a 内部用記録領域
103b 外部用記録領域
110 アプリケーション
111a 内部アプリ
115a 外部アプリ
115b、c ログ記録モジュール
115d ログ参照アプリ
120 プラットフォーム
129a 動作モジュール
132 ログ記録モジュール
140 API
140a 機能API
140b ログAPI
【先行技術文献】
【特許文献】
【0067】
【特許文献1】特開2007−257085号公報

【特許請求の範囲】
【請求項1】
第1アプリケーションからの処理要求を実行し、また、予め用意されたAPIを介して予め定義された関数により第2アプリケーションからの処理要求を受信及び実行する情報処理装置であって、
前記第2アプリケーションからの処理要求を前記APIにより仲介するインターフェース手段と、
前記第1アプリケーションの処理動作に伴う第1ログを記憶する第1記憶手段と、
前記第2アプリケーションの処理動作に伴う第2ログを記憶する第2記憶手段と、
前記第1ログを、前記第1記憶手段に記録する第1ログ記録手段と、
前記第2ログを、前記第2アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記録する第2ログ記録手段と、を有し、
前記インターフェース手段は、前記第2ログ記録手段により前記第2ログが前記第2記憶手段に記録されるとき、前記第2アプリケーションからのログの記録処理要求を前記第1ログ記録手段に伝達することにより、前記第1記憶手段には、前記第1ログ及び前記第2ログが記憶されること、
を特徴とする情報処理装置。
【請求項2】
第3アプリケーションからのログ参照要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記憶された前記第2ログを参照するログ参照手段を有し、
前記インターフェース手段は、前記第2ログのログ参照要求のみ仲介し、前記第1ログのログ参照要求の仲介は禁止すること、
を特徴とする請求項1記載の情報処理装置。
【請求項3】
第1アプリケーションからの処理要求を実行する情報処理装置において予め用意され、予め定義された関数により第2アプリケーションからの処理要求を前記情報処理装置に受信及び実行させるAPIプログラムあって、
前記情報処理装置は、
前記第1アプリケーションの処理動作に伴う第1ログを記憶する第1記憶手段と、
前記第2アプリケーションの処理動作に伴う第2ログを記憶する第2記憶手段と、
前記第1ログを、前記第1記憶手段に記録する第1ログ記録手段と、
前記第2ログを、前記第2アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記録する第2ログ記録手段と、を有し、
当該APIプログラムは、前記第2アプリケーションからの処理要求を前記APIにより仲介するインターフェース手段として、前記情報処理装置に機能させ、
前記インターフェース手段は、前記第2ログ記録手段により前記第2ログが前記第2記憶手段に記録されるとき、前記第2アプリケーションからのログの記録処理要求を前記第1ログ記録手段に伝達することにより、前記第1記憶手段には、前記第1ログ及び前記第2ログが記憶されること、
を特徴とするAPIプログラム。
【請求項4】
前記情報処理装置は、
第3アプリケーションからのログ参照要求に応じて、前記インターフェース手段の仲介により、前記第2記憶手段に記憶された前記第2ログを参照するログ参照手段を有し、
前記インターフェース手段は、前記第2ログのログ参照要求のみ仲介し、前記第1ログのログ参照要求の仲介は禁止すること、
を特徴とする請求項3記載のAPIプログラム。
【請求項5】
第1アプリケーションからの処理要求を実行し、また、予め用意されたAPIを介して予め定義された関数により第2アプリケーションからの処理要求を受信及び実行し、
また、
前記第1アプリケーションの処理動作に伴う第1ログを記憶する第1記憶手段と、前記第1ログを、前記第1記憶手段に記録する第1ログ記録手段と、
前記第2アプリケーションの処理動作に伴う第2ログを記憶する第2記憶手段と
を有する情報処理装置におけるログ環境提供方法であって、
前記第2アプリケーションからのログの記録処理要求を前記APIにより仲介するインターフェース手順と、
前記第2ログを、前記第2アプリケーションからのログの記録処理要求に応じて、前記インターフェース手段の仲介により、第2記憶手段に記録する第2ログ記録手順と、を有し、
前記インターフェース手順は、前記第2ログ記録手順により前記第2ログが前記第2記憶手段に記録されるとき、前記第2アプリケーションからのログの記録処理要求を前記第1ログ記録手段に伝達することにより、前記第1記憶手段には、前記第1ログ及び前記第2ログが記憶されること、
を特徴とするログ環境提供方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate