JP6570364B2 - 画像形成装置及びその制御方法 - Google Patents

画像形成装置及びその制御方法 Download PDF

Info

Publication number
JP6570364B2
JP6570364B2 JP2015155459A JP2015155459A JP6570364B2 JP 6570364 B2 JP6570364 B2 JP 6570364B2 JP 2015155459 A JP2015155459 A JP 2015155459A JP 2015155459 A JP2015155459 A JP 2015155459A JP 6570364 B2 JP6570364 B2 JP 6570364B2
Authority
JP
Japan
Prior art keywords
bundle
application
deletion
image forming
forming 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.)
Active
Application number
JP2015155459A
Other languages
English (en)
Other versions
JP2017033468A (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.)
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 JP2015155459A priority Critical patent/JP6570364B2/ja
Priority to US15/227,798 priority patent/US9940334B2/en
Publication of JP2017033468A publication Critical patent/JP2017033468A/ja
Application granted granted Critical
Publication of JP6570364B2 publication Critical patent/JP6570364B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/21Intermediate information storage
    • 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/21Intermediate information storage
    • H04N2201/218Deletion of stored data; Preventing such deletion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、例えばアプリケーションをインストール可能な画像形成装置およびアプリケーションプログラム(以下「アプリ」と略称する)の展開領域の削除方法等に関するものである。
近年、画像形成装置においては、JAVA(登録商標、以下省略)環境に代表されるようなアプリ動作環境が提供されている。JAVAの持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。画像形成装置の機能やユーザビィリティの向上を図るために、上記JAVA環境などの環境下で動作するアプリを作成し、画像形成装置にインストールすることで、当該アプリにより所望の機能を実現できる。
アプリプラットフォームとしては、組み込み機器向けのJAVAアプリプラットフォームである、OSGi(Open Services Gateway Initiative)Service Platform(以下、OSGi)がある。OSGiでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール/開始/停止/更新/アンインストールからなるライフサイクルを管理するための仕様を定義している。ここで、バンドルとは、JAVAモジュールのことを指し、本明細書においては、アプリと同義である。そのため、以後アプリのことをバンドルと表記する。
このようなアプリプラットフォームでは、コピー、スキャン、プリント等の組み込み機能をバンドルが提供することができる。この画像形成装置において、バンドルに何かトラブルが発生した場合、サービスマンが記憶装置のバンドル展開領域、及びバンドルが保持しているデータを一旦削除することで、復旧を試みることが対処方法として考えられる。このとき、特許文献1に示すように、削除すべきファイルの選択を容易にして、削除する方法が提案されている。
特開平09−034755号公報
しかしながら、特許文献1の方法は、削除を実行するサービスマンがどのファイルを削除すればいいかを判断する必要がでてくる。そこで、バンドル展開領域、及びバンドルが保持しているデータを一括、または、部分的に指定して削除する方法が考えられる。しかしながら、例えば、部分的に指定して削除を行った場合、バンドル展開領域におけるデータの保持の仕方によっては、必要なデータも削除されてしまうという問題がある。
本発明は、システムアプリケーション、一般アプリケーションを含む複数種類のアプリケーションを部分的に削除する場合であっても、一般アプリケーションに関連する情報が削除されることによる整合性が崩れてしまうことを防ぐ技術を提供することを目的とする。
上記目的を達成するために本発明の画像形成装置は、システムアプリケーションを削除する際に削除対象外として扱うファイルあるいはディレクトリを特定する削除対象外情報を保持する保持手段と、前記システムアプリケーション、一般アプリケーションを含む複数種類のアプリケーションのうち、削除対象とするアプリケーションを指定する指定手段と、前記指定されたアプリケーションに関するファイルあるいはディレクトリのうち、前記削除対象外情報を用いて、削除対象外として扱うファイルあるいはディレクトリを除いた、前記アプリケーションに関するファイルあるいはディレクトリを削除する削除手段を有し、前記一般アプリケーションは、前記画像形成装置に追加されるアプリケーションであり、前記システムアプリケーションを削除する際に削除対象外として扱う削除対象外情報は、前記一般アプリケーションに関連する情報であることを特徴とする。
本発明によれば、システムアプリケーション、一般アプリケーションを含む複数種類のアプリケーションを部分的に削除する場合であっても、一般アプリケーションに関連する情報が削除されることによる整合性が崩れてしまうことを防ぐことが可能となる。
画像形成装置のハードウェア構成図。 画像形成装置のソフトウェアモジュール階層図。 バンドルのインストールする流れを示したブロック図。 バンドルのインストールとインストール先のバンドル展開領域について示したブロック図。 削除時に必要なUIと削除ファイルについて説明した図。 削除タイプ番号の指定から、再起動後の削除処理までを示したシーケンス図。 画像形成装置起動時にバンドル展開領域を削除するときのフローチャート。 バンドル展開領域のデータを削除するときの削除対象例外リストを考慮して削除するときのフローチャート。 削除対象例外リストの例を示した図。 削除対象例外パスリストの例を示した図。 バンドル展開領域を削除してからシステムバンドルを再展開するまでのフローチャート。 バンドル展開領域のシステムバンドルの再展開処理が実行されるときの削除対象例外ファイルの移管されるデータの動きを示したブロック図。 削除対象例外ファイルの移管処理のフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。
[実施例1]
<画像形成装置のハードウェア構成>
図1は、プリント機能やスキャン機能、ネットワーク通信機能などを備える画像形成装置130のハードウェア構成図である。
図1において、コントローラ100は画像形成装置130のコントローラである。
コントローラ100はスキャナ部113やプリンタ部114と電気的に接続され、一方でLAN116を介して外部デバイスと接続される。
CPU101は、ROM102に記憶された制御プログラム等に基づいて接続中の各種ハードウェアとのアクセスを統括的に制御し、またコントローラ内部で行われる各種処理についても統括的に制御する。
ROM102は読み出し専用の不揮発記憶領域であり、画像形成装置130のブートプログラム、ファームウェアなどが格納されている。
RAM103は、CPU101が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。このRAM103は、記憶した内容を電源off後も保持可能なFRAM(登録商標)およびSRAM、電源off後に記憶内容が消去されるDRAMなどにより構成される。
HDD104は不揮発記憶領域であり、システムバンドルなどを格納する。図3で説明するインストールするバンドルすなわちアプリケーションを含むファームウェアは、HDD104に格納される。
操作部I/F105は、システムバス119と操作部118とを接続するインタフェース部である。具体的には操作部118に表示するデータをシステムバス119から受取り表示すると共に、操作部118からの入力情報をシステムバス119へ出力する。画像形成装置130に対するユーザの指示や情報提示は、操作部118を介して行う。
ネットワークI/F106はLAN116、WAN117及びシステムバス119に接続し、外部との情報の入出力を行う。
スキャナI/F108は、スキャナ部113から受取った画像データに対して、補正、加工、及び編集を行う。
画像形成部109は、画像データの方向変換、画像圧縮、伸張などを行う。
プリンタI/F110は、画像形成部109から送られた画像データを受取り、画像形成後にプリンタ部114にて印刷する。
<画像形成装置のソフトウェアモジュール>
図2は、本発明に関係する画像形成装置130のソフトウェアモジュール階層図である。なお図2以降に示す各ソフトウェアはROM102、もしくは、HDD104に保存され、CPU101にて実行される。また、実行時に使用する各種情報はRAM103もしくはHDD104に保持してソフトウェア機能間での各種情報のやりとりを行う。さらに外部機器との通信は、ネットワークI/F106を用いて通信を行う。
次に各ソフトウェアの説明をする。ソフトウェアは、まずオペレーティングシステム(OS)プラットフォーム201を含む。
UI202はユーザインタフェースモジュールであり、オペレータが画像形成装置130に対する各種操作・設定を行う際に、装置とユーザ操作との仲介を行うモジュールである。このモジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送して処理の依頼、或いはデータの設定変更等を行う。
設定データベース204は、画像形成装置130の設定データを取り扱うデータベースである。後で述べる削除タイプもこのデータベースに値が保持される。また、図9で述べる削除対象例外リストもここに保持される。このデータを管理しているのが、設定データ管理部203であり、各バンドルは、データの値について、この設定データ管理部203に対して問い合わせることで取得可能である。
削除指定ファイル生成部205は、メニューから削除が実行されたときに削除対象を示す削除指定ファイルを生成するモジュールである。
再起動制御部206は、再起動指令があったときに、それに対応して画像形成装置130の再起動を行うモジュールである。
次に、JAVA側の構成について述べる。
JAVA側のソフトウェアプラットフォームは、JavaVM207のランタイム環境として構成されており、インタプリタとしてのJavaVM207、ライブラリ208、フレームワーク群209で構成される。ライブラリ208は、標準のAPIライブラリを含んで構成される。フレームワーク群209は、OSGi210を含んで構成され、このOSGi210は、単一のJavaVM207に複数のバンドルを動作させる。更に、OSGi拡張部211は、このOSGi210の仕様を満たす範囲で必要に応じて機能を拡張可能であることを示す。このOSGi210、及びOSGi拡張部211は、バンドルのライフサイクルの管理やバンドル間通信機能などを提供する。
このOSGi210上には、複数のシステムバンドル群212がある。これらは、初回起動時に展開先フォルダがないとき、もしくは、アップデートが必要なことを示すアップデートフラグが所定の場所にあるときに、OSGi拡張部211によって、格納されているファームウェアからインストールされる。このときのインストールについては、図4で示す。
システムバンドル群212としては、複数のバンドルを管理し、新たなバンドルの追加、更新、削除をするためのバンドル管理サービス214がある。バンドル管理サービス214は、インストール制御サービス213を利用して、バンドルの追加、更新、削除を行う。
システムバンドル群212の中には、画像形成装置130の認証機能を担う認証バンドル215がある。認証バンドル215は、ユーザが画像形成装置に認証中に任意のバンドルから任意のタイミングで認証情報の問い合わせがあるため、停止できない特性を持つバンドルである。仮に認証バンドルが停止していた場合、認証情報の取得ができなくなるため、認証情報に紐づくデータを利用しているようなバンドルがあると、データの取得に失敗し動作に支障が生じる。ここで、認証情報とは、現在、画像形成装置130に認証しているユーザの認証名やメールアドレスなどの情報を指す。認証バンドルは複数インストールされていてもかまわない。しかしながら、前記のように停止できない特性を持つため、画像形成装置130が起動中において、この認証バンドル215は、必ず1つだけ動作するものとなる。どの認証バンドルが動作しているかは、OSGi拡張部211の設定として、保持される。
一方で、後からインストールするタイプの後入れバンドル群217がある。バンドルのインストールについては、図3で示す。後入れバンドル群217として、後入れバンドル219は、画像形成装置130において各種処理をユーザに提供する追加的なアプリケーションである。例えば、画像の加工や圧縮バンドル、印刷制限などの部門管理を行うバンドルなどがある。
各種機能を実現する後入れバンドル219は、バンドル管理サービス214の管理下で動作する。バンドル管理サービス214は、管理下に追加されたバンドルのバージョンを含むバンドル情報、ライセンス情報などを保持している。
<バンドルのインストール>
図3は、ユーザが、PC300から画像形成装置130へ、後入れバンドル219をインストールする流れを示したブロック図である。
PC300のWEBブラウザにアプリケーションインストールUI(ユーザインタフェース)301を表示し、このアプリケーションインストールUI301からインストールしたいバンドルを指定し、インストールを行う。アプリケーションインストールUI301で指定されたバンドルを受信したバンドル管理サービス214は、それをインストール制御サービス213に渡す。バンドルファイルを受信したインストール制御サービス213は、OSGi210にインストールを依頼し、OSGi210は指定されたバンドルのインストールを行う。インストールされたバンドルは、バンドル管理サービス214によって管理される。
<バンドル展開領域の例>
図4は、画像形成装置130における、OSGi拡張部211によるファームウェアからバンドル展開領域402へのシステムバンドル群212のインストールの流れと展開後のバンドル展開領域について示したブロック図である。
バンドル展開領域402には、展開先フォルダ403が存在する。ただし、この展開先フォルダ403は、通常初回起動時、または、展開先フォルダ403が削除された直後の起動時にOSGi拡張部211によって作成される。
OSGi拡張部211は、バンドルの展開先フォルダ403が存在しないことを検知した場合、あるいは、システムバンドル群の展開先フォルダ404が存在しないことを検知した場合に、次の処理を行う。すなわち、ファームウェア401に格納されているシステムバンドル群212をバンドル展開領域402にある展開先フォルダ403にインストールを行う。
次に、展開先フォルダ403であるAppFolderについて説明する。このフォルダには、ファームウェア401に配置されているシステムバンドル群212が展開されたシステムバンドル群の展開先フォルダ404と、後入れバンドル群217が展開された後入れバンドル群の展開先フォルダ410が存在する。
OSGi拡張部211は、インストールされたバンドルごとにフォルダを作成する。以下、このフォルダのことをバンドルディレクトリと呼ぶ。このバンドルディレクトリは、インストール日時などから生成したユニークな名前を付けることが可能である。この図の場合、システムバンドルAが、xxx405というバンドルディレクトリにインストールされていることを示す。バンドルディレクトリには、インストールされたjar406がapp0.jarという名前で配置される。更に、各バンドルのデータを格納するためのdataフォルダ407が配置され、この場合システムバンドルAの設定データsetting.txtファイルが格納されている。
また、システムバンドルBが、yyy408というバンドルディレクトリにインストールされていることを示す。システムバンドルAと同様にインストールされたjarがapp0.jarという名前で配置される。更に、システムバンドルBが保持するバンドルのライセンスデータがdataフォルダ409以下のlicensesフォルダ以下に格納される。この場合、後入れバンドルAのライセンスであるlicenseAファイルが保持されている。
一方で、図3で示した方法により、ユーザが後からインストールする後入れバンドルも、後入れバンドル群の展開先フォルダ410で示すように、システムバンドル群の展開先フォルダ404と同様のディレクトリ構成でインストールされる。
展開先フォルダ403には、システムバンドル群の展開先フォルダ404と、後入れバンドル群の展開先フォルダ410以外に、これらのインストールした情報を管理するための管理データ412がある。この管理データとしては、バンドルとバンドルディレクトリの対応付けを管理するテーブル450のデータを保持している。これにより、バンドルがわかれば、それに対応したバンドルディレクトを知ることが可能となる。
また、図2で説明した、現在どの認証バンドルが動作しているかの設定情報も保持している。
バンドル展開領域の一部分を指定する分け方はいろいろな視点で分ける方法が考えられるが、余り細かい指定ができるようになったとしても、サービスマンがどれを指定すればいいかの判断が難しくなってくる為、使い勝手がよくない。サービスにおける問題解決の視点で考えた場合は、サービスマンが認識できるわかりやすい単位で、かつ、それにより問題が解決する可能性が高いのが望ましい。
ここでは、バンドル展開領域のうち、システムバンドル群の展開先フォルダ404と、後入れバンドル群の展開先フォルダ410とで分ける方法とする。また、各バンドルディレクトリ全てを削除するか、dataフォルダ407のみを削除するかの指定を選択可能なものとする。
このようにバンドルは、当該バンドルのフォルダ(ディレクトリ)にインストールされる。インストールされるファイルにはjarファイルおよびdataフォルダ(データフォルダ)が含まれ、これらをまとめてバンドル関連ファイルと呼ぶ。なおjarファイルとは、Java(登録商標)バイトコード(すなわちプログラムの実体)およびそれが使用するリソースをまとめてアーカイブしたファイルであり、バンドルすなわちアプリケーションのプログラムそのものということもできる。本実施例では、バンドル展開領域、すわなち、アプリケーション保持部に、複数種類のアプリケーションを保持する。
図5(a)は、バンドル展開領域の中で削除したい一部分の領域を指定するUIを説明した図である。このUI500は、操作部188に表示される。
サービスマンメニューは、サービスマンがユーザサポートをするときに必要な機能一覧を表示したメニューである。ユーザは、バンドル展開領域を削除しようとした場合、以下の操作を行う。
バンドル展開領域の中で削除したい一部分の領域を示す削除タイプ501を選択後、削除タイプ番号502を入力し、OKボタン504を押下する。
この例では、削除タイプ501に1を指定した場合、システムバンドルのdataフォルダ407を削除することを示すものとする。それ以外でも、2を指定した場合は、後入れバンドルのdataフォルダ、3を指定した場合は、システムバンドルのバンドルディレクトリ、4を選択した場合は、後入れバンドルのバンドルディレクトリを削除することができるものとする。
その削除タイプを指定後、バンドル展開領域削除503を選択し、OKボタン504を押下する。この後、画像形成装置130を再起動すると、バンドル展開領域402内の削除タイプで指定された対象ファイルが削除される。
図5(b)は、図5(a)で指定した削除タイプの情報を、OSGi拡張部211に伝達する為の削除指定ファイル550の記載例を示した図である。キー文字列であるTargetApp551には、削除対象バンドルを指定する。キー文字列であるTargetFile552には、削除対象バンドルが保持するファイルの内、どのファイルを削除するかを示す内容を指定する。
この例では、TargetApp551にsystem、TargetFile552にdataとなり、システムバンドルのdataフォルダ407を削除することを示すものとする。
図6は、バンドル展開領域の一部分を指定し、再起動後の削除処理までを示したシーケンス図である。
S600において、ユーザが、UI500から削除タイプ501を選択した状態で、削除タイプ番号502を入力しOKボタンを押下する。S601において、UIは、設定データ管理部203に入力された削除タイプ番号を設定データベース204に格納するように依頼する。
S602において、ユーザが、バンドル展開領域削除503を選択した状態で、OKボタンを押下する。S603において、UIは、削除指定ファイル生成部205に展開領域削除の実行指示を行う。S604において、削除指定ファイル生成部205は、設定データ管理部203に指定されている削除タイプの値(削除タイプ番号)を取得しにいく。S605において、削除指定ファイル生成部205は、取得した削除タイプの値を基に、削除指定ファイル550を生成する。
S606において、ユーザが、画像形成装置130を再起動する。S607において、OSGi拡張部211は、削除指定ファイル550を参照する。S608において、OSGi拡張部211は、削除指定ファイル550による指定に従ってバンドル展開領域を削除する。このS607、及び、S608におけるOSGi拡張部211のフローは、図7で示す。
<OSGi拡張部によるバンドル展開領域の削除フロー>
図7は、OSGi拡張部211が、起動時にバンドル展開領域を削除するときのフローチャートである。
S700において、バンドル展開領域削除処理が開始される。S701において、OSGi拡張部211は、削除指定ファイル550が、存在するかどうかをチェックする。削除指定ファイル550が存在しなければ、S711に進み、処理を終了する。削除指定ファイル550が存在していれば、S702に進む。
S702において、OSGi拡張部211は、削除指定ファイル550からバンドル指定(以下、TargetAppということもある)551の値を読みとり、メモリに値を確保して、S703に進む。S703において、OSGi拡張部211は、TargetFile552の値を読みとり、メモリに値を確保して、S704に進む。S704において、OSGi拡張部211は、バンドル展開領域にインストールされているバンドルリストをバンドル管理サービス214から取得し、S705に進む。
S705において、バンドルリストの最初のバンドルのバンドルタイプとS702で読み取ったTargetApp551が一致するかどうかをチェックする。バンドルタイプとは、後入れバンドル(normal)、システムバンドル(system)のいずれかである。TargetApp551でnormalが指定されている場合は、バンドルタイプが後入れバンドルであれば一致とみなされる。TargetApp551でsystemが指定されている場合は、バンドルタイプがシステムバンドルであれば一致とみなされる。S705において、いずれとも一致しなければ、S710に進む。S705において、一致した場合、S706に進む。S706において、S703において読み取ったTargetFile552の値が何かを判定する。S706において、TargetFile552の値がallであった場合、S707に進み、削除対象をそのバンドルのバンドルディレクトリとして、S709の削除対象例外を考慮した削除処理に進む。S706において、TargetFile552の値がdataであった場合、S708に進み、削除対象をそのバンドルのバンドルディレクトリのdataフォルダ407として、S709の削除対象例外を考慮した削除処理に進む。S709における、削除対象例外を考慮した削除処理は、図8で説明する。S710において、バンドルリストの最後のバンドルかどうかを判定し、最後でなければ、S705に戻り、処理を繰り返す。S710において、バンドルリストの最後のバンドルであると判定された場合、S711に進み、処理を終了する。
図8は、バンドル展開領域のデータを削除するときに、この削除対象例外リストにある削除対象例外ファイル(ディレクトリ)を考慮して削除するときのフローチャートである。
OSGi拡張部211は、削除対象例外リストを参照することが可能である。削除対象例外リストは、バンドル展開領域を削除するときに、部分的にある領域だけが削除されることでシステム全体の整合性に影響を与えてしまう可能性のあるファイル、及び、ディレクトリをリスト化している。削除対象例外リストは、設定データベース204で保持されている。
図9で、この削除対象例外リストについて説明する。図9、10は、削除対象外として扱うファイルを特定する情報である。
削除対象例外バンドル900は、削除対象外にしたいファイル/ディレクトリが、どのバンドルのデータに属するかを示す。削除例外ファイル/ディレクトリ901は、各バンドルのバンドルディレクトリからの相対パスで、削除対象外にしたいファイル/ディレクトリのパスが記されている。この例で、削除対象例外バンドル900がシステムバンドルA、削除例外ファイル/ディレクトリ901が./data/setting.txtとなっているのは、
「システムバンドルAのバンドルディレクトリ」/data/setting.txt
のパスを持つファイルを示す。
また、削除対象例外バンドル900がシステムバンドルB、削除例外ファイル/ディレクトリ901が./data/licensesとなっているのは、
「システムバンドルBのバンドルディレクトリ」/data/licensesのパスを持つディレクトリを示す。
S800において、削除対象例外を考慮した削除処理を開始する。S801において、削除対象のファイル/ディレクトリリストをOSのファイルシステムから取得する。S707からS800にくるときは、バンドルディレクトリのファイル、及びディレクトリであり、S708からS800にくるときは、バンドルディレクトリのdataフォルダのファイル、及びディレクトリとなる。S802において、S801で取得したファイル/ディレクトリリストの最初がファイルかディレクトリかを判断する。ファイルと判断した場合、S803に進む。S803において、削除対象例外リストにそのファイルが含まれているかどうかを判断する。含まれていないと判断した場合、S804に進む。S804において、そのファイルを削除する。一方、S803において、含まれていると判断した場合、S805に進み、そのファイルは削除せずに、代わりにOSGi拡張部211はそのファイルのパスを図10で示すような削除対象例外パスリストとして記憶しておく。
S802において、ディレクトリと判断した場合、S806に進む。S806において、削除対象例外リストにそのディレクトリが含まれているかどうかを判断する。含まれていないと判断した場合、S807に進む。S807において、そのディレクトリを削除対象とするために、S800を再帰的に呼び出す。この再帰呼び出し処理が終了した後に、S808に進む。S808において、そのディレクトリを削除し、S809に進む。一方、S806において、含まれていると判断した場合、S805に進み、そのディレクトリは削除せずに、代わりにOSGi拡張部211はそのディレクトリのパスを図10で示すような削除対象例外パスリストとして記憶しておく。
S808において、ファイル/ディレクトリリストの最後かどうかを判断する。S808において、最後でないと判断した場合、S802に戻り、再度処理を進める。一方、S808において、最後と判断した場合、S809に進み、処理を終了する。
図10は、S805で生成する削除対象例外パスリストの状態を示す。
削除対象例外バンドル1000は、削除対象外にしたファイル/ディレクトリが、どのバンドルのデータに属するかを示す。削除例外パス1001は、削除対象外にしたファイル/ディレクトリの絶対パスが記されている。この例では、図9で示した削除対象例外リストに従って削除しなかったファイルとディレクトリの例を示している。ここで、「システムバンドルAのバンドルディレクトリ」がxxxだったので、削除例外パス1001は、xxx/data/setting.txtとなる。一方、「システムバンドルBのバンドルディレクトリ」がyyyだったので、削除例外パス1001は、yyy/data/licensesとなる。
以上、実施例1で示した方法により、具体的には以下に示すような効果を得ることができる。
<効果事例1>
システムバンドルとして、PC上にバンドル管理情報を表示するサーブレットバンドルSがあるとする。このサーブレットバンドルSの設定データは、システムバンドルであるサーブレットバンドルのdataフォルダに配置されている。サーブレットバンドルSにアクセスする方法は、2通りの方法があり、デフォルトでは、アクセス方法Aがオン、アクセス方法Bがオフとなっている。この設定を変更すると、サーブレットバンドルSの設定データが更新される。デフォルトでは、設定データは存在せず、その場合は、デフォルトの動きをする。サーブレットバンドルSにアクセスするときには、認証バンドルとの組み合わせが重要となり、認証バンドルDが動作している場合は、アクセス方法Bがオンになっている必要がある。
ここで、バンドル管理領域の内、システムバンドル領域のファイルのみを削除するケースを考える。システムバンドルであるサーブレットバンドルSの設定データは削除されてしまうため、設定がデフォルトに戻ってしまう。一方、認証バンドルの設定情報は、管理データ412が保持しているため、削除されず、認証バンドルの動作情報は変わらない。この結果、認証バンドルDは動作したままであるが、アクセス方法Bがデフォルトのオフに戻ってしまうため、アクセスができないことになる。
実施例1によれば、削除対象例外リストにこのサーブレットバンドルSの設定データを登録しておくことで、ある一部分のファイルが削除されることで、残った設定との整合性が崩れるような状況を防ぐことが可能となる。
<効果事例2>
システムバンドルとして、バンドル管理サービスを考える。バンドル管理サービスは、後入れバンドルのインストール時に使用したライセンス情報を、システムバンドルのバンドル管理サービスのdataフォルダのライセンスディレクトリで管理している。後入れバンドルの各バンドルディレクトリではなく、自身(システムバンドルのバンドル管理サービス)のdataフォルダで管理しているのは、一括で管理でき、扱いやすいためである。
ここで、バンドル管理領域の内、システムバンドル領域のファイルのみを削除するケースを考える。システムバンドルであるバンドル管理サービスのライセンスディレクトリは削除され、後入れバンドルは削除されない。つまり、後入れバンドルが存在するのに、それに対応したライセンスがないという不整合状態となり、その後の処理に支障をきたす可能性がある。実施例1によれば、削除対象例外リストにこのバンドル管理サービスのライセンスディレクトリを登録しておくことで、ある一部分のディレクトリが削除されることで、残ったバンドルとの整合性が崩れるような状況を防ぐことが可能となる。
[実施例2]
実施例2では、実施例1で示した削除されなかったシステムバンドルの削除対象例外のファイルやディレクトリを、その後のシステムバンドルの再展開まで考慮したときについて述べる。システムバンドルのバンドルディレクトリが削除されるケースにおいては、その後、システムバンドルの再展開処理が必要となる。システムバンドルのバンドルディレクトリが削除されるというのは、削除指定ファイルにおいて、TargetApp551でsystem、及び、TargetFile552でallが指定された場合である。
図11は、画像形成装置の起動処理時における、OSGi拡張部211のフローチャートを示す。
S1100において、起動処理を開始する。S1101において、バンドル展開領域の削除処理が行われ、S1102に進む。S1101の処理は、図7で示したフローである。その後、S1102において、システムバンドルのバンドルディレクトリが削除されたかにより、システムバンドルの再展開処理が必要かどうかを判断する。S1102において、再展開処理が必要と判断された場合は、S1103に進む。S1103において、システムバンドルの再展開処理を行う。このときの、バンドルディレクトリの動きについては、図12(a)で説明する。その後、S1104において、削除対象例外ファイル(ディレクトリの移管処理が行われ、移管処理が終了するとS1105に進む。一方、S1102において、不要と判断された場合、S1105に進む。S1105において、各バンドルの開始処理が行われ、S1106に進む。S1106において、起動処理が終了する。
図12は、バンドル展開領域のシステムバンドルの再展開処理が実行されるときの展開領域の動きを示したブロック図である。
図12(a)は、システムバンドルのバンドルディレクトリへの展開時の扱いについて説明したものである。1200において、システムバンドルAのバンドルディレクトリがxxx、システムバンドルBのバンドルディレクトリがyyyであったとする。その後、一旦これらのバンドルディレクトリが削除された後に再展開された場合、1201で示すように、同じシステムバンドルAのバンドルディレクトリはzzz、システムバンドルBのバンドルディレクトリがwwwとなる。これは、図4で説明したように、インストール日時などから生成したユニークな名前を付けるためである。このような処理にする理由としては、バンドルディレクトリへの展開時に強制シャットダウンなどによる処理が中断されゴミディレクトリが残る場合がある。そのため、再展開が必要な際は、常にバンドルディレクトリを新規に作成したほうがよいと考えられるためである。
図12(b)は、このような再展開処理の場合の削除対象例外ファイルのあるべき動きについて説明したものである。
1202において、システムバンドルAのバンドルディレクトリxxxのdataフォルダに削除対象例外ファイル1250(setting.txt)があったとする。バンドル展開領域が削除された場合、実施例1で示したようにシステムバンドルのバンドルディレクトリが削除対象だったとしても、このファイルは削除されない為、1203で示すようにファイルは残る。その後、システムバンドルが再展開されると、1204で示すように、システムバンドルAのバンドルディレクトリはzzzとなる。その後、1205において、残っていた削除対象例外ファイル1250を、システムバンドルAの新たなバンドルディレクトリzzzのdataフォルダ1251にコピーする。その後、1206において、不要となった削除対象例外ファイル1250を含むxxxのフォルダを全て削除する。こうして、削除対象例外ファイルが、コピーされることにより、正しく利用を続けられる。
図13は、図12(b)で示した削除対象例外ファイルの移管処理のフローチャートである。
S1300において、削除対象例外ファイル(ディレクトリ)移管処理を開始する。S1301において、OSGi拡張部211がメモリ上に保持している図10で示した削除対象例外パスリストによってループ処理を開始する。S1302において、削除対象例外パスリストが1つ以上あるかを判断する。1つもないと判断した場合は、S1308に進んで、処理を終了する。1つ以上あると判断した場合は、S1303に進む。S1303において、削除対象例外バンドル1000の再展開後のバンドルディレクトリのパスを取得し、S1304に進む。図10の例で説明すると、システムバンドルAの現在のバンドルディレクトリを取得することになる。図12(b)で説明したようにシステムバンドルAの現在のバンドルディレクトリは、zzzとなる。S1304において、削除例外パス1001のバンドルディレクトリのパスと再展開後のバンドルディレクトリのパスが異なるかを判断する。図10の例で説明すると、削除例外パス1001は、xxx/data/setting.txtとなるため、この場合、バンドルディレクトリのパスは、xxxとなる。よって、S1303で取得したzzzと異なるため、S1305に進む。一致する場合は、S1306に進む。S1306において、削除対象例外パスリストの最後かどうかを判断し、まだリストに残っている場合は、S1303に戻り処理を繰り返す。全ての削除対象例外パスリストに対して処理を行った場合、S1307に進む。S1307において、削除対象例外パスリストの削除例外パスのファイル(ディレクトリ)をバンドルディレクトリごと削除し、S1308に進む。図10の例で説明すると、1つ目の例では、xxxフォルダを、2つ目の例では、yyyのフォルダを削除することになる。S1308において、移管処理を終了する。
以上、実施例2で示した方法により、再展開後でバンドルディレクトリが新規に作成されるようなケースであっても、削除対象例外として残したファイル/ディレクトリを、継続して使い続けることが可能となる。
以上、説明した実施例によれば、システム全体に影響を与えてしまうようなファイル、ディレクトリを定義した、削除対象例外リストを用いることで、部分的なファイル削除時に、必要なデータを削除されることを防ぐことが可能となる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (11)

  1. 画像形成装置であって、
    システムアプリケーションを削除する際に削除対象外として扱うファイルあるいはディレクトリを特定する削除対象外情報を保持する保持手段と、
    前記システムアプリケーション、一般アプリケーションを含む複数種類のアプリケーションのうち、削除対象とするアプリケーションを指定する指定手段と、
    前記指定されたアプリケーションに関するファイルあるいはディレクトリのうち、前記削除対象外情報を用いて、削除対象外として扱うファイルあるいはディレクトリを除いた、前記アプリケーションに関するファイルあるいはディレクトリを削除する削除手段を有し、
    前記一般アプリケーションは、前記画像形成装置に追加されるアプリケーションであり、
    前記システムアプリケーションを削除する際に削除対象外として扱う削除対象外情報は、前記一般アプリケーションに関連する情報であることを特徴とする画像形成装置。
  2. 複数種類のアプリケーションを保持するアプリケーション保持手段を有することを特徴とする請求項1に記載の画像形成装置。
  3. 前記アプリケーション保持手段は、アプリケーションの展開領域であることを特徴とする請求項2に記載の画像形成装置。
  4. 前記削除手段による削除の後、前記アプリケーションを新たな展開領域に、再展開する再展開手段と、
    前記新たな展開領域に、削除対象外のファイルをコピーするコピー手段を有することを特徴とする請求項3に記載の画像形成装置。
  5. 前記コピー手段によるコピーの後、コピーされる前の展開領域にある削除対象外のファイルを削除することを特徴とする請求項4に記載の画像形成装置。
  6. 前記システムアプリケーションを削除する際に削除対象外として扱う削除対象外情報は、前記一般アプリケーションのライセンス情報であることを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
  7. 前記システムアプリケーションは、前記一般アプリケーションの管理を行うことを特徴とする請求項1乃至6の何れか1項に記載の画像形成装置。
  8. 画像形成装置の制御方法であって、
    指定手段が、システムアプリケーション、一般アプリケーションを含む複数種類のアプリケーションのうち、削除対象とするアプリケーションを指定する指定工程と、
    削除手段が、前記指定されたアプリケーションに関するファイルあるいはディレクトリのうち、保持手段に保持されている前記システムアプリケーションを削除する際に削除対象外として扱うファイルあるいはディレクトリを特定する削除対象外情報を用いて、削除対象外として扱うファイルあるいはディレクトリを除いた、前記アプリケーションに関するファイルあるいはディレクトリを削除する削除工程を有し、
    前記一般アプリケーションは、前記画像形成装置に追加されるアプリケーションであり、
    前記システムアプリケーションを削除する際に削除対象外として扱う削除対象外情報は、前記一般アプリケーションに関連する情報であることを特徴とする画像形成装置の制御方法。
  9. 前記システムアプリケーションを削除する際に削除対象外として扱う削除対象外情報は、前記一般アプリケーションのライセンス情報であることを特徴とする請求項8に記載の画像形成装置の制御方法。
  10. 前記システムアプリケーションは、前記一般アプリケーションの管理を行うことを特徴とする請求項8又は請求項9に記載の画像形成装置の制御方法。
  11. 請求項1乃至の何れか1項に記載の画像形成装置としてコンピュータを機能させるためのプログラム。
JP2015155459A 2015-08-05 2015-08-05 画像形成装置及びその制御方法 Active JP6570364B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015155459A JP6570364B2 (ja) 2015-08-05 2015-08-05 画像形成装置及びその制御方法
US15/227,798 US9940334B2 (en) 2015-08-05 2016-08-03 Image forming apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015155459A JP6570364B2 (ja) 2015-08-05 2015-08-05 画像形成装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2017033468A JP2017033468A (ja) 2017-02-09
JP6570364B2 true JP6570364B2 (ja) 2019-09-04

Family

ID=57988321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015155459A Active JP6570364B2 (ja) 2015-08-05 2015-08-05 画像形成装置及びその制御方法

Country Status (2)

Country Link
US (1) US9940334B2 (ja)
JP (1) JP6570364B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960055B (zh) * 2017-04-01 2020-08-04 广东浪潮大数据研究有限公司 一种文件删除方法及装置
CN109189495B (zh) * 2018-08-02 2019-11-29 珠海格力电器股份有限公司 一种删除后台中应用的方法和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4215286B2 (ja) 1995-05-18 2009-01-28 セイコーエプソン株式会社 記憶装置内容整理システムおよび記憶装置内容整理方法
US6725444B2 (en) * 2000-12-14 2004-04-20 Communication Technologies, Inc. System and method for programmable removal of sensitive information from computing systems
JP4353003B2 (ja) * 2004-06-25 2009-10-28 日本電気株式会社 インストール方式およびインストール方法ならびに配布装置およびそのプログラム
JP2006119901A (ja) * 2004-10-21 2006-05-11 Toshiba Corp 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法
US8418226B2 (en) * 2005-03-18 2013-04-09 Absolute Software Corporation Persistent servicing agent
US8264717B2 (en) * 2005-07-11 2012-09-11 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
JP4584177B2 (ja) * 2006-04-12 2010-11-17 日本電信電話株式会社 プログラム設定情報処理方法およびプログラム設定情報処理システム
JP5454102B2 (ja) * 2009-11-25 2014-03-26 株式会社リコー ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム
KR20140029733A (ko) * 2012-08-29 2014-03-11 주식회사 팬택 어플리케이션 관리 기능을 갖는 디바이스 및 이를 위한 어플리케이션 관리 방법
JP2014178798A (ja) * 2013-03-14 2014-09-25 Canon Inc 画像形成装置、その制御方法およびコンピュータプログラム
JP6223001B2 (ja) * 2013-06-06 2017-11-01 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2017033468A (ja) 2017-02-09
US20170039215A1 (en) 2017-02-09
US9940334B2 (en) 2018-04-10

Similar Documents

Publication Publication Date Title
JP5112787B2 (ja) 情報処理装置、プログラム更新方法及びプログラム
EP2639735B1 (en) Information processor and recording medium
JP6147139B2 (ja) 情報処理装置、その制御方法、及びコンピュータプログラム
US9696978B2 (en) Information processing apparatus, application management method, and non-transitory computer-readable medium
JP6570364B2 (ja) 画像形成装置及びその制御方法
JP2008059238A (ja) 通信システム及びそれに使用するプリンタ
KR102067974B1 (ko) 화상 형성장치 및 어플리케이션의 삭제방법
JP6403559B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP4577225B2 (ja) 情報処理装置、情報処理装置の制御方法および制御プログラム
EP3462363B1 (en) Image forming apparatus and control method therefor
JP2003296079A (ja) データ処理装置及びデータ処理方法
JP6057740B2 (ja) 画像形成装置、情報処理方法及びプログラム
JP6929160B2 (ja) 画像形成装置およびその制御方法とプログラム
JP5494772B2 (ja) 機器、プログラム更新方法、プログラム、及びプログラム更新システム
JP2010176567A (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
JP2016018508A (ja) 画像形成装置及びその制御方法
JP2023166865A (ja) 情報処理装置、設定反映方法、及びプログラム。
JP6308526B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2017033380A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2021189487A (ja) 管理装置およびその制御方法
JP2020071606A (ja) 画像処理装置、情報処理方法及びプログラム
JP2015091095A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190806

R151 Written notification of patent or utility model registration

Ref document number: 6570364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151