JP5471277B2 - 画像形成装置及びプログラム操作方法 - Google Patents

画像形成装置及びプログラム操作方法 Download PDF

Info

Publication number
JP5471277B2
JP5471277B2 JP2009238978A JP2009238978A JP5471277B2 JP 5471277 B2 JP5471277 B2 JP 5471277B2 JP 2009238978 A JP2009238978 A JP 2009238978A JP 2009238978 A JP2009238978 A JP 2009238978A JP 5471277 B2 JP5471277 B2 JP 5471277B2
Authority
JP
Japan
Prior art keywords
program
application
image forming
forming apparatus
additional program
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
JP2009238978A
Other languages
English (en)
Other versions
JP2011086141A (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 JP2009238978A priority Critical patent/JP5471277B2/ja
Priority to US12/900,582 priority patent/US20110090532A1/en
Publication of JP2011086141A publication Critical patent/JP2011086141A/ja
Application granted granted Critical
Publication of JP5471277B2 publication Critical patent/JP5471277B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置及びプログラム操作方法に関し、特にプログラムの制御によって機能を実現する画像形成装置及びプログラム操作方法に関する。
従来、特に組み込み機器等において動作するプログラムの障害解析(デバッグ等)の代表的な作業として、プログラムが出力するログの解析が行われている。すなわち、プログラムのソースコードには、プログラムが用いている変数の値や、プログラムが動作しているハードウェアの状態を示す情報等をログファイルに出力するための命令(例えば、C言語におけるprintf関数)が予め各所に埋め込まれている。障害が発生した際、斯かる命令(以下、「ログ出力命令」という。)に従って出力されたログファイルを解析することにより、障害の原因が推測又は特定される。
しかし、予め埋め込まれたログ出力命令に基づいて出力されるログファイル(最初に出力されるログファイル)では、詳細な解析を行うには情報として不十分な場合が多々ある。斯かる場合、最初に出力されるログファイルに基づいて、或る程度障害箇所が絞り込まれる。続いて、その障害箇所周辺について更に詳細なログを出力するように、プログラムのソースコードが修正され、コンパイル及びリンクが行われた上で、プログラムの置き換えが行われる。改めて出力されるログファイルによっても原因が特定できない場合は、更に、ソースコードにログ出力命令が埋め込まれ、上記作業が繰り返される。このように、ログに基づいて障害解析を行う場合、時として大変煩雑な作業が要求されていた。
そこで、従来、動作中のプログラムの任意の箇所(診断位置)に他のプログラム(以下、「追加プログラム」という。)の処理を動的に割り込ませる技術が存在する(例えば、特許文献1、特許文献2)。追加プログラムでは、診断対象となるプログラムの変数の値等を参照することができる。追加プログラムの処理の終了後は、診断対象となるプログラムについて追加プログラムによって割り込まれた位置に処理が復帰する。斯かる技術によれば、診断対象となるプログラムのソースコードを修正することなく、追加プログラムによって診断対象となるプログラムのログの出力が可能となる。
しかしながら、特許文献1及び2等に記載されたシステムでは、管理サーバが必要とされる。各機器は、追加プログラムの操作に関して受動的な機能しか備えておらず、各機器への追加プログラムの導入や、各機器に導入された追加プログラムの操作は、管理サーバから指示される必要があるからである。当該管理サーバは、ユーザが所有するPC(Personal Computer)又は機器の提供者側が所有するPCによって構築されるのが一般的であると考えられるが、いずれの場合であってもユーザにとってはあまり好ましい状況であるとはいえない。
すなわち、ユーザが所有するPCによって管理サーバが構築される場合、ユーザは、管理サーバとして利用するPCのコストを負担しなければならない。一方、機器の提供者側が所有するPCによって管理サーバが構築されるのは、セキュリティ上の観点よりユーザには抵抗が有る。
本発明は、上記の点に鑑みてなされたものであって、他のプログラムに対して動的に処理を割り込ませることのできるプログラムを操作させるためのシステム構成を簡素化することのできる画像形成装置及びプログラム操作方法の提供を目的とする。
そこで上記課題を解決するため、本発明は、画像形成装置であって、当該画像形成装置が有する第一のプグラムに対して動的に処理を割り込ませることが可能な第二のプログラムを選択させる画面を表示手段に表示させ、該画面において選択された前記第二のプログラムを外部記憶手段より取得する取得手段と、取得された前記第二のプログラムを前記第一のプログラムに適用する有効化手段とを有する。
このような画像形成装置では、他のプログラムに対して動的に処理を割り込ませることのできるプログラムを操作させるためのシステム構成を簡素化することができる。
本発明によれば、他のプログラムに対して動的に処理を割り込ませることのできるプログラムを操作させるためのシステム構成を簡素化することができる。
本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 追加プログラムを説明するための図である。 追加プログラム管理アプリの機能構成例を示す図である。 画像形成装置内における追加プログラムの状態遷移を説明するための図である。 追加プログラム管理アプリのインストール処理を説明するためのフローチャートである。 アプリ情報ファイルの例を示す図である。 追加プログラム管理アプリが実行させる画像形成装置の処理手順を説明するためのシーケンス図である。 ログイン画面の表示例を示す図である。 管理画面の表示例を示す図である。 状態記憶部の構成例を示す図である。 ダウンロード画面の表示例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ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は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ121、SDKアプリ122、SDKプラットフォーム123、アプリ管理サービス124、追加プログラム制御部125、コントロールサービス126、及びOS127等を有する。
OS127は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS127上においてプロセス又はスレッドとして動作する。
コントロールサービス126は、上位ソフトウェアモジュール群より共通に利用されるサービス提供するソフトウェアモジュール群である。同図ではコントロールサービス126の一部として認証処理部1261が例示されている。認証処理部1261は、ユーザ名及びパスワードの入力に応じ、認証処理を実行するといったサービスを提供する。なお、その他、ネットワーク通信に関するサービス、スキャナの制御に関するサービス、プリンタの制御に関するサービス、メモリの管理に関するサービス等を提供するソフトウェアモジュールがコントロールサービス126に含まれる。
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。印刷アプリ1212は印刷ジョブを実行する。コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして随時インストール又はアンインストール可能なアプリケーションである。同図では、SDKアプリ122として、追加プログラム管理アプリ1221が例示されている。追加プログラム管理アプリ1221は、追加プログラムを操作させるためのインタフェースをユーザに提供するSDKアプリ122である。
SDKプラットフォーム123は、SDKアプリ122の実行環境を提供する。各SDKアプリ122は、SDKプラットフォーム123が提供するAPI(Application Program Interface)(以下、「SDKAPI」という。)を利用して開発される。例えば、SDKプラットフォーム123は、スキャン機能を利用させるためのSDKAPI、印刷機能を利用させるためのSDKAPI、コピー機能を利用させるためのSDKAPI等をSDKアプリ122に提供する。SDKプラットフォーム123は、SDKAPIの呼び出しに応じ、コントロールサービス126によって提供されている機能を利用することにより、当該SDKAPIに応じたサービスを実現する。すなわち、SDKプラットフォーム123は、コントロールサービス126のインタフェースを隠蔽し、より分かり易いAPIをSDKアプリ122の開発者に提供するという役割も担う。なお、SDKAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。
アプリ管理サービス124は、SDKアプリ122の管理を行う。具体的には、アプリ管理サービス124は、SDKアプリ122のインストール、アンインストールを実行する。アプリ管理サービス124は、また、HDD114を用いて、インストールされているSDKアプリ122の一覧情報を管理する。
追加プログラム制御部125は、追加プログラム管理アプリ1221からの指示に応じ、追加プログラムの動作を制御する。
追加プログラムについて説明する。図3は、追加プログラムを説明するための図である。
図3において、501は、追加プログラム505が適用されるプログラムにおける仮想メモリ上における命令の配列を示す。プログラム501は、追加プログラム501が適用される前(通常実行時)は、命令1、2、3の順で処理を実行する。501aは、プログラム501に追加プログラム501が適用された状態を示す。ここでは、命令1と命令2との間に追加プログラム505の処理を割り込ませる例が示されている。この場合、命令2がテーブル502への分岐命令に置き換えられる。テーブル502には、初期化処理、前処理(変数のスタックへの退避等)、追加プログラム505の呼び出し処理、後処理(スタックに退避されていた変数等の取り出し等)の後に命令2が実行され、プログラム501の命令3に戻るような定義がされている。
すなわち、追加プログラムが適用される場合、適用対象とされたプログラムの実行ステップが予め指定された箇所(追加位置)に到達すると、追加プログラムの処理が実行される。当該追加プログラムの処理が終了すると、適用対象とされたプログラムに処理制御が復帰する。その後、適用対象とされたプログラムは、追加位置より処理を再開する。なお、追加プログラムには、適用対象のプログラムに割り込ませる処理の他、適用対象とするプログラム及び追加位置を識別するための情報が含まれている。
追加プログラム内では、適用対象とされるプログラムの変数等を参照可能である。したがって、追加プログラムによって、適用対象とされるプログラムの任意の箇所における変数の値等を示すログ情報を出力させるための処理や、バグを修正するための処理や、新たな機能を実現するための処理等を適用対象とされるプログラムに割り込ませることができる。
斯かる追加プログラムによれば、適用対象とされるプログラムについて、ソースコードの修正、コンパイル及びリンク、更に、再インストール等を行うことなく(すなわち、動的に)、ログ情報の出力、バグの修正、又は機能強化等を図ることができる。
なお、本実施の形態において、追加プログラムを適用対象のプログラムに適用し、実行可能な状態とすること、すなわち、追加プログラムをメモリ上にロードし、適用対象のプログラムにロードされた追加プログラムの分岐命令を挿入することを追加プログラムの「有効化」という。すなわち、追加プログラムは、画像形成装置10内に保存されているだけでは機能せず、有効化されることにより適用対象のプログラムに処理を割り込ませることができる。
追加プログラム管理アプリ1221の詳細について説明する。図4は、追加プログラム管理アプリの機能構成例を示す図である。同図において、追加プログラム管理アプリ1221は、認証制御部21、管理部22、取得部23、送信部24、有効化部25、無効化部26、削除部27、及び状態記憶部28等を含む。
認証制御部21は、操作者が追加プログラム管理アプリ1221の利用権限を有するか否かを判定するための処理を制御する。認証制御部21によって利用権限が有ることが確認された場合、操作者は、追加プログラム管理アプリ1221の利用が許可される。管理部22は、追加プログラムに関する操作指示を受け付けるための画面を操作パネル15に表示させ、当該画面を介して入力される操作指示に応じた処理を起動させる。
取得部23は、追加プログラムを外部記憶媒体30より取得(ダウンロード)する。外部記憶媒体30は、画像形成装置10にセットされたSDカード又はUSBメモリ等の携帯型の記憶媒体であってもよいし、画像形成装置10とネットワークを介して接続されるPC(Personal Computer)等のコンピュータであってもよい。いずれの形態の外部記憶媒体30においても、各追加プログラムはその識別子(追加プログラムID)と関連付けられて記憶されている。なお、取得部23によって取得された追加プログラムは、追加プログラムIDと関連付けられてHDD114に保存される。
送信部24は、取得部23によって取得された追加プログラム(HDD114に保存されている追加プログラム)を追加プログラム制御部125に送信する。有効化部25は、ユーザによる指示入力に応じ、追加プログラムの有効化を追加プログラム制御部125に指示する。無効化部26は、ユーザによる指示入力に応じ、追加プログラムの無効化を追加プログラム制御部125に指示する。無効化とは、追加プログラムの適用を解除することをいう。削除部27は、ユーザによる指示入力に応じ、HDD114に保存されている追加プログラムを削除する。状態記憶部28は、HDD114において、追加プログラムの状態を示す情報(状態情報)を記憶する記憶領域(例えば、ファイル又はデータベース等)である。
本実施の形態において、追加プログラムの状態は、図5に示されるように遷移する。図5は、画像形成装置内における追加プログラムの状態遷移を説明するための図である。同図に示されるように、追加プログラムは、画像形成装置10内において未受信状態、受信済み状態、又は有効状態のうちのいずれかの状態にある。
未受信状態は、追加プログラムが外部記憶媒体30から受信(ダウンロード)されていない状態(すなわち、画像形成装置10内に存在していない状態)である。画像形成装置10へダウンロードされると、追加プログラムの状態は受信済み状態へ遷移(変化)する。受信済み状態の追加プログラムは、単にメモリHDD114に保存されているだけであり、適用対象のプログラムには適用されていない。したがって、受信済み状態の追加プログラムは実行されることはない。受信済み状態において有効化が指示されると、追加プログラムの状態は有効状態へ遷移する。有効状態の追加プログラムは、適用対象のプログラムの実行ステップが追加位置に到達すると、当該適用対象のプログラムに対して処理を割り込ませる。
有効状態において無効化が指示されると、追加プログラムの状態は受信済み状態へ戻る。有効状態又は受信済み状態において、追加プログラムが削除されると、追加プログラムの状態は、未受信状態へ戻る。但し、有効状態において削除された場合、追加プログラムは、無効化された後、削除される。
なお、各状態の遷移は、ユーザによる操作指示の入力に応じて発生する。換言すれば、図5における各矢印は、追加プログラムに対してユーザが入力可能な操作指示に相当する。
以下、画像形成装置10の処理手順について説明する。図6は、追加プログラム管理アプリのインストール処理を説明するためのフローチャートである。すなわち、図6の開始時においては、追加プログラム管理アプリ1221は画像形成装置10にインストールされていない。
ステップS101において、アプリ管理サービス124は、インストール画面を操作パネル15に表示させる。インストール画面では、インストール対象とするSDKアプリ122(ここでは、追加プログラム管理アプリ1221)が記憶されている場所が指定される。当該場所は、例えば、画像形成装置10にセットされているSDカードや、画像形成装置10とネットワークを介して接続されているコンピュータ等である。
インストール対象の記憶場所の指定に応じ、アプリ管理サービス124は、当該記憶場所に記憶されている追加プログラム管理アプリ1221の書庫ファイルを取得する(S102)。続いて、アプリ管理サービス124は、書庫ファイルを解凍し、当該書庫ファイル内に格納されている追加プログラム管理アプリ1221の実行ファイルのインストールを実行する(S103)。インストール処理の一環として、アプリ管理サービス124は、当該書庫ファイルに格納されているアプリ情報ファイルをHDD114の所定の記憶位置に保存する。なお、アプリ情報ファイルは、各SDKアプリ122について共通の形式によって記述される。
図7は、アプリ情報ファイルの例を示す図である。同図のアプリ情報ファイルは、<application>タグで囲まれたapplication要素をルート要素とするXML(eXtensible Markup Language)形式によって記載されている。
application要素の各子要素は、SDKアプリ122の属性項目に相当する。すなわち、productid要素の値は、追加プログラム管理アプリ1221のプロダクトIDの値を示す。プロダクトIDは、SDKアプリ122の製品単位(種別単位)に一意なIDである。name要素の値は、アプリケーション名を示す。description要素の値は、SDKアプリ122に関する説明を示す。version要素の値は、SDKアプリ122のバージョンを示す。vendor要素の値は、SDKアプリ122の開発ベンダを示す。e−mail要素、tel要素、及びfax要素のそれぞれの値は、当該開発ベンダのe−mailアドレス、電話番号、FAX番号を示す。installmessage要素の値は、インストールが成功したときに表示させるメッセージである。
なお、SDKアプリ122のインストールに応じてアプリ情報ファイルがHDD114の所定の記憶位置に保存されることにより、画像形成装置10にインストールされているSDKアプリ122の一覧等の把握が可能となる。
インストールが完了すると、アプリ管理サービス124は、アプリ情報ファイルのinstallmessage要素の値を操作パネル15に表示させる(S104)。ここでは、「追加プログラム管理アプリのインストールによって他のプログラムの動作の動的な改変が可能となります。」といったメッセージが表示される。当該メッセージにより、画像形成装置10が有するプログラムに関するセキュリティについて、ユーザの注意を喚起することができる。すなわち、追加プログラムは適用対象のプログラムの振る舞いを動的に変更することができるという利便性を有するが、斯かる利便性は、セキュリティの劣化という副作用を伴う可能性が有るからである。
追加プログラム管理アプリ1221がインストールされることにより、追加プログラム制御部125の機能は実質的に有効となる。追加プログラム管理アプリ1221によって利用されることにより、追加プログラム制御部125は機能するからである。
続いて、追加プログラム管理アプリ1221がインストールされた後の画像形成装置10の処理について説明する。
図8は、追加プログラム管理アプリが実行させる画像形成装置の処理手順を説明するためのシーケンス図である。
ステップS201において、操作者によって操作パネル15上の所定のハードキーが押下されると、当該ハードキーの押下イベントがアプリ管理サービス124に通知される。なお、操作パネル15には、標準アプリ121ごとにハードキー(アプリケーションの選択キー)が配置されている。標準アプリ121は、画像形成装置10に組み込まれているため、その存在は固定的なものだからである。一方、SDKアプリ122の存在は流動的である。したがって、SDKアプリ122については、その集合に対して一つのハードキー(SDKアプリ選択キー)が割り当てられている。ステップS201では、当該SDKアプリ選択キーが押下される。
アプリ管理サービス124は、SDKアプリ選択キーの押下に応じ、SDKアプリ一覧画面を操作パネル15に表示させる(S202)。SDKアプリ一覧画面では、画像形成装置10にインストールされているSDKアプリ122ごとに起動ボタンが表示される。したがって、本実施の形態では、追加プログラム管理アプリ1221の起動ボタンも表示される。なお、アプリ管理サービス124は、HDD114に記録されているアプリ情報ファイル群に基づいて、SDKアプリ一覧画面を表示させる。
SDKアプリ一覧画面において追加プログラム管理アプリ1221のボタンが選択されると(S203)、アプリ管理サービス124は、追加プログラム管理アプリ1221を操作対象として起動させる(S204)。追加プログラム管理アプリ1221の認証制御部21は、起動に応じ、ログイン画面を操作パネル15に表示させる(S205)。
図9は、ログイン画面の表示例を示す図である。同図に示されるように、ログイン画面710は、ユーザ名及びパスワードの入力欄を有する。
ログイン画面710に対してユーザ名及びパスワード等の認証情報が入力され、ログインボタン711が押下されると(S206)、認証制御部21は、認証処理部1261にユーザ名及びパスワードを入力し、認証の実行を要求する(S207)。認証制御部21は、入力されたユーザ名及びパスワードを、予めHDD114に記録されているユーザ情報に含まれているユーザ名及びパスワードと照合することにより認証を行い(S208)、認証結果を認証制御部21に出力する(S209)。
認証処理部1261より出力された認証結果が認証の成功を示すものである場合、追加プログラム管理アプリ1221の管理部22は、管理画面を操作パネル15に表示させる(S210)。
図10は、管理画面の表示例を示す図である。同図において、管理画面720は、全選択ボタン721、全選択解除ボタン722、削除ボタン723、ダウンロードボタン724、及び追加プログラム一覧テーブル725等を有する。
追加プログラム一覧テーブル725には、画像形成装置10に既にダウンロードされている追加プログラムごとに、チェックボタン、追加プログラムID、追加プログラム名、及び操作ボタン等が表示される。チェックボタンは、操作対象の追加プログラムを選択させるためのボタンである。操作ボタンは、追加プログラムの有効化又は無効化の指示入力を受け付けるためのボタンである。有効状態の追加プログラムについては、操作ボタンのラベルには「無効化」という文字列が表示される。受信済み状態の追加プログラム(すなわち、有効化されている追加プログラム)の操作ボタンのラベルには「有効化」という文字列が表示される。すなわち、操作ボタンの押下に応じて実行される処理は、当該操作ボタンに対応する追加プログラムの状態に応じて異なる。なお、管理部22は、状態記憶部28に記録されている情報に基づいて追加プログラム一覧テーブル725の内容を表示させる。
図11は、状態記憶部の構成例を示す図である。同図において、状態記憶部28は、追加プログラムごとに、追加プログラムID、追加プログラム名、及び状態等を記憶している。
図10に戻る。全選択ボタン721は、追加プログラム一覧テーブル725に含まれている全てのチェックボタンを選択させるためのボタンである。全選択解除ボタン722は、追加プログラム一覧テーブル725に含まれている全てのチェックボタンの選択状態を解除させるためのボタンである。削除ボタン723は、追加プログラム一覧テーブル725においてチェックボタンが選択状態となっている追加プログラムの削除指示を受け付けるためのボタンである。ダウンロードボタン724は、外部記憶媒体30からの追加プログラムのダウンロード指示を受け付けるためのボタンである。
管理画面720において、ダウンロードボタン724が押下されると(S211)、追加プログラム管理アプリ1221の取得部23は、ダウンロード画面を操作パネル15に表示させる(S212)。
図12は、ダウンロード画面の表示例を示す図である。同図において、ダウンロード画面730は、参照ボタン731、テキストボックス732、ダウンロードボタン733、及びリセットボタン734等を有する。
参照ボタン731が押下されると、取得部23は、外部記憶媒体30に記憶されている追加プログラムのファイルの一覧を表示させるファイルダイアログを操作パネル15に表示させる。ファイルダイアログにおいて所望の追加プログラムが選択されると、取得部23は、選択された追加プログラムをダウンロード対象として認識し、ファイルダイアログを非表示にした後に当該追加プログラムのファイル名をテキストボックス732に表示させる。リセットボタン734が押下されると、取得部23は、テキストボックス732の内容(すなわち、ダウンロード対象の追加プログラムのファイル名)をクリアする。
ダウンロードボタン733が押下されると(S213)、取得部23は、テキストボックス732にファイル名が表示されている追加プログラムを外部記憶媒体30よりダウンロードし、ダウンロードされた追加プログラムをHDD114に保存する(S214、S215)。ダウンロードに応じ、取得部23は、ダウンロードされた追加プログラムに関するレコードを状態記憶部28に追加する。この際、当該レコードの状態には「受信済み」が記録される。
ダウンロードが完了すると、管理部22は、改めて管理画面720を操作パネル115に表示させる(S216)。このときの管理画面720の表示内容は、更新後の状態記憶部28に基づくため、ステップS210における表示内容と異なる。すなわち、新たにダウンロードされた追加プログラムに関する行が追加プログラム一覧テーブル725に追加されている。
続いて、管理画面720の追加プログラム一覧テーブル725において、ラベルが「有効化」である操作ボタンが押下されると(S217)、送信部24は、押下された操作ボタンに対応する追加プログラムをHDD114より取得し、追加プログラム制御部125に送信する(S218)。追加プログラム制御部125は、受信した追加プログラムを実行可能なようにメモリ上にロードする。続いて、追加プログラム管理アプリ1221の有効化部25は、送信部24によって送信された追加プログラムの追加プログラムIDを指定して、当該追加プログラムの有効化の指示を追加プログラム制御部125に送信する(S219)。有効化の指示に応じ、追加プログラム制御部125は、指定された追加プログラムIDに対応する追加プログラムを有効化する(S220)。すなわち、当該追加プログラムへの分岐命令が適用対象のプログラム(標準アプリ121やSDKアプリ122等)に挿入される。したがって、以降において、当該適用対象のプログラムの追加位置が実行される際には、追加プログラムが実行される。その結果、追加プログラムに組み込まれている機能(例えば、ログの出力、バグの修正、又は機能拡張等)が適用対象のプログラムに追加される。
続いて、追加プログラム制御部125は、有効化の実行結果(成否)を有効化部25に返信する(S221)。有効化部25は、当該実行結果を示すメッセージを操作パネル15に表示させる(S222)。有効化に成功した場合、有効化部25は、有効化された追加プログラムについて、状態記憶部28に記憶されている状態の値を「有効」に更新する。
一方、管理画面720の追加プログラム一覧テーブル725において、ラベルが「無効化」である操作ボタンが押下されると(S231)、無効化部26は、押下された操作ボタンに対応する追加プログラムの追加プログラムIDを指定して、当該追加プログラムの無効化の指示を追加プログラム制御部125に送信する(S232)。無効化の指示に応じ、追加プログラム制御部125は、指定された追加プログラムIDに対応する追加プログラムを無効化する(S233)。すなわち、当該追加プログラムの適用対象のプログラムへの適用が解除される。より具体的には、当該追加プログラムへの分岐命令が適用対象のプログラムから除去される。その結果、適用対象のプログラムの振る舞いは本来のものに戻る。なお、無効化に成功した場合、無効化部26は、無効化された追加プログラムについて、状態記憶部28に記憶されている状態の値を「受信済み」に更新する。
また、管理画面720において削除ボタン723が押下されると(S241)、追加プログラム管理アプリ1221の削除部27は、追加プログラム一覧テーブル725においてチェックボタンが選択状態となっている追加プログラムをHDD114より削除する(S242)。削除に成功した場合、削除部27は、削除された追加プログラムについて、状態記憶部28に記憶されている状態の値を「未受信」に更新する。
上述したように、本実施の形態の画像形成装置10は、特許文献1等に記載された管理サーバが有している機能を実現する追加プログラム管理アプリ1221を内包する。したがって、追加プログラムに関する操作を一台の画像形成装置10において独立して行わせることができる。その結果、管理サーバの設置等は不要となり、より簡素なシステム構成によって追加プログラムを利用することが可能となる。
また、追加プログラム管理アプリ1221を、SDKアプリ122の一つとして実装することにより、画像形成装置10が有する認証機能等をそのまま追加プログラム管理アプリ1221に共用させることができる。その結果、画像形成装置10が有するアクセス制御機能に応じて、追加プログラム管理アプリ1221の利用制限を行うことが可能となる。
また、システム構成が簡素化されることにより、追加プログラムの操作に関して各画像形成装置10の独立性を向上させることができる。具体的には、複数の画像形成装置10に対して一台の管理サーバを設置する場合、当該管理サーバに障害が発生すると、全ての画像形成装置10に対して追加プログラムの操作が行えなくなる。一方、本実施の形態のように、画像形成装置10ごとに追加プログラムの操作が行われることにより、そのような不都合の発生を回避することができる。
また、追加プログラム管理アプリ1221は、ユーザの任意によってインストール又はアンインストールが可能なアプリケーションである。したがって、追加プログラム管理アプリ1221をインストールすることによる利便性と不利益とを比較考量した上で、追加プログラムの適用を可能な環境とするか否かを画像形成装置10ごとにユーザに判断させることができる。追加プログラム管理アプリ1221をインストールすることによる利便性とは、画像形成装置10に組み込まれている又はインストールされているプログラムの振る舞いを動的に変化させることが可能となることである。追加プログラム管理アプリ1221をインストールすることによる不利益とは、画像形成装置10に組み込まれている又はインストールされているプログラムの振る舞いを動的に変化させることが可能となることにより、例えば、P2600等、セキュリティに関する認証の対象外となる可能性があることである。
なお、追加プログラム管理アプリ1221の各種画面は、Webページ(HTML(HyperText Markup Language)データ)としてネットワーク上において流通可能としてもよい。そうすることにより、操作パネル15のみではなく、画像形成装置10とネットワークを介して接続するPC(Personal Computer)等のWebブラウザより追加プログラム管理アプリ1221の操作を行わせることができる。
また、本実施の形態では画像形成装置を電子機器の一例としたが、本発明を適用可能な電子機器は画像形成装置に限定されない。例えば、各種のデジタル家電、携帯機器、又は汎用的なコンピュータ等に対しても本発明は有効に適用されうる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
21 認証制御部
22 管理部
23 取得部
24 送信部
25 有効化部
26 無効化部
27 削除部
28 状態記憶部
30 外部記憶媒体
121 標準アプリ
122 SDKアプリ
123 SDKプラットフォーム
124 アプリ管理サービス
125 追加プログラム制御部
126 コントロールサービス
127 及びOS
1221 追加プログラム管理アプリ
1261 認証処理部
特開2009−146387号公報 特開2008−269163号公報

Claims (8)

  1. アプリケーションプログラムをインストール可能な画像形成装置であって、
    当該画像形成装置が有する第一のプグラムに対して動的に処理を割り込ませることが可能な第二のプログラムを選択させる第一の画面を表示手段に表示させ、該第一の画面において選択された前記第二のプログラムを外部記憶手段より取得する取得手段と、
    ユーザからの指示に応じ、取得された前記第二のプログラム前記第一のプログラムへの適用を、当該画像形成装置に実行させる有効化手段とを有し、
    前記アプリケーションプログラムのうちの一部のアプリケーションプログラムが、当該画像形成装置を前記取得手段及び前記有効化手段として機能させる画像形成装置。
  2. 取得された前記第二のプログラムの一覧を含む第二の画面を前記表示手段に表示させる管理手段を有し、
    前記有効化手段は、前記一覧において選択された前記第二のプログラムを前第一のプログラムに適用する請求項1記載の画像形成装置。
  3. 前記有効化手段は、前記第一のプログラムに適用された前記第二のプログラムについて、適用されたことを示す状態情報を記憶手段に記録し、
    前記管理手段は、前記状態情報に基づいて、前記一覧に含まれる前記第二のプログラムごとに前記第一のプログラムへの適用又は適用の解除を指示させる表示部品を前記第二の画面表示させる請求項2記載の画像形成装置。
  4. 前記表示部品を介して前記適用の解除が指示された前記第二のプログラムについて、前記第一のプログラムへの適用を解除する無効化手段を有する請求項3記載の画像形成装置。
  5. アプリケーションプログラムをインストール可能な画像形成装置が実行するプログラム操作方法であって、
    当該画像形成装置が有する第一のプグラムに対して動的に処理を割り込ませることが可能な第二のプログラムを選択させる第一の画面を表示手段に表示させ、該第一の画面において選択された前記第二のプログラムを外部記憶手段より取得する取得手順と、
    ユーザからの指示に応じ、取得された前記第二のプログラムを前記第一のプログラムに適用する有効化手順とを有し、
    前記アプリケーションプログラムのうちの一部のアプリケーションプログラムが、当該画像形成装置に前記取得手順及び前記有効化手順を実行させるプログラム操作方法。
  6. 取得された前記第二のプログラムの一覧を含む第二の画面を前記表示手段に表示させる管理手順を有し、
    前記有効化手順は、前記一覧において選択された前記第二のプログラムを前第一のプログラムに適用する請求項5記載のプログラム操作方法。
  7. 前記有効化手順は、前記第一のプログラムに適用された前記第二のプログラムについて、適用されたことを示す状態情報を記憶手段に記録し、
    前記管理手順は、前記状態情報に基づいて、前記一覧に含まれる前記第二のプログラムごとに前記第一のプログラムへの適用又は適用の解除を指示させる表示部品を前記第二の画面表示させる請求項6記載のプログラム操作方法。
  8. 前記表示部品を介して前記適用の解除が指示された前記第二のプログラムについて、前記第一のプログラムへの適用を解除する無効化手順を有する請求項7記載のプログラム操作方法。
JP2009238978A 2009-10-16 2009-10-16 画像形成装置及びプログラム操作方法 Expired - Fee Related JP5471277B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009238978A JP5471277B2 (ja) 2009-10-16 2009-10-16 画像形成装置及びプログラム操作方法
US12/900,582 US20110090532A1 (en) 2009-10-16 2010-10-08 Image forming apparatus and program operating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009238978A JP5471277B2 (ja) 2009-10-16 2009-10-16 画像形成装置及びプログラム操作方法

Publications (2)

Publication Number Publication Date
JP2011086141A JP2011086141A (ja) 2011-04-28
JP5471277B2 true JP5471277B2 (ja) 2014-04-16

Family

ID=43879085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009238978A Expired - Fee Related JP5471277B2 (ja) 2009-10-16 2009-10-16 画像形成装置及びプログラム操作方法

Country Status (2)

Country Link
US (1) US20110090532A1 (ja)
JP (1) JP5471277B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365659B2 (ja) * 2011-04-18 2013-12-11 コニカミノルタ株式会社 画像形成装置、アプリケーション制御方法、アプリケーション制御プログラム
JP5660386B2 (ja) * 2011-05-26 2015-01-28 日本電気株式会社 メモリ配置管理装置、メモリ配置管理方法、メモリ配置管理プログラム、およびプログラム作成システム
JP2016099813A (ja) * 2014-11-21 2016-05-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US10678600B1 (en) 2019-03-01 2020-06-09 Capital One Services, Llc Systems and methods for developing a web application using micro frontends

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009694B2 (en) * 2002-05-22 2015-04-14 Oracle America, Inc. Pre-verification and sequencing of patches
US7619762B2 (en) * 2003-04-28 2009-11-17 Lexmark International, Inc. Customizable multi-function printing device
US7703090B2 (en) * 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
JP4898536B2 (ja) * 2007-04-18 2012-03-14 株式会社リコー 障害解析支援装置、障害解析支援方法及び障害解析支援プログラム
US8438567B2 (en) * 2007-11-07 2013-05-07 Ricoh Company, Ltd. Information processing device and image processing apparatus
JP2009134695A (ja) * 2007-11-07 2009-06-18 Ricoh Co Ltd 情報処理装置、画像処理装置、アプリケーション実行方法、及びアプリケーション実行プログラム
JP5353169B2 (ja) * 2007-11-19 2013-11-27 株式会社リコー 情報処理装置、情報処理方法及びプログラム
JP2009238002A (ja) * 2008-03-27 2009-10-15 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
JP2011086141A (ja) 2011-04-28
US20110090532A1 (en) 2011-04-21

Similar Documents

Publication Publication Date Title
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
KR20100046814A (ko) 화상형성장치, 및 웹 어플리케이션 설치 방법
JP5440252B2 (ja) 情報処理装置、外部装置、情報処理システム、情報処理方法、及びプログラム
US12010165B2 (en) Cross-platform module for loading across a plurality of device types
JP5904800B2 (ja) 装置、制御方法、並びにプログラム
JP5608985B2 (ja) 画像処理装置、情報処理装置、ユーザインタフェース提供方法、画像処理システムおよびプログラム
US7069294B2 (en) Browser based multiple file upload
JP2019008546A (ja) 情報処理装置およびドライバーカスタマイズ方法およびドライバーインストール方法
JP5471277B2 (ja) 画像形成装置及びプログラム操作方法
JP2016064591A (ja) 情報処理装置、その制御方法、プログラム。
JP2004185595A (ja) 情報処理装置およびそのプログラム
CN105404522A (zh) 一种构建智能终端应用程序的方法、装置及智能终端
JP4198551B2 (ja) 画像形成装置およびプログラム実行方法
JP5013999B2 (ja) 画像形成装置、プログラム制御方法、及び制御プログラム
JP2004185593A (ja) 画像形成装置およびアプリケーション実行方法
JP5464038B2 (ja) 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体
JP6819386B2 (ja) 画像処理装置、システムおよび情報処理方法
JP5325601B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP4542180B2 (ja) 画像形成装置、プログラム、及び記録媒体
JP6435902B2 (ja) ランチャ提供装置、画像形成装置、ランチャ提供方法、およびコンピュータプログラム
JP5630556B2 (ja) 情報処理装置、外部装置、情報処理システム、情報処理方法、及びプログラム
JP2014071789A (ja) 情報処理装置およびプログラム
US20230036834A1 (en) Information processing system, apparatus, and storage medium having combinational and non-combinational applications
US11811994B2 (en) Information processing system and apparatus to manage combined application
JP5337686B2 (ja) アプリケーションプログラム生成方法および画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R151 Written notification of patent or utility model registration

Ref document number: 5471277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees