(57)【特許請求の範囲】
【請求項１】
複数の電子機器に対して不定期に複数の第二のプログラムのいずれかを送信する管理装置にネットワークを介して接続される前記電子機器であって、
当該電子機器が有する第一のプログラムごとに、各第一のプログラムに対して動的に処理を割り込ませることが可能な第二のプログラムの受信の許否を含む設定情報をユーザに設定させ、該設定情報を設定情報記憶手段に記録する設定手段と、
前記管理装置からのいずれかの第二のプログラムの送信要求の受信に応じ、当該第二のプログラムが適用される第一のプログラムに係る前記設定情報に基づいて当該第二のプログラムの受信の許否を判定する受信許否判定手段と、
前記受信許否判定手段による判定結果に応じ、前記送信要求に係る第二のプログラムの受信の拒否を示す応答を、前記管理装置に送信する応答手段と、
受信が許可された第二のプログラムについて、第一のプログラムへの適用状態を示す情報を記憶する状態記憶手段と、
第一のプログラムに適用中であることを示す情報が前記状態記憶手段に記憶されている第二のプログラムについて、当該第二のプログラムが出力する情報の表示指示を受け付ける画面を表示する表示手段とを有する電子機器。
【請求項２】
前記設定手段は、受信の許可が設定された第一のプログラムについて、第二のプログラムの自動実行の許否を設定させ、前記自動実行の許否を含む前記設定情報を前記設定情報記憶手段に記録し、
第二のプログラムの受信の受信に応じ、当該第二のプログラムの自動実行の許否を前記設定情報に基づいて判定する自動実行許否判定手段と、
前記自動実行許否判定手段による判定結果に応じ、前記受信が許可された第二のプログラムを前記第一のプログラムに自動的に適用する実行手段とを有する請求項１記載の電子機器。
【請求項３】
第二のプログラムは、第一のプログラムに関するログを出力する請求項１又は２記載の電子機器。
【請求項４】
複数の電子機器に対して不定期に複数の第二のプログラムのいずれかを送信する管理装置にネットワークを介して接続される前記電子機器が実行する情報処理方法であって、
当該電子機器が有する第一のプログラムごとに、各第一のプログラムに対して動的に処理を割り込ませることが可能な第二のプログラムの受信の許否を含む設定情報をユーザに設定させ、該設定情報を設定情報記憶手段に記録する設定手順と、
前記管理装置からのいずれかの第二のプログラムの送信要求の受信に応じ、当該第二のプログラムが適用される第一のプログラムに係る前記設定情報に基づいて当該第二のプログラムの受信の許否を判定する受信許否判定手順と、
前記受信許否判定手順における判定結果に応じ、前記送信要求に係る第二のプログラムの受信の拒否を示す応答を、前記管理装置に送信する応答手順と、
受信が許可された第二のプログラムについて、第一のプログラムへの適用状態を示す情報を状態記憶手段に記憶する記憶手順と、
第一のプログラムに適用中であることを示す情報が前記状態記憶手段に記憶されている第二のプログラムについて、当該第二のプログラムが出力する情報の表示指示を受け付ける画面を表示する表示手順とを有する情報処理方法。
【請求項５】
前記設定手順は、受信の許可が設定された第一のプログラムについて、第二のプログラムの自動実行の許否を設定させ、前記自動実行の許否を含む前記設定情報を前記設定情報記憶手段に記録し、
第二のプログラムの受信の受信に応じ、当該第二のプログラムの自動実行の許否を前記設定情報に基づいて判定する自動実行許否判定手順と、
前記自動実行許否判定手順における判定結果に応じ、前記受信が許可された第二のプログラムを前記第一のプログラムに自動的に適用する実行手順とを有する請求項４記載の情報処理方法。
【請求項６】
第二のプログラムは、第一のプログラムに関するログを出力する請求項４又は５記載の情報処理方法。
【請求項７】
複数の電子機器に対して不定期に複数の第二のプログラムのいずれかを送信する管理装置にネットワークを介して接続される前記電子機器に、
当該電子機器が有する第一のプログラムごとに、各第一のプログラムに対して動的に処理を割り込ませることが可能な第二のプログラムの受信の許否を含む設定情報をユーザに設定させ、該設定情報を設定情報記憶手段に記録する設定手順と、
前記管理装置からのいずれかの第二のプログラムの送信要求の受信に応じ、当該第二のプログラムが適用される第一のプログラムに係る前記設定情報に基づいて当該第二のプログラムの受信の許否を判定する受信許否判定手順と、
前記受信許否判定手順における判定結果に応じ、前記送信要求に係る第二のプログラムの受信の拒否を示す応答を、前記管理装置に送信する応答手順と、
受信が許可された第二のプログラムについて、第一のプログラムへの適用状態を示す情報を状態記憶手段に記憶する記憶手順と、
第一のプログラムに適用中であることを示す情報が前記状態記憶手段に記憶されている第二のプログラムについて、当該第二のプログラムが出力する情報の表示指示を受け付ける画面を表示する表示手順とを実行させるためのプログラム。
【請求項８】
前記設定手順は、受信の許可が設定された第一のプログラムについて、第二のプログラムの自動実行の許否を設定させ、前記自動実行の許否を含む前記設定情報を前記設定情報記憶手段に記録し、
第二のプログラムの受信の受信に応じ、当該第二のプログラムの自動実行の許否を前記設定情報に基づいて判定する自動実行許否判定手順と、
前記自動実行許否判定手順における判定結果に応じ、前記受信が許可された第二のプログラムを前記第一のプログラムに自動的に適用する実行手順とを有する請求項７記載のプログラム。
【請求項９】
第二のプログラムは、第一のプログラムに関するログを出力する請求項７又は８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、情報処理方法、及びプログラムに関し、特にプログラムを実行可能な電子機器、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、特に組み込み機器等において動作するプログラムの障害解析（デバッグ等）の代表的な作業として、プログラムが出力するログの解析が行われている。すなわち、プログラムのソースコードには、プログラムが用いている変数の値や、プログラムが動作しているハードウェアの状態を示す情報等をログファイルに出力するための命令（例えば、Ｃ言語におけるｐｒｉｎｔｆ関数）が予め各所に埋め込まれている。障害が発生した際、斯かる命令（以下、「ログ出力命令」という。）に従って出力されたログファイルを解析することにより、障害の原因が推測又は特定される。
【０００３】
しかし、予め埋め込まれたログ出力命令に基づいて出力されるログファイル（最初に出力されるログファイル）では、詳細な解析を行うには情報として不十分な場合が多々ある。斯かる場合、最初に出力されるログファイルに基づいて、或る程度障害箇所が絞り込まれる。続いて、その障害箇所周辺について更に詳細なログを出力するように、プログラムのソースコードが修正され、コンパイル及びリンクが行われた上で、プログラムの置き換えが行われる。改めて出力されるログファイルによっても原因が特定できない場合は、更に、ソースコードにログ出力命令が埋め込まれ、上記作業が繰り返される。このように、ログに基づいて障害解析を行う場合、時として大変煩雑な作業が要求されていた。
【０００４】
そこで、従来、動作中のプログラムの任意の箇所（診断位置）に当該プログラムの診断用プログラムの処理を動的に（実行時に）割り込ませる技術が存在する。診断用プログラムでは、診断対象となるプログラムの変数の値等を参照することができる。診断用プログラムの処理の終了後は、診断対象となるプログラムについて診断用プログラムによって割り込まれた位置に処理が復帰する。斯かる技術によれば、診断対象となるプログラムのソースコードを修正することなく、診断用プログラムによって診断対象となるプログラムのログの出力が可能となる。また、診断用プログラムの利用者は、診断用プログラムをネットワークを介して適用対象のプログラムが動作する機器等に送信し、ネットワークを介して追加プログラムの実行制御等を行うことが可能である。斯かる遠隔操作が可能な点においても、利用者（障害解析担当者等）にとって斯かる診断用プログラムは非常に便利である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、機器のエンドユーザにとっては、自らの知らない間に機器内に診断プログラムが導入され、ログが採取される可能性が生じる。したがって、エンドユーザにとっては、機器において管理されている各種機密情報の漏洩等、セキュリティ上の観点において不安が生じかねない。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、他のプログラムに対して動的に処理を割り込ませることのできるプログラムの利用に関して適切にセキュリティを確保することのできる電子機器、情報処理方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、本発明は、電子機器であって、当該電子機器が有する第一のプグラムに対して動的に処理を割り込ませることが可能な第二のプログラムについて、前記第一のプログラムごとに受信の許否を含む設定情報をユーザに設定させ、該設定情報を設定情報記憶手段に記録する設定手段と、前記第二のプログラムの受信に応じ、当該第二のプログラムが適用される前記第一のプログラムに係る前記設定情報に基づいて当該第二のプログラムの受信の許否を判定する受信許否判定手段と、前記受信許否判定手段による判定結果に応じ、前記第二のプログラムの受信を拒否する受信手段とを有する。
【０００８】
このような電子機器では、他のプログラムに対して動的に処理を割り込ませることのできるプログラムの利用に関して適切にセキュリティを確保することができる。
【発明の効果】
【０００９】
本発明によれば、他のプログラムに対して動的に処理を割り込ませることのできるプログラムの利用に関して適切にセキュリティを確保することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における機器管理システムの構成例を示す図である。
【図２】追加プログラムの概要を説明するための図である。
【図３】本発明の実施の形態における機器のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における機器のソフトウェア構成例を示す図である。
【図５】追加プログラム制御部の機能構成例を示す図である。
【図６】追加プログラムの受信及び自動実行の許否設定の処理手順を説明するためのフローチャートである。
【図７】設定画面の表示例を示す図である。
【図８】追加プログラム操作情報記憶部の構成例を示す図である。
【図９】機器における追加プログラムの操作に関する処理手順を説明するためのフローチャートである。
【図１０】追加プログラム管理情報記憶部の構成例を示す図である。
【図１１】追加プログラムによって記録されたログの表示処理を説明するためのフローチャートである。
【図１２】ログ表示部によって表示される画面例を示す図である。
【図１３】管理画面の表示例を示す図である。
【図１４】メール転送されるログの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における機器管理システムの構成例を示す図である。図１の機器管理システム１において、管理サーバ１０と、機器２０ａ、機器２０ｂ及び機器２０ｃ（以下、総称する場合「機器２０」という。）とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク５０（有線又は無線の別は問わない。）を介して接続されている。
【００１２】
機器２０は、コピー、ファクシミリ、プリンタ、及びスキャナ等の複数の機能を一台の筐体において実現する画像形成装置（複合機）である。機器２０は、ＣＰＵやメモリを備え、メモリに記録されたプログラムに従ったＣＰＵによる制御に基づいて各種の機能を実現する。なお、本実施の形態では、機器２０が電子機器の一例に相当する。
【００１３】
管理サーバ１０は、機器２０において利用されるプログラムに対して適用される追加プログラムの管理及び当該追加プログラムの機器２０への転送等を行うコンピュータである。本実施の形態において、追加プログラムとは、適用対象とされるプログラムの任意の箇所において、当該追加プログラムに定義された処理を動的に割り込ませることのできるプログラムをいう。
【００１４】
図２は、追加プログラムの概要を説明するための図である。図２において、５０１は、追加プログラム５０５が適用されるプログラムにおける仮想メモリ上における命令の配列を示す。プログラム５０１は、追加プログラム５０１が適用される前（通常実行時）は、命令１、２、３の順で処理を実行する。５０１ａは、プログラム５０１に追加プログラム５０１が適用された状態を示す。ここでは、命令１と命令２との間に追加プログラム５０５の処理を割り込ませる例が示されている。この場合、命令２がテーブル５０２への分岐命令に置き換えられる。テーブル５０２には、初期化処理、前処理（変数のスタックへの退避等）、追加プログラム５０５の呼び出し処理、後処理（スタックに退避されていた変数等の取り出し等）の後に命令２が実行され、プログラム５０１の命令３に戻るような定義がされている。
【００１５】
すなわち、追加プログラムが適用される場合、適用対象とされたプログラムの実行ステップが予め指定された箇所（追加位置）に到達すると、追加プログラムの処理が実行される。当該追加プログラムの処理が終了すると、適用対象とされたプログラムに処理制御が復帰する。その後、適用対象とされたプログラムは、追加位置より処理を再開する。なお、追加プログラムには、適用対象のプログラムに割り込ませる処理の他、適用対象とするプログラム及び追加位置を識別するための情報が含まれている。
【００１６】
追加プログラムの中では、適用対象とされるプログラムの変数等を参照可能である。したがって、追加プログラムによって、適用対象とされるプログラムの任意の箇所における変数の値等を示すログ情報を出力させるための処理や、バグを修正するための処理や、新たな機能を実現するための処理等を適用対象とされるプログラムに割り込ませることができる。
【００１７】
斯かる追加プログラムによれば、適用対象とされるプログラムについて、ソースコードの修正、コンパイル及びリンク、更に、再インストール等を行うことなく（すなわち、動的に）、ログ情報の出力、バグの修正、又は機能強化等を図ることができる。本実施の形態では、追加プログラムをログ情報の出力に用いた例について説明する。
【００１８】
なお、本実施の形態において、追加プログラムを適用対象のプログラムに適用し、実行可能な状態とすること（図２に示される状態にすること）を追加プログラムの「有効化」という。すなわち、追加プログラムは、機器２０内に保存されているだけでは機能せず、有効化されることにより処理を割り込ませることができる。
【００１９】
機器２０の詳細について説明する。図３は、本発明の実施の形態における機器のハードウェア構成例を示す図である。同図において、機器２０は、コントローラ６０１、オペレーションパネル６０２、ファクシミリコントロールユニット（ＦＣＵ）６０３、撮像部６０４、及び印刷部６０５等より構成される。
【００２０】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００２１】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、機器２０のシステムメモリである。ＭＥＭ−Ｃ６３２は、機器２０のローカルメモリである。ＨＤＤ６３３は、機器２０のストレージである。メモリカードスロット６３４は、メモリカード６３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが機器２０に入力を行うためのハードウェア（操作部）であると共に、オペレータが機器２０から出力を得るためのハードウェア（表示部）である。
【００２２】
図４は、本発明の実施の形態における機器のソフトウェア構成例を示す図である。図４において、機器２０は、コピーアプリ２１ａ、ＦＡＸアプリ２１ｂ、プリンタアプリ２１ｃ、及びスキャナアプリ２１ｄ等のアプリケーション２１と、サービス層２２と、追加プログラム制御部２３と、ＯＳ２４と等を有する。これらのソフトウェアは、ＭＥＭ−Ｐ６３１におけるＲＡＭ上にロードされ、ＣＰＵ６１１に処理を実行させることによりその機能を実現させる。
【００２３】
コピーアプリ２１ａは、コピー機能を実現するアプリケーションである。ＦＡＸアプリ２１ｂは、ＦＡＸ機能を実現するアプリケーションである。プリンタアプリ２１ｃは、印刷機能を実現するアプリケーションである。スキャナアプリ２１ｄは、スキャナ機能を実現するアプリケーションである。
【００２４】
サービス層２２は、複数のアプリケーション２１によって共通に必要とされるサービス（機能）をアプリケーション２１に対して提供するプログラム群を含む。同図では、ログイン管理部２２１及びネットワーク制御部２２２が例示されている。ログイン管理部２２１は、機器２０に対するユーザのログイン及びログアウトに関する処理を制御する。例えば、ログイン管理部２２１は、ユーザによって入力される認証情報（例えば、ユーザ名及びパスワード等）に基づいてユーザ認証を行い、ログイン中のユーザを認識する。ネットワーク制御部２２２は、各種通信プロトコルによる通信手段をアプリケーション２１に提供する。その他、サービス層２２には、撮像部６０４や印刷部６０５等のハードウェアの制御を行うプログラム、メモリやハードディスクドライブ等の記憶装置の管理を行うプログラム、オペレーションパネル６０２の制御を行うプログラム等も含まれる。
【００２５】
なお、本実施の形態では、アプリケーション２１及びサービス層２２に含まれるプログラムが追加プログラムの適用対象とされる。
【００２６】
ＯＳ２４は、いわゆるＯＳ（Operating System）である。ＯＳ２４は、所定のものに限定されない。
【００２７】
追加プログラム制御部２３は、上述した追加プログラム（図中では、追加プログラム２５として示されている。）の実行環境を実現するソフトウェアである。例えば、追加プログラム制御部２３は、管理サーバ１０より転送される追加プログラム２５の受信、適用対象への適用（有効化）等を行う。
【００２８】
図５は、追加プログラム制御部の機能構成例を示す図である。同図において、追加プログラム制御部２３は、追加プログラム操作情報設定部２３１、追加プログラム受信部２３２、受信許否判定部２３３、自動実行許否判定部２３４、追加プログラム実行部２３５、ログ表示部２３６、追加プログラム管理部２３７、追加プログラム操作情報記憶部２３８、及び追加プログラム管理情報記憶部２３９等を有する。
【００２９】
追加プログラム操作情報設定部２３１は、追加プログラムの取り扱い（管理サーバ１０からの受信及び自動実行等）に関する設定情報をユーザに設定させ、当該設定情報を追加プログラム操作情報記憶部２３８に記録する。追加プログラム操作情報記憶部２３８は、ＨＤＤ６３３において、当該設定情報を記憶するための記憶領域である。追加プログラム受信部２３２は、管理サーバ１０より転送される追加プログラムの受信処理を制御する。受信許否判定部２３３は、管理サーバ１０より転送される追加プログラムの受信の許否を追加プログラム操作情報記憶部２３８を用いて判定する。自動実行許否判定部２３４は、受信が許可された追加プログラムについて、自動実行の許否を追加プログラム操作情報記憶部２３８を用いて判定する。追加プログラム実行部２３５は、追加プログラムの実行（有効化）を制御する。ログ表示部２３６は、追加プログラムによって記録されたログの表示処理を制御する。追加プログラム管理部２３７は、追加プログラム管理情報記憶部２３９に記録されている追加プログラムの管理情報（状態情報等）の表示処理等を制御する。追加プログラム管理情報記憶部２３９は、ＨＤＤ６３３において、追加プログラムの管理情報を記憶するための記憶領域である。
【００３０】
以下、機器２０の処理手順について説明する。図６は、追加プログラムの受信及び自動実行の許否設定の処理手順を説明するためのフローチャートである。
【００３１】
オペレーションパネル６０２を介して、追加プログラムの受信及び実行に関する設定指示がユーザによって入力されると、追加プログラム制御部２３の追加プログラム操作情報設定部２３１は、設定画面をオペレーションパネル６０２に表示させる（Ｓ１０１）。
【００３２】
図７は、設定画面の表示例を示す図である。同図において、設定画面７１０には、対象プログラム（追加プログラムの適用対象となりうるプログラム）ごとに、追加プログラムの受信及び自動実行について許可するか否か（許否）の設定させるためのリストボックスが配置されている。追加プログラムの自動実行とは、追加プログラムの受信に応じて、当該追加プログラムを自動的に有効化することをいう。自動実行が許可されない場合、追加プログラムの有効化は手動で（ユーザによる有効化の指示入力に応じて）実行される。
【００３３】
各リストボックス内の要素（選択肢）は、「許可」及び「許可しない」である。したがって、ユーザは、対象プログラムごとに、当該対象プログラムを適用対象とする追加プログラムの受信の許否を設定することができる。また、ユーザは、追加プログラムの受信を許可した対象プログラムごとに、当該対象プログラムを適用対象とする追加プログラムの自動実行の許否を設定することができる。すなわち、自動実行の許否の設定は、受信が許可された対象プログラムに限定される。スキャンアプリに対する追加プログラム実行の許否の設定用のリストボックスがグレーアウトされているのは、スキャンアプリに対する追加プログラムの受信が「許可しない」に設定されているからである。
【００３４】
なお、対象プログラムの一覧に含まれている「プリンタアプリ」、「ログインログアウト」、「コピーアプリ」、「ＦＡＸアプリ」、「スキャナアプリ」、及び「ネットワーク」は、それぞれ図４における、プリンタアプリ２１ｃ、ログイン管理部２２１、コピーアプリ２１ａ、ＦＡＸアプリ２１ｂ、スキャナアプリ２１ｄ、ネットワーク制御部２２２に対応する。
【００３５】
また、対象プログラムの一覧は、例えば、追加プログラム操作情報記憶部２３８に予め記録されている。
【００３６】
設定画面７１０における設定が完了し、ユーザによってＯＫボタン７１１が押下されると（Ｓ１０２）、追加プログラム操作情報設定部２３１は、設定画面７１０における設定内容を追加プログラム操作情報記憶部２３８に記録（保存）する（Ｓ１０３）。
【００３７】
図８は、追加プログラム操作情報記憶部の構成例を示す図である。同図に示されるように、追加プログラム操作情報記憶部２３８には、設定画面７１０の設定内容がそのまま記録される。すなわち、追加プログラム操作情報記憶部２３８には、対象プログラムＩＤごとに、追加プログラムの受信の許否及び追加プログラムの自動実行の許否が記録される。対象プログラムＩＤは、各プログラムの識別情報であり、プログラム名であってもよい。同図における設定値は、便宜上自然言語（日本語）によって記載されているが、実際は、プログラムが処理し易い形式によって記録される。
【００３８】
なお、図６の処理におけるユーザによる入力は、ネットワークを介して接続されるＰＣ（Personal Computer）等より行われてもよい。この場合、追加プログラム操作情報設定部２３１は、ネットワークを介して設定画面７１０を提供し、当該設定画面７１０に対する入力情報をネットワークを介して受信すればよい。追加プログラム操作情報設定部２３１をＷｅｂアプリケーションとすれば、ユーザは、ＰＣ等が備えるＷｅｂブラウザを介して設定作業を行うことができる。
【００３９】
続いて、追加プログラム操作情報記憶部２３８に記録された情報を用いて実行される処理手順について説明する。図９は、機器における追加プログラムの操作に関する処理手順を説明するためのフローチャートである。
【００４０】
追加プログラムは、不定期に管理サーバ１０より機器２０に対して転送される。したがって、追加プログラム制御部２３の追加プログラム受信部２３２は、管理サーバ１０からの追加プログラムの送信要求を常時待機している（Ｓ２０１）。追加プログラム受信部２３２は、追加プログラムの送信要求を管理サーバ１０より受信すると（Ｓ２０１でＹｅｓ）、受信許否判定部２３３に受信の許否の判定を要求する。なお、追加プログラムの送信要求には、追加プログラムの適用対象のプログラムの識別情報（対象プログラムＩＤ）等が含まれている。また、送信対象とされる追加プログラム自体の識別情報（追加プログラムＩＤ）が含まれていてもよい。
【００４１】
受信許否判定部２３３は、追加プログラムの送信要求に含まれている対象プログラムＩＤを追加プログラム操作情報記憶部２３８に記録されている情報（追加プログラム操作情報）に当てはめることにより、当該追加プログラムの受信の許否を判定する（Ｓ２０２）。受信許否判定部２３３によって、受信は許可されないと判定された場合（Ｓ２０２でＮｏ）、追加プログラム受信部２３２は、追加プログラムの受信拒否通知を管理サーバ１０に対して返信する（Ｓ２０３）。すなわち、追加プログラム受信部２３２は、追加プログラムの受信を拒否する。したがって、この場合、送信要求に係る追加プログラムは受信されず、機器２０のメモリ（ＭＥＭ−Ｐ６３１）には記録されない。
【００４２】
一方、受信許否判定部２３３によって、受信は許可されると判定された場合（Ｓ２０２でＹｅｓ）、追加プログラム受信部２３２は、送信要求に係る追加プログラムを管理サーバ１０より受信し、受信された追加プログラムを機器２０のメモリに記録する（Ｓ２０４）。追加プログラム受信部２３２は、また、受信された追加プログラムに関する管理情報を追加プログラム管理情報記憶部２３９に記録する。
【００４３】
図１０は、追加プログラム管理情報記憶部の構成例を示す図である。同図に示されるように、追加プログラム管理情報記憶部２３９には、受信された追加プログラムごとに、対象プログラムＩＤ、追加プログラムＩＤ、状態、及びログ出力先等の情報が記録される。状態は、「受信済」又は「実行中」の値をとる。受信直後の状態は「受信済」であり、実行された（有効化された）状態は「実行中」である。実行が解除されると「受信済」に戻る。ログ出力先は、追加プログラムによるログの出力先を示す。後述されるようにログの出力先はユーザによる設定が可能である。
【００４４】
ステップＳ２０４では、受信された追加プログラムについて、各項目の値が記録される。ログ出力先には、例えば、ＨＤＤ６３３における所定の記憶位置（例えば、所定のファイル名）が初期値として記録される。なお、同図では、便宜上、一部の追加プログラムに関してのみ記載されている。
【００４５】
続いて、自動実行許否判定部２３４は、追加プログラムの送信要求に含まれている対象プログラムＩＤを追加プログラム操作情報記憶部２３８に記録されている情報（追加プログラム操作情報）に当てはめることにより、当該追加プログラムの自動実行の許否を判定する（Ｓ２０５）。自動実行許否判定部２３４によって、自動実行は許可されると判定された場合（Ｓ２０５でＹｅｓ）、追加プログラム実行部２３５は、受信された追加プログラムを自動的に有効化する（Ｓ２０８）。追加プログラム実行部２３５は、追加プログラムの有効化に伴い、有効化された追加プログラムについて、追加プログラム管理情報記憶部２３９における管理情報を更新する。具体的には、「状態」の値を「受信済」から「実行中」に変更する。
【００４６】
一方、自動実行許否判定部２３４によって、自動実行は許可されないと判定された場合（Ｓ２０５でＮｏ）、追加プログラム実行部２３５は、受信された追加プログラムの実行の要否を選択させる画面をオペレーションパネル６０２に表示させ、当該画面を介して追加プログラムの実行の要否の選択をユーザより受け付ける（Ｓ２０６）。当該画面において、実行の指示が入力された場合（Ｓ２０７でＹｅｓ）、追加プログラム実行部２３５は、追加プログラムを有効化し、追加プログラム管理情報記憶部２３９を更新する（Ｓ２０８）。当該画面において、実行は不要である旨の指示が入力された場合（Ｓ２０７でＮｏ）、追加プログラム実行部２３５は、追加プログラムの有効化は行わない。
【００４７】
続いて、各追加プログラムによって記録されたログの表示処理について説明する。図１１は、追加プログラムによって記録されたログの表示処理を説明するためのフローチャートである。
【００４８】
オペレーションパネル６０２を介して、ログの表示指示がユーザによって入力されると、追加プログラム制御部２３のログ表示部２３６は、対象プログラム選択画面をオペレーションパネル６０２に表示させる（Ｓ３０１）。
【００４９】
図１２は、ログ表示部によって表示される画面例を示す図である。同図において、対象プログラム選択画面８１０には、対象プログラムごとにボタンが表示されている。対象プログラム選択画面８１０は、追加プログラム操作情報記憶部２３８を利用して表示される。すなわち、対象プログラム選択画面８１０において表示対象とされる対象プログラムは、追加プログラム操作情報記憶部２３８に記録されている対象プログラムＩＤに基づいて特定される。また、各ボタンの表示態様は、追加プログラム操作情報記憶部２３８に記録されている「追加プログラム受信許否」の値に基づいて判定される。当該値が「許可」である対象プログラムのボタンは操作可能とされ、当該値が「許可しない」である対象プログラムのボタンは操作不能とされる（グレーアウトされる）。本実施の形態では、「スキャナアプリ」については追加プログラムの受信は許可されていない。したがって、対象プログラム選択画面８１０において、「スキャナアプリ」に対するボタンはグレーアウトされている。
【００５０】
ユーザによって所望の対象プログラムが選択されると（Ｓ３０２）、ログ表示部２３６は、追加プログラム選択画面８２０をオペレーションパネルに表示させる（Ｓ３０３）。
【００５１】
図１２に示される追加プログラム選択画面８２０は、対象プログラム選択画面８１０において「ログインログアウト」（ログイン管理部２２１）が選択された場合に表示されるものである。したがって、同図の追加プログラム選択画面８２０には、「ログインログアウト」を適用対象とする追加プログラムごとに、ボタンが配置されている。なお、追加プログラム選択画面８２０は、追加プログラム管理情報記憶部２３９に記録された情報に基づいて表示される。当該情報の「状態」の値が「実行中」でない追加プログラムに対するボタンはグレーアウトされる。「実行中」でなければログは記録されていないからである。
【００５２】
ユーザによって所望の追加プログラムが選択されると（Ｓ３０４）、ログ表示部２３６は、選択された追加プログラムのログ出力先に記録されているログを取得し、ログ表示画面８３０をオペレーションパネル６０２に表示させる（Ｓ３０５）。
【００５３】
図１２に示されるログ表示画面８３０は、追加プログラム選択画面８２０において「カード認証ログ取得」が選択された場合に表示されるものである。したがって、同図のログ表示画面８３０には、「カード認証ログ取得」によって記録されたログが表示されている。なお、当該ログは、メソッドの呼び出し履歴を示すものである。
【００５４】
なお、ログの閲覧は、通常、機器２０のエンドユーザではなく、対象プログラムの開発者又は機器２０のメーカーのサービスマンによって行われる。但し、ここで表示されるログは、ユーザによる設定に基づいて受信及び実行が許可された追加プログラムによって記録されたものである。したがって、無条件に追加プログラムが受信され、実行される場合に比べて、ユーザは安心してサービスマン等によるログの閲覧を許容することができる。
【００５５】
ところで、追加プログラム管理情報記憶部２３９に記録された情報を、ユーザに簡便に確認可能としてもよい。例えば、ユーザによって、追加プログラムの管理情報の閲覧指示がオペレーションパネル６０２を介して入力されると、追加プログラム管理部２３７は、受信済み（ダウンロード済み）の追加プログラムの状態等を確認させるための管理画面をオペレーションパネル６０２に表示させる。
【００５６】
図１３は、管理画面の表示例を示す図である。同図において、メイン画面７２０が最初に表示される画面である。メイン画面７２０には、対象プログラムごとに、詳細表示ボタンが表示される。なお、メイン画面７２０は、対象プログラム選択画面８１０と同様、追加プログラム操作情報記憶部２３８を利用して表示される。
【００５７】
メイン画面７２０において、いずれかの対象プログラムに対する詳細ボタンが押下されると、追加プログラム管理部２３７は、当該対象プログラムに対する追加プログラムの管理情報を追加プログラム管理情報記憶部２３９より取得し、取得された管理情報に基づいて当該対象プログラムに対する追加プログラムの詳細画面をオペレーションパネル６０２に表示させる。
【００５８】
例えば、「ネットワーク」に対する詳細表示ボタン７２３が押下されると、ネットワーク用詳細画面７３０が表示される。また、「ログインログアウト」に対する詳細表示ボタン７２１が押下されると、ログインログアウト用詳細画面が表示される。
【００５９】
各詳細画面には、それぞれの対象プログラムを適用対象とする追加プログラムの一覧が管理情報に基づいて表示される。例えば、ネットワーク用詳細画面７３０には、ネットワーク制御部２２２（「ネットワーク」）を適用対象とする追加プログラムとして、「ＳＮＭＰログ取得」、「ＳＭＢログ取得」、「ＨＴＴＰＤログ取得」、「ＵＳＢログ取得」、「１３９４ログ取得」、及び「セントロログ取得」等が表示されている。また、ログインログアウト用詳細画面７４０には、ログイン管理部２２１（「ログインログアウト」）を適用対象とする追加プログラムとして、「カード認証ログ取得」、「ＬＤＡＰ認証ログ取得」、「ＩＤ番号入力ログ取得」、及び「カメラ画像ログ取得」等が表示されている。
【００６０】
なお、「カメラ画像ログ取得」は、ログイン管理部２２１がログインを検知した際に、機器２０に接続されているデジタルカメラによってログインユーザを撮像し、得られたロ画像データをＨＤＤ６３３に記録するといった処理をログイン管理部２２１に割り込ませる追加プログラムである。このように、追加プログラムによって記録される（取得される）ログは、必ずしもテキスト（文字列）情報に限られず、画像データ（静止画又は動画の別は問わない）や音声データ等であってよい。
【００６１】
各詳細画面には、また、追加プログラムごとに、実行ボタン及びログ出力先設定ボタンが配置されている。
【００６２】
実行ボタンは、追加プログラムの実行指示を受け付けるためのボタンである。したがって、実行ボタンが押下されると、追加プログラム実行部２３５は、当該追加プログラムを実行させる。なお、既に、自動実行されている追加プログラムについては「自動実行中」といったラベルが表示されている。
【００６３】
ログ出力先設定ボタンは、ログの出力先を設定させるためのボタンである。例えば、ログインログアウト詳細画面７４０において、「カード認証ログ取得」に対するログ出力設定ボタン７４１が押下されると、追加プログラム管理部２３７は、ログ出力先設定画面７５０をオペレーションパネル６０２に表示させる。
【００６４】
ログ出力先設定画面７５０には、「カード認証ログ取得」について、出力先の選択用のリストボックス７５１と、出力指示を受け付けるための出力実行ボタン７５２が配置されている。リストボックス７５１では、出力先が選択可能である。出力先としては、例えば、「メール」、「ＨＤＤ」、及び「ｘｘｘサーバ」等が選択肢とされる。「メール」は、メールによるログの転送である。「ＨＤＤ」は、ＨＤＤ６３３へのログの保存である。「ｘｘｘサーバ」は、ｘｘｘサーバへのログの転送である。なお、追加プログラム管理情報記憶部２３９において「カード認証ログ取得」の「出力先」に値が設定されている場合、当該値がリストボックス７５１に表示される。また、リストボックス７５１によって出力先が設定されると、追加プログラム管理部２３７は、追加プログラム管理情報記憶部２３９における「カード認証ログ取得」の「出力先」の値を更新する。
【００６５】
実行ボタン７５２は、メール転送やｘｘｘサーバへの転送等、ログの転送を行うためのボタンである。同図の状態で、実行ボタン７５２が押下されると、追加プログラム管理部２３７は、「カード認証ログ取得」によって取得されたログのメール転送を実行する。
【００６６】
図１４は、メール転送されるログの例を示す図である。同図では、メソッドの呼び出し履歴が記録されたログが示されている。なお、ログをメール転送する場合、転送先のメールアドレス等をユーザに別途設定させればよい。
【００６７】
上述したように、本実施の形態によれば、追加プログラムの受信及び自動実行に関して、ユーザによる設定に応じて適切に制限をかけることができる。したがって、追加プログラムの利用に関して適切にセキュリティを確保することができる。
【００６８】
なお、本実施の形態では画像形成装置を電子機器の一例としたが、本発明を適用可能な電子機器は画像形成装置に限定されない。例えば、各種のデジタル家電、携帯機器、又は汎用的なコンピュータ等に対しても本発明は有効に適用されうる。
【００６９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７０】
１            機器管理システム
１０          管理サーバ
２０          機器
２１ａ        コピーアプリ
２１ｂ        ＦＡＸアプリ
２１ｃ        プリンタアプリ
２１ｄ        スキャナアプリ
２２          サービス層
２３          追加プログラム制御部
２４          ＯＳ
２５          追加プログラム
２２１        ログイン管理部
２２２        ネットワーク制御部
２３１        追加プログラム操作情報設定部
２３２        追加プログラム受信部
２３３        受信許否判定部
２３４        自動実行許否判定部
２３５        追加プログラム実行部
２３６        ログ表示部
２３７        追加プログラム管理部
２３８        追加プログラム操作情報記憶部
２３９        追加プログラム管理情報記憶部
６０１        コントローラ
６０２        オペレーションパネル
６０３        ファクシミリコントロールユニット
６０４        撮像部
６０５        印刷部
６１１        ＣＰＵ
６１２        ＡＳＩＣ
６２１        ＮＢ
６２２        ＳＢ
６３１        ＭＥＭ−Ｐ
６３２        ＭＥＭ−Ｃ
６３３        ＨＤＤ
６３４        メモリカードスロット
６３５        メモリカード
６４１        ＮＩＣ
６４２        ＵＳＢデバイス
６４３        ＩＥＥＥ１３９４デバイス
６４４        セントロニクスデバイス
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特開２００８−２６９１６３号公報
【図１】
0005463762.tif 000002
【図２】
0005463762.tif 000003
【図３】
0005463762.tif 000004
【図４】
0005463762.tif 000005
【図５】
0005463762.tif 000006
【図６】
0005463762.tif 000007
【図７】
0005463762.tif 000008
【図８】
0005463762.tif 000009
【図９】
0005463762.tif 000010
【図１０】
0005463762.tif 000011
【図１１】
0005463762.tif 000012
【図１２】
0005463762.tif 000013
【図１３】
0005463762.tif 000014
【図１４】
0005463762.tif 000015