(57)【特許請求の範囲】
【請求項１】
サーバと端末とが通信ネットワークを介して接続され、上記サーバから上記端末にソフトウェアを配信して必要なパラメータを設定することによって上記ソフトウェアを動作させるようになされたソフトウェア配信システムであって、
上記サーバは、
上記ソフトウェアを、起動および最低限の基本動作に必要な基本機能部分とそれ以外の周辺機能部分とに分けて記憶するソフトウェア記憶部と、
上記ソフトウェアに対して設定すべきパラメータおよび当該パラメータの設定命令から成るパラメータ設定ファイルを記憶する設定ファイル記憶部と、
上記ソフトウェアの上記基本機能部分および上記パラメータ設定ファイルを優先して送信し、その後で上記ソフトウェアの上記周辺機能部分を送信するように制御する送信制御部とを備え、
上記端末は、
上記ソフトウェアの上記基本機能部分および上記パラメータ設定ファイルを優先して受信し、その後で上記ソフトウェアの上記周辺機能部分を受信するように制御する受信制御部と、
上記ソフトウェアの上記基本機能部分および上記パラメータ設定ファイルの受信が完了したときに、上記パラメータ設定ファイルを起動し、当該パラメータ設定ファイルに記述されている設定命令に従って上記パラメータを上記ソフトウェアに設定させるように制御するパラメータ設定部とを備え、
上記ソフトウェアは、オペレーティングシステム、アプリケーションおよびデータベースをパッケージングしたソフトウェアコンポーネント群であり、上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれが、上記アプリケーションの起動および最低限の基本動作に必要な基本機能部分とそれ以外の周辺機能部分とに分けて上記ソフトウェア記憶部に記憶されており、
上記送信制御部および上記受信制御部は、上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれについての上記基本機能部分および上記パラメータ設定ファイルを優先して送受信し、その後で上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれについての上記周辺機能部分を送受信するように制御することを特徴とするソフトウェア配信システム。
【請求項２】
オペレーティングシステム、アプリケーションおよびデータベースをパッケージングしたソフトウェアコンポーネント群から成るソフトウェアであって、上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれが、上記アプリケーションの起動および最低限の基本動作に必要な基本機能部分とそれ以外の周辺機能部分とに分けて構成されたソフトウェアに関し、上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれについての上記基本機能部分と、上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれに対して設定すべきパラメータおよび当該パラメータの設定命令から成るパラメータ設定ファイルとを優先してサーバから通信ネットワークに送信し、その後で上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれについての上記周辺機能部分を上記サーバから上記通信ネットワークに送信するように制御する送信制御手段、
上記通信ネットワークを介して端末にて上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれについての上記基本機能部分および上記パラメータ設定ファイルを優先して受信し、その後で上記オペレーティングシステム、上記アプリケーションおよび上記データベースのそれぞれについての上記周辺機能部分を上記端末にて受信するように制御する受信制御手段、および
上記端末にて上記ソフトウェアの上記基本機能部分および上記パラメータ設定ファイルの受信が完了したときに、上記パラメータ設定ファイルを起動し、当該パラメータ設定ファイルに記述されている設定命令に従って上記パラメータを上記ソフトウェアに設定させるように制御するパラメータ設定手段、
としてコンピュータを機能させるためのコンピュータ読み取り可能なソフトウェア配信用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア配信システムおよびソフトウェア配信用プログラムに関し、特に、ソフトウェアをサーバから端末に配信して必要なパラメータを設定することによって当該ソフトウェアを動作させるようになされたシステムに用いて好適なものである。
【背景技術】
【０００２】
従来、パソコンなどの端末におけるアプリケーションの利用方法として、ＣＤやＤＶＤなどの記録媒体からアプリケーションを読み出して端末にインストールする方法と、インターネットを介してサーバからアプリケーションを配信して端末にインストールする方法とがある。最近では、インターネットでの通信の高速化に伴い、後者の方法を採用するケースが増えている。
【０００３】
端末にインストールしたアプリケーションを実際に動作させる前提として、動作環境に関する種々のパラメータを設定しなければならない場合がある。そのパラメータ設定が簡単にできるアプリケーションもあるが、パラメータ設定が比較的複雑で簡単にはできないアプリケーションもある。例えば、業務用の複雑なアプリケーションの場合は、パラメータの設定が多岐にわたり、専門的な知識が必要となることも多い。そのため、専門知識を持たない利用者自身がパラメータを設定することは困難であった。
【０００４】
特に、アプリケーションに加えて、そのアプリケーションの特性に合わせたオペレーティングシステム（ＯＳ）やデータベースなどのソフトウェアコンポーネント群を一括して配信しインストールする場合は、アプリケーションのパフォーマンスを最大限に発揮させるために、アプリケーション、ＯＳ、データベースのそれぞれに対して多種多様なパラメータを適切に設定する必要がある。しかし、それを行うには高度なスキルとノウハウを要し、経験の少ないユーザには非常に難しいものであった。
【０００５】
例えば、１台のパソコンを複数のユーザで共用するために、プロセッサやメモリ、ハードディスクなどの物理的なコンピュータ資源を、仮想化技術を用いて論理的に分割することがある。この場合、分割したそれぞれの論理コンピュータに対して別のアプリケーションやＯＳをインストールすることにより、１台のパソコンの中に、ユーザ毎に異なる動作環境を作ることができる。
【０００６】
このような仮想環境を構築するために、上述したようにアプリケーション、ＯＳ、データベースなどのソフトウェアコンポーネント群を一括して配信しインストールすることがある。しかし、構築した仮想環境下でアプリケーションを動作させるために必要なパラメータの設定は、経験の少ないユーザにとっては非常に難しいものであった。また、経験が豊富な専門技術者であっても、パラメータの設定は非常に煩雑で多くの手間を要するものであった。
【０００７】
なお、端末の起動時にＯＳやアプリケーションをサーバから取得して動作させるようにしたネットワークコンピュータシステムにおいて、ＯＳやアプリケーションに加えて個人環境設定ファイルをサーバから取得し、端末の作業環境をユーザに合わせて自動設定するようにした技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−１８１８２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１に記載の技術によれば、ユーザが煩雑なパラメータの設定を行わなくても、配信したアプリケーションを端末で動作可能な状態にするための動作環境を自動的に構築することができる。しかしながら、アプリケーションやＯＳなどのソフトウェアコンポーネント群をパッケージングして配信する場合、そのファイルサイズは極めて大きなものとなる。そのため、サーバからソフトウェアコンポーネント群を配信してアプリケーションの動作環境を端末に構築するまでに、膨大な時間がかかってしまうという問題があった。単体のアプリケーションを配信する場合であっても、そのファイルサイズが大きなアプリケーションであれば同様の問題が生じる。
【００１０】
本発明は、このような問題を解決するために成されたものであり、ソフトウェア（アプリケーションまたはソフトウェアコンポーネント群）をサーバから端末に配信して動作させる際に、ファイルサイズが大きなソフトウェアであっても、ユーザがパラメータ設定を一切行うことなく、ソフトウェアの動作可能な状態を短時間のうちに構築できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために、本発明では、ソフトウェアの起動および最低限の基本動作に必要な基本機能部分と、ソフトウェアに対して設定すべきパラメータおよび当該パラメータの設定命令から成るパラメータ設定ファイルとを優先してサーバから端末に配信し、その後、ソフトウェアの基本機能部分以外の周辺機能部分をサーバから端末に配信する。そして、端末にてソフトウェアの基本機能部分およびパラメータ設定ファイルの受信が完了したときに、パラメータ設定ファイルを起動してパラメータをソフトウェアに設定するようにする。
ここで、ソフトウェアは、オペレーティングシステム、アプリケーションおよびデータベースをパッケージングしたソフトウェアコンポーネント群であり、オペレーティングシステム、アプリケーションおよびデータベースのそれぞれが、基本機能部分とそれ以外の周辺機能部分とに分けて構成されている。そして、オペレーティングシステム、アプリケーションおよびデータベースのそれぞれについての基本機能部分およびパラメータ設定ファイルを優先して送受信し、その後でオペレーティングシステム、アプリケーションおよびデータベースのそれぞれについての周辺機能部分を送受信する。
【発明の効果】
【００１２】
上記のように構成した本発明によれば、ソフトウェアの起動および最低限の基本動作に必要な基本機能部分が優先して配信され、かつ、その配信が完了した時点で、ソフトウェアの動作に必要なパラメータの設定が自動的に行われるので、ソフトウェア全ての配信が完了する前に動作が可能な状態となる。これにより、サーバから端末に配信して動作させようとするソフトウェアのファイルサイズが大きい場合であっても、ユーザが煩雑なパラメータ設定を一切行うことなく、ソフトウェアの動作可能な状態を短時間のうちに構築することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態によるソフトウェア配信システムのハードウェア構成例を示す図である。
【図２】本実施形態による配信エージェントの機能構成例を示すブロック図である。
【図３】本実施形態によるソフトウェア配信システムの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるソフトウェア配信システムのハードウェア構成例を示す図である。本実施形態によるソフトウェア配信システムは、サーバ１００とパソコンなどの端末２００とがインターネットなどの通信ネットワークを介して接続可能に構成されている。そして、本実施形態のソフトウェア配信システムは、サーバ１００から端末２００にソフトウェアを配信して必要なパラメータを設定することによって当該ソフトウェアの動作環境を構築するようになされている。
【００１５】
まず、サーバ１００の構成について説明する。図１に示すように、サーバ１００は、ハードディスク１０１、ＣＰＵ１０２、ＲＡＭ１０３および通信インタフェース１０４を備えている。ハードディスク１０１は、ソフトウェアの配信制御を行う配信エージェントプログラム（以下、単に配信エージェント１１という）、端末２００に配信すべきソフトウェア１２〜１４、端末２００に配信されたソフトウェア２２〜２４に対して各種パラメータを設定する際に使用するスクリプトファイル１５を記憶している。
【００１６】
ＣＰＵ１０２は、データ格納やプログラム実行のためのワークエリアとしてＲＡＭ１０３を利用しながら、ハードディスク１０１に格納された配信エージェント１１に従って動作することにより、ソフトウェア１２〜１４の配信制御（送信動作）を実行する。ソフトウェア１２〜１４の実際の送信は、通信インタフェース１０４を介して行う。
【００１７】
配信エージェント１１は、ソフトウェア１２〜１４の配信制御（送信動作）を行うためのプログラムである。配信エージェント１１は、端末２００側からソフトウェア１２〜１４の配信要求を受け取ったことをトリガとして、ソフトウェア１２〜１４の配信制御（送信動作）を実行する。なお、配信エージェント１１が有する機能の詳細については、図２を用いて後述する。
【００１８】
ソフトウェア１２〜１４は、オペレーティングシステム（ＯＳ）１２、アプリケーション１３およびデータベース１４をパッケージングしたソフトウェアコンポーネント群である。このソフトウェアコンポーネント群は、端末２００の基本ＯＳ（図示せず）上に仮想環境を構築するためのものである。このソフトウェアコンポーネント群を記憶するハードディスク１０１は、本発明のソフトウェア記憶部に相当する。
【００１９】
ハードディスク１０１に記憶されるソフトウェア１２〜１４は、アプリケーション１３の起動および最低限の基本動作に必要な基本機能部分とそれ以外の周辺機能部分とに分けられている。具体的には、ＯＳ１２、アプリケーション１３およびデータベース１４のそれぞれが、アプリケーション１３の起動および最低限の基本動作に必要な基本機能部分１２ａ，１３ａ，１４ａと、それ以外の周辺機能部分１２ｂ，１３ｂ，１４ｂとに分けてハードディスク１０１に記憶されている。
【００２０】
ここで言う「分けて記憶する」とは、基本機能部分１２ａ，１３ａ，１４ａと周辺機能部分１２ｂ，１３ｂ，１４ｂとを明確に異なる記憶領域に分けて記憶することでもよいし、ＯＳの基本情報やソフトウェアの拡張情報が保存される場所に記載されたファイルの管理情報を用いて基本機能部分１２ａ，１３ａ，１４ａと周辺機能部分１２ｂ，１３ｂ，１４ｂとを識別可能な状態で記憶することでもよい。
【００２１】
なお、上述した配信エージェント１１によるソフトウェア１２〜１４の送信は、基本機能部分１２ａ，１３ａ，１４ａと、それ以外の周辺機能部分１２ｂ，１３ｂ，１４ｂとに分けて順次行われる。また、基本機能部分１２ａ，１３ａ，１４ａおよび周辺機能部分１２ｂ，１３ｂ，１４ｂのそれぞれは、数キロバイトずつの複数の単位ファイルに分割されており、分割された複数の単位ファイルが順次送信されるようになっている。
【００２２】
スクリプトファイル１５は、端末２００に配信されたソフトウェア２２〜２４に対して設定すべきパラメータおよび当該パラメータの設定命令から成るパラメータ設定ファイルである。このスクリプトファイル１５は、端末２００の基本ＯＳ（図示せず）上で実行できるプログラムが収められた実行形式ファイルである。このスクリプトファイル１５を記憶するハードディスク１０１は、本発明の設定ファイル記憶部に相当する。
【００２３】
スクリプトファイル１５は、端末２００に仮想環境を構築する複数のユーザ毎に個別に用意されている。すなわち、スクリプトファイル１５は、個々のユーザ毎に固有の情報（例えば、ホストＩＤ、ＩＰアドレス、アプリケーションライセンスなどの各種パラメータ）を含んだものであり、複数のユーザに対応して複数のスクリプトファイル１５がハードディスク１０１に記憶されている。これに対し、ソフトウェア１２〜１４は、複数のユーザにおいて共通に使用される仮想環境であり、ハードディスク１０１に１組記憶されていれば十分である。
【００２４】
本実施形態では、ソフトウェア１２〜１４の提供者が、ＯＳ１２、アプリケーション１３およびデータベース１４をハードディスク１０１に記憶させた上で、個々のユーザに固有でない共通のパラメータを設定する。さらに、ＯＳ１２、アプリケーション１３およびデータベース１４を一括して配信するために所定のパッケージング処理を実施する。また、ソフトウェア１２〜１４の提供者が、端末２００で仮想環境を構築する複数のユーザにそれぞれ固有の各種パラメータを記述したスクリプトファイル１５を生成し、ハードディスク１０１に記憶させる。
【００２５】
次に、端末２００の構成について説明する。図１に示すように、端末２００は、ハードディスク２０１、ＣＰＵ２０２、ＲＡＭ２０３および通信インタフェース２０４を備えている。ハードディスク２０１は、配信エージェント２１、サーバ１００から配信されたソフトウェア２２〜２４、同じくサーバ１００から配信されたスクリプトファイル２５を記憶している。なお、ソフトウェア２２〜２４およびスクリプトファイル２５は、サーバ１００から端末２００に配信を受ける前はハードディスク２０１に記憶されていないことは言うまでもない。
【００２６】
ＣＰＵ２０２は、データ格納やプログラム実行のためのワークエリアとしてＲＡＭ２０３を利用しながら、ハードディスク２０１に格納された配信エージェント２１またはスクリプトファイル２５に従って動作することにより、ソフトウェア２２〜２４の配信制御（受信動作）やソフトウェア２２〜２４に対するパラメータ設定などの処理を実行する。ソフトウェア２２〜２４の実際の受信は、通信インタフェース２０４を介して行う。
【００２７】
配信エージェント２１は、ソフトウェア１２〜１４の配信制御（受信動作）を行うためのプログラムである。配信エージェント２１は、ソフトウェア１２〜１４の配信要求をサーバ１００に送信し、その応答として送信されてくるソフトウェア１２〜１４の配信制御（受信動作）を実行する。なお、配信エージェント２１が有する機能の詳細については、図２を用いて後述する。
【００２８】
上述したように、サーバ１００から端末２００に対するソフトウェア１２〜１４の送信は、基本機能部分１２ａ〜１４ａと周辺機能部分１２ｂ〜１４ｂとに分けて順次行われる。また、基本機能部分１２ａ，１３ａ，１４ａおよび周辺機能部分１２ｂ，１３ｂ，１４ｂのそれぞれは、複数の単位ファイルに分けて順次送信される。端末２００では、受信した複数の単位ファイルが配信エージェント２１によりアセンブルされるとともに、当該アセンブルによって構築された基本機能部分１２ａ〜１４ａと周辺機能部分１２ｂ〜１４ｂとがさらに配信エージェント２１によりアセンブルされ、その結果、インストールと同等の状態となる。
【００２９】
図１に示した端末２００のソフトウェア２２〜２４は、このアセンブルが行われた後の状態を示している。このようにしてサーバ１００から配信されたソフトウェア２２〜２４は、端末２００の基本ＯＳ（図示せず）上で動作することになる。なお、端末２００のハードディスク２０１に記憶されるスクリプトファイル２５は、配信元であるサーバ１００のハードディスク１０１に記憶されているスクリプトファイル１５と同じものである。
【００３０】
図１では、一人のユーザが使用する仮想環境として１組のソフトウェア２２〜２４および１つのスクリプトファイル２５を図示している。これに対し、複数のユーザが使用する複数の仮想環境を端末２００に構築する場合は、複数組のソフトウェア２２〜２４がハードディスク２０１に記憶される。また、それら複数組のソフトウェア２２〜２４に対応して、その動作に必要な各種パラメータを設定するためのスクリプトファイル２５もハードディスク２０１に複数記憶される。
【００３１】
次に、本実施形態による配信エージェント１１，２１が有する機能について説明する。図２は、配信エージェント１１，２１の機能構成例を示すブロック図である。図２において、送信制御部１は、サーバ１００の配信エージェント１１が有する機能構成である。また、受信制御部２およびパラメータ設定部３は、端末２００の配信エージェント２１が有する機能構成である。
【００３２】
なお、送信制御部１は、サーバ１００の配信エージェント１１がソフトウェア配信用プログラムとして備える送信制御手段に相当する。また、受信制御部２およびパラメータ設定部３は、端末２００の配信エージェント２１がソフトウェア配信用プログラムとして備える受信制御手段およびパラメータ設定手段にそれぞれ相当する。
【００３３】
送信制御部１は、サーバ１００のハードディスク１０１に記憶されているソフトウェア１２〜１４およびスクリプトファイル１５の送信を制御する。具体的には、送信制御部１は、受信制御部２からソフトウェア１２〜１４の配信要求を受け取ったときに、ソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５を優先して送信し、その後で周辺機能部分１２ｂ，１３ｂ，１４ｂを送信するように制御する。
【００３４】
サーバ１００のハードディスク１０１に記憶されている複数のスクリプトファイル１５のうち、どのスクリプトファイル１５を送信するかは、端末２００から送られてくる配信要求の中に含まれているユーザ固有の識別情報に基づいて判定する。
【００３５】
例えば、ソフトウェア１２〜１４の提供者がユーザ毎のスクリプトファイル１５を生成する際に、各ユーザに固有の識別情報をスクリプトファイル１５に記述しておく。あるいは、スクリプトファイル１５に関連付けて識別情報を記憶しておく。そして、端末２００の受信制御部２がソフトウェア１２〜１４の配信要求をサーバ１００に送信するときに、ユーザ固有の識別情報を配信要求の中に含ませて送るようにする。この配信要求を受け取ったサーバ１００の送信制御部１は、配信要求の中に含まれる識別情報をもとに、その識別情報に関連付けられているスクリプトファイル１５を特定して送信する。
【００３６】
受信制御部２は、ソフトウェア１２〜１４の配信要求をサーバ１００に送信する。そして、その応答としてサーバ１００からインターネット３００を介して送られてくるソフトウェア１２〜１４およびスクリプトファイル１５の受信を制御する。具体的には、受信制御部２は、ソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５を優先して受信し、その後で周辺機能部分１２ｂ，１３ｂ，１４ｂを受信するように制御する。
【００３７】
受信制御部２は、受信したソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａと周辺機能部分１２ｂ，１３ｂ，１４ｂ、およびスクリプトファイル１５をハードディスク２０１に記憶させる。このとき受信制御部２は、分割されて送信されてくる複数の単位ファイルを受信しながら同時にアセンブルを逐次行うことにより、基本機能部分１２ａ，１３ａ，１４ａおよび周辺機能部分１２ｂ，１３ｂ，１４ｂをハードディスク２０１上に構築する。
【００３８】
ソフトウェア１２〜１４の周辺機能部分１２ｂ，１３ｂ，１４ｂまで受信が完了したら、受信制御部２は、受信した基本機能部分１２ａ〜１４ａと周辺機能部分１２ｂ〜１４ｂとをハードディスク２０１上でアセンブルすることにより、インストールと同等の状態のソフトウェア２２〜２４にする。なお、受信したスクリプトファイル１５については、そのままスクリプトファイル２５としてハードディスク２０１に記憶させる。
【００３９】
パラメータ設定部３は、受信制御部２によりソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５の受信が完了したときに、当該スクリプトファイル１５を起動する。そして、スクリプトファイル１５に記述されている設定命令に従って各種パラメータをソフトウェア２２〜２４（正確には、基本機能部分１２ａ，１３ａ，１４ａのみが受信されてハードディスク２０１に記憶された状態のもの）に設定させるように制御する。
【００４０】
受信制御部２は、パラメータ設定部３により各種パラメータの設定が行われているバックグラウンドで、ソフトウェア１２〜１４の残りの部分である周辺機能部分１２ｂ，１３ｂ，１４ｂを受信するように制御する。
【００４１】
すなわち、サーバ１００側では、送信制御部１がソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５を優先して送信した後は、引き続いてソフトウェア１２〜１４の周辺機能部分１２ｂ，１３ｂ，１４ｂを送信するように制御する。
【００４２】
一方、端末２００側では、受信制御部２がソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５を受信した時点で、パラメータ設定部３が各種パラメータの設定を実行する。そのパラメータ設定動作と並行して、受信制御部２が周辺機能部分１２ｂ，１３ｂ，１４ｂの受信を引き続き実行する。
【００４３】
図３は、上記のように構成した本実施形態によるソフトウェア配信システムの動作例を示すフローチャートである。図３に示すフローチャートは、端末２００からサーバ１００に対してソフトウェア１２〜１４の配信要求が送られたときに開始する。
【００４４】
図３において、配信要求を受け取ったサーバ１００の配信エージェント１１（送信制御部１）は、ソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５をハードディスク１０１から読み出して送信し（基本機能部分１２ａ，１３ａ，１４ａについては単位ファイルごとに送信）、端末２００の配信エージェント２１（受信制御部２）はこれを受信する（ステップＳ１）。
【００４５】
受信制御部２は、基本機能部分１２ａ，１３ａ，１４ａの単位ファイルを受信しながら逐次アセンブルし（ステップＳ２）、基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５を受信し終えたか否かを判定する（ステップＳ３）。受信がまだ終わっていない場合は、ステップＳ１，Ｓ２の処理を継続する。一方、基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５を受信し終えたと判断した場合、端末２００の配信エージェント２１（パラメータ設定部３）は、スクリプトファイル１５を起動し（ステップＳ４）、当該スクリプトファイル１５の記述に従って各種パラメータの設定を行う（ステップＳ５）。
【００４６】
このパラメータの設定動作が行われるのと並行して、サーバ１００の配信エージェント１１（送信制御部１）は、ソフトウェア１２〜１４の周辺機能部分１２ｂ，１３ｂ，１４ｂをハードディスク１０１から読み出して単位ファイルごとに送信し、端末２００の配信エージェント２１（受信制御部２）はこれを受信する（ステップＳ６）。受信制御部２は、周辺機能部分１２ｂ，１３ｂ，１４ｂの単位ファイルを受信しながら逐次アセンブルし（ステップＳ７）、周辺機能部分１２ｂ，１３ｂ，１４ｂを受信し終えたか否かを判定する（ステップＳ８）。
【００４７】
周辺機能部分１２ｂ，１３ｂ，１４ｂの受信がまだ終わっていない場合は、ステップＳ６，Ｓ７の処理を継続する。一方、周辺機能部分１２ｂ，１３ｂ，１４ｂを受信し終えたと判断した場合、端末２００の配信エージェント２１は、基本機能部分１２ａ，１３ａ，１４ａと周辺機能部分１２ｂ，１３ｂ，１４ｂとをアセンブルしてソフトウェア２２〜２４を完成させる（ステップＳ９）。これにより、図３に示すフローチャートの処理を終了する。
【００４８】
以上詳しく説明したように、本実施形態では、アプリケーション１３の起動および最低限の基本動作に必要なソフトウェア１２〜１４の基本機能部分１２ａ，１３ａ，１４ａと、ソフトウェア１２〜１４に対して設定すべきパラメータおよび当該パラメータの設定命令から成るスクリプトファイル１５とを優先してサーバ１００から端末２００に配信する。そして、端末２００にて基本機能部分１２ａ，１３ａ，１４ａおよびスクリプトファイル１５の受信が完了したときに、スクリプトファイル１５を起動してソフトウェア１２〜１４に対する各種パラメータの設定を行うようにしている。
【００４９】
このように構成した本実施形態によれば、基本機能部分１２ａ，１３ａ，１４ａが優先して配信され、かつ、その配信が完了した時点で、ソフトウェア１２〜１４の動作に必要なパラメータの設定が自動的に行われるので、ソフトウェア１２〜１４全ての配信が完了する前に動作が可能な状態となる。これにより、サーバ１００から端末２００に配信して動作させようとするソフトウェア１１〜１４のファイルサイズが大きい場合であっても、ユーザが煩雑なパラメータ設定を一切行うことなく、ソフトウェア１２〜１４の動作環境を短時間のうちに構築することができる。
【００５０】
また、本実施形態では、複数のユーザで共通に使用可能な汎用的なソフトウェア１２〜１４に関してはサーバ１００のハードディスク１０１に１つのみ用意し、個々のユーザに固有の情報（各種パラメータ）は複数のスクリプトファイル１５として別に用意している。仮に、ＯＳ１２、アプリケーション１３およびデータベース１４に加えてユーザに固有の情報も含めてパッケージングすると、複数のユーザに対応して複数のパッケージを生成する必要がある。一般的に、パッケージング処理には長時間を要するが、本実施形態では、複数のユーザで共用可能なソフトウェア１２〜１４に関してのみパッケージングしているので、パッケージング処理が１回で済むというメリットも有する。
【００５１】
なお、上記実施形態では、スクリプトファイル１５の起動を自動的に行う例について説明したが、本発明はこの例に限定されない。例えば、スクリプトファイル１５の受信が完了した時点で起動アイコンを端末２００の画面に表示させる。そして、端末２００のユーザがこの起動アイコンをクリックしたときに、スクリプトファイル１５を起動するようにしてもよい。
【００５２】
また、上記実施形態では、サーバ１００から端末２００に配信するソフトウェアとして、端末２００に仮想環境を構築するためのソフトウェアコンポーネント群（ＯＳ１２、アプリケーション１３、データベース１４の一式）を用いる例について説明したが、ソフトウェアはこれに限定されない。例えば、配信するソフトウェアはアプリケーションの単体であってもよい。アプリケーションのファイルサイズが単体でも大きい場合には、本実施形態を適用するメリットがある。
【００５３】
また、上記実施形態では、端末２００がパソコンである例について説明したが、端末２００はこれに限定されない。例えば、通信機能を有する携帯電話機やゲーム機、携帯情報端末（ＰＤＡ）、携帯電話機能とＰＤＡ機能とを備えたスマートフォンやタブレット端末などを端末２００として用いてもよい。
【００５４】
また、上記実施形態では、ソフトウェア配信用プログラムに相当する配信エージェント１１，２１がハードディスク１０１，２０１に記憶される例について説明したが、本発明はこれに限定されない。例えば、配信エージェント１１，２１は、サーバ１００および端末２００が備えるＲＯＭにそれぞれ記憶するようにしてもよい。
【００５５】
また、上記実施形態では、配信エージェント１１，２１がハードディスク１０１，２０１にあらかじめ記憶されている例について説明したが、本発明はこれに限定されない。例えば、配信エージェント１１，２１を例えばＣＤ、ＤＶＤ、不揮発性メモリのような記録媒体に記録し、これをサーバ１００および端末２００に読み込ませることによってハードディスク１０１，２０１にインストールするようにしてもよい。また、配信エージェント１１，２１をインターネット等の通信ネットワークを介してサーバ１００および端末２００にダウンロードするようにしてもよい。
【００５６】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５７】
１  送信制御部
２  受信制御部
３  パラメータ設定部
１１，２１  配信エージェント（ソフトウェア配信用プログラム）
１２  ＯＳ
１３  アプリケーション
１４  データベース
１５  スクリプトファイル（パラメータ設定ファイル）
１２ａ，１３ａ，１４ａ  基本機能部分
１２ｂ，１３ｂ，１４ｂ  周辺機能部分
１００  サーバ
２００  端末
【図１】
0005840892.tif 000002
【図２】
0005840892.tif 000003
【図３】
0005840892.tif 000004