(57)【要約】【課題】ミドルウェアのインストール時に，必要な常駐システムプロセスを好適に停止させて，ミドルウェアを安全にインストールすることが可能なインストール方法を提供すること。【解決手段】  １又は２以上の常駐システムプロセスによって使用されるミドルウェアを情報処理装置にインストールする方法が提供される。このインストール方法は，ソフトウェアの環境設定データが記録されるデータベースに登録されている１又は２以上の常駐システムプロセス識別子を読み出すステップＳ２０６と；読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止するステップＳ２１０と；常駐システムプロセスの動作停止後に，インストール対象のミドルウェアをインストールするステップＳ２１８と；を含むことを特徴とする。【選択図】  図６
2005339070.tif 000002
【特許請求の範囲】
【請求項１】
１又は２以上の常駐システムプロセスによって使用されるミドルウェアを情報処理装置にインストールする方法であって：
ソフトウェアの環境設定データが記録されるデータベースに登録されている１又は２以上の常駐システムプロセス識別子を読み出すステップと；
前記読み出した常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止するステップと；
前記常駐システムプロセスの動作停止後に，インストール対象の前記ミドルウェアをインストールするステップと；
を含むことを特徴とする，インストール方法。
【請求項２】
前記常駐システムプロセスを前記情報処理装置にインストールするステップと；
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を，前記データベースに登録するステップと；
をさらに含むことを特徴とする，請求項１に記載のインストール方法。
【請求項３】
前記常駐システムプロセス識別子を前記データベースに登録するステップでは，
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え，前記インストールされた常駐システムプロセスと依存関係を有する他の前記常駐システムプロセスの常駐システムプロセス識別子を，前記データベースに登録することを特徴とする，請求項２に記載のインストール方法。
【請求項４】
前記常駐システムプロセス識別子を前記データベースに登録するステップでは，
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を，前記インストールされた常駐システムプロセスが使用する１または２以上の前記ミドルウェアに関連づけて登録し，
前記データベースに登録されている常駐システムプロセス識別子を読み出すステップでは，
前記インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すことを特徴とする，請求項２に記載のインストール方法。
【請求項５】
前記インストール対象のミドルウェアを使用する前記常駐システムプロセスのうち，前記インストール対象のミドルウェアの開発時に存在していた１又は２以上の前記常駐システムプロセスを表す既存常駐システムプロセスリストに基づいて，当該常駐システムプロセスの動作を停止するステップ，
をさらに含むことを特徴とする，請求項１に記載のインストール方法。
【請求項６】
前記データベースはレジストリであり，
前記ミドルウェアは１又は２以上のダイナミック・リンク・ライブラリで構成されることを特徴とする，請求項１に記載のインストール方法。
【請求項７】
１又は２以上の常駐システムプロセスによって使用されるミドルウェアをインストールする情報処理装置であって：
前記ミドルウェアをインストールするミドルウェアインストール手段と；
前記常駐システムプロセスの動作を停止する常駐システムプロセス停止手段と；
を備え，
前記ミドルウェアインストール手段は，ソフトウェアの環境設定データが記録されるデータベースに登録されている１又は２以上の常駐システムプロセス識別子を読み出し，
前記常駐システムプロセス停止手段は，前記データベースから読み出された常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止し，
前記ミドルウェアインストール手段は，前記常駐システムプロセス停止手段による前記常駐システムプロセスの動作停止後に，インストール対象の前記ミドルウェアをインストールすることを特徴とする，情報処理装置。
【請求項８】
前記常駐システムプロセスをインストールする常駐システムプロセスインストール手段をさらに備え，
前記常駐システムプロセスインストール手段は，前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を，前記データベースに登録することを特徴とする，請求項７に記載の情報処理装置。
【請求項９】
前記常駐システムプロセスインストール手段は，
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え，前記インストールされた常駐システムプロセスと依存関係を有する他の前記常駐システムプロセスの常駐システムプロセス識別子を，前記データベースに登録することを特徴とする，請求項８に記載の情報処理装置。
【請求項１０】
前記常駐システムプロセスインストール手段は，
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を，前記インストールされた常駐システムプロセスが使用する１または２以上の前記ミドルウェアに関連づけて登録し，
前記ミドルウェアインストール手段は，
前記データベースから，前記インストール対象のミドルウェアに関連づけて登録されている前記常駐システムプロセス識別子のみを読み出すことを特徴とする，請求項８に記載の情報処理装置。
【請求項１１】
前記ミドルウェアインストール手段は，前記インストール対象のミドルウェアを使用する前記常駐システムプロセスのうち，前記インストール対象のミドルウェアの開発時に存在していた１又は２以上の前記常駐システムプロセスを表す既存常駐システムプロセスリストを保有しており，
前記ミドルウェアインストール手段は，前記既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出し，
前記常駐システムプロセス停止手段は，前記既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止することを特徴とする，請求項７に記載の情報処理装置。
【請求項１２】
前記データベースはレジストリであり，
前記ミドルウェアは１又は２以上のダイナミック・リンク・ライブラリで構成されることを特徴とする，請求項７に記載の情報処理装置。
【請求項１３】
コンピュータに：
ソフトウェアの環境設定データが記録されるデータベースに登録されている１又は２以上の常駐システムプロセス識別子を読み出す処理と；
前記読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止する処理と；
前記常駐システムプロセスの動作停止後に，インストール対象のミドルウェアをインストールする処理と；
を実行させることを特徴とする，プログラム。
【請求項１４】
前記常駐システムプロセスをインストールする処理と；
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を，前記データベースに登録する処理と；
をさらに実行させることを特徴とする，請求項１３に記載のプログラム。
【請求項１５】
前記常駐システムプロセス識別子を前記データベースに登録する処理では，
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え，前記インストールされた常駐システムプロセスと依存関係を有する他の前記常駐システムプロセスの常駐システムプロセス識別子を，前記データベースに登録することを特徴とする，請求項１４に記載のプログラム。
【請求項１６】
前記常駐システムプロセス識別子を前記データベースに登録する処理では，
前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を，前記インストールされた常駐システムプロセスが使用する１または２以上の前記ミドルウェアに関連づけて登録し，
前記データベースに登録されている常駐システムプロセス識別子を読み出す処理では，
前記インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すことを特徴とする，請求項１４に記載のプログラム。
【請求項１７】
前記インストール対象のミドルウェアを使用する前記常駐システムプロセスのうち，前記インストール対象のミドルウェアの開発時に存在していた１又は２以上の前記常駐システムプロセスを表す既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出す処理と；
前記既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止する処理と；
をさらに実行させることを特徴とする，請求項１３に記載のプログラム。
【請求項１８】
前記データベースはレジストリであり，
前記ミドルウェアは１又は２以上のダイナミック・リンク・ライブラリで構成されることを特徴とする，請求項１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ミドルウェアをインストールするインストール方法，情報処理装置，プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置に，インストーラによってミドルウェア（ＤＬＬ等の共用モジュール）をインストールしようとする際，旧バージョンの共用モジュールが既にインストールされており，この旧バージョンの共用モジュールが常駐システムプロセス（バックグランド・システムプロセス；例えば，ＵＮＩＸ系の「デーモン」，Ｗｉｎｄｏｗｓ系の「Ｗｉｎｄｏｗｓサービス」等）によって使用されていた場合には，当該旧バージョンの共用モジュールのファイルがロックされる。このため，インストーラは，常駐システムプロセスの起動中は，共用モジュールを新バージョンに更新できない。
【０００３】
このような場合，インストーラは，インストール対象の新バージョンの共用モジュールを，一時保存フォルダ（Ｔｅｍｐフォルダ等）に一時的に保存しておき，情報処理装置の再起動後に，当該新バージョンの共用モジュールをコピーして，バージョン更新するのが一般的である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら，上記従来のインストール方式では，情報処理装置の再起動時に，常駐システムプロセスが自動的に開始するタイプのものである場合，上記共有モジュールのコピーより前に，常駐システムプロセスが動作開始されるため，上記共有モジュールのコピーがエラーになってしまう。このため，ミドルウェアの更新インストールが適正になされないという問題があった。
【０００５】
また，常駐システムプロセスとミドルウェアが個別に開発され，それぞれのインストーラも個別である場合において，ミドルウェアの開発・リリース後に，当該ミドルウェアを使用する常駐システムプロセスが開発・リリースされたとする。このような場合には，当該ミドルウェアのインストーラは，事後的に開発された上記常駐システムプロセス名が分からないので，当該ミドルウェアのインストール時に，上記常駐システムプロセスの動作を停止させることができなかった。
【０００６】
さらに，このようにインストーラが分からないからといって，情報処理技術に精通していない一般のエンドユーザに対して，どの常駐システムプロセスによってミドルウェアが使用されているかを判断させ，その常駐システムプロセスを手動で停止させる作業を要求することは困難である。
【０００７】
そこで，本発明は，上記問題に鑑みてなされたものであり，本発明の目的とするところは，ミドルウェアのインストール時に，必要な常駐システムプロセスを好適に停止させて，ミドルウェアを安全にインストールすることが可能な，新規かつ改良されたインストール方法，情報処理装置，プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために，本発明の第１の観点によれば，１又は２以上の常駐システムプロセスによって使用されるミドルウェアを情報処理装置にインストールする方法が提供される。このインストール方法は，ソフトウェアの環境設定データが記録されるデータベース（レジストリ等の環境設定用データベース）に登録されている１又は２以上の常駐システムプロセス識別子を読み出すステップと；読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止するステップと；常駐システムプロセスの動作停止後に，インストール対象のミドルウェアをインストールするステップと；を含むことを特徴とする。かかる構成により，ミドルウェアのインストール時に，当該ミドルウェアを使用して動作している常駐システムプロセスを自動的に停止させることができる。このため，常駐システムプロセスによって，旧バージョンのミドルウェア（ＤＬＬ等の共有モジュール）のファイルのロックがなされないので，新バージョンのミドルウェアを好適にインストールできる。
【０００９】
また，上記常駐システムプロセスを情報処理装置にインストールするステップと；インストールされた常駐システムプロセスの常駐システムプロセス識別子を，データベースに登録するステップと；をさらに含むようにしてもよい。これにより，情報処理装置にインストールされる１又は２以上の常駐システムプロセスの識別子を，データベースに登録することができる。これにより，ミドルウェアのインストール時に，対応する常駐システムプロセスを，より確実に停止できる。
【００１０】
また，上記常駐システムプロセス識別子をデータベースに登録するステップでは，インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え，インストールされた常駐システムプロセスと依存関係を有する他の常駐システムプロセスの常駐システムプロセス識別子を，データベースに登録するようにしてもよい。これにより，ミドルウェアのインストール時に，インストールされた常駐システムプロセスの識別子のみならず，このインストールされた常駐システムプロセスと依存関係を有する（協働する）他の常駐システムプロセスの識別子もが読み出される。このため，これらの依存関係を有する常駐システムプロセスをすべて停止できる。
【００１１】
また，上記常駐システムプロセス識別子をデータベースに登録するステップでは，インストールされた常駐システムプロセスの常駐システムプロセス識別子を，インストールされた常駐システムプロセスが使用する１または２以上のミドルウェアに関連づけて登録し，データベースに登録されている常駐システムプロセス識別子を読み出すステップでは，インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すようにしてもよい。これにより，これにより，ミドルウェアのインストール時に，当該ミドルウェアを使用する１又は２以上の常駐システムプロセスのみを動作停止できる。このため，当該ミドルウェアのインストールを妨害する常駐システムプロセスのみを停止させ，当該ミドルウェアを使用しない常駐システムプロセスを停止しなくてすむので，停止処理が効率的である。
【００１２】
また，上記インストール対象のミドルウェアを使用する常駐システムプロセスのうち，インストール対象のミドルウェアの開発時に存在していた１又は２以上の常駐システムプロセスを表す既存常駐システムプロセスリストに基づいて，当該常駐システムプロセスの動作を停止するステップ，をさらに含むようにしてもよい。これにより，ミドルウェアのリリース時点において当該ミドルウェアを使用して動作することがすでに分かっている常駐システムプロセスを，ミドルウェアのインストール時に停止させる（第２の停止処理）ことができる。このような第２の停止処理は，上記のようなデータベースに登録されている常駐システムプロセス識別子に基づく停止処理（第１の停止処理）をバックアップして，上記第１で停止しきれなかった常駐システムプロセスをも停止できる。
【００１３】
また，上記データベースはレジストリであり，上記ミドルウェアは１又は２以上のダイナミック・リンク・ライブラリで構成されるようにしてもよい。
【００１４】
また，上記課題を解決するために，本発明の別の観点によれば，１又は２以上の常駐システムプロセスによって使用されるミドルウェアをインストールする情報処理装置が提供される。この情報処理装置は，ミドルウェアをインストールするミドルウェアインストール手段と；常駐システムプロセスの動作を停止する常駐システムプロセス停止手段と；を備える。さらに，ミドルウェアインストール手段は，ソフトウェアの環境設定データが記録されるデータベースに登録されている１又は２以上の常駐システムプロセス識別子を読み出し，常駐システムプロセス停止手段は，データベースから読み出された常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止し，ミドルウェアインストール手段は，常駐システムプロセス停止手段による常駐システムプロセスの動作停止後に，インストール対象のミドルウェアをインストールすることを特徴とする。
【００１５】
また，上記常駐システムプロセスをインストールする常駐システムプロセスインストール手段をさらに備え，上記常駐システムプロセスインストール手段は，インストールされた常駐システムプロセスの常駐システムプロセス識別子を，データベースに登録するようにしてもよい。
【００１６】
また，上記常駐システムプロセスインストール手段は，インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え，インストールされた常駐システムプロセスと依存関係を有する他の常駐システムプロセスの常駐システムプロセス識別子を，データベースに登録するようにしてもよい。
【００１７】
また，上記常駐システムプロセスインストール手段は，インストールされた常駐システムプロセスの常駐システムプロセス識別子を，インストールされた常駐システムプロセスが使用する１または２以上のミドルウェアに関連づけて登録し，上記ミドルウェアインストール手段は，データベースから，インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すようにしてもよい。
【００１８】
また，上記ミドルウェアインストール手段は，インストール対象のミドルウェアを使用する常駐システムプロセスのうち，インストール対象のミドルウェアの開発時に存在していた１又は２以上の常駐システムプロセスを表す既存常駐システムプロセスリストを保有しており，上記ミドルウェアインストール手段は，既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出し，上記常駐システムプロセス停止手段は，既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止するようにしてもよい。
【００１９】
また，上記データベースはレジストリであり，上記ミドルウェアは１又は２以上のダイナミック・リンク・ライブラリで構成されるようにしてもよい。
【００２０】
また，上記課題を解決するために，本発明の別の観点によれば，コンピュータに：ソフトウェアの環境設定データが記録されるデータベースに登録されている１又は２以上の常駐システムプロセス識別子を読み出す処理と；読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止する処理と；常駐システムプロセスの動作停止後に，インストール対象のミドルウェアをインストールする処理と；を実行させることを特徴とするプログラムが提供される。
【００２１】
また，上記常駐システムプロセスをインストールする処理と；インストールされた常駐システムプロセスの常駐システムプロセス識別子を，データベースに登録する処理と；をさらに実行させるようにしてもよい。
【００２２】
また，上記常駐システムプロセス識別子をデータベースに登録する処理では，インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え，インストールされた常駐システムプロセスと依存関係を有する他の常駐システムプロセスの常駐システムプロセス識別子を，データベースに登録するようにしてもよい。
【００２３】
また，上記常駐システムプロセス識別子をデータベースに登録する処理では，インストールされた常駐システムプロセスの常駐システムプロセス識別子を，インストールされた常駐システムプロセスが使用する１または２以上のミドルウェアに関連づけて登録し，上記タベースに登録されている常駐システムプロセス識別子を読み出す処理では，インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すようにしてもよい。
【００２４】
また，上記インストール対象のミドルウェアを使用する常駐システムプロセスのうち，インストール対象のミドルウェアの開発時に存在していた１又は２以上の常駐システムプロセスを表す既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出す処理と；既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止する処理と；をさらに実行させるようにしてもよい。
【００２５】
また，上記データベースはレジストリであり，上記ルウェアは１又は２以上のダイナミック・リンク・ライブラリで構成されるようにしてもよい。
【発明の効果】
【００２６】
以上説明したように本発明によれば，ミドルウェアのインストール時に，ミドルウェアを使用する常駐システムプロセスを自動的に停止させて，ミドルウェアを安全にインストールすることできる。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００２８】
（第１の実施形態）
以下に，本発明の第１の実施形態にかかるインストール方法，情報処理装置，プログラム等について詳細に説明する。なお，以下では，本実施形態にかかる特徴であるインストール方法を実行する情報処理装置が，例えば，次のようなコンテンツ利用システムの一構成要素として適用された例について説明するが，本発明はかかる例に限定されない。
【００２９】
まず，図１に基づいて，本発明の第１の実施形態にかかるコンテンツ利用システムの全体構成について説明する。なお，図１は，本発明の第１の実施形態にかかるコンテンツ利用システムの全体構成を概略的に示すブロック図である。
【００３０】
図１に示すように，本実施形態にかかるコンテンツ利用システムは，例えば，１又は２以上の情報処理装置１０と，例えば１つのサーバ２０と，これらを相互に接続するネットワーク５と，情報処理装置１０の記録媒体用リーダ・ライタ（ディスクドライブ等）にローディングされる記録媒体７と，から構成される。このコンテンツ利用システムは，サーバ２０からネットワーク５等を介してコンテンツを情報処理装置１０に提供し，情報処理装置１０においてかかるコンテンツを利用（再生，リッピング，コピー，ＰＤ（Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅ）等への転送，編集など）するためのシステムである。
【００３１】
本実施形態にかかるコンテンツは，例えば，音楽，講演，ラジオ番組等の音声（Ａｕｄｉｏ）コンテンツや，映画，テレビジョン番組，ビデオプログラム，写真，絵画，図表等を構成する静止画若しくは動画からなる映像（Ｖｉｄｅｏ）コンテンツ，この映像コンテンツと音声コンテンツを組み合わせたコンテンツ，電子図書（Ｅ−ｂｏｏｋ），ゲーム，ソフトウェア（ｓｏｆｔ  ｗａｒｅ）などのあらゆるコンテンツを含む。
【００３２】
情報処理装置１０は，入力装置，記憶装置，演算装置，制御装置および出力装置等を備えたコンピュータ装置である。具体的には，この情報処理装置１０は，例えば，パーソナルコンピュータ（ノート型，デスクトップ型を問わない。），ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ），汎用コンピュータ，オフィスコンピュータ，スーパーコンピュータ，ワークステーションなどや，上記コンピュータ装置を備えた情報家電，家庭用ゲーム機，コンテンツ記録／再生装置，携帯電話などで構成される。なお，図１では，１つの情報処理装置１０しか図示していないが，かかる例に限定されず，複数の情報処理装置１０がネットワーク５に接続されていてもよい。
【００３３】
一方，サーバ２０は，例えば，コンテンツ配信サービスを提供するサービスプロバイダなどが所有するサーバ装置である。このサーバ２０は，サーバ機能を備えた１又は２以上のコンピュータ装置などで構成される。なお，図１では，１つのサーバ２０しか図示していないが，かかる例に限定されず，例えば，機能・用途に応じて複数のサーバを設けてもよい。この複数のサーバの例としては，例えば，コンテンツを配信するコンテンツ提供用サーバ，コンテンツを利用するためのライセンスを提供するライセンス提供サーバ，ライセンスの発行に応じて課金処理を行う課金サーバ，コンテンツを利用するためのアプリケーション等の各種ソフトウェアを提供するソフトウェア提供サーバ，などが挙げられる。
【００３４】
ネットワーク５は，情報処理装置１０とサーバ２０を双方向通信可能に接続する通信回線網である。このネットワーク５は，例えば，インターネット，電話回線網，衛星通信網等の公衆回線網や，ＷＡＮ，ＬＡＮ，ＩＰ−ＶＰＮ等の専用回線網などで構成されており，有線・無線を問わない。さらに，かかるネットワーク５は，ホームネットワーク等の私的ネットワークや，ローカルラインを含んでもよい。
【００３５】
記録媒体７は，ソフトウェア，コンテンツ等の各種データを格納することが可能なリムーバブルメディアであり，例えば，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，光磁気ディスク等の各種の光ディスクや，フレキシブルディスク，ハードディスク等の磁気ディスク，各種の半導体メモリなどである。なお，この記録媒体７は，例えば，暗号キー等を用いてコンテンツのコピーや再生等を制限する著作権管理機能付きの記録媒体であってもよい。
【００３６】
以上，コンテンツ利用システムの構成要素について説明した。かかるコンテンツ利用システムでは，サーバ２０は，コンテンツ配信サービスを享受するユーザが所有する情報処理装置１０に対し，ネットワーク５を介して，コンテンツを配信する。ここで，コンテンツの配信とは，例えば，コンテンツデータのダウンロード，或いはコンテンツデータのストリーミングのいずれであってもよい。また，サーバ２０は，配信するコンテンツを，例えば，各種のＭＰＥＧ方式等で圧縮し，暗号化して配信してもよい。このようにサーバ２０から配信されるコンテンツは，例えば，著作権保護されたコンテンツであり，具体的には，暗号化されたコンテンツデータに対して，当該コンテンツの属性情報やコンテンツ鍵を含むセキュリティ情報が付加されている。このため，情報処理装置１０は，適正なライセンスを保有していなければ，配信されたコンテンツを利用することができない。
【００３７】
また，サーバ２０は，情報処理装置１０に対し，ネットワーク５を介して配信コンテンツのライセンスを提供する。情報処理装置１０は，かかるライセンスに基づいて，コンテンツを利用（再生，リッピング，コピー，他の装置（ＰＤ等）への転送，編集など）することができる。
【００３８】
さらに，サーバ２０は，情報処理装置１０に対して，コンテンツを利用するための各種のアプリケーション（応用ソフトウェア）およびこのアプリケーションのインストーラ（例えばインストール用のソフトウェア）を，ネットワーク５を介して提供する。これにより，情報処理装置１０は，かかるアプリケーションをインストールして，上記配信されたコンテンツを利用することができる。
【００３９】
また，サーバ２０は，情報処理装置１０に対して，例えば，上記アプリケーション以外にも，常駐システムプロセス，ミドルウェアなどの各種ソフトウェア，およびこれらのインストーラなどを，ネットワーク５を介して提供するようにしてもよい。この常駐システムプロセスおよびミドルウェアの詳細については後述する。
【００４０】
また，上記アプリケーション，常駐プログラム，ミドルウェアおよびオペレーティングシステムなどのソフトウェア，並びにこれらのインストーラは，記録媒体７を介して，情報処理装置１０に提供されてもよい。情報処理装置１０は，かかる記録媒体７から上記各種のソフトウェアおよびインストーラを読み出し，当該インストーラを起動して当該ソフトウェアを自身にインストールすることができる。
【００４１】
次に，図２に基づいて，本実施形態にかかる情報処理装置１０にインストールされたソフトウェアの構成例について説明する。なお，図２は，本実施形態にかかる情報処理装置１０にインストールされたソフトウェアの構成を概略的に示すブロック図である。
【００４２】
図２に示すように，情報処理装置１０には，例えば，オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｒｅｍ）３０と，ミドルウェア４０と，複数の常駐システムプロセス５０−１，２，…，ｎ（以下では，「常駐システムプロセス５０」という。）と，複数のアプリケーション６０−１，２，…，ｍ（以下では，「アプリケーション６０」という。）と，がインストールされている。
【００４３】
このうち，オペレーティングシステム３０は下位層（基本層）を構成し，ミドルウェア４０は中間層を構成し，常駐システムプロセス５０およびアプリケーション６０は上位層を構成している。なお，これらオペレーティングシステム３０，ミドルウェア４０，常駐システムプロセス５０およびアプリケーション６０等のソフトウェアは，情報処理装置１０にプリインストールされていてもよいし，ユーザによって事後的にインストールされてもよい。
【００４４】
さらに，情報処理装置１０は，例えば，これらオペレーティングシステム３０，ミドルウェア４０，常駐システムプロセス５０およびアプリケーション６０に対応して，それぞれ，インストーラ３２，４２，５２，６２を保有（ハードディスク等に保存）している。これらインストーラ３２，４２，５２，６２は，オペレーティングシステム３０，ミドルウェア４０，常駐システムプロセス５０，アプリケーション６０を，情報処理装置１０にインストールする。
【００４５】
具体的には，インストーラ３２，４２，５２，６２は，上記ネットワーク５を介したダウンロード，または記録媒体７等によって提供された圧縮されたソフトウェアを解凍して，記憶装置のハードディスク等の適当な箇所（ディレクトリやフォルダ）にコピーする。さらに，インストーラ３２，４２，５２，６２は，例えば，記憶装置（ハードディスク等）に格納された環境設定データベース（レジストリ等）の書き換えを行う。かかるインストール処理によって，当該ソフトウェアが情報処理装置１０にインストールされ，情報処理装置１０において使用可能な状態となる。
【００４６】
以下に，かかるオペレーティングシステム３０，ミドルウェア４０，常駐システムプロセス５０およびアプリケーション６０，およびこれらのインストーラ３２，４２，５２，６２について詳細に説明する。
【００４７】
まず，オペレーティングシステム３０（以下「ＯＳ３０」という。）について説明する。ＯＳ３０は，情報処理装置１０を効率的に使用できるよう設計された基本ソフトウェアである。このＯＳ３０は，上記ミドルウェア４０，常駐システムプロセス５０およびアプリケーション６０等のソフトウェアの実行管理を行う。また，ＯＳ３０は，情報処理装置１０を構成する制御装置，演算装置，記憶装置，入出力装置，通信装置等のハードウェアの動作管理などを行う。以下では，このＯＳ３０として，米国のマイクロソフト社が提供するＷｉｎｄｏｗｓ（Ｗｉｎｄｏｗｓ  ＮＴ，９８，２０００，Ｍｅ，ＸＰ等を含む。いずれも登録商標）を採用した例について説明する。しかし，本発明は，かかる例に限定されず，ＯＳ３０は，例えば，ＵＮＩＸ（登録商標），Ｍａｃ  ＯＳ（登録商標），Ｌｉｎｕｘ（登録商標）などであってもよい。
【００４８】
また，ＯＳ用インストーラ３２は，上記ＯＳ３０をインストールするソフトウェアであり，記憶装置のハードディスク等に保存されている。このＯＳ用インストーラ３２を動作させることで，記録媒体５等を介して提供されたＯＳ３０を情報処理装置１０にインストールすることができる。
【００４９】
次に，ミドルウェア４０について説明する。ミドルウェア４０は，ＯＳ３０とアプリケーション６０との中間に位置するソフトウェアであり，アプリケーション６０や常駐システムプロセス５０の処理を効率化する。本実施形態では，このミドルウェア４０は，複数のアプリケーション６０や常駐システムプロセス５０によって共有される１又は２以上の共有モジュールで構成されている。
【００５０】
この共有モジュールは，複数のアプリケーション６０や常駐システムプロセス５０が共通して利用する汎用性の高いプログラムを，機能毎に部品化したプログラムであり，複数のファイルに分けて管理される。アプリケーション６０や常駐システムプロセス５０等は，必要な共有モジュールのみをメモリに読み出して使用する。このような共有モジュールをミドルウェア４０として設けることによって，用途の同じ共有モジュールを複数のアプリケーション６０等によって同時に共有できるので，アプリケーション６０等の処理を効率化できる。また，共有モジュールとして提供されている機能は開発せずに済むので，アプリケーション６０や常駐システムプロセス５０の開発効率を向上できる。さらに，同じ共有モジュールを複数のアプリケーション６０や常駐システムプロセス５０で共有するので，記憶装置（ハードディスクやメモリ等）の容量を節約できる。
【００５１】
本実施形態では，この共有モジュールが，ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ；ダイナミック・リンク・ライブラリ）である例について主に説明する。このＤＬＬは，ＯＳ３０がＷｉｎｄｏｗｓである場合において，拡張子「．ｄｌｌ」を有するファイルで管理されるライブラリである。なお，ＯＳ３０がＵＮＩＸである場合には，上記共有モジュールはシェアードライブラリ（Ｓｈａｒｅｄ  Ｌｉｂｒａｒｙ）と呼ばれる。
【００５２】
また，ミドルウェア用インストーラ４２は，上記ミドルウェア４０をインストールするソフトウェアであり，記憶装置のハードディスク等に保存されている。このミドルウェア用インストーラ４２（以下では，単に「インストーラ４２」という。）は，本実施形態における「ミドルウェアインストール手段」を構成する。このインストーラ４２を動作させることで，ミドルウェア４０を情報処理装置１０にインストールすることができる。このインストールは，新規インストールと，バージョン更新時のインストールの双方を含む。かかるミドルウェア４０のインストール時（更新時）には，すべての共有モジュール（例えばＤＬＬ）を書き換えるのではなく，必要な共有モジュール（例えばＤＬＬ）のみが書き換えられる。
【００５３】
かかるミドルウェア４０のインストール処理は，ミドルウェア４０自体をインストールする際のみならず，例えば，常駐システムプロセス５０およびアプリケーション６０のインストール時にも実行される。即ち，インストーラ４２は，常駐システムプロセス５０またはアプリケーション６０のインストール時に，常駐システムプロセス５０のインストーラ５２またはアプリケーション６０のインストーラ６２によって起動され，インストールされた常駐システムプロセス５０またはアプリケーション６０の内容に応じて，対応するミドルウェア４０を更新する処理を行う。
【００５４】
なお，図１の例では，１つのミドルウェア４０とこれに対応する１つのインストーラ４２しか示されていないが，本発明は，かかる例に限定されない。情報処理装置１０には複数のミドルウェア４０がインストールされ，これに対応する複数のインストーラ４２が保存されていてもよい。この場合には，各アプリケーション６０や各常駐システムプロセス５０は，必要に応じて複数のミドルウェア４０（共有モジュール）を使用して，処理を実行する。
【００５５】
次に，常駐システムプロセス５０について説明する。常駐システムプロセス（バックグラウンド・システムプロセス）５０は，情報処理装置１０のメモリに常駐し，所定の条件が満たされたときに起動して様々なサービスを提供するソフトウェアである。この常駐システムプロセス５０は，システムのバックグラウンドで動作し，ユーザによってその動作が意識されにくい比較的堅牢なソフトウェアである。かかる常駐システムプロセス５０の例としては，例えば，ＯＳ３０がＷｉｎｄｏｗｓである場合の「Ｗｉｎｄｏｗｓサービス」や，ＯＳ３０がＵＮＩＸである場合の「デーモン（ｄｅｍｏｎ）」などが挙げられる。
【００５６】
この常駐システムプロセス５０は，例えば，ファイル管理機能や，ネットワーク５を介した通信機能（コンテンツ，ライセンス，電子メール等の送受信，コンテンツのストリーミングなど），コンテンツの再生等のコンテンツ処理機能，印刷機能，ＷＥＢサーバとしての機能など，多様な機能をサポートする。また，常駐システムプロセス５０は，処理を行う際に，上記ミドルウェア４０のうち必要な共有モジュール（ＤＬＬ等）を読み出して使用する。このため，常駐システムプロセス５０の動作時には，当該常駐システムプロセス５０によって使用されている共有モジュールのファイルはロックされ，当該共有モジュールをバージョン更新等するためのインストールを実行不能である。
【００５７】
また，複数の常駐システムプロセス５０の間で，依存関係が存在する場合もある。この常駐システムプロセス５０相互の依存関係とは，ある常駐システムプロセス５０−１（基本常駐システムプロセス）が動作して初めて，他の常駐システムプロセス５０−２（応用常駐システムプロセス）が動作できるような関係のことである。
【００５８】
具体的には，例えば，常駐システムプロセス５０−１が，サーバ２０と情報処理装置１０との間でＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）準拠でデータ通信を行うためのソフトウェアであり，常駐システムプロセス５０−２が，サーバ２０と情報処理装置１０との間でコンテンツのストリーミングを行うためのソフトウェアである場合を想定する。この場合には，データ通信の基本常駐システムプロセスである常駐システムプロセス５０−１が動作していなければ，データ通信の応用常駐システムプロセスである常駐システムプロセス５０−２は動作することができない。かかる例は，２つの常駐システムプロセス５０が依存関係を有する場合の例であるが，３つ以上の常駐システムプロセス５０が例えばツリー構造の依存関係を有する場合もありうる。
【００５９】
また，常駐システムプロセス用インストーラ５２−１，２，…，ｎは，それぞれ，上記各常駐システムプロセス５０−１，２，…，ｎをインストールするソフトウェアであり，記憶装置のハードディスク等に保存されている。この常駐システムプロセス用インストーラ５２−１，２，…，ｎ（以下では，単に「インストーラ５２」という。）は，本実施形態における「常駐システムプロセスインストール手段」を構成する。
【００６０】
このインストーラ５２を動作させることで，対応する常駐システムプロセス５０を情報処理装置１０にインストールすることができる。また，かかる常駐システムプロセス５０のインストール時には，インストーラ５２は，インストールされた常駐システムプロセス５０が使用するミドルウェア４０の共有モジュールを更新するため，当該ミドルウェア４０のインストーラ４２を起動させる。
【００６１】
なお，このインストーラ５２は，上記依存関係の有無に関わらず，図２に示すように各常駐システムプロセス５０に１対１対応で設けられてもよいし，或いは，依存関係のある複数の常駐システムプロセス５０に対して１つのインストーラ５２が設けられてもよい。
【００６２】
次に，アプリケーション６０について説明する。このアプリケーション６０は，特定の処理を実行する応用ソフトウェアである。具体的には，アプリケーション６０は，例えば，コンテンツを再生するアプリケーション（コンテンツプレーヤ）や，上記サーバ２０が提供するコンテンツ配信サービスを利用（コンテンツおよびそのライセンスの選択，購入，受信等）するためのアプリケーション，記録媒体７等からコンテンツをリッピングするアプリケーション，コンテンツを記録（録音，録画等）するアプリケーション，コンテンツをコピー，編集等するアプリケーション，他の機器（ＰＣ，ＰＤ等）との間でコンテンツを送受信するためのアプリケーションなど，コンテンツを利用するための各種アプリケーションである。また，これら以外にも，アプリケーション６０は，例えば，文書入力支援アプリケーション，表計算アプリケーション，プレゼンテーション用アプリケーション，電子メール送受信用アプリケーション，閲覧用アプリケーション（ブラウザ等），ゲーム用アプリケーションなど，情報処理装置１０にインストール可能な任意のアプリケーションを含む。
【００６３】
かかるアプリケーション６０は，ユーザ入力等や設定条件等に基づいて，必要に応じて上記ミドルウェア４０を使用しながら，上記のような所定の処理を実行する。このアプリケーション６０は，システムのフォアグラウンドで動作し，上記常駐システムプロセス５０と比して，ユーザによってその動作が意識されやすい。
【００６４】
また，アプリケーション用インストーラ６２−１，２，…，ｍは，それぞれ，上記各アプリケーション１，２，…，ｍをインストールするソフトウェアであり，記憶装置のハードディスク等に保存されている。このアプリケーション用インストーラ６２（以下では，単に「インストーラ６２」という。）は，本実施形態における「アプリケーションインストール手段」を構成する。このインストーラ６２を動作させることで，対応するアプリケーション６０を情報処理装置１０にインストールすることができる。また，かかるアプリケーション６０のインストール時には，インストーラ６２は，インストールされたアプリケーション６０が使用するミドルウェア４０の共有モジュールを更新するため，当該ミドルウェア４０のインストーラ４２を起動させる。
【００６５】
以上，情報処理装置１０にインストールされた各種のソフトウェア３０，４０，５０，６０，およびこれらのインストーラ３２，４２，５２，６２について詳細に説明した。
【００６６】
ところで，上述したように，ミドルウェア４０をインストールする際に，このミドルウェア４０を使用する１又は２以上の常駐システムプロセス５０が動作している状態のままでは，当該ミドルウェア４０を構成する共有モジュール（ＤＬＬ等）のファイルがロックされ，当該ミドルウェア４０を更新（共有モジュールを上書き）することができない。そこで，かかる問題に対処すべく，本実施形態にかかる情報処理装置１０は，以下に説明するように，ミドルウェア４０のインストール時に，当該ミドルウェア４０を使用する常駐システムプロセス５０を停止させた後に，当該ミドルウェア４０のインストールを実行することを特徴とする。
【００６７】
次に，図３に基づいて，本実施形態にかかるミドルウェア４０のインストール時において，常駐システムプロセス５０の停止処理を行うための構成について説明する。なお，図３は，本実施形態にかかるミドルウェア４０のインストール時において，常駐システムプロセス５０の停止処理を行うための構成を概略的に示すブロック図である。
【００６８】
本実施形態にかかる情報処理装置１０においては，（１）レジストリ７０に登録された常駐システムプロセス識別子に基づいて，常駐システムプロセス５０の動作を停止する第１の停止処理と，（２）既存常駐システムプロセスリスト４４に含まれる常駐システムプロセス識別子に基づいて，常駐システムプロセス５０の動作を停止する第２の停止処理と，を実行可能である。以下に，この第１および第２の停止処理について詳述する。
【００６９】
（第１の停止処理）
まず，第１の停止処理について説明する。図３に示すように，各常駐システムプロセス５０のインストーラ５２は，自身に対応する常駐システムプロセス５０のインストール時に，当該常駐システムプロセス５０の常駐システムプロセス識別子をレジストリ７０に登録する。
【００７０】
レジストリ７０は，例えば，本実施形態における「ソフトウェアの環境設定データが記録されるデータベース（環境設定用データベース）」を構成し，ＯＳ３０が例えばＷｉｎｄｏｗｓである場合に用いられる。このレジストリ７０は，情報処理装置１０の記憶装置を構成するハードディスク等に保存されている。かかるレジストリ７０には，例えば，情報処理装置１０を構成するハードウェアの設定情報や，上記ＯＳ３０，ミドルウェア４０，常駐システムプロセス５０およびアプリケーション６０等のソフトウェアの環境設定データ，或いはこれらのソフトウェアの関連づけデータなどが記録される。なお，ＯＳ３０がＵＮＩＸなどである場合には，上記レジストリ７０とは異なる環境設定用データベースが用いられる。
【００７１】
また，常駐システムプロセス識別子は，常駐システムプロセス５０を一意に特定する識別子であり，例えば，常駐システムプロセス名，常駐システムプロセスＩＤ，またはポート番号などを採用できる。常駐システムプロセス名は，常駐システムプロセス５０の名前を表すヒューマンリーダブルな文字列であり，例えば，ＯＳ３０がＷｉｎｄｏｗｓ等である場合に用いられる。一方，常駐システムプロセスＩＤは，常駐システムプロセス５０単位で固有に付されるＩＤであり，ＯＳ３０がＵＮＩＸ等である場合に用いられる。
【００７２】
各常駐システムプロセス５０のインストーラ５２は，例えば，インストールされた常駐システムプロセス５０の常駐システムプロセス識別子をレジストリ７０内の登録リスト７２に書き込むことによって，レジストリ７０に登録する。この際，インストーラ５２は，インストールされた常駐システムプロセス５０が使用する１又は２以上のミドルウェア４０に関連づけて，当該常駐システムプロセス５０の常駐システムプロセス識別子を登録する。
【００７３】
また，インストーラ５２は，インストールされた常駐システムプロセス５０が他の常駐システムプロセス５０と依存関係にある場合には，インストールされた常駐システムプロセス５０の常駐システムプロセス識別子に加えて，上記依存関係にある他の常駐システムプロセス５０の常駐システムプロセス識別子もレジストリ７０に登録する。
【００７４】
具体的には，インストーラ５２は，自身に対応する常駐システムプロセス５０に関する依存情報５４を保有している。この依存情報５４は，常駐システムプロセス５０相互の依存関係を表す情報（例えば，依存関係にある複数の常駐システムプロセスの常駐システムプロセス識別子のリスト）である。かかる依存情報５４は，例えば，常駐システムプロセス５０の開発時に，開発者によって作成され，当該常駐システムプロセス５０に対応するインストーラ５２に付加されている。
【００７５】
各インストーラ５２は，自身に対応する常駐システムプロセス５０のインストール時に，かかる依存情報５４から，依存関係にある他の常駐システムプロセス５０の常駐システムプロセス識別子を読み出し，かかる常駐システムプロセス識別子をレジストリ５０の登録リスト５４に書き込む。これにより，依存関係を有する複数の常駐システムプロセス５０の常駐システムプロセス識別子をまとめてレジストリ７０に登録できる。
【００７６】
ここで，図４に基づいて，本実施形態にかかるレジストリ７０の登録リスト７２の構造例について説明する。なお，図４（ａ）は，本実施形態にかかるレジストリ７０の登録リスト７２の構造例を示す説明図である。なお，図４（ｂ）は，参考として，ＵＮＩＸにおける環境設定データベースの登録リスト７６の構造例を示す説明図である。
【００７７】
図４（ａ）に示すように，レジストリ７０の登録リスト７２には，各ミドルウェア４０（＃１，＃２，…）毎に，それぞれ，上記常駐システムプロセス識別名が関連づけて登録されている。例えば，ミドルウェア＃１には，音楽コンテンツのストリーミング等を行う常駐システムプロセス５０の名称である「Ｖａｉｏ  Ｍｅｄｉａ  Ｍｕｓｉｃ  Ｓｅｒｖｅｒ」，Ｈｔｔｐ準拠の通信処理を行う常駐システムプロセス５０の名称である「Ｈｔｔｐ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ」などといった常駐システムプロセス識別名が，関連づけて登録されている。
【００７８】
従って，かかる登録リスト７２によって，上記常駐システムプロセス識別名で特定される複数の常駐システムプロセス５０が情報処理装置１０にインストールされていること，並びに当該常駐システムプロセス５０がミドルウェア＃１を使用して動作することを表すことができる。また，ヒューマンリーダブルな常駐システムプロセス識別名で登録することにより，登録リスト７２を参照したユーザは，いかなる常駐システムプロセス５０が登録されているかを把握できる。
【００７９】
一方，図４（ｂ）に示すように，ＵＮＩＸ用の環境設定データベースの登録リスト７６には，各ミドルウェア４０（＃１，＃２，…）毎に，それぞれ，上記常駐システムプロセスＩＤが関連づけて登録されている。例えば，ミドルウェア＃１には，「１２３４−５６７８」および「２２３４−５６７８」などの常駐システムプロセスＩＤが関連づけて登録されている。従って，かかる登録リスト７６によって，これらの常駐システムプロセス識別ＩＤで特定される常駐システムプロセス５０が情報処理装置１０にインストールされていること，並びに当該常駐システムプロセス５０がミドルウェア＃１を使用して動作することを表すことができる。
【００８０】
以上のようにして，各常駐システムプロセス５０のインストーラ５２は，常駐システムプロセス５０のインストール時に，インストールされた常駐システムプロセス５０の常駐システムプロセス識別子を，ミドルウェア４０に関連づけて，レジストリ７０の登録リスト７２に登録する。複数の常駐システムプロセス５０がインストールされた場合には，複数の常駐システムプロセス識別子がそれぞれ登録される。さらに，依存関係を有する常駐システムプロセスをインストールした場合には，インストールされた常駐システムプロセス５０と依存関係のある他の常駐システムプロセス５０の常駐システムプロセス識別子も登録リスト７２に登録される。また，上記のように登録された常駐システムプロセス識別子は，その常駐システムプロセス５０のアンインストール時にも消去されない。
【００８１】
また，インストーラ５２は，例えば，複数の常駐システムプロセス５０の依存関係を表す情報を，例えば，上記登録リスト７２とは別に，例えばツリー構造（階層構造）のデータ形式でレジストリ７０に登録する。また，インストーラ５２は，常駐システムプロセス５０のインストール時に，対応するミドルウェア４０のインストーラ４２を呼び出し，当該常駐システムプロセス５０のインストールに関連するミドルウェア４０のインストール（更新）を実行するように要求する。
【００８２】
以上のような常駐システムプロセス５０の登録を行っておくことにより，それ以後のミドルウェア４０のインストール時に，必要に応じて，常駐システムプロセス５０の動作を停止することができるようになる。
【００８３】
具体的には，ミドルウェア４０のインストールを行う場合には，各ミドルウェア４０のインストーラ４２は，ミドルウェア４０をインストールする前に，まず，レジストリ４２の登録リスト７２を参照して，インストール対象のミドルウェア４０を使用する常駐システムプロセス５０の常駐システムプロセス識別子が登録されているか否かを判断する。この結果，登録されている場合には，インストーラ４２は，登録リスト７２に登録されている常駐システムプロセス識別子を読み出し，読み出した常駐システムプロセス識別子を例えばＯＳ３０に出力する。
【００８４】
例えばＯＳ３０は，常駐システムプロセス識別子によって指定された常駐システムプロセス５０の動作を停止する停止モジュール３４を有している。この停止モジュール３４は，例えば，ＯＳ３０に対応したＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）に従って作成されている。かかる停止モジュール３４は，上記インストーラ４２から，常駐システムプロセス識別子が入力されると，入力された常駐システムプロセス識別子に対応する常駐システムプロセス５０の動作を停止する。このように，停止モジュール３４は，本実施形態における「常駐システムプロセス停止手段」を構成する。
【００８５】
このようにして，レジストリ７０に登録されている常駐システムプロセス識別子に対応する常駐システムプロセス５０の動作を停止することにより，インストーラ４２によるインストール対象のミドルウェア４０を使用する常駐システムプロセス５０の動作を停止することができる。
【００８６】
以上のような第１の停止処理は，特に，インストール対象のミドルウェア４０の開発・リリース後に，このミドルウェアを使用する常駐システムプロセスが開発・リリースされたため，インストーラ４２が当該常駐システムプロセス５０の存在を把握していない場合に有効である。このような場合であっても，当該常駐システムプロセス５０のインストール時に，その常駐システムプロセス識別子がレジストリ７０に登録されていれば，ミドルウェア４０のインストール時に当該常駐システムプロセス５０を停止させることができる。
【００８７】
（第２の停止処理）
次に，第２の停止処理について説明する。各インストーラ４２は，各ミドルウェア４０に対応する既存常駐システムプロセスリスト４４をそれぞれ保有している。この既存常駐システムプロセスリスト４４は，ミドルウェア４０を使用する常駐システムプロセス５０のうち，当該ミドルウェア４０の開発時に既に存在していた１又は２以上の常駐システムプロセス５０の識別子のリストである。換言すると，既存常駐システムプロセスリスト４４は，ミドルウェア４０の開発時に既にリリースされており，当該ミドルウェア４０を使用して動作することが当該ミドルウェア４０の開発時点において開発者によって既知であった１又は２以上の常駐システムプロセス５０の識別子のリストである。
【００８８】
ミドルウェア４０の開発者は，ミドルウェア４０の開発前にリリースされた常駐システムプロセス５０のうち，当該ミドルウェア４０を使用する常駐システムプロセス５０を把握している。従って，開発者は，当該ミドルウェア４０に関する既存常駐システムプロセスリスト４４を作成して，この既存常駐システムプロセスリスト４４を当該ミドルウェア４０のインストーラ４２に付加することができる。
【００８９】
インストーラ４２は，インストール対象のミドルウェア４０のインストールを行う前に，自身の保有する既存常駐システムプロセスリスト４４から，常駐システムプロセス識別子を読み出し，読み出した常駐システムプロセス識別子を例えばＯＳ３０に出力する。ＯＳ３０の停止モジュール３４は，上記と同様にして，入力された常駐システムプロセス識別子に対応する常駐システムプロセス５０の動作を停止する。
【００９０】
このようにして，ミドルウェア４０のインストール時に，上記既存常駐システムプロセスリスト４４に含まれている常駐システムプロセス識別子に対応する常駐システムプロセス５０の動作が停止される。これにより，インストール対象のミドルウェア４０を使用する常駐システムプロセス５０のうち，当該ミドルウェア４０を使用することが当該ミドルウェア４０の開発時において既知であった常駐システムプロセス５０の動作を停止することができる。
【００９１】
以上のような第２の停止処理は，特に，レジストリ７０に未登録の常駐システムプロセス５０が存在する場合に有効である。つまり，例えば，常駐システムプロセス５０のインストーラが，上記インストーラ５２のようにレジストリ７０への登録を行わないものである場合などには，上記第１の手法では，未登録当該常駐システムプロセス５０の動作を停止不能である。そこで，第２の停止処理によって，未登録の常駐システムプロセス５０のうち，上記ミドルウェア４０を使用することが当該ミドルウェア４０の開発時において既知であった常駐システムプロセス５０の動作を停止することによって，上記第１の停止処理を好適にバックアップすることができる。
【００９２】
以上，インストール対象のミドルウェア４０を使用する常駐システムプロセス５０を停止させる２種類の停止処理について説明した。かかる２つの停止処理を併用することによって，インストール対象のミドルウェア４０を使用する常駐システムプロセス５０の動作を，より確実に停止することができる。このため，ミドルウェア４０のインストール時（ＤＬＬ等の共有モジュールの更新時など）に，当該常駐システムプロセス５０による使用が原因で共有モジュールがロックされることがないので，インストーラ４２は，上記インストール対象のミドルウェア４０を好適にインストールすることができる。
【００９３】
なお，上記では，ＯＳ３０が停止モジュール３４を有していたが，本発明は，かかる例に限定されず，ミドルウェア４０若しくはインストーラ４２などが，停止モジュール３４を有していてもよい。インストーラ４２が停止モジュール３４を有する場合には，このインストーラ４２は，「ミドルウェアインストール手段」および「常駐システムプロセス停止手段」の双方を構成することになる。
【００９４】
次に，上記のような構成の情報処理装置１０におけるミドルウェア４０のインストール方法について説明する。本実施形態にかかるミドルウェア４０のインストール方法は，常駐システムプロセス５０のインストール時に，その常駐システムプロセス５０をレジストリ７０に登録しておくことが前提となっている。そこで，以下には，まず，常駐システムプロセス５０のインストール処理方法について説明した上で，ミドルウェア４０のインストール処理方法について説明する。
【００９５】
まず，図５に基づいて，本実施形態にかかる常駐システムプロセス５０のインストール処理方法について説明する。なお，図５は，本実施形態にかかる常駐システムプロセス５０のインストール処理方法を示すフローチャートである。
【００９６】
図５に示すように，まず，ステップＳ１０２では，常駐システムプロセス５０のインストール要求がなされる（ステップＳ１０２）。具体的には，情報処理装置１０のユーザが入力装置を操作して，所定の常駐システムプロセス５０のインストール要求を行うと，インストール要求を受けた常駐システムプロセス５０のインストーラ５２が起動する。また，例えば，常駐システムプロセス５０がオートアップデートされる場合などには，ネットワーク５を介した新バージョンの常駐システムプロセス５０のダウンロードが，インストール要求に該当するので，かかるダウンロードに伴ってインストーラ５２が起動する。
【００９７】
次いで，ステップＳ１０４では，常駐システムプロセス５０がインストールされる（ステップＳ１０４）。インストール対象の常駐システムプロセス５０のインストーラ５２は，当該インストール対象の常駐システムプロセス５０をインストールする。具体的には，インストーラ５２は，ネットワーク５を介したダウンロードまたは記録媒体７等によって提供された常駐システムプロセス５０のファイルを，ハードディスク等の適当な箇所（ディレクトリやフォルダ）にコピーする。さらに，インストーラ５２は，例えば，インストールされた常駐システムプロセス５０に関して，環境設定データや他のソフトウェアとのリンク情報などを，レジストリ７０に記録する。
【００９８】
さらに，ステップＳ１０６では，インストールされた常駐システムプロセス５０の常駐システムプロセス識別子が，レジストリ７０に登録される（ステップＳ１０６）。具体的には，インストーラ５２は，上記ステップＳ１０４でインストールされた常駐システムプロセス５０の常駐システムプロセス識別子（例えば常駐システムプロセス名）を，レジストリ７０の登録リスト７２に書き込む。この際，常駐システムプロセス識別子は，当該常駐システムプロセス５０が使用するミドルウェア４０に関連づけて登録リスト７２に書き込まれる。さらに，当該常駐システムプロセス５０と依存関係を有する他の１又は２以上の常駐システムプロセス５０が存在する場合には，インストーラ５２は，依存関係のある常駐システムプロセス５０の常駐システムプロセス識別子も，登録リスト７２に書き込む。
【００９９】
なお，本ステップＳ１０６における常駐システムプロセス識別子の登録処理は，上記ステップＳ１０４におけるインストール処理よりも前に行われてもよい。この場合には，インストール処理の前に，インストール対象の常駐システムプロセス５０の常駐システムプロセス識別子がレジストリ７０に登録される。
【０１００】
その後，ステップＳ１０８では，対応するミドルウェア４０のインストールが要求される（ステップＳ１０８）。具体的には，常駐システムプロセス５０のインストーラ５２は，常駐システムプロセス５０が使用する１又は２以上のミドルウェア４０のインストーラ４２に対し，常駐システムプロセス５０のインストールに伴う当該ミドルウェア４０のインストール処理（ＤＬＬの更新処理等）を要求する。
【０１０１】
次いで，ステップＳ１１０では，ミドルウェア４０のインストール処理がなされる（ステップＳ１１０）。上記ステップＳ１０８でインストール要求されたミドルウェア４０のインストーラ４２は，上記常駐システムプロセス５０のインストール内容に応じて，当該ミドルウェア４０を更新するインストールを行う。なお，本ステップＳ１１０の詳細については後述する（図６参照）。
【０１０２】
以上，１つの常駐システムプロセス５０のインストール処理方法について説明した。複数の常駐システムプロセス５０について上記のようなインストール処理を繰り返すことによって，レジストリ７０には複数の常駐システムプロセス識別子（例えば常駐システムプロセス名）が登録される。
【０１０３】
なお，アプリケーション６０のインストール処理方法は，上記常駐システムプロセス５０のインストール処理方法と比較して，ステップＳ１０６を含まない点を除いては，略同一であるので，詳細説明は省略する。
【０１０４】
次に，図６に基づいて，本実施形態にかかるミドルウェア４０のインストール処理方法について説明する。なお，図６は，本実施形態にかかるミドルウェア４０のインストール処理方法を示すフローチャートである。
【０１０５】
図６に示すように，まず，ステップＳ２０２では，ミドルウェア４０のインストール要求がなされる（ステップＳ２０２）。このミドルウェア４０のインストール要求は，例えば，（１）上記図５に示したような常駐システムプロセス５０のインストール時における，常駐システムプロセス５０のインストーラ５２からの要求，（２）アプリケーション６０のインストール時における，アプリケーション６０のインストーラ６２からの要求，（３）ミドルウェア４０単独のインストール時おける，ユーザからの要求，（４）ミドルウェア４０単独のオートアップデート時おける，新バージョンのミドルウェア４０を，ネットワーク５等を介して受信等したことに伴う要求，などがある。このようなインストール要求がなされると，インストール要求を受けたミドルウェア４０のインストーラ４２が起動する。
【０１０６】
次いで，ステップＳ２０４では，インストール対象のミドルウェア４０に対応する常駐システムプロセス識別子が，レジストリ７０に登録されているか否かが判断される（ステップＳ２０４）。具体的には，ミドルウェア４０のインストーラ４２は，レジストリ７０の登録リスト７２に，インストール対象のミドルウェア４０に関して，常駐システムプロセス識別子（例えば常駐システムプロセス名）が書き込まれているか否かを判断する。この判断の結果，当該常駐システムプロセス識別子が登録リスト７２に書き込まれている場合には，第１の停止処理を行うためステップＳ２０６に進み，一方，当該常駐システムプロセス識別子が登録リスト７２に書き込まれていない場合には，第１の停止処理を行うことなく第２の停止処理を行うためステップＳ２１４に進む。
【０１０７】
さらに，ステップＳ２０６では，レジストリ７０から，常駐システムプロセス識別子が例えば１つずつ読み出される（ステップＳ２０６）。具体的には，インストーラ４２は，レジストリ７０の登録リスト７２から，インストール対象のミドルウェア４０に関連づけて登録されている常駐システムプロセス識別子を，例えば先に登録されているものから順に（例えば，登録リスト７２の上に書かれているものから順に），例えば１つずつ読み出す。
【０１０８】
その後，ステップＳ２０８では，読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０に，他の常駐システムプロセス５０が依存しているか否かが判断される（ステップＳ２０８）。具体的には，インストーラ４２は，レジストリ７０に登録されている上記依存関係の情報に基づいて，上記ステップＳ２０６で読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０に，他の常駐システムプロセス５０が依存しているか否かを判断する。この判断の結果，上記読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０に，他の常駐システムプロセス５０が依存している場合には，他の常駐システムプロセス５０を先に停止しなければ，当該読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０を停止できないので，ステップＳ２１２に進む。一方，上記読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０に，他の常駐システムプロセス５０が依存していない場合には，当該読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０を停止可能であるので，ステップＳ２１０に進む。
【０１０９】
次いで，ステップＳ２１０では，上記ステップＳ２０６で読み出した常駐システムプロセス識別子に対応する常駐システムプロセス５０の停止処理がなされる（ステップＳ２１０）。具体的には，ミドルウェア４０のインストーラ４２は，読み出した常駐システムプロセス識別子を例えばＯＳ３０の停止モジュール３４に出力する。停止モジュール３４は，上記インストーラ４２から，常駐システムプロセス識別子が入力されると，入力された常駐システムプロセス識別子に対応する常駐システムプロセス５０の動作を停止する。なお，かかる停止モジュール３４は，ミドルウェア４０のインストーラ４２が具備してもよい。
【０１１０】
さらに，ステップＳ２１２では，レジストリ７０に登録されている常駐システムプロセス識別子に対応する常駐システムプロセス５０がすべて停止されたか否かが判断される（ステップＳ２１２）。具体的には，インストーラ４２は，レジストリ７０の登録リストに登録されている常駐システムプロセス識別子に対応する常駐システムプロセス５０が，すべて停止されたか否かを判断する。この判断の結果，登録されているすべての常駐システムプロセス５０が停止されておらず，まだ動作中のものがあると判断された場合には，ステップＳ２０６に戻り，次の常駐システムプロセス識別子が読み出されて，上記ステップＳ２０８およびＳ２１０と同様な処理がなされる。一方，登録されているすべての常駐システムプロセス５０が停止されたと判断された場合には，第１の停止処理を終了し，第２の停止処理を行うためステップＳ２１４に進む。
【０１１１】
ここで，図７に基づいて，上記第１の停止処理のＳ２０６〜２１２における常駐システムプロセス５０の停止順序の具体例について説明する。なお，図７は，本実施形態にかかる第１の停止処理における常駐システムプロセス５０の停止順序の具体例を説明するための説明図である。
【０１１２】
図７（ａ）に示すように，レジストリ７０の登録リスト７２に，４つの常駐システムプロセスＡ〜Ｄの常駐システムプロセス名が登録されているものとする。この例において，全ての常駐システムプロセスＡ〜Ｄの間で依存関係がない場合には，他の常駐システムプロセスを停止しなくても，各常駐システムプロセスＡ〜Ｄを独立的に停止できる。従って，この場合には，図７（ｂ）に示すように，登録リスト７２に登録された順通りに，Ａ→Ｂ→Ｃ→Ｄの順で停止試行を行い，停止が制限されることなく，同じ順序で常駐システムプロセスＡ〜Ｄが停止される。
【０１１３】
一方，常駐システムプロセスＤが常駐システムプロセスＢに依存している（即ち，常駐システムプロセスＢが動作しなければ常駐システムプロセスＤが動作できない）場合には，依存されている常駐システムプロセスＤを停止した後でなければ，依存している常駐システムプロセスＢを停止できない。このため，この場合には，図７（ｂ）に示すように，Ａ→Ｂ→Ｃ→Ｄ→Ｂの順で停止試行を行い，この結果，Ａ→Ｃ→Ｄ→Ｂの順で常駐システムプロセスＡ〜Ｄが停止される。
【０１１４】
具体的には，まず，登録リスト７２の最初（１番目）に記載されている常駐システムプロセスＡの常駐システムプロセス名が読み出され，常駐システムプロセスＡが停止される。次いで，登録リスト７２の次（２番目）に記載されている常駐システムプロセスＢの常駐システムプロセス名が読み出されるが，上記依存関係があるため常駐システムプロセスＢを停止できない。よって，常駐システムプロセスＢを動作させたままで，登録リスト７２の次（３番目）に記載されている常駐システムプロセスＣの常駐システムプロセス名が読み出され，常駐システムプロセスＣが停止される。さらに，常駐システムプロセスＣの停止後に，登録リスト７２の最後（４番目）に記載されている常駐システムプロセスＤの常駐システムプロセス名が読み出され，常駐システムプロセスＤが停止される。しかし，この時点では，常駐システムプロセスＢがまだ動作中であるので，再度，登録リスト７２の上から順に停止処理を行う。この場合には，常駐システムプロセスＢが依存している常駐システムプロセスＤが既に停止されているので，再度停止を試みた常駐システムプロセスＢを停止することができる。
【０１１５】
このような停止手法により，ミドルウェア４０のインストーラ４２は，登録されている常駐システムプロセス５０の依存関係を気にすることなく，動作している複数の常駐システムプロセス５０を簡単かつ確実に停止することができる。
【０１１６】
以上のような第１の停止処理（ステップＳ２０４〜Ｓ２１２）によって，インストール対象のミドルウェア４０についで，レジストリ７０に登録されている常駐システムプロセス識別子の常駐システムプロセス５０が停止される。
【０１１７】
次いで，ステップＳ２１４では，既存常駐システムプロセスリスト４４に含まれる常駐システムプロセス識別子に対応する常駐システムプロセス５０が，動作中であるか否かが判断される（ステップＳ２１４）。具合的には，インストール対象のミドルウェア４０のインストーラ４２は，自己の保有する既存常駐システムプロセスリスト４４に含まれている常駐システムプロセス識別子に対応する常駐システムプロセス５０のうち少なくともいずれかが，依然として動作中であるか否かを判断する。この判断の結果，動作中であると判断された場合には，ステップＳ２１６に進み，一方，すべて停止していると判断された場合には，ステップＳ２１８に進む。
【０１１８】
さらに，ステップＳ２１６では，動作中の常駐システムプロセス５０の停止処理がなされる。（ステップＳ２１６）。具体的には，ミドルウェア４０のインストーラ４２は，上記ステップＳ２１４で依然として動作中であると判断した常駐システムプロセス５０の常駐システムプロセス識別子を，既存常駐システムプロセスリスト４４から読み出して，例えばＯＳ３０の停止モジュール３４に出力する。停止モジュール３４は，上記インストーラ４２から，常駐システムプロセス識別子が入力されると，入力された常駐システムプロセス識別子に対応する常駐システムプロセス５０の動作を停止する。
【０１１９】
以上のような第２の停止処理（ステップＳ２１４〜Ｓ２１６）によって，既存常駐システムプロセスリスト４４に基づいて常駐システムプロセス５０が停止される。なお，かかる第２の停止処理（ステップＳ２１４〜Ｓ２１６）は，第１の停止処理（ステップＳ２０４〜Ｓ２１２）よりも前に実行されてもよい。
【０１２０】
その後，ステップＳ２１８では，ミドルウェア４０がインストールされる（ステップＳ２１８）。インストール対象のミドルウェア４０のインストーラ４２は，当該インストール対象のミドルウェア４０をインストール（ＤＬＬ等の共有モジュールの更新など）する。
【０１２１】
具体的には，インストーラ４２は，ネットワーク５を介したダウンロードまたは記録媒体７等によって提供されたミドルウェア４０のファイルを，ハードディスク等の適当な箇所（ディレクトリやフォルダ）にコピーする。さらに，インストーラ４２は，例えば，インストールされたミドルウェア４０に関して，環境設定データや他のソフトウェア（常駐システムプロセス５０，アプリケーション６０等）とのリンク情報などを，レジストリ７０に記録する。これにより，常駐システムプロセス５０等は，インストール後（ＤＬＬ等のモジュールの更新後）のミドルウェア４０を使用して好適に動作できるようになる。
【０１２２】
かかるミドルウェア４０のインストール時には，上記のようにして当該ミドルウェア４０を使用する常駐システムプロセス５０が停止されており，共有モジュールがロックされないので，当該ミドルウェア４０を好適にインストール可能である。
【０１２３】
以上，本実施形態にかかる情報処理装置，プログラムおよびこれらを用いたインストール方法について説明した。本実施形態によれば，予めミドルウェア４０のインストーラ４２と常駐システムプロセス５０のインストーラ５２との間で，上記のようなインストールのルールを定めている。これにより，ミドルウェア４０のインストール時には，当該ミドルウェア４０に対応する常駐システムプロセス５０を自動的に停止させて，当該ミドルウェア４０を好適にインストール可能である。このため，ミドルウェア４０のインストールに失敗することがない。
【０１２４】
さらに，ミドルウェア４０のリリース後に，ミドルウェア４０のインストーラ４２が把握していない常駐システムプロセス５０がリリースされたとしても，当該常駐システムプロセス５０を確実に停止させることができる。
【０１２５】
また，ユーザに対し，常駐システムプロセス５０を手動で停止させることを強制しなくて済む。また，ユーザは，常駐システムプロセスが起動中であるか否かを意識することなく，所望のソフトウェア（ミドルウェア４０，常駐システムプロセス５０またはアプリケーション６０等）を簡単にインストールすることができる。
【０１２６】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【０１２７】
本発明は，ソフトウェアのインストール方法に適用可能であり，特に，常駐システムプロセスによって使用されるミドルウェアを安全にインストールすることが可能なインストール方法に好適に適用できる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の第１の実施形態にかかるコンテンツ利用システムの全体構成を概略的に示すブロック図である。
【図２】同実施形態にかかる情報処理装置にインストールされたソフトウェアの構成を概略的に示すブロック図である。
【図３】同実施形態にかかるミドルウェアのインストール時において，常駐システムプロセスの停止処理を行うための構成を概略的に示すブロック図である。
【図４】同実施形態にかかるレジストリの登録リストの構造例（ａ）と，ＵＮＩＸにおける環境設定データベースの登録リストの構造例（ｂ）を示す説明図である。
【図５】同実施形態にかかる常駐システムプロセスのインストール処理方法を示すフローチャートである。
【図６】同実施形態にかかるミドルウェアのインストール処理方法を示すフローチャートである。
【図７】同実施形態にかかる第１の停止処理における常駐システムプロセスの停止順序の具体例を説明するための説明図である。
【符号の説明】
【０１２９】
５      ネットワーク
７      記録媒体
１０      情報処理装置
２０      サーバ
３０      オペレーティングシステム
３４      停止モジュール
４０      ミドルウェア
４２      ミドルウェア用インストーラ
４４      既存常駐システムプロセスリスト
５０      常駐システムプロセス
５２      常駐システムプロセス用インストーラ
５４      依存情報
６０      アプリケーション
６２      アプリケーション用インストーラ
７０      レジストリ
７２      登録リスト
【図１】
2005339070.tif 000003
【図２】
2005339070.tif 000004
【図３】
2005339070.tif 000005
【図４】
2005339070.tif 000006
【図５】
2005339070.tif 000007
【図６】
2005339070.tif 000008
【図７】
2005339070.tif 000009