JP2013186518A - 画像形成装置、画像形成装置の制御方法、及び制御プログラム - Google Patents

画像形成装置、画像形成装置の制御方法、及び制御プログラム Download PDF

Info

Publication number
JP2013186518A
JP2013186518A JP2012048856A JP2012048856A JP2013186518A JP 2013186518 A JP2013186518 A JP 2013186518A JP 2012048856 A JP2012048856 A JP 2012048856A JP 2012048856 A JP2012048856 A JP 2012048856A JP 2013186518 A JP2013186518 A JP 2013186518A
Authority
JP
Japan
Prior art keywords
application
setting value
image forming
forming apparatus
service
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.)
Pending
Application number
JP2012048856A
Other languages
English (en)
Inventor
Sachikazu Hayamizu
祥和 速水
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012048856A priority Critical patent/JP2013186518A/ja
Priority to US13/781,421 priority patent/US8892796B2/en
Publication of JP2013186518A publication Critical patent/JP2013186518A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00928Initialisation or control of normal start-up or shut-down, i.e. non failure or error related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】停止できないアプリケーションの設定値の操作を安全確実に実行すること。
【解決手段】複合機の設定値操作サービス607は、設定値の操作が要求されたアプリケーションが停止可能な場合、要求された操作内容(設定情報500)をHDD/フラッシュメモリ304の一時領域に格納する。また、複合機の再起動に際して前記要求された操作を実行するための実行指示ファイル900を、HDD/フラッシュメモリ304に格納して再起動後の操作実行を予約しておく。そして、複合機の再起動時に、アプリケーション管理部604が、プログラムの起動順を、実行指示ファイル900に従って、操作対象のアプリケーションよりも設定値操作サービス607の起動が先になるように変更し、該変更した起動順で起動する。そして、再起動後の設定値操作サービス607が起動時処理にて、設定情報500に従って操作対象のアプリケーションの設定値を操作する。
【選択図】図6

Description

本発明は、画像形成装置、画像形成装置の制御方法、及び制御プログラムに関する。
近年、Webサービスなどの通信プロトコルを用いて、情報配信装置から、複合機等の画像形成装置にインストールされているアプリケーションプログラム(以下、アプリケーション)の設定値を操作することが可能となってきている。
特許文献1では、複合機にインストールされているアプリケーションの設定値が記載されたアプリケーション設定情報を、情報配信装置から複合機に送付し、複合機において前記アプリケーション設定情報に記載された設定値を反映する技術が提案されている。複合機のアプリケーション設定受信モジュールは、情報配信装置からアプリケーション設定情報を受信すると、複合機で実行されているアプリケーションに対して設定情報の反映を依頼する。該依頼されたアプリケーションは、前記アプリケーション設定受信モジュールから受け取った設定情報を自身へ反映する。
このとき、設定情報を反映させる操作対象アプリケーションが実行中の場合、実行中のまま設定情報を書き換えることは、アプリケーションに予期しない影響を与えることが考えられる。そこで、一旦アプリケーションを停止した上で、設定情報を書き換えることが望ましいと考えられる。
特開2010−198598号公報
しかしながら、現実には全てのアプリケーションが停止できるとは限らず、停止できないアプリケーションがある。例えば、ログインアプリケーションと呼ばれるログイン中のユーザ管理を目的とするアプリケーションがこれに該当する。
ログインアプリケーションは、ログイン中に任意のアプリケーションから任意のタイミングでログインコンテキストについての問い合わせを受ける可能性があるので、停止させることができない。
また、停止可能なアプリケーションであっても、アプリケーションを停止させようとしたときに、停止に失敗し、停止できないことも考えられる。
このような状況において、アプリケーションの設定情報を書き換える場合、アプリケーションを実行中のまま設定情報の書き換え操作を行うこととなってしまう。そのため、アプリケーションの動作に予期せぬ影響を及ぼす可能性が考えられる。このため、場合によっては、上記の予期せぬ影響を防ぐために、設定情報の書き換え操作を行うタイミングに制限をかける必要性があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像形成装置において、停止できない、あるいは停止に失敗したアプリケーションの設定値操作(配信、取得、削除)を、アプリケーションの動作に予期せぬ影響を及ぼすことなく、安全確実に実行することを可能にする仕組みを提供することである。
本発明は、少なくとも1つのアプリケーションと、前記アプリケーションの設定値の操作を実行する設定値操作サービスとを含む複数のプログラムを実行可能な画像形成装置であって、前記アプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定手段と、前記判定手段により前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約手段と、前記画像形成装置の再起動時に、前記プログラムの起動順を、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記設定値操作サービスの起動が先になるように変更する変更手段と、を有し、前記設定値操作サービスは、前記画像形成装置の再起動により起動されると、前記操作内容に従って前記操作対象のアプリケーションの設定値を操作する、ことを特徴とする。
本発明によれば、画像形成装置において、停止できない、あるいは停止に失敗したアプリケーションの設定値操作を、アプリケーションの動作に予期せぬ影響を及ぼすことなく、安全確実に実行することができる。
本発明の一実施例を示す画像形成装置と管理装置が動作する管理システムの全体構成の一例を示す図である。 管理装置110のハードウェア内部構成の一例を示すブロック図である。 複合機120、130の内部構成の一例を示す図である。 管理装置110上で稼動するソフトウェアの構成の一例を示す図である。 遠隔設定に対応したアプリケーションのアプリケーション設定情報の構成の一例を示す図である。 複合機120,130のソフトウェアモジュール階層について説明した図である。 管理装置110で実行される処理の一例を示すフローチャートである。 管理装置110から操作要求(配信/削除/取得)がなされた場合の複合機120における設定値操作サービス607の動作の一例を示すフローチャートである。 操作内容が配信である場合の実行指示ファイル900の一例を示す図である。 複合機が起動するときのサービス起動順リストの一例を示す図である。 操作対象アプリケーションが停止不可能あるいは停止に失敗した場合に複合機が再起動されるときのアプリケーション管理部604の動作の一例を示すフローチャートである。 図11のS1130におけるアプリケーションの起動時処理の一例を示すフローチャートである。 アプリケーション管理部604による図11のS1120における複合機再起動時のサービス起動順の入れ替え処理の一例を示すフローチャートである。 図13で示した起動順入れ替えアルゴリズムによる起動順位の入れ替え結果を示す図である。 再起動後の操作実行サービス904に記されている設定値操作サービス607の起動時処理の動作の一例を示すフローチャートである。 取得操作の場合の実行指示ファイルの一例を示す図である。
以下、本発明を実施するための形態について図面を用いて説明する。
本実施形態では、ネットワーク上にある管理装置が複合機等の画像形成装置にインストールされているアプリケーションの設定値を操作する際の動作について説明する。
図1は、本発明の一実施例を示す画像形成装置と管理装置が動作する管理システムの全体構成の一例を示す図である。
図1において、110は本実施例の管理装置である。120、130は、本実施例の画像形成装置としての複合機(MFP;Multifunction Peripheral)である。管理装置110と、複合機120,130は、ネットワーク(LAN)100により通信可能に接続されている。
図2は、管理装置110のハードウェア内部構成の一例を示すブロック図である。
なお、本実施例の管理装置110は、パーソナルコンピュータ(PC)上に実現されるため、汎用コンピュータと同様の構成を有する。
図2に示すように、管理装置110は、制御部200に、入力部204、出力部205、通信制御部206、記憶部208、記憶媒体駆動部209、入出力インターフェース(入出力I/F)210が、バスライン207を介して接続することにより構成されている。
バスライン207は、制御部200とその他の構成要素との間のデータ信号、制御信号などの送受信を媒介する。
制御部200は、CPU201、ROM(Read Only Memory)202、RAM(Random Access Memory)203から構成されている。
CPU201は、所定のプログラムに従って、各種の演算、情報処理、及び管理装置110全体の制御などを行う。
ROM202は、CPU201が各種演算や制御を行うための各種プログラム、データ及びパラメータなどを格納した読み込み専用の記憶装置である。CPU201は、ROM202からプログラムやデータ、パラメータなどを読み込むことはできるが、これらを書き換えたり消去することはできない。
RAM203は、CPU201にワーキングメモリとして使用されるランダムアクセス可能な記憶装置である。CPU201は、RAM203にプログラムやデータなどを書き込んだり消去したりすることができる。
入力部204は、例えばキーボードやマウスなどの入力装置から構成されている。キーボードは、端末装置に対して文字や数字などの情報を入力するための装置であり、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。キーボードは、例えばユーザが複合機へ設定値を配信設定する情報や削除する設定値に関する情報等を入力したりなどすることができる。マウスは、ポインティングデバイスである。GUI(Graphical User Interface)などを用いて端末装置を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。
出力部205は、例えば表示装置、印刷装置などから構成される。表示装置は、例えばCRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイなどで構成された情報を画面上に提示するための装置である。表示装置は、キーボードやマウスの入力結果や、ソフトウェアが提供する画面(ユーザインターフェース)などを表示することができる。印刷装置は、例えば、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置によって構成されている。印刷装置は、出力結果(文書や画像など)を紙などの印刷媒体に印刷することができる。
通信制御部206は、管理装置110と複合機120、130との通信を確立・維持する。
記憶部208は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成され、コンピュータにより読み書き可能である。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。記憶部208には、後述のすべての説明で動作主体となる本実施例に係る複合機管理ソフトウェアのプログラムが格納される。その他、通信制御部206を制御し、インターネットを介した通信を維持する通信プログラムや、メモリ管理やファイル入出力管理などの管理装置110を動作させるための基本ソフトウェアであるOS(Operating System)などが、記憶部208に記憶されている。
記憶媒体駆動部209は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、CD−ROMなどがある。なお、本実施例に係る複合機管理プログラムは、CD−ROMなどの記憶媒体に格納された形で供給されても良い。その場合には、記憶媒体駆動部209などによって記憶媒体からプログラムが読み取られ、記憶部208にインストールされる。
入出力インターフェース210は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。入出力インターフェース210に当該インターフェースに対応した外部機器を接続することにより、管理装置110の機能を拡張することができる。このような外部機器として例えば、ハードディスクなどの記憶装置、スピーカ、マイクロフォンなどがある。
以下、図3を用いて、複合機120、130の例として、印刷機能やスキャン機能、ネットワーク通信機能などを備える複合機の内部構成について説明する。
図3は、複合機120、130の内部構成の一例を示す図である。
図3において、300はコントローラであり、複合機120、130の複合機のコントローラとして用いることができる。
コントローラ300は、スキャナ部313やプリンタ部314と電気的に接続されており、一方ではLAN316を介して管理装置110と接続されている。これにより、コントローラ300は、画像データやデバイス情報の入出力が可能となっている。
コントローラ300において、CPU301は、ROM302に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる各種処理についても統括的に制御する。
ROM302には、装置のブートプログラムなどが格納(コンピュータ読み取り可能に記録)されている。
RAM303は、CPU301が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM303は、記憶した内容を電源off後も保持しておくFRAM(登録商標)、SRAM、電源off後には記憶した内容が消去されてしまうDRAMなどにより構成されている。
HDD/フラッシュメモリ304は、システムソフトウェア(後述する図6に示すソフトウェアモジュールのプログラム)や画像データを格納することが可能なハードディスクドライブ(HDD)又はフラッシュメモリである。なお、HDD/フラッシュメモリ304は、他の不揮発性の記憶装置であってもよい。
操作部I/F305は、システムバス319と操作部318とを接続するためのインターフェース部である。この操作部I/F305は、操作部318に表示するための画像データをシステムバス319から受取り、操作部318に出力すると共に、操作部318から入力された情報をシステムバス319へと出力する。
ネットワークI/F306は、LAN316、WAN317及びシステムバス319に接続し、情報の入出力を行う。
メール送信I/F307は、画像形成部309から送られた画像データを、指定された送信先にメール送信部312及びLAN316(または、WAN317)を通じて送信する。
スキャナI/F308は、スキャナ部313から受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナI/F308は、受取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。画像形成部309は、画像データの方向変換、画像圧縮、伸張部などを行う。
プリンタI/F310は、画像形成部309から送られた画像データを受取り、この画像データに付随させられている属性データを参照しながら画像データに画像形成を施す。画像形成後の画像データは、プリンタ部314に出力される。
FAXI/F311は、画像形成部309から送られた画像データを、指定された送信先にFAX送信部315、及びLAN316(または、WAN317)を通じて送信される。
なお、複合機120、130に対するユーザ指示やユーザへの情報提示は、例えば、操作部318を介して行うようにしてもよいし、LAN316を介して接続された管理装置110を介して行うようにしてもよい。
図4は、管理装置110上で稼動するソフトウェアの構成の一例を示す図である。
図4において、400は、管理装置110上で動作する複合機管理ソフトウェアである。この複合機管理ソフトウェア400は、管理装置110のCPU201が記憶部208にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
UI制御部401は、複合機120、130の管理者が本ソフトウェアを操作するためのグラフィカルユーザインタフェース(GUI)を提供する。グラフィカルユーザインタフェースは、管理装置110に備え付けられた出力部205に表示されるよう構成される。もしくは、HTTP(HyperText Transfer Protocol)を用いて、他のクライアントPCから利用可能なWebアプリケーションとして、グラフィカルユーザインタフェースを構成することも可能である。
アプリケーション管理部402は、ユーザが登録したアプリケーションファイルの情報を管理する。アプリケーションファイルは、CABファイルや、JAR(Java(登録商標)ARchive)ファイル、ZIPファイルのように複数のファイルを圧縮して1ファイルで構成される。また、アプリケーション管理部402は、アプリケーションに付属する情報を解析し、アプリケーション名や、アプリケーションID、バージョンなどのアプリケーション付属情報を取り出し、アプリケーションファイルとともに、アプリケーションデータベース408に格納する。
デバイス管理部403は、探索部406を介してネットワークに接続された複合機を探索する。複合機の探索は、SLP(Service Location Protocol)や、SNMP(Simple Network Management Protocol)など探索要求パケットを送信することによって実現可能である。デバイス管理部403は、探索により発見された複合機に対しては、さらに通信部407を介して、複合機の詳細情報(機種名、シリアルナンバー、能力、状態、インストール済みアプリケーションの情報(アプリケーション名や、アプリケーションID、バージョン等)など)を取得することも可能である。デバイス管理部403は、複合機の所在情報(IPアドレス)と複合機から取得した情報を、デバイスデータベース409上のデバイスリストに格納する。デバイスデータベース409に登録した情報は、UI制御部401を介してユーザが閲覧することも可能である。
インストール処理部404は、UI制御部401からのインストール指示を受けて、通信部407を介して複合機に接続し、アプリケーションを複合機にインストールするための処理を実行する。さらに、インストール処理部404は、インストールされたアプリケーションを開始したり、停止したりするための処理も実行する。アプリケーションを複合機にインストールするための処理とは、例えば当該アプリケーションプログラムおよびそのインストーラプログラムを複合機120、130に送信し、インストーラプログラムを複合機120、130に実行させるなどの処理である。
設定値管理部405は、通信部407を介して前記複合機にインストールされているアプリケーションの設定値を操作する。設定値管理部405は、複数の設定値を含む設定情報をまとめて操作することも可能である。また、本実施例では、設定値管理部405がHTTPおよびSOAPを用いたWebサービスを用いて、アプリケーション設定値の操作を実現することを想定しているが、他の通信プロトコルで実現してもよい。
設定値管理部405により複合機から取得したアプリケーション設定値の情報は、アプリケーションデータベース408に格納される。アプリケーションデータベース408に登録した情報は、UI制御部401を介してユーザが閲覧することも可能である。複合機へアプリケーション設定値の情報を配信する場合は、アプリケーションデータベース408に格納されているもののうち、UI制御部401を介してユーザが選択した設定値の情報を配信する。
アプリケーションデータベース408には、複合機にインストールされているアプリケーションを示すアプリケーションリストが登録される。また、デバイスデータベース409には、管理装置が検索した複合機のリスト化したデバイスリストが登録される。
図5は、遠隔設定に対応したアプリケーションのアプリケーション設定情報の構成の一例を示す図である。
図5において、500はアプリケーション設定情報である。アプリケーション設定情報500(以下、設定情報500と略称する)は、XML(Extensible Markup Language)形式で記載されている。
本実施例では、通信プロトコルがHTTPおよびSOAPであるため、設定情報500はXML形式を用いて記載されているが、別の形式で記載されていてもよい。以下、図5に記載されたアプリケーション設定値情報の例における各項目について説明する。
<AppInfo>タグで囲まれた領域501は、アプリケーション情報記載領域である。<AppInfo>タグのAppID属性には、設定情報500に関連するアプリケーションのアプリケーションIDの値が記述される。ここでは、アプリケーション情報記載領域501の<AppInfo>タグのAppID属性として、"12345678−1000−00f000s5ba6d"という値が記述されている。
<Data>タグで囲まれた項目502〜項目504は、それぞれアプリケーション設定値である。
<Data>タグのName属性には、アプリケーション設定値の名称が記述される。また、<Type>タグには、<Value>タグの値の型情報が記述され、<Value>タグにはそれぞれの設定項目のアプリケーション設定値が記述される。
アプリケーション設定値502では、<Data>タグのName属性として"Font"、<Type>タグの値として「String」、<Value>タグの値として「Gothic」がそれぞれ記述されている。
また、アプリケーション設定値503では、<Data>タグのName属性として"Font_Color"、<Type>タグの値として「String」、<Value>タグの値として「Black」がそれぞれ記述されている。
また、アプリケーション設定値504では、<Data>タグのName属性として"Font_Size"、<Type>タグの値として「String」、<Value>タグの値として「10」がそれぞれ記述されている。
図5に示した設定情報500は、アプリケーションのIDを含み、XMLで記述したことで各項目及び設定情報全体の境界を、タグを解釈することで特定できる。したがって、これらの定義されたタグを解釈可能であれば、対応したアプリケーションや設定値操作サービス607(後述する図6)により操作することができる。
図5におけるアプリケーション設定情報は、アプリケーション設定の「配信」操作を行うときの配信内容を示す例である。アプリケーション設定の「取得」操作を行う場合も、同様のXMLを記述することで、どの設定データを取得するかを指定することが可能である。また、同様にアプリケーション設定の「削除」操作を行う場合も、同様のXMLを記述することで、どの設定データを削除するかを指定することが可能である。
図6は、複合機120,130のソフトウェアモジュール階層について説明した図である。この複合機のソフトウェアモジュールは、複合機120,130のCPU301がHDD/フラッシュメモリ304にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
図6に示すように、複合機のソフトウェアモジュールは、オペレーティングシステム(OS)601を有している。OS601の上には、各種機器制御のためのコントローラモジュール602を有し、その上にアプリケーションプログラムなどのプログラムを逐次実行するためのインタプリタ603を有する。
インタプリタ603の上には、動的に着脱可能な複数のアプリケーション群を管理するためのアプリケーション管理部604を有する。各種機能を実現するアプリケーションは、このアプリケーション管理部604の管理下で動作する。
このアプリケーションは、複合機と協働して各種処理をユーザに提供する。このアプリケーションの1つの例として、画像の加工、圧縮を行うアプリケーション、印刷制限などの部門管理を行うアプリケーション609、ログイン中のユーザ管理を目的とするログインアプリケーション610などをあげることができる。
なお、ログインアプリケーション610は、ログイン中に任意のアプリケーションから任意のタイミングでログインコンテキストについての問い合わせの可能性があるので、停止させることができないアプリケーションである。
ソフトウェアモジュールは、インタプリタ603を介して複合機のサービスを提供するためのアプリケーションモジュールを動作させることができる。
例えば、アプリケーションインストーラ606により、アプリケーション609が複合機に組み込まれるのに応答して、アプリケーション管理部604はアプリケーション609を管理対象として追加する。さらに、複合機内からアプリケーションプログラム609が削除されるのに応答して、アプリケーション管理部604はアプリケーション609を管理対象から外すことができる。
アプリケーション管理部604は、複合機が起動するときに、各種サービスを提供するためのアプリケーションモジュールを起動する順番を管理している。起動順は、HDD/フラッシュメモリ304に保存されたサービス起動順リスト1000(後述する図10)をアプリケーション管理部604が読み取ることで、そのリストに書かれている順番に従い起動を行う。
アプリケーション609、ログインアプリケーション610は、自身が動作するための設定情報を、アプリケーション設定値管理DBサービス608(以下DBサービス608と略称する)に保持することができる。
DBサービス608は、アプリケーション設定値データベース611を管理するアプリケーションであり、アプリケーションの設定値はアプリケーション設定値データベース611で保管される。なお、DBサービス608もまた、アプリケーション管理部604に登録され、管理される。
アプリケーション管理部604が、アプリケーション609やログインアプリケーション610を起動すると、アプリケーション609やログインアプリケーション610は、起動後のある段階でDBサービス608から自身の設定情報500を読み出す。その後、読みとった設定情報500に従って起動処理を続行する。設定情報500には、アプリケーションIDが付与されているので、そのIDを参照することでアプリケーションは対応する設定情報500を特定できる。
このようにアプリケーション609やログインアプリケーション610が、DBサービス608を利用する形態になっていることにより、アプリケーションの設定値を操作するということは、DBサービス608が管理するアプリケーション設定値データベース611を操作するということと等価である。
設定値操作サービス607は、ネットワーク通信部605を介して受信した管理装置110からの設定値操作要求に応じて、アプリケーション609、ログインアプリケーション610の設定情報を操作する。このとき、設定値操作サービス607は、操作対象アプリケーションが実行中の場合、アプリケーション管理部604に対して、アプリケーション609の実行の停止を要求し、アプリケーションを停止させてから設定値を操作する。一方、ログインアプリケーション610のような停止ができないアプリケーションの場合は、設定値操作サービス607は、再起動後に予約操作を行う。この設定値操作サービス607の動作は、後述する図8で詳細に説明する。なお、設定値操作サービス607もまた、アプリケーション管理部604に登録され、管理される。
また、設定値操作サービス607は、アプリケーション(609等)に、アプリケーション設定値が操作されたことを通知する。
アプリケーション609が設定値操作サービス607からの通知に応答するよう構成されていれば、アプリケーション609は前記通知を受けて、アプリケーション設定値の再読み込みなど、設定値の操作後に行うようプログラムされた処理を実行することができる。
以上示したように、複合機120,130は、少なくとも1つのアプリケーションと、該アプリケーションの設定値の操作を実行する設定値操作サービス607とを含む複数のプログラムを実行可能なものであり、これらのプログラムの起動をアプリケーション管理部604により管理する。
<管理装置による設定値の操作手順>
図7は、管理装置110で実行される処理の一例を示すフローチャートである。
1つ以上の複合機にインストールされている1つ以上のアプリケーションの設定値を操作するために、管理装置110のCPU201は、図7のフローチャートでその手順(ステップ)が示されるプログラムを実行する。なお、このプログラムは、記憶部208にコンピュータ読み取り可能に記録されるものとする。
例えば、ユーザがUIからメニューを選択したなどの処理をUI制御部401が検知し、UI制御部401がアプリケーション管理部402を起動することにより、本フローチャートの処理が開始される(図7のS700)。
まず、S701において、アプリケーション管理部402は、UI制御部401経由でユーザからのアプリケーション追加要求を受け付け、アプリケーションデータベース408のアプリケーションリストに、要求されたアプリケーションプログラムあるいはデータを保持(登録)する。追加されるアプリケーションプログラムやデータは、たとえば記録媒体や通信媒体などから管理装置110に供給される。
次に、S702において、デバイス管理部403は、探索部406を介してネットワークに接続された複合機を探索する。さらに、デバイス管理部403は、通信部407を介して探索された複合機の詳細情報を取得し、デバイスデータベース409のデバイスリストに保持(登録)する。
また、S703において、UI制御部401は、アプリケーション選択画面を表示してそこからユーザからの入力(アプリケーションの選択、操作方法(設定情報の配信、取得、削除等)の指定など)を受け付ける。そして、ユーザによるアプリケーション選択入力がなされると、UI制御部401は、入力されたアプリケーションの選択情報をアプリケーション管理部402に引き渡す。ここで選択されたアプリケーションを対象アプリケーションと呼ぶ。また、ユーザによる操作方法の指定入力がなされると、UI制御部401は、入力されたアプリケーションの操作方法情報を設定値管理部405に引き渡す。
アプリケーション管理部402は、上記アプリケーションの選択情報からユーザが選択したアプリケーションを特定し、アプリケーションデータベース408からアプリケーションの情報を引き出す。アプリケーション管理部402は、引き出した情報を一時的にRAM203または記憶部208に保持する。また、設定値管理部405は、上記アプリケーションの操作方法情報をRAM203または記憶部208に保持する。
次に、S704において、UI制御部401は、複合機選択画面を表示してそこからユーザからの入力(複合機の選択)を受け付ける。そして、ユーザによる複合機の選択がなされると、UI制御部401は、入力結果(複合機の選択情報)をデバイス管理部403に引き渡す。ここで選択された複合機を対象複合機と呼ぶ。デバイス管理部403は、渡された入力結果からユーザが選択した複合機を特定し、デバイスデータベース409からユーザにより選択された複合機の情報を引き出す。デバイス管理部403は引き出した情報を一時的にRAM203または記憶部208に保持する。
次に、S705において、設定値管理部405は、上記S704で選択された複合機に対して、上記S703で選択されたアプリケーションのアプリケーション設定値を上記S703で指定された操作方法で操作するための要求を、図5のようなXML形式にして送信する。これにより、複合機側では、ネットワーク通信部605経由で前記要求を受信した設定値操作サービス607が、要求された操作を実行することとなる。
ここで、上記S705についてより具体的に説明する。
例えば、複合機にアプリケーション設定値の「配信」を行う場合(指定された操作方法が設定情報の配信の場合)、設定値管理部405が、図5に例示したような設定情報500を複合機の設定値操作サービス607に送付する。なお、前記設定情報500は、アプリケーションデータベース408に保持されている(例えば上記S701において登録されている)。設定値操作サービス607は、受信した設定情報500を該当するアプリケーション設定値データベース611に書き込む。
また、複合機からアプリケーション設定値の「取得」を行う場合(指定された操作方法が設定情報の取得の場合)、設定値管理部405が、設定情報500の取得要求を複合機の設定値操作サービス607に送付する。複合機の設定値操作サービス607は、前記要求に応答して、対象となるアプリケーションのアプリケーション設定情報を読み、管理装置110に返信する。このアプリケーション設定値情報は、管理装置110において、複合機を特定する識別情報およびアプリケーション識別情報と関連付けて、アプリケーションデータベース408に登録される。
また、複合機内のアプリケーション設定値の「削除」を行う場合(指定された操作方法が設定情報の削除の場合)、設定値管理部405が、設定情報500の削除要求を複合機の設定値操作サービス607に送付する。複合機の設定値操作サービス607は、前記要求に応答してDBサービス608が管理するアプリケーション設定値を削除する。そして、DBサービス608の設定情報が変更されると、設定値操作サービス607は、前記変更の影響を受けるアプリケーションに対してアプリケーション設定値が操作されたことを通知する。通知を受けたアプリケーションは、必要に応じて、アプリケーション管理部604経由でDBサービス608からアプリケーション設定値を読み込む。
以下、図7のS706以降の説明を行う。
S706では、設定値管理部405は、上記S705で要求を送信した複合機の設定値操作サービス607からの応答を待機する。そして、応答があり次第、S707に処理を進める。なお、複合機の設定値操作サービス607は、上記要求に応じた操作を実行した場合には実行完了の応答(正常終了or異常終了)を行い、上記要求に応じた操作を再起動後に実行する場合には再起動後操作実行のステータスを応答する。
S707では、設定値管理部405は、上記S705で要求を送信した複合機の設定値操作サービス607からの応答が、再起動後操作実行のステータスであるか否かを判定する。
そして、上記S705で要求を送信した複合機の設定値操作サービス607からの応答が再起動後操作実行のステータスでない(正常終了または異常終了のステータスである)と判定した場合(S707で「正常終了or異常終了」の場合)、設定値管理部405は、S708に処理を進める。
S708では、設定値管理部405は、アプリケーションの設定情報の操作の後処理を実行し、本フローチャートの処理を終了する。ここで、後処理とは、実行結果のステータスを、UI制御部401を通じてユーザに通知することなどを指す。
ここで、実行完了の応答について具体的に説明する。
例えば、要求した操作内容がアプリケーション設定情報の「配信」であった場合、設定値管理部405は、複合機から通信部407経由でアプリケーション設定情報の配信の結果を受信する。なお、受信した結果はRAM203または記憶部208に保持される。
また、操作内容がアプリケーション設定情報の「取得」であった場合、設定値管理部405は、複合機から通信部407経由でアプリケーションの設定情報の取得の結果を受信する。取得結果が成功である場合は、アプリケーション設定情報も同時に受信する。なお、受信した結果はRAM203または記憶部208に保持される。また、受信したアプリケーション設定情報は、アプリケーションデータベース408に格納される。
また、操作内容がアプリケーション設定情報の「削除」であった場合、設定値管理部405は、複合機から通信部407経由でアプリケーション設定情報の削除の結果を受信する。なお、受信した結果はRAM203または記憶部208に保持される。
なお、設定情報の「配信」、設定情報の「取得」、設定情報の「削除」、いずれの操作であっても、UI制御部401は、必要に応じてRAM203または記憶部208に保持された受信結果をユーザに提示することが可能である。
次に、複合機からの応答が再起動後操作実行のステータスであった場合について説明する。
上記S707において、上記S705で要求を送信した複合機の設定値操作サービス607からの応答が再起動後操作実行のステータスであると判定した場合(S707で「再起動後操作実行」の場合)、設定値管理部405は、S709に処理を進める。
S709では、設定値管理部405は、UI制御部401を通じて、必要に応じて複合機の再起動後に操作を実行する旨をユーザに提示し、本フローチャートの処理を終了する。なお、上記S709において、さらに、UI制御部401は、複合機の再起動を促すメッセージをユーザに提示するように構成してもよい。
以上で図7のフローチャートの説明を終了する。
以下、図8を用いて、管理装置110から複合機に対して操作要求(配信/削除/取得)がなされた場合の複合機120における設定値操作サービス607の動きを説明する。
図8は、管理装置110から操作要求(配信/削除/取得)がなされた場合の複合機120における設定値操作サービス607の動作の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機120のCPU301が、HDD/フラッシュメモリ304にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
設定値操作サービス607がネットワーク通信部605を経由し、図5のようなXML形式の設定情報500を受信することにより、本フローチャートの処理が開始される(S800)。
まず、S801において、設定値操作サービス607は、操作対象アプリケーションが実行中であるかどうかを判定する。
操作対象アプリケーションが停止中でると判定した場合(S801で「停止中」の場合)、設定値操作サービス607は、S812に処理を進める。
S812では、設定値操作サービス607は、設定情報500によって要求された操作を実行する。
次に、S807において、設定値操作サービス607は、操作実行の結果に応じて、管理装置110に対して、正常終了、あるいは、異常終了のステータスを返却し、本フローチャートを終了する。
一方、上記S801において、操作対象アプリケーションが実行中であると判定した場合(S801で「実行中」の場合)、設定値操作サービス607は、S802に処理を進める。
S802では、設定値操作サービス607は、操作対象アプリケーションが停止可能かどうかを判定する。
<操作対象アプリケーションが停止可能な場合>
操作対象アプリケーションが停止可能であると判定した場合(S802で「停止可能」の場合)、設定値操作サービス607は、S803において、操作対象アプリケーションを停止させる。
次に、S804において、設定値操作サービス607は、停止が成功したかどうかを判定する。
そして、停止が成功したと判定した場合(S804で「成功」の場合)、設定値操作サービス607は、S805に処理を進める。
S805では、設定値操作サービス607は、設定情報500によって要求された操作を実行する。前記805で操作の実行が終了したら、S806において、設定値操作サービス607は、S803において停止させた操作対象アプリケーションを再度開始する。
次に、S807において、設定値操作サービス607は、操作実行の結果に応じて、管理装置110に対して、「正常終了」あるいは「異常終了」のステータスを返却し、本フローチャートの処理を終了する。
一方、上記S804において、操作対象アプリケーションの停止が失敗したと判定した場合(S804で「失敗」)、設定値操作サービス607は、S808に処理を進め、以下に示す停止不可能な場合の動作に合流する。
<操作対象アプリケーションが停止不可能、あるいは停止に失敗した場合>
以下、操作対象アプリケーションが停止不可能なログインアプリケーション610の場合について説明する。
上記S802において、操作対象アプリケーションが停止不可能であると判定した場合(S802で「停止不可能」の場合)、設定値操作サービス607は、S808に処理を進める。
S808では、設定値操作サービス607は、設定情報500をHDD/フラッシュメモリ304の一時領域に仮置きする。
次に、S809において、設定値操作サービス607は、再起動後実行指示ファイル900(以下、実行指示ファイル900と略称する)をHDD/フラッシュメモリ304に作成する。なお、実行指示ファイル900は、複合機の再起動に際して前記要求された操作を実行するための実行指示情報であり、複合機の再起動処理においてアプリケーション管理部604が参照可能な特定の記憶領域に作成されるものとする。実行指示ファイル900の内容については、後述する図9において説明する。
次に、S810において、設定値操作サービス607は、管理装置110に対して、再起動後操作実行のステータスを返却し、本フローチャートの処理を終了する。なお、上記S810において、さらに、設定値操作サービス607は、管理装置110(即ち、操作要求元)に対して、複合機の再起動を促すメッセージを通知するように構成してもよい。
以上で図8のフローチャートの説明を終了する。なお、この後、複合機が再起動されるときの動作については、後述する図11において説明する。
図9は、操作内容が配信である場合の実行指示ファイル900の一例を示す図である。なお、図9に示す実行指示ファイル900のフォーマットは、操作内容が「配信」又は「削除」の場合に対応する。なお、操作内容が「取得」の場合の実行指示ファイルは後述する図16で示す。
図9において、901は、再起動後に実行する予約操作内容を示す。なお、操作内容が「配信」の場合は"配信"が記される。また、操作内容が「削除」の場合は"削除"が記される。
902には、図8のS808においてHDD/フラッシュメモリ304の一時領域に仮置きされた設定情報500へのパス情報が記される。ここでは「:/tmp/setting.data」が記されている。
903には、停止不可能、あるいは停止に失敗したアプリケーションのアプリケーションIDが記される。ここでは、停止に失敗したアプリケーションとして、「ログインアプリケーション」と記されている。
904には、再起動後の操作実行サービスのアプリケーションIDが記される。本実施例では、再起動後に設定値操作サービス607が操作を実行するので、ここでは「設定値操作サービス」が記されている。
905には、設定操作に必要なサービスのアプリケーションIDが記される。本実施例では、配信操作においてDBサービス608が必要なので、ここでは「アプリケーション設定値管理DBサービス」が記されている。
図10は、複合機が起動するときのサービス起動順リストの一例を示す図である。
図10において、1000は、複合機が起動するときのサービス起動順リストである。このサービス起動順リスト1000は、HDD/フラッシュメモリ304に保存される。
アプリケーション管理部604は、このサービス起動順リスト1000において記載されている順番に従い、サービスを起動させる。図10に示した例では、アプリケーション管理部604は、DBサービス608(実行指示ファイル900の905に対応)、ログインアプリケーション610(実行指示ファイル900の903に対応)、設定値操作サービス607(実行指示ファイル900の904に対応)を、それぞれ2番目、4番目、6番目の起動順で、起動させる。
以下、図11を用いて、上記図8の処理で操作対象アプリケーションが停止不可能(S802で「停止不可」)、あるいは停止に失敗し(S802で「失敗」)、S808を経由してS811で終了した後に、複合機が再起動されるときの、アプリケーション管理部604の動作を説明する。
図11は、操作対象アプリケーションが停止不可能あるいは停止に失敗した場合に複合機が再起動されるときのアプリケーション管理部604の動作の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機120のCPU301が、HDD/フラッシュメモリ304にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
複合機の再起動が開始されることにより、本フローチャートの処理が開始される(S1100)。
まず、S1110において、アプリケーション管理部604は、実行指示ファイル900が、HDD/フラッシュメモリ304に存在するかどうかを判定する。
そして、実行指示ファイル900が存在しないと判定した場合(S1110で「ない」の場合)、アプリケーション管理部604は、S1150に処理を進める。
S1150では、アプリケーション管理部604は、サービス起動順リスト1000の起動順に従い、サービスを起動させていき、本フローチャートの処理を終了する。
一方、上記S1110において、実行指示ファイル900が存在すると判定した場合(S1110で「ある」の場合)、アプリケーション管理部604は、S1120に処理を進める。
S1120では、アプリケーション管理部604は、サービス起動順を実行指示ファイル900とサービス起動順リスト1000から、図13で示すアルゴリズムに従い、サービス起動順を並べ替える。そして、該並べ替えた新しいサービス起動順をRAM303に保存しておく。
次に、S1130において、アプリケーション管理部604は、上記S1120において並べ替えた新しい起動順に従ってサービスを順次起動していく。なお、起動されたアプリケーションの動作については後述する図12に示す。
そして、全てのサービスの起動が終了すると、アプリケーション管理部604は、本フローチャートの処理を終了する。
以下、図12を参照して、図11のS1130において起動されるアプリケーションがどのように動作するかについて説明する。
図12は、図11のS1130におけるアプリケーションの起動時処理の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機120のCPU301が、HDD/フラッシュメモリ304にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
アプリケーション管理部604によって起動されると(S1200)、該起動されたサービス(以下、当該アプリケーション)は、S1210において、起動時処理を実行する。ここで、起動時処理とは、アプリケーションの初期化処理などに該当する。なお、再起動後の設定値操作サービス607の起動時処理については、後述する図15において説明する。
次に、S1220において、当該アプリケーションは、上記S1210で実行した起動時処理が終了したかどうかを判定する。
そして、まだ起動時処理が終了していないと判定した場合(S1220でNoの場合)、当該アプリケーションは、S1220の判定処理を繰り返す。
一方、起動時処理が終了したと判定した場合(S1220でYesの場合)、当該アプリケーションは、S1230に処理を進める。
S1230では、当該アプリケーションは、アプリケーション管理部604に制御を戻す。なお、制御が戻ったアプリケーション管理部604は、次のサービスを起動していく。
以上が、アプリケーションの起動時処理になる。
以下、図13を参照して、アプリケーション管理部604による図11のS1120における複合機再起動時のサービス起動順の入れ替えアルゴリズムについて説明する。
図13は、アプリケーション管理部604による図11のS1120における複合機再起動時のサービス起動順の入れ替え処理の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機120のCPU301が、HDD/フラッシュメモリ304にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
サービス起動順の入れ替え処理が開始すると(S1300)、アプリケーション管理部604は、S1310において、実行指示ファイル900を読み込む。さらに、S1320において、アプリケーション管理部604は、サービス起動順リスト1000を読み込む。
次に、S1330において、アプリケーション管理部604は、停止できなかったサービス(実行指示ファイル900の903で特定)の起動順位と、再起動後の操作実行サービス(実行指示ファイル900の904で特定)の起動順位とを比較して、停止できなかったサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい(順位が先)かどうかを判定する。
そして、停止できなかったサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい(順位が先)と判定した場合(S1330でYesの場合)、アプリケーション管理部604は、S1340に処理を進める。
S1340では、アプリケーション管理部604は、再起動後の操作実行サービスの起動順位を、停止できなかったサービスの起動順位の直前にもってくるように起動順位を入れ替える。そして、S1350に処理を進める。
一方、上記S1330において、停止できなかったサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも大きい(順位が後)と判定した場合(S1330でNoの場合)、アプリケーション管理部604は、そのままS1350に処理を進める。
S1350では、アプリケーション管理部604は、操作に必要なサービス(実行指示ファイル900の905で特定)の起動順位と、再起動後の操作実行サービス(実行指示ファイル900の904で特定)の起動順位とを比較して、操作に必要なサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい(順位が先)かどうかを判定する。
そして、操作に必要なサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい(順位が先)と判定した場合(S1350でYesの場合)、アプリケーション管理部604は、そのままS1370に処理を進めて、本フローチャートの処理を終了する。
一方、操作に必要なサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも大きい(順位が後)と判定した場合(S1350でNoの場合)、アプリケーション管理部604は、S1360に処理を進める。
S1360では、アプリケーション管理部604は、再起動後の操作実行サービスの起動順位の直前に、操作に必要なサービスの起動順位をもってくるように、起動順位を入れ替える。そして、S1370に処理を進めて、本フローチャートの処理を終了する。
以上示したように、アプリケーション管理部604は、複合機の再起動時に、サービスの起動順を、実行指示ファイル900に従って、操作対象のアプリケーションよりも設定値操作サービス607の起動が先になるように変更する。さらに、アプリケーション管理部604は、設定値操作サービス607が設定値を操作するために必要とする他のプログラムが存在する場合には、該プログラム(例えばDBサービス608)の起動が、設定値操作サービス607の起動よりも先になるように、サービス起動順を変更する。
以下、図14を用いて、図13で示した起動順入れ替えアルゴリズムにより、本実施例で示されるサービスにおいて起動順が具体的にどう変わるかについて説明する。
図14は、図13で示した起動順入れ替えアルゴリズムによる起動順位の入れ替え結果を示す図である。
図14において、1000は初期のサービス起動順を示す。初期のサービス起動順リスト1000は、図10で示したサービス起動順リスト1000と同じである。
初期のサービス起動順リスト1000は、図9及び図10で示したように、停止できなかったサービス903に対応するログインアプリケーション610の起動順位が「4」、再起動後の操作実行サービス904に対応する設定値操作サービス607の起動順位が「6」、操作に必要なサービス905に対応するDBサービス608の起動順位が「2」、となっている。
よって、図13のS1330により、ログインアプリケーション610(903)の起動順位「4」の方が設定値操作サービス607(904)の起動順位「6」より順位が小さい(S1330でYes)と判定される。よって、アプリケーション管理部604は、S1340で示したように、ログインアプリケーション610の起動順位の直前に設定値操作サービス607の起動順位をもってくるように起動順位を変更する。よって、この時点で、設定値操作サービス607の起動順位は「4」、ログインアプリケーション610の起動順位は「5」となる。
さらに、図13のS1350により、DBサービス608(905)の起動順位「2」の方が設定値操作サービス607(904)の起動順位「4」より小さい(S1350でYes)と判定される。よって、アプリケーション管理部604は、これらの起動順位は変更せずに、処理を終了する。この結果、サービス起動順は1400に示すように変更される。
結局、1400に示すサービス起動順により、図11のS1130において、サービスが起動される。この結果、停止できなかったログインアプリケーション610(903)より前に、設定値操作サービス607(904)が起動されることになる。また、設定値操作サービス607(904)より前に、設定操作必要なDBサービス608(905)が起動されることになる。
以下、図15を参照して、再起動後の操作実行サービス904に記されている設定値操作サービス607の起動時処理の動作について説明する。なお、ここでは、設定値の操作として、配信操作、削除操作について説明し、取得操作については後述する。
図15は、再起動後の操作実行サービス904に記されている設定値操作サービス607の起動時処理の動作の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機120のCPU301が、HDD/フラッシュメモリ304にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
設定値操作サービス607の起動時処理が開始すると(S1500)、設定値操作サービス607は、S1510において、実行指示ファイル900が、HDD/フラッシュメモリ304に存在するかどうかを判定する。
そして、実行指示ファイル900が存在すると判定した場合(S1510で「ある」の場合)、設定値操作サービス607は、S1520に処理を進める。
S1520では、設定値操作サービス607は、実行指示ファイル900に記載されている設定情報500へのパス(アプリケーション設定情報へのパス902)を読み取り、該パスに従って設定情報500を読み取る。
次に、S1530において、設定値操作サービス607は、実行指示ファイル900に記載されている予約操作901を読み取り、該予約操作を実行する。なお、予約操作901が「配信」操作の場合、設定値操作サービス607は、上記S1520で読み込んだ設定情報500に従い、該当するアプリケーション設定情報に書き込む。また、予約操作901が「削除」操作の場合、設定値操作サービス607は、上記S1520で読み込んだ設定情報500に従って、DBサービス608を経由して設定情報を削除する。なお、予約操作901が「取得」操作の場合は後述する。
そして、上記S1530において予約操作の実行が終了したら、設定値操作サービス607は、S1540において、実行指示ファイル900を削除して、本フローチャートの処理を終了する。なお、上記S1540で、設定情報500を削除してもよい。
一方、上記S1510において、実行指示ファイル900が存在しないと判定した場合(S1510で「ない」の場合)、設定値操作サービス607は、そのまま何もせずに、本フローチャートの処理を終了する。
以上、本実施例によれば、停止できないアプリケーションの設定値の配信/削除操作を実行するときも、複合機の再起動後に停止できないアプリケーションが起動するよりも先に配信/削除操作を実行することで、安全確実に操作を実行することが可能となる。
<取得操作>
以下、アプリケーションの設定値の「取得」操作について、上述した設定値の「配信」操作/「削除」操作との相違点について述べる。
設定値の操作が取得操作の場合、上述した「配信」操作/「削除」操作の場合と相違するのは、図9の900で示した実行指示ファイルの項目内容である。この違いについて図16において説明する。
図16は、取得操作の場合の実行指示ファイルの一例を示す図である。
図16において、1600は、アプリケーションの設定値の取得操作時の実行指示ファイルである。
1601は、図9の901と同様に、再起動後に実行する予約操作内容を示す。なお、操作内容が取得の場合「取得」が記される。1602には、図9の902と同様に、図8のS808においてHDD/フラッシュメモリ304の一時領域に仮置きされた設定情報500へのパス情報が記される。ここでは「:/tmp/setting.data」が記されている。
1603には、本取得操作の実行指示をした管理装置110のIPアドレスが記される。このIPアドレス(1603)が配信操作/削除操作の場合と異なる点である。
1604には、図9の903と同様に、停止不可能、あるいは停止に失敗したアプリケーションのアプリケーションIDが記される。ここでは、停止に失敗したアプリケーションとして、「ログインアプリケーション」と記されている。1605には、図9の904と同様に、再起動後の操作実行サービスのアプリケーションIDが記される。本実施例では、再起動後に設定値操作サービス607が操作を実行するので、ここでは「設定値操作サービス」が記されている。1606には、図9の905と同様に、設定操作に必要なサービスのアプリケーションIDが記される。本実施例では、取得操作においてDBサービス608が必要なので、ここでは「アプリケーション設定値管理DBサービス」が記されている。
この実行指示ファイル1600の内容を基に、上記図15で示した再起動後の設定値操作サービス607の起動時処理が実行される。そのときの動作を以下に示す。
設定値操作サービス607の起動時処理が開始すると(S1500)、設定値操作サービス607は、S1510において、実行指示ファイル1600が、HDD/フラッシュメモリ304に存在するかどうかを判定する。即ち、配信/削除の場合と同様である。
そして、実行指示ファイル1600が存在すると判定した場合(S1510で「ある」の場合)、設定値操作サービス607は、S1520に処理を進める。即ち、配信/削除の場合と同様である。
S1520では、設定値操作サービス607は、実行指示ファイル1600に記載されている設定情報500へのパス(アプリケーション設定情報へのパス1602)を読み取り、該パスに従って設定情報500を読み取る。即ち、配信/削除の場合と同様である。
次に、S1530において、設定値操作サービス607は、実行指示ファイル1600に記載されている予約操作1601を読み取り、該予約操作を実行する。なお、予約操作1601が「取得」の場合、設定値操作サービス607は、上記S1520で読み込んだ設定情報500に従って、複合機から取得したアプリケーション設定値の情報を、実行指示ファイル1600の1603に記載されているIPアドレスで示される取得要求をした管理装置に返信する。
そして、上記S1530において予約操作の実行が終了したら、設定値操作サービス607は、S1540において、実行指示ファイル1600を削除して、本フローチャートの処理を終了する。即ち、配信/削除の場合と同様である。
一方、上記S1510において、実行指示ファイル1600がないと判定した場合(S1510で「ない」の場合)、設定値操作サービス607は、そのまま何もせずに、本フローチャートの処理を終了する。即ち、配信/削除の場合と同様である。
以上示したように、停止できないアプリケーションの設定値の取得操作を実行するときも、複合機の再起動後に停止できないアプリケーションが起動するよりも先に取得操作を実行することで、安全確実に操作を実行することが可能となる。
なお、本発明では、画像形成装置にインストールされているアプリケーションの設定操作について説明したが、画像形成装置以外の電子機器でも本発明は適用可能である。
以上示したように、本実施例によれば、停止できない、あるいは停止に失敗したアプリケーションの設定値操作(配信、取得、削除)を、安全確実に実行することが可能となる。
よって、管理装置から、ネットワークに接続されている1つ以上の複合機にインストールされているアプリケーションプログラムの各種設定値を操作(例えば、配信、取得、削除など)を、安全確実に実行することが可能となる。
なお、上記実施例では、管理装置から複合機にインストールされているアプリケーションの設定情報の操作を要求する構成について説明したが、複合機の操作部318から複合機にインストールされているアプリケーションの設定情報の操作を要求する場合も、複合機は同様の動作を行って設定情報の操作を実行するものとする。
また、複合機が提供するWebサイトからアプリケーションの設定情報の操作を要求が入力された場合も、複合機は同様の動作を行って設定情報の操作を実行するものとする。
なお、上記実施例では、アプリケーションの設定情報の操作として、アプリケーションの設定項目に設定値を設定する操作(配信操作)、前記アプリケーションの設定項目に設定されている設定値を取得する操作(取得操作)、アプリケーションの設定項目に設定されている設定値を削除する操作(削除操作)を説明した。しかし、上記管理装置110、操作部318、Webサイトからの操作要求は、前記いずれか1つの操作を要求するもののみでなく、前記いずれかの操作を組み合わせた複合操作であってもよい。即ち、配信操作、取得操作、削除操作のいずれか2つ又は全てを組み合わせた操作を、複合機に要求してもよい。
以上示したように、複合機において、停止できない、あるいは停止に失敗したアプリケーションの設定値操作を、安全確実に実行することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
100 LAN
110 管理装置
120,130 複合機

Claims (11)

  1. 少なくとも1つのアプリケーションと、前記アプリケーションの設定値の操作を実行する設定値操作サービスとを含む複数のプログラムを実行可能な画像形成装置であって、
    前記アプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定手段と、
    前記判定手段により前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約手段と、
    前記画像形成装置の再起動時に、前記プログラムの起動順を、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記設定値操作サービスの起動が先になるように変更する変更手段と、を有し、
    前記設定値操作サービスは、前記画像形成装置の再起動により起動されると、前記操作内容に従って前記操作対象のアプリケーションの設定値を操作する、ことを特徴とする画像形成装置。
  2. 前記設定値操作サービスは、前記操作対象のアプリケーションの設定値を操作後に、前記実行指示情報を削除する、ことを特徴とする請求項1に記載の画像形成装置。
  3. 前記予約手段により前記実行指示情報が格納された場合に、前記画像形成装置の再起動を促す通知を、前記操作の要求元に通知する通知手段を有する、ことを特徴とする請求項1又は2に記載の画像形成装置。
  4. 前記変更手段は、前記設定値操作サービスが前記設定値を操作するために必要とする他のプログラムが存在する場合には、該プログラムの起動が、前記設定値操作サービスの起動よりも先になるように、前記プログラムの起動順を変更する、ことを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
  5. 前記判定手段により前記操作対象となるアプリケーションが停止可能と判定された場合には、前記操作対象となるアプリケーションを停止させ、前記設定値操作サービスが前記操作対象のアプリケーションの設定値を操作する、ことを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
  6. 前記設定値操作サービスによる前記設定値の操作が終了した後に、前記停止された操作対象アプリケーションを開始する、ことを特徴とする請求項5に記載の画像形成装置。
  7. 前記操作対象となるアプリケーションの停止に失敗した場合、前記予約手段は、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する、ことを特徴とする請求項5又は6に記載の画像形成装置。
  8. 前記アプリケーションの設定値に対する操作が要求された際に、前記操作対象となるアプリケーションが停止中の場合には、前記設定値操作サービスが、前記停止中の操作対象のアプリケーションの設定値を操作する、ことを特徴とする請求項1乃至7のいずれか1項に記載の画像形成装置。
  9. 前記アプリケーションの設定情報の操作は、前記アプリケーションの設定項目に設定値を設定する操作、前記アプリケーションの設定項目に設定されている設定値を取得する操作、前記アプリケーションの設定項目に設定されている設定値を削除する操作の少なくともいずれか1つを含むことを特徴とする請求項1乃至8のいずれか1項に記載の画像形成装置。
  10. 少なくとも1つのアプリケーションと、前記アプリケーションの設定値の操作を実行する設定値操作サービスとを含む複数のプログラムを実行可能な画像形成装置であって、
    前記画像形成装置が実行する、
    前記アプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定ステップと、
    前記判定ステップで前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約ステップと、
    前記画像形成装置の再起動時に、前記プログラムの起動順を、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記設定値操作サービスの起動が先になるように変更する変更ステップと、
    前記画像形成装置の再起動により起動された前記設定値操作サービスが前記操作内容に従って前記操作対象のアプリケーションの設定値を操作するステップと、
    を有することを特徴とする画像形成装置の制御方法。
  11. コンピュータを、
    画像形成装置で実行されるアプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定手段と、
    前記判定手段により前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約手段として機能させるための制御プログラムであって、
    前記画像形成装置は、前記画像形成装置の再起動時に、前記プログラムの起動順が、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記アプリケーションの設定値の操作を実行する設定値操作サービスの起動が先になるように変更されるものであり、
    前記設定値操作サービスは、前記画像形成装置の再起動により起動されると、前記操作内容に従って前記操作対象のアプリケーションの設定値を操作することを特徴とする制御プログラム。
JP2012048856A 2012-03-06 2012-03-06 画像形成装置、画像形成装置の制御方法、及び制御プログラム Pending JP2013186518A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012048856A JP2013186518A (ja) 2012-03-06 2012-03-06 画像形成装置、画像形成装置の制御方法、及び制御プログラム
US13/781,421 US8892796B2 (en) 2012-03-06 2013-02-28 Image forming apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012048856A JP2013186518A (ja) 2012-03-06 2012-03-06 画像形成装置、画像形成装置の制御方法、及び制御プログラム

Publications (1)

Publication Number Publication Date
JP2013186518A true JP2013186518A (ja) 2013-09-19

Family

ID=49113881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012048856A Pending JP2013186518A (ja) 2012-03-06 2012-03-06 画像形成装置、画像形成装置の制御方法、及び制御プログラム

Country Status (2)

Country Link
US (1) US8892796B2 (ja)
JP (1) JP2013186518A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240031443A1 (en) * 2022-07-20 2024-01-25 Bentley Systems, Incorporated Workspace databases

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6581418B2 (ja) * 2015-07-30 2019-09-25 キヤノン株式会社 配信システム、配信方法及びプログラム
CN109947503A (zh) * 2019-03-27 2019-06-28 重庆传音通讯技术有限公司 应用程序控制方法、装置、终端及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4921323B2 (ja) * 2007-11-21 2012-04-25 キヤノン株式会社 画像処理装置及びその制御方法
JP5377235B2 (ja) 2009-01-28 2013-12-25 キヤノン株式会社 情報配信装置、情報配信方法、及びコンピュータプログラム
US8244103B1 (en) * 2011-03-29 2012-08-14 Capshore, Llc User interface for method for creating a custom track

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240031443A1 (en) * 2022-07-20 2024-01-25 Bentley Systems, Incorporated Workspace databases
US11936741B2 (en) * 2022-07-20 2024-03-19 Bentley Systems, Incorporated Workspace databases
US11943305B2 (en) 2022-07-20 2024-03-26 Bentley Systems, Incorporated Workspace databases

Also Published As

Publication number Publication date
US8892796B2 (en) 2014-11-18
US20130235405A1 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
US7552432B2 (en) Information processing apparatus, information processing method, and control program
JP4083505B2 (ja) 画像形成装置,プログラム更新方法および記録媒体
JP3507307B2 (ja) 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体
US8587811B2 (en) Information processing apparatus and method thereof
JP5743724B2 (ja) 管理装置及び管理方法、管理システムとネットワークデバイス
US20110075207A1 (en) Information processing apparatus and method thereof
JP5665437B2 (ja) ネットワーク機器管理システム、ネットワーク機器管理装置、クライアント装置およびその方法
JP2008084304A (ja) 画像形成装置、プログラム更新方法及びプログラム
JP2009009493A (ja) 印刷制御装置、印刷制御方法、及びプログラム
KR101506764B1 (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP2010250561A (ja) 情報処理装置、制御方法、及びプログラム
US8301807B2 (en) Device management apparatus, device management method, and recording medium
JP4953753B2 (ja) 情報処理装置及びその制御方法、プログラム
US20120033258A1 (en) Image processing apparatus, control method of image processing apparatus, and storage medium
US20120203882A1 (en) Management apparatus and management method
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP2013186518A (ja) 画像形成装置、画像形成装置の制御方法、及び制御プログラム
JP2007257350A (ja) 情報処理装置及び方法
JP2009037589A (ja) プログラム判定装置、プログラム判定方法及びプログラム
JP6157282B2 (ja) 画像処理装置、情報処理方法及びプログラム
JP4241842B2 (ja) Ftp型処理装置、ftpシステム、状態表示方法
US8488148B2 (en) Printing system for notifying data processing apparatus of information regarding a location of printing apparatus
JP2009020609A (ja) 画像形成装置、プログラム制御方法及びプログラム
JP2021003875A (ja) 印刷装置、印刷システム、制御方法、およびプログラム
JP6057740B2 (ja) 画像形成装置、情報処理方法及びプログラム