(57)【要約】【課題】配布先の数にあまり依存せずに、全体として迅速に、ソフトウェアやデータを同時配布することができる。【解決手段】  このソフトウェア同時配布プログラム３は、コンピュータを制御して、配布先情報と、配布対象のソフトウェアのサイズ情報と、基本ＯＳ７の最大ネットワーク転送量等に基づいて、基本ＯＳ７上に最適個数の仮想ＯＳ７１、７２を作成し、作成した各仮想ＯＳ７１、７２上にグループ配布部８１、８２をインストールし、各グループ配布部８１、８２に、配布先４１、４２、４３を割り当て、配布すべきソフトウェア２１、２２を指定すると共に、配布方法を設定し、かつ、各グループ配布部８１、８２は、各仮想ＯＳ７１、７２上で同時に動作して、指定されたソフトウェア２１、２２を、設定された配布方法に従って、各配布先４１、４２、４３へ同時に配布する。【選択図】図３
2007272848.tif 000002
【特許請求の範囲】
【請求項１】
制御部と配布部とを有し、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するためのコンピュータ読み取り可能なソフトウェア同時配布プログラムであって、
前記制御部は、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、
作成した前記各仮想ＯＳ上に前記配布部をグループ配布部としてインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定し、かつ、
前記各グループ配布部は、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又はデータを格納部から取り出し、取り出した前記ソフトウェア又はデータを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布することを特徴とするソフトウェア同時配布プログラム。
【請求項２】
前記各グループ配布部が、前記ソフトウェア又は前記データの配布を完了したときは、前記制御部は、前記コンピュータを制御して、前記各グループ配布部をアンインストールして、作成した前記仮想ＯＳを削除することを特徴とする請求項１記載のソフトウェア同時配布プログラム。
【請求項３】
前記制御部は、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴とする請求項１記載のソフトウェア同時配布プログラム。
【請求項４】
配布すべき前記ソフトウェア又は前記データを前記格納部から取り出すための読出しアドレスを共有するデータ共有部が付加されていることを特徴とする請求項１記載のソフトウェア同時配布プログラム。
【請求項５】
前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴とする請求項１記載のソフトウェア同時配布プログラム。
【請求項６】
互いに分離された制御サブプログラムと配布サブプログラムとを有し、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するためのコンピュータ読み取り可能なソフトウェア同時配布プログラムであって、
前記制御サブプログラムは、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、
作成した前記各仮想ＯＳ上に前記配布サブプログラムをグループ配布サブプログラムとしてインストールし、インストールされた前記各グループ配布サブプログラムに、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定し、かつ、
前記各グループ配布サブプログラムは、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又は前記データを格納部から取り出し、取り出した前記ソフトウェア又は前記データを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布することを特徴とするソフトウェア同時配布プログラム。
【請求項７】
前記各グループ配布サブプログラムが、前記ソフトウェア又は前記データの配布を完了したときは、前記制御サブプログラムは、前記コンピュータを制御して、前記各グループ配布サブプログラムをアンインストールして、作成した前記仮想ＯＳを削除することを特徴とする請求項６記載のソフトウェア同時配布プログラム。
【請求項８】
前記制御サブプログラムは、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと前記各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴とする請求項６記載のソフトウェア同時配布プログラム。
【請求項９】
前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴とする請求項６記載のソフトウェア同時配布プログラム。
【請求項１０】
基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するソフトウェア同時配布方法であって、
少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、
作成した前記各仮想ＯＳ上にグループ配布部をインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定した後、
前記各グループ配布部を、前記各仮想ＯＳ上で同時に動作させて、前記各グループ配布部に、指定された前記ソフトウェア又は前記データを格納部から取り出させ、取り出した前記ソフトウェア又は前記データを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布させることを特徴とするソフトウェア同時配布方法。
【請求項１１】
少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴とする請求項１０記載のソフトウェア同時配布方法。
【請求項１２】
前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴とする請求項１０記載のソフトウェア同時配布方法。
【請求項１３】
制御部と配布部とを有し、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するソフトウェア同時配布システムであって、
前記制御部は、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、
作成した前記各仮想ＯＳ上に前記配布部をグループ配布部としてインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定し、かつ、
前記各グループ配布部は、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又はデータを格納部から取り出し、取り出した前記ソフトウェア又はデータを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布することを特徴とするソフトウェア同時配布システム。
【請求項１４】
前記各グループ配布部が、前記ソフトウェア又は前記データの配布を完了したときは、前記制御部は、前記コンピュータを制御して、前記各グループ配布部をアンインストールして、作成した前記仮想ＯＳを削除することを特徴とする請求項１３記載のソフトウェア同時配布システム。
【請求項１５】
前記制御部は、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴とする請求項１３記載のソフトウェア同時配布システム。
【請求項１６】
配布すべき前記ソフトウェア又は前記データを格納する格納部として、データ共有部が付加されていることを特徴とする請求項１３記載のソフトウェア同時配布システム。
【請求項１７】
前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴とする請求項１３記載のソフトウェア同時配布システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェアを同時配布するための配布プログラム、配布方法及び配布システムに係り、詳しくは、基本ＯＳ上に最適個数の仮想ＯＳを作成し、複数の配布先にネットワークを介して、ソフトウェアやデータを同時配布するためのソフトウェア同時配布プログラム、配布方法及び配布システムに関する。
【背景技術】
【０００２】
ネットワークを介して、ソフトウェアやデータを複数の配布先に一度の操作で配布（送信）する方法として、従来から、同報送信する技術が知られている（例えば、特開２００３−２６４６７９号公報（特許文献１）参照）。しかしながら、同報通信は、同一のソフトウェアやデータを、一度の操作で、複数の配布先に配布できるとは言っても、１対１の通信であるユニキャストで配布することになるため、同じ内容のパケットでも、配布先の数だけのパケットを順番に送信する必要があり、その時間的コストは、配布先の数に比例して大きくなる、という不都合がある。
【０００３】
これに対して、１対複数同時通信であるマルチキャストによれば、配布先の数によらず、一つのパケットを送信するだけで済む。それゆえ、配布先が多数のときは、マルチキャストによる配布なら、ネットワークへの負荷を大幅に軽減することができる。従来、この種のマルチキャスト配布システムとしては、特開２００３−３０４２８７号公報（特許文献２）に記載のソフトウェア配布システムが知られている。特許文献２に記載の配布システムでは、サーバは、配布先へのソフトウェア配布を制御する配布制御部、システム管理者が配布を指示したソフトウェアをソフトウェア保管庫から取り出し、配布先へマルチキャストによって送信するマルチキャストソフトウェア送信部、システム管理者からの配布要求の指示を受付け、配布対象のソフトウェア、及び配布先の情報をもつ制御ファイルを作成する配布指示受付部を備えていて、配布要求の数が、一定の時間内に予め定められた数以上になれば、多数の配布先にマルチキャストでソフトウェアを配布する構成となっている。
【０００４】
しかしながら、ルータがマルチキャスト未対応の場合、配布先毎に異なるソフトウェアや異なるデータを配布する場合はともかく、一部の配布先には、別種のソフトウェアを配布しなければならない場合や、異種のネットワークを介して配布しなければならない場合には、マルチキャストによる配布に全面的に頼ることができないので、複数の配布先に１つ１つ順番でユニキャスト配布することになり、その時間的コストは配布先の数に比例して大きくなる。
【０００５】
ところで、コンピュータシステムでは、同時に複数の処理要求に対して、親プロセスが、複数の子プロセスを生成して処理を実行させるプロセス管理方式が従来から知られている（特開２００１−２８２５５５号公報（特許公報３）、特開２００５−３２２２４３号公報（特許公報４））。そこで、この種のプロセス管理方式で得られる複数の子プロセスを同時に動作して、複数の配布先に異なるソフトウェアやデータを同時配布させるようにすることもできる。
【０００６】
【特許文献１】特開２００３−２６４６７９号公報（段落００２７）
【特許文献２】特開２００３−３０４２８７号公報（段落００１６、段落００１７、図２、図４）
【特許文献３】特開２００１−２８２５５５号公報
【特許文献４】特開２００５−３２２２４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のプロセス管理方式では、特許文献３に記載があるように、デッドロックが発生して、プロセスの処理が進めなくなるのを防止するために、生成される子プロセスの最大許容個数が定められている。
しかしながら、最大許容個数まで生成された複数の子プロセスに同時配布を実行させようとしても、通常の場合、最大許容個数は、同時配布システムの運用（スループット）を高めるために最適化された個数とは言えないので、全体としての配布速度の効率化、したがって、配布に要する時間的コストの削減化を、期待通りには、達成することができない、という問題が懸念される。
【０００８】
この発明は、上述の事情に鑑みてなされたもので、基本ＯＳ上に最適個数の仮想ＯＳを作成し、複数の配布先に、効率良く、ソフトウェアやデータを同時配布することができるソフトウェア同時配布プログラム、配布方法及び配布システムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１記載の発明は、制御部と配布部とを有し、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するためのコンピュータ読み取り可能なソフトウェア同時配布プログラムに係り、前記制御部は、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、作成した前記各仮想ＯＳ上に前記配布部をグループ配布部としてインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定し、かつ、前記各グループ配布部は、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又はデータを格納部から取り出し、取り出した前記ソフトウェア又はデータを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布することを特徴としている。
【００１０】
また、請求項２記載の発明は、請求項１記載のソフトウェア同時配布プログラムに係り、前記各グループ配布部が、前記ソフトウェア又は前記データの配布を完了したときは、前記制御部は、前記コンピュータを制御して、前記各グループ配布部をアンインストールして、作成した前記仮想ＯＳを削除することを特徴としている。
【００１１】
請求項３記載の発明は、請求項１記載のソフトウェア同時配布プログラムに係り、前記制御部が、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴としている。
【００１２】
また、請求項４記載の発明は、請求項１記載のソフトウェア同時配布プログラムに係り、配布すべき前記ソフトウェア又は前記データを前記格納部から取り出すための読出しアドレスを共有するデータ共有部が付加されていることを特徴としている。
【００１３】
請求項５記載の発明は、請求項１記載の請求項１記載のソフトウェア同時配布プログラムに係り、前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴としている。
【００１４】
請求項６記載の発明は、互いに分離された制御サブプログラムと配布サブプログラムとを有し、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するためのコンピュータ読み取り可能なソフトウェア同時配布プログラムに係り、前記制御サブプログラムは、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、作成した前記各仮想ＯＳ上に前記配布サブプログラムをグループ配布サブプログラムとしてインストールし、インストールされた前記各グループ配布サブプログラムに、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定し、かつ、前記各グループ配布サブプログラムは、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又は前記データを格納部から取り出し、取り出した前記ソフトウェア又は前記データを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布することを特徴としている。
【００１５】
請求項７記載の発明は、請求項６記載のソフトウェア同時配布プログラムに係り、前記各グループ配布サブプログラムが、前記ソフトウェア又は前記データの配布を完了したときは、前記制御サブプログラムは、前記コンピュータを制御して、前記各グループ配布サブプログラムをアンインストールして、作成した前記仮想ＯＳを削除することを特徴としている。
【００１６】
請求項８記載の発明は、請求項６記載のソフトウェア同時配布プログラムに係り、前記制御サブプログラムが、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと前記各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴としている。
【００１７】
請求項９記載の発明は、請求項６記載のソフトウェア同時配布プログラムに係り、前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴としている。
【００１８】
請求項１０記載の発明は、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するソフトウェア同時配布方法に係り、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、作成した前記各仮想ＯＳ上にグループ配布部をインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定した後、前記各グループ配布部を、前記各仮想ＯＳ上で同時に動作させて、前記各グループ配布部に、指定された前記ソフトウェア又は前記データを格納部から取り出させ、取り出した前記ソフトウェア又は前記データを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布させることを特徴としている。
【００１９】
また、請求項１１記載の発明は、請求項１０記載のソフトウェア同時配布方法に係り、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴としている。
【００２０】
請求項１２記載の発明は、請求項１０記載のソフトウェア同時配布方法に係り、前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴としている。
【００２１】
請求項１３記載の発明は、制御部と配布部とを有し、基本ＯＳ環境で動作するコンピュータを制御して、配布先としての複数のユーザ端末に同一又は別異のネットワークを介して同種又は別種のソフトウェア又はデータを同時配布するソフトウェア同時配布システムに係り、前記制御部は、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、前記基本ＯＳ上に所定個数（複数）の仮想ＯＳを作成し、作成した前記各仮想ＯＳ上に前記配布部をグループ配布部としてインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、所定の配布方法を設定し、かつ、
前記各グループ配布部は、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又はデータを格納部から取り出し、取り出した前記ソフトウェア又はデータを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布することを特徴としている。
【００２２】
また、請求項１４記載の発明は、請求項１３記載のソフトウェア同時配布システムに係り、前記各グループ配布部が、前記ソフトウェア又は前記データの配布を完了したときは、前記制御部は、前記コンピュータを制御して、前記各グループ配布部をアンインストールして、作成した前記仮想ＯＳを削除することを特徴としている。
【００２３】
請求項１５記載の発明は、請求項１３記載のソフトウェア同時配布システムに係り、前記制御部が、少なくとも、前記配布先情報としての配布先アドレスと、配布対象の前記ソフトウェア又は前記データの種類及び前記サイズ情報と、前記リソース情報としての前記基本ＯＳと各配布先との最大ネットワーク転送量とに基づいて、前記基本ＯＳ上に所定個数（複数）の前記仮想ＯＳを作成することを特徴としている。
【００２４】
請求項１６記載の発明は、請求項１３記載のソフトウェア同時配布システムに係り、配布すべき前記ソフトウェア又は前記データを格納する格納部として、データ共有部が付加されていることを特徴としている。
【００２５】
請求項１７記載の発明は、請求項１３記載のソフトウェア同時配布システムに係り、前記所定の配布方法として、ユニキャスト配布、及びマルチキャスト配布が選択肢として組み込まれていることを特徴としている。
【発明の効果】
【００２６】
この発明の構成によれば、少なくとも、配布先情報と、配布対象の前記ソフトウェア又は前記データのサイズ情報と、前記基本ＯＳのリソース情報とに基づいて、基本ＯＳ上に最適個数の仮想ＯＳが作成されるので、配布先の数にあまり依存せずに、全体として迅速に、ソフトウェアやデータを同時配布することができる。
【発明を実施するための最良の形態】
【００２７】
発明を実施するための最良の形態としてのソフトウェア同時配布システムにおいて用いられるソフトウェア同時配布プログラムは、コンピュータを制御して配布動作処理を実行させる制御部と配布部とを有している。
前記制御部は、少なくとも、配布先アドレス等の配布先情報と、配布対象の前記ソフトウェア又は前記データの種類やサイズ情報と、前記基本ＯＳと各配布先との最大ネットワーク転送量等のリソース情報とに基づいて、前記基本ＯＳ上に最適個数の仮想ＯＳを作成し、作成した前記各仮想ＯＳ上に前記配布部をグループ配布部としてインストールし、インストールされた前記各グループ配布部に、所定のグループを構成するものとしてまとめられる単数又は複数の前記配布先を割り当て、配布すべき前記ソフトウェア又は前記データを指定すると共に、ユニキャストによるかマルチキャストによるか等の配布方法を設定し、かつ、前記各グループ配布部は、前記各仮想ＯＳ上で同時に動作して、指定された前記ソフトウェア又はデータを格納部から取り出し、取り出した前記ソフトウェア又はデータを、設定された前記配布方法に従って、割り当てられた前記各配布先へ配布する構成となっている。
【００２８】
また、前記各グループ配布部が、前記ソフトウェア又は前記データの配布を完了したときは、前記制御部は、前記コンピュータを制御して、前記各グループ配布部をアンインストールして、作成した前記仮想ＯＳを削除する構成となっている。
【実施例１】
【００２９】
図１は、この発明の第１実施例であるソフトウェア同時配布システムの全体構成を概略示す概念図、図２は、同ソフトウェア同時配布システムを構成するサーバの体構成を概略示す電気的ブロック図、また、図３は、同ソフトウェア同時配布システムの動作を説明するための図である。
【００３０】
まず、システムの全体構成から説明する。
この例のソフトウェア同時配布システムは、図１、図２及び図３に示すように、ハードウェアとしてのサーバ１と、このサーバ１を制御して各種のソフトウェアプログラム（以下、単にソフトウェアという）２１、２２の同時配布を実行させる処理手順をプログラミング言語で記述したソフトウェア同時配布プログラム３と、ソフトウェア２１、２２の配布先である複数の配布先端末４1、４２、４３と、ソフトウェア同時配布プログラム３と配布先端末４１、４２、４３とを相互に接続するためのＬＡＮ（Local Area Network）等のネットワーク５１、５２と、クライアントの依頼に基づいて、配布先端末４１、４２、４３への各種ソフトウェア２１、２２の配布を指示するシステム管理者６とから概略構成されている。
【００３１】
次に、システムの構成各部について説明する。
この例で用いられるハードウェアとしての上記サーバ１は、図２に示すように、システム管理者６によって操作される入力装置１１と、ＣＰＵ（中央処理装置）とＲＯＭやＲＡＭ等からなり、基本ＯＳ（オペレーティング・システム）環境で動作する演算処理装置（コンピュータ本体）１２と、ソフトウェア同時配布プログラム３を記憶する記憶装置１３と、複数のネットワーク５１、５２に接続して、演算処理装置１２から複数の配布先端末４１、４２、４３へデータ同時送信（ソフトウェアを配布）するための例えばモデム等の出力装置１４と、配布対象としてのソフトウェア２１、２２を格納する共有記憶装置１５とから概略構成されている。
【００３２】
この例で用いられるソフトウェアとしての上記ソフトウェア同時配布プログラム３は、図１及び図２に示すように、該プログラム実行のために演算処理装置１２の動作を制御する制御部３１と、ソフトウェア２１、２２を配布する処理手順を記述した配布部３２と、配布するソフトウェア２１、２２の共通の格納先（共有記憶装置１５内の記憶エリア）を記述したデータ共有部３３とから構成されている。
【００３３】
上記制御部３１は、図１に示すように、配布処理の詳細を決定する配布方法決定手段３１1と、基本ＯＳ７上に必要な数（最適個数）の仮想ＯＳ７１、７２を作成して制御すると共に、配布動作完了後の仮想ＯＳ７１、７２を削除する仮想ＯＳ制御手段３１２とを有している。ここで、仮想ＯＳ７１、７２が作成されると、仮想的に複数のＯＳが存在しているかのように見せかけることができ、このモードを利用して、複数の仮想ＯＳを同時に実行できる。
上記配布方法決定手段３１1は、同図に示すように、配布先アドレス等の配布先情報と、配布対象の前記ソフトウェアに関する量的種別的情報と、基本ＯＳ７のリソース情報とに基づいて、仮想ＯＳ７１、７２の最適個数を算出して決定すると共に、各仮想ＯＳ７１、７２毎に、適切な配布方法を選択する構成となっている。ここで、リソース情報とは、サーバ１が使用するメモリや共有記憶装置１５、モデム等の出力装置１４等の周辺機器等の能力・容量などに関する情報を意味している。
【００３４】
詳細に言えば、制御部３において、配布方法決定手段３１１は、システム管理者６によって指示された配布先端末４１、４２、４３のＩＰアドレス等の位置情報と、配布対象としてのソフトウェア２１、２２のサイズや種類等の量的種別的情報と、基本ＯＳ７と各配布先端末４１、４２、４３との最大ネットワーク転送量等を考慮して、予め設定された演算式を用いて、あるいはテーブルを参照して、仮想ＯＳ７１、７２の最適個数や適切な配布方法を選択する。ここで、配布方法として、例えば、ユニキャストによる配布やマルチキャストによる配布を挙げることができる。
【００３５】
仮想ＯＳ制御手段３１２は、上記配布方法決定手段３１１で算出された仮想ＯＳ７１、７２の最適個数と、各仮想ＯＳ７１、７２毎に決定された配布方法とに基づいて、基本ＯＳ７上に複数の仮想ＯＳ（この例では、仮想ＯＳ７１と仮想ＯＳ７２）を作成し、作成された各仮想ＯＳ７１、７２に配布部３２（図２）をグループ配布部８１、８２としてインストールする一方、配布完了後、制御部３１はインストールした各グループ配布部８１、８２をアンインストールして、作成した仮想ＯＳ７１、７２を削除する構成となっている。
【００３６】
上記したように、配布部３２（図２）は、図１及び図３に示すように、制御部３１の仮想ＯＳ制御手段３１２によって作成された仮想ＯＳ７１、７２上に複数のグループ配布部８１、８２としてインストールされ、データ共有部３３を参照して、配布対象としてのソフトウェア２１、２２を共有記憶装置１５（図２）の記憶エリアから取り出し、制御部３１の配布方法決定手段３１１の選択決定に従って、内包するそれぞれの配布手段により、ネットワーク５１、５２を介して、指定された配布先端末４１、４２、４３に同時配布動作を実行できる構成となっている。
【００３７】
次に、図２及び図３を参照して、この例の動作について説明する。
ソフトウェア同時配布プログラム３は、演算処理装置１２に読み込まれ、演算処理装置１２の動作を制御する。演算処理装置１２は、ソフトウェア同時配布プログラム３の制御により、制御部３１の配布方法決定手段３１１、仮想ＯＳ制御手段３１２、仮想ＯＳ７１、７２上のグループ配布部８１、８２として、以下の処理を実行する。
【００３８】
システム管理者６の操作により、入力装置１１から、配布先端末４１のＩＰアドレス等の位置情報と、この配布先端末４１に対して配布しようとするソフトウェア２２のサイズや種類等の量的種別的情報とが与えられると共に、配布先端末４２、４３のＩＰアドレス等の位置情報と、これらの配布先端末４２、４３に対して配布しようとするソフトウェア２１のサイズや種類等の量的種別的情報とが与えられると、制御部３の配布方法決定手段３１１は、与えられた配布先端末４１、４２、４３のＩＰアドレス等の位置情報と、配布対象としてのソフトウェア２１、２２のサイズや種類等の量的種別的情報と、基本ＯＳ７と各配布先端末４１、４２、４３との最大ネットワーク転送量等を考慮して、予め設定されたアルゴリズムを演算して、あるいは、テーブルを参照して、仮想ＯＳ７１、７２の最適個数や適切な配布方法を選択する。ここで、配布方法として、例えば、ユニキャストによる配布やマルチキャストによる配布を挙げることができる。配布方法決定手段３１１は、例えば、配布先端末４２、４３については、配布対象として同一のソフトウェア２１が指定されているので、これらを一つのグループにまとめて、仮想ＯＳ８２を実行させて、マルチキャストによって配布することを決定する。一方、配布方法決定手段３１１は、例えば、配布先端末４１については、配布先端末４２、４３向けのソフトウェア２１とは異なるソフトウェア２２が指定されているので、配布先端末４２、４３とは仮想ＯＳ８１を実行させて、ユニキャストによって配布することを決定する。
【００３９】
仮想ＯＳ制御手段３１２は、上記配布方法決定手段３１１で算出された仮想ＯＳ７１、７２の最適個数と、各仮想ＯＳ７１、７２毎に決定された配布方法とに基づいて、基本ＯＳ７上に複数の仮想ＯＳ（この例では、仮想ＯＳ７１と仮想ＯＳ７２）を作成し、作成された各仮想ＯＳ７１、７２に配布部３２（図２）をグループ配布部８１、８２としてインストールする。
【００４０】
仮想ＯＳ７１上にインストールされたグループ配布部８１は、配布方法決定手段３１１によってソフトウェア２２が配布対象として指定されると、図３に示すように、データ共有部３３を参照して、指定されたソフトウェア２２を共有記憶装置１５（図２）の記憶エリアから取り出し、制御部３１の配布方法決定手段３１１の選択決定に従って、内包する配布手段により、ネットワーク５１を介して、配布先として割り当てられた配布先端末４１にユニキャストにより配布する。
【００４１】
仮想ＯＳ７１上に生成されたグループ配布部８２は、配布方法決定手段３１１によってソフトウェア２１が配布対象として指定されると、図３に示すように、データ共有部３３を参照して、指定された共通のソフトウェア２１を共有記憶装置１５（図２）の記憶エリアから取り出し、制御部３１の配布方法決定手段３１１の選択決定に従って、内包する配布手段により、マルチキャスト対応の共通のネットワーク５２を介して、配布先として割り当てられた配布先端末４２、４３にマルチキャストにより配布する。仮想ＯＳ７１上のグループ配布部８１によるユニキャスト配布と、仮想ＯＳ７２上のグループ配布部８２によるマルチキャスト配布とは、同時的に実行される。
【００４２】
仮想ＯＳ制御手段３１２は、ソフトウェア２１、２２の配布が完了した後、仮想ＯＳ７１、７２上にインストールされたグループ配布部８１、８２をアンインストールして、基本ＯＳ上に作成された仮想ＯＳ７１、７２を削除する。仮想ＯＳ７１、７２の削除は、一括削除でも良いし、ソフトウェアの配布が完了した仮想ＯＳから、順に削除するようにしても良い。このようにすれば、削除された１部の仮想ＯＳに代えて、同時配布プログラムとは目的の異なる別種のプログラムにより、別種の仮想ＯＳが作成されるようにしても良い。
【００４３】
このように、この例の構成よれば、同種又は別種の単数又は複数のソフトウェアを複数の配布先端末に配布する場合、同時に配布を行うことで配布にかかる時間的コストを削減できる。特に配布先の数が多ければ多いほど、この効果は顕著である。
また、仮想ＯＳを用いてソフトウェアの配布を行うため、最大ネットワーク転送量等のリソース情報を勘案した配布処理を行うことができる。
【実施例２】
【００４４】
図４は、この発明の第２実施例であるソフトウェア同時配布システムの全体構成を概略示す概念図、また、図５は、同ソフトウェア同時配布システムの動作を説明するための図である。
この第２実施例のソフトウェア同時配布プログラムの構成が、上述した第１実施例のそれと大きく異なるところは、第１実施例では、ソフトウェア同時配布プログラム３が、制御部３１と、配布部３２と、データ共有部３３とから構成されているのに対して、この例のソフトウェア同時配布プログラムは、図４及び図５に示すように、互いに分離した制御サブプログラム３１ａと配布サブプログラム（グループ配布サブプログラム８１ａ、８１ｂ）と、データ共有部３ａとからなるようにした点である。
それゆえ、図４及び図５において、図１及び図３の構成部分と同一の各部には、同一の符号を付し、図１及び図３の構成部分と対応する各部には、対応する符号を付して、その説明を省略又は簡略化する。
【００４５】
この例の制御サブプログラム３１ａが、第１実施例の制御部３１と略同様の機能を有しており、この例の配布サブプログラム（グループ配布サブプログラム８１ａ、８１ｂ）が、第１実施例の配布部３２（グループ配布部８１、８２）と略同様の機能を有している。
それゆえ、この例の構成によっても、上述の第１実施例で述べたと略同様の効果を得ることができる。
【００４６】
以上、この発明の実施例を図面を参照して詳述してきたが、具体的な構成はこの実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。
例えば、ネットワークはＬＡＮ（Local Area Network）に限らず、ＷＡＮでも良く、もちろん、インターネットでも良い。配布対象はソフトウェアに限らずデータでも良い。また、上述の実施例では、グループ配布部が２つインストールされた場合について述べたが、もちろん、複数であれば、２つに限定されない。
【図面の簡単な説明】
【００４７】
【図１】この発明の第１実施例であるソフトウェア同時配布システムの全体構成を概略示す概念図である。
【図２】同ソフトウェア同時配布システムを構成するサーバの体構成を概略示す電気的ブロック図である。
【図３】同ソフトウェア同時配布システムの動作を説明するための概念図である。
【図４】この発明の第２実施例であるソフトウェア同時配布システムの全体構成を概略示す概念図である。
【図５】同ソフトウェア同時配布システムの動作を説明するための概念図である。
【符号の説明】
【００４８】
１        サーバ（コンピュータ）
１１        入力装置
１２        演算処理装置
１３        記憶装置
１４        出力装置
１５        共有記憶装置（格納部）
２１、２２        配布対象としてのソフトウェア
３        ソフトウェア同時配布プログラム
３１        制御部
３１１        配布方法決定手段
３１２        仮想ＯＳ制御手段
３２        配布部
８１、８２        グループ配布部
３３、３３ａ        データ共有部
４１、４２、４３        配布先端末（配布先、ユーザ端末）
７        基本ＯＳ
７１、７２        仮想ＯＳ
５１、５２        ネットワーク
３１ａ        制御サブプログラム
８１ａ、８１ｂ        グループ配布サブプログラム（グループ配布サブプログラム）
【図１】
2007272848.tif 000003
【図２】
2007272848.tif 000004
【図３】
2007272848.tif 000005
【図４】
2007272848.tif 000006
【図５】
2007272848.tif 000007