(57)【要約】【課題】連携して動作する複数のソフトウェアを更新する場合に、品質保証された環境と同一のソフトウェア構成となるように更新制御する。【解決手段】記憶部と、構成情報記憶部と、判断部と、制御部と、を備えたことを特徴とする医用情報処理装置である。記憶部は、複数のアプリケーションプログラムを記憶する。構成情報記憶部は、アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶する。判断部は、構成情報に基づいて、アプリケーションプログラムを実行可能か判断する。制御部は、判断部でアプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムに対応する機能を、サーバー上で実行させる。【選択図】図１
2012069088.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムを記憶する記憶部と、
前記アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶した構成情報記憶部と、
前記構成情報に基づいて、前記アプリケーションプログラムを実行可能か判断する判断部と、
前記判断部で前記アプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムに対応する機能を、サーバー上で実行させる制御部と、
を備えたことを特徴とする医用情報処理装置。
【請求項２】
複数のアプリケーションプログラムを記憶する記憶部と、
前記アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶した構成情報記憶部と、
前記構成情報に基づいて、前記アプリケーションプログラムを実行可能か判断する判断部と、
前記判断部で前記アプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムを、当該アプリケーションプログラムを実行している仮想実行空間とは異なる仮想実行空間上で実行させる制御部と、
を備えたことを特徴とする医用情報処理装置。
【請求項３】
前記事項環境の構成情報は、前記アプリケーションプログラムの実行に必要とされる、関連アプリケーションプログラムの種類を識別する情報を含むものであることを特徴とする請求項１に記載の医用情報処理装置。
【請求項４】
前記事項環境の構成情報は、前記アプリケーションプログラムの実行に必要とされる、関連アプリケーションプログラムのバージョン情報を含むものであることを特徴とする請求項１に記載の医用情報処理装置。
【請求項５】
複数のアプリケーションプログラムを記憶する記憶部と、
前記アプリケーションプログラムを更新するためのインストールプログラムを、ネットワークを介してサーバーから取得する取得部と、
前記インストールプログラムを実行して当該アプリケーションプログラムの更新を行う更新部と、
前記アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶した構成情報記憶部と、
前記構成情報に基づいて、前記アプリケーションプログラムを実行可能か判断する判断部と、
前記判断部で前記アプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムの実行を禁止する起動制御部と、
を備えたことを特徴とする医用情報処理装置。
【請求項６】
実行を禁止された当該アプリケーションプログラムに相当する機能を、ネットワークを介して、サーバー上で実行させる制御部
を備えたことを特徴とする請求項５に記載の医用情報処理装置。
【請求項７】
複数のアプリケーションプログラムを記憶する記憶部と、
前記アプリケーションプログラムの実行に関連する関連アプリケーションプログラムの情報を含む実行環境の構成情報を記憶した構成情報記憶部と、
前記構成情報に基づいて、前記アプリケーションプログラムの実行に必要な関連アプリケーションプログラムが存在するか判断する判断部と、
前記判断部で当該関連アプリケーションプログラムが存在しないと判断された場合、その関連アプリケーションプログラムに相当する機能を、ネットワークを介して、サーバー上で実行させる制御部と、
を備えたことを特徴とする医用情報処理装置。
【請求項８】
複数のアプリケーションプログラムを記憶する記憶部と、
前記アプリケーションプログラムを更新するためのインストールプログラムを、ネットワークを介してサーバーから取得する取得部と、
前記インストールプログラムを実行して当該アプリケーションプログラムの更新を行う更新部と、
前記アプリケーションプログラムと、当該アプリケーションプログラムの実行に関連する関連アプリケーションプログラムとを対応付けて記憶した構成情報記憶部と、
前記アプリケーションプログラムの更新時に、更新対象のアプリケーションプログラムに関連付けられた前記関連アプリケーションプログラムの実行を禁止するプログラムの起動制御部と、
を備えたことを特徴とする医用情報処理装置。
【請求項９】
実行を禁止された前記関連アプリケーションプログラムに相当する機能を、ネットワークを介して、サーバー上で実行させる制御部
を備えたことを特徴とする請求項８に記載の医用情報処理装置。
【請求項１０】
複数の端末と、前記端末にソフトウェアを配信するサーバーとで構成されるソフトウェア配信システムであって、
前記サーバーは、
複数のアプリケーションプログラムを記憶する記憶部と、
前記アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶した構成情報記憶部と、
を備え、
前記端末は、
前記アプリケーションプログラムを更新するためのインストールプログラムと、当該アプリケーションプログラムに対応する前記構成情報とを、ネットワークを介して前記サーバーから取得する取得部と、
前記構成情報に基づいて、前記アプリケーションプログラムを実行可能か判断する判断部と、
前記判断部で前記アプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムに対応する機能を、サーバー上で実行させる制御部と、
を備えたことを特徴とするソフトウェア配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、複数の医療機器のシステムが共存する環境下でソフトウェアを配信する技術に関する。
【背景技術】
【０００２】
複数の医療機器のシステムが共存する環境下において、端末（以下「クライアント」と呼ぶ）に複数のソフトウェアをインストールし動作させる場合が有る。このようなソフトウェアに機能の追加や修正を施す場合、該ソフトウェアを新しく更新することで対応し、このソフトウェアの更新をバージョンで管理している。このソフトウェアの更新は、迅速かつ効率的に実施されることが求められており、近年では、サーバーにソフトウェアを配置し、クライアントに配信する方法が多く採用されている。なお、このソフトウェアには、アプリケーションプログラムが含まれる。また、このソフトウェアは、アプリケーションプログラムに限らず、ハードウェアを制御するためのドライバ等を含んでもよい。
【０００３】
また、これらのソフトウェアは、自身単体のみで動作する以外にも、複数のソフトウェアが、連携して動作する場合がある。例えば、複数のソフトウェア間でのデータ送受信や、互いの処理を呼び出しにより連携する場合等があげられる。このような場合、連携して動作する各ソフトウェアの動作検証をあらかじめ行っておき、問題が有る場合は各ソフトウェアをその都度更新（バージョンアップ）する。この動作検証により最終的に動作が確認された環境、つまり、連携するソフトウェア及びそのバージョンの組み合わせ（以下、「ソフトウェア構成」と呼ぶ）で動作する環境を、品質保証された環境とする。この品質保証された環境と同一のソフトウェア構成で、クライアントに各ソフトウェアをインストールすることで、連携する各ソフトウェアをクライアント上で安全に動作させることが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７２８４８号公報
【特許文献２】特開２００８−１５２４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、必ずしも品質保証された環境と同一のソフトウェア構成で、連携する各ソフトウェアがクライアントにインストールされるとは限らない。例えば、連携する複数のソフトウェアのうち、一部のソフトウェアのインストールが失敗し、クライアントにインストールされた該ソフトウェアが、新しいバージョンのソフトウェアに更新されない場合がある。
【０００６】
品質保証された環境と異なるソフトウェア構成においても、一部の機能を使用することが可能な場合がある。具体的には、例えば、連携する各ソフトウェアのうち一部をインストール中に、連携する他のソフトウェアが実行された場合においても、品質保証された環境と異なるソフトウェア構成で該ソフトウェアが動作する場合がある。このような場合、その機能が必ずしも正しく実行されているとは限らない。特に医療機器のシステムにおいては、少しの不具合や動作ミスが大きな問題に発展することもあり得る。
【０００７】
この発明の実施形態は上記の問題を解決するものであり、クライアントにインストールされたソフトウェアを更新する場合に、その更新対象のソフトウェアに連携する複数のソフトウェアを含めて、品質保証された環境と同一のソフトウェア構成となるように更新制御することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、この実施形態の第１の形態は、記憶部と、構成情報記憶部と、判断部と、制御部と、を備えたことを特徴とする医用情報処理装置である。記憶部は、複数のアプリケーションプログラムを記憶する。構成情報記憶部は、アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶する。判断部は、構成情報に基づいて、アプリケーションプログラムを実行可能か判断する。制御部は、判断部でアプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムに対応する機能を、サーバー上で実行させる。
また、この実施形態の第２の態様は、複数の端末と、端末にソフトウェアを配信するサーバーとで構成されるソフトウェア配信システムである。サーバーは、記憶部と、構成情報記憶部と、を備える。記憶部は、複数のアプリケーションプログラムを記憶する。構成情報記憶部は、アプリケーションプログラムに対応する品質保証された実行環境の構成情報を記憶する。端末は、取得部と、判断部と、制御部と、を備える。取得部は、アプリケーションプログラムを更新するためのインストールプログラムと、当該アプリケーションプログラムに対応する構成情報とを、ネットワークを介してサーバーから取得する。判断部は、構成情報に基づいて、アプリケーションプログラムを実行可能か判断する。制御部は、判断部でアプリケーションプログラムを実行できないと判断された場合、当該アプリケーションプログラムに対応する機能を、サーバー上で実行させる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るソフトウェア配信システムの機能ブロック図である。
【図２】構成管理情報のデータ構造を説明するための図である。
【図３】１つのソフトウェア構成に対し関連するソフトウェアをインストールする場合において、不許可ソフト検知部が、ソフトウェアの動作を監視する場合について説明するための図である。
【図４】複数のソフトウェア構成に対し関連するソフトウェアをインストールする場合において、不許可ソフト検知部が、ソフトウェアの動作を監視する場合の構成について説明するための図である。
【図５】第１の実施形態に係るソフトウェア配信システムにおいて、構成管理情報の登録と、クライアントのソフトウェア構成を基にした構成管理情報の抽出に係る処理を説明するためのフローチャートである。
【図６】第１の実施形態及び変形例に係るソフトウェア配信システムにおいて、構成管理情報を基にクライアントに各ソフトウェアをインストールする処理を説明するためのフローチャートである。
【図７】第１の実施形態及び変形例に係るソフトウェア配信システムにおける、不許可ソフト検知部の動作を説明するためのフローチャートである。
【図８】第１の実施形態に係るソフトウェア配信システムにおいて、不許可ソフト検知部が、監視対象のソフトウェアの動作を検知した場合の処理について説明するためのフローチャートである。
【図９】変形例に係るソフトウェア配信システムの機能ブロック図である。
【図１０】構成管理情報と接続先情報との対応付けを説明するための図である。
【図１１】変形例に係るソフトウェア配信システムにおいて、構成管理情報の登録と、クライアントのソフトウェア構成を基にした構成管理情報の抽出に係る処理を説明するためのフローチャートである。
【図１２】変形例に係るソフトウェア配信システムにおいて、不許可ソフト検知部が、監視対象のソフトウェアの動作を検知した場合の処理について説明するためのフローチャートである。
【図１３】変形例に係るソフトウェア配信システムの一態様を示した機能ブロック図である。
【図１４】変形例に係るソフトウェア配信システムの一態様を示した機能ブロック図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
まず第１の実施形態に係るソフトウェア配信システムの構成について図１を参照しながら説明する。本実施形態に係るソフトウェア配信システムは、サーバー１とクライアント２とで構成される。
【００１１】
サーバー１は、構成管理情報格納部１１と、配信ソフト格納部１２と、配信ソフト送信部１０とで構成される。またクライアント２は、配信ソフト受信部２１と、不許可ソフト情報格納部２３と、配信ソフト更新部２２と、ソフト実行部２０と、不許可ソフト検知部２４と、不許可ソフト通知部２６と、不許可ソフト停止部２５とで構成される。以下に各構成の詳細について説明する。
【００１２】
まず、サーバー１の各構成の詳細について説明する。
【００１３】
配信ソフト格納部１２は、クライアントに配信する各ソフトウェアを、バージョンごとに記憶する記憶領域である。例えば、「ａ．ｅｘｅ」というソフトウェアとして、バージョンが１．０のものと、１．０．２のものが存在する場合、バージョンが１．０のａ．ｅｘｅと、バージョンが１．０．２のａ．ｅｘｅとは、それぞれ区別して取り出し可能に配信ソフト格納部１２に記憶されている。
【００１４】
このとき配信ソフト格納部１２には、バージョンごとの各ソフトウェアを含み、該ソフトウェアをクライアントにインストールするためのインストーラを記憶させる構成としてもよい。なお、インストールされるソフトウェアそのものを記憶させる場合、クライアントに該ソフトウェアをインストールするための環境（一般的にフレームワークと呼ばれる基盤となる環境）を構築しておく構成にするとよい。以降では、配信ソフト格納部１２には、バージョンごとの各ソフトウェアのインストーラが記憶されているものとして説明する。なお、配信ソフト格納部１２が「記憶部」に相当する。
【００１５】
構成管理情報格納部１１は、構成管理情報を登録し記憶させるための記憶領域である。構成管理情報について以下に説明する。
【００１６】
構成管理情報は、連携して動作する複数のソフトウェアについて、少なくとも、更新前の各ソフトウェアのバージョン（以下「更新前バージョン」と呼ぶ場合がある）の組み合わせと、更新対象の各ソフトウェアのバージョン（以下「更新対象バージョン」と呼ぶ場合がある）の組み合わせとを、各ソフトウェアを識別するための情報と関連付けて構成管理情報で定義している。つまり構成管理情報は、更新前バージョンの組み合わせで各ソフトウェアが動作する環境（クライアント２）を、更新対象バージョンの組み合わせで各ソフトウェアが動作する環境に更新するための情報が定義されている。
【００１７】
なお各ソフトウェアを識別する情報とは、例えば、ソフトウェア名や実行ファイル名等が該当する。以下、各ソフトウェアを識別する情報を「ソフトウェア識別情報」と呼ぶ。また、更新前バージョンが「現在のバージョン」に相当し、更新対象バージョンが「最新のバージョン」に相当する。また、更新前バージョン及び更新対象バージョンが、「バージョン情報」に相当する。
【００１８】
図２は、構成管理情報のデータ構造を説明するための図である。構成管理情報は、連携して動作するソフトウェア構成ごとに、構成管理情報格納部１１に記憶されている。図２の例では、連携して動作する各ソフトウェア構成について、構成管理情報ＣＩａ、ＣＩｂ、及びＣＩｃとして管理している。例えば、構成管理情報ＣＩａは、ソフトウェア「ａ．ｅｘｅ」、「ｂ．ｅｘｅ」、及び「ｃ．ｅｘｅ」が連携して動作するソフトウェアであることを示している。具体的には、構成管理情報ＣＩａには、バージョンが１．０のａ．ｅｘｅ、バージョンが３．１のｂ．ｅｘｅ、及びバージョンが１．５のｃ．ｅｘｅが動作する環境（クライアント２）を対象として、バージョンが１．０．２のａ．ｅｘｅ、バージョンが３．１のｂ．ｅｘｅ、及びバージョンが１．５．１のｃ．ｅｘｅが動作する環境となるように、各ソフトウェアを入れ替えることが定義されている。
【００１９】
他の構成で連携して動作するソフトウェアを別途定義することも可能である。例えば、ソフトウェア「ｄ．ｅｘｅ」及び「ｅ．ｅｘｅ」が連携して動作する場合、構成管理情報ＣＩｂとして定義する。
【００２０】
また、同じソフトウェアの組み合わせで連携して動作する場合においても、各ソフトウェアのバージョンの組み合わせが異なる場合は、別途構成管理情報を定義するようにしてもよい。具体的には、構成管理情報ＣＩａで定義された構成のように、ソフトウェア「ａ．ｅｘｅ」、「ｂ．ｅｘｅ」、及び「ｃ．ｅｘｅ」が連携して動作する場合において、更新前の各ソフトウェアのバージョンの組み合わせ、及び、更新対象の各ソフトウェアのバージョンの組み合わせのいずれかまたは双方が異なる場合は、構成管理情報ＣＩａとは別に、例えば構成管理情報ＣＩｃとして定義する。
【００２１】
構成管理情報は、動作検証により品質保証された環境のソフトウェア構成と、更新元となる環境のソフトウェア構成とを基に、操作者により作成され、構成管理情報格納部１１に記憶される。例えば、図２の構成管理情報ＣＩａにおける更新対象バージョンの組み合わせ、つまり、バージョンが１．０．２のａ．ｅｘｅ、バージョンが３．１のｂ．ｅｘｅ、及びバージョンが１．５．１のｃ．ｅｘｅの組み合わせが動作する環境が品質保証された環境のソフトウェア構成に該当する。また、構成管理情報ＣＩａにおける更新前バージョンの組み合わせ、つまり、バージョンが１．０のａ．ｅｘｅ、バージョンが３．１のｂ．ｅｘｅ、及びバージョンが１．５のｃ．ｅｘｅが動作する環境が、品質保証された環境の適用対象となる。なお、構成管理情報格納部１１が「構成情報記憶部」に相当する。
【００２２】
配信ソフト送信部１０は、新たに登録する構成管理情報及び該構成管理情報に対応付けられた更新対象ソフトウェアのインストーラが、操作者から入力されると、該構成管理情報を構成管理情報格納部１１に記憶させ、該インストーラを配信ソフト格納部１２に記憶させる。
【００２３】
また配信ソフト送信部１０は、クライアント２の配信ソフト受信部２１から、クライアント２で動作する各ソフトウェア構成に対し、新しく更新されたソフトウェアが登録されているか否かを確認するための要求（以下「更新ソフトウェアの確認要求」と呼ぶ）を受けて、クライアント２に更新対象のソフトウェアが存在するかを判断し、更新対象のソフトウェアが存在する場合は配信ソフト受信部２１に更新対象のソフトウェアを配信する（クライアント２及び配信ソフト受信部２１については後述する）。以下に配信ソフト送信部１０について具体的に説明する。
【００２４】
配信ソフト送信部１０は、配信ソフト受信部２１から更新ソフトウェアの確認要求を受けると、まず配信ソフト受信部２１に、クライアント２にインストールされているソフトウェアについてソフトウェア識別情報の一覧と、各ソフトウェアのバージョンとを送信させる。このとき配信ソフト送信部１０は、配信ソフト受信部２１から、各ソフトウェアのバージョンを「更新前バージョン」として受信する。
【００２５】
次に配信ソフト送信部１０は、配信ソフト受信部２１から受信したソフトウェア識別情報の一覧及び各ソフトウェアのバージョンと、構成管理情報格納部１１に記憶された各構成管理情報で定義されたソフトウェア識別情報の一覧及び各ソフトウェアの更新前バージョンとを比較する。配信ソフト受信部２１から受信したソフトウェア識別情報の一覧及び各ソフトウェアのバージョンに、構成管理情報と合致するソフトウェア構成が含まれていることを検知した場合、配信ソフト送信部１０は、合致したソフトウェア構成に対応する構成管理情報を、構成管理情報格納部１１から抽出する。例えば、クライアント２に、バージョンが１．０のａ．ｅｘｅ、バージョンが３．１のｂ．ｅｘｅ、バージョンが１．５のｃ．ｅｘｅ、及びバージョンが２．０のｄ．ｅｘｅがインストールされているとする。この場合、配信ソフト送信部１０は、バージョンが１．０のａ．ｅｘｅ、バージョンが３．１のｂ．ｅｘｅ、バージョンが１．５のｃ．ｅｘｅがインストールされていることを検知し、更新前バージョンの組み合わせとして同様の定義を持つ構成管理情報ＣＩａを、構成管理情報格納部１１から抽出する。
【００２６】
次に配信ソフト送信部１０は、抽出した構成管理情報の更新前バージョンと更新対象バージョンとを基に、配信ソフト受信部２１に配信するソフトウェアを特定し、配信ソフト格納部１２から抽出する。例えば、図２の構成管理情報ＣＩａの場合、ａ．ｅｘｅ及びｂ．ｅｘｅが更新前バージョンと更新対象バージョンが異なる。そのため配信ソフト送信部１０は、配信ソフト格納部１２から、更新対象バージョンに対応した、バージョンが１．０．２のａ．ｅｘｅのインストーラ、及びバージョンが１．５．１のｃ．ｅｘｅのインストーラを抽出する。
【００２７】
配信ソフト送信部１０は、配信ソフト格納部１２から抽出した各ソフトウェアのインストーラを、構成管理情報格納部１１から抽出した構成管理情報とあわせて、配信ソフト受信部２１に送信する。つまり、図２の構成管理情報ＣＩａの例の場合、バージョンが１．０．２のａ．ｅｘｅのインストーラ、及びバージョンが１．５．１のｃ．ｅｘｅのインストーラと、構成管理情報ＣＩａとを、配信ソフト受信部２１に送信する。なお、以降では、構成管理情報ＣＩａにより更新対象となるソフトウェア（つまり配信ソフト受信部２１に配信されるインストーラにより新しくインストールされるソフトウェア）を「更新対象ソフトウェア」と呼ぶ。
【００２８】
また、配信ソフト送信部１０は、対応する構成管理情報が抽出できなかった場合、配信ソフト格納部１２からのソフトウェアの抽出と、配信ソフト格納部１２への、抽出したソフトウェア及び構成管理情報の送信に係る処理を行わない。
【００２９】
なお配信ソフト送信部１０は、配信ソフト受信部２１に、定期的にソフトウェア識別情報の一覧及び各ソフトウェアのバージョンを送信させる構成としてもよい。これにより、配信ソフト送信部１０が、クライアント２にインストールされているソフトウェアの構成を判断し、必要に応じて更新対象ソフトウェアのインストーラを、対応する構成管理情報とあわせて配信することも可能となる。
【００３０】
また上記で説明した、構成管理情報格納部１１への構成管理情報の格納と、配信ソフト格納部１２への更新対象ソフトウェアのインストーラの格納に係る処理は、配信ソフト送信部１０とは別に専用のインタフェースを設けて、該インタフェースが行う構成としてもよい。なお本説明では、上記の処理を配信ソフト送信部１０が行うものとして説明する。
【００３１】
次に、クライアント２の各構成の詳細について説明する。なお、クライアント２が「医用情報処理装置」に相当する。
【００３２】
ソフト実行部２０は、クライアント２にインストールされたソフトウェアを実行する機能ブロックである。ソフト実行部２０は、主にＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の機能として知られている。例えば、操作者によりクライアント２にインストールされたａ．ｅｘｅの実行が指示されると、ａ．ｅｘｅのプログラムがソフト実行部２０により実行される。
【００３３】
またソフト実行部２０は、インストールされているソフトウェア一覧の出力が指示されると、クライアント２にインストールされているソフトウェアの一覧を出力する。このときソフト実行部２０は、各ソフトウェアについて、少なくともソフトウェア識別情報とバージョンとを出力する構成にするとよい。
【００３４】
またソフト実行部２０は、実行中のソフトウェア一覧の出力が指示されると、クライアント２で実行されているソフトウェアの一覧を出力する。このときソフト実行部２０は、各ソフトウェアについて、少なくともソフトウェア識別情報を出力する構成にするとよい。
【００３５】
またソフト実行部２０は、実行されているソフトウェアの停止の指示を受けると、指定された実行中のソフトウェアを停止する。このときソフト実行部２０は、停止の指示を受けたソフトウェアに停止命令を送信する構成としてもよいし、該ソフトウェアを強制的に停止する構成としてもよい。
【００３６】
配信ソフト受信部２１は、所定のタイミング（例については後述する）で配信ソフト送信部１０に更新ソフトウェアの確認要求を送信する。例えば、配信ソフト受信部２１は、操作者からの指示を受けて、配信ソフト送信部１０に更新ソフトウェアの確認要求を送信する構成にするとよい。また、配信ソフト受信部２１が、定期的に配信ソフト送信部１０に更新ソフトウェアの確認要求を送信する構成としてもよい。
【００３７】
また配信ソフト受信部２１は、配信ソフト送信部１０から指示を受けて、ソフト実行部２０から、クライアント２にインストールされている各ソフトウェアについて、ソフトウェア識別情報及びバージョンを取得し、取得したソフトウェア識別情報の一覧と、各ソフトウェアのバージョンを配信ソフト送信部１０に送信する。
【００３８】
また配信ソフト受信部２１は、配信ソフト送信部１０から更新対象ソフトウェアのインストーラ及び構成管理情報を受信する。更新対象ソフトウェアのインストーラ及び構成管理情報を受信すると、配信ソフト受信部２１は、まず受信した構成管理情報を不許可ソフト情報格納部２３に格納する。次に配信ソフト受信部２１は、受信した更新対象ソフトウェアのインストーラを配信ソフト更新部２２に送信する。このとき配信ソフト受信部２１は、不許可ソフト情報格納部２３に格納された構成管理情報を抽出するための識別情報を、配信ソフト更新部２２にあわせて通知する。なお、配信ソフト受信部２１が「取得部」に相当する。
【００３９】
配信ソフト更新部２２は、配信ソフト受信部２１から更新対象ソフトウェア及び構成管理情報を識別するための識別情報を受信すると、まず不許可ソフト検知部２４を起動し、配信ソフト受信部２１から受信した該識別情報を不許可ソフト検知部２４に送信する（不許可ソフト検知部２４については後述する）。
【００４０】
次に配信ソフト更新部２２は、配信ソフト受信部２１から受信したインストーラを実行し、更新対象ソフトウェアを遂次インストールする。これにより、クライアント２にインストールされていた更新前のバージョンに対応するソフトウェアが、更新対象のバージョンに対応するソフトウェアに入れ替えられる。受信したインストーラの実行により、更新対象ソフトウェア全てのインストールが完了すると、配信ソフト更新部２２は、不許可ソフト検知部２４による検知を停止させる。なお、配信ソフト更新部２２が「更新部」に相当する。
【００４１】
不許可ソフト検知部２４は、配信ソフト更新部２２からの指示を受けて、構成管理情報で定義されたソフトウェアの動作を監視し、実行中の該ソフトウェアを検知する。例えば、更新対象ソフトウェアのうち一部のインストールが完了し、一部のインストールが完了していない場合、各ソフトウェアのバージョンの組み合わせは、品質保証されたソフトウェア構成と異なる。このような場合に、当該ソフトウェアが実行されると、そのソフトウェアは正しく実行されていることが保証されず、誤って動作する場合がある。このような状況を避けるため、不許可ソフト検知部２４は、構成管理情報で定義された更新対象ソフトウェア及び該更新対象ソフトウェアと連携して動作するソフトウェアが実行されるか否かを監視する。不許可ソフト検知部２４の動作について以下に具体的に説明する。
【００４２】
不許可ソフト検知部２４は、配信ソフト更新部２２からの指示を受けて起動すると、まず配信ソフト更新部２２から受信した識別情報を基に、不許可ソフト情報格納部２３から構成管理情報を抽出する。
【００４３】
次に不許可ソフト検知部２４は、ソフト実行部２０から、クライアント２で実行されているソフトウェアについてソフトウェア識別情報の一覧を取得し、抽出した構成管理情報に定義されたソフトウェア識別情報の一覧と比較する。不許可ソフト検知部２４は、ソフト実行部２０から取得したソフトウェア識別情報の一覧に、構成管理情報に定義されたソフトウェア識別情報が含まれていることを検知することにより、該ソフトウェア識別情報に対応するソフトウェアが実行中であることを検知する。
【００４４】
構成管理情報に定義されたソフトウェア識別情報に対応するソフトウェアが実行中であることを検知した場合、不許可ソフト検知部２４は、不許可ソフト停止部２５及び不許可ソフト通知部２６に、実行中であることを検知したソフトウェアに対応するソフトウェア識別情報を送信する。
【００４５】
例えば図３は、不許可ソフト検知部２４は、図２の構成管理情報ＣＩａに基づき動作する場合の例を示している。図３では、不許可ソフト検知部２４は、構成管理情報ＣＩａに基づき動作する場合、構成管理情報ＣＩａに定義されたａ．ｅｘｅ、ｂ．ｅｘｅ、及びｃ．ｅｘｅの動作を監視する。このとき不許可ソフト検知部２４は、ａ．ｅｘｅ、ｂ．ｅｘｅ、及びｃ．ｅｘｅのいずれかが実行中であることを検知したとき、検知したソフトウェアに対応するソフトウェア識別情報を、不許可ソフト停止部２５及び不許可ソフト通知部２６に通知する。
【００４６】
不許可ソフト検知部２４は、配信ソフト更新部２２から停止されるまで、上記した構成管理情報で定義されたソフトウェアの動作の監視と、実行中の該ソフトウェアの検知に係る処理を、あらかじめ決められた期間ごとに定期的に実行する。例えば、１秒ごとに、不許可ソフト検知部２４が、実行中の該ソフトウェアの検知に係る処理を実行するように構成してもよい。また、不許可ソフト検知部２４が、当該処理を行う期間を変更できるように構成してもよい。なお、不許可ソフト検知部２４が「判断部」に相当する。
【００４７】
不許可ソフト停止部２５は、不許可ソフト検知部２４からソフトウェア識別情報を受信すると、ソフト実行部２０に、該ソフトウェア識別情報に対応するソフトウェアの停止を指示する。なお、不許可ソフト停止部２５が「起動制御部」に相当する。
【００４８】
不許可ソフト通知部２６は、不許可ソフト検知部２４からソフトウェア識別情報を受信すると、該ソフトウェア識別情報に対応するソフトウェアが実行されていることをクライアント２の操作者に通知する。通知方法としては、例えば、該ソフトウェアが実行されている旨のメッセージが記述されたダイアログボックスを表示部に表示するようにしてもよいし、該メッセージをログに記録する構成としてもよい。また、不許可ソフト停止部２５の動作を受けて、該ソフトウェアを停止した旨を通知する構成としてもよい。
【００４９】
なお不許可ソフト検知部２４は、配信ソフト更新部２２から構成管理情報を受信する構成としてもよい。この場合、不許可ソフト情報格納部２３を設ける必要は無く、配信ソフト受信部２１は、構成管理情報を配信ソフト更新部２２に送信する構成にするとよい。また配信ソフト更新部２２は、不許可ソフト検知部２４を起動し、起動した不許可ソフト検知部２４に構成管理情報を送信する構成にするとよい。
【００５０】
また上記説明では、１つの構成管理情報に基づくソフトウェア構成に対し、関連するソフトウェアをインストールする場合を例に説明したが、複数のソフトウェア構成に対し関連するソフトウェアをインストールできる構成としてもよい。図４は、複数のソフトウェア構成に対し関連するソフトウェアをインストールする場合において、不許可ソフト検知部２４が、ソフトウェアの動作を監視する場合の構成について説明するための図である。複数のソフトウェア構成に対し関連するソフトウェアをインストールする場合、例えば図４に示すように、各構成管理情報に対応したソフトウェア構成ごとに不許可ソフト検知部２４を起動する構成にするとよい。
【００５１】
例えば図４では、構成管理情報ＣＩａで定義されたａ．ｅｘｅ、ｂ．ｅｘｅ、及びｃ．ｅｘｅをインストーラにより入れ替える場合には、構成管理情報ＣＩａを基に不許可ソフト検知部２４Ａが起動される。このとき不許可ソフト検知部２４Ａは、図４のＡＧａで示された、クライアント２で実行されているａ．ｅｘｅ、ｂ．ｅｘｅ、及びｃ．ｅｘｅの動作を監視している。また、構成管理情報ＣＩｂで定義されたｄ．ｅｘｅ及びｅ．ｅｘｅをインストーラにより入れ替える場合には、構成管理情報ＣＩｂを基に不許可ソフト検知部２４Ｂが起動される。このとき不許可ソフト検知部２４Ｂは、図４のＡＧｂで示された、クライアント２で実行されているｄ．ｅｘｅ及びｅ．ｅｘｅの動作を監視する。
【００５２】
なお、上記では不許可ソフト検知部２４からの通知を受け、不許可ソフト通知部２６及び不許可ソフト停止部２５が動作する構成について説明したが、不許可ソフト通知部２６及び不許可ソフト停止部２５のいずれかを動作させる構成としてもよい。
【００５３】
（処理）
次に、第１の実施形態に係るソフトウェア配信システムの処理について、図５〜図７を参照しながら説明する。まず図５を参照しながら、構成管理情報の登録と、配信ソフト送信部１０がクライアント２にインストールされているソフトウェアを確認し、対応する構成管理情報を抽出するまでの処理を説明する。図５は、構成管理情報の登録と、クライアント２のソフトウェア構成を基にした構成管理情報の抽出に係る処理を説明するためのフローチャートである。
【００５４】
（ステップＳ１１）
品質保証された環境に基づき作成された構成管理情報及び該構成管理情報に対応付けられた更新対象ソフトウェアのインストーラが、操作者からサーバー１に入力されると、配信ソフト送信部１０は、該構成管理情報を構成管理情報格納部１１に記憶させ、該インストーラを配信ソフト格納部１２に記憶させる。
【００５５】
（ステップＳ１２）
次に、配信ソフト送信部１０は、クライアント２の配信ソフト受信部２１から更新ソフトウェアの確認要求を受けると、配信ソフト受信部２１に、クライアント２にインストールされているソフトウェアについてソフトウェア識別情報の一覧と、各ソフトウェアのバージョンとを送信させる。
【００５６】
（ステップＳ２１）
配信ソフト受信部２１は、配信ソフト送信部１０からの指示を受けて、クライアント２にインストールされているソフトウェアを確認し、ソフトウェア識別情報の一覧と、各ソフトウェアのバージョンとを配信ソフト送信部１０に送信する。
【００５７】
（ステップＳ１３）
次に配信ソフト送信部１０は、配信ソフト受信部２１から受信したソフトウェア識別情報の一覧及び各ソフトウェアのバージョンと、構成管理情報格納部１１に記憶された各構成管理情報で定義されたソフトウェア識別情報の一覧及び各ソフトウェアの更新前バージョンとを比較する。配信ソフト受信部２１から受信したソフトウェア識別情報の一覧及び各ソフトウェアのバージョンに、構成管理情報と合致するソフトウェア構成が含まれていることを検知した場合、配信ソフト送信部１０は、合致したソフトウェア構成に対応する構成管理情報を、構成管理情報格納部１１から抽出する。
【００５８】
（ステップＳ１４）
配信ソフト送信部１０は、対応する構成管理情報を構成管理情報格納部１１から抽出できなかった場合（ステップＳ１４、Ｎ）、処理を終了する。配信ソフト送信部１０は、対応する構成管理情報を構成管理情報格納部１１から抽出できた場合（ステップＳ１４、Ｙ）、更新対象ソフトウェアのインストーラをクライアント２に配信する処理を実行する。
【００５９】
次に図６を参照しながら、配信ソフト送信部１０が更新対象ソフトウェアのインストーラをクライアント２に配信し、配信ソフト更新部２２が配信されたインストーラにより更新対象ソフトウェアをインストールするまでの処理について説明する。図６は、構成管理情報を基にクライアント２に各ソフトウェアをインストールする処理を説明するためのフローチャートである。
【００６０】
（ステップＳ１５）
配信ソフト送信部１０は、対応する構成管理情報を構成管理情報格納部１１から抽出できた場合（図５、ステップＳ１４、Ｙ）、まず抽出した構成管理情報の更新前バージョンと更新対象バージョンとを基に、配信ソフト受信部２１に配信する更新対象ソフトウェアを特定する。次に配信ソフト送信部１０は、特定した更新対象ソフトウェアのインストーラを配信ソフト格納部１２から抽出する。
【００６１】
（ステップＳ１６）
次に配信ソフト送信部１０は、配信ソフト格納部１２から抽出した更新対象ソフトウェアのインストーラと、構成管理情報格納部１１から抽出した構成管理情報とを、配信ソフト受信部２１に送信する。
【００６２】
（ステップＳ２２）
配信ソフト受信部２１は、配信ソフト送信部１０から更新対象ソフトウェアのインストーラ及び構成管理情報を受信すると、まず受信した構成管理情報を不許可ソフト情報格納部２３に格納する。次に配信ソフト受信部２１は、受信した更新対象ソフトウェアのインストーラを配信ソフト更新部２２に送信する。このとき配信ソフト受信部２１は、不許可ソフト情報格納部２３に格納された構成管理情報を抽出するための識別情報を、配信ソフト更新部２２にあわせて通知する。
【００６３】
（ステップＳ２３）
配信ソフト更新部２２は、配信ソフト受信部２１から更新対象ソフトウェア及び構成管理情報を識別するための識別情報を受信すると、まず不許可ソフト検知部２４を起動し、配信ソフト受信部２１から受信した該識別情報を不許可ソフト検知部２４に送信する。不許可ソフト検知部２４の動作については後述する。
【００６４】
（ステップＳ２４）
次に配信ソフト更新部２２は、配信ソフト受信部２１から受信したインストーラを実行し、更新対象ソフトウェアを遂次インストールする。
【００６５】
（ステップＳ２５）
受信したインストーラの実行により、更新対象ソフトウェア全てのインストールが完了すると、配信ソフト更新部２２は、不許可ソフト検知部２４を停止する。
【００６６】
次に図７及び図８を参照しながら、不許可ソフト検知部２４の処理について説明する。図７は、不許可ソフト検知部２４の動作を説明するためのフローチャートである。また図８は、不許可ソフト検知部２４が、監視対象のソフトウェアの動作を検知した場合の処理について説明するためのフローチャートである。
【００６７】
（ステップＳ３１）
不許可ソフト検知部２４は、配信ソフト更新部２２からの指示を受けて起動すると、まず配信ソフト更新部２２から受信した識別情報を基に、不許可ソフト情報格納部２３から構成管理情報を抽出する。不許可ソフト検知部２４は、抽出した構成管理情報に定義されたソフトウェアの動作を監視する。不許可ソフト検知部２４による、構成管理情報で定義されたソフトウェアの動作の監視について、以下に詳細を説明する。
【００６８】
（ステップＳ３２）
不許可ソフト検知部２４は、まずクライアント２で実行されているソフトウェアについてソフトウェア識別情報の一覧を取得し、抽出した構成管理情報に定義されたソフトウェア識別情報の一覧と比較する。クライアント２で実行されているソフトウェアに対応するソフトウェア識別情報の一覧に、構成管理情報に定義されたソフトウェア識別子が含まれていることを確認することで、不許可ソフト検知部２４は、構成管理情報に定義されたソフトウェアが実行されていることを検知する。
【００６９】
（ステップＳ３３）
構成管理情報に定義されたソフトウェア識別情報に対応するソフトウェアが実行中であることを検知した場合（ステップＳ３３、Ｙ）、不許可ソフト検知部２４は、不許可ソフト停止部２５及び不許可ソフト通知部２６に、実行中であることを検知したソフトウェアに対応するソフトウェア識別情報を送信する。構成管理情報に定義されたソフトウェア識別情報に対応するソフトウェアが実行されていない場合（ステップＳ３３、Ｎ）、不許可ソフト検知部２４は、次の処理を実行する。
【００７０】
（ステップＳ３５）
ここで図８を参照する。不許可ソフト通知部２６は、不許可ソフト検知部２４からソフトウェア識別情報を受信すると、該ソフトウェア識別情報に対応するソフトウェアが実行されていることをクライアント２の操作者に通知する。
【００７１】
（ステップＳ３６）
また、不許可ソフト停止部２５は、不許可ソフト検知部２４からソフトウェア識別情報を受信すると、ソフト実行部２０に、該ソフトウェア識別情報に対応するソフトウェアの停止を指示する。ソフト実行部２０は、不許可ソフト停止部２５からの指示を受けて、対応する実行中のソフトウェアを停止する。
【００７２】
なお上記では不許可ソフト検知部２４からの通知を受け、不許可ソフト通知部２６（ステップＳ３５）及び不許可ソフト停止部２５（ステップＳ３６）が動作する構成について説明したが、不許可ソフト通知部２６及び不許可ソフト停止部２５のいずれかを動作させる構成としてもよい。
【００７３】
（ステップＳ３４）
ここで図７を参照する。不許可ソフト検知部２４は、配信ソフト更新部２２から停止の指示を受けるまで、構成管理情報で定義されたソフトウェアの動作を監視を継続する（ステップＳ３４、Ｎ）。不許可ソフト検知部２４は、配信ソフト更新部２２から停止の指示を受けると（ステップＳ３４、Ｙ）、処理を終了する。
【００７４】
以上、第１の実施形態に係るソフトウェア配信システムによれば、連携して動作するソフトウェアのインストール中に、不許可ソフト検知部２４が該連携して動作する各ソフトウェアの動作を監視する。また、連携して動作する各ソフトウェアのインストールが一部失敗した場合においても、再度インストールを実行する等の対処により正しくインストールが完了するまで、不許可ソフト検知部２４が該連携して動作する各ソフトウェアの動作を監視する。これにより、品質保証された環境と異なるソフトウェア構成で、該連携して動作する各ソフトウェアが動作しないように制御することが可能となる。
【００７５】
（変形例）
次に変形例に係るソフトウェア配信システムについて説明する。まず変形例に係るソフトウェア配信システムの構成について図９を参照しながら説明する。図９は、変形例に係るソフトウェア配信システムの機能ブロック図である。
【００７６】
変形例に係るサーバー１は、第１の実施形態に係るサーバー１の構成に加え、更に、仮実行環境作成部１３と、仮実行環境格納部１４と、仮実行環境提供部１５とを備えることを特徴とする。以下、変形例に係るサーバー１の構成について、第１の実施形態に係るサーバー１の構成と異なる部分に着目し説明する。
【００７７】
仮実行環境作成部１３は、構成管理情報を入力として受けて、該構成管理情報で定義された各ソフトウェアが動作可能な仮想環境を作成する。具体的には、まず仮実行環境作成部１３は、サーバー１上で動作する基本ＯＳ上に仮想ＯＳで動作する環境を作成する。仮想ＯＳは、基本ＯＳ上に論理的に構成されたＯＳであり、サーバー１の外部から基本ＯＳの環境とは異なる環境としてアクセスすることが可能である。
【００７８】
次に仮実行環境作成部１３は、構成管理情報で関連付けられた各ソフトウェアを配信ソフト格納部１２から抽出し、作成した仮想ＯＳ上にインストールする。この仮想ＯＳ上に構成管理情報で関連付けられた各ソフトウェアがインストールされた仮想環境を、以降は「仮実行環境」と呼ぶ。また、各ソフトウェアがインストールされた基本ＯＳまたは仮想ＯＳの環境が「仮想実行空間」に相当する。
【００７９】
次に仮実行環境作成部１３は、作成した仮実行環境に、サーバー１の外部からネットワークを経由して接続できるように接続先情報（アドレス）を割当てる。具体的には仮実行環境作成部１３は、該接続先情報を指定することで、作成した仮実行環境を、ネットワークを経由してクライアント２から操作できるように、該仮実行環境を構成する仮想ＯＳに設定を追加する。
【００８０】
仮実行環境格納部１４は、仮実行環境作成部１３が作成した仮実行環境を選択的に接続し操作可能に管理・記憶する記憶領域である。仮実行環境作成部１３は、作成した仮実行環境を、該仮実行環境に割当てた接続先情報と対応付けて仮実行環境格納部１４に記憶させる。これにより、接続先情報を指定することで、該接続先情報に対応付けられた仮実行環境に接続し操作することが可能となる。具体的には、仮実行環境を構成する仮想ＯＳは、仮実行環境格納部１４上で動作する。操作者は、接続先情報を指定して該仮想ＯＳにアクセスし、該仮想ＯＳ上で構成管理情報で関連付けられた各ソフトウェアが実行させることが可能となる。
【００８１】
仮実行環境作成部１３は、仮実行環境を作成すると、該仮実行環境に対応付けた接続先情報と、該仮実行環境にインストールした各ソフトウェアの抽出に用いた構成管理情報とを、配信ソフト送信部１０に通知する。
【００８２】
配信ソフト送信部１０は、新たに登録する構成管理情報及び該構成管理情報に対応付けられた更新対象ソフトウェアのインストーラを操作者から入力されると、まず該インストーラを配信ソフト格納部１２に記憶させる。次に、配信ソフト送信部１０は、仮実行環境作成部１３に該構成管理情報を送信し、仮実行環境を作成させる。
【００８３】
配信ソフト送信部１０は、仮実行環境作成部１３から、構成管理情報及び該構成管理情報に対応付けられた接続先情報の通知を受けると、該構成管理情報と該接続先情報とを対応付ける。
【００８４】
図１０は、構成管理情報と接続先情報との対応付けを説明するための図である。例えば、仮実行環境格納部１４が、構成管理情報ＣＩａを基に作成した仮想環境に接続先情報ＣＮａを割当てた場合、配信ソフト送信部１０には、構成管理情報ＣＩａと接続先情報ＣＮａとが仮実行環境格納部１４から通知される。このとき配信ソフト送信部１０は、構成管理情報ＣＩａと接続先情報ＣＮａとを対応付ける。同様に、仮実行環境格納部１４が、構成管理情報ＣＩｂを基に作成した仮想環境に接続先情報ＣＮｂを割当てた場合、配信ソフト送信部１０により、構成管理情報ＣＩｂと接続先情報ＣＮｂとを対応付けられる。
【００８５】
なお配信ソフト送信部１０は、構成管理情報と接続先情報とを対応付けたデータを構成管理情報格納部１１に記憶させる構成としてもよい。また、別途管理テーブルを設けて、構成管理情報と接続先情報との対応付けを管理する構成としてもよい。以降では、構成管理情報と接続先情報とを対応付けたデータを構成管理情報格納部１１に記憶させるものとして説明する。
【００８６】
配信ソフト送信部１０は、配信ソフト受信部２１から更新ソフトウェアの確認要求を受けると、まず配信ソフト受信部２１に、クライアント２にインストールされているソフトウェアについてソフトウェア識別情報の一覧と、各ソフトウェアのバージョンとを送信させ、対応する構成管理情報を構成管理情報格納部１１から抽出する。次に配信ソフト送信部１０は、抽出した構成管理情報の更新前バージョンと更新対象バージョンとを基に、配信ソフト受信部２１に配信する更新対象ソフトウェアを特定し、配信ソフト格納部１２から該更新対象ソフトウェアのインストーラを抽出する。本動作については、第１の実施形態に係る配信ソフト送信部１０と同様である。
【００８７】
次に配信ソフト送信部１０は、配信ソフト格納部１２から抽出した更新対象ソフトウェアのインストーラと、構成管理情報格納部１１から抽出した構成管理情報とを配信ソフト受信部２１に送信する。このとき変形例に係る配信ソフト送信部１０は、該インストーラ及び該構成管理情報とあわせて、該構成管理情報に対応付けられた接続先情報を配信ソフト受信部２１に送信する。例えば、図１０に示す構成管理情報ＣＩａが配信ソフト受信部２１に送信される場合、構成管理情報ＣＩａに対応付けられた接続先情報ＣＮａがあわせて配信ソフト受信部２１に送信される。
【００８８】
仮実行環境提供部１５は、ネットワークを介しサーバー１の外部から接続先情報とあわせて接続要求を受けると、まず仮実行環境格納部１４に格納された、該接続先情報に対応付けられた仮実行環境を特定する。仮実行環境を特定すると、仮実行環境提供部１５は、接続要求の送信元から特定した仮実行環境を操作可能に、接続要求の送信元との通信を確立する。
【００８９】
次に変形例に係るクライアント２の構成について説明する。変形例に係るクライアント２は、第１の実施形態に係るクライアント２の構成に加え、更に、不許可ソフト誘導部２７を備えることを特徴とする。以下、変形例に係るサーバー１の構成について、第１の実施形態に係るサーバー１の構成と異なる部分に着目し説明する。
【００９０】
まず、変形例に係る配信ソフト受信部２１の、更新ソフトウェアの確認要求の送信に係る処理、及び、クライアント２にインストールされているソフトウェア識別情報の一覧及び各ソフトウェアのバージョンの送信に係る処理は、第１の実施形態に係る配信ソフト受信部２１と同様である。そのため具体的な説明は省略する。
【００９１】
変形例に係る配信ソフト受信部２１は、配信ソフト送信部１０から、更新対象ソフトウェアのインストーラと、構成管理情報とに加え、更に該構成管理情報に対応付けられた接続先情報をあわせて受信する。
【００９２】
配信ソフト受信部２１は、まず受信した構成管理情報を不許可ソフト情報格納部２３に格納する。本動作は第１の実施形態に係る配信ソフト受信部２１の動作と同様である。
【００９３】
次に配信ソフト受信部２１は、受信した更新対象ソフトウェアのインストーラを配信ソフト更新部２２に送信する。このとき配信ソフト受信部２１は、不許可ソフト情報格納部２３に格納された構成管理情報を抽出するための識別情報と、受信した接続先情報とを、配信ソフト更新部２２にあわせて通知する。
【００９４】
配信ソフト更新部２２は、配信ソフト受信部２１から更新対象ソフトウェア、構成管理情報を識別するための識別情報、及び接続先情報を受信すると、まず不許可ソフト検知部２４を起動し、配信ソフト受信部２１から受信した該識別情報及び該接続先情報を、不許可ソフト検知部２４に送信する。
【００９５】
次に配信ソフト更新部２２は、配信ソフト受信部２１から受信したインストーラを実行し、更新対象ソフトウェアを遂次インストールする。受信したインストーラの実行により、更新対象ソフトウェア全てのインストールが完了すると、配信ソフト更新部２２は、不許可ソフト検知部２４を停止する。
【００９６】
不許可ソフト検知部２４は、配信ソフト更新部２２からの指示を受けて、構成管理情報で定義されたソフトウェアの動作を監視し、実行中の該ソフトウェアを検知する。本動作については第１の実施形態に係る不許可ソフト検知部２４と同様である。
【００９７】
変形例に係る不許可ソフト検知部２４は、構成管理情報に定義されたソフトウェア識別情報に対応するソフトウェアが実行中であることを検知した場合、不許可ソフト停止部２５及び不許可ソフト通知部２６に、実行されていることを検知したソフトウェアに対応するソフトウェア識別情報を送信する。また変形例に係る不許可ソフト検知部２４は、このとき、配信ソフト更新部２２通知された接続先情報を、不許可ソフト誘導部２７に送信する。
【００９８】
不許可ソフト誘導部２７は、不許可ソフト検知部２４から接続先情報を受信すると、仮実行環境提供部１５に、接続先情報とあわせて接続要求を送信する。該接続要求を受けて仮実行環境提供部１５が、該接続情報が割り当てられた仮実行環境への接続を確立する。これにより操作者は、クライアント２で更新対象ソフトウェアが操作できない場合においても、該仮実行環境にインストールされた更新対象ソフトウェアを使用し作業を行うことが可能となる。なお、不許可ソフト誘導部２７が「制御部」に相当する。
【００９９】
なお上記では不許可ソフト検知部２４からの通知を受け、不許可ソフト通知部２６、不許可ソフト停止部２５及び不許可ソフト誘導部２７が動作する構成について説明したが、不許可ソフト通知部２６、不許可ソフト停止部２５及び不許可ソフト誘導部２７のいずれかを動作させる構成としてもよい。
【０１００】
（処理）
次に変形例に係るソフトウェア配信システムの処理について、図６、図７、図１１、及び図１２を参照しながら説明する。まず図１１を参照しながら、構成管理情報の登録と、配信ソフト送信部１０がクライアント２にインストールされているソフトウェアを確認し、対応する構成管理情報を抽出するまでの処理について、第１の実施形態に係るソフトウェア配信システムと異なる部分に着目し説明する。図１１は、構成管理情報の登録と、クライアント２のソフトウェア構成を基にした構成管理情報の抽出に係る処理を説明するためのフローチャートである。
【０１０１】
（ステップＳ４１）
品質保証された環境に基づき作成された構成管理情報及び該構成管理情報に対応付けられた更新対象ソフトウェアのインストーラが、操作者からサーバー１に入力されると、まず配信ソフト送信部１０は、まず該インストーラを配信ソフト格納部１２に記憶させる。次に、配信ソフト送信部１０は、仮実行環境作成部１３に該構成管理情報を送信し、仮実行環境を作成させる。
【０１０２】
仮実行環境作成部１３は、構成管理情報を入力として受けて、該構成管理情報で定義された各ソフトウェアが動作可能な仮実行環境を作成する。次に仮実行環境作成部１３は、作成した仮実行環境に、サーバー１の外部からネットワークを経由して接続できるように接続先情報を割当てる。仮実行環境作成部１３は、作成した仮実行環境を、該仮実行環境に割当てた接続先情報と対応付けて仮実行環境格納部１４に記憶させる。
【０１０３】
仮実行環境作成部１３は、仮実行環境を作成すると、該仮実行環境に対応付けた接続先情報と、該仮実行環境にインストールした各ソフトウェアの抽出に用いた構成管理情報とを、配信ソフト送信部１０に通知する。
【０１０４】
（ステップＳ１１）
配信ソフト送信部１０は、仮実行環境作成部１３から、構成管理情報及び該構成管理情報に対応付けられた接続先情報の通知を受けると、該構成管理情報と該接続先情報とを対応付け、構成管理情報格納部１１に記憶させる。
【０１０５】
（ステップＳ１２、ステップＳ２１）
ステップＳ１２及びステップＳ２１に係る処理は、第一の実施形態に係るソフトウェアシステムと同様である。配信ソフト送信部１０は、配信ソフト受信部２１から更新ソフトウェアの確認要求を受けると、配信ソフト受信部２１に、クライアント２にインストールされているソフトウェアについてソフトウェア識別情報の一覧と、各ソフトウェアのバージョンとを送信させる。
【０１０６】
（ステップＳ１３）
次に配信ソフト送信部１０は、配信ソフト受信部２１から受信したソフトウェア識別情報の一覧及び各ソフトウェアのバージョンと、構成管理情報格納部１１に記憶された各構成管理情報の内容とを比較し、構成管理情報格納部１１から対応する構成管理情報を抽出する。このとき配信ソフト送信部１０は、構成管理情報とあわせて、該構成管理情報に対応付けられた接続先情報を抽出する。
【０１０７】
（ステップＳ１４）
配信ソフト送信部１０は、対応する構成管理情報を構成管理情報格納部１１から抽出できなかった場合（ステップＳ１４、Ｎ）、処理を終了する。配信ソフト送信部１０は、対応する構成管理情報を構成管理情報格納部１１から抽出できた場合（ステップＳ１４、Ｙ）、更新対象ソフトウェアのインストーラをクライアント２に配信する処理を実行する。
【０１０８】
次に図６を参照しながら、配信ソフト送信部１０が更新対象ソフトウェアのインストーラをクライアント２に配信し、配信ソフト更新部２２が配信されたインストーラにより更新対象ソフトウェアをインストールするまでの処理について、第１の実施形態に係るソフトウェア配信システムと異なる部分に着目し説明する。図６は、構成管理情報を基にクライアント２に各ソフトウェアをインストールする処理を説明するためのフローチャートである。
【０１０９】
（ステップＳ１５）
配信ソフト送信部１０は、対応する構成管理情報を構成管理情報格納部１１から抽出できた場合（図５、ステップＳ１４、Ｙ）、該構成管理情報を基に更新対象ソフトウェアのインストーラを配信ソフト格納部１２から抽出する。本処理は、第１の実施形態に係るソフトウェア配信システムと同様である。
【０１１０】
（ステップＳ１６）
次に配信ソフト送信部１０は、配信ソフト格納部１２から抽出した更新対象ソフトウェアのインストーラと、構成管理情報格納部１１から抽出した構成管理情報及び接続先情報とを、配信ソフト受信部２１に送信する。
【０１１１】
（ステップＳ２２）
配信ソフト受信部２１は、配信ソフト送信部１０から更新対象ソフトウェアのインストーラと、構成管理情報及び接続先情報とを受信すると、まず受信した構成管理情報を不許可ソフト情報格納部２３に格納する。
【０１１２】
次に配信ソフト受信部２１は、受信した更新対象ソフトウェアのインストーラを配信ソフト更新部２２に送信する。このとき配信ソフト受信部２１は、不許可ソフト情報格納部２３に格納された構成管理情報を抽出するための識別情報と、受信した接続先情報とを、配信ソフト更新部２２にあわせて通知する。
【０１１３】
（ステップＳ２３）
配信ソフト更新部２２は、配信ソフト受信部２１から更新対象ソフトウェア、構成管理情報を識別するための識別情報、及び接続先情報を受信すると、まず不許可ソフト検知部２４を起動し、配信ソフト受信部２１から受信した該識別情報及び該接続先情報を、不許可ソフト検知部２４に送信する。
【０１１４】
以降、ステップＳ２４に係る処理により、更新対象ソフトウェアのインストーラを実行することでインストールを開始し、更新対象ソフトウェアのインストールが完了後にステップＳ２５に係る処理により不許可ソフト検知部２４を停止する。このステップＳ２４及びステップＳ２５に係る処理については第１の実施形態に係るソフトウェア配信システムと同様である。
【０１１５】
次に図７及び図１２を参照しながら、不許可ソフト検知部２４の処理について、第１の実施形態に係るソフトウェア配信システムと異なる部分に着目し説明する。図７は、不許可ソフト検知部２４の動作を説明するためのフローチャートである。また図１２は、不許可ソフト検知部２４が、監視対象のソフトウェアの動作を検知した場合の処理について説明するためのフローチャートである。
【０１１６】
変形例に係る不許可ソフト検知部２４は、配信ソフト更新部２２からの指示を受けて起動し、配信ソフト更新部２２から構成管理情報を識別するための識別情報、及び接続先情報を受信する。
【０１１７】
ステップＳ３１及びステップＳ３２に係る処理は、第１の実施形態に係るソフトウェア配信システムと同様である。すなわち、不許可ソフト検知部２４は、配信ソフト更新部２２から受信した識別情報を基に不許可ソフト情報格納部２３から構成管理情報を抽出する。次に不許可ソフト検知部２４は、抽出した構成管理情報に定義されたソフトウェアが、クライアント２で実行されているかを確認する。
【０１１８】
（ステップＳ３３）
構成管理情報に定義されたソフトウェア識別情報に対応するソフトウェアが実行中であることを検知した場合（ステップＳ３３、Ｙ）、不許可ソフト検知部２４は、不許可ソフト停止部２５及び不許可ソフト通知部２６に、実行されていることを検知したソフトウェアに対応するソフトウェア識別情報を送信する。また不許可ソフト検知部２４は、配信ソフト更新部２２通知された接続先情報を、不許可ソフト誘導部２７に送信する。
【０１１９】
（ステップＳ３５）
ここで図１２を参照する。不許可ソフト通知部２６は、不許可ソフト検知部２４からソフトウェア識別情報を受信すると、該ソフトウェア識別情報に対応するソフトウェアが実行されていることをクライアント２の操作者に通知する。
【０１２０】
（ステップＳ３６）
また、不許可ソフト停止部２５は、不許可ソフト検知部２４からソフトウェア識別情報を受信すると、ソフト実行部２０に、該ソフトウェア識別情報に対応するソフトウェアの停止を指示する。ソフト実行部２０は、不許可ソフト停止部２５からの指示を受けて、対応する実行中のソフトウェアを停止する。ステップＳ３５及びステップＳ３６に係る処理は、第１の実施形態に係るソフトウェア配信システムと同様である。
【０１２１】
（ステップＳ３７）
また、不許可ソフト誘導部２７は、不許可ソフト検知部２４から受信した接続先情報を、接続要求とあわせて仮実行環境提供部１５に送信する。仮実行環境提供部１５は、不許可ソフト誘導部２７から接続先情報とあわせて接続要求を受けると、まず該接続先情報に対応付けられた仮実行環境を仮実行環境格納部１４から特定する。仮実行環境を特定すると、仮実行環境提供部１５は、接続要求の送信元であるクライアント２から特定した仮実行環境を操作可能に、クライアント２との通信を確立する。
【０１２２】
なお上記では不許可ソフト検知部２４からの通知を受け、不許可ソフト通知部２６（ステップＳ３５）、不許可ソフト停止部２５（ステップＳ３６）、及び不許可ソフト誘導部２７（ステップＳ３７）が動作する構成について説明したが、不許可ソフト通知部２６、不許可ソフト停止部２５及び不許可ソフト誘導部２７のいずれかを動作させる構成としてもよい。
【０１２３】
（ステップＳ３４）
ここで図７を参照する。不許可ソフト検知部２４は、配信ソフト更新部２２から停止の指示を受けるまで、構成管理情報で定義されたソフトウェアの動作を監視を継続する（ステップＳ３４、Ｎ）。不許可ソフト検知部２４は、配信ソフト更新部２２から停止の指示を受けると（ステップＳ３４、Ｙ）、処理を終了する。
【０１２４】
なお仮実行環境提供部１５は、不許可ソフト誘導部２７から接続先情報に替わり構成管理情報を受信し、該構成管理情報を基に作成された仮実行環境を特定したうえで、特定した仮実行環境とクライアント２との接続を確立する構成としてもよい。この構成を用いる場合、配信ソフト送信部１０は、配信ソフト受信部２１に接続先情報を送信しなくてもよい。
【０１２５】
また、仮実行環境をクライアント２に展開し、この仮実行環境を操作可能に動作させてもよい。図１３は、このような態様で動作させるための一例を示したブロック図である。
【０１２６】
このような態様においては、不許可ソフト誘導部２７Ａは、接続先情報を仮実行環境提供部１５Ａに送信し、その接続先情報に対応する仮実行環境の出力を仮実行環境提供部１５Ａに指示する。
【０１２７】
仮実行環境提供部１５Ａは、受けた接続先情報に対応する仮実行環境を仮実行環境格納部１４から抽出し、抽出された仮実行環境を不許可ソフト誘導部２７Ａに出力する。
【０１２８】
不許可ソフト誘導部２７Ａは、仮実行環境提供部１５Ａから受けた仮実行環境をクライアント２上に展開し、操作者が操作可能に動作させる。これにより操作者は、クライアント２上で動作している仮実行環境にログインし、この仮実行環境にインストールされた更新対象ソフトウェアを使用し作業を行うことが可能となる。
【０１２９】
また、仮実行環境への誘導に替えて、更新対象ソフトウェアによる処理をサーバー１に依頼し、その処理結果をクライアント２で受け取る構成としてもよい。図１４は、このような態様で動作させるための一例を示したブロック図である。このような場合には、図１４に示すように、仮実行環境提供部１５に替えて依頼処理部１６が設けられている。また、不許可ソフト誘導部２７Ａに替えて処理制御部２８が設けられている。
【０１３０】
この態様においては、不許可ソフト検知部２４よる検知を受けて、処理制御部２８が、実行対象のソフトウェアに係る情報を基に、そのソフトウェアの処理の代行を依頼処理部１６に依頼する。この場合には、処理制御部２８は、例えば、不許可ソフト検知部２４から構成管理情報を受けて、処理の代行を依頼処理部１６に依頼するソフトウェアの種別を特定するとよい。また、処理制御部２８は、ソフト実行部２０から、そのソフトウェアを実行するための処理パラメータを受けてもよい。処理制御部２８は、この処理パラメータを、依頼時にあわせて依頼処理部１６に通知してもよい。なお、処理制御部２８は、依頼処理部１６に処理の代行を依頼するときに、あわせて構成管理情報を通知する。
【０１３１】
依頼処理部１６は、処理の代行に関する依頼を、構成管理情報とあわせて処理制御部２８から受ける。この依頼を受けて、処理制御部２８は、受けた構成管理情報に対応する仮実行環境を仮実行環境格納部１４から特定する。処理制御部２８は、特定された仮実行環境で依頼された処理を実行し、その結果を処理制御部２８に通知する。このような構成により、処理制御部２８は、更新対象ソフトウェアによる処理の実行をサーバー１に代行させることが可能となる。なお、この態様では、処理制御部２８が「制御部」に相当する。
【０１３２】
以上、変形例に係るソフトウェア配信システムによれば、第１の実施形態に係るソフトウェア配信システムの特徴に加え、不許可ソフト検知部２４の監視によりソフトウェアが使用できない場合においても、代替環境として仮実行環境にインストールされた該ソフトウェアを使用することが可能となる。これにより操作者は、クライアント２上で該ソフトウェアを使用した作業ができない場合においても、仮実行環境を使用し作業を行うことが可能となる。
【符号の説明】
【０１３３】
１  サーバー
１０  配信ソフト送信部
１１  構成管理情報格納部
１２  配信ソフト格納部
１３  仮実行環境作成部
１４  仮実行環境格納部
１５  仮実行環境提供部
２  クライアント
２０  ソフト実行部
２１  配信ソフト受信部
２２  配信ソフト更新部
２３  不許可ソフト情報格納部
２４  不許可ソフト検知部
２５  不許可ソフト停止部
２６  不許可ソフト通知部
２７、２７Ａ  不許可ソフト誘導部
【図１】
2012069088.tif 000003
【図２】
2012069088.tif 000004
【図３】
2012069088.tif 000005
【図４】
2012069088.tif 000006
【図５】
2012069088.tif 000007
【図６】
2012069088.tif 000008
【図７】
2012069088.tif 000009
【図８】
2012069088.tif 000010
【図９】
2012069088.tif 000011
【図１０】
2012069088.tif 000012
【図１１】
2012069088.tif 000013
【図１２】
2012069088.tif 000014
【図１３】
2012069088.tif 000015
【図１４】
2012069088.tif 000016