JP5353169B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP5353169B2
JP5353169B2 JP2008256852A JP2008256852A JP5353169B2 JP 5353169 B2 JP5353169 B2 JP 5353169B2 JP 2008256852 A JP2008256852 A JP 2008256852A JP 2008256852 A JP2008256852 A JP 2008256852A JP 5353169 B2 JP5353169 B2 JP 5353169B2
Authority
JP
Japan
Prior art keywords
program
information processing
predetermined program
power
processing apparatus
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
JP2008256852A
Other languages
English (en)
Other versions
JP2009146387A (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 JP2008256852A priority Critical patent/JP5353169B2/ja
Priority to US12/256,757 priority patent/US8464273B2/en
Priority to EP08253724A priority patent/EP2071466B1/en
Publication of JP2009146387A publication Critical patent/JP2009146387A/ja
Application granted granted Critical
Publication of JP5353169B2 publication Critical patent/JP5353169B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関し、特に無操作状態の継続により少なくとも一部分に対する電源の供給が停止される情報処理装置、情報処理方法及びプログラムに関する。
従来、特に組み込み機器等において動作するプログラムの障害解析(デバッグ等)の代表的な作業として、プログラムが出力するログの解析が行われている。すなわち、プログラムのソースコードには、プログラムが用いている変数の値や、プログラムが動作しているハードウェアの状態を示す情報等をログファイルに出力するための命令(例えば、C言語におけるprintf関数)が予め各所に埋め込まれている。障害が発生した際、斯かる命令(以下、「ログ出力命令」という。)に従って出力されたログファイルを解析することにより、障害の原因が推測又は特定される。
しかし、予め埋め込まれたログ出力命令に基づいて出力されるログファイル(最初に出力されるログファイル)では、詳細な解析を行うための情報として不十分な場合が多々ある。斯かる場合、最初に出力されるログファイルに基づいて、或る程度障害箇所が絞り込まれる。続いて、その障害箇所周辺について更に詳細なログを出力するように、プログラムのソースコードが修正され、コンパイル及びリンクが行われた上で、プログラムの置き換えが行われる。改めて出力されるログファイルによっても原因が特定できない場合は、更に、ソースコードにログ出力命令が埋め込まれ、上記作業が繰り返される。このように、ログに基づいて障害解析を行う場合、時として大変煩雑な作業が要求されていた。
そこで、従来、動作中のプログラムの任意の箇所(診断位置)に当該プログラムの診断用プログラムの処理を動的に(実行時に)割り込ませる技術が存在する。診断用プログラムでは、診断対象となるプログラムの変数の値等を参照することができる。診断用プログラムの処理の終了後は、診断対象となるプログラムについて診断用プログラムによって割り込まれた位置に処理が復帰する。斯かる技術によれば、診断対象となるプログラムのソースコードを修正することなく、診断用プログラムによって診断対象となるプログラムのログの出力が可能となる。
特開2004−139572号公報
しかしながら、上記技術において、診断用のプログラムによって診断対象とされる機器は、診断用プログラムを管理するコンピュータ(以下、「管理サーバ」という。)とネットワークを介して接続されている必要がある。診断用プログラムは、管理サーバの制御によりネットワークを介して機器に対して送り込まれるからである。
一方で、機器に送り込まれた診断用プログラムはRAM上に展開されて実行される。したがって、機器の電源が落とされた後や、再度起動されたときは、機器内に診断用プログラムは存在しない。したがって、ユーザは、改めて診断用プログラムを管理サーバよりダウンロードし、診断対象のプログラムへ適用するための操作を行わなければならなかった。
特に、近年では省エネモードと呼ばれる動作モードを有する機器が多数存在する。省エネモードにおいては、無操作状態の継続によって電源の供給が部分的に停止されるが、RAMへの電源の供給も停止されるものがある。斯かる機器においては、診断用プログラムがRAM上から消去される頻度が高い。
なお、コンピュータの電源断前にRAM上のイメージを保存しておき、再起動後に当該イメージをRAM上に復元するといったことは一般的に行われている。但し、このような技術では、電源断前と全く同じ状態がRAM上に再現されるに過ぎない。したがって、このような技術では、コンピュータの再起動後に改めて診断プログラムを適用しなおした上で、診断対象のプログラムを最初から実行しなおすといった手順は自動的には実行されない。
本発明は、上記の点に鑑みてなされたものであって、他のプログラムに対して動的に処理を割り込ませることのできるプログラムの利用効率を向上させることのできる情報処理装置、情報処理方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、情報処理装置であって、他のプログラムに動的に処理を割り込ませることが可能な所定のプログラムをネットワークを介して受信する受信手段と、前記所定のプログラムを前記他のプログラムに適用する適用手段と、前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際における前記所定のプログラムの前記他のプログラムへの再適用の要否の設定を受け付け、該要否を識別可能な再適用要否情報を記憶手段に記録する再適用要否設定手段と、前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記再適用要否情報に応じて前記所定のプログラムを前記他のプログラムに適用しなおす再適用手段とを有することを特徴とする。
このような情報処理装置では、他のプログラムに対して動的に処理を割り込ませることのできるプログラムの利用効率を向上させることができる。
本発明によれば、他のプログラムに対して動的に処理を割り込ませることのできるプログラムの利用効率を向上させることのできる情報処理装置、情報処理方法、及びプログラムを提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムの構成例を示す図である。図1の機器管理システム1において、管理サーバ10と、機器20a、機器20b及び機器20c(以下、総称する場合「機器20」という。)とは、オフィスにおけるLAN(Local Area Network)等のネットワーク50(有線又は無線の別は問わない。)を介して接続されている。
機器20は、コピー、ファクシミリ、プリンタ、及びスキャナ等の複数の機能を一台の筐体において実現する画像形成装置(複合機)である。機器20は、CPUやメモリを備え、メモリに記録されたプログラムに従ったCPUによる制御に基づいて各種の機能を実現する。なお、本実施の形態では、機器20が情報処理装置の一例に相当する。
管理サーバ10は、機器20において利用されるプログラムに対して適用される追加プログラムの管理及び当該追加プログラムの機器20への転送等を行うコンピュータである。本実施の形態において、追加プログラムとは、適用対象とされるプログラムの任意の箇所において、当該追加プログラムに定義された処理を動的に割り込ませることのできるプログラムをいう。
図2は、追加プログラムの概要を説明するための図である。図2において、501は、追加プログラム505が適用されるプログラムの仮想メモリ上における命令の配列を示す。プログラム501は、追加プログラム501が適用される前(通常実行時)は、命令1、2、3の順で処理を実行する。501aは、プログラム501に追加プログラム501が適用された状態を示す。ここでは、命令1と命令2との間に追加プログラム505の処理を割り込ませる例が示されている。この場合、命令2がテーブル502への分岐命令に置き換えられる。テーブル502には、初期化処理、前処理(変数のスタックへの退避等)、追加プログラム505の呼び出し処理、後処理(スタックに退避されていた変数等の取り出し等)の後に命令2が実行され、プログラム501の命令3に戻るような定義がされている。
すなわち、追加プログラムが適用される場合、適用対象とされたプログラムの実行ステップが予め指定された箇所(追加位置)に到達すると、追加プログラムの処理が実行される。当該追加プログラムの処理が終了すると、適用対象とされたプログラムに処理制御が復帰する。その後、適用対象とされたプログラムは、追加位置より処理を再開する。なお、追加プログラムには、適用対象のプログラムに割り込ませる処理の他、追加位置を識別するための情報が含まれている。
追加プログラムの中では、適用対象とされるプログラムの変数等を参照可能である。したがって、追加プログラムによって、適用対象とされるプログラムの任意の箇所における変数の値等を示すログ情報を出力させるための処理や、新たな機能を実現するための処理を適用対象とされるプログラムに割り込ませることができる。
斯かる追加プログラムによれば、適用対象とされるプログラムについて、ソースコードの修正、コンパイル及びリンク、更に、再インストール等を行うことなく、ログ情報の出力や機能強化等を図ることができる。
図3は、本発明の実施の形態における機器のハードウェア構成の一例を示す図である。同図において、機器20は、コントローラ601、オペレーションパネル602、ファクシミリコントロールユニット(FCU)603、撮像部604、及び印刷部605等より構成される。
コントローラ601は、CPU611、ASIC612、NB621、SB622、MEM−P631、MEM−C632、HDD(ハードディスクドライブ)633、メモリカードスロット634、NIC(ネットワークインタフェースコントローラ)641、USBデバイス642、IEEE1394デバイス643、セントロニクスデバイス644により構成される。
CPU611は、種々の情報処理用のICである。ASIC612は、種々の画像処理用のICである。NB621は、コントローラ601のノースブリッジである。SB622は、コントローラ601のサウスブリッジである。MEM−P631は、機器20のシステムメモリである。MEM−C632は、機器20のローカルメモリである。HDD633は、機器20のストレージである。メモリカードスロット634は、メモリカード635をセットするためのスロットである。NIC641は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス642は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス643は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス644は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル602は、オペレータが機器20に入力を行うためのハードウェア(操作部)であると共に、オペレータが機器20から出力を得るためのハードウェア(表示部)である。
図4は、本発明の実施の形態における機器のソフトウェア構成例を示す図である。図4において、機器20は、コピーアプリ21a、FAXアプリ21b、プリンタアプリ21c、及びスキャナアプリ21d等のアプリケーション21と、サービス層22と、診断プログラム制御部23と、OS24と等を有する。これらのソフトウェアは、MEM−P631におけるRAM上にロードされ、CPU611に処理を実行させることによりその機能を実現させる。
コピーアプリ21aは、コピー機能を実現するアプリケーションである。FAXアプリ21bは、FAX機能を実現するアプリケーションである。プリンタアプリ21cは、印刷機能を実現するアプリケーションである。スキャナアプリ21dは、スキャナ機能を実現するアプリケーションである。本実施の形態では、これらのアプリケーション21が追加プログラム25の適用対象とされる。但し、サービス層22のプログラムが追加プログラム25の適用対象とされてもよい。
サービス層22は、複数のアプリケーション21によって共通に必要とされるサービス(機能)をアプリケーション21に対して提供するプログラム群によって構成される。サービス層22には、例えば、ネットワーク通信の仲介を行うプログラム、撮像部604や印刷部605等のハードウェアの制御を行うプログラム、メモリやハードディスクドライブ等の記憶装置の管理を行うプログラム、オペレーションパネル602の制御を行うプログラム等が存在する。
OS24は、いわゆるOS(Operating System)である。OS24は、所定のものに限定されない。
追加プログラム制御部23は、上述した追加プログラム(図中では、追加プログラム25として示されている。)の実行環境を実現するソフトウェアである。図5は、追加プログラム制御部の機能構成例を示す図である。同図に示されるように追加プログラム制御部23は、実行部231、リモートロード部232、永続化部233、ローカルロード部234、非永続化部235、及び管理テーブル236等を有する。
実行部231は、各アプリケーション21について、ソースコード上の各ステップと、メモリ上におけるアドレス情報とのマッピング情報(対応情報)を管理している。実行部231は、当該マッピング情報に基づいて、アプリケーション21に追加プログラム25を適用する。より詳しくは、実行部231は、当該マッピング情報に基づいてメモリ上のアプリケーション21における追加位置のアドレスを判定し、当該追加位置に追加プログラム25への分岐命令を挿入する。追加プログラム25が適用されたアプリケーション21の実行ステップが追加位置に到達すると、図2において説明したようにRAM上にロードされている追加プログラム25が実行される。リモートロード部232は、管理サーバ10よりネットワークを介して追加プログラム25を受信(取得)し、受信された追加プログラム25を揮発性のメモリであるRAMに記録(ロード)する。永続化部233は、リモードロード部233によって取得された追加プログラム25を不揮発性の記憶装置(本実施の形態では、HDD633)に保存(永続化)する。ローカルロード部234は、HDD633に保存されている追加プログラム25をRAMに記録(ロード)する。非永続化部235は、HDD633に保存されている追加プログラム25を実行対象外(RAMへのロードの対象外)とする。管理テーブル236は、永続化されている追加プログラム25を管理するためのテーブルであり、例えば、HDD633に記録される。
図6は、本発明の実施の形態における管理サーバの機能構成例を示す図である。図6において、管理サーバ10は、追加処理制御部11及び追加プログラム管理部12等を有する。これら各部は、管理サーバ10にインストールされたプログラムがCPUに実行させる処理によって実現される。
追加プログラム管理部12は、管理サーバ10の記憶装置に保存されている追加プログラムの管理を行う。追加処理制御部11は、追加プログラム管理部12によって管理されている追加プログラム11の機器20への転送等を行う。
以下、機器管理システム1の処理手順について説明する。図7は、第一の実施の形態における追加プログラムのリモートロード及び永続化時の処理手順を説明するためのシーケンス図である。図7における処理の開始時において、機器20は、定常状態(アプリケーション21等が利用可能な状態)であるとする。
ステップS101において、管理サーバ10の追加処理制御部11が、ユーザによって指定(選択)された追加プログラム25を追加プログラム管理部12より取得し、機器20へ送信すると、機器20のリモートロード部232は、当該追加プログラム25を受信し、MEM−P631におけるRAMに記録する。追加プログラム25が正常に受信されると、リモートロード部232は、その旨を追加処理制御部11に応答する(S102)。
続いて、追加処理制御部11より追加プログラム25の有効化を指示するメッセージが受信されると(S103)、実行部231は、追加プログラム25の追加位置を確認し、適用対象とされるアプリケーション21のRAM上における追加位置に、追加プログラム25への分岐命令の挿入等を行うことにより、追加プログラム25を有効化する。有効化が正常に行われると、実行部231は、その旨を追加処理制御部11に応答する(S104)。
続いて、追加処理制御部11より追加プログラム25の永続化を指示するメッセージが受信されると(S105)、永続化部233は、RAM上に記録されている追加プログラム25をHDD633に保存(永続化)する(S106)。この際、永続化部233は、新たに永続化された追加プログラム25に関する情報を管理テーブル236に登録する。
図8は、管理テーブルの構成例を示す図である。同図に示されるように、管理テーブル236には永続化された追加プログラム25ごとに、永続化フラグ及びプログラム名が登録されている。プログラム名は、HDD633における各追加プログラム25を識別するために用いられる。したがって、例えば、ファイル名であってもよい。
永続化フラグは、追加プログラム25が実行対象として永続化されているか否かを示すフラグである。「1」は、利用対象として永続化されていることを示す。「0」は、利用対象ではないこと、又は永続化されていないことを示す。なお、初期値は「1」である。
なお、永続化部233による追加プログラム25の永続化は、ステップS101における受信に応じて強制的に行われてもよい。この場合、追加処理制御部11は、永続化の指示を送信する必要はない。
その後、適用対象のアプリケーション21の実行ステップが追加位置に到達すると、当該追加位置に挿入されている分岐命令に従って追加プログラム25が実行される。その結果、追加プログラム25に実装された処理が当該アプリケーション21の処理に挿入される。
続いて、機器20において少なくともRAMへの電源の供給が停止された後、再び電源が供給されたとする(S107)。この場合、揮発性のRAM上に記録されていた追加プログラム25は、RAM上より消去されてしまっている。そこで、アプリケーション21等の起動の終了後、ローカルロード部234は、管理テーブル236を参照し、永続化フラグが「1」である追加プログラム25の有無を確認する(S108)。永続化フラグが「1」である追加プログラム25が存在する場合、ローカルロード部234は、管理テーブル236に記録されているプログラム名に基づいて、追加プログラム25をHDD633からRAM上にロード(記録)する(S109)。また、追加プログラム制御部23の実行部231は、適用対象のアプリケーション21に対して追加プログラム25を再適用する。
なお、永続化フラグを設けずに、HDD633に保存されている追加プログラム25を全て実行対象とするようにしてもよい。この場合、ローカルロード部234は、ステップS108において追加プログラム25のファイルの有無をチェックすればよい。
続いて、S107において、再び電源が供給された際に機器20において実行される処理の詳細について説明する。図9は、再び電源が供給されたときに機器において実行される処理手順を説明するためのフローチャートである。
機器20に電源が供給されると(S301)、ブートローダが起動する(S302)。続いて、ブートローダは、OS24のカーネルを起動させる(S303)。続いて、カーネルは、サービス層22の各種プログラム、追加プログラム制御部23、及び各アプリケーション21をプロセスとして起動させる(S304〜S306)。
追加プログラム制御部23のローカルロード部234は、起動されると、管理テーブル236を参照し、登録されている各永続化フラグの値をチェックする(S307)。続いて、のローカルロード部234は、永続化フラグの値に基づいて、追加プログラム25の再適用の要否を判定する(S308)。すなわち、本実施の形態では、永続化フラグが再適用要否情報に相当する。
永続化フラグが「1」である追加プログラム25が存在する場合(S308でYes)、のローカルロード部234は、当該追加プログラム25をHDD633からRAM上にロードする(S309)。続いて、追加プログラム制御部23の実行部231は、当該追加プログラム25を適用対象とされているアプリケーション21に適用しなおす(S310)。より具体的には、適用対象とされているアプリケーション21の追加位置に、当該追加プログラム25への分岐命令を挿入する。
このように、本実施の形態における機器20は、追加プログラム25をローカルなHDD633に保存しておくことができる。また、機器20の再起動後にHDD633に保存されている追加プログラム25を自動的にRAM上にロードさせることができる。したがって、電源が切られ、RAM上における追加プログラム25が消去された後であっても、ユーザは、管理サーバ10より改めて追加プログラム25をダウンロードし直すための操作を行う必要はない。また、追加プログラム25は、ローカルなHDD633に永続化されるため、その後において、管理サーバ10が接続されていない環境又は状態でも追加プログラム25を利用することが可能となる。
ところで、本実施の形態における機器20は、一般的に省エネモードと呼ばれる動作モードを有する。具体的には、無操作状態が所定時間継続すると少なくとも一部分に対する電源の供給が停止される。図10は、本発明の実施の形態の機器における電源の供給状態の遷移を説明するための図である。
同図において、電源OFF状態S0は、メインスイッチが切られている状態(機器20の電源が切られている状態)であり、図3に示される全てのハードウェアに電源が供給されていない状態である。電源OFF状態S0においてメインスイッチがONにされると(機器20に電源が供給されると)電源ON状態S1に移行する。電源ON状態S1は、図3に示されるハードウェアのうち電源の供給が必要とされる全てのハードウェアに電源が供給されている状態である。電源ON状態S1において無操作状態が一定時間継続すると、機器20は、省エネレベル1状態S2へ移行する。省エネレベル1状態S2では、オペレーションパネル602への電源の供給が停止される。但し、プリントジョブの実行は可能である。なお、無操作状態とは、ユーザによって人的に操作が行われない状態だけでなく、ネットワークを介してジョブの実行指示が入力されない状態をも含む。
省エネレベル1状態S2においてさらに無操作状態が一定時間継続すると、機器20は、省エネレベル2状態S3に移行する。省エネレベル2状態S3では、オペレーションパネル602と、FCU603、撮像部604、及び印刷部605等のいわゆるエンジン部とへの電源の供給が停止される
省エネレベル2状態S3においてさらに無操作状態が一定時間継続すると、機器20は、省エネレベル3状態S4に移行する。省エネレベル3状態S4では、オペレーションパネル602と、エンジン部と、コントローラ601への電源の供給が停止される。
なお、省エネレベル2状態S3又は省エネレベル3状態S4においてプリントジョブが受信されると、機器20は、省エネレベル1状態S2に移行する。また、省エネレベル1状態S2、省エネレベル2状態S3、又は省エネレベル3状態S4においてオペレーションパネル602の操作が行われると、機器20は電源ON状態S1に移行する。また、いずれの状態においても、メインスイッチが切られると、機器20は電源OFF状態に移行する。
図10に示される電源の供給状態において、電源OFF状態S0及び省エネレベル3状態S4では、コントローラ601に含まれるMEM−P631への電源の供給が停止される。したがって、図7のステップS107における、RAMへの電源の供給の停止は、斯かる状態への移行によって行われる。また、RAMへの電源の供給の再開は、電源OFF状態S0から電源ON状態S1への移行、又は省エネレベル3状態S4から省エネレベル1状態S2若しくは電源ON状態S1への移行によって行われる。
すなわち、ステップS108の処理は、省エネモードからの復帰時にも実行される。したがって、省エネモードによりRAMへの電源の供給の停止が発生する頻度が相対的に高い機器20の場合、本実施の形態のように、ローカルに永続化されている追加プログラム25を利用できるようにすることで、ネットワークを介した追加プログラム25のダウンロードの機会を大きく低減させることができる。
ところで、上記では全ての追加プログラム25がそのダウンロード時において自動的に永続化の対象とされていた。以下では、永続化の要否を設定可能とした例を説明する。この場合、例えば、管理サーバ10の追加処理制御部11は、ステップS101においてユーザによって選択された追加プログラム25に関して次のような処理を実行する。
図11は、永続化の要否の設定処理を説明するためのフローチャートである。
ユーザによって追加プログラム25が選択されると、追加処理制御部11は、永続化設定画面を管理サーバ10の表示装置に表示させる(S401)。
図12は、永続化設定画面の表示例を示す図である。同図に示されるように、永続化設定画面510には、ユーザによって選択された追加プログラム25の一覧が表示されている。また、追加プログラム25ごとにチェックボタン511が配置されている。
続いて、ユーザによって、追加プログラム25ごとに永続化の要否が設定される。すなわち、ユーザは、永続化が必要な追加プログラム25については、チェックボタン511をチェック状態とする。永続化が不要な追加プログラム25については、チェックボタン511を非チェック状態とする。なお、永続化の要否の設定とは、機器20の再起動後に、改めて追加プログラム25を適用し直す必要が有るか否かを設定することを意味する。
決定ボタン512が押下(クリック)されると、追加処理制御部11は、ステップS101以降の処理を開始する。追加処理制御部11は、永続化の指示を行う際、永続化設定画面510の設定内容に応じたメッセージを機器20に送信する(S403)。すなわち、追加処理制御部11は、チェックボタン511がチェックされた追加プログラム25は、永続化が要求されたものと判定し、当該追加プログラム25について永続化を要求する。なお、ステップS403は、図7のステップS105に対応する。
続いて、機器20において、追加処理制御部11より追加プログラム25の永続化を指示するメッセージが受信されると、永続化部233は、RAM上に記録されている追加プログラム25のうち、永続化が要求されている追加プログラム25のみをHDD633に保存(永続化)する。この際、永続化部233は、新たに永続化された追加プログラム25に関する情報(永続化フラグ及びプログラム名)を管理テーブル236に登録する。
このように、追加プログラム25の永続化の要否の設定を可能とすることにより、ユーザは、永続化を行わないという選択を行うことができる。本実施の形態によれば、機器20の再起動後に追加プログラム25が自動的に適用される。したがって、例えば、追加プログラム25にバグが有り、適用対象とされたアプリケーション21に異常動作が発生した場合に機器20の電源を切ったとしても、機器20の再起動後に追加プログラム25の再適用により当該異常動作が繰り返される可能性がある。このようなことが予測される場合(例えば、追加プログラム25の動作に関してテストが行われていない場合等)、永続化を不要としておくことで、異常動作が繰り返し発生することを回避することができる。機器20の再起動後において、永続化が不要とされている追加プログラム25については、自動的な適用は行われないからである。
続いて、不要となった追加プログラム25の永続化を解除する際の処理手順について説明する。図13は、第一の実施の形態における追加プログラムの永続化の解除処理を説明するためのシーケンス図である。
ステップS101において、管理サーバ10の追加処理制御部11が、ユーザによって指定された追加プログラム25(追加プログラムA)の永続化の解除要求を機器20へ送信すると(S201)、機器20の非永続化部235は、追加プログラムAの永続化を解除する(S202)。具体的には、管理テーブル236における追加プログラムAに対する永続化フラグを「0」にする。また、追加プログラムAの実体をHDD633より削除してもよい。永続化の解除が正常に終了すると、非永続化部235は、その旨を追加処理制御部11に応答する(S203)。
続いて、機器20の利用の終了等により、機器20において少なくともRAMへの電源の供給が停止された後、再び電源が供給されると(S204)、ローカルロード部234は、管理テーブル236を参照し、永続化フラグが「1」である追加プログラム25の有無を確認する(S205)。ここで、追加プログラムAは永続化が解除されているため、起動対象とはならない(S206)。
このように、不要となった追加プログラム25の適用を適切に解除させることができる。なお、永続化の解除の指示は、オペレーションパネル602を介して入力させてもよい。この場合、管理サーバ10と機器20とはネットワークを介して接続されていなくてもよい。
次に、第二の実施の形態について説明する。第二の実施の形態において特に言及しない点については第一の実施の形態と同様でよい。図14は、第二の実施の形態における追加プログラムのリモートロード及び永続化時の処理手順を説明するためのシーケンス図である。図14中、図7と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。同図において、永続化サーバ30は、機器20とネットワークを介して接続するコンピュータである。
追加処理制御部11より追加プログラム25の永続化を指示するメッセージが受信されると(S105)、永続化部233は、RAM上に記録されている追加プログラム25のうち、永続化が要求されている追加プログラム25のみを永続化サーバ30に送信し、当該追加プログラムの永続化(保存)を要求する(S506)。永続化サーバ30は、永続化を要求された追加プログラムを記憶装置に保存する。また、永続化サーバ30は、新たに永続化された追加プログラム25に関する情報を管理テーブル236に登録する。すなわち、第二の実施の形態では、永続化サーバ30が管理テーブル236を備える。但し、第一の実施の形態と同様、機器20が管理テーブル236を備えていてもよい。この場合。永続化部233が、新たに永続化された追加プログラム25に関する情報を管理テーブル236に登録する。
続いて、機器20において少なくともRAMへの電源の供給が停止された後、再び電源が供給されると(S107)、ローカルロード部234は、永続化されている追加プログラム25のダウンロード要求を永続化サーバ30に送信する(S508)。永続化サーバ30は、ダウンロード要求に応じ、永続化されている追加プログラム25を追加プログラム制御部23に送信する(S509)。追加プログラム制御部23は、受信された追加プログラム25をRAM上にロードし、適用対象のアプリケーションに対して再適用する。
上述したように、第二の実施の形態によれば、追加プログラム25を機器20の外部装置(永続化サーバ30)に永続化させることができる。したがって、ハードウェアリソースの制限の厳しい機器20におけるハードウェアリソースの消費量を抑制することができる。
なお、永続化サーバ30は、管理サーバ10であってもよい。この場合、ステップS506において必ずしも追加プログラム25を送信する必要はない。追加プログラム25は、管理サーバ10において保存(管理)されているからである。但し、永続化の要否を管理サーバ10に通知するようにしてもよい。管理サーバ10側では、永続化が要求されている追加プログラム25については、メンテナンス等において削除不可能とするようにするとよい。そうすることで、追加プログラム25の再適用時において、当該追加プログラム25が存在しないといった事態の発生を防止することができる。
また、第一及び第二の実施の形態では、管理テーブル236を用いた例を示したが、必ずしも管理テーブル236を用いなくてもよい。例えば、永続化される追加プログラム25の保存位置を所定の場所(フォルダ)に決めておき、当該所定の場所に保存されている追加プログラム25は再適用の対象とするようにしてもよい。この場合、再適用要否情報は、当該所定の場所に保存されている追加プログラム25自体となる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本発明の実施の形態における機器管理システムの構成例を示す図である。 追加プログラムの概要を説明するための図である。 本発明の実施の形態における機器のハードウェア構成の一例を示す図である。 本発明の実施の形態における機器のソフトウェア構成例を示す図である。 追加プログラム制御部の機能構成例を示す図である。 本発明の実施の形態における管理サーバの機能構成例を示す図である。 第一の実施の形態における追加プログラムのリモートロード及び永続化時の処理手順を説明するためのシーケンス図である。 管理テーブルの構成例を示す図である。 再び電源が供給されたときに機器において実行される処理手順を説明するためのフローチャートである。 本発明の実施の形態の機器における電源の供給状態の遷移を説明するための図である。 永続化の要否の設定処理を説明するためのフローチャートである。 永続化設定画面の表示例を示す図である。 第一の実施の形態における追加プログラムの永続化の解除処理を説明するためのシーケンス図である。 第二の実施の形態における追加プログラムのリモートロード及び永続化時の処理手順を説明するためのシーケンス図である。
符号の説明
1、2 機器管理システム
10 管理サーバ
11 追加処理制御部
12 追加プログラム管理部
20、20a、20b、20c 機器
21a コピーアプリ
21b FAXアプリ
21c プリンタアプリ
21d スキャナアプリ
22 サービス層
23 追加プログラム制御部
24 OS
25 追加プログラム
231 実行部
232 リモートロード部
233 永続化部
234 ローカルロード部
235 非永続化部
236 管理テーブル
604 撮像部
605 印刷部
601 コントローラ
602 オペレーションパネル
603 ファクシミリコントロールユニット
611 CPU
612 ASIC
621 NB
622 SB
631 MEM−P
632 MEM−C
633 HDD
634 メモリカードスロット
635 メモリカード
641 NIC
642 USBデバイス
643 IEEE1394デバイス
644 セントロニクスデバイス

Claims (18)

  1. 情報処理装置であって、
    他のプログラムに動的に処理を割り込ませることが可能な所定のプログラムをネットワークを介して受信する受信手段と、
    前記所定のプログラムを前記他のプログラムに適用する適用手段と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際における前記所定のプログラムの前記他のプログラムへの再適用の要否の設定を受け付け、該要否を識別可能な再適用要否情報を前記所定のプログラムごとに記憶手段に記録する再適用要否設定手段と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記再適用要否情報に応じて自動的に前記所定のプログラムを前記他のプログラムに適用しなおす再適用手段とを有することを特徴とする情報処理装置。
  2. 前記設定において前記再適用が要求された場合に、前記所定のプログラムを所定の記憶装置に保存する永続化手段と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記記憶装置より前記所定のプログラムを取得する取得手段とを有し、
    前記再適用手段は、前記取得手段によって取得された前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項1記載の情報処理装置。
  3. 前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、ネットワークを介して前記所定のプログラムを取得する取得手段を有し、
    前記再適用手段は、前記取得手段によって取得された前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項1記載の情報処理装置。
  4. 前記再適用手段は、当該情報処理装置の電源が切られ、再び電源が供給された際に前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。
  5. 前記再適用手段は、無操作状態の継続により当該情報処理装置の電源の供給が部分的に停止され、再び電源が供給された際に前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項1乃至4いずれか一項記載の情報処理装置。
  6. 前記再適用要否情報の削除要求の入力に応じ、前記再適用要否情報を前記記憶手段より削除する再適用解除手段を有することを特徴とする請求項1乃至5いずれか一項記載の情報処理装置。
  7. 情報処理装置が実行する情報処理方法であって、
    他のプログラムに動的に処理を割り込ませることが可能な所定のプログラムをネットワークを介して受信する受信手順と、
    前記所定のプログラムを前記他のプログラムに適用する適用手順と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際における前記所定のプログラムの前記他のプログラムへの再適用の要否の設定を受け付け、該要否を識別可能な再適用要否情報を前記所定のプログラムごとに記憶手段に記録する再適用要否設定手順と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記再適用要否情報に応じて自動的に前記所定のプログラムを前記他のプログラムに適用しなおす再適用手順とを有することを特徴とする情報処理方法。
  8. 前記設定において前記再適用が要求された場合に、前記所定のプログラムを所定の記憶装置に保存する永続化手順と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記記憶装置より前記所定のプログラムを取得する取得手順とを有し、
    前記再適用手順は、前記取得手順において取得された前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項7記載の情報処理方法。
  9. 前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、ネットワークを介して前記所定のプログラムを取得する取得手順を有し、
    前記再適用手順は、前記取得手順において取得された前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項7記載の情報処理方法。
  10. 前記再適用手順は、当該情報処理装置の電源が切られ、再び電源が供給された際に前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項7乃至9いずれか一項記載の情報処理方法。
  11. 前記再適用手順は、無操作状態の継続により当該情報処理装置の電源の供給が部分的に停止され、再び電源が供給された際に前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項7乃至10いずれか一項記載の情報処理方法。
  12. 前記再適用要否情報の削除要求の入力に応じ、前記再適用要否情報を前記記憶手段より削除する再適用解除手順を有することを特徴とする請求項7乃至11いずれか一項記載の情報処理方法。
  13. 情報処理装置に、
    他のプログラムに動的に処理を割り込ませることが可能な所定のプログラムをネットワークを介して受信する受信手順と、
    前記所定のプログラムを前記他のプログラムに適用する適用手順と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際における前記所定のプログラムの前記他のプログラムへの再適用の要否の設定を受け付け、該要否を識別可能な再適用要否情報を前記所定のプログラムごとに記憶手段に記録する再適用要否設定手順と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記再適用要否情報に応じて自動的に前記所定のプログラムを前記他のプログラムに適用しなおす再適用手順とを実行させるためのプログラム。
  14. 前記設定において前記再適用が要求された場合に、前記所定のプログラムを所定の記憶装置に保存する永続化手順と、
    前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、前記記憶装置より前記所定のプログラムを取得する取得手順とを有し、
    前記再適用手順は、前記取得手順において取得された前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項13記載のプログラム。
  15. 前記所定のプログラムの適用後に当該情報処理装置の少なくとも一部に対する電源の供給が停止され、再び電源が供給された際に、ネットワークを介して前記所定のプログラムを取得する取得手順を有し、
    前記再適用手順は、前記取得手順において取得された前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項13記載のプログラム。
  16. 前記再適用手順は、当該情報処理装置の電源が切られ、再び電源が供給された際に前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項13乃至15いずれか一項記載のプログラム。
  17. 前記再適用手順は、無操作状態の継続により当該情報処理装置の電源の供給が部分的に停止され、再び電源が供給された際に前記所定のプログラムを前記他のプログラムに適用しなおすことを特徴とする請求項13乃至16いずれか一項記載のプログラム。
  18. 前記再適用要否情報の削除要求の入力に応じ、前記再適用要否情報を前記記憶手段より削除する再適用解除手順を有することを特徴とする請求項13乃至17いずれか一項記載のプログラム。
JP2008256852A 2007-11-19 2008-10-01 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP5353169B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008256852A JP5353169B2 (ja) 2007-11-19 2008-10-01 情報処理装置、情報処理方法及びプログラム
US12/256,757 US8464273B2 (en) 2007-11-19 2008-10-23 Information processing apparatus, information processing method, and computer-readable program
EP08253724A EP2071466B1 (en) 2007-11-19 2008-11-14 Information processing apparatus, information processing method and computer-readable program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007299577 2007-11-19
JP2007299577 2007-11-19
JP2008256852A JP5353169B2 (ja) 2007-11-19 2008-10-01 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009146387A JP2009146387A (ja) 2009-07-02
JP5353169B2 true JP5353169B2 (ja) 2013-11-27

Family

ID=40916879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008256852A Expired - Fee Related JP5353169B2 (ja) 2007-11-19 2008-10-01 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5353169B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238002A (ja) * 2008-03-27 2009-10-15 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、及び情報処理プログラム
JP5463762B2 (ja) 2009-07-07 2014-04-09 株式会社リコー 電子機器、情報処理方法、及びプログラム
JP2011086142A (ja) * 2009-10-16 2011-04-28 Ricoh Co Ltd 画像形成装置及びプログラム操作方法
JP5471277B2 (ja) * 2009-10-16 2014-04-16 株式会社リコー 画像形成装置及びプログラム操作方法
JP2011123842A (ja) * 2009-12-14 2011-06-23 Ricoh Co Ltd 画像形成装置、機能追加方法、及びプログラム
JP5650068B2 (ja) * 2011-07-26 2015-01-07 京セラドキュメントソリューションズ株式会社 プリンタドライバの印刷可能範囲エミュレート方法
KR101412885B1 (ko) * 2012-03-26 2014-06-26 서울대학교산학협력단 모드 설정 및 구분자를 이용하여 저장 매체에서의 영속화를 제어하는 방법 및 그 스토리지 시스템
KR101426806B1 (ko) * 2012-03-26 2014-08-05 서울대학교산학협력단 오브젝트 아이디에 기반하여 저장 매체에서의 영속화를 제어하는 방법, 그 컴퓨터 시스템 및 스토리지 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02207326A (ja) * 1989-02-08 1990-08-17 Nec Corp パッチ管理システム
JPH10222361A (ja) * 1997-02-04 1998-08-21 Matsushita Electric Ind Co Ltd 計算機等の処理装置におけるromプログラムモニタ装置
JPH11306006A (ja) * 1998-04-20 1999-11-05 Brother Ind Ltd 周辺装置及び記憶媒体
JP3655152B2 (ja) * 1999-11-29 2005-06-02 富士通株式会社 ソフトウェア編集装置及び記憶媒体

Also Published As

Publication number Publication date
JP2009146387A (ja) 2009-07-02

Similar Documents

Publication Publication Date Title
JP5353169B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5699500B2 (ja) インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JP2008084304A (ja) 画像形成装置、プログラム更新方法及びプログラム
US8782636B2 (en) Information processing apparatus, control method thereof, and program
JP4944812B2 (ja) 情報処理システムと情報処理方法とプログラム
JP5948855B2 (ja) 機器、プログラム管理方法、プログラム管理プログラム、及び記録媒体
JP2014170515A (ja) 機器、情報記録プログラム、及び情報記録方法
CN102110219A (zh) 用于禁止修改程序配置的操作的系统、设备和方法
JP5671880B2 (ja) 画像形成装置、プログラム状態判定方法、プログラム状態判定プログラム、及びプログラム状態判定システム
EP2071466B1 (en) Information processing apparatus, information processing method and computer-readable program
JP5381059B2 (ja) 機器、ログ記録制御方法、及びプログラム
JP5293462B2 (ja) 電子機器、情報処理方法、及び情報処理プログラム
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
US20070192387A1 (en) Information processing device, method and program for controlling information processing device
JP2009020609A (ja) 画像形成装置、プログラム制御方法及びプログラム
JP2011060142A (ja) 統合管理装置、統合管理システム、統合管理方法、統合管理プログラム、及びそのプログラムを記録した記録媒体
JP2006331256A (ja) 情報処理装置、インストール処理方法、記憶媒体およびプログラム
US11397572B2 (en) Image forming apparatus capable of executing extension application, method of controlling same, and storage medium
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP2008269128A (ja) バージョンアップ管理装置及びバージョンアップ管理プログラム
JP2018028842A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
KR101218599B1 (ko) 외장형 이동식 저장장치의 응용 프로그램 설치 장치 및 방법
US20080097956A1 (en) Transmission device, transmission device setting system, and transmission device setting method and program
JP2020060825A (ja) 情報処理装置及び情報処理システム
JP2023139967A (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130313

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: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

LAPS Cancellation because of no payment of annual fees