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

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

Info

Publication number
JP5310324B2
JP5310324B2 JP2009161104A JP2009161104A JP5310324B2 JP 5310324 B2 JP5310324 B2 JP 5310324B2 JP 2009161104 A JP2009161104 A JP 2009161104A JP 2009161104 A JP2009161104 A JP 2009161104A JP 5310324 B2 JP5310324 B2 JP 5310324B2
Authority
JP
Japan
Prior art keywords
program
additional program
additional
instruction
information
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
JP2009161104A
Other languages
English (en)
Other versions
JP2011018133A (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 JP2009161104A priority Critical patent/JP5310324B2/ja
Priority to US12/829,785 priority patent/US8930910B2/en
Publication of JP2011018133A publication Critical patent/JP2011018133A/ja
Application granted granted Critical
Publication of JP5310324B2 publication Critical patent/JP5310324B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に他のプログラムに動的に処理を割り込ませるプログラムを機器に送信する情報処理装置、情報処理方法、及びプログラムに関する。
従来、特に組み込み機器等において動作するプログラムの障害解析(デバッグ等)の代表的な作業として、プログラムが出力するログの解析が行われている。すなわち、プログラムのソースコードには、プログラムが用いている変数の値や、プログラムが動作しているハードウェアの状態を示す情報等をログファイルに出力するための命令(例えば、C言語におけるprintf関数)が予め各所に埋め込まれている。障害が発生した際、斯かる命令(以下、「ログ出力命令」という。)に従って出力されたログファイルを解析することにより、障害の原因が推測又は特定される。
しかし、予め埋め込まれたログ出力命令に基づいて出力されるログファイル(最初に出力されるログファイル)では、詳細な解析を行うには情報として不十分な場合が多々ある。斯かる場合、最初に出力されるログファイルに基づいて、或る程度障害箇所が絞り込まれる。続いて、その障害箇所周辺について更に詳細なログを出力するように、プログラムのソースコードが修正され、コンパイル及びリンクが行われた上で、プログラムの置き換えが行われる。改めて出力されるログファイルによっても原因が特定できない場合は、更に、ソースコードにログ出力命令が埋め込まれ、上記作業が繰り返される。このように、ログに基づいて障害解析を行う場合、時として大変煩雑な作業が要求されていた。
そこで、従来、動作中のプログラムの任意の箇所(診断位置)に当該プログラムの診断用プログラムの処理を動的に(実行時に)割り込ませる技術が存在する。診断用プログラムでは、診断対象となるプログラムの変数の値等を参照することができる。診断用プログラムの処理の終了後は、診断対象となるプログラムについて診断用プログラムによって割り込まれた位置に処理が復帰する。斯かる技術によれば、診断対象となるプログラムのソースコードを修正することなく、診断用プログラムによって診断対象となるプログラムのログの出力が可能となる。これらの技術は、ソースコードを動的に修正することが出来るため、デバッグ用の診断プログラムだけではなく、プログラムの挙動を変えて、プログラムに新たな機能を追加したり、バグを修正したりすることが可能である。
しかしながら、追加プログラムは複数の追加プログラムで一つの機能拡張を実現したり、あるいは、一つのバグの修正を実現したりする場合がある。この場合、当該複数の追加プログラの一部が不足していると、目的(機能拡張又はバグ修正等)を達成することができないばかりか、適用対象とされるプログラムの安定した動作が保証されなくなってしまう可能性がある。
本発明は、上記の点に鑑みてなされたものであって、他のプログラムに動的に処理を割り込ませることが可能なプログラムの適切な適用を支援することができる情報処理装置、情報処理方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、ネットワークを介して接続される機器が有するプログラムに動的に処理を割り込ませることが可能な追加プログラムのうち、前記機器に送付済の前記追加プログラムの一覧情報を記憶した一覧情報記憶手段と、前記追加プログラムについて、有効化が可能となる組み合わせを示す組み合わせ情報を記憶した組み合わせ情報記憶手段と、前記一覧情報及び前記組み合わせ情報に基づいて、前記機器に送付済の前記追加プログラムの有効化の可否を判定する判定手段と、有効化は不可能であると判定された場合に、前記組み合わせ情報が示す組み合わせに対して不足している追加プログラムを前記機器に送信する送信手段とを有し、前記追加プログラムは、有効化されることにより適用対象とされたプログラムに対して動的に処理を割り込ませる。
このような情報処理装置では、他のプログラムに動的に処理を割り込ませることが可能なプログラムの適切な適用を支援することができる。
本発明によれば、他のプログラムに動的に処理を割り込ませることが可能なプログラムの適切な適用を支援することができる。
本発明の実施の形態における機器管理システムの構成例を示す図である。 追加プログラムの概要を説明するための図である。 本発明の実施の形態における機器のハードウェア構成例を示す図である。 本発明の実施の形態における機器のソフトウェア構成例を示す図である。 本発明の実施の形態における管理サーバのハードウェア構成例を示す図である。 本発明の実施の形態における管理サーバの機能構成例を示す図である。 管理サーバによる処理手順を説明するためのフローチャートである。 状態情報記憶部の構成例を示す図である。 送付画面の表示例を示す図である。 組み合わせ情報記憶部の構成例を示す図である。 各フィルタと各追加プログラムとの関係を示す図である。 有効化画面の表示例を示す図である。 有効化画面の第二の表示例を示す図である。 機器管理システムの処理手順を説明するためのシーケンス図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムの構成例を示す図である。図1の機器管理システム1において、管理サーバ10と、機器20a、機器20b及び機器20c(以下、総称する場合「機器20」という。)とは、LAN(Local Area Network)又はインターネット等のネットワーク50(有線又は無線の別は問わない。)を介して接続されている。
機器20は、コピー、ファクシミリ、プリンタ、及びスキャナ等の複数の機能を一台の筐体において実現する画像形成装置(複合機)である。機器20は、CPUやメモリを備え、メモリに記録されたプログラムに従ったCPUによる制御に基づいて各種の機能を実現する。
管理サーバ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に戻るような定義がされている。
すなわち、追加プログラムが適用される場合、適用対象とされたプログラムの実行ステップが予め指定された箇所(追加位置)に到達すると、追加プログラムの処理が実行される。当該追加プログラムの処理が終了すると、適用対象とされたプログラムに処理制御が復帰する。その後、適用対象とされたプログラムは、追加位置より処理を再開する。なお、追加プログラムには、適用対象のプログラムに割り込ませる処理の他、適用対象とするプログラム及び追加位置を識別するための情報が含まれている。
追加プログラムの中では、適用対象とされるプログラムの変数等を参照可能である。したがって、追加プログラムによって、適用対象とされるプログラムの任意の箇所における変数の値等を示すログ情報を出力させるための処理や、バグを修正するための処理や、新たな機能を実現するための処理等を適用対象とされるプログラムに割り込ませることができる。
斯かる追加プログラムによれば、適用対象とされるプログラムについて、ソースコードの修正、コンパイル及びリンク、更に、再インストール等を行うことなく(すなわち、動的に)、ログ情報の出力、バグの修正、又は機能強化等を図ることができる。
なお、本実施の形態において、各追加プログラムは、機器20ごとに、未送付、送付済、及び有効等の状態を有する。未送付とは、追加プログラムが、管理サーバ10から機器20へ送付(送信)されていない状態をいう。送付済とは、追加プログラムが、管理サーバ10から機器20へ送付された状態をいう。有効とは、追加プログラムの機能が有効である状態をいう。すなわち、有効とは、図2に示されるように、追加プログラムが適用対象のプログラムに適用され、処理の割り込みが可能な状態をいう。なお、送付済の追加プログラムを有効とすることを「有効化」という。
機器20の詳細について説明する。図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におけるソフトウェアは、アプリケーションメカニズム210、サービスメカニズム220、デバイスメカニズム230、及び運用部240等のレイヤによって構成される。図4におけるレイヤの上下関係は、レイヤ間の呼び出し関係に基づいている。すなわち、基本的に図中において上にあるレイヤが下のレイヤを呼び出す。
アプリケーションメカニズム210は、機器20が提供する機能又は情報(データ)等の資源をユーザに利用させるためのソフトウェア部品(プログラム)群が実装されているレイヤである。この中で、「XXXフィルタ」という名前を有するソフトウェア部品は、「フィルタ」として総称される。各フィルタは、ジョブの一部を実行するソフトウェア部品である。すなわち、各フィルタは、単独では一つのジョブを実行することはできない。複数のフィルタが接続されることにより、一つのジョブを実行するアプリケーションが構築される。
画像データの入力を実現するフィルタを特に「入力フィルタ」という。画像データの加工を実現するフィルタを特に「加工フィルタ」という。画像データの出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。
図4において、アプリケーションメカニズム210には、入力フィルタとして、読取フィルタ2111、保管文書読出フィルタ2112、メール受信フィルタ2113、及びファクス受信フィルタ2114等が含まれている。
読取フィルタ2111は、スキャナ604による画像データの読み取りを制御し、読み取られた画像データを次に接続されたフィルタ(以下、「次のフィルタ」という。)に出力する。保管文書読出フィルタ2112は、機器20の記憶装置に保管されている文書データ(画像データ)を読み出し、読み出されたデータを次のフィルタに出力する。メール受信フィルタ2113は、電子メールを受信し、当該電子メールに含まれているデータを次のフィルタに出力する。ファクス受信フィルタ2114は、ファクス受信を制御し、受信された印刷データを次のフィルタに出力する。
また、加工フィルタとしては、編集フィルタ2121及が示されている。編集フィルタ2121は、入力されたデータに所定の画像変換処理(集約、拡大、又は、縮小等)を施し、次のフィルタに出力する。
また、出力フィルタとしては、印刷フィルタ2131、保管文書登録フィルタ2132、メール送信フィルタ2133、及びファクス送信フィルタ2134等が示されている。
印刷フィルタ2131は、入力されたデータをプロッタに出力(印刷)させる。保管文書登録フィルタ2132は、入力されたデータを機器20内の記憶装置、例えば、HDD633に保存する。メール送信フィルタ2133は、入力されたデータを電子メールに添付して送信する。ファクス送信フィルタ2134は、入力されたデータをファクス送信する。
一方、「XXXアクティビティ」という名前を有するソフトウェア部品は、「アクティビティ」として総称される。アクティビティは、複数のフィルタをどの順番で接続するかを管理し、その順番でフィルタを実行させることによりジョブを実行するソフトウェア部品である。基本的に、一つのアクティビティによって一つのアプリケーションが実現される。なお、アクティビティ間で同一のフィルタを共用することが可能である。
図中には、アクティビティの一例として、コピーアクティビティ2101及びScanToEmailアクティビティ2102等が含まれる。例えば、コピーアクティビティ2101は、読取フィルタ2111と、編集フィルタ2121と、印刷フィルタ2131との組み合わせにより、コピージョブを実行する。ScanToEmailアクティビティ2102は、読取フィルタ2111と、編集フィルタ2121と、メース送信フィルタ2133との組み合わせにより、スキャン画像のメール転送ジョブを実行する。フィルタの組み合わせ次第では、その他多数のアクティビティの実装が可能であるが、本実施の形態では省略する。
サービスメカニズム220は、アクティビティ又はフィルタ等が利用するプリミティブなサービスが実装され、アプリケーションが機種等のハード的な仕様に対して、非依存となるための仕組みを提供するレイヤである。図中において、サービスメカニズム220には、セッション管理部221、リクエスト管理部222、通信部223、UI部224、及びデータ管理部225等が含まれている。
セッション管理部221は、ユーザの認証状態(ログイン状態)を管理する。例えば、セッション管理部221は、ユーザによって入力される認証情報(ユーザ名及びパスワード等)に基づいてユーザ認証を行い、ログイン中のユーザを認識する。リクエスト管理部222は、ジョブの管理を行う。通信部223は、ネットワーク通信の制御を行う。UI部224は、オペレーションパネル602に表示される操作画面を介して入力されるユーザ要求を解釈し、ユーザ要求に応じたジョブの実行をリクエスト管理部222に要求する。データ管理部225は、スキャンされ、HDD633に保存されている画像データ及び当該画像データの書誌情報等を管理する。
デバイスメカニズム230は、機器20が有するデバイス毎に設けられたデバイスを制御するドライバプログラム等を含む。
運用部240は、システムの運用管理に関するソフトウェア部品が実装される部分であり、アプリケーションメカニズム210、サービスメカニズム220、及びデバイスメカニズム230より横断的に利用される。図中において、運用部240には、プラグイン管理部241、アクセス制御部242、及び追加プログラム制御部243が含まれている。プラグイン管理部241は、アクティビティ又はフィルタ等、自由に抜き差し(インストール・アンインストール)可能なソフトウェア部品(プラグイン)の情報を管理する。アクセス制御部242は、利用権限情報に基づいて、ユーザごとに各種機能利用の許否(利用権限の有無)を判断する。ここで、利用権限情報とは、ユーザごとに、各種機能に対する利用権限の有無が記録(定義)された情報をいい、例えば、HDD633に記録されている。追加プログラム制御部243は、上述した追加プログラムの実行制御等を行う。例えば、追加プログラム制御部243は、管理サーバ10より転送される追加プログラムの受信、適用対象への適用(実行)等を行う。
続いて、管理サーバ10の詳細について説明する。図5は、本発明の実施の形態における管理サーバのハードウェア構成例を示す図である。同図の管理サーバ10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。
管理サーバ10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って管理サーバ10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図6は、本発明の実施の形態における管理サーバの機能構成例を示す図である。同図において、管理サーバ10は、状態情報取得部11、UI制御部12、有効化可否判定部13、追加プログラム送信部14、追加プログラム有効化部15、状態情報記憶部16、組み合わせ情報記憶部17、及び追加プログラム記憶部18等を有する。これら各部は、管理サーバ10にインストールされたプログラムがCPU104に実行させる処理によって実現される。
状態情報取得部11は、機器20に送付されている追加プログラムの一覧情報を機器20より取得し、状態情報記憶部16に記録する。状態情報記憶部16は、補助記憶装置102において、追加プログラムの一覧情報を記憶するために記憶領域(ファイル又はテーブル形式のデータ等)である。UI制御部12は、追加プログラムに関する操作(機器20への送付、有効化等)の指示を受け付けるための画面を表示させる。有効化可否判定部13は、追加プログラムについて、有効化が可能となる(有効化する意義の有る)組み合わせを示す組み合わせ情報と、状態情報記憶部16に記憶された情報とに基づいて、追加プログラムの有効化の可否を判定する。状態情報記憶部16は、補助記憶装置102において、組み合わせ情報を記憶する記憶領域である。追加プログラム送信部14は、ユーザによって指定された追加プログラムを機器20に送付(送信)する。送付対象とされる追加プログラムは、追加プログラム記憶部18に記録されている。すなわち、追加プログラム記憶部18は、補助記憶装置102において、追加プログラムの実体を記憶するために記憶領域である。追加プログラム有効化部15は、ユーザによって指定された追加プログラムの有効化の指示を機器20に送信する。
以下、機器管理システム1の処理手順について説明する。図7は、管理サーバによる処理手順を説明するためのフローチャートである。
ステップS101において、UI制御部12は、追加プログラムに関して操作対象とする機器20の指定をユーザより受け付ける。操作対象とする機器20の指定は、UI制御部12が表示させる画面に、機器20の識別情報(ホスト名又はIPアドレス等。以下「機器名」という。)を入力させてもよい。または、非図示の機器検索部がネットワーク50上より機器20を検索し、UI制御部12が検索された機器20の一覧を含む画面を表示させ、当該一覧の中から操作対象とする機器20を選択させてもよい。いずれの場合であっても、ステップS101において、操作対象とする機器20の機器名が特定される。ここでは、機器20aが操作対象として指定されたこととする。
続いて、状態情報取得部11は、ステップS101において特定された識別情報に係る機器20aより、機器20aに既に送付(送信)され、機器20aのHDD633又はメモリ(MEM−P631)内に保存されている追加プログラムの状態情報の一覧を取得し、取得された状態情報の一覧を状態情報記憶部16に記録する(S102)。
図8は、状態情報記憶部の構成例を示す図である。同図に示されるように、状態情報記憶部16には、送付済みの追加プログラムごとに、機器名、追加プログラム名、状態、プログラムID、及びバージョン等が記録される。
機器名は、追加プログラムが送付されている機器20の機器名である。追加プログラム名は、追加プログラムの名前である。状態は、追加プログラムの状態である。プログラムIDは、追加プログラムごとに一意な識別子(ID)である。バージョンは、追加プログラムのバージョンである。
同図の例では、機器名が「AAA」である機器20aには、「スキャン解像度向上パッチ」と「画像処理機能追加パッチ」との追加プログラムが送付済みであることが示されている。
続いて、UI制御部12は、追加プログラム記憶部18に保存されている追加プログラムの中から機器20aへ送付する追加プログラムを選択させるための画面(送付画面)を表示装置106に表示させる(S103)。
図9は、送付画面の表示例を示す図である。同図において、送付画面710は、追加プログラム記憶部18に保存されている追加プログラムごとに、追加プログラム名、状態、及び送付ボタンが表示されている。状態は、追加プログラムの状態(未送付、送付済、又は有効)を示す。送付ボタンは、ユーザより追加プログラムの送付指示を受け付けるためのボタンである。同図において、有効化ボタン711及び712は、グレーアウトされ、操作不能な状態とされている。これは、「スキャン解像度向上パッチ」及び「画像処理機能追加パッチ」については、機器20aに既に送付済だからである。すなわち、UI制御部12は、追加プログラム記憶部18に保存されている追加プログラムの一覧と、状態情報記憶部16に記録されている機器20aに係る状態情報とを照合することにより、各追加プログラムについて機器20aに送付済であるか否かを判定する。UI制御部12は、送付済の追加プログラムについては、送付画面710における「状態」を「送付済」とし、送付ボタンをグレーアウトさせる。一方、未送付の追加プログラムについては、UI制御部12は、送付画面710における「状態」を「未送付」とし、送付ボタンを操作可能(押下可能)とさせる。なお、追加プログラム記憶部18には、追加プログラムの実体だけでなく、各追加プログラムの書誌情報(プログラム名、プログラムID等)も記録されている。
送付画面710は、また、有効化ボタン717を有する。例えば、ユーザによって有効化ボタン717が押下されると(S104で「有効化」)、有効化可否判定部13は、組み合わせ情報記憶部17に記録されている組み合わせ情報と、状態情報記憶部16に記録されている状態情報とに基づいて、各追加プログラムの有効化の可否を判定する(S105)。
図10は、組み合わせ情報記憶部の構成例を示す図である。同図に示されるように、組み合わせ情報記憶部17には、目的ごとに(目的別に)、必要とされる追加プログラムの組み合わせを示す組み合わせ情報が記録されている。例えば、コピー解像度向上(コピーアクティビティ2101によって対応可能な解像度の向上)という目的(機能強化)を達成するためには、「スキャン解像度向上パッチ」、「画像処理機能追加パッチ」、及び「印刷機能追加パッチ」をセットで有効化する必要が有ることが示されている。また、ScanToEmail解像度向上(ScanToEmailアクティビティ2102によって対応可能な解像度の向上)という目的(機能強化)を達成するためには、「スキャン解像度向上パッチ」、「画像処理機能追加パッチ」、及び「印刷機能追加パッチ」、及び「メール送信機能追加パッチ」をセットで有効化する必要が有ることが示されている。
したがって、有効化可否判定部13は、必要とされる追加プログラムが全て送付済である目的については有効化は可能であると判定し、少なくとも一部の追加プログラムが未送付である目的については有効化は不可能であると判定する。なお、目的は、機能強化に限定されない。例えば、バグ修正であってもよい。
複数の追加プログラムをセットで有効化する必要性について図11を用いて説明する。図11は、各フィルタと各追加プログラムとの関係を示す図である。
同図(A)に示されるように、コピーアクティビティ2101は、読取フィルタ2111、編集フィルタ2121、及び印刷フィルタ2131を利用する。コピーアクティビティ2101として対応可能な解像度を向上させるためには、コピーアクティビティ2102が利用する各フィルタが対応可能な解像度を向上させる必要がある。本実施の形態において、読取フィルタ2111を適用対象とし、読取フィルタ2111が対応可能な解像度を向上させる追加プログラムは、スキャン解像度向上パッチである。また、編集フィルタ2121を適用対象とし、編集フィルタ2121が対応可能な解像度を向上させる追加プログラムは、画像処理機能追加パッチである。また、印刷フィルタ2131を適用対象とし、印刷フィルタ2131が対応可能な解像度を向上させる追加プログラムは、画像処理機能追加パッチである。仮に、いずれか一つのフィルタに対して解像度を向上させるための追加プログラムが適用されない場合、他のフィルタに対する追加プログラムの処理は、意味の無いものとなってしまう。または、フィルタ間の処理に不整合が生じ、コピーアクティビティ2101全体としての処理が不安定なものとなってしまう可能性がある。各フィルタに適用される追加プログラムは、それぞれ、他の追加プログラムが適用されることを前提として実装されているからである。そこで、追加プログラム間の斯かる関係(依存関係)を判定可能とし、追加プログラムの意味の無い適用を回避するための情報が組み合わせ情報である。
また、図11(B)には、ScanToEmailアクティビティ2112が利用する各フィルタと追加プログラムとの関係が示されている。読取フィルタ2111及び編集フィルタ2121についてはコピーアクティビティ2101の場合と同様である。メール送信フィルタ2133には、メール送信機能追加パッチが適用される。
なお、同図では、各追加プログラムの適用対象がそれぞれ異なる例について示されているが、各追加プログラムの適用対象が同一のプログラムであってもよい。すなわち、各追加プログラムが、同一のプログラムにおいて、それぞれ異なる箇所(ステップ)に処理を割り込ませる形態であってもよい。このような形態においても、各追加プログラムに依存関係が生じうるという事情に変わりはないからである。
続いて、UI制御部12は、有効化可否判定部13の判定結果を利用して、送付済の追加プログラムの有効化の指示を受け付けるための画面(有効化画面)を表示装置106に表示させる(S106)。
図12は、有効化画面の表示例を示す図である。同図に示されるように、有効化画面720には、目的ごとに、当該目的の達成に必要とされる各追加プログラムの追加プログラム名及び状態が表示されている。また、目的ごとに(目的単位で)有効化ボタンが表示されている。例えば、有効化ボタン721は、コピー解像度向上のために必要とされる、三つの追加プログラムの有効化の指示を受け付けるためのボタンである。また、有効化ボタン722は、ScanToEmail解像度向上のために必要とされる、三つの追加プログラムの有効化の指示を受け付けるためのボタンである。
なお、同図において、有効化ボタン721及び722は、いずれもグレーアウトされている。これは、有効化可否判定部13による判定結果に基づくものである。すなわち、ボタン721については、印刷機能追加パッチが未送付であるため、コピー解像度向上に必要とされる追加プログラムの有効化は不可能であると判定された(有効化する意義は無いと判定された)からである。また、ボタン722については、メール送信機能追加パッチが未送付であるため、ScanToEmail解像度向上に必要とされる追加プログラムの有効化は不可能であると判定された(有効化する意義は無いと判定された)からである。
所望の目的について追加プログラムの有向化が不可能な場合、ユーザは、送付ボタン725を押下する。送付ボタン725の押下に応じ(S107で「送付」)、UI制御部12は、送付画面710を再度表示させる(S103)。例えば、コピー解像度向上を所望する場合、ユーザは、再度表示された送付画面710において、コピー解像度向上に関して不足している(すなわち、未送付の)追加プログラムである「印刷機能追加パッチ」に対する送付ボタン713を押下する。送付ボタン713の押下に応じ(S104で「送付」)、追加プログラム送信部14は、印刷機能追加パッチを追加プログラムより取得し、機器20aに送信する(S108)。追加プログラム送信部14は、追加プログラムの送付後、送付された追加プログラムに関するエントリを状態情報記憶部16に追加する。当該エントリにおいて、機器名は機器20aの機器名とされ、状態は、「送付済」とされる。このように、状態情報記憶部16内の情報は、追加プログラム送信部14によって更新される。すなわち、機器20aの状態と状態情報記憶部16の内容とは同期がとられている。したがって、状態情報取得部11による状態情報の一覧の取得処理は、必ずしも必要ではない。但し、機器20aの状態と状態情報記憶部16との同期が保証されない場合、例えば、管理サーバ10が複数存在する場合等、状態情報取得部11による状態情報の一覧の取得処理は必要である。
印刷機能追加パッチの送付後、ユーザによって有効化ボタン717が押下されると、ステップS105及びS106が再び実行され、UI制御部12によって、有効化画面720が表示される。
図13は、有効化画面の第二の表示例を示す図である。同図では、有効化ボタン721のグレーアウトが解除されている。印刷機能追加パッチが送付済となったことにより、コピー解像度向上に必要な全ての追加プログラムが送付済となり、有効化可否判定部13によって、当該追加プログラムの有効化は可能であると判定されたためである。
そこで、ユーザによって有効化ボタン721が押下さると(S107で「有効化」)、追加プログラム有効化部15は、有効化ボタン721に対応する三つの追加プログラムのプログラムIDを指定して、当該追加プログラム有効化の指示を、機器20aに送信する(S109)。追加プログラム有効化部15は、有効化された追加プログラムについて、状態情報記憶部16における「状態」の値を「有効化」に更新する。
続いて、図7の処理の実行に応じて、機器20aにおいて実行される処理手順について説明する。図14は、機器管理システムの処理手順を説明するためのシーケンス図である。同図のステップ番号は、図7のステップ番号に対応している。
ステップS102−1において、管理サーバ10が追加プログラムの状態情報の取得要求を機器20aに送信すると、機器20aの追加プログラム制御部243は、HDD633又はメモリに記録されている各追加プログラムの状態情報の一覧を生成し、当該一覧を管理サーバ10に返信する(S102−2)。
その後、管理サーバ10の追加プログラム送信部14が、追加プログラムを機器20aに送信すると(S108)、機器20aの追加プログラム制御部243は、受信された追加プログラムをメモリに記録する(S108−1)。続いて、追加プログラム制御部243は、追加プログラムを正常に受信したことを示すメッセージを管理サーバ10に返信する(S108−2)。
その後、管理サーバ10の追加プログラム有効化部15が、有効化の対象とする追加プログラムのプログラムIDを指定して、当該追加プログラムの有効化の指示を機器20aに送信すると(S109)、機器20aの追加プログラム制御部は、指定されたプログラムIDに対応する追加プログラムを有効化する(S109−2)。続いて、追加プログラム制御部243は、追加プログラムを正常に有効化したことを示すメッセージを管理サーバ10に返信する(S109−2)。
上述したように、本実施の形態における管理サーバ10によれば、機器20に送信された追加プログラムの一覧情報と、有効化が可能となる組み合わせを示す組み合わせ情報とに基づいて、追加プログラムの有効化の可否が自動的に判定される。したがって、追加プログラムの適切な適用を支援することができる。すなわち、依存関係を有する追加プログラムの一部のみが有効化されることによる、適用対象のプログラムの不正動作等を適切に防止することができる。
なお、有効化可否判定部13によって、目的ごとに有効化が判定された後、有効化が不可能であると判定された目的に関する追加プログラムのうち未送付のもの(組み合わせに不足しているもの)は追加プログラム送信部14が自動的に送信するようにしてもよい。
同様に、有効化可否判定部13によって、目的ごとに有効化が判定された後、有効化が可能であると判定された目的に関する追加プログラムについて、追加プログラム有効化部15は、自動的に有効化の指示を送信するようにしてもよい。
また、有効化は、機器20側で行われてもよい。すなわち、管理サーバ10からは有効化の指示は行われず、機器20のオペレーションパネル602を介して有効化の指示が入力されてもよい。
また、本実施の形態では画像形成装置を機器の一例としたが、本発明を適用可能な機器は画像形成装置に限定されない。例えば、各種のデジタル家電、携帯機器、又は汎用的なコンピュータ等に対しても本発明は有効に適用されうる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 機器管理システム
10 管理サーバ
11 状態情報取得部
12 UI制御部
13 有効化可否判定部
14 追加プログラム送信部
15 追加プログラム有効化部
16 状態情報記憶部
17 組み合わせ情報記憶部
18 追加プログラム記憶部
20 機器
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
210 アプリケーションメカニズム
220 サービスメカニズム
221 セッション管理部
222 リクエスト管理部
223 通信部
224 UI部
225 データ管理部
230 デバイスメカニズム
240 運用部
241 プラグイン管理部
242 アクセス制御部
243 追加プログラム制御部
601 コントローラ
602 オペレーションパネル
603 ファクシミリコントロールユニット
604 撮像部
605 印刷部
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 セントロニクスデバイス
2101 コピーアクティビティ
2102 ScanToEmailアクティビティ
2111 読取フィルタ
2112 保管文書読出フィルタ
2113 メール受信フィルタ
2114 ファクス受信フィルタ
2121 編集フィルタ
2131 印刷フィルタ
2132 保管文書登録フィルタ
2133 メール送信フィルタ
2134 ファクス送信フィルタ
B バス
特開2008−269163号公報

Claims (9)

  1. ネットワークを介して接続される機器が有するプログラムに動的に処理を割り込ませることが可能な追加プログラムのうち、前記機器に送付済の前記追加プログラムの一覧情報を記憶した一覧情報記憶手段と、
    前記追加プログラムについて、目的ごとに、有効化が可能となる組み合わせを示す組み合わせ情報を記憶した組み合わせ情報記憶手段と、
    前記一覧情報及び前記組み合わせ情報に基づいて、前記目的ごとに、前記機器に送付済の前記追加プログラムの有効化の可否を判定する判定手段と、
    有効化は不可能であると判定された前記目的について、前記組み合わせ情報が示す組み合わせに対して不足している追加プログラムを前記機器に送信する送信手段とを有し、
    前記追加プログラムは、有効化されることにより適用対象とされたプログラムに対して動的に処理を割り込ませる情報処理装置。
  2. 有効化が可能であると判定された前記目的について、前記追加プログラムの有効化の指示を前記機器に送信する有効化指示手段を有する請求項1記載の情報処理装置。
  3. 有効化が可能であると判定された前記目的について、ユーザによる、前記追加プログラムの有効化の指示入力を可能とする画面を表示させる表示制御手段を有し、
    前記有効化指示手段は、前記画面を介した有効化の指示入力に応じ、前記追加プログラムの有効化の指示を前記機器送信する請求項2記載の情報処理装置。
  4. コンピュータが実行する情報処理方法であって、
    ネットワークを介して接続される機器が有するプログラムに動的に処理を割り込ませることが可能な追加プログラムのうち、前記機器に送付済の前記追加プログラムの一覧情報を記憶した一覧情報記憶手段と、前記追加プログラムについて、目的ごとに、有効化が可能となる組み合わせを示す組み合わせ情報を記憶した組み合わせ情報記憶手段とに基づいて、前記目的ごとに、前記機器に送付済の前記追加プログラムの有効化の可否を判定する判定手順と、
    有効化は不可能であると判定された前記目的について、前記組み合わせ情報が示す組み合わせに対して不足している追加プログラムを前記機器に送信する送信手順とを有し、
    前記追加プログラムは、有効化されることにより適用対象とされたプログラムに対して動的に処理を割り込ませる情報処理方法。
  5. 有効化が可能であると判定された前記目的について、前記追加プログラムの有効化の指示を前記機器に送信する有効化指示手順を有する請求項4記載の情報処理方法。
  6. 有効化が可能であると判定された前記目的について、ユーザによる、前記追加プログラムの有効化の指示入力を可能とする画面を表示させる表示制御手順を有し、
    前記有効化指示手順は、前記画面を介した有効化の指示入力に応じ、前記追加プログラムの有効化の指示を前記機器送信する請求項5記載の情報処理方法。
  7. コンピュータに、
    ネットワークを介して接続される機器が有するプログラムに動的に処理を割り込ませることが可能な追加プログラムのうち、前記機器に送付済の前記追加プログラムの一覧情報を記憶した一覧情報記憶手段と、前記追加プログラムについて、目的ごとに、有効化が可能となる組み合わせを示す組み合わせ情報を記憶した組み合わせ情報記憶手段とに基づいて、前記目的ごとに、前記機器に送付済の前記追加プログラムの有効化の可否を判定する判定手順と、
    有効化は不可能であると判定された前記目的について、前記組み合わせ情報が示す組み合わせに対して不足している追加プログラムを前記機器に送信する送信手順とを実行させ、
    前記追加プログラムは、有効化されることにより適用対象とされたプログラムに対して動的に処理を割り込ませるプログラム。
  8. 有効化が可能であると判定された前記目的について、前記追加プログラムの有効化の指示を前記機器に送信する有効化指示手順を有する請求項7記載のプログラム。
  9. 有効化が可能であると判定された前記目的について、ユーザによる、前記追加プログラムの有効化の指示入力を可能とする画面を表示させる表示制御手順を有し、
    前記有効化指示手順は、前記画面を介した有効化の指示入力に応じ、前記追加プログラムの有効化の指示を前記機器送信する請求項8記載のプログラム。
JP2009161104A 2009-07-07 2009-07-07 情報処理装置、情報処理方法、及びプログラム Expired - Fee Related JP5310324B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009161104A JP5310324B2 (ja) 2009-07-07 2009-07-07 情報処理装置、情報処理方法、及びプログラム
US12/829,785 US8930910B2 (en) 2009-07-07 2010-07-02 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009161104A JP5310324B2 (ja) 2009-07-07 2009-07-07 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2011018133A JP2011018133A (ja) 2011-01-27
JP5310324B2 true JP5310324B2 (ja) 2013-10-09

Family

ID=43428403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009161104A Expired - Fee Related JP5310324B2 (ja) 2009-07-07 2009-07-07 情報処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US8930910B2 (ja)
JP (1) JP5310324B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394500B2 (en) 2016-08-05 2019-08-27 Ricoh Company, Ltd. Information processing system and application installation method
CN110209580A (zh) * 2019-05-31 2019-09-06 厦门美柚信息科技有限公司 测试设备管理方法及系统
JP2023033949A (ja) * 2021-08-30 2023-03-13 キヤノン株式会社 情報処理システム、情報処理方法、プログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612348A (ja) * 1992-06-26 1994-01-21 Mitsubishi Electric Corp ソフトウェア・インストール装置
US5950012A (en) * 1996-03-08 1999-09-07 Texas Instruments Incorporated Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes
JP2002024020A (ja) * 2000-05-01 2002-01-25 Toshiba Corp 画面制御プログラム、動的表示情報取得プログラム、画面表示トランザクションプログラム、画面コンポーネントインタフェースプログラム、画面プログラム作成方法
NO312269B1 (no) * 2000-06-28 2002-04-15 Ericsson Telefon Ab L M Fremgangsmåte for automatisering av programvareoppgradering
US6576289B2 (en) * 2001-01-17 2003-06-10 Ernest Jeffrey Sosebee Method and composition for treating volatile waste
JP2002259307A (ja) * 2001-03-02 2002-09-13 Fujitsu Ltd 情報処理装置、情報送信方法、コンピュータ読み取り可能な記録媒体、およびそのためのプログラム
WO2003009136A1 (en) * 2001-07-16 2003-01-30 Yuqing Ren Embedded software update system
JP4408033B2 (ja) 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US7577948B2 (en) * 2003-07-02 2009-08-18 Upgradedetect, Inc. System and method for providing computer upgrade information
JP2004287993A (ja) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd システムバージョンの管理方法および装置並びに情報処理システム
JP2005038016A (ja) * 2003-07-15 2005-02-10 Canon Inc データ処理装置、データ処理方法、データ処理プログラム、及び画像形成装置
JP4168338B2 (ja) * 2003-09-18 2008-10-22 ブラザー工業株式会社 インストールプログラム、コンピュータ読取可能な記録媒体、及びインストール方法
JP4545479B2 (ja) * 2004-04-19 2010-09-15 富士通株式会社 情報処理装置、アプリケーション起動方法、及びアプリケーション起動プログラム、並びにコンピュータのディスプレイ装置
US7703090B2 (en) * 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US7739677B1 (en) * 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters
JP2007220062A (ja) * 2006-01-19 2007-08-30 Konica Minolta Holdings Inc 制御プログラム及びプログラム提供システム並びにプログラム提供方法
JP4089729B2 (ja) * 2006-02-02 2008-05-28 コニカミノルタビジネステクノロジーズ株式会社 情報処理システム、処理条件設定プログラムおよび処理条件設定方法
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
JP4994909B2 (ja) * 2007-03-26 2012-08-08 キヤノン株式会社 プログラム管理装置及び方法
JP4898536B2 (ja) 2007-04-18 2012-03-14 株式会社リコー 障害解析支援装置、障害解析支援方法及び障害解析支援プログラム
JP4389964B2 (ja) * 2007-05-15 2009-12-24 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム
US8392845B2 (en) * 2007-09-04 2013-03-05 Fisher-Rosemount Systems, Inc. Methods and apparatus to control information presented to process plant operators
JP2010015267A (ja) * 2008-07-01 2010-01-21 Canon Inc ソフトウェア配信システム、ソフトウェア配信方法、及びコンピュータプログラム
JP5312103B2 (ja) * 2009-03-06 2013-10-09 三菱電機株式会社 画面表示プログラム生成装置及び画面表示システム及びコンピュータプログラム及び画面表示プログラム生成方法

Also Published As

Publication number Publication date
JP2011018133A (ja) 2011-01-27
US20110010649A1 (en) 2011-01-13
US8930910B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
US9807272B2 (en) Information processing system, device, and information processing method
JP5599035B2 (ja) 文書管理システム、文書管理方法及びプログラム
US9203822B2 (en) Network system, data processing apparatus, and method for multi-factor authentication
US20130074048A1 (en) System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium
JP2006202028A (ja) プログラム管理システムとその制御方法、ならびに記憶媒体
JP2010191714A (ja) 情報処理装置及び方法
US20120096465A1 (en) Image forming apparatus, log management method, and storage medium
JP6790797B2 (ja) 画像処理システム、画像形成装置、アプリケーション実行方法、およびコンピュータプログラム
US20160080588A1 (en) Information processing system, information processing method, and recording medium storing an information processing program
JP6620530B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP5463762B2 (ja) 電子機器、情報処理方法、及びプログラム
JP2007122366A (ja) ネットワーク管理システム、ネットワーク管理方法、及びネットワーク管理プログラム
JP5310324B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6191130B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置及び情報処理システム
US20090249346A1 (en) Image forming apparatus, information processing apparatus and information processing method
JP5870490B2 (ja) 情報処理システム、画像形成装置、情報処理方法、及びプログラム
JP2019050530A (ja) 画像処理装置とその処理方法及びプログラム
JP5293462B2 (ja) 電子機器、情報処理方法、及び情報処理プログラム
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2009137165A (ja) 画像形成装置、情報処理方法及びプログラム
JP5011502B2 (ja) 電子機器、サービス提供方法及びプログラム
JP2014021513A (ja) 画像形成装置、プログラム及び画像形成システム
US20090070856A1 (en) Image forming apparatus and utilization limiting method
JP3770258B2 (ja) 複合機、ネットワークシステム、制御方法、および制御プログラム
JP2009271726A (ja) 電子機器、プログラム実行制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

LAPS Cancellation because of no payment of annual fees