JP2005339070A - インストール方法,情報処理装置,プログラム - Google Patents

インストール方法,情報処理装置,プログラム Download PDF

Info

Publication number
JP2005339070A
JP2005339070A JP2004155355A JP2004155355A JP2005339070A JP 2005339070 A JP2005339070 A JP 2005339070A JP 2004155355 A JP2004155355 A JP 2004155355A JP 2004155355 A JP2004155355 A JP 2004155355A JP 2005339070 A JP2005339070 A JP 2005339070A
Authority
JP
Japan
Prior art keywords
resident system
system process
middleware
resident
identifier
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
JP2004155355A
Other languages
English (en)
Other versions
JP2005339070A5 (ja
Inventor
Hiromoto Hirakawa
博基 平川
Naotaka Kariya
直孝 苅谷
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004155355A priority Critical patent/JP2005339070A/ja
Publication of JP2005339070A publication Critical patent/JP2005339070A/ja
Publication of JP2005339070A5 publication Critical patent/JP2005339070A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ミドルウェアのインストール時に,必要な常駐システムプロセスを好適に停止させて,ミドルウェアを安全にインストールすることが可能なインストール方法を提供すること。
【解決手段】
1又は2以上の常駐システムプロセスによって使用されるミドルウェアを情報処理装置にインストールする方法が提供される。このインストール方法は,ソフトウェアの環境設定データが記録されるデータベースに登録されている1又は2以上の常駐システムプロセス識別子を読み出すステップS206と;読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止するステップS210と;常駐システムプロセスの動作停止後に,インストール対象のミドルウェアをインストールするステップS218と;を含むことを特徴とする。
【選択図】 図6

Description

本発明は,ミドルウェアをインストールするインストール方法,情報処理装置,プログラムに関する。
パーソナルコンピュータ等の情報処理装置に,インストーラによってミドルウェア(DLL等の共用モジュール)をインストールしようとする際,旧バージョンの共用モジュールが既にインストールされており,この旧バージョンの共用モジュールが常駐システムプロセス(バックグランド・システムプロセス;例えば,UNIX系の「デーモン」,Windows系の「Windowsサービス」等)によって使用されていた場合には,当該旧バージョンの共用モジュールのファイルがロックされる。このため,インストーラは,常駐システムプロセスの起動中は,共用モジュールを新バージョンに更新できない。
このような場合,インストーラは,インストール対象の新バージョンの共用モジュールを,一時保存フォルダ(Tempフォルダ等)に一時的に保存しておき,情報処理装置の再起動後に,当該新バージョンの共用モジュールをコピーして,バージョン更新するのが一般的である。
しかしながら,上記従来のインストール方式では,情報処理装置の再起動時に,常駐システムプロセスが自動的に開始するタイプのものである場合,上記共有モジュールのコピーより前に,常駐システムプロセスが動作開始されるため,上記共有モジュールのコピーがエラーになってしまう。このため,ミドルウェアの更新インストールが適正になされないという問題があった。
また,常駐システムプロセスとミドルウェアが個別に開発され,それぞれのインストーラも個別である場合において,ミドルウェアの開発・リリース後に,当該ミドルウェアを使用する常駐システムプロセスが開発・リリースされたとする。このような場合には,当該ミドルウェアのインストーラは,事後的に開発された上記常駐システムプロセス名が分からないので,当該ミドルウェアのインストール時に,上記常駐システムプロセスの動作を停止させることができなかった。
さらに,このようにインストーラが分からないからといって,情報処理技術に精通していない一般のエンドユーザに対して,どの常駐システムプロセスによってミドルウェアが使用されているかを判断させ,その常駐システムプロセスを手動で停止させる作業を要求することは困難である。
そこで,本発明は,上記問題に鑑みてなされたものであり,本発明の目的とするところは,ミドルウェアのインストール時に,必要な常駐システムプロセスを好適に停止させて,ミドルウェアを安全にインストールすることが可能な,新規かつ改良されたインストール方法,情報処理装置,プログラムを提供することにある。
上記課題を解決するために,本発明の第1の観点によれば,1又は2以上の常駐システムプロセスによって使用されるミドルウェアを情報処理装置にインストールする方法が提供される。このインストール方法は,ソフトウェアの環境設定データが記録されるデータベース(レジストリ等の環境設定用データベース)に登録されている1又は2以上の常駐システムプロセス識別子を読み出すステップと;読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止するステップと;常駐システムプロセスの動作停止後に,インストール対象のミドルウェアをインストールするステップと;を含むことを特徴とする。かかる構成により,ミドルウェアのインストール時に,当該ミドルウェアを使用して動作している常駐システムプロセスを自動的に停止させることができる。このため,常駐システムプロセスによって,旧バージョンのミドルウェア(DLL等の共有モジュール)のファイルのロックがなされないので,新バージョンのミドルウェアを好適にインストールできる。
また,上記常駐システムプロセスを情報処理装置にインストールするステップと;インストールされた常駐システムプロセスの常駐システムプロセス識別子を,データベースに登録するステップと;をさらに含むようにしてもよい。これにより,情報処理装置にインストールされる1又は2以上の常駐システムプロセスの識別子を,データベースに登録することができる。これにより,ミドルウェアのインストール時に,対応する常駐システムプロセスを,より確実に停止できる。
また,上記常駐システムプロセス識別子をデータベースに登録するステップでは,インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え,インストールされた常駐システムプロセスと依存関係を有する他の常駐システムプロセスの常駐システムプロセス識別子を,データベースに登録するようにしてもよい。これにより,ミドルウェアのインストール時に,インストールされた常駐システムプロセスの識別子のみならず,このインストールされた常駐システムプロセスと依存関係を有する(協働する)他の常駐システムプロセスの識別子もが読み出される。このため,これらの依存関係を有する常駐システムプロセスをすべて停止できる。
また,上記常駐システムプロセス識別子をデータベースに登録するステップでは,インストールされた常駐システムプロセスの常駐システムプロセス識別子を,インストールされた常駐システムプロセスが使用する1または2以上のミドルウェアに関連づけて登録し,データベースに登録されている常駐システムプロセス識別子を読み出すステップでは,インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すようにしてもよい。これにより,これにより,ミドルウェアのインストール時に,当該ミドルウェアを使用する1又は2以上の常駐システムプロセスのみを動作停止できる。このため,当該ミドルウェアのインストールを妨害する常駐システムプロセスのみを停止させ,当該ミドルウェアを使用しない常駐システムプロセスを停止しなくてすむので,停止処理が効率的である。
また,上記インストール対象のミドルウェアを使用する常駐システムプロセスのうち,インストール対象のミドルウェアの開発時に存在していた1又は2以上の常駐システムプロセスを表す既存常駐システムプロセスリストに基づいて,当該常駐システムプロセスの動作を停止するステップ,をさらに含むようにしてもよい。これにより,ミドルウェアのリリース時点において当該ミドルウェアを使用して動作することがすでに分かっている常駐システムプロセスを,ミドルウェアのインストール時に停止させる(第2の停止処理)ことができる。このような第2の停止処理は,上記のようなデータベースに登録されている常駐システムプロセス識別子に基づく停止処理(第1の停止処理)をバックアップして,上記第1で停止しきれなかった常駐システムプロセスをも停止できる。
また,上記データベースはレジストリであり,上記ミドルウェアは1又は2以上のダイナミック・リンク・ライブラリで構成されるようにしてもよい。
また,上記課題を解決するために,本発明の別の観点によれば,1又は2以上の常駐システムプロセスによって使用されるミドルウェアをインストールする情報処理装置が提供される。この情報処理装置は,ミドルウェアをインストールするミドルウェアインストール手段と;常駐システムプロセスの動作を停止する常駐システムプロセス停止手段と;を備える。さらに,ミドルウェアインストール手段は,ソフトウェアの環境設定データが記録されるデータベースに登録されている1又は2以上の常駐システムプロセス識別子を読み出し,常駐システムプロセス停止手段は,データベースから読み出された常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止し,ミドルウェアインストール手段は,常駐システムプロセス停止手段による常駐システムプロセスの動作停止後に,インストール対象のミドルウェアをインストールすることを特徴とする。
また,上記常駐システムプロセスをインストールする常駐システムプロセスインストール手段をさらに備え,上記常駐システムプロセスインストール手段は,インストールされた常駐システムプロセスの常駐システムプロセス識別子を,データベースに登録するようにしてもよい。
また,上記常駐システムプロセスインストール手段は,インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え,インストールされた常駐システムプロセスと依存関係を有する他の常駐システムプロセスの常駐システムプロセス識別子を,データベースに登録するようにしてもよい。
また,上記常駐システムプロセスインストール手段は,インストールされた常駐システムプロセスの常駐システムプロセス識別子を,インストールされた常駐システムプロセスが使用する1または2以上のミドルウェアに関連づけて登録し,上記ミドルウェアインストール手段は,データベースから,インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すようにしてもよい。
また,上記ミドルウェアインストール手段は,インストール対象のミドルウェアを使用する常駐システムプロセスのうち,インストール対象のミドルウェアの開発時に存在していた1又は2以上の常駐システムプロセスを表す既存常駐システムプロセスリストを保有しており,上記ミドルウェアインストール手段は,既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出し,上記常駐システムプロセス停止手段は,既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止するようにしてもよい。
また,上記データベースはレジストリであり,上記ミドルウェアは1又は2以上のダイナミック・リンク・ライブラリで構成されるようにしてもよい。
また,上記課題を解決するために,本発明の別の観点によれば,コンピュータに:ソフトウェアの環境設定データが記録されるデータベースに登録されている1又は2以上の常駐システムプロセス識別子を読み出す処理と;読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止する処理と;常駐システムプロセスの動作停止後に,インストール対象のミドルウェアをインストールする処理と;を実行させることを特徴とするプログラムが提供される。
また,上記常駐システムプロセスをインストールする処理と;インストールされた常駐システムプロセスの常駐システムプロセス識別子を,データベースに登録する処理と;をさらに実行させるようにしてもよい。
また,上記常駐システムプロセス識別子をデータベースに登録する処理では,インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え,インストールされた常駐システムプロセスと依存関係を有する他の常駐システムプロセスの常駐システムプロセス識別子を,データベースに登録するようにしてもよい。
また,上記常駐システムプロセス識別子をデータベースに登録する処理では,インストールされた常駐システムプロセスの常駐システムプロセス識別子を,インストールされた常駐システムプロセスが使用する1または2以上のミドルウェアに関連づけて登録し,上記タベースに登録されている常駐システムプロセス識別子を読み出す処理では,インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すようにしてもよい。
また,上記インストール対象のミドルウェアを使用する常駐システムプロセスのうち,インストール対象のミドルウェアの開発時に存在していた1又は2以上の常駐システムプロセスを表す既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出す処理と;既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止する処理と;をさらに実行させるようにしてもよい。
また,上記データベースはレジストリであり,上記ルウェアは1又は2以上のダイナミック・リンク・ライブラリで構成されるようにしてもよい。
以上説明したように本発明によれば,ミドルウェアのインストール時に,ミドルウェアを使用する常駐システムプロセスを自動的に停止させて,ミドルウェアを安全にインストールすることできる。
以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
以下に,本発明の第1の実施形態にかかるインストール方法,情報処理装置,プログラム等について詳細に説明する。なお,以下では,本実施形態にかかる特徴であるインストール方法を実行する情報処理装置が,例えば,次のようなコンテンツ利用システムの一構成要素として適用された例について説明するが,本発明はかかる例に限定されない。
まず,図1に基づいて,本発明の第1の実施形態にかかるコンテンツ利用システムの全体構成について説明する。なお,図1は,本発明の第1の実施形態にかかるコンテンツ利用システムの全体構成を概略的に示すブロック図である。
図1に示すように,本実施形態にかかるコンテンツ利用システムは,例えば,1又は2以上の情報処理装置10と,例えば1つのサーバ20と,これらを相互に接続するネットワーク5と,情報処理装置10の記録媒体用リーダ・ライタ(ディスクドライブ等)にローディングされる記録媒体7と,から構成される。このコンテンツ利用システムは,サーバ20からネットワーク5等を介してコンテンツを情報処理装置10に提供し,情報処理装置10においてかかるコンテンツを利用(再生,リッピング,コピー,PD(Portable Device)等への転送,編集など)するためのシステムである。
本実施形態にかかるコンテンツは,例えば,音楽,講演,ラジオ番組等の音声(Audio)コンテンツや,映画,テレビジョン番組,ビデオプログラム,写真,絵画,図表等を構成する静止画若しくは動画からなる映像(Video)コンテンツ,この映像コンテンツと音声コンテンツを組み合わせたコンテンツ,電子図書(E−book),ゲーム,ソフトウェア(soft ware)などのあらゆるコンテンツを含む。
情報処理装置10は,入力装置,記憶装置,演算装置,制御装置および出力装置等を備えたコンピュータ装置である。具体的には,この情報処理装置10は,例えば,パーソナルコンピュータ(ノート型,デスクトップ型を問わない。),PDA(Personal Digital Assistant),汎用コンピュータ,オフィスコンピュータ,スーパーコンピュータ,ワークステーションなどや,上記コンピュータ装置を備えた情報家電,家庭用ゲーム機,コンテンツ記録/再生装置,携帯電話などで構成される。なお,図1では,1つの情報処理装置10しか図示していないが,かかる例に限定されず,複数の情報処理装置10がネットワーク5に接続されていてもよい。
一方,サーバ20は,例えば,コンテンツ配信サービスを提供するサービスプロバイダなどが所有するサーバ装置である。このサーバ20は,サーバ機能を備えた1又は2以上のコンピュータ装置などで構成される。なお,図1では,1つのサーバ20しか図示していないが,かかる例に限定されず,例えば,機能・用途に応じて複数のサーバを設けてもよい。この複数のサーバの例としては,例えば,コンテンツを配信するコンテンツ提供用サーバ,コンテンツを利用するためのライセンスを提供するライセンス提供サーバ,ライセンスの発行に応じて課金処理を行う課金サーバ,コンテンツを利用するためのアプリケーション等の各種ソフトウェアを提供するソフトウェア提供サーバ,などが挙げられる。
ネットワーク5は,情報処理装置10とサーバ20を双方向通信可能に接続する通信回線網である。このネットワーク5は,例えば,インターネット,電話回線網,衛星通信網等の公衆回線網や,WAN,LAN,IP−VPN等の専用回線網などで構成されており,有線・無線を問わない。さらに,かかるネットワーク5は,ホームネットワーク等の私的ネットワークや,ローカルラインを含んでもよい。
記録媒体7は,ソフトウェア,コンテンツ等の各種データを格納することが可能なリムーバブルメディアであり,例えば,DVD−R,DVD−RW,DVD−RAM,CD−R,CD−RW,光磁気ディスク等の各種の光ディスクや,フレキシブルディスク,ハードディスク等の磁気ディスク,各種の半導体メモリなどである。なお,この記録媒体7は,例えば,暗号キー等を用いてコンテンツのコピーや再生等を制限する著作権管理機能付きの記録媒体であってもよい。
以上,コンテンツ利用システムの構成要素について説明した。かかるコンテンツ利用システムでは,サーバ20は,コンテンツ配信サービスを享受するユーザが所有する情報処理装置10に対し,ネットワーク5を介して,コンテンツを配信する。ここで,コンテンツの配信とは,例えば,コンテンツデータのダウンロード,或いはコンテンツデータのストリーミングのいずれであってもよい。また,サーバ20は,配信するコンテンツを,例えば,各種のMPEG方式等で圧縮し,暗号化して配信してもよい。このようにサーバ20から配信されるコンテンツは,例えば,著作権保護されたコンテンツであり,具体的には,暗号化されたコンテンツデータに対して,当該コンテンツの属性情報やコンテンツ鍵を含むセキュリティ情報が付加されている。このため,情報処理装置10は,適正なライセンスを保有していなければ,配信されたコンテンツを利用することができない。
また,サーバ20は,情報処理装置10に対し,ネットワーク5を介して配信コンテンツのライセンスを提供する。情報処理装置10は,かかるライセンスに基づいて,コンテンツを利用(再生,リッピング,コピー,他の装置(PD等)への転送,編集など)することができる。
さらに,サーバ20は,情報処理装置10に対して,コンテンツを利用するための各種のアプリケーション(応用ソフトウェア)およびこのアプリケーションのインストーラ(例えばインストール用のソフトウェア)を,ネットワーク5を介して提供する。これにより,情報処理装置10は,かかるアプリケーションをインストールして,上記配信されたコンテンツを利用することができる。
また,サーバ20は,情報処理装置10に対して,例えば,上記アプリケーション以外にも,常駐システムプロセス,ミドルウェアなどの各種ソフトウェア,およびこれらのインストーラなどを,ネットワーク5を介して提供するようにしてもよい。この常駐システムプロセスおよびミドルウェアの詳細については後述する。
また,上記アプリケーション,常駐プログラム,ミドルウェアおよびオペレーティングシステムなどのソフトウェア,並びにこれらのインストーラは,記録媒体7を介して,情報処理装置10に提供されてもよい。情報処理装置10は,かかる記録媒体7から上記各種のソフトウェアおよびインストーラを読み出し,当該インストーラを起動して当該ソフトウェアを自身にインストールすることができる。
次に,図2に基づいて,本実施形態にかかる情報処理装置10にインストールされたソフトウェアの構成例について説明する。なお,図2は,本実施形態にかかる情報処理装置10にインストールされたソフトウェアの構成を概略的に示すブロック図である。
図2に示すように,情報処理装置10には,例えば,オペレーティングシステム(Operating Systrem)30と,ミドルウェア40と,複数の常駐システムプロセス50−1,2,…,n(以下では,「常駐システムプロセス50」という。)と,複数のアプリケーション60−1,2,…,m(以下では,「アプリケーション60」という。)と,がインストールされている。
このうち,オペレーティングシステム30は下位層(基本層)を構成し,ミドルウェア40は中間層を構成し,常駐システムプロセス50およびアプリケーション60は上位層を構成している。なお,これらオペレーティングシステム30,ミドルウェア40,常駐システムプロセス50およびアプリケーション60等のソフトウェアは,情報処理装置10にプリインストールされていてもよいし,ユーザによって事後的にインストールされてもよい。
さらに,情報処理装置10は,例えば,これらオペレーティングシステム30,ミドルウェア40,常駐システムプロセス50およびアプリケーション60に対応して,それぞれ,インストーラ32,42,52,62を保有(ハードディスク等に保存)している。これらインストーラ32,42,52,62は,オペレーティングシステム30,ミドルウェア40,常駐システムプロセス50,アプリケーション60を,情報処理装置10にインストールする。
具体的には,インストーラ32,42,52,62は,上記ネットワーク5を介したダウンロード,または記録媒体7等によって提供された圧縮されたソフトウェアを解凍して,記憶装置のハードディスク等の適当な箇所(ディレクトリやフォルダ)にコピーする。さらに,インストーラ32,42,52,62は,例えば,記憶装置(ハードディスク等)に格納された環境設定データベース(レジストリ等)の書き換えを行う。かかるインストール処理によって,当該ソフトウェアが情報処理装置10にインストールされ,情報処理装置10において使用可能な状態となる。
以下に,かかるオペレーティングシステム30,ミドルウェア40,常駐システムプロセス50およびアプリケーション60,およびこれらのインストーラ32,42,52,62について詳細に説明する。
まず,オペレーティングシステム30(以下「OS30」という。)について説明する。OS30は,情報処理装置10を効率的に使用できるよう設計された基本ソフトウェアである。このOS30は,上記ミドルウェア40,常駐システムプロセス50およびアプリケーション60等のソフトウェアの実行管理を行う。また,OS30は,情報処理装置10を構成する制御装置,演算装置,記憶装置,入出力装置,通信装置等のハードウェアの動作管理などを行う。以下では,このOS30として,米国のマイクロソフト社が提供するWindows(Windows NT,98,2000,Me,XP等を含む。いずれも登録商標)を採用した例について説明する。しかし,本発明は,かかる例に限定されず,OS30は,例えば,UNIX(登録商標),Mac OS(登録商標),Linux(登録商標)などであってもよい。
また,OS用インストーラ32は,上記OS30をインストールするソフトウェアであり,記憶装置のハードディスク等に保存されている。このOS用インストーラ32を動作させることで,記録媒体5等を介して提供されたOS30を情報処理装置10にインストールすることができる。
次に,ミドルウェア40について説明する。ミドルウェア40は,OS30とアプリケーション60との中間に位置するソフトウェアであり,アプリケーション60や常駐システムプロセス50の処理を効率化する。本実施形態では,このミドルウェア40は,複数のアプリケーション60や常駐システムプロセス50によって共有される1又は2以上の共有モジュールで構成されている。
この共有モジュールは,複数のアプリケーション60や常駐システムプロセス50が共通して利用する汎用性の高いプログラムを,機能毎に部品化したプログラムであり,複数のファイルに分けて管理される。アプリケーション60や常駐システムプロセス50等は,必要な共有モジュールのみをメモリに読み出して使用する。このような共有モジュールをミドルウェア40として設けることによって,用途の同じ共有モジュールを複数のアプリケーション60等によって同時に共有できるので,アプリケーション60等の処理を効率化できる。また,共有モジュールとして提供されている機能は開発せずに済むので,アプリケーション60や常駐システムプロセス50の開発効率を向上できる。さらに,同じ共有モジュールを複数のアプリケーション60や常駐システムプロセス50で共有するので,記憶装置(ハードディスクやメモリ等)の容量を節約できる。
本実施形態では,この共有モジュールが,DLL(Dynamic Link Library;ダイナミック・リンク・ライブラリ)である例について主に説明する。このDLLは,OS30がWindowsである場合において,拡張子「.dll」を有するファイルで管理されるライブラリである。なお,OS30がUNIXである場合には,上記共有モジュールはシェアードライブラリ(Shared Library)と呼ばれる。
また,ミドルウェア用インストーラ42は,上記ミドルウェア40をインストールするソフトウェアであり,記憶装置のハードディスク等に保存されている。このミドルウェア用インストーラ42(以下では,単に「インストーラ42」という。)は,本実施形態における「ミドルウェアインストール手段」を構成する。このインストーラ42を動作させることで,ミドルウェア40を情報処理装置10にインストールすることができる。このインストールは,新規インストールと,バージョン更新時のインストールの双方を含む。かかるミドルウェア40のインストール時(更新時)には,すべての共有モジュール(例えばDLL)を書き換えるのではなく,必要な共有モジュール(例えばDLL)のみが書き換えられる。
かかるミドルウェア40のインストール処理は,ミドルウェア40自体をインストールする際のみならず,例えば,常駐システムプロセス50およびアプリケーション60のインストール時にも実行される。即ち,インストーラ42は,常駐システムプロセス50またはアプリケーション60のインストール時に,常駐システムプロセス50のインストーラ52またはアプリケーション60のインストーラ62によって起動され,インストールされた常駐システムプロセス50またはアプリケーション60の内容に応じて,対応するミドルウェア40を更新する処理を行う。
なお,図1の例では,1つのミドルウェア40とこれに対応する1つのインストーラ42しか示されていないが,本発明は,かかる例に限定されない。情報処理装置10には複数のミドルウェア40がインストールされ,これに対応する複数のインストーラ42が保存されていてもよい。この場合には,各アプリケーション60や各常駐システムプロセス50は,必要に応じて複数のミドルウェア40(共有モジュール)を使用して,処理を実行する。
次に,常駐システムプロセス50について説明する。常駐システムプロセス(バックグラウンド・システムプロセス)50は,情報処理装置10のメモリに常駐し,所定の条件が満たされたときに起動して様々なサービスを提供するソフトウェアである。この常駐システムプロセス50は,システムのバックグラウンドで動作し,ユーザによってその動作が意識されにくい比較的堅牢なソフトウェアである。かかる常駐システムプロセス50の例としては,例えば,OS30がWindowsである場合の「Windowsサービス」や,OS30がUNIXである場合の「デーモン(demon)」などが挙げられる。
この常駐システムプロセス50は,例えば,ファイル管理機能や,ネットワーク5を介した通信機能(コンテンツ,ライセンス,電子メール等の送受信,コンテンツのストリーミングなど),コンテンツの再生等のコンテンツ処理機能,印刷機能,WEBサーバとしての機能など,多様な機能をサポートする。また,常駐システムプロセス50は,処理を行う際に,上記ミドルウェア40のうち必要な共有モジュール(DLL等)を読み出して使用する。このため,常駐システムプロセス50の動作時には,当該常駐システムプロセス50によって使用されている共有モジュールのファイルはロックされ,当該共有モジュールをバージョン更新等するためのインストールを実行不能である。
また,複数の常駐システムプロセス50の間で,依存関係が存在する場合もある。この常駐システムプロセス50相互の依存関係とは,ある常駐システムプロセス50−1(基本常駐システムプロセス)が動作して初めて,他の常駐システムプロセス50−2(応用常駐システムプロセス)が動作できるような関係のことである。
具体的には,例えば,常駐システムプロセス50−1が,サーバ20と情報処理装置10との間でHTTP(HyperText Transfer Protocol)準拠でデータ通信を行うためのソフトウェアであり,常駐システムプロセス50−2が,サーバ20と情報処理装置10との間でコンテンツのストリーミングを行うためのソフトウェアである場合を想定する。この場合には,データ通信の基本常駐システムプロセスである常駐システムプロセス50−1が動作していなければ,データ通信の応用常駐システムプロセスである常駐システムプロセス50−2は動作することができない。かかる例は,2つの常駐システムプロセス50が依存関係を有する場合の例であるが,3つ以上の常駐システムプロセス50が例えばツリー構造の依存関係を有する場合もありうる。
また,常駐システムプロセス用インストーラ52−1,2,…,nは,それぞれ,上記各常駐システムプロセス50−1,2,…,nをインストールするソフトウェアであり,記憶装置のハードディスク等に保存されている。この常駐システムプロセス用インストーラ52−1,2,…,n(以下では,単に「インストーラ52」という。)は,本実施形態における「常駐システムプロセスインストール手段」を構成する。
このインストーラ52を動作させることで,対応する常駐システムプロセス50を情報処理装置10にインストールすることができる。また,かかる常駐システムプロセス50のインストール時には,インストーラ52は,インストールされた常駐システムプロセス50が使用するミドルウェア40の共有モジュールを更新するため,当該ミドルウェア40のインストーラ42を起動させる。
なお,このインストーラ52は,上記依存関係の有無に関わらず,図2に示すように各常駐システムプロセス50に1対1対応で設けられてもよいし,或いは,依存関係のある複数の常駐システムプロセス50に対して1つのインストーラ52が設けられてもよい。
次に,アプリケーション60について説明する。このアプリケーション60は,特定の処理を実行する応用ソフトウェアである。具体的には,アプリケーション60は,例えば,コンテンツを再生するアプリケーション(コンテンツプレーヤ)や,上記サーバ20が提供するコンテンツ配信サービスを利用(コンテンツおよびそのライセンスの選択,購入,受信等)するためのアプリケーション,記録媒体7等からコンテンツをリッピングするアプリケーション,コンテンツを記録(録音,録画等)するアプリケーション,コンテンツをコピー,編集等するアプリケーション,他の機器(PC,PD等)との間でコンテンツを送受信するためのアプリケーションなど,コンテンツを利用するための各種アプリケーションである。また,これら以外にも,アプリケーション60は,例えば,文書入力支援アプリケーション,表計算アプリケーション,プレゼンテーション用アプリケーション,電子メール送受信用アプリケーション,閲覧用アプリケーション(ブラウザ等),ゲーム用アプリケーションなど,情報処理装置10にインストール可能な任意のアプリケーションを含む。
かかるアプリケーション60は,ユーザ入力等や設定条件等に基づいて,必要に応じて上記ミドルウェア40を使用しながら,上記のような所定の処理を実行する。このアプリケーション60は,システムのフォアグラウンドで動作し,上記常駐システムプロセス50と比して,ユーザによってその動作が意識されやすい。
また,アプリケーション用インストーラ62−1,2,…,mは,それぞれ,上記各アプリケーション1,2,…,mをインストールするソフトウェアであり,記憶装置のハードディスク等に保存されている。このアプリケーション用インストーラ62(以下では,単に「インストーラ62」という。)は,本実施形態における「アプリケーションインストール手段」を構成する。このインストーラ62を動作させることで,対応するアプリケーション60を情報処理装置10にインストールすることができる。また,かかるアプリケーション60のインストール時には,インストーラ62は,インストールされたアプリケーション60が使用するミドルウェア40の共有モジュールを更新するため,当該ミドルウェア40のインストーラ42を起動させる。
以上,情報処理装置10にインストールされた各種のソフトウェア30,40,50,60,およびこれらのインストーラ32,42,52,62について詳細に説明した。
ところで,上述したように,ミドルウェア40をインストールする際に,このミドルウェア40を使用する1又は2以上の常駐システムプロセス50が動作している状態のままでは,当該ミドルウェア40を構成する共有モジュール(DLL等)のファイルがロックされ,当該ミドルウェア40を更新(共有モジュールを上書き)することができない。そこで,かかる問題に対処すべく,本実施形態にかかる情報処理装置10は,以下に説明するように,ミドルウェア40のインストール時に,当該ミドルウェア40を使用する常駐システムプロセス50を停止させた後に,当該ミドルウェア40のインストールを実行することを特徴とする。
次に,図3に基づいて,本実施形態にかかるミドルウェア40のインストール時において,常駐システムプロセス50の停止処理を行うための構成について説明する。なお,図3は,本実施形態にかかるミドルウェア40のインストール時において,常駐システムプロセス50の停止処理を行うための構成を概略的に示すブロック図である。
本実施形態にかかる情報処理装置10においては,(1)レジストリ70に登録された常駐システムプロセス識別子に基づいて,常駐システムプロセス50の動作を停止する第1の停止処理と,(2)既存常駐システムプロセスリスト44に含まれる常駐システムプロセス識別子に基づいて,常駐システムプロセス50の動作を停止する第2の停止処理と,を実行可能である。以下に,この第1および第2の停止処理について詳述する。
(第1の停止処理)
まず,第1の停止処理について説明する。図3に示すように,各常駐システムプロセス50のインストーラ52は,自身に対応する常駐システムプロセス50のインストール時に,当該常駐システムプロセス50の常駐システムプロセス識別子をレジストリ70に登録する。
レジストリ70は,例えば,本実施形態における「ソフトウェアの環境設定データが記録されるデータベース(環境設定用データベース)」を構成し,OS30が例えばWindowsである場合に用いられる。このレジストリ70は,情報処理装置10の記憶装置を構成するハードディスク等に保存されている。かかるレジストリ70には,例えば,情報処理装置10を構成するハードウェアの設定情報や,上記OS30,ミドルウェア40,常駐システムプロセス50およびアプリケーション60等のソフトウェアの環境設定データ,或いはこれらのソフトウェアの関連づけデータなどが記録される。なお,OS30がUNIXなどである場合には,上記レジストリ70とは異なる環境設定用データベースが用いられる。
また,常駐システムプロセス識別子は,常駐システムプロセス50を一意に特定する識別子であり,例えば,常駐システムプロセス名,常駐システムプロセスID,またはポート番号などを採用できる。常駐システムプロセス名は,常駐システムプロセス50の名前を表すヒューマンリーダブルな文字列であり,例えば,OS30がWindows等である場合に用いられる。一方,常駐システムプロセスIDは,常駐システムプロセス50単位で固有に付されるIDであり,OS30がUNIX等である場合に用いられる。
各常駐システムプロセス50のインストーラ52は,例えば,インストールされた常駐システムプロセス50の常駐システムプロセス識別子をレジストリ70内の登録リスト72に書き込むことによって,レジストリ70に登録する。この際,インストーラ52は,インストールされた常駐システムプロセス50が使用する1又は2以上のミドルウェア40に関連づけて,当該常駐システムプロセス50の常駐システムプロセス識別子を登録する。
また,インストーラ52は,インストールされた常駐システムプロセス50が他の常駐システムプロセス50と依存関係にある場合には,インストールされた常駐システムプロセス50の常駐システムプロセス識別子に加えて,上記依存関係にある他の常駐システムプロセス50の常駐システムプロセス識別子もレジストリ70に登録する。
具体的には,インストーラ52は,自身に対応する常駐システムプロセス50に関する依存情報54を保有している。この依存情報54は,常駐システムプロセス50相互の依存関係を表す情報(例えば,依存関係にある複数の常駐システムプロセスの常駐システムプロセス識別子のリスト)である。かかる依存情報54は,例えば,常駐システムプロセス50の開発時に,開発者によって作成され,当該常駐システムプロセス50に対応するインストーラ52に付加されている。
各インストーラ52は,自身に対応する常駐システムプロセス50のインストール時に,かかる依存情報54から,依存関係にある他の常駐システムプロセス50の常駐システムプロセス識別子を読み出し,かかる常駐システムプロセス識別子をレジストリ50の登録リスト54に書き込む。これにより,依存関係を有する複数の常駐システムプロセス50の常駐システムプロセス識別子をまとめてレジストリ70に登録できる。
ここで,図4に基づいて,本実施形態にかかるレジストリ70の登録リスト72の構造例について説明する。なお,図4(a)は,本実施形態にかかるレジストリ70の登録リスト72の構造例を示す説明図である。なお,図4(b)は,参考として,UNIXにおける環境設定データベースの登録リスト76の構造例を示す説明図である。
図4(a)に示すように,レジストリ70の登録リスト72には,各ミドルウェア40(#1,#2,…)毎に,それぞれ,上記常駐システムプロセス識別名が関連づけて登録されている。例えば,ミドルウェア#1には,音楽コンテンツのストリーミング等を行う常駐システムプロセス50の名称である「Vaio Media Music Server」,Http準拠の通信処理を行う常駐システムプロセス50の名称である「Http Communication」などといった常駐システムプロセス識別名が,関連づけて登録されている。
従って,かかる登録リスト72によって,上記常駐システムプロセス識別名で特定される複数の常駐システムプロセス50が情報処理装置10にインストールされていること,並びに当該常駐システムプロセス50がミドルウェア#1を使用して動作することを表すことができる。また,ヒューマンリーダブルな常駐システムプロセス識別名で登録することにより,登録リスト72を参照したユーザは,いかなる常駐システムプロセス50が登録されているかを把握できる。
一方,図4(b)に示すように,UNIX用の環境設定データベースの登録リスト76には,各ミドルウェア40(#1,#2,…)毎に,それぞれ,上記常駐システムプロセスIDが関連づけて登録されている。例えば,ミドルウェア#1には,「1234−5678」および「2234−5678」などの常駐システムプロセスIDが関連づけて登録されている。従って,かかる登録リスト76によって,これらの常駐システムプロセス識別IDで特定される常駐システムプロセス50が情報処理装置10にインストールされていること,並びに当該常駐システムプロセス50がミドルウェア#1を使用して動作することを表すことができる。
以上のようにして,各常駐システムプロセス50のインストーラ52は,常駐システムプロセス50のインストール時に,インストールされた常駐システムプロセス50の常駐システムプロセス識別子を,ミドルウェア40に関連づけて,レジストリ70の登録リスト72に登録する。複数の常駐システムプロセス50がインストールされた場合には,複数の常駐システムプロセス識別子がそれぞれ登録される。さらに,依存関係を有する常駐システムプロセスをインストールした場合には,インストールされた常駐システムプロセス50と依存関係のある他の常駐システムプロセス50の常駐システムプロセス識別子も登録リスト72に登録される。また,上記のように登録された常駐システムプロセス識別子は,その常駐システムプロセス50のアンインストール時にも消去されない。
また,インストーラ52は,例えば,複数の常駐システムプロセス50の依存関係を表す情報を,例えば,上記登録リスト72とは別に,例えばツリー構造(階層構造)のデータ形式でレジストリ70に登録する。また,インストーラ52は,常駐システムプロセス50のインストール時に,対応するミドルウェア40のインストーラ42を呼び出し,当該常駐システムプロセス50のインストールに関連するミドルウェア40のインストール(更新)を実行するように要求する。
以上のような常駐システムプロセス50の登録を行っておくことにより,それ以後のミドルウェア40のインストール時に,必要に応じて,常駐システムプロセス50の動作を停止することができるようになる。
具体的には,ミドルウェア40のインストールを行う場合には,各ミドルウェア40のインストーラ42は,ミドルウェア40をインストールする前に,まず,レジストリ42の登録リスト72を参照して,インストール対象のミドルウェア40を使用する常駐システムプロセス50の常駐システムプロセス識別子が登録されているか否かを判断する。この結果,登録されている場合には,インストーラ42は,登録リスト72に登録されている常駐システムプロセス識別子を読み出し,読み出した常駐システムプロセス識別子を例えばOS30に出力する。
例えばOS30は,常駐システムプロセス識別子によって指定された常駐システムプロセス50の動作を停止する停止モジュール34を有している。この停止モジュール34は,例えば,OS30に対応したAPI(Application Program Interface)に従って作成されている。かかる停止モジュール34は,上記インストーラ42から,常駐システムプロセス識別子が入力されると,入力された常駐システムプロセス識別子に対応する常駐システムプロセス50の動作を停止する。このように,停止モジュール34は,本実施形態における「常駐システムプロセス停止手段」を構成する。
このようにして,レジストリ70に登録されている常駐システムプロセス識別子に対応する常駐システムプロセス50の動作を停止することにより,インストーラ42によるインストール対象のミドルウェア40を使用する常駐システムプロセス50の動作を停止することができる。
以上のような第1の停止処理は,特に,インストール対象のミドルウェア40の開発・リリース後に,このミドルウェアを使用する常駐システムプロセスが開発・リリースされたため,インストーラ42が当該常駐システムプロセス50の存在を把握していない場合に有効である。このような場合であっても,当該常駐システムプロセス50のインストール時に,その常駐システムプロセス識別子がレジストリ70に登録されていれば,ミドルウェア40のインストール時に当該常駐システムプロセス50を停止させることができる。
(第2の停止処理)
次に,第2の停止処理について説明する。各インストーラ42は,各ミドルウェア40に対応する既存常駐システムプロセスリスト44をそれぞれ保有している。この既存常駐システムプロセスリスト44は,ミドルウェア40を使用する常駐システムプロセス50のうち,当該ミドルウェア40の開発時に既に存在していた1又は2以上の常駐システムプロセス50の識別子のリストである。換言すると,既存常駐システムプロセスリスト44は,ミドルウェア40の開発時に既にリリースされており,当該ミドルウェア40を使用して動作することが当該ミドルウェア40の開発時点において開発者によって既知であった1又は2以上の常駐システムプロセス50の識別子のリストである。
ミドルウェア40の開発者は,ミドルウェア40の開発前にリリースされた常駐システムプロセス50のうち,当該ミドルウェア40を使用する常駐システムプロセス50を把握している。従って,開発者は,当該ミドルウェア40に関する既存常駐システムプロセスリスト44を作成して,この既存常駐システムプロセスリスト44を当該ミドルウェア40のインストーラ42に付加することができる。
インストーラ42は,インストール対象のミドルウェア40のインストールを行う前に,自身の保有する既存常駐システムプロセスリスト44から,常駐システムプロセス識別子を読み出し,読み出した常駐システムプロセス識別子を例えばOS30に出力する。OS30の停止モジュール34は,上記と同様にして,入力された常駐システムプロセス識別子に対応する常駐システムプロセス50の動作を停止する。
このようにして,ミドルウェア40のインストール時に,上記既存常駐システムプロセスリスト44に含まれている常駐システムプロセス識別子に対応する常駐システムプロセス50の動作が停止される。これにより,インストール対象のミドルウェア40を使用する常駐システムプロセス50のうち,当該ミドルウェア40を使用することが当該ミドルウェア40の開発時において既知であった常駐システムプロセス50の動作を停止することができる。
以上のような第2の停止処理は,特に,レジストリ70に未登録の常駐システムプロセス50が存在する場合に有効である。つまり,例えば,常駐システムプロセス50のインストーラが,上記インストーラ52のようにレジストリ70への登録を行わないものである場合などには,上記第1の手法では,未登録当該常駐システムプロセス50の動作を停止不能である。そこで,第2の停止処理によって,未登録の常駐システムプロセス50のうち,上記ミドルウェア40を使用することが当該ミドルウェア40の開発時において既知であった常駐システムプロセス50の動作を停止することによって,上記第1の停止処理を好適にバックアップすることができる。
以上,インストール対象のミドルウェア40を使用する常駐システムプロセス50を停止させる2種類の停止処理について説明した。かかる2つの停止処理を併用することによって,インストール対象のミドルウェア40を使用する常駐システムプロセス50の動作を,より確実に停止することができる。このため,ミドルウェア40のインストール時(DLL等の共有モジュールの更新時など)に,当該常駐システムプロセス50による使用が原因で共有モジュールがロックされることがないので,インストーラ42は,上記インストール対象のミドルウェア40を好適にインストールすることができる。
なお,上記では,OS30が停止モジュール34を有していたが,本発明は,かかる例に限定されず,ミドルウェア40若しくはインストーラ42などが,停止モジュール34を有していてもよい。インストーラ42が停止モジュール34を有する場合には,このインストーラ42は,「ミドルウェアインストール手段」および「常駐システムプロセス停止手段」の双方を構成することになる。
次に,上記のような構成の情報処理装置10におけるミドルウェア40のインストール方法について説明する。本実施形態にかかるミドルウェア40のインストール方法は,常駐システムプロセス50のインストール時に,その常駐システムプロセス50をレジストリ70に登録しておくことが前提となっている。そこで,以下には,まず,常駐システムプロセス50のインストール処理方法について説明した上で,ミドルウェア40のインストール処理方法について説明する。
まず,図5に基づいて,本実施形態にかかる常駐システムプロセス50のインストール処理方法について説明する。なお,図5は,本実施形態にかかる常駐システムプロセス50のインストール処理方法を示すフローチャートである。
図5に示すように,まず,ステップS102では,常駐システムプロセス50のインストール要求がなされる(ステップS102)。具体的には,情報処理装置10のユーザが入力装置を操作して,所定の常駐システムプロセス50のインストール要求を行うと,インストール要求を受けた常駐システムプロセス50のインストーラ52が起動する。また,例えば,常駐システムプロセス50がオートアップデートされる場合などには,ネットワーク5を介した新バージョンの常駐システムプロセス50のダウンロードが,インストール要求に該当するので,かかるダウンロードに伴ってインストーラ52が起動する。
次いで,ステップS104では,常駐システムプロセス50がインストールされる(ステップS104)。インストール対象の常駐システムプロセス50のインストーラ52は,当該インストール対象の常駐システムプロセス50をインストールする。具体的には,インストーラ52は,ネットワーク5を介したダウンロードまたは記録媒体7等によって提供された常駐システムプロセス50のファイルを,ハードディスク等の適当な箇所(ディレクトリやフォルダ)にコピーする。さらに,インストーラ52は,例えば,インストールされた常駐システムプロセス50に関して,環境設定データや他のソフトウェアとのリンク情報などを,レジストリ70に記録する。
さらに,ステップS106では,インストールされた常駐システムプロセス50の常駐システムプロセス識別子が,レジストリ70に登録される(ステップS106)。具体的には,インストーラ52は,上記ステップS104でインストールされた常駐システムプロセス50の常駐システムプロセス識別子(例えば常駐システムプロセス名)を,レジストリ70の登録リスト72に書き込む。この際,常駐システムプロセス識別子は,当該常駐システムプロセス50が使用するミドルウェア40に関連づけて登録リスト72に書き込まれる。さらに,当該常駐システムプロセス50と依存関係を有する他の1又は2以上の常駐システムプロセス50が存在する場合には,インストーラ52は,依存関係のある常駐システムプロセス50の常駐システムプロセス識別子も,登録リスト72に書き込む。
なお,本ステップS106における常駐システムプロセス識別子の登録処理は,上記ステップS104におけるインストール処理よりも前に行われてもよい。この場合には,インストール処理の前に,インストール対象の常駐システムプロセス50の常駐システムプロセス識別子がレジストリ70に登録される。
その後,ステップS108では,対応するミドルウェア40のインストールが要求される(ステップS108)。具体的には,常駐システムプロセス50のインストーラ52は,常駐システムプロセス50が使用する1又は2以上のミドルウェア40のインストーラ42に対し,常駐システムプロセス50のインストールに伴う当該ミドルウェア40のインストール処理(DLLの更新処理等)を要求する。
次いで,ステップS110では,ミドルウェア40のインストール処理がなされる(ステップS110)。上記ステップS108でインストール要求されたミドルウェア40のインストーラ42は,上記常駐システムプロセス50のインストール内容に応じて,当該ミドルウェア40を更新するインストールを行う。なお,本ステップS110の詳細については後述する(図6参照)。
以上,1つの常駐システムプロセス50のインストール処理方法について説明した。複数の常駐システムプロセス50について上記のようなインストール処理を繰り返すことによって,レジストリ70には複数の常駐システムプロセス識別子(例えば常駐システムプロセス名)が登録される。
なお,アプリケーション60のインストール処理方法は,上記常駐システムプロセス50のインストール処理方法と比較して,ステップS106を含まない点を除いては,略同一であるので,詳細説明は省略する。
次に,図6に基づいて,本実施形態にかかるミドルウェア40のインストール処理方法について説明する。なお,図6は,本実施形態にかかるミドルウェア40のインストール処理方法を示すフローチャートである。
図6に示すように,まず,ステップS202では,ミドルウェア40のインストール要求がなされる(ステップS202)。このミドルウェア40のインストール要求は,例えば,(1)上記図5に示したような常駐システムプロセス50のインストール時における,常駐システムプロセス50のインストーラ52からの要求,(2)アプリケーション60のインストール時における,アプリケーション60のインストーラ62からの要求,(3)ミドルウェア40単独のインストール時おける,ユーザからの要求,(4)ミドルウェア40単独のオートアップデート時おける,新バージョンのミドルウェア40を,ネットワーク5等を介して受信等したことに伴う要求,などがある。このようなインストール要求がなされると,インストール要求を受けたミドルウェア40のインストーラ42が起動する。
次いで,ステップS204では,インストール対象のミドルウェア40に対応する常駐システムプロセス識別子が,レジストリ70に登録されているか否かが判断される(ステップS204)。具体的には,ミドルウェア40のインストーラ42は,レジストリ70の登録リスト72に,インストール対象のミドルウェア40に関して,常駐システムプロセス識別子(例えば常駐システムプロセス名)が書き込まれているか否かを判断する。この判断の結果,当該常駐システムプロセス識別子が登録リスト72に書き込まれている場合には,第1の停止処理を行うためステップS206に進み,一方,当該常駐システムプロセス識別子が登録リスト72に書き込まれていない場合には,第1の停止処理を行うことなく第2の停止処理を行うためステップS214に進む。
さらに,ステップS206では,レジストリ70から,常駐システムプロセス識別子が例えば1つずつ読み出される(ステップS206)。具体的には,インストーラ42は,レジストリ70の登録リスト72から,インストール対象のミドルウェア40に関連づけて登録されている常駐システムプロセス識別子を,例えば先に登録されているものから順に(例えば,登録リスト72の上に書かれているものから順に),例えば1つずつ読み出す。
その後,ステップS208では,読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50に,他の常駐システムプロセス50が依存しているか否かが判断される(ステップS208)。具体的には,インストーラ42は,レジストリ70に登録されている上記依存関係の情報に基づいて,上記ステップS206で読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50に,他の常駐システムプロセス50が依存しているか否かを判断する。この判断の結果,上記読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50に,他の常駐システムプロセス50が依存している場合には,他の常駐システムプロセス50を先に停止しなければ,当該読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50を停止できないので,ステップS212に進む。一方,上記読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50に,他の常駐システムプロセス50が依存していない場合には,当該読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50を停止可能であるので,ステップS210に進む。
次いで,ステップS210では,上記ステップS206で読み出した常駐システムプロセス識別子に対応する常駐システムプロセス50の停止処理がなされる(ステップS210)。具体的には,ミドルウェア40のインストーラ42は,読み出した常駐システムプロセス識別子を例えばOS30の停止モジュール34に出力する。停止モジュール34は,上記インストーラ42から,常駐システムプロセス識別子が入力されると,入力された常駐システムプロセス識別子に対応する常駐システムプロセス50の動作を停止する。なお,かかる停止モジュール34は,ミドルウェア40のインストーラ42が具備してもよい。
さらに,ステップS212では,レジストリ70に登録されている常駐システムプロセス識別子に対応する常駐システムプロセス50がすべて停止されたか否かが判断される(ステップS212)。具体的には,インストーラ42は,レジストリ70の登録リストに登録されている常駐システムプロセス識別子に対応する常駐システムプロセス50が,すべて停止されたか否かを判断する。この判断の結果,登録されているすべての常駐システムプロセス50が停止されておらず,まだ動作中のものがあると判断された場合には,ステップS206に戻り,次の常駐システムプロセス識別子が読み出されて,上記ステップS208およびS210と同様な処理がなされる。一方,登録されているすべての常駐システムプロセス50が停止されたと判断された場合には,第1の停止処理を終了し,第2の停止処理を行うためステップS214に進む。
ここで,図7に基づいて,上記第1の停止処理のS206〜212における常駐システムプロセス50の停止順序の具体例について説明する。なお,図7は,本実施形態にかかる第1の停止処理における常駐システムプロセス50の停止順序の具体例を説明するための説明図である。
図7(a)に示すように,レジストリ70の登録リスト72に,4つの常駐システムプロセスA〜Dの常駐システムプロセス名が登録されているものとする。この例において,全ての常駐システムプロセスA〜Dの間で依存関係がない場合には,他の常駐システムプロセスを停止しなくても,各常駐システムプロセスA〜Dを独立的に停止できる。従って,この場合には,図7(b)に示すように,登録リスト72に登録された順通りに,A→B→C→Dの順で停止試行を行い,停止が制限されることなく,同じ順序で常駐システムプロセスA〜Dが停止される。
一方,常駐システムプロセスDが常駐システムプロセスBに依存している(即ち,常駐システムプロセスBが動作しなければ常駐システムプロセスDが動作できない)場合には,依存されている常駐システムプロセスDを停止した後でなければ,依存している常駐システムプロセスBを停止できない。このため,この場合には,図7(b)に示すように,A→B→C→D→Bの順で停止試行を行い,この結果,A→C→D→Bの順で常駐システムプロセスA〜Dが停止される。
具体的には,まず,登録リスト72の最初(1番目)に記載されている常駐システムプロセスAの常駐システムプロセス名が読み出され,常駐システムプロセスAが停止される。次いで,登録リスト72の次(2番目)に記載されている常駐システムプロセスBの常駐システムプロセス名が読み出されるが,上記依存関係があるため常駐システムプロセスBを停止できない。よって,常駐システムプロセスBを動作させたままで,登録リスト72の次(3番目)に記載されている常駐システムプロセスCの常駐システムプロセス名が読み出され,常駐システムプロセスCが停止される。さらに,常駐システムプロセスCの停止後に,登録リスト72の最後(4番目)に記載されている常駐システムプロセスDの常駐システムプロセス名が読み出され,常駐システムプロセスDが停止される。しかし,この時点では,常駐システムプロセスBがまだ動作中であるので,再度,登録リスト72の上から順に停止処理を行う。この場合には,常駐システムプロセスBが依存している常駐システムプロセスDが既に停止されているので,再度停止を試みた常駐システムプロセスBを停止することができる。
このような停止手法により,ミドルウェア40のインストーラ42は,登録されている常駐システムプロセス50の依存関係を気にすることなく,動作している複数の常駐システムプロセス50を簡単かつ確実に停止することができる。
以上のような第1の停止処理(ステップS204〜S212)によって,インストール対象のミドルウェア40についで,レジストリ70に登録されている常駐システムプロセス識別子の常駐システムプロセス50が停止される。
次いで,ステップS214では,既存常駐システムプロセスリスト44に含まれる常駐システムプロセス識別子に対応する常駐システムプロセス50が,動作中であるか否かが判断される(ステップS214)。具合的には,インストール対象のミドルウェア40のインストーラ42は,自己の保有する既存常駐システムプロセスリスト44に含まれている常駐システムプロセス識別子に対応する常駐システムプロセス50のうち少なくともいずれかが,依然として動作中であるか否かを判断する。この判断の結果,動作中であると判断された場合には,ステップS216に進み,一方,すべて停止していると判断された場合には,ステップS218に進む。
さらに,ステップS216では,動作中の常駐システムプロセス50の停止処理がなされる。(ステップS216)。具体的には,ミドルウェア40のインストーラ42は,上記ステップS214で依然として動作中であると判断した常駐システムプロセス50の常駐システムプロセス識別子を,既存常駐システムプロセスリスト44から読み出して,例えばOS30の停止モジュール34に出力する。停止モジュール34は,上記インストーラ42から,常駐システムプロセス識別子が入力されると,入力された常駐システムプロセス識別子に対応する常駐システムプロセス50の動作を停止する。
以上のような第2の停止処理(ステップS214〜S216)によって,既存常駐システムプロセスリスト44に基づいて常駐システムプロセス50が停止される。なお,かかる第2の停止処理(ステップS214〜S216)は,第1の停止処理(ステップS204〜S212)よりも前に実行されてもよい。
その後,ステップS218では,ミドルウェア40がインストールされる(ステップS218)。インストール対象のミドルウェア40のインストーラ42は,当該インストール対象のミドルウェア40をインストール(DLL等の共有モジュールの更新など)する。
具体的には,インストーラ42は,ネットワーク5を介したダウンロードまたは記録媒体7等によって提供されたミドルウェア40のファイルを,ハードディスク等の適当な箇所(ディレクトリやフォルダ)にコピーする。さらに,インストーラ42は,例えば,インストールされたミドルウェア40に関して,環境設定データや他のソフトウェア(常駐システムプロセス50,アプリケーション60等)とのリンク情報などを,レジストリ70に記録する。これにより,常駐システムプロセス50等は,インストール後(DLL等のモジュールの更新後)のミドルウェア40を使用して好適に動作できるようになる。
かかるミドルウェア40のインストール時には,上記のようにして当該ミドルウェア40を使用する常駐システムプロセス50が停止されており,共有モジュールがロックされないので,当該ミドルウェア40を好適にインストール可能である。
以上,本実施形態にかかる情報処理装置,プログラムおよびこれらを用いたインストール方法について説明した。本実施形態によれば,予めミドルウェア40のインストーラ42と常駐システムプロセス50のインストーラ52との間で,上記のようなインストールのルールを定めている。これにより,ミドルウェア40のインストール時には,当該ミドルウェア40に対応する常駐システムプロセス50を自動的に停止させて,当該ミドルウェア40を好適にインストール可能である。このため,ミドルウェア40のインストールに失敗することがない。
さらに,ミドルウェア40のリリース後に,ミドルウェア40のインストーラ42が把握していない常駐システムプロセス50がリリースされたとしても,当該常駐システムプロセス50を確実に停止させることができる。
また,ユーザに対し,常駐システムプロセス50を手動で停止させることを強制しなくて済む。また,ユーザは,常駐システムプロセスが起動中であるか否かを意識することなく,所望のソフトウェア(ミドルウェア40,常駐システムプロセス50またはアプリケーション60等)を簡単にインストールすることができる。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
本発明は,ソフトウェアのインストール方法に適用可能であり,特に,常駐システムプロセスによって使用されるミドルウェアを安全にインストールすることが可能なインストール方法に好適に適用できる。
本発明の第1の実施形態にかかるコンテンツ利用システムの全体構成を概略的に示すブロック図である。 同実施形態にかかる情報処理装置にインストールされたソフトウェアの構成を概略的に示すブロック図である。 同実施形態にかかるミドルウェアのインストール時において,常駐システムプロセスの停止処理を行うための構成を概略的に示すブロック図である。 同実施形態にかかるレジストリの登録リストの構造例(a)と,UNIXにおける環境設定データベースの登録リストの構造例(b)を示す説明図である。 同実施形態にかかる常駐システムプロセスのインストール処理方法を示すフローチャートである。 同実施形態にかかるミドルウェアのインストール処理方法を示すフローチャートである。 同実施形態にかかる第1の停止処理における常駐システムプロセスの停止順序の具体例を説明するための説明図である。
符号の説明
5 ネットワーク
7 記録媒体
10 情報処理装置
20 サーバ
30 オペレーティングシステム
34 停止モジュール
40 ミドルウェア
42 ミドルウェア用インストーラ
44 既存常駐システムプロセスリスト
50 常駐システムプロセス
52 常駐システムプロセス用インストーラ
54 依存情報
60 アプリケーション
62 アプリケーション用インストーラ
70 レジストリ
72 登録リスト

Claims (18)

  1. 1又は2以上の常駐システムプロセスによって使用されるミドルウェアを情報処理装置にインストールする方法であって:
    ソフトウェアの環境設定データが記録されるデータベースに登録されている1又は2以上の常駐システムプロセス識別子を読み出すステップと;
    前記読み出した常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止するステップと;
    前記常駐システムプロセスの動作停止後に,インストール対象の前記ミドルウェアをインストールするステップと;
    を含むことを特徴とする,インストール方法。
  2. 前記常駐システムプロセスを前記情報処理装置にインストールするステップと;
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を,前記データベースに登録するステップと;
    をさらに含むことを特徴とする,請求項1に記載のインストール方法。
  3. 前記常駐システムプロセス識別子を前記データベースに登録するステップでは,
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え,前記インストールされた常駐システムプロセスと依存関係を有する他の前記常駐システムプロセスの常駐システムプロセス識別子を,前記データベースに登録することを特徴とする,請求項2に記載のインストール方法。
  4. 前記常駐システムプロセス識別子を前記データベースに登録するステップでは,
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を,前記インストールされた常駐システムプロセスが使用する1または2以上の前記ミドルウェアに関連づけて登録し,
    前記データベースに登録されている常駐システムプロセス識別子を読み出すステップでは,
    前記インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すことを特徴とする,請求項2に記載のインストール方法。
  5. 前記インストール対象のミドルウェアを使用する前記常駐システムプロセスのうち,前記インストール対象のミドルウェアの開発時に存在していた1又は2以上の前記常駐システムプロセスを表す既存常駐システムプロセスリストに基づいて,当該常駐システムプロセスの動作を停止するステップ,
    をさらに含むことを特徴とする,請求項1に記載のインストール方法。
  6. 前記データベースはレジストリであり,
    前記ミドルウェアは1又は2以上のダイナミック・リンク・ライブラリで構成されることを特徴とする,請求項1に記載のインストール方法。
  7. 1又は2以上の常駐システムプロセスによって使用されるミドルウェアをインストールする情報処理装置であって:
    前記ミドルウェアをインストールするミドルウェアインストール手段と;
    前記常駐システムプロセスの動作を停止する常駐システムプロセス停止手段と;
    を備え,
    前記ミドルウェアインストール手段は,ソフトウェアの環境設定データが記録されるデータベースに登録されている1又は2以上の常駐システムプロセス識別子を読み出し,
    前記常駐システムプロセス停止手段は,前記データベースから読み出された常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止し,
    前記ミドルウェアインストール手段は,前記常駐システムプロセス停止手段による前記常駐システムプロセスの動作停止後に,インストール対象の前記ミドルウェアをインストールすることを特徴とする,情報処理装置。
  8. 前記常駐システムプロセスをインストールする常駐システムプロセスインストール手段をさらに備え,
    前記常駐システムプロセスインストール手段は,前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を,前記データベースに登録することを特徴とする,請求項7に記載の情報処理装置。
  9. 前記常駐システムプロセスインストール手段は,
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え,前記インストールされた常駐システムプロセスと依存関係を有する他の前記常駐システムプロセスの常駐システムプロセス識別子を,前記データベースに登録することを特徴とする,請求項8に記載の情報処理装置。
  10. 前記常駐システムプロセスインストール手段は,
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を,前記インストールされた常駐システムプロセスが使用する1または2以上の前記ミドルウェアに関連づけて登録し,
    前記ミドルウェアインストール手段は,
    前記データベースから,前記インストール対象のミドルウェアに関連づけて登録されている前記常駐システムプロセス識別子のみを読み出すことを特徴とする,請求項8に記載の情報処理装置。
  11. 前記ミドルウェアインストール手段は,前記インストール対象のミドルウェアを使用する前記常駐システムプロセスのうち,前記インストール対象のミドルウェアの開発時に存在していた1又は2以上の前記常駐システムプロセスを表す既存常駐システムプロセスリストを保有しており,
    前記ミドルウェアインストール手段は,前記既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出し,
    前記常駐システムプロセス停止手段は,前記既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止することを特徴とする,請求項7に記載の情報処理装置。
  12. 前記データベースはレジストリであり,
    前記ミドルウェアは1又は2以上のダイナミック・リンク・ライブラリで構成されることを特徴とする,請求項7に記載の情報処理装置。
  13. コンピュータに:
    ソフトウェアの環境設定データが記録されるデータベースに登録されている1又は2以上の常駐システムプロセス識別子を読み出す処理と;
    前記読み出した常駐システムプロセス識別子に対応する常駐システムプロセスの動作を停止する処理と;
    前記常駐システムプロセスの動作停止後に,インストール対象のミドルウェアをインストールする処理と;
    を実行させることを特徴とする,プログラム。
  14. 前記常駐システムプロセスをインストールする処理と;
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を,前記データベースに登録する処理と;
    をさらに実行させることを特徴とする,請求項13に記載のプログラム。
  15. 前記常駐システムプロセス識別子を前記データベースに登録する処理では,
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子に加え,前記インストールされた常駐システムプロセスと依存関係を有する他の前記常駐システムプロセスの常駐システムプロセス識別子を,前記データベースに登録することを特徴とする,請求項14に記載のプログラム。
  16. 前記常駐システムプロセス識別子を前記データベースに登録する処理では,
    前記インストールされた常駐システムプロセスの常駐システムプロセス識別子を,前記インストールされた常駐システムプロセスが使用する1または2以上の前記ミドルウェアに関連づけて登録し,
    前記データベースに登録されている常駐システムプロセス識別子を読み出す処理では,
    前記インストール対象のミドルウェアに関連づけて登録されている常駐システムプロセス識別子のみを読み出すことを特徴とする,請求項14に記載のプログラム。
  17. 前記インストール対象のミドルウェアを使用する前記常駐システムプロセスのうち,前記インストール対象のミドルウェアの開発時に存在していた1又は2以上の前記常駐システムプロセスを表す既存常駐システムプロセスリストに含まれる常駐システムプロセス識別子を読み出す処理と;
    前記既知常駐システムプロセスリストから読み出された常駐システムプロセス識別子に対応する前記常駐システムプロセスの動作を停止する処理と;
    をさらに実行させることを特徴とする,請求項13に記載のプログラム。
  18. 前記データベースはレジストリであり,
    前記ミドルウェアは1又は2以上のダイナミック・リンク・ライブラリで構成されることを特徴とする,請求項13に記載のプログラム。
JP2004155355A 2004-05-25 2004-05-25 インストール方法,情報処理装置,プログラム Pending JP2005339070A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004155355A JP2005339070A (ja) 2004-05-25 2004-05-25 インストール方法,情報処理装置,プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004155355A JP2005339070A (ja) 2004-05-25 2004-05-25 インストール方法,情報処理装置,プログラム

Publications (2)

Publication Number Publication Date
JP2005339070A true JP2005339070A (ja) 2005-12-08
JP2005339070A5 JP2005339070A5 (ja) 2010-10-28

Family

ID=35492589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004155355A Pending JP2005339070A (ja) 2004-05-25 2004-05-25 インストール方法,情報処理装置,プログラム

Country Status (1)

Country Link
JP (1) JP2005339070A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225023A (ja) * 2009-03-25 2010-10-07 Hitachi Software Eng Co Ltd システム環境変更・復元・修正履歴管理方法
US8079016B2 (en) 2006-11-24 2011-12-13 Canon Kabushiki Kaisha Information processing apparatus and application management method
JP2013214247A (ja) * 2012-04-03 2013-10-17 Canon Inc 情報処理装置、制御方法、およびプログラム
JP2014501410A (ja) * 2010-12-23 2014-01-20 マイクロソフト コーポレーション アプリケーション従属性を満たすこと
JP2021071986A (ja) * 2019-10-31 2021-05-06 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511833A (ja) * 2000-05-04 2004-04-15 サイエンティフィック−アトランタ, インコーポレイテッド 複数のアプリケーションのためのメモリ管理および現在のアプリケーションバージョンを保守する通信端末ためのシステムおよび方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511833A (ja) * 2000-05-04 2004-04-15 サイエンティフィック−アトランタ, インコーポレイテッド 複数のアプリケーションのためのメモリ管理および現在のアプリケーションバージョンを保守する通信端末ためのシステムおよび方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079016B2 (en) 2006-11-24 2011-12-13 Canon Kabushiki Kaisha Information processing apparatus and application management method
JP2010225023A (ja) * 2009-03-25 2010-10-07 Hitachi Software Eng Co Ltd システム環境変更・復元・修正履歴管理方法
JP2014501410A (ja) * 2010-12-23 2014-01-20 マイクロソフト コーポレーション アプリケーション従属性を満たすこと
US9354852B2 (en) 2010-12-23 2016-05-31 Microsoft Technology Licensing, Llc Satisfying application dependencies
US9977665B2 (en) 2010-12-23 2018-05-22 Microsoft Technology Licensing, Llc Satisfying application dependencies
JP2013214247A (ja) * 2012-04-03 2013-10-17 Canon Inc 情報処理装置、制御方法、およびプログラム
US9417861B2 (en) 2012-04-03 2016-08-16 Canon Kabushiki Kaisha Information processing apparatus, method for controlling the same, and storage medium
JP2021071986A (ja) * 2019-10-31 2021-05-06 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム
JP7395962B2 (ja) 2019-10-31 2023-12-12 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム

Similar Documents

Publication Publication Date Title
US7770165B2 (en) Providing firmware updates to portable media devices
KR101247083B1 (ko) 세대별 파일로서 파일을 자동으로 백업하는 파일 시스템을사용하기 위한 방법 및 시스템
US8489552B1 (en) Generic granular restore of application data from a volume image backup
US8136100B1 (en) Software installation and icon management support
US7739659B2 (en) Information processing apparatus, executability determining method, and computer program for the same
US6795835B2 (en) Migration of computer personalization information
US8606886B2 (en) System for conversion between physical machines, virtual machines and machine images
JP5027807B2 (ja) 信頼される環境をサポートするコンピュータ可読コンポーネントの自動更新
US20030221094A1 (en) Method and system for configuring a computer
US20050193032A1 (en) Method of migrating from one computer to another
US20130047150A1 (en) Software installation and process management support
US7496565B2 (en) Method and system for maintaining namespace consistency with a file system
JP2005353073A (ja) 自己インストールを行うコンピュータ周辺機器
US20060123413A1 (en) System and method for installing a software application
JPWO2006067841A1 (ja) 仮想マシン管理プログラムおよび仮想マシン管理方法
US20050273488A1 (en) Migration of data between computers
US20090089778A1 (en) User-specified install locations
WO2007123620A1 (en) Isolation of application execution
US7694280B2 (en) Systems and methods for controlling program installation on a computing device
US8161383B2 (en) Information processing apparatus and information processing method
US20090307276A1 (en) Migration using file system links
US7478386B2 (en) Resource-conservative installation of compressed archives
JP2005339070A (ja) インストール方法,情報処理装置,プログラム
US20080256514A1 (en) Side-by-side application manifests for single-purpose applications
US20130067447A1 (en) State Machine Based Package Installation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110215