(57)【要約】【課題】アプリケーションの実行環境を意識することなく、統一的にアプリケーションの動作状態を管理可能にすることを目的とする。【解決手段】管理単位毎のアプリケーションの動作状態を管理するアプリケーション管理手段と、アプリケーションの動作状態の変更に係る操作情報をアプリケーション管理手段に入力するインターフェース手段と、アプリケーションに含まれ得る、アプリケーションに係る処理の実行に用いられるデータのまとまりであるパッケージに関する依存関係情報を管理するパッケージ管理手段と、を有し、パッケージ管理手段は、アプリケーション管理手段からの要求に応じて、依存関係情報に基づいて、要求に係るパッケージの依存関係を解決できるか否かを判断することによって課題を解決する。【選択図】図２
2008305021.tif 000002
【特許請求の範囲】
【請求項１】
管理単位毎のアプリケーションの動作状態を管理するアプリケーション管理手段と、
前記アプリケーションの動作状態の変更に係る操作情報を前記アプリケーション管理手段に入力するインターフェース手段と、
前記アプリケーションに含まれ得る、アプリケーションに係る処理の実行に用いられるデータのまとまりであるパッケージに関する依存関係情報を管理するパッケージ管理手段と、
を有し、
前記パッケージ管理手段は、前記アプリケーション管理手段からの要求に応じて、前記依存関係情報に基づいて、前記要求に係るパッケージの依存関係を解決できるか否かを判断することを特徴とする情報処理装置。
【請求項２】
前記パッケージ管理手段は、前記依存関係を解決できると判断した場合、前記要求に応じて、前記パッケージに関する依存関係情報を更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記パッケージに含まれるデータは、ファイル形式のデータであり、
前記パッケージ管理手段は、前記依存関係を解決できると判断した場合、前記要求に係るパッケージに含まれるファイル形式のデータを取り出して、前記要求に応じて、ファイルシステムに展開、又はファイルシステムより削除することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記アプリケーションは、開始処理を実行する開始手段を有し、
前記アプリケーション管理手段は、前記インターフェース手段から入力された操作情報が、アプリケーションの開始に係る操作情報であった場合、前記アプリケーションに対して開始命令を送信し、前記アプリケーションの前記開始手段を動作させるよう制御することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記アプリケーションは、停止処理を実行する停止手段を有し、
前記アプリケーション管理手段は、前記インターフェース手段から入力された操作情報が、アプリケーションの停止に係る操作情報であった場合、前記アプリケーションに対して停止命令を送信し、前記アプリケーションの前記停止手段を動作させるよう制御することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記アプリケーションは、前記アプリケーションが実行状態のときに、前記アプリケーションに含まれるパッケージを用いてアプリケーションに係る処理を実行する処理実行手段を有することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記インターフェース手段は、操作画面を介した前記アプリケーションに対する状態の変更要求を受け取り、前記アプリケーション管理手段に、前記変更要求に応じた操作情報を入力することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記状態の変更要求は、前記アプリケーションの追加要求、又は開始要求、又は停止要求、又は削除要求であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
情報処理装置におけるアプリケーション管理方法であって、
管理単位毎のアプリケーションの動作状態を管理するアプリケーション管理ステップと、
前記アプリケーションの動作状態の変更に係る操作情報を入力するインターフェースステップと、
前記アプリケーションに含まれ得る、アプリケーションに係る処理の実行に用いられるデータのまとまりであるパッケージに関する依存関係情報を管理するパッケージ管理ステップと、
要求に応じて、前記依存関係情報に基づいて、前記要求に係るパッケージの依存関係を解決できるか否かを判断する判断ステップと、
を有することを特徴とするアプリケーション管理方法。
【請求項１０】
前記パッケージ管理ステップでは、前記判断ステップにおいて前記依存関係を解決できると判断された場合、前記要求に応じて、前記パッケージに関する依存関係情報を更新することを特徴とする請求項９に記載のアプリケーション管理方法。
【請求項１１】
前記パッケージに含まれるデータは、ファイル形式のデータであり、
前記パッケージ管理ステップでは、前記判断ステップにおいて前記依存関係を解決できると判断された場合、前記要求に係るパッケージに含まれるファイル形式のデータを取り出して、前記要求に応じて、ファイルシステムに展開、又はファイルシステムより削除することを特徴とする請求項９又は１０に記載のアプリケーション管理方法。
【請求項１２】
前記インターフェースステップにおいて入力された操作情報が、アプリケーションの開始に係る操作情報であった場合、前記アプリケーション管理ステップでは、前記アプリケーションに対して開始命令を送信することを特徴とする請求項９乃至１１の何れか１項に記載のアプリケーション管理方法。
【請求項１３】
前記インターフェースステップにおいて入力された操作情報が、アプリケーションの停止に係る操作情報であった場合、前記アプリケーション管理ステップでは、前記アプリケーションに対して停止命令を送信することを特徴とする請求項９乃至１２の何れか１項に記載のアプリケーション管理方法。
【請求項１４】
前記インターフェースステップでは、操作画面を介した前記アプリケーションに対する状態の変更要求を受け取り、前記変更要求に応じた操作情報を入力することを特徴とする請求項９乃至１３の何れか１項に記載のアプリケーション管理方法。
【請求項１５】
前記状態の変更要求は、前記アプリケーションの追加要求、又は開始要求、又は停止要求、又は削除要求であることを特徴とする請求項１４に記載のアプリケーション管理方法。
【請求項１６】
コンピュータを、
管理単位毎のアプリケーションの動作状態を管理するアプリケーション管理手段と、
前記アプリケーションの動作状態の変更に係る操作情報を前記アプリケーション管理手段に入力するインターフェース手段と、
前記アプリケーションに含まれ得る、アプリケーションに係る処理の実行に用いられるデータのまとまりであるパッケージに関する依存関係情報を管理するパッケージ管理手段と、
して機能させるプログラムであって、
前記パッケージ管理手段は、前記アプリケーション管理手段からの要求に応じて、前記依存関係情報に基づいて、前記要求に係るパッケージの依存関係を解決できるか否かを判断することを特徴とするプログラム。
【請求項１７】
請求項１６に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びアプリケーション管理方法に関する。
【背景技術】
【０００２】
従来、複数のアプリケーションを１つのプロセス上で動作させて管理する技術が知られている（例えば、特許文献１参照）。また複数のアプリケーション管理フレームワークを集約して操作する技術が知られている（例えば、特許文献２参照）。
【０００３】
【特許文献１】特開２００５−２６９６１９号公報
【特許文献２】特開２００６−３２３５００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、実行環境の異なる複数のアプリケーション群を単一のアプリケーション管理フレームワークから統一的に管理する必要がある場合も存在する。複数のアプリケーション群とは例えば、仮想マシンプロセスの上で動作するアプリケーションや、プロセスとしてオペレーティングシステム上で直接実行されるアプリケーション、Ｗｅｂアプリケーションサーバプロセスを介して動作するアプリケーション等である。これらの複数のアプリケーション群を利用者から一元的に扱いたい場合が存在する。このような場合には様々なアプリケーションに対して、動作状態管理の仕組みを統一しなければならない問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、アプリケーションの実行環境を意識することなく、統一的にアプリケーションの動作状態を管理可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、管理単位毎のアプリケーションの動作状態を管理するアプリケーション管理手段と、前記アプリケーションの動作状態の変更に係る操作情報を前記アプリケーション管理手段に入力するインターフェース手段と、前記アプリケーションに含まれ得る、アプリケーションに係る処理の実行に用いられるデータのまとまりであるパッケージに関する依存関係情報を管理するパッケージ管理手段と、を有し、前記パッケージ管理手段は、前記アプリケーション管理手段からの要求に応じて、前記依存関係情報に基づいて、前記要求に係るパッケージの依存関係を解決できるか否かを判断することを特徴とする。
【０００７】
また、本発明は、情報処理装置におけるアプリケーション管理方法であって、管理単位毎のアプリケーションの動作状態を管理するアプリケーション管理ステップと、前記アプリケーションの動作状態の変更に係る操作情報を入力するインターフェースステップと、前記アプリケーションに含まれ得る、アプリケーションに係る処理の実行に用いられるデータのまとまりであるパッケージに関する依存関係情報を管理するパッケージ管理ステップと、要求に応じて、前記依存関係情報に基づいて、前記要求に係るパッケージの依存関係を解決できるか否かを判断する判断ステップと、を有することを特徴とする。
【０００８】
また、本発明は、プログラム及び記憶媒体としてもよい。
【発明の効果】
【０００９】
本発明によれば、アプリケーションの実行環境を意識することなく、統一的にアプリケーションの動作状態を管理可能にすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
＜実施形態１＞
図１は、情報処理装置（コンピュータ）のハードウェア構成の一例を示す図である。図１に示されるように情報処理装置は、ハードウェア構成として、ＣＰＵ１１を含む。
ＣＰＵ１１が、記憶装置１３に記憶されている、後述するアプリケーション、フレームワーク、プログラム実行環境等に対応するプログラムに基づき処理を行うことによって、後述する各機能、又はフローチャートを実現する。
【００１２】
また、ＣＰＵ１１には、バス１０を介して、入力装置１２、記憶装置１３及び表示装置１４が接続されている。記憶装置１３は、例えば、ＲＯＭ、ＲＡＭ、ハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ等を記憶する。表示装置１４は、画面等を表示するディスプレイである。入力装置１２は、情報を入力等するキーボード及び／又はマウスである。
【００１３】
次に、情報処理装置におけるアプリケーション管理システムの機能構成について、図２を用いて説明する。図２は、情報処理装置におけるアプリケーション管理システムの機能構成の一例を示す図である。
【００１４】
オペレーティングシステム２０１は、システム全体の基盤となるソフトウェアである。実行環境２０２は、例えば仮想マシンのようにオペレーティングシステム２０１上のプロセスでありながら、自身の上でアプリケーションが動作する環境を提供するソフトウェアである。アプリケーション管理フレームワーク２０３は、アプリケーション（管理単位アプリケーション２０５）と、プログラムの実行環境２０２と、の中間に位置し、管理単位毎のアプリケーションの動作状態を管理する機能を提供するソフトウェアである。
【００１５】
アプリケーション管理インターフェース２０４は、アプリケーション管理フレームワーク２０３上で動作し、フロントエンドとしての機能を提供するアプリケーションである。管理単位アプリケーション２０５は、アプリケーション管理フレームワーク２０３が状態を管理する単位（管理単位）毎のアプリケーションである。
【００１６】
パッケージ管理システム３０２は、アプリケーション管理フレームワーク２０３から利用可能で、パッケージ依存関係ＤＢ３０１を参照してパッケージ同士の依存関係を解決し、パッケージをファイルシステムへ展開するためのソフトウェアである。ここで、パッケージとは、アプリケーション実行等のために必要となるファイル群を単一のファイルにまとめたものである。
【００１７】
パッケージ依存関係ＤＢ３０１は、パッケージ同士の依存関係の情報を格納するデータベースである。パッケージ同士の依存関係とは、パッケージ管理システム３０２が管理している、例えば、「パッケージＡが、動作の前提としてパッケージＢ及びパッケージＣを必要としている」といった関係のことである。
【００１８】
アプリケーション管理システムでは、アプリケーション管理フレームワーク２０３と、パッケージ管理システム３０２と、がパッケージを介して連携して動作する。このことによって、様々な実行環境のアプリケーションを扱うことができる。
【００１９】
図３は、管理単位アプリケーション２０５の内部構成を示す図である。
開始・停止処理部４０１は、管理単位アプリケーション２０５がアプリケーション管理フレームワーク２０３から開始及び停止の命令を受けた際に、開始処理及び停止処理を行う。プログラム処理部４０２は、管理単位アプリケーション２０５が実行状態のときに処理を行う（処理実行）プログラムである。ここで実行状態における処理とは、実行環境２０２上で実行される処理でも、オペレーティングシステム２０１上で実行される処理でもよい。
【００２０】
管理単位アプリケーション２０５がパッケージ管理システム３０２を利用する場合、プログラム処理部４０２は実行に必要なファイルをまとめたパッケージ４０３を含み得る。パッケージ４０３の一例は、後述する図４に示す。管理単位アプリケーション２０５の情報設定ファイル４０４は、管理単位アプリケーション２０５のユーザ設定情報等を記述するファイルである。
【００２１】
図４は、パッケージ４０３の一例を示す図である。
アプリケーションの実行環境に依存しない設定項目５０１は、例えば、管理単位アプリケーションの名前や、ＩＤ、バージョン等、アプリケーションの実行環境に依存しない設定項目である。
【００２２】
アプリケーションの実行環境に依存する設定項目５０２は、例えば、パッケージファイル名の指定や、プロセスとして実行するファイルの指定等、アプリケーションの実行環境に依存する設定項目である。なお、アプリケーションの実行環境に依存する設定項目５０２は、管理単位アプリケーションの種別を判断するための項目でもある。
【００２３】
例えば、図４のパッケージ４０３には、ａｐｐｌｉｃａｔｉｏｎ−１．０．０．ｐａｃｋａｇｅという名前のパッケージ（パッケージファイル）がプログラム処理部４０２に含まれているという情報が記述されている。また、図４のパッケージ４０３には、／ｕｓｒ／ｂｉｎ／ｘｘｘという実行ファイルがプロセスとして実行されるという情報が記述されている。したがって、アプリケーション管理フレームワーク２０３は、この管理単位アプリケーションが、オペレーティングシステム２０１上で直接プロセスを実行するネイティブアプリケーションであると判断することができる。
【００２４】
図５は、管理単位アプリケーションの状態遷移の一例を示す図である。
管理単位アプリケーションの追加処理６０１によって、アプリケーション管理フレームワーク２０３上に管理単位アプリケーションが追加されると、この管理単位アプリケーションの状態は、追加状態となる。また、管理単位アプリケーションの削除処理６０２によって、アプリケーション管理フレームワーク２０３上から追加状態の管理単位アプリケーションが削除されると、この管理単位アプリケーションの状態は削除状態となる。
【００２５】
管理単位アプリケーションの更新処理６０３によって、アプリケーション管理フレームワーク２０３上で追加状態の管理単位アプリケーションが更新されると、更新された管理単位アプリケーションの状態は再び追加状態となる。管理単位アプリケーションの開始処理６０４によって、アプリケーション管理フレームワーク２０３上で追加状態の管理単位アプリケーションが開始されると、この管理単位アプリケーションの状態は開始中状態を経て実行状態となる。
【００２６】
管理単位アプリケーションの停止処理６０５によって、実行状態の管理単位アプリケーションが停止されると、この管理単位アプリケーションの状態は停止中状態を経て追加状態に戻る。
【００２７】
以下では、管理単位アプリケーションの状態遷移に係る各処理の流れを、フローチャートを用いて説明する。
図６は、管理単位アプリケーションの追加処理の一例を示すフローチャートである。アプリケーション管理フレームワーク２０３は、アプリケーション管理インターフェース２０４から入力された操作情報がアプリケーションの追加に係る操作情報であった場合、以下に示す処理を実行する。
【００２８】
ステップＳ７０１において、アプリケーション管理フレームワーク２０３は、操作情報で示される管理単位アプリケーションのパッケージ４０３を参照し、追加する管理単位アプリケーションがネイティブアプリケーションか否かを判断する。より具体的に説明すると、アプリケーション管理フレームワーク２０３は、パッケージ４０３のアプリケーションの実行環境に依存する設定項目５０２を参照して、追加する管理単位アプリケーションがネイティブアプリケーションか否かを判断する。アプリケーション管理フレームワーク２０３は、追加する管理単位アプリケーションをネイティブアプリケーションであると判断するとステップＳ７０２に処理を進め、ネイティブアプリケーションでないと判断するとステップＳ７０７に処理を進める。
【００２９】
ステップＳ７０２において、アプリケーション管理フレームワーク２０３は、追加する管理単位アプリケーションの内部に含まれるパッケージ４０３を取り出す。ステップＳ７０３において、パッケージ管理システム３０２は、ステップＳ７０２でアプリケーション管理フレームワーク２０３が取り出したパッケージ４０３（追加するパッケージ）の依存関係を解決できるか否かを判断する。つまり、パッケージ管理システム３０２は、追加するパッケージが他のパッケージを必要としている場合、必要とされるパッケージが存在しているか否かを、パッケージ依存関係ＤＢ３０１を用いて確認する。パッケージ管理システム３０２が、追加するパッケージの依存関係を解決できると判断すると、ステップＳ７０５に処理を進め、依存関係を解決できないと判断すると、ステップＳ７０４に処理を進める。なお、パッケージ管理システム３０２は、アプリケーション管理フレームワーク２０３からの要求に応じて、ステップＳ７０３の判断を実行する。
【００３０】
ステップＳ７０４において、アプリケーション管理フレームワーク２０３は、パッケージ管理システム３０２の判定結果（又は戻り値）等に基づいて、管理単位アプリケーションの追加処理は失敗したと判定する。
【００３１】
一方、ステップＳ７０５において、パッケージ管理システム３０２は、パッケージ４０３に含まれる（又はパッケージ４０３で示される）ファイル（ファイル形式のデータ）を取り出してファイルシステムに展開する。また、パッケージ管理システム３０２は、追加したパッケージやその依存関係に関する情報に基づいて、パッケージ依存関係ＤＢ３０１を更新する。ステップＳ７０６において、アプリケーション管理フレームワーク２０３は、パッケージ管理システム３０２の判定結果（又は戻り値）等に基づいて、管理単位アプリケーションの追加処理は成功し、完了したと判定する。
【００３２】
一方、ステップＳ７０７において、アプリケーション管理フレームワーク２０３は、管理単位アプリケーション同士の依存関係を解決できるか否かを判断する。ここで管理単位アプリケーション同士の依存関係とは、アプリケーション管理フレームワーク２０３が管理している、例えば管理単位アプリケーションＸが、管理単位アプリケーションＹの保持するソフトウェア部品やリソースを利用している等の関係のことである。アプリケーション管理フレームワーク２０３が管理単位アプリケーション同士の依存関係を解決できると判断すると、ステップＳ７０８に処理を進め、依存関係を解決できないと判断すると、ステップＳ７０４に処理を進める。
【００３３】
ステップＳ７０８において、アプリケーション管理フレームワーク２０３は、必要なファイルの展開や、追加した管理単位アプリケーションの依存関係情報の更新を行う。
【００３４】
図７は、管理単位アプリケーションの開始処理の一例を示すフローチャートである。アプリケーション管理フレームワーク２０３は、アプリケーション管理インターフェース２０４から入力された操作情報がアプリケーションの開始に係る操作情報であった場合、以下に示す処理を実行する。
【００３５】
ステップＳ８０１において、アプリケーション管理フレームワーク２０３は、操作情報で示される管理単位アプリケーションの開始処理部の呼び出しを行う。
【００３６】
ステップＳ８０２において、アプリケーション管理フレームワーク２０３は、例えばパッケージ４０３等に基づいて、呼び出す開始処理部がネイティブアプリケーションの開始処理部か否かを判断する。アプリケーション管理フレームワーク２０３は、開始処理部がネイティブアプリケーションの開始処理部であると判断すると、ステップＳ８０３に進み、開始処理部がネイティブアプリケーションの開始処理部でないと判断すると、ステップＳ８０６に進む。
【００３７】
ステップＳ８０３において、アプリケーション管理フレームワーク２０３は、パッケージ４０３等に記述されているアプリケーションの設定情報の読み取りを行う。ステップＳ８０４において、アプリケーション管理フレームワーク２０３は、例えば読み取った設定情報に基づいて、ネイティブアプリケーションの種別に応じた固有の開始処理を実行する。より具体的に説明するとアプリケーション管理フレームワーク２０３は管理単位アプリケーションに対して開始命令を送信し、開始・停止処理部４０１（開始手段）を動作させ、ネイティブアプリケーションの種別に応じた固有の開始処理を実行させるよう制御する。
【００３８】
ここで、ネイティブアプリケーションの種別に応じた固有の開始処理とは、例えば、プロセスとして実行ファイルを実行する等のことである。ネイティブアプリケーションの場合、管理単位アプリケーション内の開始・停止処理部４０１として、上述したような種別に応じて予め定められた処理の開始・停止処理部４０１を用意しておくことができる。そして、アプリケーション管理フレームワーク２０３は、この用意された開始・停止処理部４０１を利用する。
【００３９】
一方、ステップＳ８０６において、アプリケーション管理フレームワーク２０３は、アプリケーション固有の開始処理を実行する。アプリケーション固有の開始処理とは、管理単位アプリケーション内の開始・停止処理部４０１において自由に記述された、アプリケーション固有の開始処理のことである。
【００４０】
ステップＳ８０５において、アプリケーション管理フレームワーク２０３は、管理単位アプリケーションを開始状態にする。
【００４１】
図８は、管理単位アプリケーションの停止処理の一例を示すフローチャートである。アプリケーション管理フレームワーク２０３は、アプリケーション管理インターフェース２０４から入力された操作情報がアプリケーションの停止に係る操作情報であった場合、以下の示す処理を実行する。
【００４２】
ステップＳ９０１において、アプリケーション管理フレームワーク２０３は、操作情報で示される管理単位アプリケーションの停止処理部の呼び出しを行う。
【００４３】
ステップＳ９０２において、アプリケーション管理フレームワーク２０３は、例えばパッケージ４０３等に基づいて、呼び出す停止処理部がネイティブアプリケーションの停止処理部か否かを判断する。アプリケーション管理フレームワーク２０３は、停止処理部がネイティブアプリケーションの停止処理部であると判断すると、ステップＳ９０３に進み、停止処理部がネイティブアプリケーションの停止処理部でないと判断すると、ステップＳ９０５に進む。
【００４４】
ステップＳ９０３において、アプリケーション管理フレームワーク２０３は、ネイティブアプリケーションの種別に応じた固有の停止処理を実行する。より具体的に説明するとアプリケーション管理フレームワーク２０３は管理単位アプリケーションに対して停止命令を送信し、開始・停止処理部４０１（停止手段）を動作させ、ネイティブアプリケーションの種別に応じた固有の停止処理を実行させるよう制御する。
一方、ステップＳ９０５において、アプリケーション管理フレームワーク２０３は、アプリケーション固有の停止処理を実行する。
【００４５】
ステップＳ９０４において、アプリケーション管理フレームワーク２０３は、管理単位アプリケーションを停止状態にする。
【００４６】
図９は、管理単位アプリケーションの更新処理の一例を示すフローチャートである。アプリケーション管理フレームワーク２０３は、アプリケーション管理インターフェース２０４から入力された操作情報がアプリケーションの開始に係る操作情報であった場合、以下に示す処理を実行する。
【００４７】
なお、更新処理の流れは、図６に示した追加処理の流れと略同一であるので、図６に示した処理と異なる処理として、ステップＳ１００６及びステップＳ１００７の処理についてのみ説明を行う。
【００４８】
ステップＳ１００６において、パッケージ管理システム３０２は、パッケージ依存関係ＤＢ３０１を用いて、管理単位アプリケーションの更新時に新たに含まれなくなったパッケージが存在するか否かを判断する。パッケージ管理システム３０２は、新たに含まれなくなったパッケージが存在すると判断するとステップＳ１００７に処理を進め、新たに含まれなくなったパッケージが存在しないと判断するとステップＳ１００８に処理を進める。
【００４９】
ステップＳ１００７において、パッケージ管理システム３０２は、更新した管理単位アプリケーションやその依存関係に関する情報に基づいて、パッケージ依存関係ＤＢ３０１を更新する。より具体的に説明すると、パッケージ管理システム３０２は、新たに含まれなくなったパッケージを削除するよう、また、依存関係に関する情報を更新するよう、パッケージ依存関係ＤＢ３０１を更新する。
【００５０】
図１０は、管理単位アプリケーションの削除処理の一例を示すフローチャートである。アプリケーション管理フレームワーク２０３は、アプリケーション管理インターフェース２０４から入力された操作情報がアプリケーションの削除に係る操作情報であった場合、以下に示す処理を実行する。
【００５１】
ステップＳ１１０１において、アプリケーション管理フレームワーク２０３は、操作情報で示される管理単位アプリケーションのパッケージ４０３を参照し、削除する管理単位アプリケーションがネイティブアプリケーションか否かを判断する。より具体的に説明すると、アプリケーション管理フレームワーク２０３は、パッケージ４０３のアプリケーションの実行環境に依存する設定項目５０２を参照して、削除する管理単位アプリケーションがネイティブアプリケーションか否かを判断する。アプリケーション管理フレームワーク２０３は、追加する管理単位アプリケーションをネイティブアプリケーションであると判断すると、ステップＳ１１０２に処理を進め、ネイティブアプリケーションでないと判断すると、ステップＳ１１０６に処理を進める。
【００５２】
ステップＳ１１０２において、アプリケーション管理フレームワーク２０３は、削除する管理単位アプリケーションの内部に含まれるパッケージ４０３を取り出す。ステップＳ１１０３において、パッケージ管理システム３０２は、ステップＳ１１０２でアプリケーション管理フレームワーク２０３が取り出したパッケージ４０３（削除するパッケージ）の依存関係に問題があるか否かを判断する。つまり、パッケージ管理システム３０２は、削除するパッケージが他のパッケージから必要とされているか否かを、パッケージ依存関係ＤＢ３０１を用いて確認する。パッケージ管理システム３０２が、削除するパッケージの依存関係を解決できると判断すると、ステップＳ１１０５に処理を進め、依存関係を解決できないと判断すると、ステップＳ１１０４に処理を進める。
【００５３】
ステップＳ１１０４において、アプリケーション管理フレームワーク２０３は、パッケージ管理システム３０２の判定結果（又は戻り値）等に基づいて、管理単位アプリケーションの削除処理は失敗したと判定する。
【００５４】
一方、ステップＳ１１０５において、パッケージ管理システム３０２は、パッケージ４０３に含まれるファイルをファイルシステムから削除すると共に、削除したパッケージやその依存関係に関する情報に基づいて、パッケージ依存関係ＤＢ３０１を更新する。ステップＳ１１０６において、アプリケーション管理フレームワーク２０３は、パッケージ管理システム３０２の判定結果（又は戻り値）等に基づいて、管理単位アプリケーションの削除処理は成功して完了したと判定する。
【００５５】
一方、ステップＳ１１０７において、アプリケーション管理フレームワーク２０３は、管理単位アプリケーション同士の依存関係を解決できるか否かを判断する。アプリケーション管理フレームワーク２０３が管理単位アプリケーション同士の依存関係を解決できると判断すると、ステップＳ１１０７に処理を進め、依存関係を解決できないと判断すると、ステップＳ１１０３に処理を進める。
【００５６】
ステップＳ１１０８において、アプリケーション管理フレームワーク２０３は、ファイルの削除や、削除した管理単位アプリケーションの依存関係情報の更新を行う。
【００５７】
＜実施形態２＞
実施形態１では、アプリケーション管理システムの構成や処理の流れについて説明した。実施形態２では、アプリケーション管理システムのより具体的な動作状態について説明する。
【００５８】
図１１は、アプリケーション管理システムの動作状態の一例を示す図である。
図１１に示されるように、オペレーティングシステム１２０１上で仮想マシン１２０２が、そして仮想マシン１２０２上でアプリケーション管理フレームワーク１２０３が動作している。アプリケーション管理フレームワーク１２０３上には、以下に示す管理単位アプリケーションが追加され、管理されている。
【００５９】
アプリケーション管理インターフェース１２０４は、システム上の管理単位アプリケーションを、それらが異なる実行環境で動作するものであったとしても利用者から一元的に管理するためのアプリケーションである。
【００６０】
仮想マシン上で動作する管理単位アプリケーションである、ＶＭアプリケーション１２０５は、仮想マシン１２０２を実行環境とするアプリケーションである。ネイティブアプリケーション１２０６は、オペレーティングシステム１２０１を直接の実行環境とし、プロセス１２０９として動作する管理単位アプリケーションである。
【００６１】
Ｗｅｂアプリケーション１２０７は、Ｗｅｂアプリケーションサーバ１２１０を実行環境とし、その上でＷｅｂアプリケーション１２１１として動作する管理単位アプリケーションである。オペレーティングシステム（ＯＳ）モジュール１２０８は、オペレーティングシステムの拡張モジュールとしてファイルシステム上に展開されるのみで、直接実行されることのない管理単位モジュールである。
【００６２】
図１２は、アプリケーション画面の一例を示す図である。アプリケーションの動作画面１３０１には、各アプリケーション固有の表示領域１３０２や、アプリケーション表示領域を切り替えるためのボタン１３０３及び１３０４等が配置されている。
【００６３】
ボタン１３０３は、ネイティブアプリケーションに切り替えるためのボタンである。ボタン１３０４は、仮想マシン上のアプリケーションに切り替えるためのボタンである。利用者はそれぞれのボタンを押下することで、実行環境の違いを意識することなくアプリケーションの表示を切り替えることができる。
【００６４】
図１３は、アプリケーション管理インターフェース画面の一例を示す図である。アプリケーション管理インターフェースの動作画面（操作画面）１４０１には、追加された管理単位アプリケーションの名称１４０２や追加された管理単位アプリケーションの状態１４０３等の情報が配置されている。また、アプリケーション管理インターフェースの動作画面１４０１には、管理単位アプリケーションの状態を変更するためのボタン１４０４、１４０５、１４０６、１４０７が配置されている。
【００６５】
ボタン１４０４は、管理単位アプリケーションを開始するためのボタンである。ボタン１４０５は、管理単位アプリケーションを停止するためのボタンである。ボタン１４０６は、管理単位アプリケーションを追加するためのボタンである。ボタン１４０７は、管理単位アプリケーションを削除するためのボタンである。利用者は、アプリケーション管理インターフェース画面を用いることによって、実行環境の異なるアプリケーションに対して統一的な管理を行うことができる。
【００６６】
なお、図１２及び図１３に示されるような画面は、アプリケーション管理インターフェースが管理し、画面を介して入力（又は選択）された情報は、アプリケーション管理フレームワークに入力（又は通知）される。
つまり、アプリケーション管理インターフェースは、例えば図１３に示されるような画面を介したアプリケーションに対する状態の変更要求を受け取る。アプリケーション管理インターフェースは、変更要求を受け取ると、変更要求に応じた操作情報をアプリケーション管理フレームワークに入力する。図１３に示されるように、変更要求には、アプリケーションの開始要求、停止要求、追加要求、削除要求等が含まれる。
【００６７】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００６８】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６９】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００７０】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００７１】
以上、上述した実施形態によれば、アプリケーションの実行環境を意識することなく、統一的にアプリケーションの動作状態を管理可能にすることができる。
【００７２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７３】
【図１】情報処理装置のハードウェア構成の一例を示す図である。
【図２】情報処理装置におけるアプリケーション管理システムの機能構成の一例を示す図である。
【図３】管理単位アプリケーション２０５の内部構成を示す図である。
【図４】パッケージ４０３の一例を示す図である。
【図５】管理単位アプリケーションの状態遷移の一例を示す図である。
【図６】管理単位アプリケーションの追加処理の一例を示すフローチャートである。
【図７】管理単位アプリケーションの開始処理の一例を示すフローチャートである。
【図８】管理単位アプリケーションの停止処理の一例を示すフローチャートである。
【図９】管理単位アプリケーションの更新処理の一例を示すフローチャートである。
【図１０】管理単位アプリケーションの削除処理の一例を示すフローチャートである。
【図１１】アプリケーション管理システムの動作状態の一例を示す図である。
【図１２】アプリケーション画面の一例を示す図である。
【図１３】アプリケーション管理インターフェース画面の一例を示す図である。
【符号の説明】
【００７４】
１０  バス
１１  ＣＰＵ
１２  入力装置
１３  記憶装置
１４  表示装置
【図１】
2008305021.tif 000003
【図２】
2008305021.tif 000004
【図３】
2008305021.tif 000005
【図４】
2008305021.tif 000006
【図５】
2008305021.tif 000007
【図６】
2008305021.tif 000008
【図７】
2008305021.tif 000009
【図８】
2008305021.tif 000010
【図９】
2008305021.tif 000011
【図１０】
2008305021.tif 000012
【図１１】
2008305021.tif 000013
【図１２】
2008305021.tif 000014
【図１３】
2008305021.tif 000015