"アプリケーションが提供している機能を示す提供機能属性505と、前記アプリケーションが利用している機能を示す利用機能属性506と、前記アプリケーションが利用している機能が停止した場合に動作継続可能であるかどうかを示す動作継続属性507の少なくとも一つを備えたアプリケーションを追加削除可能な画像形成装置100であって、前記アプリケーションを受信するアプリケーション受信手段S601,201と、前記アプリケーション受信手段により受信したアプリケーションからアプリケーション属性を取得する属性取得手段S602,202と、前記画像形成装置100内にインストールされているアプリケーションの状態や属性情報の取得を行う機器内アプリ情管理得手段S701,S702,202と、前記属性取得手段から取得した属性情報と、前記機器内アプリ情報取得手段から取得したアプリケーション状態情報および属性情報とを利用して再起動すべきアプリケーションを判定する再起動アプリケーション判定手段S803~S809,204と、前記再起動アプリケーション判定手段により判定されたアプリケーションを停止するアプリケーション停止手段S1003,203と、前記受信手段により受信したアプリケーションをインストールするインストール手段S1004,203と、前記アプリケーション停止手段により停止したアプリケーションを再開するアプリケーション再開手段S1005,203と、を有することを特徴とする画像形成装置。前記再起動アプリケーション判定手段S803~S809,204は、インストール対象アプリケーションの提供機能属性505に定義されている機能が、前記画像形成装置上のアプリケーションの利用機能属性506に定義されているかを判定することにより依存関係を判定する依存関係判定手段S805と、前記画像形成装置上のアプリケーションの動作継続属性507を取得する動作継続属性取得手段S806と、を備え、前記依存関係判定手段によりインストール対象アプリケーションに依存していると判定され、かつ、前記動作継続属性取得手段により属性を取得できなかった場合もしくは取得した動作継続属性にインストール対象アプリケーションの提供機能属性を含まなかった場合に、再起動が必要であると判定を行う手段S805~S807であることを特徴とする請求項1に記載の画像形成装置。インストール対象アプリケーションの情報と、画像形成装置内に存在するインストール対象アプリケーションと同じアプリケーションの情報と、アプリケーションをインストールした際に再起動されるアプリケーションの一覧と、インストールを続行するか否かをユーザに確認するためのUIとを含む画面データを生成するインストール続行確認画面生成手段S701~S706と、前記インストール続行確認画面生成手段により生成した画面データをクライアント101に送信する画面データ送信手段S707と、をさらに備えることを特徴とする請求項1又は請求項2に記載の画像形成装置。しかしながら、近年、画像形成装置の機能は大規模化しており、画像形成装置上で動作するアプリケーション数も増加しアプリケーション間の関係も増えている。そのため、単純に従来技術を適用するだけでは、更新処理時に再起動するアプリケーション数が多くなり更新処理に時間がかかってしまうという問題があった。また、画像形成装置上で動作するアプリケーションは管理者により動的に追加および削除されることがあるためアプリケーションの関連性を固定的に保持しておくことができないという問題もあった。本発明に係る画像形成装置の構成は、アプリケーションが提供している機能を示す提供機能属性505と、前記アプリケーションが利用している機能を示す利用機能属性506と、前記アプリケーションが利用している機能が停止した場合に動作継続可能であるかどうかを示す動作継続属性507の少なくとも一つを備えたアプリケーションを追加削除可能な画像形成装置100であって、前記アプリケーションを受信するアプリケーション受信手段S601,201と、前記アプリケーション受信手段により受信したアプリケーションからアプリケーション属性を取得する属性取得手段S602,202と、前記画像形成装置100内にインストールされているアプリケーションの状態や属性情報の取得を行う機器内アプリ情管理得手段202と、前記属性取得手段から取得した属性情報と、前記機器内アプリ情報取得手段から取得したアプリケーション状態情報および属性情報とを少なくとも利用して再起動すべきアプリケーションを判定する再起動アプリ判定手段S803~S809,204と、前記再起動アプリ判定手段により判定されたアプリケーションを停止するアプリケーション停止手段S1003,203と、前記受信手段により受信したアプリケーションをインストールするインストール手段S1004,203と、前記アプリケーション停止手段により停止したアプリケーションを再開するアプリケーション再開手段S1005,203と、を有することを特徴とする。本発明に係る画像形成装置によれば、動的にアプリケーションの追加削除が行われるような環境においても、最低限のアプリケーションの再起動を行うだけでアプリケーションの更新が行えるようになる。このため、更新処理にかかる時間が短縮され、ユーザ利便性が向上するという効果がある。以下、本発明を実施するための最良の形態について図面を用いて説明する。図1は、本発明の実施例におけるシステム構成を示す図である。画像形成装置100は、スキャナやプリンタを備えた装置であり、内部で動作する複数のアプリケーションにより、コピーやスキャン送信やFAXなどの機能を実現している。画像形成装置100で動作するアプリケーションは、PC101からネットワーク102経由で管理することが可能である。具体的には、アプリケーションを新規にインストールしたり、既にインストールされているアプリケーションのバージョンを更新したり、アンインストールを行ったりすることができる。図2は、画像形成装置100上で動作するアプリケーション管理を行うためのソフトウェア構成を示すブロック図である。Webサーバ部201はPC101からアプリケーション管理要求を受け付けるWebサーバである。アプリケーション情報取得部202は、画像形成装置100上で動作しているアプリケーションの情報取得や、インストールしようとしているアプリケーションの情報取得を行う。アプリケーション制御部203は、画像形成装置100上で動作するアプリケーションの開始/停止/インストール/更新/アンインストールなどの制御を行う。再起動アプリケーション判定部204は、アプリケーションの更新処理を行う際に、再起動が必要となるアプリケーションの判定を行う。アプリケーション管理部205は、アプリケーション情報取得部202、アプリケーション制御部203、再起動アプリケーション判定部204を利用してWebサーバ部201からの要求に応じた処理を行い、UI画面を生成してPC101に送信する。図3は画像形成装置100のアプリケーション管理を行う際にPC101上のブラウザに表示される画面の一例である。図3AはPC101のブラウザから画像形成装置のアプリケーション管理ページにアクセスした際に、最初に表示される画面の例である。メニュー領域301は、アプリケーション管理のためのメニューを表示する領域である。制御画面領域302は、メニュー領域301で選択されたメニューに応じた画面が表示される領域である。アプリ管理メニュー303は、画像形成装置100上にインストールされているアプリケーションの開始や停止やアンインストールを行うためのメニューである。アプリインストールメニュー304は、アプリケーションのインストールを行うためのメニューである。アプリケーション管理ページに最初にアクセスした場合、アプリ管理メニュー303が選択されており、制御画面領域302にはアプリケーションを管理するための画面が表示される。アプリケーション一覧領域305は、画像形成装置上にインストールされているコピーやファックスといった画像形成装置の機能を提供するアプリケーションの一覧が表示される領域である。認証アプリケーション一覧領域306は、認証を行う特別なアプリケーションの一覧を表示するための領域である。アプリケーション名称欄307は、アプリケーション名とバージョン番号を表示される。状態欄308は、アプリケーションの状態を表示するためのものであり、開始もしくは停止のどちらかが表示される。アプリケーション制御ボタン欄309は、アプリケーションを開始したり停止したりするためのボタンが表示される。アプリケーションの状態に応じて表示されるボタンが変化し、アプリケーションの状態が開始状態であれば停止ボタンが表示され、停止状態であれば開始ボタンが表示される。ただし、認証アプリケーションについては排他的にいずれかひとつだけが起動するようになっているため、選択というボタンが表示される。選択ボタンが押されると現在開始状態の認証アプリケーションが停止して、選択された認証アプリケーションが開始される。アンインストールボタン欄310は、アプリケーションを画像形成装置からアンインストールするためのボタンが表示される領域であり、この欄のボタンが押されると対応するアプリケーションがアンインストールされる。図3Bは、メニュー領域301にてアプリインストールメニュー304が選択された際に表示される画面の例である。アプリファイルパス入力フィールド311は、インストールしたいアプリケーションのPC101上のファイルパスを指定するフィールドである。参照ボタン312は、ファイル選択ダイアログからアプリケーションファイルを選択することでアプリファイルパス入力フィールド311にファイルパスを入力するためのボタンである。インストールボタン313は、アプリファイルパス入力フィールド311で指定されたアプリケーションを画像形成装置100に送信してインストール指示を行うためのボタンである。図3Cは、図3Bにおいてインストールボタン313が押されたときに表示される確認画面の一例である。既に画像形成装置100にインストールされているアプリケーションと同じアプリケーションをインストールしようとしたときにこの画面が表示される。アプリケーション情報表示領域314は、現在画像形成装置100にインストールされているアプリケーションの情報315と、アプリファイルパス入力フィールド311で指定されたアプリケーションの情報316が表示される。再起動アプリケーションリスト表示領域317には、アプリケーションのバージョン更新処理に伴って、再起動が発生するアプリケーションのリスト318が表示される。ただし、既にインストールされているアプリケーションが停止状態であれば再起動は不要であるため再起動アプリケーションリスト表示領域317は表示されない。インストール続行確認領域319は、インストール処理を続行してアプリケーションを更新するかどうかの判定をユーザに促すためのUIを表示する領域である。はいボタン320が押されると画像形成装置100にインストール続行の要求が送信され、アプリケーションの更新が実行される。いいえボタン321が押されると画像形成装置100にインストールキャンセルの要求が送信され、アプリケーションの更新がキャンセルされる。図3Dは、図3Bにおいてアプリケーションファイルを指定してインストールボタン313を押したときに表示される確認画面の別の例である。この画面はアプリケーションを新規に画像形成装置100にインストールしようとした場合に表示される画面である。アプリケーション情報表示領域322には、インストールしようとしているアプリケーションの情報323だけが表示される。また、アプリケーション情報表示領域322の下にインストール続行確認領域324が表示される。ここではいボタン325が押されると、画像形成装置100にインストール続行要求が送信され、アプリケーションの新規インストールが行われる。いいえボタン326が押されると画像形成装置100にインストールキャンセル要求が送信され、アプリケーションのインストール処理委がキャンセルされる。図4は、画像形成装置100にインストールされるアプリケーションファイルの構成の一例である。アプリケーションファイル401は、アプリケーション情報ファイル402とアプリケーション実体ファイル403をアーカイブした1つのファイルになっている。アプリケーション情報ファイル402はアプリケーションの属性情報を定義したファイルである。ここで定義された情報はアプリケーションをアプリケーション管理部205がアプリケーションの管理を行う際に利用される。アプリケーション実体ファイル403は、アプリケーションプログラムの実体であり、暗号化されて格納されている。アプリケーションファイル401が画像形成装置100にインストールされると、アプリケーション実体ファイル403が復号化され画像形成装置100の記憶装置上に展開される。図5は、アプリケーション情報ファイル402の一例である。アプリケーション情報ファイル402は、属性501と属性値502を列挙したファイルである。Application-ID503は、アプリケーションを識別するための属性である。この属性の値が同じアプリケーションは同じアプリケーションと判断される。Application-Name504は、アプリケーションの名称を表す属性である。Application-Version505は、アプリケーションのバージョン番号を示す属性である。Vendor506は、アプリケーションのベンダ名を示す属性である。ExportService507は、そのアプリケーションが他のアプリケーションに提供している機能を示す属性である。例えば図5Aで示したアプリケーション情報では、LoginService機能を他のアプリケーションに提供していることを示していることが分かる。ImportService508は、そのアプリケーションが利用している機能を示す属性である。例えば、図5Bで示したアプリケーション情報では、LoginService機能とErrorRecoveryService機能の2つの機能を利用していることがわかる。DynamicUpdateSupport509は、そのアプリケーションが利用している機能のうち、どの機能の動的更新に対応しているかを示す属性である。動的更新に対応しているとは、ある機能を提供しているアプリケーションの更新処理を行う際に、その機能を利用しているアプリケーションを再起動することなく更新処理を行うことができるアプリケーションのことをいう。もし、この属性がない場合は全ての機能の動的更新に対応していないことを示す。図5Bのアプリケーションの例では、LoginService機能を提供しているアプリケーションを更新する際は再起動の必要はないが、ErrorRecoveryService機能を提供しているアプリケーションを更新する際は再起動が必要である。図6は、画像形成装置100がWebサーバ部201経由でアプリケーションファイルを受信した際に、アプリケーション管理部205が実行する処理の流れを示すフローチャートである。まず、ステップS601にてアプリケーションファイルを受信する。次にステップS602に進み、受信したアプリケーションからApplicationID情報を取得する。次にステップS603に進み、ステップS602で取得したApplicationIDと同じApplicationIDのアプリケーションがインストールされているかを判定する。もしステップS603にて同じApplicationIDのアプリケーションが存在すると判定された場合はステップS604に進む。ステップS604ではアプリケーション更新確認画面図3Cの画面データを生成してPC101に送信して処理を終了する。一方、ステップS603にて同じApplicationIDのアプリケーションが存在しないと判定された場合はステップS605に進む。ステップS605ではインストール確認画面図3Dの画面データを生成しPC101に送信して処理を終了する。図7は、ステップS604の詳細な処理の流れを示すフローチャートである。まず、ステップS701でインストールされているアプリケーションおよびインストールしようとしているアプリケーションの情報を取得する。次にステップS702に進み、アプリケーション情報表示部314に表示する画面データを生成する。次にステップS703に進み、既にインストールされているアプリケーションの状態が開始状態であるかどうかを判定する。もし開始状態であると判定された場合、ステップS704に進む。ステップS704では再起動が必要なアプリケーションのリストを生成して、ステップS705に進む。ステップS705では、ステップS704で生成したリストをもとに再起動アプリケーション一覧画面319の画面データを生成し、ステップS706に進む。一方、ステップS703にて既にインストールされているアプリケーションが開始状態でない停止状態であると判定された場合、ステップS706に進む。ステップS706ではインストール続行確認領域319の画面データを作成し、ステップS707に進む。ステップS707では生成した画面データをPC101に送信して処理を終了する。図8は、ステップS704の詳細な処理の流れを示すフローチャートである。まず、ステップS801で再起動アプリケーションリストの初期化処理を行い、空のリストを生成する。次にステップS802に進み、開始状態のアプリケーションのリストを生成する。次にステップS803に進み、ステップS802で作成したアプリケーションリストに含まれるアプリケーションの数だけステップS804~ステップS808をループする。もしステップS802で作成したアプリケーションリストの長さが0であれば何もせずに処理を終了する。ステップS802にて生成したアプリケーションリストに1つ以上のアプリケーションが含まれている場合は、アプリケーションリストの中からアプリケーションを一つずつ選択して順番にステップS804~ステップS808の処理を行う。以降選択されたアプリケーションをアプリケーションiと表記する。ループ内では、まずステップS804でアプリケーションiのImportService属性を取得する。次にステップS805に進み、アプリケーションiのImportService属性の中に更新対象アプリケーションのExportService属性値が存在するかを判定する。アプリケーションiのImportService属性に更新対象アプリケーションのExportService属性値が存在する場合はアプリケーションiが更新対象のアプリケーションに依存していることになる。もし更新対象のアプリケーションに依存していると判定された場合、ステップS806に進む。ステップS806では、アプリケーションiのDynamicUpdateSupport属性の取得を試みる。もしDynamicUpdateSupport属性を取得できた場合は、ステップS807に進む。ステップS807では、DynamicUpdateSupport属性に更新対象のアプリケーションのExportService属性値が存在するかどうかで動的更新をサポートしているかを判定する。もし動的更新をサポートしていないと判定された場合はステップS808に進み、ステップS801で生成した再起動アプリケーションリストにアプリケーションiを追加してステップS809に進む。一方、ステップS806にてDynamicUpdateSupport属性の取得に失敗した場合はステップS808に進み、ステップS801で生成した再起動アプリケーションリストにアプリケーションiを追加してステップS809に進む。一方、ステップS805で更新対象のアプリケーションに依存していないと判定された場合、および、ステップS807で動的更新をサポートしていると判定された場合は、再起動アプリケーションリストへの追加は行わずステップS809に進む。ステップS809ではステップS803に戻り、ステップS802で取得した全てのアプリケーションについてステップS804~ステップS808の処理を行うまでループする。ステップS802で取得した全てのアプリケーションについて処理を終えたら処理を終了する。図9は、図3Cもしくは図3Dの画面を操作されてPC101からの要求を受信した際にアプリケーション管理部205が実行する処理の流れを示すフローチャートである。まず、ステップS901でPC101から処理要求を受信する。次にステップS902に処理要求種別を判定する。処理要求種別が、インストール続行要求である場合は、ステップS903に進む。ステップS903では、アプリケーションのApplicationID属性をもとに同じアプリケーションが既にインストールされているかを判定する。もし同じアプリケーションがインストールされていると判定されたらステップS904に進む。ステップS904ではアプリケーションの更新処理を行い、ステップS905に進む。一方、S903で同じアプリケーションがインストールされてないと判定された場合はステップS906に進み、新規にアプリケーションをインストールする処理を行い、ステップS905に進む。ステップS905では、アプリケーション一覧画面図3Aを生成してPC101に送信して処理を終了する。一方、ステップS902にて処理要求種別がインストールキャンセル要求であった場合、ステップS907に進む。ステップS907ではアプリケーションインストール画面を生成し、PC101に画面データを送信して処理を終了する。図10は、ステップS904の詳細な処理の流れを示すフローチャートである。まず、ステップS1001にてインストール対象のアプリケーションが開始状態であるかどうかを判定する。もしアプリケーションが開始状態であると判定されたらステップS1002に進む。ステップS1002では再起動すべきアプリケーションのリストを生成する。ステップS1002の処理の詳細は図8の処理と同じである。次にステップS1003に進み、ステップS1002で生成したアプリケーションリストに基づいてアプリケーションの停止処理を行う。次にステップS1004に進み、更新対象アプリケーションを停止して、アプリケーションの更新処理を行い、更新したアプリケーションを起動する。次にステップS1005に進み、ステップS1002にて生成したアプリケーションリストに基づいてアプリケーションを起動して処理を終了する。一方、ステップS1001にてアプリケーションが開始状態ではないと判定された場合、ステップS1006に進む。ステップS1006では他のアプリケーションを停止することなくアプリケーションの更新処理を行い、処理を終了する。以上のように、依存しているアプリケーションが再起動しても動作継続可能かどうかを示す属性をアプリケーションに付与することで、アプリケーション更新処理時に最低限のアプリケーションだけを再起動するように構成している。これにより、アプリケーションの更新処理にかかる時間が短縮され、ユーザ利便性が向上するという効果がある。また、再起動すべきアプリケーションを決定する際は、画像形成装置が固定的に関連情報を持つのではなく、アプリケーション更新処理実行時に毎回動的に判定を行うようにしている。このため、動的にアプリケーションがインストールアンインストールされるような環境においても最低限のアプリケーションの再起動でアプリケーションのバージョン更新処理が行えるようになる。また、アプリケーション更新時に再起動されるアプリケーションのリストを事前にユーザに提示することにより、ユーザが意図しないアプリケーションが再起動してユーザの作業を妨げることを回避できるようになる。"