JP2017004114A - 画像形成装置及びアプリケーションの削除方法 - Google Patents

画像形成装置及びアプリケーションの削除方法 Download PDF

Info

Publication number
JP2017004114A
JP2017004114A JP2015115039A JP2015115039A JP2017004114A JP 2017004114 A JP2017004114 A JP 2017004114A JP 2015115039 A JP2015115039 A JP 2015115039A JP 2015115039 A JP2015115039 A JP 2015115039A JP 2017004114 A JP2017004114 A JP 2017004114A
Authority
JP
Japan
Prior art keywords
bundle
application
image forming
forming apparatus
file
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
JP2015115039A
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 JP2015115039A priority Critical patent/JP2017004114A/ja
Priority to US15/162,864 priority patent/US9742948B2/en
Priority to KR1020160063871A priority patent/KR102067974B1/ko
Priority to CN201610367692.2A priority patent/CN106250068B/zh
Publication of JP2017004114A publication Critical patent/JP2017004114A/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • 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
    • H04N1/00941Interaction of different applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】削除対象の選択を簡易化して問題の解決に結びつかないアプリケーションをできるだけ残しつつ、所望のアプリケーションを効果的に削除する画像形成装置を提供する。
【解決手段】OSGi拡張部は、クリア指定ファイルが存在するかどうかをチェックする。クリア指定ファイルが存在しなければS1101NO、処理を終了するS1118。クリア指定ファイルが存在していればS1101YES、クリア指定ファイルからバンドル指定の値を読みとり、メモリに値を確保するS1102。TargetAppの値が、組み込みログインバンドルだった場合S1103YES、クリア指定ファイルからアクション指定の値を読みとるS1105。バンドル展開領域にインストールされているバンドルリストを取得して、各バンドルを処理対象バンドルとし、処理対象バンドルを順次変更してループ処理を行うS1106。
【選択図】図11

Description

本発明は、例えばアプリケーションをインストール可能な画像形成装置およびアプリケーションプログラム(以下「アプリ」と略称する)の展開領域の削除方法等に関するものである。
近年、画像形成装置においては、JAVA(登録商標、以下省略)環境に代表されるようなアプリ動作環境が提供されている。JAVAの持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。画像形成装置の機能やユーザビィリティの向上を図るために、上記JAVA環境などの環境下で動作するアプリを作成し、画像形成装置にインストールすることで、当該アプリにより所望の機能を実現できる。アプリプラットフォームとしては、組み込み機器向けのJAVAアプリプラットフォームである、OSGi(Open Services Gateway Initiative)Service Platform(以下、OSGi)がある(非特許文献1)。OSGiでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール/開始/停止/更新/アンインストールからなるライフサイクルを管理するための仕様を定義している。ここで、バンドルとは、JAVAモジュールのことを指し、本明細書においては、アプリと同義である。そのため、以後アプリのことをバンドルと表記する。このようなアプリプラットフォームは、コピー、スキャン、プリント等の組み込み機能をバンドルに提供することができる。
この画像形成装置において、バンドルに何かトラブルが発生した場合、サービスマンが記憶装置のバンドル展開領域、及びバンドルが保持しているデータを一旦削除することで、復旧を試みることが対処方法として考えられる。このとき、特許文献1に示すように、削除すべきファイルの選択を容易にして、削除する方法が提案されている。さらに、サービスマンによる削除対象のファイルの選択を不要とするために、バンドル展開領域、及びバンドルが保持しているデータを一括して全て削除する方法が考えられる。
特開平09-034755号公報
「OSGi Service Platform,Release4」, http://www.osgi.org/Download/Release4V40, 2005年10月
しかしながら、後者の場合、問題とは明らかに無関係なバンドルのデータを削除してしまう可能性がある。また、後からインストールしたバンドルは、削除後に再インストールする必要があり、ユーザとしては手間が発生する、という課題があった。
本発明は上記従来例に鑑みて成されたもので、削除対象の選択を簡易化して操作性を向上させるとともに、問題の解決に結びつかないアプリケーション(或いはその展開領域)をできるだけ残しつつ、所望のアプリケーションを効果的に削除する画像形成装置及びアプリケーションの削除方法を提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。
アプリケーションの追加および削除が可能な画像形成装置であって、
アプリケーションおよび削除するファイルを指定するための指定手段と、
前記指定手段により指定されたアプリケーションに関して、指定されたファイルを削除する削除手段とを備える。
本発明によれば、簡易な操作で効果的にアプリケーション及び削除対象を指定し、指定したアプリケーションに関する削除対象を削除することが可能となる。
画像形成装置のハードウェア構成図である。 画像形成装置のソフトウェアモジュール階層図である。 バンドルのインストールする流れを示したブロック図である。 バンドルのインストールとインストール先のバンドル展開領域について示したブロック図である。 バンドル展開領域の削除時の全体の動きを示したブロック図である。 クリアタイプの指定の為のUIを説明した図である。 クリア指定ファイルの記載例を示した図である。 クリア指定ファイルで指定するバンドル指定とアクション指定を説明するための表である。 クリアタイプ番号とクリア指定ファイルに記載する内容についての関連を示した表である。 クリアタイプ番号の指定から、再起動後の削除処理までを示したシーケンス図である。 OSGi拡張部211が、起動時にバンドル展開領域を削除するときのフローチャートである。 工場出荷時に行う出荷前クリアの指定の為のUIを説明した図である。 出荷前クリア時のクリア指定ファイルの記載例を示した図である。 出荷前クリアの対象外かどうかを指定したマニフェストを説明した図である。 出荷前クリアの指定から、再起動後の削除処理までを示したシーケンス図である。 OSGi拡張部211による、出荷前クリア時のバンドル展開領域を削除するときのフローチャートである。 フラグメントバンドルの概念図である。 フラグメントバンドルのクリア指定ファイルの記載例を示した図である。 OSGi拡張部211による、フラグメントバンドル指定時のバンドル展開領域を削除するときのフローチャートである。 バンドルID指定のクリア指定ファイルの記載例を示した図である。 バンドルの状態指定のクリア指定ファイルの記載例を示した図である。
以下、本発明を実施するための形態について図面を用いて説明する。
[実施例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の設定データを取り扱うデータベースである。後で述べるクリアタイプもこのデータベースに値が保持される。このデータを管理しているのが、設定データ管理部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、及び組み込みログインサービス215がある。これらは、初回起動時に展開先フォルダがないとき、もしくは、アップデートが必要なことを示すアップデートフラグが所定の場所にあるときに、OSGi拡張部211によって、格納されているファームウェアからインストールされる。このときのインストールについては、図4で示す。
システムサービス212としては、複数のバンドル群を管理し、新たなバンドルの追加、更新、削除をするためのバンドル管理サービス214がある。バンドル管理サービス214は、インストール制御サービス213を利用して、バンドルの追加、更新、削除を行う。
組み込みログインサービス215としては、標準の認証として利用可能なログインバンドル216がインストールされている。ログインバンドル216は、ユーザがログイン中に任意のバンドルから任意のタイミングでログイン情報の問い合わせがあるため、停止できない特性を持つバンドルである。仮にログインバンドル216が停止していた場合、ログイン情報の取得ができなくなるため、ログイン情報に紐づくデータを利用しているようなバンドルがあると、データの取得に失敗し動作に支障が生じる。ここで、ログイン情報とは、現在画像形成装置130にログインしているユーザのログイン名やメールアドレスなどの情報を指す。前記のように停止できない特性を持つため、画像形成装置130が起動中において、このログインバンドル216は、必ず1つだけ動作するものとなる。
一方で、後からインストールするタイプの後入れバンドル217がある。バンドルのインストールについては、図3で示す。後入れバンドル217として、一般バンドル219は、画像形成装置130において各種処理をユーザに提供する追加的なアプリケーションである。例えば、画像の加工や圧縮バンドル、印刷制限などの部門管理を行うバンドルなどがある。また、標準のログインバンドル216にとって代わる、後入れログインバンドル218をインストールすることも可能である。
各種機能を実現する一般バンドル219、及び後入れのログインバンドル218は、このバンドル管理サービス214の管理下で動作する。バンドル管理サービス214は、管理下に追加されたバンドルのバージョンを含むバンドル情報、ライセンス情報などを保持している。
<バンドルのインストール>
図3は、ユーザが、PC300から画像形成装置130へ、バンドルをインストールする流れを示したブロック図である。PC300のWEBブラウザにアプリケーションインストールUI(ユーザインタフェース)301を表示し、このアプリケーションインストールUI301からインストールしたいバンドルを指定し、インストールを行う。アプリケーションインストールUI301で指定されたバンドルを受信したバンドル管理サービス214は、それをインストール制御サービス213に渡す。バンドルファイルを受信したインストール制御サービス213は、OSGi210にインストールを依頼し、OSGi210は指定されたバンドルのインストールを行う。インストールされたバンドルは、バンドル管理サービス214によって管理される。
<バンドル展開領域の例>
図4は、画像形成装置130における、OSGi拡張部211によるファームウェアからバンドル展開領域402へのシステムサービス212と組み込みログインサービス215のインストールの流れと展開後のバンドル展開領域について示したブロック図である。バンドル展開領域402には、展開先フォルダ403が存在する。ただし、この展開先フォルダ403は、通常初回起動時にOSGi拡張部211によって作成される。OSGi拡張部211は、初回起動時で展開先フォルダ403が存在しないことや所定の場所にアップデートフラグが存在することを検知した場合、ファームウェア401に格納されているシステムサービス212、及び組み込みログインサービス215をバンドル展開領域402にある展開先フォルダ403にインストールを行う。これにより、OSGi210上でライフサイクルが管理されるようになる。インストールがアップデートの場合、既に同じバンドルIDをもつバンドルが展開されているときは、上書きでインストールされる。なおアップデートフラグは、インストールがアップデートの場合に所定の格納場所にセットされる。
次に、展開先フォルダ403であるAppFolderの配下にある、ファームウェア401からの展開バンドル群404について説明する。OSGi拡張部211は、インストールされたバンドルごとにユニークな名前のフォルダ名でフォルダを作成する。以下、このフォルダのことをバンドルディレクトリと呼ぶ。図4の場合、システムサービス405がSystemApp1というバンドルディレクトリにインストールされている。バンドルディレクトリ直下には、インストールされたjar406がapp0.jarという名前で配置される。更に、各バンドルが、データを格納するために利用するdataフォルダ407が配置される。同様に組み込みログインバンドル408もシステムサービス405と同様の構成でインストールされる。
一方で、図3で示した方法によりユーザが後からインストールした後入れバンドル群409について説明する。後入れログインバンドル410もシステムサービス405と同様の構成でインストールされる。また、一般バンドル411もシステムサービス405と同様の構成でインストールされる。
このようにバンドルは、当該バンドルのフォルダ(ディレクトリ)にインストールされる。インストールされるファイルにはjarファイルおよびdataフォルダ(データフォルダ)が含まれ、これらをまとめてバンドル関連ファイルと呼ぶ。なおjarファイルとは、Java(登録商標)バイトコード(すなわちプログラムの実体)およびそれが使用するリソースをまとめてアーカイブしたファイルであり、バンドルすなわちアプリケーションのプログラムそのものということもできる。
<バンドル展開領域の削除フロー>
図5は、バンドル展開領域402の削除時の全体のフローを示したブロック図である。S500において、操作部118からクリア対象を示すクリアタイプの指定、及びバンドル展開領域クリアの実行が指定される。指定方法のUIについては、図6で示す。そのUIからの実行指示を受け、S501において、クリア指定ファイル生成部205は、指定されたクリアタイプ番号に従って、クリア指定ファイル550をHDD104の所定の場所に生成する。クリアタイプ番号とクリア指定ファイル550に記載する内容の関係については、図9で示す。その後、S502においてユーザによって、画像形成装置130が再起動される。再起動後、S503において、OSGi拡張部211がクリア指定ファイル550を検知すると、そのクリア指定ファイル550に記載された指定に従って、バンドル展開領域402の展開先フォルダ403内の削除対象を削除する。
その後、S505において、必要な場合、ファームウェア401に格納されているシステムサービス212、及び、組み込みログインサービス215をバンドル展開領域に再展開する。
<クリアタイプの指定UI>
図6は、クリアタイプの指定の為の、操作部18に表示されるUI(クリア指定UI)600を説明した図である。サービスマンメニュー600は、サービスマンに必要な機能一覧を表示したメニューである。ユーザは、バンドル展開領域401を削除しようとした場合、以下の操作を行う。クリアタイプ601を選択後、符号たとえばクリアタイプ番号602を入力し、OKボタン604を押下する。その後、バンドル展開領域クリア603を選択後、OKボタン604を押下する。この操作によってクリア指定ファイル550が作成され、所定の格納場所に格納される。この後、画像形成装置130を再起動すると、バンドル展開領域402内の、選択に応じた対象バンドルが削除される。このように、図6のユーザインタフェースにより、アプリケーションおよびそのアプリケーションに関する削除対象すなわち削除対象のファイルを指定することができる。後述のように削除対象のファイルにはフォルダを含む。
図7は、クリア指定ファイル550の記載例を示した図である。削除の対象となるバンドル指定701には、削除対象のバンドルであることを示すキー文字列(TargetApp)に続けてバンドルの種類(図7ではsystem,login1)を指定する。アクション指定702には、削除対象バンドルに対して実行する内容の指定であることを示すキー文字列(Action)及び内容(図7ではjar)を指定する。
<バンドル指定およびアクション指定>
図8は、クリア指定ファイル550で指定するバンドル指定701とアクション指定702とを説明するための表である。バンドル指定701(TargetApp)では、削除対象のバンドルを何にするかを指定する。この削除対象の分類方法として、バンドルタイプで指定可能とする。この場合、システムバンドル(system)、組み込みログインバンドル(login1)、後入れログインバンドル(login2)、一般バンドル(normal)、全てのバンドル(all)のいずれかが選択可能とする。バンドル指定701では、複数の対象を指定可能とする。図7の例では、削除対象バンドルとしてsystemとlogin1の2種類が指定されている。システムバンドルは、システムの一部ということもでき、バンドルをすべてクリアしても画像形成装置の再起動により再インストールされる。ログインバンドルは例えばログインしているユーザに関する情報を提供するなど、ログインに関するサービスを実現する。一般バンドルはその他のバンドルであり、後付け的にインストールし、またアンインストールすることができる。
一方、アクション指定702(Action)では、対象バンドル701に対してどんなことを実行するかを指定する。アクション指定702で「jar」が指定された場合は、各バンドルディレクトリ直下のjarファイル406を削除する。この場合、システムバンドルや組み込みバンドルのようなファームウェア401にオリジナルのjarが存在している再展開可能バンドル802については、それらを再展開する。そのためにアップデートフラグを所定の場所に配置する。一方、後入れログインバンドルや一般バンドルのような再展開不可バンドル803については、jarファイルの再展開はできない。その為、dataフォルダだけを残してもそれ以降にこのフォルダの使い道がなく不要ファイルが残ってしまうことが懸念される。そのため、再展開不可バンドル803に対して「jar」が指定された場合、バンドルディレクトごと削除する。
また、アクション指定702で「data」が指定された場合は、各バンドルディレクトリ直下のdataフォルダ407を削除する。
アクション指定801で「all」が指定された場合は、インストール済みの全バンドルについてそのバンドルディレクトリごと削除する。また、「jar」指定のときと同様、再展開可能バンドル802については、それらを再展開する。そのために所定の場所にアップデートフラグを配置する。以上を踏まえて、具体的なケースについて説明していく。
ケース1で示すTargetApp=system、login1/Action=jarが指定されたときは、システムバンドルと組み込みログインバンドルのjarファイルを削除する。削除されたjarファイルは、その後の起動時処理において、OSGi拡張部211によって、ファームウェア401から再展開される。
ケース2で示すTargetApp=system、login1/Action=dataが指定されたときは、システムバンドルと組み込みログインバンドルのバンドルディレクトリが保持するdataフォルダが削除される。
ケース3で示すTargetApp=system、login1/Action=allが指定されたときは、システムバンドルと組み込みログインバンドルのバンドルディレクトリが、ディレクトリごと削除される。これらは、その後の起動時処理において、OSGi拡張部211によって、削除されたバンドルのバンドルディレクトリ及びjarファイルがファームウェア401から再展開される。
ケース4で示すTargetApp=login2、normal/Action=jarが指定されたときは、後入れログインバンドルと一般バンドルのバンドルディレクトリが、ディレクトリごと削除される。
ケース5で示すTargetApp=login2、normal/Action=dataが指定されたときは、後入れログインバンドルと一般バンドルのバンドルディレクトリが保持するdataフォルダが削除される。
ケース6で示すTargetApp=login2、normal/Action=allが指定されたときは、後入れログインバンドルと一般バンドルのバンドルディレクトリが、ディレクトリごと削除される。これは、ケース4と同じ動きとなる。
ケース7で示すTargetApp=all/Action=jarが指定されたときは、再展開可能バンドル802については、jarファイルが削除される。削除された再展開可能バンドルのjarファイルは、その後の起動時処理においてOSGi拡張部211によって、ファームウェア401から再展開される。一方、再展開不可バンドル803については、バンドルディレクトリごと削除される。
ケース8で示すTargetApp=all/Action=dataが指定されたときは、全てのバンドルのdataフォルダが削除される。
ケース9で示すTargetApp=all/Action=allが指定されたときは、全てのバンドルのバンドルディレクトリごと削除される。再展開可能バンドル802については、その後の起動時処理においてOSGi拡張部211によって、バンドルディレクトリ及びjarファイルがファームウェアから再展開される。
<クリアタイプ番号>
図9は、クリア指定UI600で指定するクリアタイプ番号とクリア指定ファイルに記載する内容とについての関連を示した表である。例えば、クリアタイプ番号0の場合、クリア指定ファイルには、図8のケース9で示した内容を記載することを示している。このようにクリアタイプを指定できるようにすることで、たとえばdataを削除せずにjarの再展開だけを試すことが可能となる。このため、画像形成装置130にバンドルが原因でトラブルが発生した場合、従来だと全てのバンドル展開領域を削除するしかなかったところを、例えば、クリアタイプ1を選択することで、dataを削除せずにjarの再展開だけを試みることができる。これによりトラブルが解消されれば、データを無駄に削除する必要がなくなるメリットがある。また、クリアタイプ3を選択することで、一旦削除すると再インストールすることが必要な再展開不可バンドルに対して、dataだけを削除することを試みることが可能となる。 これによりトラブルが解消されれば、バンドルを再インストールする手間を減らすメリットがある。
このように、図8の表に示したケース1からケース9のすべて又は代表的な一部ケースをクリアタイプ番号と関連付けておくことで、クリア指定UI600では、削除の対象を簡便なコードで指定することができる。この関連付けは、たとえば図9のように、クリアタイプ番号と、クリア指定ファイル550に記載するバンドル指定701及びアクション指定702の組とを表として登録しておくことができる。もちろん、プログラムへのハードコーディングなど他の方法により関連付けてもよい。そしてこの関連付けに従って、指定されたクリアタイプ番号に応じたバンドル指定701及びアクション指定702が、クリア指定ファイル550に記述される。なおクリアタイプ番号を付与するケースは、図8の例では、ケース1〜5を指定できれば、ケース6〜9をカバーすることができる。ケース6ではケース4と同じ処理が行われ、ケース7〜9は、全バンドルをカバーするためにバンドル指定が異なるクリアタイプ番号を指定して複数回の操作を行うことで実現できるためである。
<削除処理のシーケンス>
図10は、クリアタイプ番号の指定のから、再起動後の削除処理までを示したシーケンス図である。S1000において、ユーザが、UI202からクリアタイプ601を選択した状態で、クリアタイプ番号602を入力しOKボタンを押下する。S1001において、UIは、設定データ管理部203に入力されたクリアタイプ番号を設定データベース204に格納するように依頼する。S1002において、ユーザが、バンドル展開領域クリアを選択した状態で、OKボタンを押下する。S1003において、UIは、クリア指定ファイル生成部205に展開領域クリアの実行指示を行う。S1004において、クリア指定ファイル生成部205は、設定データ管理部203に指定されているクリアタイプの値(クリアタイプ番号)を取得しにいく。S1005において、クリア指定ファイル生成部205は、取得したクリアタイプの値を基に、クリア指定ファイル550を生成する。すなわち、クリアタイプ番号に関連付けられたバンドル指定701およびアクション指定702をクリア指定ファイル550に書き込む。S1006において、ユーザが、画像形成装置130を再起動する。S1007において、OSGi拡張部211は、クリア指定ファイル550を参照する。S1008において、OSGi拡張部211は、クリア指定ファイル550による指定に従ってバンドル展開領域402を削除する。このS1007、及び、S1008におけるOSGi拡張部211のフローは、図11で示す。
<OSGi拡張部によるバンドル展開領域の削除フロー>
図11は、OSGi拡張部211が、起動時にバンドル展開領域を削除するときのフローチャートである。S1100において、バンドル展開領域削除処理が開始される。S1101において、OSGi拡張部211は、クリア指定ファイル550が存在するかどうかをチェックする。クリア指定ファイル550が存在しなければS1118に進み、処理を終了する。クリア指定ファイル550が存在していればS1102に進む。S1102において、OSGi拡張部211は、クリア指定ファイル550からバンドル指定(以下、TargetAppということもある)701の値を読みとり、メモリに値を確保して、S1103に進む。S1103において、TargetApp701の値が、systemすなわちシステムバンドル、もしくは、login1すなわち組み込みログインバンドルだった場合、S1104に進み、アップデートフラグを生成する。これにより、この後のOSGi拡張部211による起動処理において、ファームウェア401からの再展開処理が走ることとなる。S1105において、OSGi拡張部211は、クリア指定ファイル550からアクション指定(以下Actionと呼ぶこともある)702の値を読みとり、メモリに値を確保して、S1106に進む。S1106において、OSGi拡張部211は、バンドル展開領域にインストールされているバンドルリストを取得して、次にS1107に進み、各バンドルを処理対象バンドルとし、処理対象バンドルを順次変更してループ処理を行う。
S1107において、処理対象バンドルのバンドルタイプとTargetApp701が一致するかどうかをチェックする。バンドルタイプとは、一般バンドル(normal)、ログインバンドル(login)、システムバンドル(system)のいずれかである。TargetApp701でnormalが指定されている場合は、バンドルタイプが一般バンドルであれば一致とみなされる。TargetApp701でlogin1すなわち組み込みログインバンドル、もしくはlogin2すなわち後入れログインバンドルが指定されている場合は、処理対象バンドルのバンドルタイプがログインバンドルであれば一致とみなされる。TargetApp701でsystemすなわちシステムバンドルが指定されている場合は、処理対象バンドルのバンドルタイプがシステムバンドルであれば一致とみなされる。S1107において、いずれとも一致しなければ、S1117に進む。S1107において、一致した場合、S1108に進む。
S1108において、処理対象バンドルのバンドルタイプがsystemすなわちシステムバンドルの場合、S1110に進み、再展開能フラグをONに設定する。S1108において、バンドルタイプがnormalすなわち一般バンドルの場合、S1111に進み、再展開能フラグをOFFにする。S1108において、バンドルタイプがloginすなわちログインバンドルの場合、S1109に進む。S1109において、ログインバンドルが、組み込みログインバンドルなのか、後入れログインバンドルなのかを判定する。組み込みなのか、後入れなのかは、これらのバンドルのインストール時にOSGi211がもつ管理情報で保持されているものとする。或いは、処理対象バンドルのフォルダ名で判定してもよい。もし、組み込みログインバンドルであればS1110に進み、再展開能フラグをONにする。もし、後入れログインバンドルであれば、S1111に進み、再展開能フラグをOFFにする。
S1112において、S1103において読み取ったAction702の値が何かを判定する。S1112において、Action702の値がallすなわちバンドルディレクトリごとの削除であった場合、S1115に進み、処理対象バンドルのバンドルディレクトリごと削除する。S1112において、Action702の値がdataすなわちデータフォルダの削除であった場合、S1116に進み、処理対象ンドルのバンドルディレクト直下のdataフォルダ407を削除する。Action702の値がjarすなわちjarファイルの削除であった場合、S1113に進み、再展開能フラグの値を判定する。S1113において、再展開能フラグがONであった場合、S1114に進み、処理対象バンドルのバンドルディレクトリ直下のjarファイル406を削除する。S1113において、再展開能フラグがOFFであった場合、S1115に進み、処理対象バンドルのバンドルディレクトリごと削除する。S1117において、処理対象のバンドルが最後であったかどうかを判定し、最後でなければS1107に戻り、処理を繰り返す。S1117において、処理対象のバンドルが最後であったと判定された場合、S1118に進み、処理を終了する。
なお図11には示されていないが、前述のとおり再展開可能なjarファイルは画像形成装置の再起動処理に伴って再展開される。
以上、画像形成装置130におけるバンドル展開領域を、指定したクリアタイプによって削除することが可能となる。これにより、バンドルにトラブルが発生した場合、効果的な削除方法を選択可能となる。たとえば、バンドル指定701でシステムを指定し、アクション指定702としてjarを指定すれば(すなわち図9のクリアタイプ番号=1)、削除したシステムバンドルのjarファイルは再展開されるので、画像形成装置は、バンドルをクリアした後でもクリアする前と同様に利用できる。これで解消できなければ、例えば次にはバンドル指定701によりシステムバンドルを、アクション指定702によりdataを指定してdataフォルダを削除して、再起動後の画像形成装置が正常に動作するか試す、というように、段階的にクリアする対象を変えつつ、エラーの解消を試みることができる。
[実施例2]
画像形成装置の工場組み立て時に作業用のバンドルをインストールすることがある。そのような場合、工場出荷時には、それらを一旦全てクリアしてバンドルがインストールされていない初期状態に戻す必要が出てくる。そのため、出荷前クリアを出荷前の作業の最後に実行することで、バンドル展開領域を全て削除する必要があった。一方で、設置の手間などを考えて、ユーザによく利用される一般バンドルや売り込みたいバンドルを予め工場でインストールしておくことが考えられる。これをプレインストールバンドルと呼ぶ。しかしながら、前述した出荷前クリアを実行することで、このプレインストールバンドルも削除されてしまうという課題があった。たとえば、画像形成装置の組み立て時に、あらかじめ用意しておいたプレインストールバンドルを含むファームウェアのイメージデータをハードディスク104に複製することで、ファームウェアを一括してインストールでき生産性を向上させることができる。そのような生産方法を採用する場合には、プレインストールバンドルのインストール後に出荷前クリアを行うことは避けられない。本実施例2では、この課題に対する、工場出荷時のバンドル展開領域の削除の方法の実施例を示す。
図12は、工場出荷時に行う出荷前クリアの指定の為のUI1200を説明した図である。工場メニューUI1200は、工場内での作業用に必要な機能のメニューである。出荷前クリア1201を選択した状態で、OKボタン1202を押下すると、出荷前のクリアが実行される。
図13は、出荷前クリア時のクリア指定ファイル1300の記載例を示した図である。TargetApp1301には、出荷前クリアを意味するShipping_Clearを指定する。この場合アクション指定は参照しないので、どのような内容であってもよいし、なくともよい。出荷前クリアが指定されると、クリア指定ファイル生成部205が図13に示すクリア指定ファイルを生成して所定箇所に格納する。
図14は、バンドルにおけるマニフェストファイル1400を示した図である。マニフェストファイルはバンドルごとに存在する。マニフェストファイルには、バージョンや、JAVAバンドルのjarファイルのプロパティ値が記述される。その内容はマニフェスト項目とそれに対する値という形式で記述される。出荷前クリアの対象外バンドルかどうかを示す対象外バンドル(OutOfShippingClear)1401は、マニフェスト項目の中の一つであり、その値がtrueにセットされている場合、出荷前クリアの削除対象外バンドルであることを示す。一方で、false、もしくは、OutOfShippingClearの記載がない場合、出荷前クリアの削除対象バンドルであることを示す。プレインストールバンドルは、このOutOfShippingClearをtrueにしておくことで、出荷前クリアの対象外とすることができる。
OSGi210は、バンドルマニフェストに記述された値を管理情報としてメモリ上に保持している。これらは、対象とするバンドル名と、マニフェストに書かれた項目値などをキーとし、キーを指定することでそれに紐づいた値を取得できる。よって、OutOfShippingClearをキーとすれば、この値を管理情報から取得可能である。
<出荷前クリア時の削除処理シーケンス>
図15は、出荷前クリア時のUIの指定から、再起動後の削除処理までを示したシーケンス図である。S1500において、ユーザが、出荷前クリア1201を選択した状態で、OKボタンを押下する。S1501において、UIは、クリア指定ファイル生成部205に出荷前クリア時のバンドル展開領域クリアの実行指示を行う。S1502において、クリア指定ファイル生成部205は、その指示に従い、クリア指定ファイル1300を生成する。S1503において、ユーザが、画像形成装置130を再起動する。S1504において、OSGi拡張部211は、クリア指定ファイル1300を参照する。S1505において、OSGi拡張部211は、OutOfShippingClearがセットされているバンドルを対象として出荷前クリア時のバンドル展開領域削除を実行する。このS1504、及び、S1505におけるOSGi拡張部211のフローは、図16で示す。
図16は、OSGi拡張部211による、出荷前クリア時のバンドル展開領域を削除するときのフローチャートである。S1600〜S1602までは、図11のS1100〜S1102と同じ処理となる。S1600において、バンドル展開領域削除処理が開始される。S1601において、OSGi拡張部211は、クリア指定ファイル1300が存在するかどうかをチェックする。クリア指定ファイル1300が存在しなければS1610に進み、処理を終了する。クリア指定ファイル1300が存在していればS1602に進む。S1602において、OSGi拡張部211は、TargetApp1301の値を読みとり、メモリに値を確保して、S1603に進む。S1603において、TargetApp1301の値がshipping_clearだった場合、S1605に進み、アップデートフラグを生成する。これにより、この後のOSGi拡張部211による起動処理において、ファームウェア401からの再展開処理が走ることとなる。S1603において、TargetApp1301の値が、shipping_clearでなかった場合、S1604に進む。これ以降は、図11で示した通常起動時のフローに戻り、S1103からフローが処理される。
S1606において、OSGi拡張部211は、バンドル展開領域にインストールされているバンドルリストを取得して、次にS1607に進み、各バンドルを処理対象のバンドルとして順次着目してループ処理を行う。S1607において、最初のバンドルのマニフェストOutOfShippingClearの値がtrueであるかどうかをチェックする。この値がfalse、あるいは、OutOfShippingClearの定義がない場合は、S1608に進み、そのバンドルのバンドルディレクトリごと削除する。OutOfShippingClearの値がtrueであった場合、S1609に進み、そのバンドルについては、何も削除をしない。S1609において、処理対象のバンドルが最後だったかどうかを判定し、最後でなければ、S1607に戻り、処理を繰り返す。S1609において、ループが最後であると判定された場合、S1610に進み、処理を終了する。
以上、本実施例2にて示したように、特定のバンドルだけを残してバンドル展開領域を削除することが可能となる。この例では、たとえばプレインストールバンドルについてはそのマニフェストファイルのOutOfShippingClear項目をセット、すなわちtrueとしておく。このようにすれば、プレインストールバンドルは削除されることなく、システムバンドルは削除後に再展開されて、出荷時クリアを実現できる。
[実施例3]
本実施例3からは、インストールされたバンドルの削除のユースケースを鑑み、削除単位のバリエーションとして効率の良い削除方法についての実施例を示す。まず、フラグメントバンドルを対象とした削除について述べる。バンドルには、フラグメントバンドルと呼ばれるタイプのバンドルがある。図17は、そのフラグメントバンドルの概念を説明する図である。ここでは、ホストバンドル1700に対して、言語ローカライズリソースをもつフラグメントバンドル1701と1702がインストールされる例を示している。ホストバンドルにフラグメントバンドルをインストールするためには、OSGi210の規定上、以下のマニフェスト、及びバンドルパーミッションの指定が必要となる。フラグメントバンドルとは、簡単に説明するなら、ホストバンドルに関連づけれてホストバンドルと協働するバンドル(アプリケーション)である。フラグメントバンドルは、フラグメントバンドル単体でインストールおよびアンインストールが可能である。
−ホストバンドルのマニフェスト1703
Bundle-ManifestVersionに2と指定する。Bundle-SymbolicNameには、フレームワーク内で一意な名前を付ける。
−フラグメントバンドルのマニフェスト1705
Bundle-ManifestVersionに2と指定する。Fragment-Hostには、ホストバンドルのマニフェスト1703に記載の<ホストのバンドルシンボリック名>を指定する。本値が一致することでホストバンドルとフラグメントバンドルが同一バンドルの構成要素であることを示すものとなる。
−ホストバンドルのパーミッション1704
BundlePermission[バンドルシンボリック名, HOST]
−フラグメントバンドルのパーミッション1706
BundlePermission[バンドルシンボリック名, FRAGMENT]。
上記条件を満足する状態で、フラグメントバンドルをインストールすると、OSGi210がフラグメントバンドルのマニフェスト情報からホストバンドルを特定し、ホストバンドルのクラスパスにフラグメントバンドル自身のクラスパスの追加を行う。ここで「クラスパス」とは、JAVAバンドルを実行するときに、JavaVMがどの場所からクラスファイルを読み込めばよいかを、指定するためのものである。更に、ホストバンドルのクラスローダによって、フラグメントバンドル内の全てのクラスとリソースがロードされる。ここで、「クラスローダ」とは、クラスのロードやリソースの検索を担当するオブジェクトであり、全てのクラスはクラスローダによってJavaVMにロードされバンドルから利用可能となる。
本例では、フラグメントバンドルとして日本語リソース1701、中国語リソース1702が本体であるホストバンドル1700にインストールされ、その後、ホストバンドル1700が、これらの日本語、中国語リソースを利用して、リソースの言語切り替えが可能となる。つまり、ホストバンドルのUI上の表示は英語であるが、ホストバンドルのUI上でリソース切り替え指定をすることで、日本語表示や中国語表示にするようにホストバンドルを作ることが可能である。リソースとしては、ここで示したような言語リソースだけでなくて、イメージリソースの切り替えも可能である。よって、標準では英語表示のイメージを利用していたが、前記ホストバンドルのUI上でリソース切り替え指定をすることで、日本語、または中国語表示のイメージに切り替えることが可能である。このようなリソースの切り替えの目的でフラグメントバンドルが利用されることが多い。
この例で示したようにフラグメントバンドルは、言語リソースを多数保持していることが多く、これらを一度に削除して、リソースの影響を考えないでバンドルの評価をしたいことがある。その場合、ひとつずつフラグメントバンドルをアンインストールしてもよいが、図18に示すように、クリア指定ファイルに記載することで一度に削除することが可能となる。図18は、フラグメントバンドル削除を指定したクリア指定ファイル1800の記載例を示した図である。バンドル指定であるTargetApp1801には、フラグメントバンドルを削除対象とすることを示すfragmentBundleを指定する。ここでは省略したが、このバンドル指定は直接記載せず、たとえば実施例1のようにユーザインタフェースを介してクリアタイプ番号を指定させ、特定の番号が指定されたならクリア指定ファイルのバンドル指定1801にfragmentBundleを書き込んでもよい。
<フラグメントバンドルの削除フロー>
図19は、OSGi拡張部211による、フラグメントバンドルを削除対象としたバンドル展開領域を削除するときのフローチャートである。S1900〜S1902までは、図16のS1600〜S1602と同じ処理となるため説明を省略する。S1903において、TargetApp1801の値が、fragmentBundleだった場合、S1905に進み、アップデートフラグを生成する。これにより、この後のOSGi拡張部211による起動処理において、ファームウェア401からの再展開処理が走ることとなる。S1903において、TargetApp1301の値が、fragmentBundleでなかった場合、S1904に進む。これ以降は、図11で示した通常起動時のフローに戻り、S1103からフローが処理される。なおS1904では図16のS1603に分岐してもよい。
S1905において、OSGi拡張部211は、バンドル展開領域にインストールされているバンドルリストを取得して、次にS1906に進み、各バンドルに対してループ処理を行う。S1906において、最初のバンドルがフラグメントバンドルかどうかをチェックする。例えばマニフェストファイルにfragment host項目があるか或いはバンドルパーミッション1706が「fragment」であれば、フラグメントバンドルであると判定できる。処理対象のバンドルが、フラグメントバンドルであった場合、そのバンドルのバンドルディレクトリごと削除する。処理対象のバンドルがフラグメントバンドルでなかった場合、S1908に進み、そのバンドルについては、何も削除をしない。S1908において、処理対象のバンドルが最後のバンドルであったかどうかを判定し、最後でなければS1906に戻り、処理を繰り返す。S1908において、ループが最後であったと判定された場合、S1909に進み、処理を終了する。
以上、本実施例3にて示したように、フラグメントバンドルのみを削除対象としてバンドル展開領域を削除することが可能となる。なおこの例ではフラグメントバンドルを対象としたが、他の種類のバンドルを削除対象とすることももちろん可能である。
[実施例4]
実施例3に引き続き、バンドルの削除のユースケースを鑑み、削除単位のバリエーションとして効率の良い削除方法についての実施例を示す。本実施例では、バンドルIDを指定した削除方法について述べる。バンドルにおけるマニフェストファイルは、必ずユニークなバンドルIDを持つ。よって、そのバンドルのバンドルIDを知っていれば、バンドルを特定することができる。よって、あるバンドルのデータフォルダを削除したいときなどは、図7で示したアクション指定(Action)702=dataの指定と、バンドルIDの組み合わせにより、ある特定のバンドルのデータだけを削除することが可能となる。バンドルIDは、例えば図6のユーザインタフェースにおいて、バンドルIDを入力するためのクリアタイプ番号を決めておく。その番号が指定された場合に、バンドルIDの入力欄によりIDを受け付け、入力されたIDをクリア指定ファイルに書き込むように構成すればよい。
図20は、クリア指定ファイル2000の記載例を示した図である。バンドル指定(TargetApp)2001には、削除対象バンドルのバンドルIDを指定する。ここにあるように、例えば文字列「bundleID=」の後にバンドルIDを指定する。アクション指定(Action)2002には、削除対象バンドルに対して実行する内容を指定する。OSGi拡張部211が、起動時にバンドル展開領域を削除するときのフローは、図11、及び図19と同義の為、詳細は省略する。TargetApp2001の指定に対する処理としては、S1906のタイミングにおいて、バンドルが持つバンドルIDとTargetApp2001で指定されたバンドルIDとが一致すれば、そのバンドルを削除対象とする。また、Action2002の指定に対する処理としては、S1112〜S1116と同じ処理を行う。すなわち、本実施例は、実施例1においてはバンドルを種類で指定しているところを、それに代えてバンドルIDで指定したものということができる。
以上、本実施例4にて示したように、特定のバンドルIDをもつバンドルを削除対象としてバンドル展開領域内のそのバンドルがもつdataフォルダを削除することが可能となる。
[実施例5]
実施例3、及び実施例4に引き続き、バンドルの削除のユースケースを鑑み、削除単位のバリエーションとして効率の良い削除方法についての実施例を示す。本実施例では、バンドルの状態を指定した削除方法について述べる。インストールされたバンドルは、開始/停止などの状態を持つ。この状態は、OSGi210によって管理されており、その状態はOGGi拡張部211から取得可能である。停止しているバンドルは、利用していないバンドルとみなすことができるので、利用していないバンドルのデータを削除して、ストレージを空けるなどのユースケースが考えられる。
図21は、バンドルの状態指定のクリア指定ファイル2100の記載例を示した図である。TargetApp2101には、ステータスを示す値を指定する。ここでは、文字列「status=」の後に状態としてstopを指定しているので、停止しているバンドルを表す。Action2102には、削除対象バンドルに対して実行する内容を指定する。
OSGi拡張部211が、起動時にバンドル展開領域を削除するときのフローは、図11、及び図19と同義の為、詳細は省略する。TargetApp2001の指定に対する処理としては、S1906のタイミングにおいて、バンドルの状態を判定し、TargetApp2001で指定された状態とが一致すれば、そのバンドルを削除対象とする。また、Action2002の指定に対する処理としては、S1112〜S1116と同じ処理を行う。
以上、本実施例5にて示したように、特定の状態をもつバンドルを削除対象としてバンドル展開領域内のそのバンドルがもつdataフォルダを削除することが可能となる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
213:インストール制御サービス、214:バンドル管理サービス、215:組込ログインサービス、216:ログインバンドル、217:後入れバンドル、218:ログインバンドル、219:一般バンドル

Claims (17)

  1. アプリケーションの追加および削除が可能な画像形成装置であって、
    アプリケーションおよび削除するファイルを指定するための指定手段と、
    前記指定手段により指定されたアプリケーションに関して、指定されたファイルを削除する削除手段と
    を備えることを特徴とする画像形成装置。
  2. 前記指定手段は、アプリケーションをその種類で指定することを特徴とする請求項1に記載の画像形成装置。
  3. 前記指定手段は、前記アプリケーションの種類とファイルの種類とを組み合わせた符号を指定することにより前記アプリケーションおよび前記ファイルを指定することを特徴とする請求項1又は2に記載の画像形成装置。
  4. 前記指定手段は、前記符号を入力するためのユーザインタフェースを有することを特徴とする請求項3に記載の画像形成装置。
  5. 前記指定手段により指定できる前記アプリケーションの種類は、システムに組み込まれたアプリケーションであるシステム、ログインの際に実行されるアプリケーションであるログイン、その他のアプリケーションである一般、のうち少なくともいずれかを含み、
    前記指定手段により指定できる前記ファイルの種類は、アプリケーションの実体であるプログラム、またはデータの少なくともいずれかを含むことを特徴とする請求項1乃至4のいずれか一項に記載の画像形成装置。
  6. 前記指定手段により前記アプリケーションの種類として再展開可能なシステムまたはログインが指定されている場合、前記ファイルの種類としてプログラムが指定されていれば、前記削除手段は該当するプログラムを削除し、
    前記指定手段により前記アプリケーションの種類として再展開不可の一般またはログインが指定されている場合、前記ファイルの種類としてプログラムが指定されていれば、前記削除手段は、該当するプログラムと該プログラムのデータとを含むフォルダを削除することを特徴とする請求項5に記載の画像形成装置。
  7. 前記指定手段により前記ファイルの種類としてデータが指定されている場合には、前記削除手段は、指定された前記アプリケーションのデータを削除することを特徴とする請求項5又は6に記載の画像形成装置。
  8. 前記指定手段により前記アプリケーションの種類として再展開可能なシステムまたはログインが指定されている場合、前記ファイルの種類としてプログラム及びデータが指定されていれば、前記削除手段は、該当するプログラムと該プログラムのデータとを含むフォルダを削除することを特徴とする請求項5乃至7のいずれか一項に記載の画像形成装置。
  9. 前記削除手段により、再展開可能な前記システムまたは前記ログインの種類のアプリケーションのプログラムが削除された場合には、削除された前記プログラムを再起動後にインストールし直す手段を更に有することを特徴とする請求項6又は8に記載の画像形成装置。
  10. 前記指定手段は、予め定められた特定のアプリケーションを指定でき、
    前記削除手段は、前記予め定められた特定のアプリケーションが指定された場合には、前記特定のアプリケーションのプログラムとデータとを含むフォルダを削除することを特徴とする請求項1に記載の画像形成装置。
  11. 前記特定のアプリケーションは、前記特定のアプリケーションであることを示す情報を関連付けられており、前記削除手段は、前記情報に基づいて前記特定のアプリケーションを特定することを特徴とする請求項10に記載の画像形成装置。
  12. 前記特定のアプリケーションは、他のアプリケーションと協働するフラグメントバンドルであることを特徴とする請求項11に記載の画像形成装置。
  13. 前記指定手段は、アプリケーションをアプリケーションのIDで指定でき、
    前記削除手段は、該当するアプリケーションについて、指定されたファイルを削除することを特徴とする請求項1に記載の画像形成装置。
  14. 前記指定手段は、アプリケーションをアプリケーションの状態で指定でき、
    前記削除手段は、該当するアプリケーションについて、指定されたファイルを削除することを特徴とする請求項1に記載の画像形成装置。
  15. 前記アプリケーションを実行するためのプラットフォームと、
    前記画像形成装置の提供する機能を前記アプリケーションにより利用するためのライブラリと
    を更に有することを特徴とする請求項1乃至14のいずれか一項に記載の画像形成装置。
  16. アプリケーションの追加および削除が可能な画像形成装置におけるアプリケーションの削除方法であって、
    アプリケーションおよび削除するファイルを指定するための指定工程と、
    前記指定工程により指定されたアプリケーションに関して、指定されたファイルを削除する削除工程と
    を有することを特徴とするアプリケーションの削除方法。
  17. 請求項1乃至15のいずれか一項に記載の画像形成装置としてコンピュータを機能させるためのプログラム。
JP2015115039A 2015-06-05 2015-06-05 画像形成装置及びアプリケーションの削除方法 Pending JP2017004114A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015115039A JP2017004114A (ja) 2015-06-05 2015-06-05 画像形成装置及びアプリケーションの削除方法
US15/162,864 US9742948B2 (en) 2015-06-05 2016-05-24 Image forming apparatus and method for deleting application
KR1020160063871A KR102067974B1 (ko) 2015-06-05 2016-05-25 화상 형성장치 및 어플리케이션의 삭제방법
CN201610367692.2A CN106250068B (zh) 2015-06-05 2016-05-30 图像形成装置以及应用的删除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015115039A JP2017004114A (ja) 2015-06-05 2015-06-05 画像形成装置及びアプリケーションの削除方法

Publications (1)

Publication Number Publication Date
JP2017004114A true JP2017004114A (ja) 2017-01-05

Family

ID=57451371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015115039A Pending JP2017004114A (ja) 2015-06-05 2015-06-05 画像形成装置及びアプリケーションの削除方法

Country Status (4)

Country Link
US (1) US9742948B2 (ja)
JP (1) JP2017004114A (ja)
KR (1) KR102067974B1 (ja)
CN (1) CN106250068B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015462A (ja) * 2019-07-12 2021-02-12 富士ゼロックス株式会社 アプリケーションプログラム及びソフトウェアエージェント

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6935291B2 (ja) * 2017-09-29 2021-09-15 キヤノン株式会社 画像形成装置及びその制御方法
CN113626101B (zh) * 2021-08-04 2024-06-18 深圳市闪联信息技术有限公司 一种无痕退出的电子白板系统及其无痕退出方法

Family Cites Families (21)

* 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
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
JP4577225B2 (ja) * 2006-01-31 2010-11-10 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法および制御プログラム
JP4912026B2 (ja) * 2006-04-27 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法
US9003396B2 (en) * 2006-06-19 2015-04-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. File manager integration of uninstallation feature
US8522343B2 (en) * 2009-12-21 2013-08-27 Palm, Inc. Removing an active application from a remote device
CN101795320A (zh) * 2010-01-28 2010-08-04 惠州Tcl移动通信有限公司 一种移动通信终端文件清理的方法
GB2496807B (en) * 2010-12-13 2019-11-06 Hitachi Ltd Computer system, management method of the computer system, and program
KR20140029733A (ko) * 2012-08-29 2014-03-11 주식회사 팬택 어플리케이션 관리 기능을 갖는 디바이스 및 이를 위한 어플리케이션 관리 방법
JP5960005B2 (ja) 2012-09-18 2016-08-02 キヤノン株式会社 画像形成装置、アプリケーションのプレインストール方法、およびプログラム
US10545628B2 (en) * 2013-01-31 2020-01-28 Samsung Electronics Co., Ltd. Method of and device for managing applications
US9007631B2 (en) * 2013-02-04 2015-04-14 Ricoh Company, Ltd. System, apparatus and method for managing heterogeneous group of devices
US20140222980A1 (en) * 2013-02-04 2014-08-07 Ricoh Company, Ltd. Device management apparatus, system and method including remote configuration of device preference settings
US9154482B2 (en) * 2013-02-15 2015-10-06 Verizon Patent And Licensing Inc. Secure access credential updating
KR101517895B1 (ko) * 2013-04-05 2015-05-08 주식회사 팬택 어플리케이션 관련 데이터를 제공하는 단말기 및 방법
JP6223001B2 (ja) * 2013-06-06 2017-11-01 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
JP6223740B2 (ja) * 2013-07-25 2017-11-01 京セラ株式会社 電子機器、プログラムおよび電子機器の制御方法
JP6104194B2 (ja) 2014-02-24 2017-03-29 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6368151B2 (ja) 2014-06-05 2018-08-01 キヤノン株式会社 情報処理装置、アプリケーションの管理方法、およびプログラム
CN104573093B (zh) * 2015-01-29 2018-05-29 广东欧珀移动通信有限公司 一种管理文件目录的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015462A (ja) * 2019-07-12 2021-02-12 富士ゼロックス株式会社 アプリケーションプログラム及びソフトウェアエージェント
JP7346955B2 (ja) 2019-07-12 2023-09-20 富士フイルムビジネスイノベーション株式会社 アプリケーションプログラム及びソフトウェアエージェント

Also Published As

Publication number Publication date
US9742948B2 (en) 2017-08-22
CN106250068A (zh) 2016-12-21
KR102067974B1 (ko) 2020-01-20
KR20160143518A (ko) 2016-12-14
US20160360058A1 (en) 2016-12-08
CN106250068B (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
JP5960005B2 (ja) 画像形成装置、アプリケーションのプレインストール方法、およびプログラム
US9880836B2 (en) System and method for deploying a software program
US8395787B2 (en) Information processing apparatus having customized driver, method of controlling the same, and medium storing control program
JP2012216166A (ja) 情報処理装置、その方法、及びプログラム
JP6147139B2 (ja) 情報処理装置、その制御方法、及びコンピュータプログラム
JP6648915B2 (ja) 情報処理装置、方法およびプログラム
JP6388405B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP6368151B2 (ja) 情報処理装置、アプリケーションの管理方法、およびプログラム
JP2017004114A (ja) 画像形成装置及びアプリケーションの削除方法
JP2015205499A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
JP6403559B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP2014044745A (ja) 情報処理装置及びその方法
JP6570364B2 (ja) 画像形成装置及びその制御方法
EP3462363B1 (en) Image forming apparatus and control method therefor
JP6057740B2 (ja) 画像形成装置、情報処理方法及びプログラム
JP2015197845A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2018077690A (ja) アプリケーションの実行環境の違いに依る互換性を考慮したインストール、及びファームアップ方法
JP6143476B2 (ja) アプリケーション処理装置、方法、およびそのプログラム
JP2017162106A (ja) 情報処理装置及びデバイスドライバのインストール方法
JP2014078268A (ja) 画像形成装置、該装置の制御方法、及び制御プログラム
JP2019152911A (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
JP2018032119A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム