JP5793872B2 - 画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体 - Google Patents

画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体 Download PDF

Info

Publication number
JP5793872B2
JP5793872B2 JP2011013730A JP2011013730A JP5793872B2 JP 5793872 B2 JP5793872 B2 JP 5793872B2 JP 2011013730 A JP2011013730 A JP 2011013730A JP 2011013730 A JP2011013730 A JP 2011013730A JP 5793872 B2 JP5793872 B2 JP 5793872B2
Authority
JP
Japan
Prior art keywords
state
setting
application
program
image forming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011013730A
Other languages
English (en)
Other versions
JP2012156758A (ja
Inventor
悠毅 大▲高▼
悠毅 大▲高▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2011013730A priority Critical patent/JP5793872B2/ja
Publication of JP2012156758A publication Critical patent/JP2012156758A/ja
Application granted granted Critical
Publication of JP5793872B2 publication Critical patent/JP5793872B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体に関する。
従来、その出荷後にアプリケーションプログラム(以下、単に「アプリケーション」という。)等をプラグインとして追加可能な画像形成装置が存在する。各アプリケーションの状態は、それぞれ他のアプリケーションから独立して遷移しうる。具体的には、アプリケーションごとに起動制御や停止制御等を行うことができる。起動されたアプリケーションは、起動状態となるが、起動状態において、アプリケーションの状態は更に詳細に分類されうる。同様に、停止されたアプリケーションは、停止状態となるが、停止状態において、アプリケーションの状態は更に分類されうる。
或るアプリケーションが動作不正等の異常状態となった場合、その原因は、必ずしも当該アプリケーションの内部要因に限定されない。アプリケーションの外部要因によっても、アプリケーションは異常状態となる可能性がある。アプリケーションの内部要因とは、例えば、当該アプリケーションに関する設定情報の設定ミス等、基本的に影響範囲が当該アプリケーションに限定される要因である。一方、アプリケーションの外部要因とは、アプリケーションの動作環境に対する設定情報等、その影響範囲が複数のアプリケーションに及ぶ要因である。外部要因の一例としては、例えば、画像形成装置における有効な通信プロトコルの設定や、DNS(Domain Name System)の設定等が挙げられる。
しかしながら、或るアプリケーションが異常状態となった場合、当該異常状態が、当該アプリケーションの内部要因によるものなのか、或いは外部要因によるものなのかを判断するのは、困難な場合がある。異常状態の原因解析のため、ログを出力するアプリケーションも存在するが、ログの内容は、当該アプリケーションの開発者でなければ解読が困難な場合が多い。
特に、外部要因に関しては、外部要因としての設定項目に対する設定値が不正であるとは限らない。設定値としては、設定可能な値が設定されているが、当該値が、異常状態の特定のアプリケーションが期待している値と異なることが原因である場合もある。このような、外部要因としての設定項目に対する設定値と、アプリケーションの期待値との不整合は、当該設定値を期待値に修正することにより容易に解消することができる。それにも拘わらず、当該不整合がアプリケーションの異常状態の原因であることを突き止めること自体が困難であるため、ユーザ又はサービスマン等には、異常状態の解消のために必要以上の作業負担が課せられるという問題がある。
本発明は、上記の点に鑑みてなされたものであって、プログラムの管理負担を軽減させることのできる画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体の提供を目的とする。
そこで上記課題を解決するため、本発明は、プログラムをインストール可能な画像形成装置であって、前記プログラムより当該画像形成装置の設定項目に対する期待値を取得する第一の取得手段と、前記設定項目に対する設定値を当該画像形成装置より取得する第二の取得手段と、前記設定項目ごとに前記期待値と前記設定値とを関連付けて出力する出力手段とを有する。
このような画像形成装置では、プログラムの管理負担を軽減させることができる。
本発明によれば、プログラムの管理負担を軽減させることができる。
本発明の実施の形態における機器管理システムの構成例を示す図である。 本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 SDKアプリ及びSDKプラットフォームの機能構成例を示す図である。 SDKアプリとシステム設定との関係の一例を説明するための図である。 SDKアプリが有する状態の例を説明するための図である。 本実施の形態の画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。 監視対象記憶部の構成例を示す図である。 外部状態情報の応答の構成例を示す図である。 内部状態情報の構成例を示す図である。 状態取得結果データの一例を示す図である。 本実施の形態の画像形成装置が実行する処理手順の一例を説明するための第二のシーケンス図である。 アプリ状態管理部がSDKプラットフォームの一部として実装される例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムの構成例を示す図である。同図の機器管理システム1において、一以上の画像形成装置10、機器管理サーバ20、及びユーザ端末30等は、LAN(Local Area Network)又はインターネット等のネットワーク40(有線又は無線の別は問わない)を介して通信可能に接続されている。
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を単体で有する機器が画像形成装置10として用いられてもよい。画像形成装置10には、機能拡張等を目的としてプログラム(後述されるSDKアプリ152)のインストール又はアンインストール等が可能である。
機器管理サーバ20は、ユーザ端末30より転送される要求に応じ、画像形成装置10を遠隔的に管理又は操作するコンピュータである。機器管理サーバ20は、例えば、画像形成装置10の状態や、画像形成装置10にインストールされているプログラムの状態等を監視する。
ユーザ端末30は、マウス及びキーボード等の入力手段、並びに液晶ディスプレイ等の表示手段等を備え、機器管理システム1のユーザインタフェースとして機能するコンピュータである。例えば、ユーザ端末30は、機器管理サーバ20に対する要求をユーザに入力させ、当該要求に応じて機器管理サーバ20より返信される情報を表示する。
図2は、本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。図2の機器管理サーバ20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205とを有する。
機器管理サーバ20での処理を実現するプログラムは、CD−ROM等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従って機器管理サーバ20に係る機能を実行する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。
なお、機器管理サーバ20が直接的にユーザによって操作されてもよい。その場合、機器管理サーバ20は、入力手段及び表示手段等を備えていればよい。
図3は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。NVRAM115には、各種の設定情報等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図4は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ151、SDKアプリ152、SDKプラットフォーム153、コントロールサービス154、及びOS155等を有する。
標準アプリ151は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1511、印刷アプリ1512、コピーアプリ1513、及びFAXアプリ1514が例示されている。スキャンアプリ1511は、スキャンジョブを実行する。印刷アプリ1512は印刷ジョブを実行する。コピーアプリ1513は、コピージョブを実行する。FAXアプリ1514は、FAXの送信ジョブ又は受信ジョブを実行する。
コントロールサービス154は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供したり、画像形成装置10の基盤的な機能等を実行したりするソフトウェアモジュール群である。
SDKアプリ152は、画像形成装置10の出荷後において、画像形成装置10の機能拡張等を図るためのプラグインとして追加的にインストールされるアプリケーションプログラムである。したがって、SDKアプリ152の機能は、所定のものに限定されない。例えば、SDKアプリ152は、SDカード80から又はネットワークを介して画像形成装置10にインストールされる。
SDKプラットフォーム153は、SDKアプリ152の実行環境を実現する。各SDKアプリ152は、SDKプラットフォーム153が提供するAPI(Application Program Interface)を利用して開発される。例えば、SDKプラットフォーム153は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等をSDKアプリ152に提供する。なお、SDKプラットフォーム153のAPIは公開されており、サードベンダ等によってもSDKアプリ152は開発されうる。また、当該APIは、異機種間において平滑化されている。したがって、SDKアプリ152に関して、機種に応じて異なる実装が行われる必要性は低い。
OS155は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS155上においてプロセス又はスレッドとして動作する。
SDKアプリ152及びSDKプラットフォーム153について、更に詳しく説明する。図5は、SDKアプリ及びSDKプラットフォームの機能構成例を示す図である。
同図には、SDKアプリ152として、SDKアプリ152aと、それ以外のDKアプリ152とが例示されている。SDKアプリ152aは、本実施の形態においてアプリ状態管理部152aとして機能するSDKアプリ152である。以降では、他のSDKアプリ152との混同を避けるため、SDKアプリ152aを、「アプリ状態管理部152a」と呼ぶ。
アプリ状態管理部152aは、自分(アプリ状態管理部152a)以外のSDKアプリ152の状態の監視等に利用される。同図において、アプリ状態管理部152aは、通信制御部161、アプリ状態提供部162、アプリ状態取得部163、システム設定取得部164、システム設定更新部165、及び監視対象記憶部166等を有する。
監視対象記憶部166は、例えば、NVRAM115を用いて、状態の監視対象とするSDKアプリ152の識別情報を記憶する。
アプリ状態提供部162は、ネットワークを介して受信される、SDKアプリ152の状態を示す情報(状態情報)の取得要求に応じ、監視対象記憶部166において監視対象として指定されているSDKアプリ152の状態情報等を、取得要求元に返信する。本実施の形態において、状態情報の取得要求元は、機器管理サーバ20である。
アプリ状態取得部163は、各SDKアプリ152より、当該SDKアプリ152の状態情報を取得する。
システム設定取得部164は、画像形成装置10の設定情報を構成する各項目(設定項目又は設定パラメータ)の現在の設定値(現在値)を、コントロールサービス154より取得する。画像形成装置10の設定情報とは、画像形成装置10単位に設定される設定情報をいう。画像形成装置10単位であるから、SDKアプリ152ごとに設定される設定情報は、画像形成装置10の設定情報ではない。本実施の形態において、画像形成装置10の設定情報を、「システム設定」という。システム設定は、複数のSDKアプリ152から共用又は参照されうる。したがって、システム設定は、複数のSDKアプリ152の振る舞い又は動作に影響を与えうる。
システム設定更新部165は、システム設定の設定値を更新する。
通信制御部161は、機器管理サーバ20からの状態情報の取得要求を受信したり、各SDKアプリ152より取得された状態情報を機器管理サーバ20に送信したりする。
アプリ状態管理部152a以外の各SDKアプリ152は、自アプリ状態通知部171、自アプリ状態保存部172、及び自アプリ状態記憶部173等を有する。
自アプリ状態通知部171は、例えば、RAM112を用いて、当該SDKアプリ152の現在の状態を把握している。すなわち、自アプリ状態通知部171は、当該SDKアプリ152の現在の状態を示す状態情報をRAM112に記憶させている。自アプリ状態通知部171は、アプリ状態取得部163からの状態情報の取得要求応じ、RAM112に記憶させている状態情報を応答する。
自アプリ状態保存部172は、当該SDKアプリ152が停止状態に移行する際に、自アプリ状態通知部171より状態情報を取得し、当該状態情報を自アプリ状態記憶部173に書き込む(保存する)。
自アプリ状態記憶部173は、例えば、NVRAM115等を用いて状態情報を記憶する。すなわち、NVRAM115中において、当該SDKアプリ152に関連付けられている記憶領域に当該SDKアプリ152の状態情報が記録される。
一方、SDKプラットフォーム153は、複合機クラスライブラリ181、仮想マシン182、ネイティブプログラムインタフェース183、及びアプリ管理部184等を有する。
複合機クラスライブラリ181は、SDKプラットフォーム153のAPIを提供する、Java(登録商標)のクラスライブラリである。当該APIを介した要求は、必要に応じてコントロールサービス154に伝達される。コントロールサービス154による処理結果は、複合機クラスライブラリ181に返却される。複合機クラスライブラリ181は、当該処理結果を、上記APIに即した形式に変換し、SDKアプリ152に返却する。
ネイティブプログラムインタフェース183は、複合機クラスライブラリ181からコントロールサービス154への要求の伝達等を、JNI(Java(登録商標) Native Interface)の機構を用いて実現する。すなわち、コントロールサービス154は、ネイティブコードによって実装されているため、ネイティブプログラムインタフェース183が必要とされる。
仮想マシン182は、Java(登録商標)のバイトコードによる命令の解釈及び実行を行う、いわゆるJava(登録商標)仮想マシンである。各SDKアプリ152は、仮想マシン182によってスレッドとして起動される。
アプリ管理部184は、主としてSDKアプリ152のライフサイクルを管理する。具体的には、アプリ管理部184は、SDKアプリ152をユーザに操作させるための管理画面を表示させる。アプリ管理部184は、当該管理画面を介した入力に応じ、SDKアプリ152のインストール、起動、停止、又はアンインストール等を実行する。アプリ管理部184は、また、画像形成装置10にインストールされているSDKアプリ152の一覧情報を、例えば、NVRAM115を用いて管理する。
なお、SDKプラットフォーム153は、それ自身、画像形成装置10にインストールされるアプリケーションの一種である。例えば、SDKプラットフォーム153は、SDカード80から又はネットワークを介して画像形成装置10にインストールされる。但し、SDKプラットフォーム153は、SDKアプリ152とは異なり、OS155上で一つのプロセスとして動作する。
コントロールサービス154は、各種のシステム設定の管理部を有する。同図には、認証設定管理部1541、ネットワーク設定管理部1542、印刷設定管理部1543、セキュリティ設定管理部1544、及び省電力設定管理部1545等が例示されている。
認証設定管理部1541は、システム設定の一部である認証設定を管理する。認証設定とは、ユーザの認証に関する設定情報や課金に関する設定情報である。認証設定の一例として、ユーザ情報(ユーザ名、パスワード等)、認証方式、外部の認証サーバの識別情報、及び課金のタイミングに関する設定等が挙げられる。
ネットワーク設定管理部1542は、システム設定の一部であるネットワーク設定を管理する。ネットワーク設定とは、ネットワーク通信に関する設定情報である。ネットワーク設定の一例として、有効なプロトコルやDNS(Domain Name System)に関する設定が挙げられる。
印刷設定管理部1543は、システム設定の一部である印刷設定を管理する。印刷設定とは、印刷ジョブ又は印刷アプリ1512に関する設定情報である。印刷設定の一例として、有効なプリンタ言語の設定が挙げられる。
セキュリティ設定管理部1544は、システム設定の一部であるセキュリティ設定を管理する。セキュリティ設定とは、セキュリティに関する設定情報である。
省電力設定管理部1545は、システム設定の一部である省電力設定を管理する。省電力設定とは、省電力モードに関する設定情報である。省電力設定の一例として、省電力状態へ移行するタイミングに関する設定が挙げられる。
図6は、SDKアプリとシステム設定との関係の一例を説明するための図である。同図には、実装されている機能に応じて、依存するシステム設定の例が示されている。依存するシステム設定とは、SDKアプリ152の動作に影響を与えるシステム設定をいう。
例えば、認証系機能が実装されているSDKアプリ152は、認証設定の影響を受ける。認証系機能とは、例えば、ユーザ認証機能、課金機能等である。印刷系機能が実装されているSDKアプリ152は、印刷設定の影響を受ける。印刷系機能には、印刷機能以外に、コピー機能等も含まれる。画像形成装置10において、コピーは、スキャンと印刷との組み合わせとして扱われるからである。通信系機能が実装されているSDKアプリ152は、ネットワーク設定の影響を受ける。通信系機能とは、例えば、ファイル配信機能、ネットワーク認証機能等である。
このように、SDKアプリ152とシステム設定とは、密接な関係を有する。例えば、システム設定の現在値が、或るSDKアプリ152の期待又は予定している値に一致しない場合、当該SDKアプリ152は、正常に動作しない可能性がある。
続いて、本実施の形態におけるSDKアプリ152が有する状態について説明する。図7は、SDKアプリが有する状態の例を説明するための図である。
本実施の形態において、SDKアプリ152の状態は、二種類有る。一つは外部状態であり、もう一つは内部状態である。外部状態とは、SDKアプリ152の外部(本実施の形態では、アプリ管理部184)が把握している状態である。すなわち、外部状態は、アプリ管理部184が管理する、SDKアプリ152のライフサイクルとほぼ同義である。したがって、外部状態の分類は、各SDKアプリ152に対して共通である。
一方、内部状態は、各SDKアプリ152の内部において管理されている状態である。すなわち、内部状態は、各SDKアプリ152に固有の仕様に基づいて、SDKアプリ152ごとに定義された状態である。したがって、内部状態の分類は、SDKアプリ152ごとに異なりうる。各SDKアプリ152の自アプリ状態通知部171、自アプリ状態保存部172、及び自アプリ状態記憶部173が扱う状態情報は、内部状態に関する状態情報である。
本実施の形態において、外部状態は、起動状態、停止状態、及び未インストール状態に分類される。未インストール状態は、画像形成装置10にインストールされていない状態である。起動状態は、インストール済みのSDKアプリ152がRAM112にロードされ、起動されている(例えば、スレッドとして起動されている)状態である。停止状態は、インストール済みのSDKアプリ152が停止している状態である。
内部状態の分類として、同図には、正常状態、処理中状態、警告状態、及びエラー状態が例示されている。上記したように、内部状態の分類は、SDKアプリ152に依存する。したがって、当該分類は、一例に過ぎない。
正常状態は、SDKアプリ152が起動していて、処理を正常に実行可能な状態である。処理中状態は、SDKアプリ152が起動していて、処理中の状態である。警告状態は、SDKアプリは起動しているが、軽微な異常が発生又は異常の発生の可能性が予期される状態である。軽微な異常とは、例えば、動作の継続は可能であるが、一部の機能に関して支障が生じる可能性の有る異常である。エラー状態は、SDKアプリ152は起動しているが、重大な異常が発生している状態である。重大な異常とは、例えば、動作の継続が不可能な異常である。
なお、外部状態と内部状態とは、階層構造を形成する。すなわち、内部状態における各状態は、外部状態におけるいずれかの状態に属する。同図では、外部状態が起動状態である場合に、正常状態、処理中状態、警告状態、又はエラー状態のいずれかの内部状態が発生することが示されている。
停止状態に属する内部状態は、便宜上、省略されている。上記したように、SDKアプリ152が停止状態に移行する際、停止状態へ移行する直前の内部状態が、自アプリ状態保存部172によって自アプリ状態記憶部173に記録される。したがって、本実施の形態では、停止状態に属する内部状態は、起動状態に属する内部状態とほぼ同様である。
未インストール状態に関しては、内部状態は無い。インストールされていなければ、内部状態は発生し得ないからである。
以下、画像形成装置10の処理手順について説明する。図8は、本実施の形態の画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。
ステップS101において、機器管理サーバ20は、ユーザ端末30からの要求に応じ、SDKアプリ152の状態情報の取得要求を画像形成装置10に送信する。当該取得要求の送信先となる画像形成装置10は、例えば、機器管理サーバ20に予め識別情報(IPアドレス等)が登録されている一以上の画像形成装置10であってもよいし、ユーザ端末30からの要求において指定されている一以上の画像形成装置10であってもよい。
画像形成装置10のアプリ状態管理部152aの通信制御部161は、当該取得要求を受信すると、アプリ状態提供部162に状態情報の取得要求を入力する(S102)。アプリ状態提供部162は、当該取得要求の入力に応じ、監視対象記憶部166に記憶されている情報を取得する(S103)。
図9は、監視対象記憶部の構成例を示す図である。同図に示されるように、監視対象記憶部166は、状態の監視対象とするSDKアプリ152のプロダクトIDの一覧を記憶する。プロダクトIDとは、本実施の形態において、各SDKアプリ152の識別情報である。同図では、プロダクトIDが、「119036489」、「204752189」、「485408163」、又は「636491000」である4つのSDKアプリ152が監視対象として指定されている例が示されている。なお、監視対象記憶部166の内容が空である場合、画像形成装置10にインストールされている全てのSDKアプリ152が監視対象とされてもよい。
続いて、アプリ状態提供部162は、監視対象記憶部166より取得されたプロダクトID群を指定して、状態情報の取得要求をアプリ状態取得部163に入力する(S104)。アプリ状態取得部163は、状態情報の取得要求に応じ、当該取得要求に指定されたプロダクトID群を指定して、外部状態の取得をアプリ管理部184に対して要求する(S105)。
アプリ管理部184は、指定されたプロダクトID群に係る各SDKアプリ152の外部状態を示す状態情報(外部状態情報)をプロダクトIDに関連付けてアプリ状態取得部163に応答する(S106)。
図10は、外部状態情報の応答の構成例を示す図である。同図に示されるように、アプリ管理部184は、プロダクトIDごとに、当該プロダクトIDに係るSDKアプリ152の外部状態情報を応答する。
なお、SDKアプリ152のインストール処理、起動処理、又は停止処理等を実行するのはアプリ管理部184である。したがって、アプリ管理部184は、各SDKアプリ152が、起動状態であるか又は停止状態であるかを示す状態情報を、例えば、NVRAM115を用いて管理している。したがって、ステップS106では、NVRAM115に記録されている状態情報が応答される。
続いて、アプリ状態取得部163は、ステップS104において入力された状態情報の取得要求に指定されたプロダクトID群に係る各SDKアプリ152に対して、内部状態の問い合わせ(内部状態を示す状態情報の取得要求)を行う。具体的には、起動状態のSDKアプリ152については、アプリ状態取得部163は、当該SDKアプリ152の自アプリ状態通知部171に対して、内部状態の問い合わせを行う(S107)。当該自アプリ状態通知部171は、問い合わせに応じ、当該SDKアプリ152の内部状態を示す状態情報(内部状態情報)をアプリ状態取得部163に応答する(S108)。また、停止状態のSDKアプリ152については、アプリ状態取得部163は、当該SDKアプリ152の自アプリ状態記憶部173より、当該SDK152の内部状態情報を取得する(S109、S110)。自アプリ状態記憶部173より取得される内部状態情報は、当該SDKアプリ152が停止状態に移行する際に、自アプリ状態保存部172によって自アプリ状態記憶部173に書き込まれた(記録された)内部状態情報である。
各SDKアプリ152から取得される内部状態を情報は、例えば、図11に示されるような構成を有する。
図11は、内部状態情報の構成例を示す図である。同図には、問い合わせ先のSDKアプリ152の内部状態に応じた状内部態情報の具体例(1)、(2)、及び(3)が示されている。(1)、(2)、及び(3)は、内部状態及び拡張情報の項目から構成される点において共通する。
(1)は、正常状態のSDKアプリ152より取得される内部状態情報の具体例である。正常状態のSDKアプリ152からは、内部状態の項目に正常状態を示す値が記録された内部状態情報が取得される。
(2)は、警告状態のSDKアプリ152より取得される内部状態情報の具体例である。警告状態のSDKアプリ152からは、内部状態の項目に警告状態を示す値が記録され、拡張情報の項目に、警告状態の原因ごとに、詳細メッセージ及び状態コードが記録された内部状態情報が取得される。詳細メッセージとは、警告状態の原因の内容を示すメッセージである。状態コードは、警告状態の原因を識別するための番号(識別子)である。例えば、状態コードは、SDKアプリ152の開発者等が理解可能な情報である。
(3)は、エラー状態のSDKアプリ152より取得される内部状態情報の具体例である。エラー状態のSDKアプリ152からは、内部状態の項目にエラー状態を示す値が記録され、拡張情報の項目に、エラー状態の原因ごとに、詳細メッセージ、状態コード、システム設定の期待値が記録された内部状態情報が取得される。詳細メッセージ及び状態コードについては、(2)における説明より自明であるため、その説明は省略する。システム設定の期待値は、エラー状態の原因に関連するシステム設定の設定項目に関して、当該SDKアプリ152が期待している(又は正常動作の前提として予定している)設定値である。例えば、同図では、「認証サーバに接続できません」というエラー状態の原因に関して、設定項目「IPv4」に対する期待値は「有効」であることが示されている。このことは、「IPv4」に対する設定値が「有効」になっていることが、認証サーバに接続可能な前提であることを示す。すなわち、このことは、「IPv4」に対する設定値が、「有効」になっていることの確認を要求するメッセージであるともいえる。
「拡張外部課金設定1」又は「拡張外部課金設定2」に関しても同様である。
なお、内部状態情報に含まれている、システム設定の期待値に関する情報は、該当する設定項目に対する現在の設定値(現在値)が、期待値と異なることについてまでは言及していない。本実施の形態において、アプリ状態管理部152aを除く各SDKアプリ152には、システム設定の現在値を取得するための所定のAPIを呼び出すことができず、現在値を知る術がないからである。各SDKアプリ152が、当該APIを呼び出すことができないのは、当該APIが、例えば、セキュリティ上の観点から画像形成装置10のメーカ以外には公開されていないからである。本実施の形態では、アプリ状態管理部152aは、画像形成装置10のメーカによって開発されたものであり、他のSDKアプリ152は、サードベンダによって開発されたものである。
但し、プログラムロジックにおいて、当該APIの呼び出し元がアプリ状態管理部152aに限定されるようにしてもよい。例えば、アプリ状態管理部152aに係るプロダクトIDを有するSDKアプリ152から当該APIが呼び出されたときは、当該APIの実装内容が実行され、それ以外の場合は、当該APIの実装内容の実行が拒否されるようにしてもよい。
なお、図11に示される構成は、一例である。内部状態情報には、更に詳細な情報が含まれていてもよいし、状態コードは含まれていなくてもよい。すなわち、内部状態情報の内容は、SDKアプリ152の開発者に依存する。但し、各SDKアプリ152の内部状態情報は、アプリ状態管理部152aが解読可能な形式である必要がある。
続いて、アプリ状態取得部163は、各SDKアプリ152より取得された外部状態情報及び内部状態情報をアプリ状態提供部162に応答する(S111)。なお、各内部状態情報には、当該内部状態情報の取得先のSDKアプリ152のプロダクトIDが関連付けられて、アプリ状態提供部162に応答される。
アプリ状態提供部162は、各内部状態情報を確認し、システム設定の期待値が含まれている場合、当該システム設定の設定項目の識別名(設定項目名)を指定して、システム設定の現在値の取得をシステム設定取得部164に要求する(S112)。図11の(3)に示される内部状態情報に関する場合、「IPv4」、「拡張外部課金設定1」、及び「拡張外部課金設定2」の設定項目名が指定されて、現在値の取得が要求される。
システム設定取得部164は、指定された各設定項目名に対する現在値の取得を、コントロールサービス154に要求する(S113)。当該要求は、厳密には、SDKプラットフォーム153の複合機クラスライブラリ181の所定のAPI(図11の説明の説明において言及したAPI)を呼び出すことによって行われる。複合機クラスライブラリ181は、ネイティブプログラムインタフェース183を介して、コントロールサービス154に対して、現在値の取得を要求する。現在値の取得要求先は、現在値の取得対象の設定項目を管理する各管理部である。例えば、「IPv4」については、ネットワーク設定管理部1542が、「拡張外部課金設定1」、及び「拡張外部課金設定2」については、認証設定管理部1541が、現在値の取得要求先となる。システム設定取得部164は、各設定項目の管理先がいずれかであるのかを知っている。斯かる知識は、予めシステム設定取得部164のロジックとして実装されていてもよいし、外部ファイル等に記録されていてもよい。外部ファイルには、設定項目名と管理先の識別情報との対応情報が記録されていればよい。
設定項目の現在値の取得を要求された管理部(例えば、ネットワーク設定管理部1542、認証設定管理部1541)は、指定された設定項目の現在値を、例えば、NVRAM115より取得し、取得された現在値をシステム設定取得部164に応答する(S114)。当該応答は、ネイティブプログラムインタフェース183及び複合機クラスライブラリ181を介して行われる。
システム設定取得部164は、取得された各設定項目の現在値を、アプリ状態提供部162に応答する(S115)。続いて、アプリ状態提供部162は、ステップS111において取得された外部状態情報及び内部状態情報と、ステップS115において取得されたシステム設定の現在値とを相互に関連付けて(統合して)、状態情報の取得結果を示すデータ(状態取得結果データ)を生成する(S116)。
図12は、状態取得結果データの一例を示す図である。同図に示されるように、状態取得結果データは、プロダクトIDごと(監視対象のSDKアプリ152ごと)に、外部状態情報及び内部状態情報を含む。また、内部状態が警告状態又はエラー状態であるSDKアプリ152に関しては、拡張情報として、詳細情報及び状態コードを含む。更に、内部状態がエラー状態であるSDKアプリ152に関しては、拡張情報の一部として、エラー状態の原因に関連するシステム設定の設定項目ごとに、期待値及び現在値を含む。すなわち、期待値と現在値とは対比可能なように関連付けられて状態取得結果データに含められる。
同図の例によれば、例えば、プロダクトIDが「636491000」であるSDKアプリ152が、起動状態においてエラー状態であることが分かる。また、当該SDKアプリ152は、システム設定の設定項目「IPv4」に関して、「有効」を期待値とするのに対し、現在値は「無効」であることが分かる。一方、「拡張外部課金設定1」及び「拡張外部課金設定2」については、現在値は、期待値に一致していることが分かる。
なお、同図では、「有効」又は「無効」が設定可能な設定項目が例示されているが、文字列や数値等が設定可能な設定項目に関しても、本実施の形態は有効である。
続いて、アプリ状態提供部162は、生成された状態取得結果データを通信制御部161に応答(出力)する(S117)。なお、状態取得結果データの出力先は、例えば、HDD114であってもよいし、印刷用紙であってもよい。すなわち、アプリ状態提供部162は、印刷アプリ1512に対して状態取得結果データの印刷を要求する。印刷アプリ1512は、要求に応じ、状態取得結果データの印刷を、プリンタ13に実行させる。
続いて、通信制御部161は、当該状態取得結果データを、ステップS101における状態情報の取得要求に対する応答として返信する(S118)。当該状態取得結果データを受信した機器管理サーバ20は、例えば、当該状態取得結果データを含む画面をユーザ端末30に表示させる。当該画面は、例えば、Webページであってもよい。または、機器管理サーバ20は、当該状態取得結果データを含む電子メールをユーザ端末30に送信してもよい。
ユーザは、ユーザ端末30において表示される状態取得結果データを参照して、プロダクトIDが「636491000」であるSDKアプリ152が、エラー状態であること等を知ることができる。また、ユーザは、当該エラー状態は、システム設定の設定項目「IPv4」の現在値が「無効」であることが原因である可能性を知ることができる。そこで、ユーザは、画像形成装置10の「IPv4」の設定値を「有効」に更新させることにより、当該エラー状態を解消することができる。
なお、現在値と期待値とが一致しない場合に、現在値の更新が自動的に実行されてもよい。この場合の処理手順について説明する。
図13は、本実施の形態の画像形成装置が実行する処理手順の一例を説明するための第二のシーケンス図である。図13中、図8と同一ステップには同一ステップ番号を付し、その説明は省略する。
図13では、ステップS121以降の処理手順が、図8と異なる。ステップS121において、アプリ状態提供部162は、状態取得結果データにおいて、現在値と期待値とが一致しない設定項目(図11の例では、「IPv4」)に関して、設定項目名と当該期待値とを指定してシステム設定の更新をシステム設定更新部165に要求する(S121)。システム設定更新部165は、更新対象の設定項目(IPv4)について、指定された期待値への更新をコントロールサービス154(ネットワーク設定管理部1542)に要求する(S122)。当該要求が、複合機クラスライブラリ181及びネイティブプログラムインタフェース183を介して行われるのは、ステップS113と同様である。また、システム設定更新部165は、各設定項目の管理先がいずれかであるのかを知っているのは、システム設定取得部164と同様である。
なお、システム設定更新部165は、コントロールサービス154にシステム設定の更新を要求する前に、各SDKアプリ152に対して、更新対象の設定項目名及びこれから設定しようとしている値(期待値)を指定して、更新の許否を問い合わせてもよい。すなわち、これから行おうとする更新によって、悪影響を受けるSDKアプリ152が発生する可能性があるからである。問い合わせを行った全てのSDKアプリ152より更新の許可が得られた場合に、コントロールサービス154に対してシステム設定の更新が要求されるようにしてもよい。
設定項目の現在値の更新を要求されたコントロールサービス(ネットワーク管理部)は、更新対象の設定項目の現在値を、指定された期待値によって更新し、更新結果(更新の成否)をシステム設定更新部165に応答する(S123)。システム設定部は、当該更新結果をアプリ状態提供部162に応答する(S124)。
アプリ状態提供部162は、必要に応じて状態取得結果データを更新し、当該状態取得結果データを、通信制御部161に応答する(S125)。例えば、更新に成功した場合、更新された設定項目に関して、更新されたことを示す情報が状態取得結果データに追加されてもよい。ステップS126は、ステップS118(図8)と同様である。
上述したように、本実施の形態によれば、異常状態(エラー状態)のSDKアプリ152が存在する場合に、当該SDKアプリ152がシステム設定の設定項目に関して期待する設定値(期待値)と、当該設定項目に現在設定されている値(現在値)とが対比可能なように関連付けられて出力される。したがって、ユーザ等は、当該異常状態の原因を、容易に把握することができる。
また、期待値と現在値とが一致しない設定項目について、自動的に期待値が設定されることにより、ユーザ等の作業負担を更に軽減することができる。
なお、本実施の形態では、アプリ状態管理部152aが一つのSDKアプリ152aとして実装される例について説明した。このような実施形態は、既に市場に流通している画像形成装置10を用いて本実施の形態を実施する際に特に有効である。アプリ状態管理部152aとしてのSDKアプリ152aを斯かる画像形成装置10にインストールすればよいからである。
すなわち、本実施の形態において、アプリ状態管理部152aが一つのSDKアプリ152aとして構成される例を説明したのは、既に市場に流通している画像形成装置10の利便性を考慮したためであり、技術的な制約に基づくものではない。したがって、アプリ状態管理部152aは、例えば、SDKプラットフォーム153内に実装されてもよい。
図14は、アプリ状態管理部がSDKプラットフォームの一部として実装される例を示す図である。図14中、図5と同一部分には同一符号を付し、その説明は省略する。
同図において、アプリ状態管理部152aは、SDKプラットフォーム153に含まれている。このような構成によれば、アプリ状態管理部152aとしてのSDKアプリ152aをインストールしなくとも、本実施の形態を実施することができる。但し、既に市場に流通している画像形成装置10に関しては、SDKプラットフォーム153のバージョンアップ等が必要とされる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 機器管理システム
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 機器管理サーバ
30 ユーザ端末
40 ネットワーク
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
151 標準アプリ
152 SDKアプリ
152a アプリ状態管理部
153 SDKプラットフォーム
154 コントロールサービス
155 OS
161 通信制御部
162 アプリ状態提供部
163 アプリ状態取得部
164 システム設定取得部
165 システム設定更新部
166 監視対象記憶部
171 自アプリ状態通知部
172 自アプリ状態保存部
173 自アプリ状態記憶部
181 複合機クラスライブラリ
182 仮想マシン
183 ネイティブプログラムインタフェース
184 アプリ管理部
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
1511 スキャンアプリ
1512 印刷アプリ
1513 コピーアプリ
1514 FAXアプリ
1541 認証設定管理部
1542 ネットワーク設定管理部
1543 印刷設定管理部
1544 セキュリティ設定管理部
1545 省電力設定管理部
B バス
特開2004−312711号公報

Claims (7)

  1. 像形成装置であって、
    当該画像形成装置にインストールされている複数のプログラムから参照される設定項目に対する設定値を記憶する記憶手段と、
    前記複数のプログラムのそれぞれから、当該プログラムの状態を示すと共に、異常状態であるプログラムについては、当該異常状態に関連する前記設定項目に関して当該プログラムが予定している値である期待値を含む状態情報を取得する第一の取得手段と、
    前記第一の取得手段によって前記期待値が取得された前記設定項目に関して、前記記憶手段に記憶されている設定値を取得する第二の取得手段と、
    前記第一の取得手段によって取得された前記期待値と前記第二の取得手段によって取得された前記設定値とを出力する出力手段とを有する画像形成装置。
  2. 前記期待値と前記設定値とが異なる前記設定項目に、前記期待値を設定する更新手段を有する請求項記載の画像形成装置。
  3. 当該画像形成装置にインストールされている複数のプログラムから参照される設定項目に対する設定値を記憶する記憶手段を有する画像形成装置が、
    前記複数のプログラムのそれぞれから、当該プログラムの状態を示すと共に、異常状態であるプログラムについては、当該異常状態に関連する前記設定項目に関して当該プログラムが予定している値である期待値を含む状態情報を取得する第一の取得手順と、
    前記第一の取得手順において前記期待値が取得された前記設定項目に関して、前記記憶手段に記憶されている設定値を取得する第二の取得手順と、
    前記第一の取得手順において取得された前記期待値と前記第二の取得手順において取得された前記設定値とを出力する出力手順とを実行するプログラム管理方法。
  4. 前記期待値と前記設定値とが異なる前記設定項目に、前記期待値を設定する更新手順を有する請求項記載のプログラム管理方法。
  5. 当該画像形成装置にインストールされている複数のプログラムから参照される設定項目に対する設定値を記憶する記憶手段を有する画像形成装置に、
    前記複数のプログラムのそれぞれから、当該プログラムの状態を示すと共に、異常状態であるプログラムについては、当該異常状態に関連する前記設定項目に関して当該プログラムが予定している値である期待値を含む状態情報を取得する第一の取得手順と、
    前記第一の取得手順において前記期待値が取得された前記設定項目に関して、前記記憶手段に記憶されている設定値を取得する第二の取得手順と、
    前記第一の取得手順において取得された前記期待値と前記第二の取得手順において取得された前記設定値とを出力する出力手順とを実行させるプログラム管理プログラム。
  6. 前記期待値と前記設定値とが異なる前記設定項目に、前記期待値を設定する更新手順を有する請求項記載のプログラム管理プログラム。
  7. 請求項5又は6記載のプログラム管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2011013730A 2011-01-26 2011-01-26 画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体 Expired - Fee Related JP5793872B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011013730A JP5793872B2 (ja) 2011-01-26 2011-01-26 画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011013730A JP5793872B2 (ja) 2011-01-26 2011-01-26 画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2012156758A JP2012156758A (ja) 2012-08-16
JP5793872B2 true JP5793872B2 (ja) 2015-10-14

Family

ID=46838038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011013730A Expired - Fee Related JP5793872B2 (ja) 2011-01-26 2011-01-26 画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体

Country Status (1)

Country Link
JP (1) JP5793872B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5888184B2 (ja) 2012-08-23 2016-03-16 コニカミノルタ株式会社 画像形成装置、画像形成システム、アプリケーションインストール方法およびアプリケーションインストールプログラム
JP6515689B2 (ja) * 2015-06-05 2019-05-22 ブラザー工業株式会社 画像処理装置
US11579926B2 (en) * 2020-02-10 2023-02-14 EMC IP Holding Company LLC Processing rest API requests based on resource usage satisfying predetermined limits

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4370525B2 (ja) * 2005-03-22 2009-11-25 日本電気株式会社 アプリケーション環境チェック装置及び方法とそのプログラム
JP2007080171A (ja) * 2005-09-16 2007-03-29 Ricoh Co Ltd 機器管理装置、機器管理方法、プログラム及び記録媒体
JP2007257315A (ja) * 2006-03-23 2007-10-04 Nec Corp プログラムの設定変更に伴う影響判別装置及びその方法
JP4307464B2 (ja) * 2006-05-08 2009-08-05 キヤノン株式会社 情報処理装置及び情報処理方法
JP2008152642A (ja) * 2006-12-19 2008-07-03 Ricoh Co Ltd 画像処理装置、初期設定モードの登録方法及びそのプログラム
JP5156562B2 (ja) * 2008-09-24 2013-03-06 京セラドキュメントソリューションズ株式会社 プログラムインストール装置およびコンピュータプログラム
JP2010166174A (ja) * 2009-01-13 2010-07-29 Ricoh Co Ltd 画像処理システム、画像処理装置、制御プログラム、記録媒体及びワークフロー管理方法

Also Published As

Publication number Publication date
JP2012156758A (ja) 2012-08-16

Similar Documents

Publication Publication Date Title
US8793369B2 (en) Management system, image forming apparatus, and method therefor
US8429727B2 (en) Authentication control apparatus and authentication control method
US9274775B2 (en) Apparatus, control method, and storage medium to instruct a framework to stop a target application based on a usage amount of a resource and a type of the target application
US9612818B2 (en) Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
JP4969480B2 (ja) 画像形成装置、情報処理方法、及び情報処理プログラム
JP4497195B2 (ja) 情報処理システムおよびデバイス
JP2011159232A (ja) 画像処理装置、消耗品発注方法、及び消耗品発注プログラム
JP5793872B2 (ja) 画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体
JP2004165734A (ja) 画像形成装置及びファームウェアプログラム
US20090249346A1 (en) Image forming apparatus, information processing apparatus and information processing method
JP6056355B2 (ja) 機器、遠隔管理システム及びプログラム
US20110010718A1 (en) Electronic device, information processing method, and computer program product having computer-readable information processing program
JP4809272B2 (ja) 遠隔管理システムおよび管理情報取得制御方法
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
US11809764B2 (en) Information processing device having reporting function for device settings, method of controlling information processing device, and recording medium
JP6066751B2 (ja) 情報処理システム及びその制御方法、並びにプログラム
JP2009137165A (ja) 画像形成装置、情報処理方法及びプログラム
JP2012181690A (ja) 画像形成装置、更新方法、更新プログラム、及び記録媒体
JP6330933B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP4962595B2 (ja) 情報処理プログラム、情報処理装置、および情報処理システム
JP2009043151A (ja) 課金管理装置及び課金管理方法
JP5821217B2 (ja) 画像形成装置、管理方法、管理プログラム、及び記録媒体
JP5708080B2 (ja) ネットワーク設定プログラム、ネットワーク設定装置、及びネットワーク設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150727

R151 Written notification of patent or utility model registration

Ref document number: 5793872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees