(57)【要約】【課題】  インストールされるアプリケーションと既にインストールされているアプリケーションとの整合性を調整して、スムーズにアプリケーション移行作業を効率よく行い、メモリ資源も有効に活用する。【解決手段】    情報処理装置から受信するアプリケーションのインストール後（Ｓ１３０５）、情報処理装置から受信したアプリケーションに設定されている当該アプリケーションに関連する関連アプリケーションを特定するための関連情報を前記アプリケーションから取得する（Ｓ１３０６）。そして、取得した関連情報に基づいて、記憶装置から関連アプリケーションをアンインストールする（Ｓ１３０８）。さらに、取得した関連情報に基づいて、当該関連アプリケーションが利用可能に前記記憶装置に記憶させたデータをインストールされるアプリケーションが利用可能なデータとして移行させて管理する（Ｓ１３０９、Ｓ１３１０）。【選択図】  図１０
2011070431.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置よりアプリケーションを受信して記憶装置にインストールする管理装置であって、
前記情報処理装置から受信するアプリケーションを前記記憶装置にインストールするインストール手段と、
前記インストール手段によるアプリケーションのインストール後、前記情報処理装置から受信したアプリケーションに設定されている当該アプリケーションに関連する関連アプリケーションを特定するための関連情報を前記アプリケーションから取得する取得手段と、
前記取得手段が取得した関連情報に基づいて、前記記憶装置から前記関連アプリケーションをアンインストールした後、当該関連アプリケーションが利用可能に前記記憶装置に記憶させたデータをインストールされるアプリケーションが利用可能なデータとして移行させて管理するアプリケーション管理手段と、
を備えることを特徴とする管理装置。
【請求項２】
前記アプリケーション管理手段は、前記取得手段が取得した関連情報に設定されるデータ移行条件に基づいて、当該関連アプリケーションが利用可能に前記記憶装置に記憶させたデータの一部をインストールされるアプリケーションが利用可能なデータとして移行させて管理することを特徴とする請求項１記載の管理装置。
【請求項３】
管理装置にインストールすべきアプリケーションを管理する情報処理装置であって、
前記管理装置にインストールされたアプリケーションに関連するアプリケーションを特定するための関連情報が設定されたアプリケーションを前記管理装置に転送する転送手段を備えることを特徴とする情報処理装置。
【請求項４】
前記関連情報には、インストール先で移行すべきデータを特定するデータ移行条件が含まれることを特徴とする請求項３記載の情報処理装置。
【請求項５】
情報処理装置よりアプリケーションを受信して記憶装置にインストールする管理装置におけるアプリケーション処理方法であって、
前記情報処理装置から受信するアプリケーションを前記記憶装置にインストールするインストール工程と、
前記インストール工程によるアプリケーションのインストール後、前記情報処理装置から受信したアプリケーションに設定されている当該アプリケーションに関連する関連アプリケーションを特定するための関連情報を前記アプリケーションから取得する取得工程と、
前記取得工程が取得した関連情報に基づいて、前記記憶装置から前記関連アプリケーションをアンインストールした後、当該関連アプリケーションが利用可能に前記記憶装置に記憶させたデータをインストールされるアプリケーションが利用可能なデータとして移行させて管理するアプリケーション管理工程と、
を備えることを特徴とするアプリケーション処理方法。
【請求項６】
前記アプリケーション管理工程は、前記取得工程が取得した関連情報に設定されるデータ移行条件に基づいて、当該関連アプリケーションが利用可能に前記記憶装置に記憶させたデータの一部をインストールされるアプリケーションが利用可能なデータとして移行させて管理することを特徴とする請求項５記載のアプリケーション処理方法。
【請求項７】
管理装置にインストールすべきアプリケーションを管理する情報処理装置におけるアプリケーション処理方法であって、
前記管理装置にインストールされたアプリケーションに関連するアプリケーションを特定するための関連情報が設定されたアプリケーションを前記管理装置に転送する転送工程を備えることを特徴とするアプリケーション処理方法。
【請求項８】
前記関連情報には、インストール先で移行すべきデータを特定するデータ移行条件が含まれることを特徴とする請求項５記載のアプリケーション処理方法。
【請求項９】
請求項４乃至８のいずれか１項に記載のアプリケーション処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、情報処理装置から受信するアプリケーションを記憶装置にインストールして管理する管理装置とを含むシステムに関するものである。
【背景技術】
【０００２】
近年、エンドユーザがアプリケーションを購入する場合には、購入前に体験版アプリケーションを提供するサイトからダウンロードして利用することが多い。
また、エンドユーザは、この体験版アプリケーションで機能を利用し、その機能が気に入れば製品版アプリケーションを購入することになる。
ここで、ユーザがアプリケーション購入するか否かの判断をするため、エンドユーザはこの体験版アプリケーションを利用して実際の利用を想定したデータを設定することが多い。例えば、メール機能を持つアプリケーションであれば、実際に送ることのあるメールアドレスを登録するようなことが考えられる。
上記のように設定したデータは、その体験版アプリケーションのデータとして管理されているが、体験版アプリケーションを利用し終わった後にも、製品版アプリケーション利用時にも継続して利用できることが求められている。
従来、体験版アプリケーションで設定したデータの内容を、製品版アプリケーションでも利用するために、同じデータ領域を利用するケースが多い（たとえば、特許文献１参照）。
【０００３】
しかしながら、特許文献１では、データ領域が異なる場合については考慮されていない。実際に組み込みアプリケーションの場合は、それぞれのアプリケーションごとにデータを保持することが多く、そのようなケースにおいては特許文献１では対応できない。
上記のようなケースが発生するのは、体験版アプリケーションと製品版アプリケーションだけでなく、ライトバージョンアプリケーションとフルバージョンアプリケーションの場合、またデータ領域が異なるような大きな変更をしたバージョンアップなどがある。
従来、上記のケースを解決するためにアプリケーション自体に移行機能を持たせることや、別途移行する機能に特化したアプリケーションを使用することで解決をしていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１９４７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、アプリケーション側で移行機能を持つ場合には、毎回アプリケーションごとに機能を実装しなければならなかった。また、移行機能を実装することでアプリケーションのサイズが大きくなってしまうという問題もあった。
また、アップグレードの移行のみしか機能を持たず、将来出るバージョンからのダウングレードに対しての移行機能はもてないといった問題があった。
さらに、移行する機能に特化したアプリケーションの場合は、その移行アプリケーションが動作する環境を構築する必要があり、また移行するための操作をエンドユーザが行う必要があった。
【０００６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、インストールされるアプリケーションと既にインストールされているアプリケーションとの整合性を調整して、スムーズにアプリケーション移行作業を効率よく行い、メモリ資源も有効に活用できる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明の管理装置は以下に示す構成を備える。
情報処理装置よりアプリケーションを受信して記憶装置にインストールする管理装置であって、前記情報処理装置から受信するアプリケーションを前記記憶装置にインストールするインストール手段と、前記インストール手段によるアプリケーションのインストール後、前記情報処理装置から受信したアプリケーションに設定されている当該アプリケーションに関連する関連アプリケーションを特定するための関連情報を前記アプリケーションから取得する取得手段と、前記取得手段が取得した関連情報に基づいて、前記記憶装置から前記関連アプリケーションをアンインストールした後、当該関連アプリケーションが利用可能に前記記憶装置に記憶させたデータをインストールされるアプリケーションが利用可能なデータとして移行させて管理するアプリケーション管理手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、インストールされるアプリケーションと既にインストールされているアプリケーションとの整合性を調整して、スムーズにアプリケーション移行作業を効率よく行い、メモリ資源も有効に活用できる。
【図面の簡単な説明】
【０００９】
【図１】ネットワークシステムの構成を示す図である。
【図２】ネットワークシステムの構成を説明するブロック図である。
【図３】画像形成装置のソフトウエア構成を表すブロック図である。
【図４】クライアントＰＣに表示されるＵＩの一例を示す図である。
【図５】画像形成装置にインストールされるファイル構造を示す図である。
【図６】画像形成装置が管理するＡｐＤＦを示す図である。
【図７】画像形成装置が管理するアプリケーション情報を示す図である。
【図８】画像形成装置が管理するファイル情報を示す図である。
【図９】アプリケーション処理手順を示すフローチャートである。
【図１０】アプリケーション処理手順を示すフローチャートである。
【図１１】アプリケーションファイルの構造を説明する図である。
【図１２】アプリケーションデータ構成スキーマを示す図である。
【図１３】アプリケーションデータ構成スキーマを示す図である。
【図１４】アプリケーション処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示すに係る管理装置、情報処理装置を含むネットワークシステムの構成を示す図である。ここで、管理装置は、後述する画像形成装置に対応し、情報処理装置は、クライアントＰＣに対応する。
図１において、１０１は画像形成装置で、プリンタ、コピー、ファクシミリ、スキャナや、あるいはこれらの機能を１つの筐体内に収納した複合機として構成される。画像形成装置１０１は、組み込みアプリケーションをインストールすることにより、各機能を利用可能となる。なお、管理装置として機能する装置は、画像形成装置１０１に限定されるものではなく、アプリケーションを外部から取得してアプリケーションをインストールする機器であれば、本発明を適用可能である。
１０２はクライアントＰＣで、画像形成装置１０１に組み込みアプリケーションをインストールする操作を画像形成装置１０１に指示する。ここで、クライアントＰＣ１０２は、アプリケーションを管理装置としての画像形成装置１０１へ転送する機能を備える。
【００１１】
１０３はインターネットなどのネットワークであり、画像形成装置１０１とクライアントＰＣ１０２は、このネットワーク１０３を介して接続される。
図２は、図１に示したネットワークシステムの構成を説明するブロック図である。なお、図２の（Ａ）は画像形成装置側に対応し、図２の（Ｂ）は情報処理装置側に対応する。
図２の（Ａ）において、２０１は原稿給送部で、読み込む原稿を自動的にイメージリーダ２０２に送る。イメージリーダ（スキャナ）２０２は、原稿を読み込み、当該読み込んだ原稿および受信したデータを印刷画像に変換・印刷する画像形成部２０３に出力する。２０４は給紙部で、印刷用の紙を画像形成部２０３へ給紙する。なお、画像形成装置１０１は、図示しない排紙部を備え、印刷した紙を排出し、ソートやステイプルといった処理を施す。
２０５はネットワークＩ／Ｆ（ＮｅｔｗｏｒｋＩ／Ｆ）で、ネットワーク１０３経由でＬＡＮおよびインターネットに接続し、外部機器と情報交換を行う。２０６はセンサで、本装置の各部分の状態を検知する。
２０７はＣＰＵで、システムバス２１３に接続される各デバイスを総括的に制御する。２０８はハードディスクで、本装置の各処理に関わるプログラムやデータを記憶する。ここで、ハードディスク２０８は、クライアントＰＣ１０２より受信するアプリケーションを記憶する記憶装置として機能する。
【００１２】
２０９はメモリで、ＣＰＵ２０７が実行するプログラムのワークメモリ、あるいは画像形成部２０３に出力するイメージデータが一時的に記憶される。
なお、メモリ２０９は、本装置の各処理に関わる一時的なデータを電気的に記憶できかつ書き換え可能なメモリで構成される。ハードディスク２０８は、本装置の各処理に関わるプログラムやデータ、および一時的なデータ、本装置へ送信されてきたユーザデータなどを記憶する。
２１０は操作部で、ユーザによる本装置への指示入力を受け付ける。２１１は表示部で、本装置の動作状況および操作部２１２に対する操作に関わる情報を表示する。２１２はモデムで、電話回線に接続して、ファクシミリシミデータの送受信処理を行う。
図２の（Ｂ）において、３０１は表示部で、ウィンドウ、アイコン、メッセージ、メニュー、その他のユーザインタフェース情報が表示される。３０２は操作部で、キーボード、マウスを利用したエンドユーザの入力を受け付ける。
３０３はＣＰＵで、システムバス３０７に接続される各デバイスを総括的に制御する。３０４はハードディスクで、本装置の各処理に関わるプログラムやデータを記憶する。３０５はメモリで、本装置の各処理に関わる一時的なデータを電気的に記憶できかつ書き換え可能に構成されている。３０６はネットワークＩ／Ｆで、ネットワーク経由でＬＡＮおよびインターネットに接続し、外部と情報交換を行う。なお、クライアントＰＣ１０２は、Ｗｅｂブラウザを介して、画像形成装置１０１が形成したＷｅｂ画面を取得して、アプリケーションのインストール指示を画像形成装置１０１に対して行う機能を備える。
【００１３】
図３は、図１に示した画像形成装置１０１上で動作するソフトウエア管理モジュールの構成を示すブロック図である。なお、図３の（Ａ）に示すソフトウエアのプログラムは画像形成装置１０１のハードディスク２０８上に格納されており、これらをＣＰＵ２０７がメモリ２０９上に読み込んで実行する。また、図３の（Ｂ）に示す情報処理装置のプログラムは、ＣＰＵ３０３がメモリに読み込んで実行する。
図３の（Ａ）において、４０１はアプリケーション管理部で、組み込みアプリケーションのインストールやアンインストールを行う。アプリケーション管理部４０１には各モジュール４０２〜４０６が含まれる。
【００１４】
モジュール４０２は、エンドユーザがインストール、アンインストールを指示するための操作画面を形成するためのモジュールとして機能する。
このモジュール４０２は、クライアントＰＣ１０２のＷｅｂブラウザからの表示要求に対してＨＴＭＬ形式で表現されたＵＩを形成し、応答を返す。
本実施形態では、モジュール４０２が形成するＵＩを表示するのはクライアントＰＣ１０２としているが、画像形成装置１０１自体の表示部２１１でもよい。
モジュール４０３は、クライアントＰＣ１０２からのインストール指示の要求を受け付けるインストール要求受信するためのモジュールとして機能する。モジュール４０３は、クライアントＰＣ１０２のＷｅｂブラウザからのインストール要求受信時にＨＴＴＰ経由で送られる組み込みアプリケーションのアプリケーションファイルとライセンスファイル（後述する図５参照）をクライアントＰＣ１０２から受け取る。
モジュール４０４は、モジュール４０３で受け取ったライセンスファイルを解読し、ライセンスファイル内に記載されている情報を取得するライセンス解読モジュールとして機能する。
モジュール４０５は、モジュール４０３で受け取ったアプリケーションファイルを解読し、アプリケーションファイル内に記載されている情報を取得するアプリケーション解読モジュールとして機能する。
【００１５】
モジュール４０６は、モジュール４０３で受け取ったアプリケーションファイルとライセンスファイルを利用して、組み込みアプリケーションを画像形成装置１０１のハードディスク２０８にインストールするインストールモジュールとして機能する。なお、モジュール４０６は、モジュール４０３がクライアントＰＣ１０２よりインストール要求を受け取ったときに、組み込みアプリケーションのインストールを実行する。
４０７は組み込みアプリケーションが利用するデータを管理するアプリケーションデータ管理部で、各モジュール４０８、４０９が含まれる。
モジュール４０８は、組み込みアプリケーションで利用するデータを、画像形成装置１０１内のハードディスク２０８にアプリケーションデータファイルとして保存するためのアプリケーションデータ保存モジュールとして機能する。
モジュール４０９は、組み込みアプリケーションで利用するデータを画像形成装置１０１内のハードディスク２０８に保存しているアプリケーションデータファイルから取得するためのアプリケーションデータ取得モジュールとして機能する。
図３の（Ｂ）において、５０１はアプリケーション管理操作部で、モジュール４０２で形成された操作ＵＩを表示部３０１に表示し、そのＵＩでインストール、アンインストールを行うための操作を行う。本実施形態において、クライアントＰＣ１０２のアプリケーション管理操作部５０１はモジュール４０１から受け取ったＨＴＭＬ形式で表現されたＵＩ画面情報を表示するＷｅｂブラウザとして機能する。
【００１６】
図４は、図１に示したクライアントＰＣ１０２に表示されるユーザインタフェースの一例を示す図である。
図４において、インストールＵＩ６０１は、組み込みアプリケーションを画像形成装置１０１にインストールをする場合に表示部３０１に表示される。
インストールＵＩ６０１はモジュール４０２が形成したＵＩをアプリケーション管理操作部５０１が表示部３０１に表示したものである。
６０２はテキストフィールドで、画像形成装置１０１にインストールするアプリケーションのアプリケーションファイルのパスを指定する。６０３はテキストフィールドで、インストールするアプリケーションのライセンスファイルのパスを指定する。
【００１７】
６０４はインストール指示を行うボタンで、モジュール４０３にアプリケーションのインストール指示を送る際に押下される。
表示部３０１に表示されたボタン６０４がユーザによりクリックされた際に、テキストフィールド６０２、６０３に入力されたアプリケーションファイルとライセンスファイルが画像形成装置１０１のモジュール４０３に送られる。
図５は、図１に示した画像形成装置１０１にインストールされるアプリケーションファイル及びライセンスファイルの構造を説明する図である。なお、図５の（Ａ）がアプリケーションファイルに対応し、図５の（Ｂ）がライセンスファイルに対応する。
図５の（Ａ）において、アプリケーションファイル７０１は、組み込みアプリケーションのインストールに必要な実行プログラム７０２とマニフェスト情報７０３を内部に持っている。
実行プログラム７０２は、画像形成装置１０１上で動作するアプリケーションとして機能する。
マニフェスト情報７０３は、実行プログラム７０２に関する情報が記述されている。また、マニフェスト情報７０３はアプリケーションＩＤ７０４とアプリケーション名７０５から構成される。ここで、アプリケーションＩＤ７０４は、アプリケーションを一意に識別するためのＩＤである。
本実施形態では、アプリケーションファイル７０１がクライアントＰＣ１０２のハードディスク３０４に格納されている。そして、図４に示したインストールのためのボタン６０４がユーザにより指示された時に、アプリケーションファイル７０１が、アプリケーション管理操作部５０１からＨＴＴＰ経由で画像形成装置１０１のモジュール４０３に渡される。
図５の（Ｂ）において、ライセンスファイル８０１は、アプリケーションのインストールに必要なライセンス情報が記述されている。ライセンスファイル８０１はインストールするアプリケーションＩＤであるインストールアプリケーションＩＤ８０２を保持する。このインストールアプリケーションＩＤ８０２とアプリケーションファイル７０１のアプリケーションＩＤ７０４が一致することを判断した場合、画像形成装置１０１のモジュール４０６はアプリケーションのインストールを行う。
【００１８】
また、ライセンスファイル８０１は、インストールするアプリケーションに関連するアプリケーションのアプリケーションＩＤとして関連アプリケーションＩＤ８０３を保持している。
本実施形態では、ライセンスファイル８０１はクライアントＰＣ１０２のハードディスク３０４に格納されている。そして、図４に示したボタン６０４の押下を受け付けた場合、すなわちインストール指示がユーザによりなされた時に、アプリケーション管理操作部５０１からＨＴＴＰ経由で画像形成装置１０１のモジュール４０３に渡される。
図６は、図３の（Ａ）に示したアプリケーションデータ管理部４０７が管理するアプリケーションデータファイル９０１の一例を示す図である。
本実施形態では、アプリケーションデータファイル（ＡｐＤＦ）９０１が、図６の（Ａ）に示すように、アプリケーションＩＤ単位で管理されるＸＭＬファイルで定義される。本例では、アプリケーションＩＤがａｐｐ００１の時のアプリケーションデータファイルである。
９０２はアプリケーションデータファイル９０１のルート要素である。このルート要素９０２は、アプリケーションを識別するためのＩＤをｉｄ属性として保持している。
ルート要素９０２は、どのアプリケーションデータファイル９０１でも必須のものであるが、子要素のデータ構造は個々のアプリケーションによって異なる。９０３はアプリケーションで管理するユーザの名前を格納するｎａｍｅ要素である。９０４はアプリケーションで管理するユーザのメールアドレスを格納するｍａｉｌ要素である。
【００１９】
図７は、図３に示したアプリケーション管理部４０１で管理されるインストール済みのアプリケーション情報の一例を示す図である。
図７の（Ａ）において、１００１はインストール済みのアプリケーションを管理するアプリケーション管理テーブルである。１００２はアプリケーションＩＤがａｐｐ００１とａｐｐ００５に対応するアプリケーションが既にインストールされていることを示している。
図８は、図５に示したアプリケーションファイル７０１及びライセンスファイル８０１の一例を示す図である。ここで、図８の（Ａ）がアプリケーションファイル７０１の一例に対応し、図８の（Ｂ）がライセンスファイル８０１の一例に対応する。
なお、本例では、アプリケーションＩＤがａｐｐ００２のマニフェストである。
図８の（Ａ）において、１１０１は、アプリケーションＩＤ７０４に対応するアプリケーションＩＤであり、本例では「ａｐｐ００２」が該当する。１１０２は、アプリケーション名７０５に対応するアプリケーション名であり、「スキャンデータ送信アプリケーション」が該当する。
図８の（Ｂ）において、ライセンスファイル８０１は、インストールアプリケーションＩＤが「ａｐｐ００２」で、関連アプリケーションＩＤが「ａｐｐ００１」である場合のライセンスファイルに対応する。
１２０１は、インストールアプリケーションＩＤ８０２に対応するインストールアプリケーションＩＤである。１２０２は関連アプリケーションＩＤ８０３に対応する関連アプリケーションＩＤである。
【００２０】
図９は、本実施形態を示す画像形成装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、画像形成装置１０１の電源がＯＮになった場合に実行される処理例である。なお、Ｓ２３０１〜Ｓ２３０４は各ステップを示し、各ステップは、ＣＰＵ２０７がハードディスク２０８に記憶されたモジュールをメモリ２０９にロードして実行することで実現される。ここで、モジュールとは、図３に示した各モジュールに対応する。
まず、Ｓ２３０１で、画像形成装置１０１のＣＰＵ２０７はアプリケーション管理部４０１を起動する。実際には、ＣＰＵ２０１がハードディスク３０４に格納されているアプリケーション管理部４０１に対応するプログラムをメモリ３０５に格納して実行する。
次に、Ｓ２３０２で、ＣＰＵ２０７がアプリケーション管理部４０１のインストール要求受信機能のためのモジュール４０３を実行して、インストール要求がクライアントＰＣ１０２からきているかどうかを判断する。ここで、インストール要求がクライアントＰＣ１０２からきているとＣＰＵ２０７が判断した場合は、Ｓ２３０３に進み、きていないと判断した場合はＳ２３０４に進む。
【００２１】
そして、Ｓ２３０３で、ＣＰＵ２０７がインストールのためのモジュール４０６を実行して、アプリケーションのインストール処理を行う。インストール処理は後述する図１０に基づいて詳述する。
そして、Ｓ２３０４で、ＣＰＵ２０７は、画像形成装置１０１の表示部２１１にシャットダウン指示が出ているかどうかを判断する。ここで、シャットダウン指示が出ているとＣＰＵ２０７が判断した場合には、本処理を終了する。これにより、シャットダウン処理が実行され、体験アプリケーションに代わる正規のアプリケーションが起動可能な状態となる。
【００２２】
一方、Ｓ２３０４で、シャットダウン指示が出ていないとＣＰＵ２０７が判断した場合は、Ｓ２３０２に戻る。
図１０は、本実施形態を示す画像形成装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、図９に示したＳ２３０３のインストール処理の詳細手順である。なお、Ｓ１３０１〜Ｓ１３１０は各ステップを示し、各ステップは、ＣＰＵ２０７がハードディスク２０８に記憶されたモジュールをメモリ２０９にロードして実行することで実現される。ここで、モジュールとは、図３に示したアプリケーション管理部４０１等の各モジュールに対応する。以下、クライアントＰＣ１０２からアプリケーションファイル７０１、ライセンスファイル８０１を受信して、正規のアプリケーションをインストールする処理を説明する。
【００２３】
なお、各ステップは、ＣＰＵ２０７が実行するインストール要求受信のためのモジュール４０３がインストール要求をクライアントＰＣ２から受けたときに、ＣＰＵ２０７が実行するモジュール４０６のステップに対応する。
Ｓ１３０１で、ＣＰＵ２０７が実行するインストールのためのモジュール４０６は、インストールアプリケーションＩＤ８０２の読み込みを行う。ここで、ＣＰＵ２０７は、インストールアプリケーションＩＤ８０２をライセンスファイル８０１からライセンス解読のためのモジュール４０４を利用して取得する。
次に、Ｓ１３０２で、ＣＰＵ２０７が実行するモジュール４０６がアプリケーションＩＤ７０４を読み込む。ここで、ＣＰＵ２０７は、アプリケーションＩＤ７０４をアプリケーションファイル７０１からアプリケーション解読のためのモジュール４０５を利用して取得する。
次に、Ｓ１３０３で、ＣＰＵ２０７が実行するモジュール４０６が、Ｓ１３０１とＳ１３０２で取得したそれぞれのアプリケーションＩＤを比較し、一致しているかどうかを判断する。ここで、ＣＰＵ２０７がそれぞれのアプリケーションＩＤが一致していないと判断した場合は、Ｓ１３０４へ進み、一致していると判断した場合は、Ｓ１３０５に進む。
そして、Ｓ１３０４で、ＣＰＵ２０７が実行するモジュール４０６がインストールできなかった旨のログを画像形成装置１０１のハードディスク２０８に出力し、本インストール処理を終了する。
【００２４】
また、Ｓ１３０５では、ＣＰＵ２０７が実行するモジュール４０６がアプリケーションファイル７０１から実行プログラム７０２を取得し、実行プログラム７０２をハードディスク２０８にインストールを行う。
次に、Ｓ１３０６で、ＣＰＵ２０７が実行するモジュール４０６がライセンスファイル８０１に設定されている関連アプリケーションＩＤ８０３を読み込む。ここで、ＣＰＵ２０７は、関連アプリケーションＩＤ８０３をクライアントＰＣ１０２からアプリケーションファイル７０１１０２から受信したライセンスファイル８０１からライセンス解読のためのモジュール４０４を利用して取得する。
次に、Ｓ１３０７で、ＣＰＵ２０７が実行するモジュール４０６がＳ１３０６で取得したアプリケーションＩＤに対応するアプリケーションがインストール済みであるかどうかを判断する。ここで、インストール済みであるとＣＰＵ２０７が判断した場合は、Ｓ１３０８へ進み、インストールされていないとＣＰＵ２０７が判断した場合は、Ｓ１３０９へ進む。
【００２５】
そして、Ｓ１３０８で、ＣＰＵ２０７が実行するモジュール４０６がＳ１３０６で取得した関連アプリケーションＩＤ８０３に対応するアプリケーションをハードディスク２０８からアンインストールする。これにより、体験アプリケーションがハードディスク２０８から削除され、その分の空き容量が確保される。
そして、Ｓ１３０９で、ＣＰＵ２０７が実行するモジュール４０６がＳ１３０６で取得した関連アプリケーションＩＤ８０３に対応するアプリケーションデータがあるかを判断する。ここで、関連アプリケーションＩＤ８０３に対応するアプリケーションデータがあるとＣＰＵ２０７が判断した場合は、Ｓ１３１０へ進み、関連アプリケーションＩＤ８０３に対応するアプリケーションデータがないと判断した場合は、本処理を終了する。
【００２６】
なお、ＣＰＵ２０７は、アプリケーションデータがあるかどうかの判断は、アプリケーションデータ取得のためのモジュール４０９を利用して行い、データが取得できれば対応するアプリケーションデータがあるものと判断し、取得できなければないと判断する。
次に、Ｓ１３１０で、ＣＰＵ２０７が実行するモジュール４０６が関連アプリケーションＩＤ８０３に対応するアプリケーションデータの移行を行い、本処理を終了する。これにより、体験アプリケーションで生成されて保存されたデータを正規のソフトウエアのインストール後、直ちに体験ソフトウエアで作成したデータを正規にソフトウエアで利用可能なデータ環境を自動的に構築することができる。
ここで、アプリケーションデータの移行処理は以下のように実行される。
まず、ＣＰＵ２０７が関連アプリケーションＩＤ８０３に対応するアプリケーションデータファイルのルート要素９０２の子要素以下を取得する。次に、ＣＰＵ２０７がインストールアプリケーションＩＤ８０２に対応するアプリケーションデータファイルのルート要素９０２の子要素として全てコピーすると、移行処理が完了する。
なお、図１０に示したフローチャートを実行するにあたり、例えばモジュール４０６の実行時に渡されるアプリケーションファイル７０１のマニフェストとライセンスファイル８０１が、それぞれ図８の（Ａ）、（Ｂ）のものが渡されるものとする。
【００２７】
また、本フローチャート実行前のアプリケーション管理テーブルは、図７の（Ａ）に示したテーブルの状態であり、アプリケーションＩＤが「ａｐｐ００１」であるアプリケーションデータファイルは図６の（Ａ）状態であるとする。その場合に図１０に示した各ステップをＣＰＵ２０７が実行すると、アプリケーションファイル７０１は、図６の（Ｂ）に示すように書き換えられ、アプリケーション管理テーブルは、図７の（Ｂ）に示すように書き換えられる。
図６の（Ｂ）は、図１０に示した処理を実行した後のアプリケーションＩＤが「ａｐｐ００２」のアプリケーションデータファイルとなっている状態を示す。つまり、図６の（Ｂ）は、図６の（Ａ）のアプリケーションＩＤが「ａｐｐ００１」であるアプリケーションデータファイルと同じデータを持つアプリケーションＩＤが「ａｐｐ００２」のアプリケーションデータファイルとなった状態に対応する。
さらに、図７の（Ｂ）は、図１０に示した処理を実行した後のインストール済みのアプリケーションを保持しているテーブルの状態に対応する。また、図７の（Ａ）に示したアプリケーションＩＤが「ａｐｐ００１」であるデータ１００２が消えて、図７の（Ｂ）に示す「ａｐｐ００２」であるデータが追加された状態に対応する。
【００２８】
以上、本実施形態により、アプリケーションのインストール時にライセンスファイルに関連付けられたアプリケーションのデータは自動的にインストールするアプリケーションのデータとして移行される。
そのため、インストールするアプリケーション側で移行機能を実装しなくともアプリケーションデータの移行機能を提供することができ、エンドユーザとしても移行の操作をしなくてもインストール操作だけでデータの移行を行うことができる。
なお、本実施形態ではライセンスファイルにアプリケーションの関連情報を持たせたが、関連情報を持たせる手段はライセンスファイルから取得するだけでなく、あらかじめ画像形成装置内に持たせておいてもよい。
【００２９】
〔第２実施形態〕
第１実施形態では、単純にアプリケーションデータの中のデータをコピーするだけのシンプルな実施形態であった。この実施形態では、関連アプリケーションＩＤのアプリケーションとインストールアプリケーションＩＤのアプリケーションのアプリケーションデータが同一のデータ構造であれば問題はないが、異なる場合には不要なデータまでもコピーされることになる。
そこで、第２実施形態では、アプリケーションのアプリケーションデータのデータ構造が異なる場合のアプリケーション移行処理について説明する。なお、ハードウエアの構成は第１実施形態と同様である。また、ライセンスファイルにおいても第１実施形態における図５と同じ構造であるものとして説明を行う。
図１１は、本実施形態を示す画像形成装置におけるアプリケーションファイルの構造を説明する図である。
図１１において、アプリケーションファイル１６０１は、組み込みアプリケーションのインストールに必要な実行プログラムとマニフェストとスキーマとを内部に持つファイルである。
１６０２〜１６０５は第１実施形態に示した７０２〜７０５と同様である。１６０６は組み込みアプリケーションが保存するアプリケーションデータの構造の定義したアプリケーションデータ構成スキーマである。
【００３０】
図１２は、図６の（Ａ）に示したアプリケーションデータファイル９０１の構造を定義したアプリケーションデータ構成スキーマ１６０６の一例を示す図である。
図１２において、このアプリケーションデータ構成スキーマ１６０６はＸＭＬＳｃｈｅｍａで記述しているが、データ構造を定義できるものであれば、ＸＭＬＳｃｈｅｍａに限らず何でもよい。ここで、アプリケーションデータ構成スキーマ１６０６は、インストール先で移行すべきデータを特定するデータ移行条件としてアプリケーションファイルに含まれている。
図１３は、図１に示した画像形成装置１０１のハードディスク２０８上に存在するアプリケーションデータファイル及び対応するアプリケーションデータ構成スキーマの一例を示す図である。なお、図１３の（Ａ）がアプリケーションデータファイルに対応し、図１３の（Ｂ）がアプリケーションデータ構成スキーマに対応する。ここで、アプリケーションデータ構成スキーマは、インストール先となる画像形成装置１０１におけるアプリケーションのデータ移行条件を特定する情報として機能する。
図１４は、本実施形態を示す画像形成装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、図９に示したＳ２３０３のインストール処理のその他の詳細手順である。なお、Ｓ２００１〜Ｓ２０１１は各ステップを示し、各ステップは、ＣＰＵ２０７がハードディスク２０８に記憶されたモジュールをメモリ２０９にロードして実行することで実現される。ここで、モジュールとは、図３に示した各モジュールに対応する。ここで、Ｓ２３０３の処理を実行するモジュールとは、モジュール４０３がインストール要求を受けたときに実行されるモジュール４０６に対応する。
【００３１】
なお、Ｓ２００１乃至Ｓ２００９は、第１実施形態におけるＳ１３０１乃至Ｓ１３０９と同等である。
次に、Ｓ２０１０で、ＣＰＵ２０７が実行するモジュール４０６は、アプリケーションファイル１６０１からアプリケーションデータ構成スキーマ１６０６を取得する。なお、アプリケーションデータ構成スキーマ１６０６の取得には、アプリケーション解読のためのモジュール４０５を利用して取得する。
次に、Ｓ２０１１で、ＣＰＵ２０７が実行するモジュール４０６がＳ２０１０で取得したアプリケーションデータ構成スキーマ１６０６に合致したアプリケーションデータのみの移行を行い、本処理を終了する。
具体的には、ＣＰＵ２０７が実行するモジュール４０６がＳ２００６で取得したアプリケーションＩＤに対応するアプリケーションデータを、アプリケーションデータ取得のためのモジュール４０９を利用して取得する。
【００３２】
そして、取得したアプリケーションデータがアプリケーションデータ構成スキーマ１６０６に合致したデータであるとＣＰＵ２０７が判断した場合は、モジュール４０６はアプリケーションデータ保存のためのモジュール４０８を利用してデータの保存を行う。
図８の（Ｃ）は、図１４に示したフローチャート実行時に渡されるライセンスファイルに対応し、図７の（Ｃ）は、図１４に示したフローチャート実行前の状態のアプリケーション管理テーブルに対応する。
図１４に示すフローチャートを実行するにあたり、例えばモジュール４０６の実行時に渡されるアプリケーションファイルのマニフェストとライセンスファイルが、それぞれ図１３の（Ｂ）、図８の（Ｃ）のものが渡されるものとする。また、図１４に示したフローチャート実行前のアプリケーション管理テーブルは図７の（Ｃ）の状態であり、アプリケーションＩＤがａｐｐ００３であるアプリケーションデータファイルは図１３の（Ａ）の状態であるとする。
この場合に図１４のフローチャート実行した後、アプリケーションデータファイルは図６の（Ｂ）のようにスキーマファイルにしたがってないｂｏｘ要素１８０５は削除されたアプリケーションデータとなり、アプリケーション管理テーブルは図７の（Ｂ）のようになる。これにより、ダウングレードされた場合でも、適切なデータファイルのみ（一部のみ）が移行され、インストールされるアプリケーションにとって不要なデータファイルは移行されずに済む。
【００３３】
以上、詳細に説明した本発明を適用できる本実施形態により、アプリケーションで扱うデータが異なる場合でも、インストール時にデータ定義ファイルによる不要なデータの削除を伴った移行を行うことが出来る。
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００３４】
１０１  画像形成装置
１０２  クライアントＰＣ 
【図１】
2011070431.tif 000003
【図２】
2011070431.tif 000004
【図３】
2011070431.tif 000005
【図４】
2011070431.tif 000006
【図５】
2011070431.tif 000007
【図６】
2011070431.tif 000008
【図７】
2011070431.tif 000009
【図８】
2011070431.tif 000010
【図９】
2011070431.tif 000011
【図１０】
2011070431.tif 000012
【図１１】
2011070431.tif 000013
【図１２】
2011070431.tif 000014
【図１３】
2011070431.tif 000015
【図１４】
2011070431.tif 000016