(57)【要約】【課題】自動実行することを想定していない既存のアプリケーションプログラムを、修正なしに自動実行する。【解決手段】起動情報入力部１１０がプログラム所在情報・リソース所在情報・リソース配置情報を入力する。プログラム所在情報・リソース所在情報に基づいて、ダウンロード部１２０がインターネット上からアプリケーションプログラム・リソースを取得する。リソース配置情報に基づいて、領域設定部１３０がリソース記憶領域７０２を設定し、ファイル配置部１４０がリソース記憶領域７０２にリソースを記憶する。プログラム実行部１７０がアプリケーションプログラムを実行し、リソース利用部１６０がリソース記憶領域７０２に記憶したリソースを利用させる。【選択図】図４
2009104250.tif 000002
【特許請求の範囲】
【請求項１】
情報を処理する処理装置と、情報を記憶する記憶装置と、起動情報入力部と、プログラム取得部と、プログラム記憶部と、リソース取得部と、リソース配置部と、プログラム実行部とを有し、
上記起動情報入力部は、上記処理装置を用いて、実行すべきアプリケーションプログラムがネットワーク上に存在する場所を記述したプログラム所在情報と、上記アプリケーションプログラムが利用するリソースが上記ネットワーク上に存在する場所を記述したリソース所在情報と、上記アプリケーションプログラムが上記リソースを利用する際に上記リソースが存在すべき上記記憶装置内の場所を記述したリソース配置情報とを入力し、
上記プログラム取得部は、上記処理装置を用いて、上記起動情報入力部が入力したプログラム所在情報に基づいて、上記ネットワーク上からアプリケーションプログラムを取得し、
上記プログラム記憶部は、上記記憶装置を用いて、上記プログラム取得部が取得したアプリケーションプログラムを記憶し、
上記リソース取得部は、上記処理装置を用いて、上記起動情報入力部が入力したリソース所在情報に基づいて、上記ネットワーク上からリソースを取得し、
上記リソース配置部は、上記記憶装置を用いて、上記起動情報入力部が入力したリソース配置情報に基づいて、上記リソース取得部が取得したリソースを記憶し、
上記プログラム実行部は、上記処理装置を用いて、上記プログラム記憶部が記憶したアプリケーションプログラムを実行する
ことを特徴とする実行装置。
【請求項２】
上記実行装置は、更に、領域設定部と、リソース利用部とを有し、
上記領域設定部は、上記記憶装置を用いて、上記リソースを記憶するための領域を設定し、
上記リソース配置部は、上記記憶装置を用いて、上記起動情報入力部が入力したリソース配置情報に基づいて、上記領域設定部が設定した領域に上記リソース取得部が取得したリソースを記憶し、
上記リソース利用部は、上記処理装置を用いて、上記プログラム実行部が実行するアプリケーションプログラムに、上記領域設定部が設定した領域に記憶したリソースを利用させる
ことを特徴とする請求項１に記載の実行装置。
【請求項３】
情報を処理する処理装置と、情報を記憶する記憶装置と、起動情報入力部と、プログラム取得部と、プログラム記憶部と、領域設定部と、リソース取得部と、リソース配置部と、プログラム実行部とを有し、
上記起動情報入力部は、上記処理装置を用いて、実行すべきアプリケーションプログラムがインターネット上に存在する場所を記述したプログラムＵＲＬ情報と、上記アプリケーションプログラムが利用するリソースが上記インターネット上に存在する場所を記述したリソースＵＲＬ情報と、上記アプリケーションプログラムが上記リソースを利用する際に上記リソースが存在すべき上記記憶装置内の場所を記述したディレクトリマッピング情報とを入力し、
上記プログラム取得部は、上記処理装置を用いて、上記起動情報入力部が入力したプログラムＵＲＬ情報が記述したインターネット上の場所から、アプリケーションプログラムをダウンロードして取得し、
上記プログラム記憶部は、上記記憶装置を用いて、上記プログラム取得部が取得したアプリケーションプログラムを記憶し、
上記領域設定部は、上記記憶装置を用いて、仮想ディレクトリを生成し、上記リソースを記憶するための領域として、生成した仮想ディレクトリを設定し、
上記リソース取得部は、上記処理装置を用いて、上記起動情報入力部が入力したリソースＵＲＬ情報が記述したインターネット上の場所から、リソースをダウンロードして取得し、
上記リソース配置部は、上記記憶装置を用いて、上記起動情報入力部が入力したディレクトリマッピング情報が記述した記憶装置内の場所に対応して、上記領域設定部が生成した仮想ディレクトリからの相対パスにより指定される場所に、上記リソース取得部が取得したリソースを記憶し、
上記プログラム実行部は、上記処理装置を用いて、上記プログラム記憶部が記憶したアプリケーションプログラムを実行し、
上記リソース利用部は、上記処理装置を用いて、上記プログラム実行部が実行するアプリケーションプログラムから、上記アプリケーションプログラムが利用しようとする上記記憶装置内に存在するリソースの場所を記述した利用リソースパス情報を取得し、取得した利用リソースパス情報が記述した場所に対応して、上記領域設定部が生成した仮想ディレクトリからの相対パスにより指定される場所から、リソースを取得し、取得したリソースを上記アプリケーションプログラムに利用させる
ことを特徴とする実行装置。
【請求項４】
上記実行装置は、更に、信頼性判定部を有し、
上記信頼性判定部は、上記処理装置を用いて、上記プログラム記憶部が記憶したアプリケーションプログラムが信頼できるか否かを判定し、
上記リソース利用部は、上記処理装置を用いて、上記プログラム記憶部が記憶したアプリケーションプログラムが信頼できないと上記信頼性判定部が判定した場合、上記プログラム実行部が実行するアプリケーションプログラムに、上記領域設定部が設定した領域以外に記憶したリソースを利用させない
ことを特徴とする請求項２または請求項３に記載の実行装置。
【請求項５】
上記起動情報入力部は、上記処理装置を用いて、更に、上記ネットワーク上に存在する書庫ファイルのなかに上記アプリケーションプログラムが利用するリソースが圧縮された形式で存在する場合に上記リソースをあらかじめ解凍しておくか否かを記述したリソース解凍情報を入力し、
上記リソース取得部は、上記処理装置を用いて、上記起動情報入力部が入力したリソース所在情報に基づいて、上記ネットワーク上から上記リソースを含む書庫ファイルを取得し、上記起動情報入力部が入力したリソース解凍情報に基づいて、取得した書庫ファイルを解凍して上記リソースを取得する
ことを特徴とする請求項１乃至請求項４のいずれかに記載の実行装置。
【請求項６】
情報を処理する処理装置と情報を記憶する記憶装置とを有するコンピュータを、請求項１乃至請求項５のいずれかに記載の実行装置として機能させることを特徴とするプログラム。
【請求項７】
情報を処理する処理装置と情報を記憶する記憶装置とを有する実行装置がアプリケーションプログラムを実行する実行方法において、
上記処理装置が、実行すべきアプリケーションプログラムがネットワーク上に存在する場所を記述したプログラム所在情報と、上記アプリケーションプログラムが利用するリソースが上記ネットワーク上に存在する場所を記述したリソース所在情報と、上記アプリケーションプログラムが上記リソースを利用する際に上記リソースが存在すべき上記記憶装置内の場所を記述したリソース配置情報とを入力し、
上記処理装置が、入力したプログラム所在情報に基づいて、上記ネットワーク上からアプリケーションプログラムを取得し、
上記記憶装置が、上記処理装置が取得したアプリケーションプログラムを記憶し、
上記処理装置が、入力したリソース所在情報に基づいて、上記ネットワーク上からリソースを取得し、
上記記憶装置が、上記処理装置が入力したリソース配置情報に基づいて、上記処理装置が取得したリソースを記憶し、
上記処理装置が、上記記憶装置が記憶したアプリケーションプログラムを実行する
ことを特徴とする実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に存在するアプリケーションプログラムを取得して実行する実行装置に関する。
【背景技術】
【０００２】
ウェブブラウザ（以下「ブラウザ」）は、インターネットなどのネットワークを介して、サーバ装置からＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルを取得し、取得したＨＴＭＬファイルが記述した画面（いわゆるホームページ）を表示する。
ホームページには、リンクと呼ばれる部分があり、ホームページの閲覧者がリンクをクリックするなどして、リンクに関連づけられた動作をブラウザに実行させることができる。
リンクに関連づけられた動作には、ブラウザに他のホームページを表示させる動作や、アプレットと呼ばれる小規模なプログラムをブラウザに実行させる動作などがある。また、ブラウザと異なるプログラムを起動して実行させることもできる。
【０００３】
例えば、アプリケーションプログラムを自動的にダウンロードし、実行環境を整えて実行する自動実行プログラムをリンクに関連づければ、利用者は、面倒なインストール作業などをせず、ホームページ上に表示されるリンクをクリックするだけで、様々なアプリケーションプログラムを実行できる（例えば、特許文献１）。
【特許文献１】特表２００３−５２１０３６号公報
【特許文献２】特開平１０−９１４４６号公報
【特許文献３】特開２００４−３５５４１３号公報
【特許文献４】特開２００４−２３４３４５号公報
【特許文献５】特開２００１−３２５１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような技術は、利用者にとって便利である反面、意図せずに悪意あるアプリケーションプログラムを実行してしまう危険を孕む。そのため、自動実行されるアプリケーションプログラムは、利用者のコンピュータが記憶した資源の一部しか利用できない隔離された環境で実行され、悪意あるアプリケーションプログラムが、利用者のコンピュータに保存されたファイルなどを読み取ることを防ぐなどの対策が必要である。
【０００５】
このように、自動実行されるアプリケーションプログラムの実行環境は、手動でインストールして実行する通常のアプリケーションプログラムの実行環境と異なる。したがって、通常のアプリケーションプログラムをそのまま自動実行されるアプリケーションプログラムとして使用できず、修正が必要になる場合がある。このため、既存のアプリケーションプログラムを修正する手間（もしくは修正せずに使用できることを確認する手間）がかかる。
【０００６】
この発明は、例えば、上記のような課題を解決するためになされたものであり、自動実行を想定せずに開発された既存のアプリケーションプログラムを修正せず、そのままの形で自動実行できる実行装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明にかかる実行装置は、
情報を処理する処理装置と、情報を記憶する記憶装置と、起動情報入力部と、プログラム取得部と、プログラム記憶部と、リソース取得部と、リソース配置部と、プログラム実行部とを有し、
上記起動情報入力部は、上記処理装置を用いて、実行すべきアプリケーションプログラムがネットワーク上に存在する場所を記述したプログラム所在情報と、上記アプリケーションプログラムが利用するリソースが上記ネットワーク上に存在する場所を記述したリソース所在情報と、上記アプリケーションプログラムが上記リソースを利用する際に上記リソースが存在すべき上記記憶装置内の場所を記述したリソース配置情報とを入力し、
上記プログラム取得部は、上記処理装置を用いて、上記起動情報入力部が入力したプログラム所在情報に基づいて、上記ネットワーク上からアプリケーションプログラムを取得し、
上記プログラム記憶部は、上記記憶装置を用いて、上記プログラム取得部が取得したアプリケーションプログラムを記憶し、
上記リソース取得部は、上記処理装置を用いて、上記起動情報入力部が入力したリソース所在情報に基づいて、上記ネットワーク上からリソースを取得し、
上記リソース配置部は、上記記憶装置を用いて、上記起動情報入力部が入力したリソース配置情報に基づいて、上記リソース取得部が取得したリソースを記憶し、
上記プログラム実行部は、上記処理装置を用いて、上記プログラム記憶部が記憶したアプリケーションプログラムを実行することを特徴とする。
【発明の効果】
【０００８】
この発明にかかる実行装置によれば、アプリケーションプログラムが利用するリソースを、リソース取得部がネットワーク上から取得し、リソース配置部が記憶装置を用いて記憶して、プログラム実行部がアプリケーションプログラムを実行するので、アプリケーションプログラムになんらの修正を加えることなく、アプリケーションプログラムがリソースを利用できるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
実施の形態１について、図１〜図１３を用いて説明する。
【００１０】
図１は、この実施の形態における自動実行システム８００の全体構成の一例を示すシステム構成図である。
自動実行システム８００は、サーバ装置３００が記憶したアプリケーションプログラム５２１を、実行装置１００がインターネット９４０などのネットワークを介してダウンロードし、実行するシステムである。
アプリケーションプログラム５２１は、様々なリソース５３１〜５３３を利用する。リソース５３１〜５３３には、例えば、画像データなどやクラス定義ファイルなどがある。
起動情報５１１は、アプリケーションプログラム５２１を実行するためにダウンロードすべきアプリケーションプログラム５２１やリソース５３１〜５３３を記述した情報である。
なお、アプリケーションプログラム５２１及びリソース５３１〜５３３は、同一のサーバ装置３００が記憶している必要はなく、異なるサーバ装置３００が分散して記憶していてもよい。
また、アプリケーションプログラム５２１やリソース５３１〜５３３は、単独のファイルとしてサーバ装置３００が記憶していてもよいし、複数のファイルをまとめて圧縮した形式のファイル（ＪＡＲファイル）としてサーバ装置３００が記憶していてもよい。
【００１１】
実行装置１００は、サーバ装置３００から起動情報５１１を取得し、取得した起動情報５１１にしたがって、アプリケーションプログラム５２１やリソース５３１〜５３３をダウンロードして記憶する。その後、実行装置１００は、アプリケーションプログラム５２１を実行する。実行装置１００で実行されるアプリケーションプログラム５２１は、実行装置１００が記憶したリソース５３１〜５３３を利用する。このため、アプリケーションプログラム５２１を実行する時点において、実行装置１００は、必ずしもインターネット９４０に接続している必要はない。
【００１２】
図２は、この実施の形態における実行装置１００の外観の一例を示す図である。
実行装置１００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【００１３】
図３は、この実施の形態における実行装置１００のハードウェア資源の一例を示す図である。
実行装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１４】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１５】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１６】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１７】
図４は、この実施の形態における実行装置１００の機能ブロックの構成の一例を示すブロック構成図である。
実行装置１００は、起動情報入力部１１０、ダウンロード部１２０、領域設定部１３０、ファイル配置部１４０、信頼性判定部１５０、リソース利用部１６０、プログラム実行部１７０を有する。
【００１８】
起動情報入力部１１０は、ＣＰＵ９１１などの処理装置を用いて、起動情報５１１を入力する。
起動情報５１１には、プログラム所在情報と、リソース所在情報と、リソース配置情報とが含まれる。
プログラム所在情報とは、実行すべきアプリケーションプログラム５２１がネットワーク上に存在する場所を記述した情報である。実行装置１００は、プログラム所在情報に基づいてアプリケーションプログラム５２１を取得する。プログラム所在情報は、例えば、アプリケーションプログラム５２１のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。
リソース所在情報とは、アプリケーションプログラム５２１が利用するリソース５３１〜５３３がネットワーク上に存在する場所を記述した情報である。実行装置１００は、リソース所在情報に基づいてリソース５３１〜５３３を取得する。リソース所在情報は、例えば、リソース５３１〜５３３のＵＲＬである。
リソース配置情報とは、リソース５３１〜５３３が存在すべき磁気ディスク装置９２０（記憶装置）内の場所を記述した情報である。リソース配置情報は、例えば、パス名である。アプリケーションプログラム５２１がパス名を用いてリソース５３１〜５３３にアクセスする場合、そのパス名が示す場所にリソース５３１〜５３３が存在しなければアクセスに失敗し、アプリケーションプログラム５２１を正常に実行できない場合がある。リソース配置情報は、アプリケーションプログラム５２１を正常に実行するためには、リソース５３１〜５３３が磁気ディスク装置９２０内のどこにあればよいかを示す。
【００１９】
ダウンロード部１２０（プログラム取得部・リソース取得部）は、ＣＰＵ９１１などの処理装置を用いて、ネットワーク上からアプリケーションプログラム５２１やリソース５３１〜５３３を取得する。ダウンロード部１２０は、起動情報入力部１１０が入力した起動情報５１１に含まれるプログラム所在情報やリソース所在情報に基づいて、アプリケーションプログラム５２１やリソース５３１〜５３３を取得する。例えば、ダウンロード部１２０は、プログラム所在情報やリソース所在情報に基づいて、アプリケーションプログラム５２１やリソース５３１〜５３３を記憶したサーバ装置３００を判別し、判別したサーバ装置３００に対して、アプリケーションプログラム５２１やリソース５３１〜５３３の送信を要求し、要求に応えてサーバ装置３００が送信したアプリケーションプログラム５２１やリソース５３１〜５３３を受信することにより、アプリケーションプログラム５２１やリソース５３１〜５３３を取得する。
【００２０】
領域設定部１３０は、磁気ディスク装置９２０（記憶装置）を用いて、リソース５３１〜５３３を記憶するためのリソース記憶領域７０２を設定する。領域設定部１３０は、例えば、起動情報入力部１１０が入力した起動情報５１１に含まれるリソース配置情報に基づいて、仮想ディレクトリを生成し、生成した仮想ディレクトリをリソース記憶領域７０２として設定する。仮想ディレクトリとは、アプリケーションプログラム５２１から見える磁気ディスク装置９２０のディレクトリ構造であって、磁気ディスク装置９２０の実際のディレクトリ構造とは異なる。
例えば、リソース配置情報がクラスパスが通ったディレクトリを基準とした相対パス名である場合、領域設定部１３０は、磁気ディスク装置９２０にサブディレクトリを生成し、生成したサブディレクトリの下に、アプリケーションプログラム５２１が想定している磁気ディスク装置９２０のディレクトリ構造と同じディレクトリ構造を生成する。
【００２１】
ファイル配置部１４０は、磁気ディスク装置９２０（記憶装置）を用いて、ダウンロード部１２０が取得したアプリケーションプログラム５２１やリソース５３１〜５３３を記憶する。ファイル配置部１４０は、磁気ディスク装置９２０内のプログラム記憶領域７０３に、アプリケーションプログラム５２１を記憶する。また、ファイル配置部１４０は、磁気ディスク装置９２０内に領域設定部１３０が設定したリソース記憶領域７０２にリソース５３１〜５３３を記憶する。
ファイル配置部１４０は、リソース配置情報に基づいて、リソース５３１〜５３３をリソース記憶領域７０２内に配置する。例えば、リソース配置情報がクラスパスが通ったディレクトリを基準とした相対パス名である場合、ファイル配置部１４０は、領域設定部１３０が生成したサブディレクトリを基準として、リソース配置情報が示す場所に対応する場所に、リソース５３１〜５３３を配置する。
これにより、アプリケーションプログラム５２１が、クラスパスが通ったディレクトリを基準とする相対パス名でリソース５３１〜５３３にアクセスしようとした場合、基準となるディレクトリを領域設定部１３０が生成したサブディレクトリに変えれば、アプリケーションプログラム５２１は、リソース５３１〜５３３にアクセスできる。
【００２２】
磁気ディスク装置９２０内には、ローカル記憶領域７０１、リソース記憶領域７０２、プログラム記憶領域７０３がある。
ローカル記憶領域７０１は、アプリケーションプログラム５２１以外の他のプログラムが利用するファイルなどを記憶している領域である。
リソース記憶領域７０２は、上述したように領域設定部１３０が設定した領域であり、リソース５３１〜５３３を記憶する領域である。
プログラム記憶領域７０３は、ファイル配置部１４０がアプリケーションプログラム５２１を記憶する領域である。
【００２３】
信頼性判定部１５０は、ＣＰＵ９１１などの処理装置を用いて、ダウンロード部１２０が取得し、ファイル配置部１４０がプログラム記憶領域７０３に記憶したアプリケーションプログラム５２１が信頼できるか否かを判定する。信頼性判定部１５０は、例えば、アプリケーションプログラム５２１の署名を検証することにより、アプリケーションプログラム５２１が信頼できるか否かを判定する。
【００２４】
アプリケーションプログラム５２１は、インターネット９４０からダウンロードされたプログラムなので、ローカル記憶領域７０１にあるファイルから情報を盗もうとしたりウィルスを仕掛けようとしたりする悪意あるプログラムである可能性がある。
そのため、実行装置１００は、信頼性判定部１５０が信頼できないと判定したアプリケーションプログラム５２１には、ローカル記憶領域７０１へのアクセスを制限する。
これに対し、信頼性判定部１５０が信頼できると判定したアプリケーションプログラム５２１には、ローカル記憶領域７０１へのアクセスを許可する。なお、信頼の度合いに応じて、ローカル記憶領域７０１全域へのアクセスを許可したり、一部へのアクセスだけを許可したりすることとしてもよい。
【００２５】
プログラム実行部１７０は、ＣＰＵ９１１などの処理装置を用いて、ファイル配置部１４０がプログラム記憶領域７０３に記憶したアプリケーションプログラム５２１を実行する。
なお、アプリケーションプログラム５２１の起動に失敗するなどした場合、プログラム実行部１７０は、ＣＰＵ９１１などの処理装置を用いて、エラー処理を行う。
【００２６】
リソース利用部１６０は、ＣＰＵ９１１などの処理装置を用いて、プログラム実行部１７０が実行するアプリケーションプログラム５２１が利用しようとするリソース５３１〜５３３を、リソース記憶領域７０２から読み込んで、アプリケーションプログラム５２１が利用できるようにする。また、信頼性判定部１５０が信頼できると判定したアプリケーションプログラム５２１がローカル記憶領域７０１にあるファイルなどにアクセスしようとした場合、ローカル記憶領域７０１からファイルなどを読み込んで、アプリケーションプログラム５２１が利用できるようにする。信頼性判定部１５０が信頼できないと判定したアプリケーションプログラム５２１がローカル記憶領域７０１にあるファイルなどにアクセスしようとした場合には、リソース利用部１６０は、ローカル記憶領域７０１にあるファイルなどを読み込まず、アプリケーションプログラム５２１に利用させない。
【００２７】
なお、この例では、信頼性判定部１５０の判定結果に基づいて、プログラム実行部１７０が実行するアプリケーションプログラム５２１によるリソースの利用をリソース利用部１６０が制限しているが、アプリケーションプログラム５２１が信頼できない場合は、プログラム実行部１７０がアプリケーションプログラム５２１を実行しないよう構成してもよい。
【００２８】
図５は、この実施の形態におけるアプリケーション実行の契機の一例を示す図である。
この実施の形態におけるアプリケーションの実行は、例えば、ブラウザなどが表示したリンクを利用者がクリックすることにより開始される。
【００２９】
「＜ａ  ｈｒｅｆ＝“ｈｔｔｐ：／／ａｂｃ．ｃｏ．ｊｐ／ｄｅｆ．ｊｎｌｐ”＞アプリケーション実行＜／ａ＞」という記述を含むＨＴＭＬファイル６０１を、ブラウザなどが表示すると、表示装置９０１は「アプリケーション実行」という文字を表示する。利用者がこの表示をクリックすると、アプリケーションの実行が始まる。
【００３０】
まず、ブラウザは、ＵＲＬ「ｈｔｔｐ：／／ａｂｃ．ｃｏ．ｊｐ／ｄｅｆ．ｊｎｌｐ」で示されるファイルをダウンロードする。すなわち、「ａｂｃ．ｃｏ．ｊｐ」という名前で識別されるサーバ装置３００と、ＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）による通信をして、ファイル「ｄｅｆ．ｊｎｌｐ」の送信を要求する。ブラウザは、この要求に応じてサーバ装置３００が送信したファイル「ｄｅｆ．ｊｎｌｐ」を受信し、ＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎ）タイプから、ファイル「ｄｅｆ．ｊｎｌｐ」を処理するヘルパーアプリケーションを判別する。
ブラウザは、判別結果に基づいて、起動情報入力部１１０にファイル「ｄｅｆ．ｊｎｌｐ」を入力させる。
【００３１】
図６は、この実施の形態における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図である。
起動情報入力部１１０は、ＪＮＬＰ入力部１１１、ＪＮＬＰ記憶部１１２、ＪＮＬＰ解析部１１３、配置情報入力部１１４、配置情報記憶部１１５を有する。
ダウンロード部１２０は、要求送信部１２１、ファイル受信部１２２を有する。
【００３２】
ＪＮＬＰ入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、ブラウザから与えられたＪＮＬＰファイル６０２「ｄｅｆ．ｊｎｌｐ」を入力する。
ＪＮＬＰファイル６０２は、サーバ装置３００からダウンロードすべきアプリケーションプログラム５２１やリソース５３１〜５３３やディレクトリマッピングファイルなどに関する情報や、アプリケーションプログラム５２１の起動オプションなどを記述したものである。
ＪＮＬＰ記憶部１１２は、磁気ディスク装置９２０などの記憶装置を用いて、ＪＮＬＰ入力部１１１が入力したＪＮＬＰファイル６０２を記憶する。
ＪＮＬＰ解析部１１３は、ＣＰＵ９１１などの処理装置を用いて、ＪＮＬＰ記憶部１１２が記憶したＪＮＬＰファイル６０２を解析する。
この例において、ＪＮＬＰ解析部１１３は、ＪＮＬＰファイル６０２を解析して、ディレクトリマッピングファイル６０３「ｇｈｉ．ｔｘｔ」、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」のダウンロードが必要であることを判別する。
【００３３】
要求送信部１２１は、ＣＰＵ９１１などの処理装置を用いて、ＪＮＬＰ解析部１１３がＪＮＬＰファイル６０２を解析した結果に基づいて、ダウンロードが必要なファイルの送信を要求する情報を、サーバ装置３００に対して送信する。
なお、同じファイルが既にダウンロードされている場合、要求送信部１２１は、ＣＰＵ９１１などの処理装置を用いて、版の更新があるか否かを判定し、更新されている場合のみ、送信要求を送信することとしてもよい。
【００３４】
ファイル受信部１２２は、ＣＰＵ９１１などの処理装置を用いて、要求送信部１２１が送信した要求に応じてサーバ装置３００が送信したファイル（ディレクトリマッピングファイル６０３「ｇｈｉ．ｔｘｔ」、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」）を受信する。
なお、ＵＲＬが間違っているなどして、ファイル受信部１２２がファイルの受信に失敗した場合、ファイル受信部１２２は、ＣＰＵ９１１などの処理装置を用いて、エラー処理を行う。
【００３５】
配置情報入力部１１４は、ＣＰＵ９１１などの処理装置を用いて、配置情報を入力する。
この例において、配置情報入力部１１４は、ファイル受信部１２２が受信したディレクトリマッピングファイル６０３を入力する。
ディレクトリマッピングファイル６０３は、配置情報を含み、例えば、リソース５３１〜５３３と、ディレクトリとの対応付けを記述したものである。
なお、配置情報は、ＪＮＬＰファイル６０２に含まれていてもよい。その場合、配置情報入力部１１４は、ＪＮＬＰ解析部１１３がＪＮＬＰファイル６０２を解析した結果から、配置情報を入力する。
【００３６】
配置情報記憶部１１５は、磁気ディスク装置９２０などの記憶装置を用いて、配置情報入力部１１４が入力した配置情報を記憶する。
【００３７】
図７は、この実施の形態における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図である。
領域設定部１３０は、配置情報解析部１３１、ディレクトリ生成部１３２を有する。
ファイル配置部１４０は、ファイル解凍部１４１、ファイル格納部１４２を有する。
【００３８】
配置情報解析部１３１は、ＣＰＵ９１１などの処理装置を用いて、配置情報記憶部１１５が記憶した配置情報（ディレクトリマッピングファイル６０３）を解析する。
【００３９】
ディレクトリ生成部１３２は、ＣＰＵ９１１などの処理装置を用いて、配置情報解析部１３１が配置情報を解析した結果に基づいて、磁気ディスク装置９２０に仮想ディレクトリを生成する。
例えば、ディレクトリ生成部１３２は、サブディレクトリ６１１「ＶＭ」の下に、サブディレクトリ６１３「ＶＤｉｒ」を生成する。なお、サブディレクトリ６１３「ＶＤｉｒ」が既に存在する場合は、内容を消去して再利用してもよい。次に、ディレクトリ生成部１３２は、配置情報解析部１３１の解析結果に基づいて、生成したサブディレクトリ６１３の下にサブディレクトリ６２１「ｅｔｃ」を生成し、更に、生成したサブディレクトリ６２１の下にサブディレクトリ６２２「ｉｃｏｎ」を生成する。
このようにして、ディレクトリ生成部１３２は、ディレクトリマッピングファイル６０３に記述されたディレクトリ構造と同じディレクトリ構造を、サブディレクトリ６１３「ＶＤｉｒ」の下に生成する。
【００４０】
ファイル解凍部１４１は、ＣＰＵ９１１などの処理装置を用いて、ファイル受信部１２２が受信したファイル（ＪＡＲファイル６０４「ｊｋｌ．ｂａｒ」、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」）を解凍する。
解凍とは、ファイル受信部１２２が受信したファイルが、１以上のリソースを圧縮した書庫ファイルである場合、そのなかからリソースを復元して取得することである。
なお、ファイル解凍部１４１は、ファイル受信部１２２が受信したファイルのうち、書庫ファイルであるファイルをすべて解凍してもよいし、指定された書庫ファイルのみを解凍してもよい。書庫ファイルを解凍するか否かは、例えば、ＪＮＬＰファイル６０２内に「ｕｎｃｏｍｐｒｅｓｓ＝”ｔｒｕｅ”」または「ｕｎｃｏｍｐｒｅｓｓ＝”ｆａｌｓｅ”」という記述（リソース解凍情報）を加えることにより指定する。
また、書庫ファイルを解凍した場合、その書庫ファイルに含まれるすべてのリソースを取り出してもよいし、指定されたリソースだけを取り出してもよい。例えば、ディレクトリマッピングファイル６０３において、仮想ディレクトリ内に配置する必要があるリソースを指定し、ファイル解凍部１４１は、指定されたリソースを書庫ファイルから取得する。
【００４１】
ファイル格納部１４２は、磁気ディスク装置９２０（記憶装置）を用いて、ファイル受信部１２２が受信したファイルやファイル解凍部１４１が解凍して取得したリソースを記憶する。ファイル格納部１４２は、ディレクトリマッピングファイル６０３で格納場所を指定されたリソースについて、ディレクトリ生成部１３２が生成したサブディレクトリ内の対応する場所に記憶する。
【００４２】
例えば、この例において、ディレクトリマッピングファイル６０３は、書庫ファイル「ｊｋｌ．ｊａｒ」を解凍して取得したリソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」と、書庫ファイル「ｍｎｏ．ｊａｒ」を解凍して取得したリソース「Ｂｂｂ．ｄｏｔ」とを、クラスパスが通ったディレクトリに配置し、書庫ファイル「ｍｎｏ．ｊａｒ」を解凍して取得したリソース「ｆｏｌｄｅｒ．ｊｐｇ」を、クラスパスが通ったディレクトリのサブディレクトリ「ｅｔｃ」の更にサブディレクトリ「ｉｃｏｎ」に配置すべきことを示している。
【００４３】
これを受けて、ファイル解凍部１４１は、ＣＰＵ９１１などの処理装置を用いて、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」を解凍して、リソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」を取得し、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」を解凍して、リソース「Ｂｂｂ．ｄｏｔ」及びリソース「ｆｏｌｄｅｒ．ｊｐｇ」を取得する。ファイル格納部１４２は、磁気ディスク装置９２０を用いて、ファイル解凍部１４１が取得したリソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」とリソース「Ｂｂｂ．ｄｏｔ」とを、ディレクトリ生成部１３２が生成したサブディレクトリ６１３「ＶＤｉｒ」内のリソースファイル６３１「Ａａａ．ｐｒｏｐｅｅｒｔｉｅｓ」及びリソースファイル６３２「Ｂｂｂ．ｄｏｔ」として記憶し、ファイル解凍部１４１が取得したリソース「ｆｏｌｄｅｒ．ｊｐｇ」を、ディレクトリ生成部１３２が生成したサブディレクトリ６２２「ｉｃｏｎ」内のリソースファイル６３３「ｆｏｌｄｅｒ．ｊｐｇ」として記憶する。
【００４４】
また、ファイル格納部１４２は、ファイル受信部１２２が受信したＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」及びＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」を、磁気ディスク装置９２０内の所定の場所（この例では、サブディレクトリ６１２「ｃａｃｈｅ」）に記憶する。
なお、ファイル格納部１４２は、ファイル受信部１２２が受信したＪＡＲファイルすべてをサブディレクトリ６１２「ｃａｃｈｅ」に記憶してもよいし、ファイル解凍部１４１が解凍しなかったＪＡＲファイルだけをサブディレクトリ６１２「ｃａｃｈｅ」に記憶してもよい。また、ファイル格納部１４２は、ファイル解凍部１４１が解凍したＪＡＲファイルに含まれるリソースのうち、ディレクトリマッピングファイル６０３で格納場所を指定されていないリソースを、サブディレクトリ６１２「ｃａｃｈｅ」に記憶してもよい。
【００４５】
なお、ディレクトリマッピングファイル６０３は、必ずしもディレクトリ構造を記述したものでなくてもよく、アプリケーションプログラム５２１が想定しているリソースの名前とリソースの所在との対応を示すものであればよい。
また、ディレクトリ生成部１３２は、仮想ディレクトリ内にサブディレクトリを生成せず、ファイル格納部１４２が仮想ディレクトリ内にリソースを記憶してもよい。その場合、アプリケーションプログラム５２１が想定しているリソースの所在を示す情報を、ファイル格納部１４２がリソースを記憶した場所を示す情報に変換するテーブルを生成しておき、リソースにアクセスできるようにしてもよい。
【００４６】
このようにして、リソースの配置が終わったあと、プログラム実行部１７０がアプリケーションプログラム５２１を実行する。
【００４７】
図８は、この実施の形態における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図である。
リソース利用部１６０は、ユーザリソース読込部１６１、システムリソース読込部１６２を有する。
【００４８】
システムリソース読込部１６２（システムクラスローダー）は、ＣＰＵ９１１などの処理装置を用いて、プログラム実行部１７０が実行しているアプリケーションプログラム５２１などからの要求を受け、リソースをＲＡＭ９１４などの記憶装置に読み込む。システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、読み込んだリソースへの参照をプログラム実行部１７０に通知することにより、アプリケーションプログラム５２１がリソースを利用できるようにする。システムリソース読込部１６２は、同じリソースに対して再度読み込みを要求された場合に重複して読み込まないよう、ＲＡＭ９１４などの記憶装置に読み込んだリソースを管理する。
【００４９】
システムリソース読込部１６２が読み込むリソースには、アプリケーションプログラム５２１の実行に必要な基本的なリソースとしてあらかじめ磁気ディスク装置９２０が記憶しているＪＡＲファイル６０６「ｒｔ．ｊａｒ」などに含まれるリソースや、アプリケーションプログラム５２１がパス名で指定した磁気ディスク装置９２０内のファイルなどがある。
【００５０】
ユーザリソース読込部１６１（クラスローダー）は、基本的にシステムリソース読込部１６２と同様の機能を有する。すなわち、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、プログラム実行部１７０が実行しているアプリケーションプログラム５２１などからの要求を受け、リソースをＲＡＭ９１４などの記憶装置に読み込む。ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、読み込んだリソースへの参照をプログラム実行部１７０に通知することにより、アプリケーションプログラム５２１がリソースを利用できるようにする。ユーザリソース読込部１６１は、同じリソースに対して再度読み込みを要求された場合に重複して読み込まないよう、ＲＡＭ９１４などの記憶装置に読み込んだリソースを管理する。
【００５１】
ユーザリソース読込部１６１が読み込むリソースには、ＪＮＬＰファイル６０２に記述されたファイル（ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」及びＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」）に含まれるリソースなどがある。
【００５２】
また、ユーザリソース読込部１６１は、アプリケーションプログラム５２１から読み込みを要求されたリソースがシステムリソース読込部１６２で読込み可能なものである場合、システムリソース読込部１６２にリソースの読み込みを依頼（委譲）する。例えば、ユーザリソース読込部１６１は、要求されたリソースが読込済でない限り、システムリソース読込部１６２に読み込みを要求し、システムリソース読込部１６２から読み込みに失敗した旨の通知があった場合に、ユーザリソース読込部１６１がリソースの読み込みを試みる。
【００５３】
これに対し、システムリソース読込部１６２は、ユーザリソース読込部１６１に対してリソースの読み込みを依頼しない。このため、ユーザリソース読込部１６１に対して要求すれば、ユーザリソース読込部１６１が読み込むリソース及びシステムリソース読込部１６２が読み込むリソースの双方にアクセス可能であるのに対して、システムリソース読込部１６２に対して要求すると、システムリソース読込部１６２が読み込むリソースにはアクセスできるが、ユーザリソース読込部１６１が読み込むリソース（例えば、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」やＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」に含まれるリソース）にはアクセスできない。
【００５４】
このように、リソース読込部として、ユーザリソース読込部１６１とシステムリソース読込部１６２との２つを用意する理由は、アプリケーションプログラム５２１とともにダウンロードしてきたリソースと、もともとローカル記憶領域７０１などに記憶されていたリソースとを区別するためである。
アプリケーションプログラム５２１が信頼できないと信頼性判定部１５０が判定した場合、システムリソース読込部１６２は、磁気ディスク装置９２０が記憶したリソースへのアクセスを制限する。一方、アプリケーションプログラム５２１とともにダウンロードしてきたリソースに対するアクセスは自由に許可してよいので、ユーザリソース読込部１６１がリソースへのアクセスを提供する。
【００５５】
また、アプリケーションプログラム５２１とともにダウンロードしてきたリソースが磁気ディスク装置９２０内のどこに記憶されるか、アプリケーションプログラム５２１にはわからない。システムリソース読込部１６２に対しては、リソースが存在する磁気ディスク装置９２０内の場所を指定してリソースの読み込みを要求する。これに対して、ユーザリソース読込部１６１に対しては、磁気ディスク装置９２０内の場所を指定せずリソースの読み込みを要求し、ユーザリソース読込部１６１が、アプリケーションプログラム５２１とともにダウンロードしてきたリソースを探して読み込みをする。
【００５６】
この例において、アプリケーションプログラム５２１の最初に実行するメソッドは、「ｊｋｌ．ｊａｒ」に含まれるクラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」のメソッドであることが、図６に示したＪＮＬＰファイル６０２に記述されている。
まず、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、磁気ディスク装置９２０が記憶したＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」を解凍し、ＲＡＭ９１４などの記憶装置にクラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」を読み込む。このとき、クラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」が承継しているクラスやクラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」が実装しているインタフェースやクラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」のメンバ変数のクラスなど、クラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」の読み込みに必要なクラスなどがあれば、ユーザリソース読込部１６１（あるいはユーザリソース読込部１６１から要求を受けたシステムリソース読込部１６２）が、必要なクラスなどを読み込む。
【００５７】
次に、プログラム実行部１７０は、ＣＰＵ９１１などの処理装置を用いて、ＲＡＭ９１４などの記憶装置に読み込まれたクラス「ｊｐ．ｃｏ．ａｂｃ．Ｐｑｒ」の「ｍａｉｎ」メソッドを実行する。
【００５８】
図９は、この実施の形態におけるプログラム実行部１７０が実行するアプリケーションプログラム５２１のソースコードの一例を示す図である。
ソースコード６５１は、システムリソース読込部１６２に対してリソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」の読み込みを要求するプログラムの一部である。
ソースコード６５２は、それが含まれるクラスを読み込んだリソース読込部に対して、リソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」の読み込みを要求するプログラムの一部である。この場合、リソースの読み込みを要求されるリソース読込部は、ユーザリソース読込部１６１となる。
【００５９】
ここで、リソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」は、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」に含まれるリソースである。ソースコード６５２のようにユーザリソース読込部１６１に対して読み込みを要求すれば、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」に含まれるリソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」にアクセスできるが、ソースコード６５１のようにシステムリソース読込部１６２に対して読み込みを要求すると、ＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」に含まれるリソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」にアクセスできない。
【００６０】
アプリケーションプログラム５２１には、このようにサーバ装置３００からダウンロードして自動実行する使い方を想定していないものがある。すなわち、利用者がアプリケーションプログラム５２１を手動でインストールして、実行するタイプのプログラムである。
そのような使い方をするアプリケーションプログラム５２１においては、利用者がインストールした時点で、そのアプリケーションプログラム５２１を信頼しているので、この実施の形態における実行装置１００のようにアプリケーションプログラム５２１が信頼できるか否かに配慮しなくてもよい。また、アプリケーションプログラム５２１をインストールした時点で、リソースを、アプリケーションプログラム５２１が想定している磁気ディスク装置９２０内の場所に記憶させることができる。
【００６１】
そのため、そのような使い方をするアプリケーションプログラム５２１を実行する実行装置は、システムリソース読込部１６２があればよく、ユーザリソース読込部１６１を有する必要はない。
その場合、そのクラスを読み込んだリソース読込部は、システムリソース読込部１６２なので、ソースコード６５１のように記述してもソースコード６５２のように記述しても違いがない。したがって、ソースコード６５１のような記述を含むアプリケーションプログラム５２１が多数存在する。
【００６２】
この実施の形態において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、領域設定部１３０が設定したリソース記憶領域７０２のなかを探して、要求されたリソースを読み込む。この例において、システムリソース読込部１６２は、ディレクトリ生成部１３２が生成したサブディレクトリ６１２「ＶＤｉｒ」のなかを探して、ファイル格納部１４２が記憶したリソースファイル６３１「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」を見つけ、リソースを読み込む。このため、システムリソース読込部１６２がＪＡＲファイル６０４「ｊｋｌ．ｊａｒ」に含まれるリソースを読み込めなくても、リソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」の読み込みに成功する。
【００６３】
このため、ソースコード６５１のような記述を含む既存のアプリケーションプログラム５２１を修正せず、そのまま実行することができる。
これにより、手間をかけず、既存のアプリケーションプログラム５２１を有効に利用することができる。
【００６４】
図１０は、この実施の形態におけるプログラム実行部１７０が実行するアプリケーションプログラム５２１のソースコードの別の例を示す図である。
ソースコード６５３は、システムリソース読込部１６２に対して、リソース「ｆｏｌｄｅｒ．ｊｐｇ」の読み込みを要求するプログラムの一部である。ここで、リソース「ｆｏｌｄｅｒ．ｊｐｇ」は、クラスパスが通ったディレクトリのサブディレクトリ「ｅｔｃ」の更にサブディレクトリ「ｉｃｏｎ」のなかにあることが想定されている。
ソースコード６５４は、それが含まれるクラスを読み込んだリソース読込部（実行装置１００においてはユーザリソース読込部１６１）に対して、リソース「ｆｏｌｄｅｒ．ｊｐｇ」の読み込みを要求するプログラムの一部である。
【００６５】
ここで、リソース「ｆｏｌｄｅｒ．ｊｐｇ」は、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」に含まれるリソースである。ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」に適切な階層構造が設定されていたとしても、システムリソース読込部１６２は、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」にアクセスできないので、ＪＡＲファイル６０５「ｍｎｏ．ｊａｒ」に含まれるリソース「ｆｏｌｄｅｒ．ｊｐｇ」を読み込むことはできない。
しかし、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、ディレクトリ生成部１３２が生成したサブディレクトリ６２２「ｉｃｏｎ」のなかを探して、ファイル格納部１４２が記憶したリソースファイル６３３「ｆｏｌｄｅｒ．ｊｐｇ」を見つけるので、ここからリソース「ｆｏｌｄｅｒ．ｊｐｇ」を読み込むことができる。
【００６６】
したがって、ソースコード６５３のような記述を含む既存のアプリケーションプログラム５２１を修正せず、そのまま実行することができる。
【００６７】
図１１は、この実施の形態における実行装置１００がアプリケーションプログラム５２１を実行する準備をする実行準備処理の流れの一例を示すフローチャート図である。
実行準備処理は、ＪＮＬＰ入力工程Ｓ１１、ＪＮＬＰ記憶工程Ｓ１２、ＪＮＬＰ解析工程Ｓ１３、要求送信工程Ｓ１４、ファイル受信工程Ｓ１５、配置情報入力工程Ｓ１６、配置情報記憶工程Ｓ１７、配置情報解析工程Ｓ１８、ディレクトリ生成工程Ｓ１９、ファイル解凍工程Ｓ２０、ファイル格納工程Ｓ２１、信頼性判定工程Ｓ２２を有する。
【００６８】
ＪＮＬＰ入力工程Ｓ１１において、ＪＮＬＰ入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、ブラウザなどが出力したＪＮＬＰファイル６０２を入力する。
ＪＮＬＰ入力部１１１が入力するＪＮＬＰファイル６０２には、実行すべきアプリケーションプログラム５２１がインターネット９４０（ネットワーク）上に存在する場所を記述したプログラムＵＲＬ情報（プログラム所在情報）や、アプリケーションプログラム５２１が利用するリソース５３１〜５３３がインターネット９４０（ネットワーク）上に存在する場所を記述したリソースＵＲＬ情報（リソース所在情報）や、インターネット９４０（ネットワーク）上に存在するＪＡＲファイル（書庫ファイル）のなかにアプリケーションプログラム５２１が利用するリソース５３１〜５３３が圧縮された形式で存在する場合にリソース５３１〜５３３をあらかじめ解凍しておくか否かを記述したリソース解凍情報などが含まれている。
【００６９】
ＪＮＬＰ記憶工程Ｓ１２において、ＪＮＬＰ記憶部１１２は、磁気ディスク装置９２０などの記憶装置を用いて、ＪＮＬＰ入力工程Ｓ１１でＪＮＬＰ入力部１１１が入力したＪＮＬＰファイル６０２の内容を一時的に記憶する。ＪＮＬＰ記憶部１１２は、磁気ディスク装置９２０内のあらかじめ定めた所定のディレクトリなどに、ＪＮＬＰファイル６０２を書き込む。
【００７０】
ＪＮＬＰ解析工程Ｓ１３において、ＪＮＬＰ解析部１１３は、ＣＰＵ９１１などの処理装置を用いて、ＪＮＬＰ記憶工程Ｓ１２でＪＮＬＰ記憶部１１２が記憶したＪＮＬＰファイル６０２の内容を解析する。ＪＮＬＰ解析部１１３は、ＣＰＵ９１１などの処理装置を用いて、ＪＮＬＰファイル６０２の内容を解析して、ダウンロード部１２０が取得すべきファイル（ディレクトリマッピングファイル６０３及びＪＡＲファイル６０４，６０５）のＵＲＬ（ディレクトリマッピングＵＲＬ情報・プログラムＵＲＬ情報・リソースＵＲＬ情報）やリソース解凍情報を取得する。
【００７１】
要求送信工程Ｓ１４において、要求送信部１２１は、ＣＰＵ９１１などの処理装置を用いて、ＪＮＬＰ解析工程Ｓ１３でＪＮＬＰ解析部１１３が取得したＵＲＬに基づいて、サーバ装置３００に対して、ディレクトリマッピングファイル６０３及びＪＡＲファイル６０４，６０５の送信要求を送信する。
【００７２】
ファイル受信工程Ｓ１５において、ファイル受信部１２２は、ＣＰＵ９１１などの処理装置を用いて、要求送信工程Ｓ１４で要求送信部１２１が送信した送信要求に応じてサーバ装置３００が送信したディレクトリマッピングファイル６０３及びＪＡＲファイル６０４，６０５を受信する。
これにより、ダウンロード部１２０は、ＪＮＬＰ解析工程Ｓ１３でＪＮＬＰ解析部１１３が取得したＵＲＬが記述したインターネット９４０（ネットワーク）上の場所から、ＪＡＲファイル６０４，６０５に含まれるアプリケーションプログラム５２１やリソース５３１〜５３３を取得する。
【００７３】
配置情報入力工程Ｓ１６において、配置情報入力部１１４は、ＣＰＵ９１１などの処理装置を用いて、ファイル受信工程Ｓ１５でファイル受信部１２２が受信したディレクトリマッピングファイル６０３を入力する。
配置情報入力部１１４が入力するディレクトリマッピングファイル６０３には、アプリケーションプログラム５２１がリソース５３１〜５３３を利用する際にリソース５３１〜５３３が存在すべき磁気ディスク装置９２０（記憶装置）内の場所を記述したディレクトリマッピング情報（配置情報）が含まれている。
【００７４】
配置情報記憶工程Ｓ１７において、配置情報記憶部１１５は、磁気ディスク装置９２０などの記憶装置を用いて、配置情報入力工程Ｓ１６で配置情報入力部１１４が入力したディレクトリマッピングファイル６０３の内容を一時的に記憶する。
【００７５】
配置情報解析工程Ｓ１８において、配置情報解析部１３１は、ＣＰＵ９１１などの処理装置を用いて、配置情報記憶工程Ｓ１７で配置情報記憶部１１５が記憶したディレクトリマッピングファイル６０３の内容を解析する。配置情報解析部１３１は、ＣＰＵ９１１などの処理装置を用いて、ディレクトリマッピングファイル６０３の内容を解析して、ディレクトリ生成部１３２が生成すべきディレクトリ構造や、ディレクトリ生成部１３２が生成したサブディレクトリにファイル格納部１４２が記憶すべきリソースを示す情報などを取得する。
【００７６】
ディレクトリ生成工程Ｓ１９において、ディレクトリ生成部１３２は、ＣＰＵ９１１などの処理装置を用いて、配置情報解析工程Ｓ１８で配置情報解析部１３１が取得したディレクトリ構造に基づいて、サブディレクトリを生成する。
【００７７】
ファイル解凍工程Ｓ２０において、ファイル解凍部１４１は、ＣＰＵ９１１などの処理装置を用いて、ＪＮＬＰ解析工程Ｓ１３でＪＮＬＰ解析部１１３が取得したリソース解凍情報に基づいて、ファイル受信工程Ｓ１５でファイル受信部１２２が受信したＪＡＲファイル６０４，６０５の全部または一部を解凍する。ファイル解凍部１４１は、ＣＰＵ９１１などの処理装置を用いて、ＪＡＲファイル６０４，６０５を解凍し、ＪＡＲファイル６０４，６０５に含まれるリソースの全部または一部を取得する。
【００７８】
ファイル格納工程Ｓ２１において、ファイル格納部１４２は、磁気ディスク装置９２０（記憶装置）を用いて、配置情報解析工程Ｓ１８で配置情報解析部１３１が取得した情報に基づいて、ディレクトリ生成工程Ｓ１９でディレクトリ生成部１３２が生成したサブディレクトリに、ファイル受信工程Ｓ１５でファイル受信部１２２が受信したＪＡＲファイル６０４，６０５や、ファイル解凍工程Ｓ２０でファイル解凍部１４１が取得したリソースを記憶する。
【００７９】
信頼性判定工程Ｓ２２において、信頼性判定部１５０は、ＣＰＵ９１１などの処理装置を用いて、アプリケーションプログラム５２１が信頼できるか否かを判定する。信頼性判定部１５０は、例えば、ＪＡＲファイル６０４，６０５の署名を検証することにより、ＪＡＲファイル６０４，６０５に含まれるアプリケーションプログラム５２１が信頼できるか否かを判定する。
【００８０】
このようにして、アプリケーションプログラム５２１が利用するリソースが、リソース記憶領域７０２に配置され、アプリケーションプログラム５２１を実行する準備が整う。
【００８１】
その後、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、アプリケーションプログラム５２１を読み込む。プログラム実行部１７０は、ＣＰＵ９１１などの処理装置を用いて、ユーザリソース読込部１６１が読み込んだアプリケーションプログラム５２１を実行する。
また、プログラム実行部１７０は、アプリケーションプログラム５２１の実行に伴い、ユーザリソース読込部１６１やシステムリソース読込部１６２に対して、リソースの読み込みを要求する。
【００８２】
図１２は、この実施の形態におけるユーザリソース読込部１６１がリソースを読み込むユーザリソース読込処理の流れの一例を示すフローチャート図である。
ユーザリソース読込み処理は、パス取得工程Ｓ３１、読込済判定工程Ｓ３２、システムリソース読込工程Ｓ３３、リソース探索工程Ｓ３４、リソース読込工程Ｓ３５、参照通知工程Ｓ３６、失敗通知工程Ｓ３７を有する。
【００８３】
パス取得工程Ｓ３１において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、リソース読込みを要求した要求元から、利用リソースパス情報を取得する。利用リソースパス情報とは、アプリケーションプログラム５２１が利用しようとするリソースが磁気ディスク装置９２０内に存在する（と想定されている）場所を記述した情報である。利用リソースパス情報は、例えば、クラスパスの通ったディレクトリからの相対パス名である。リソース読込みを要求する要求元には、アプリケーションプログラム５２１を実行しているプログラム実行部１７０などがある。
【００８４】
読込済判定工程Ｓ３２において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、パス取得工程Ｓ３１で取得した利用リソースパス情報に基づいて、読み込みを要求されたリソースを既に読み込み済であるか否かを判定する。
読み込み済であると判定した場合、参照通知工程Ｓ３６へ進む。
まだ読み込んでいないと判定した場合、システムリソース読込工程Ｓ３３へ進む。
【００８５】
システムリソース読込工程Ｓ３３において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、システムリソース読込部１６２に対して、パス取得工程Ｓ３１で取得した利用リソースパス情報を通知し、リソースの読み込みを要求する。
システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、要求されたリソースの読み込みを試みる。
システムリソース読込部１６２がリソースの読み込みに成功した場合、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、ユーザリソース読込部１６１に対して、読み込んだリソースへの参照を通知する。ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、通知されたリソースへの参照を取得し、参照通知工程Ｓ３６へ進む。
システムリソース読込部１６２がリソースの読み込みに失敗した場合、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、ユーザリソース読込部１６１に対して、読み込み失敗を通知する。ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、読み込み失敗の通知を取得し、リソース探索工程Ｓ３４へ進む。
【００８６】
リソース探索工程Ｓ３４において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、パス取得工程Ｓ３１で取得した利用リソースパス情報に基づいて、リソースを探す。例えば、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、ファイル格納部１４２が記憶したＪＡＲファイル６０４，６０５のなかでリソースを探す。ＪＡＲファイル６０４，６０５のなかは、ディレクトリと同様の階層構造になっていて、ユーザリソース読込部１６１は、利用リソースパス情報が記述した階層でリソースを探す。
リソースを発見した場合、リソース読込工程Ｓ３５へ進む。
リソースを発見しなかった場合、失敗通知工程Ｓ３７へ進む。
【００８７】
リソース読込工程Ｓ３５において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、リソース探索工程Ｓ３４で発見したリソースを、ＲＡＭ９１４などの記憶装置に読み込む。
【００８８】
参照通知工程Ｓ３６において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、リソース読み込みを要求した要求元に対して、読み込んだ（もしくは読み込み済の）リソースへの参照を通知し、ユーザリソース読込処理を終了する。
【００８９】
失敗通知工程Ｓ３７において、ユーザリソース読込部１６１は、ＣＰＵ９１１などの処理装置を用いて、リソース読み込みを要求した要求元に対して、リソース読み込みに失敗したことを通知し、ユーザリソース読込処理を終了する。
【００９０】
図１３は、この実施の形態におけるシステムリソース読込部１６２がリソースを読み込むシステムリソース読込処理の流れの一例を示すフローチャート図である。
システムリソース読込処理は、パス取得工程Ｓ４１、読込済判定工程Ｓ４２、第一リソース探索工程Ｓ４３、第二リソース探索工程Ｓ４４、リソース読込工程Ｓ４５、参照通知工程Ｓ４６、失敗通知工程Ｓ４７を有する。
【００９１】
パス取得工程Ｓ４１において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、リソース読込みを要求した要求元から、利用リソースパス情報を取得する。リソース読込みを要求する要求元には、アプリケーションプログラム５２１を実行しているプログラム実行部１７０や、ユーザリソース読込部１６１などがある。
【００９２】
読込済判定工程Ｓ４２において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、パス取得工程Ｓ４１で取得した利用リソースパス情報に基づいて、読み込みを要求されたリソースを既に読み込み済であるか否かを判定する。
読み込み済であると判定した場合、参照通知工程Ｓ４６へ進む。
まだ読み込んでいないと判定した場合、第一リソース探索工程Ｓ４３へ進む。
【００９３】
第一リソース探索工程Ｓ４３において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、パス取得工程Ｓ４１で取得した利用リソースパス情報に基づいて、リソースを探す。例えば、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、磁気ディスク装置９２０のなかでリソースを探す。システムリソース読込部１６２は、クラスパスが通ったディレクトリを基準として、利用リソースパス情報が記述した相対パスが示す場所でリソースを探す。
リソースを発見した場合、リソース読込工程Ｓ４５へ進む。
リソースを発見しなかった場合、第二リソース探索工程Ｓ４４へ進む。
【００９４】
なお、アプリケーションプログラム５２１が信頼できないと信頼性判定部１５０が判定した場合、第一リソース探索工程Ｓ４３を行わず、第二リソース探索工程Ｓ４４へ進むこととしてもよい。
【００９５】
第二リソース探索工程Ｓ４４において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、ディレクトリ生成部１３２が生成した仮想ディレクトリのなかで、利用リソースパス情報に基づいて、リソースを探す。ユーザリソース読込部１６１は、利用リソースパス情報が記述した場所に対応するサブディレクトリでリソースを探す。
なお、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、ディレクトリ生成部１３２が生成した仮想ディレクトリのなかを検索して、リソースがあるか否かを判定してもよいし、リソースがディレクトリマッピングファイル６０３で格納場所を指定されているか否かを判定することにより、ディレクトリ生成部１３２が生成した仮想ディレクトリのなかにリソースがあるか否かを判定してもよい。
リソースを発見した場合、リソース読込工程Ｓ４５へ進む。
リソースを発見しなかった場合、失敗通知工程Ｓ４７へ進む。
【００９６】
リソース読込工程Ｓ４５において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、第一リソース探索工程Ｓ４３または第二リソース探索工程Ｓ４４で発見したリソースを、ＲＡＭ９１４などの記憶装置に読み込む。
【００９７】
参照通知工程Ｓ４６において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、リソース読み込みを要求した要求元に対して、読み込んだ（もしくは読み込み済の）リソースへの参照を通知し、システムリソース読込処理を終了する。
【００９８】
失敗通知工程Ｓ４７において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、リソース読み込みを要求した要求元に対して、リソース読み込みに失敗したことを通知し、システムリソース読込処理を終了する。
【００９９】
アプリケーションプログラム５２１のなかに、リソースが磁気ディスク装置９２０内の所定の場所にあることを想定したコードが含まれている場合、２つの可能性がある。
一つは、アプリケーションプログラム５２１が実行装置１００にダウンロードされて自動実行されることを想定し、実行装置１００の磁気ディスク装置９２０が記憶したリソースにアクセスしようとしている場合である。
この場合、リソースは、利用リソースパス情報が記述したとおりの場所に存在するはずなので、第一リソース探索工程Ｓ４３で発見される。
【０１００】
もう一つは、アプリケーションプログラム５２１が実行装置１００にインストールされてから実行されることを想定し、インストール時に実行装置１００の磁気ディスク装置９２０が記憶したリソースにアクセスしようとしている場合である。
このようなアプリケーションプログラム５２１を実行装置１００がダウンロードして自動実行しようとすると、アプリケーションプログラム５２１が実行装置１００にインストールされていないので、リソースは、利用リソースパス情報が記述したとおりの場所には存在せず、第一リソース探索工程Ｓ４３では発見されない。
そのようなリソースは、ＪＮＬＰファイル６０２の記述に基づいて、ダウンロード部１２０がアプリケーションプログラム５２１とともにダウンロードし、ディレクトリマッピングファイル６０３の記述に基づいて、ディレクトリ生成部１３２が生成した仮想ディレクトリ内に、ファイル格納部１４２が記憶するので、第二リソース探索工程Ｓ４４で発見される。
【０１０１】
このように、一つの利用リソースパス情報に基づいて、磁気ディスク装置９２０内の２箇所を探索することにより、アプリケーションプログラム５２１が想定している実行環境がいずれであっても、リソースを発見し、利用することができる。
【０１０２】
したがって、実行装置１００がダウンロードして自動実行することを意図せずに作成されたアプリケーションプログラム５２１について、なんらの修正を加えることなしに、実行装置１００がダウンロードして自動実行することができる。
アプリケーションプログラム５２１を修正した場合、コンパイルをやり直したり、エラーが発生しないかチェックしたりする必要が生じる。
この実施の形態における実行装置１００は、アプリケーションプログラム５２１を修正せずに実行できるので、そのような手間がかけずに既存のアプリケーションプログラム５２１を利用でき、アプリケーションプログラム５２１開発のコストを削減することができる。
【０１０３】
この実施の形態における実行装置１００は、
情報を処理するＣＰＵ９１１などの処理装置と、情報を記憶する磁気ディスク装置９２０などの記憶装置と、起動情報入力部１１０と、プログラム取得部（ダウンロード部１２０）と、プログラム記憶部（ファイル配置部１４０）と、リソース取得部（ダウンロード部１２０）と、リソース配置部（ファイル配置部１４０）と、プログラム実行部（プログラム実行部１７０）とを有することを特徴とする。
上記起動情報入力部１１０は、上記処理装置を用いて、実行すべきアプリケーションプログラム５２１がネットワーク（インターネット９４０）上に存在する場所を記述したプログラム所在情報と、上記アプリケーションプログラム５２１が利用するリソース５３１〜５３３が上記ネットワーク（インターネット９４０）上に存在する場所を記述したリソース所在情報と、上記アプリケーションプログラム５２１が上記リソース５３１〜５３３を利用する際に上記リソース５３１〜５３３が存在すべき上記記憶装置（磁気ディスク装置９２０）内の場所を記述したリソース配置情報とを入力することを特徴とする。
上記プログラム取得部（ダウンロード部１２０）は、上記処理装置を用いて、上記起動情報入力部１１０が入力したプログラム所在情報に基づいて、上記ネットワーク（インターネット９４０）上からアプリケーションプログラム５２１を取得することを特徴とする。
上記プログラム記憶部（ファイル配置部１４０）は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記プログラム取得部（ダウンロード部１２０）が取得したアプリケーションプログラム５２１を記憶することを特徴とする。
上記リソース取得部（ダウンロード部１２０）は、上記処理装置を用いて、上記起動情報入力部１１０が入力したリソース所在情報に基づいて、上記ネットワーク（インターネット９４０）上からリソース５３１〜５３３を取得することを特徴とする。
上記リソース配置部（ファイル配置部１４０）は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記起動情報入力部１１０が入力したリソース配置情報に基づいて、上記リソース取得部（ダウンロード部１２０）が取得したリソース５３１〜５３３を記憶することを特徴とする。
上記プログラム実行部１７０は、上記処理装置を用いて、上記プログラム記憶部（ファイル配置部１４０）が記憶したアプリケーションプログラム５２１を実行することを特徴とする。
【０１０４】
この実施の形態における実行装置１００によれば、アプリケーションプログラム５２１が利用するリソース５３１〜５３３を、リソース取得部（ダウンロード部１２０）がネットワーク（インターネット９４０）上から取得し、リソース配置部（ファイル配置部１４０）が記憶装置（磁気ディスク装置９２０）を用いて記憶して、プログラム実行部１７０がアプリケーションプログラム５２１を実行するので、アプリケーションプログラム５２１になんらの修正を加えることなく、アプリケーションプログラム５２１がリソース５３１〜５３３を利用できるという効果を奏する。
【０１０５】
この実施の形態における実行装置１００は、更に、領域設定部１３０と、リソース利用部１６０とを有することを特徴とする。
上記領域設定部１３０は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記リソース５３１〜５３３を記憶するための領域（リソース記憶領域７０２）を設定することを特徴とする。
上記リソース配置部（ファイル配置部１４０）は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記起動情報入力部１１０が入力したリソース配置情報に基づいて、上記領域設定部１３０が設定した領域（リソース記憶領域７０２）に上記リソース取得部（ダウンロード部１２０）が取得したリソース５３１〜５３３を記憶することを特徴とする。
上記リソース利用部１６０は、上記処理装置を用いて、上記プログラム実行部１７０が実行するアプリケーションプログラム５２１に、上記領域設定部１３０が設定した領域（リソース記憶領域７０２）に記憶したリソース５３１〜５３３を利用させることを特徴とする。
【０１０６】
この実施の形態における実行装置１００によれば、領域設定部１３０が記憶装置（磁気ディスク装置９２０）を用いて設定した領域（リソース記憶領域７０２）に、リソース取得部（ダウンロード部１２０）が取得したリソースを、リソース配置部（ファイル配置部１４０）が記憶するので、磁気ディスク装置９２０があらかじめ記憶していたリソースと、リソース取得部（ダウンロード部１２０）が取得したリソースとの衝突を避けることができるという効果を奏する。
【０１０７】
この実施の形態における実行装置１００は、
情報を処理するＣＰＵ９１１などの処理装置と、情報を記憶する磁気ディスク装置９２０などの記憶装置と、起動情報入力部１１０と、プログラム取得部（ダウンロード部１２０）と、プログラム記憶部（ファイル配置部１４０）と、領域設定部１３０と、リソース取得部（ダウンロード部１２０）と、リソース配置部（ファイル配置部１４０）と、プログラム実行部１７０とを有することを特徴とする。
上記起動情報入力部１１０は、上記処理装置を用いて、実行すべきアプリケーションプログラム５２１がインターネット９４０（ネットワーク）上に存在する場所を記述したプログラムＵＲＬ情報（プログラム所在情報）と、上記アプリケーションプログラム５２１が利用するリソース５３１〜５３３が上記インターネット９４０（ネットワーク）上に存在する場所を記述したリソースＵＲＬ情報（リソース所在情報）と、上記アプリケーションプログラム５２１が上記リソース５３１〜５３３を利用する際に上記リソース５３１〜５３３が存在すべき上記記憶装置（磁気ディスク装置９２０）内の場所を記述したディレクトリマッピング情報とを入力することを特徴とする。
上記プログラム取得部（ダウンロード部１２０）は、上記処理装置を用いて、上記起動情報入力部１１０が入力したプログラムＵＲＬ情報（プログラム所在情報）が記述したインターネット９４０（ネットワーク）上の場所から、アプリケーションプログラム５２１をダウンロードして取得することを特徴とする。
上記プログラム記憶部（ファイル配置部１４０）は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記プログラム取得部（ダウンロード部１２０）が取得したアプリケーションプログラム５２１を記憶することを特徴とする。
上記領域設定部１３０は、上記記憶装置（磁気ディスク装置９２０）を用いて、仮想ディレクトリ（サブディレクトリ６１３「ＶＤｉｒ」）を生成し、上記リソース５３１〜５３３を記憶するための領域（リソース記憶領域７０２）として、生成した仮想ディレクトリ（サブディレクトリ６１３「ＶＤｉｒ」）を設定することを特徴とする。
上記リソース取得部（ダウンロード部１２０）は、上記処理装置を用いて、上記起動情報入力部１１０が入力したリソースＵＲＬ情報（リソース所在情報）が記述したインターネット９４０（ネットワーク）上の場所から、リソース５３１〜５３３をダウンロードして取得することを特徴とする。
上記リソース配置部（ファイル配置部１４０）は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記起動情報入力部１１０が入力したディレクトリマッピング情報が記述した記憶装置（磁気ディスク装置９２０）内の場所に対応して、上記領域設定部１３０が生成した仮想ディレクトリ（サブディレクトリ６１３「ＶＤｉｒ」）からの相対パスにより指定される場所（サブディレクトリ６１３〜６２２）に、上記リソース取得部（ダウンロード部１２０）が取得したリソース５３１〜５３３（リソースファイル６３１〜６３３）を記憶することを特徴とする。
上記プログラム実行部１７０は、上記処理装置を用いて、上記プログラム記憶部（ファイル配置部１４０）が記憶したアプリケーションプログラム５２１を実行することを特徴とする。
上記リソース利用部１６０は、上記処理装置を用いて、上記プログラム実行部１７０が実行するアプリケーションプログラム５２１から、上記アプリケーションプログラム５２１が利用しようとする上記記憶装置（磁気ディスク装置９２０）内に存在するリソース５３１〜５３３の場所を記述した利用リソースパス情報を取得し、取得した利用リソースパス情報が記述した場所に対応して、上記領域設定部１３０が生成した仮想ディレクトリ（サブディレクトリ６１３「ＶＤｉｒ」）からの相対パスにより指定される場所（サブディレクトリ６１３〜６２２）から、リソース５３１〜５３３（リソースファイル６３１〜６３３）を取得し、取得したリソース５３１〜５３３（リソースファイル６３１〜６３３）を上記アプリケーションプログラム５２１に利用させることを特徴とする。
【０１０８】
この実施の形態における実行装置１００によれば、ディレクトリマッピング情報が記述した記憶装置（磁気ディスク装置９２０）内の場所に対応する場所として、領域設定部１３０が生成した仮想ディレクトリ（サブディレクトリ６１３「ＶＤｉｒ」）を設定し、領域設定部１３０が生成した仮想ディレクトリ（サブディレクトリ６１３「ＶＤｉｒ」）内のサブディレクトリ６１３〜６２２に、ファイル配置部１４０がリソース５３１〜５３３（リソースファイル６３１〜６３３）を記憶するので、リソース利用部１６０がリソース５３１〜５３３（リソースファイル６３１〜６３３）を容易に発見でき、アプリケーションプログラム５２１に利用させることができるという効果を奏する。
【０１０９】
この実施の形態における実行装置１００は、更に、信頼性判定部１５０を有することを特徴とする。
上記信頼性判定部１５０は、上記処理装置を用いて、上記プログラム記憶部（ファイル配置部１４０）が記憶したアプリケーションプログラム５２１が信頼できるか否かを判定することを特徴とする。
上記リソース利用部１６０は、上記処理装置を用いて、上記プログラム記憶部（ファイル配置部１４０）が記憶したアプリケーションプログラム５２１が信頼できないと上記信頼性判定部１５０が判定した場合、上記プログラム実行部１７０が実行するアプリケーションプログラム５２１に、上記領域設定部１３０が設定した領域（リソース記憶領域７０２）以外に記憶したリソースを利用させないことを特徴とする。
【０１１０】
この実施の形態における実行装置１００によれば、信頼できないアプリケーションプログラム５２１には、領域設定部１３０が設定した領域（リソース記憶領域７０２）以外に記憶したリソースを利用させないので、セキュリティを保ちつつ、信頼できないアプリケーションプログラム５２１を実行することができるという効果を奏する。
【０１１１】
また、この実施の形態における実行装置１００は、以下の特徴を有する。
上記起動情報入力部１１０は、上記処理装置を用いて、更に、上記ネットワーク（インターネット９４０）上に存在する書庫ファイル（ＪＡＲファイル）のなかに上記アプリケーションプログラム５２１が利用するリソース５３１〜５３３が圧縮された形式で存在する場合に上記リソース５３１〜５３３をあらかじめ解凍しておくか否かを記述したリソース解凍情報を入力することを特徴とする。
上記リソース取得部（ダウンロード部１２０、ファイル解凍部１４１）は、上記処理装置を用いて、上記起動情報入力部１１０が入力したリソース所在情報に基づいて、上記ネットワーク（インターネット９４０）上から上記リソースを含む書庫ファイル（ＪＡＲファイル６０４，６０５）を取得し、上記起動情報入力部１１０が入力したリソース解凍情報に基づいて、取得した書庫ファイル（ＪＡＲファイル６０４，６０５）を解凍して上記リソースを取得することを特徴とする。
この実施の形態における実行装置１００によれば、リソースが書庫ファイル（ＪＡＲファイル６０４，６０５）のなかに圧縮された形式で存在する場合、リソース取得部（ファイル解凍部１４１）が書庫ファイル（ＪＡＲファイル６０４，６０５）を解凍してリソースを取得するので、プログラム実行部１７０が実行するアプリケーションプログラム５２１が、リソースを利用できるという効果を奏する。
【０１１２】
この実施の形態における実行装置１００は、情報を処理するＣＰＵ９１１などの処理装置と情報を記憶する磁気ディスク装置９２０などの記憶装置とを有するコンピュータを実行装置１００として機能させるプログラムを、コンピュータが実行することにより、実現することができる。
【０１１３】
情報を処理するＣＰＵ９１１などの処理装置と情報を記憶する磁気ディスク装置９２０などの記憶装置とを有するコンピュータを実行装置１００として機能させるプログラムによれば、アプリケーションプログラム５２１を修正することなく、ネットワーク（インターネット９４０）上からアプリケーションプログラム５２１を取得して自動実行できる実行装置１００を実現できるという効果を奏する。
【０１１４】
この実施の形態における実行装置１００がアプリケーションプログラム５２１を実行する実行方法は、
上記処理装置が、実行すべきアプリケーションプログラム５２１がネットワーク（インターネット９４０）上に存在する場所を記述したプログラム所在情報と、上記アプリケーションプログラム５２１が利用するリソース５３１〜５３３が上記ネットワーク（インターネット９４０）上に存在する場所を記述したリソース所在情報と、上記アプリケーションプログラム５２１が上記リソース５３１〜５３３を利用する際に上記リソース５３１〜５３３が存在すべき上記記憶装置（磁気ディスク装置９２０）内の場所を記述したリソース配置情報とを入力することを特徴とする。
上記処理装置が、入力したプログラム所在情報に基づいて、上記ネットワーク（インターネット９４０）上からアプリケーションプログラム５２１を取得することを特徴とする。
上記記憶装置（磁気ディスク装置９２０）が、上記処理装置が取得したアプリケーションプログラム５２１を記憶することを特徴とする。
上記処理装置が、入力したリソース所在情報に基づいて、上記ネットワーク（インターネット９４０）上からリソース５３１〜５３３を取得することを特徴とする。
上記記憶装置（磁気ディスク装置９２０）が、上記処理装置が入力したリソース配置情報に基づいて、上記処理装置が取得したリソース５３１〜５３３を記憶することを特徴とする。
上記処理装置が、上記記憶装置（磁気ディスク装置９２０）が記憶したアプリケーションプログラム５２１を実行することを特徴とする。
【０１１５】
この実施の形態における実行装置１００がアプリケーションプログラム５２１を実行する実行方法によれば、アプリケーションプログラム５２１を修正することなく、ネットワーク（インターネット９４０）上からアプリケーションプログラム５２１を取得して自動実行できるという効果を奏する。
【０１１６】
実施の形態２．
実施の形態２について、図１４を用いて説明する。
この実施の形態における自動実行システム８００のシステム構成、実行装置１００の外観、ハードウェア資源、ブロック構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１１７】
図１４は、この実施の形態における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図である。
なお、実施の形態１で説明した実行装置１００と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０１１８】
ディレクトリ生成部１３２は、ＣＰＵ９１１などの処理装置を用いて、磁気ディスク装置９２０に仮想ディレクトリを生成する。
ディレクトリ生成部１３２は、サブディレクトリ６１３「ＶＤｉｒ」を生成する。実施の形態１と異なり、ディレクトリ生成部１３２は、サブディレクトリ６１３「ＶＤｉｒ」の下にサブディレクトリを生成しない。なお、ディレクトリ生成部１３２は、サブディレクトリ６１３「ＶＤｉｒ」の下にサブディレクトリを生成してもよいが、ディレクトリ生成部１３２がサブディレクトリ６１３「ＶＤｉｒ」の下に生成するディレクトリ構造は、ディレクトリマッピングファイル６０３に記述されたディレクトリ構造と必ずしも一致しない。
【０１１９】
ファイル格納部１４２は、磁気ディスク装置９２０（記憶装置）を用いて、ファイル受信部１２２が受信したファイルやファイル解凍部１４１が解凍して取得したリソースを記憶する。ファイル格納部１４２は、ディレクトリマッピングファイル６０３で格納場所を指定されたリソースについて、ディレクトリ生成部１３２が生成したサブディレクトリ６１３「ＶＤｉｒ」に記憶する。
ここで、ディレクトリ生成部１３２はサブディレクトリ６１３「ＶＤｉｒ」の下にサブディレクトリを生成していないので、ファイル格納部１４２は、リソースファイル６３１〜６３３を、一つのサブディレクトリ６１３「ＶＤｉｒ」のなかに記憶する。この例では、リソースファイル６３１〜６３３のファイル名が衝突するのを避けるため、ファイル格納部１４２は、リソースファイル６３１〜６３３のファイル名を「００１．ｔｍｐ」「００２．ｔｍｐ」「００３．ｔｍｐ」のように変更し、リソースファイル６４１〜６４３として記憶している。なお、ファイル格納部１４２は、ファイル名を変更せずリソースを記憶してもよい。
【０１２０】
ファイル格納部１４２は、更に、ＣＰＵ９１１などの処理装置を用いて、配置対応情報５５０を生成する。
配置対応情報５５０は、１以上の仮想パス情報５５１と、仮想パス情報５５１それぞれに対応する実パス情報５５２とのペアからなる。仮想パス情報５５１は、リソース５３１〜５３３が存在するとアプリケーションプログラム５２１が想定している場所を記述した情報である。実パス情報５５２は、ファイル格納部１４２がリソース５３１〜５３３を実際に記憶した場所を記述した情報である。
例えば、仮想パス情報５５１「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」と実パス情報５５２「／ＶＭ／ＶＤｉｒ／００１．ｔｍｐ」とのペアは、アプリケーションプログラム５２１が利用するリソース「Ａａａ．ｐｒｏｐｅｒｔｉｅｓ」を、絶対パス「／ＶＭ／ＶＤｉｒ／００１．ｔｍｐ」で表わされるファイルとして磁気ディスク装置９２０が記憶していることを表わしている。
ファイル格納部１４２は、磁気ディスク装置９２０などの記憶装置を用いて、生成した配置対応情報５５０を記憶する。
【０１２１】
次に、システムリソース読込処理について説明する。
この実施の形態におけるシステムリソース読込部１６２がリソースを読み込むシステムリソース読込処理の流れは、実施の形態１で説明したものと同様なので、図１３を参照して説明する。
なお、実施の形態１で説明したシステムリソース読込処理と共通する工程については、説明を省略する。
【０１２２】
第二リソース探索工程Ｓ４４において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、ファイル格納部１４２が記憶した配置対応情報５５０に基づいて、リソースを探す。
システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、仮想パス情報５５１を検索して、利用リソースパス情報と一致するものを抽出する。
仮想パス情報５５１のなかに利用リソースパス情報と一致するものがない場合、失敗通知工程Ｓ４７へ進む。
仮想パス情報５５１のなかに利用リソースパス情報と一致するものがある場合、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、抽出した仮想パス情報５５１に対応する実パス情報５５２を取得し、リソース読込工程Ｓ４５へ進む。
【０１２３】
リソース読込工程Ｓ４５において、システムリソース読込部１６２は、ＣＰＵ９１１などの処理装置を用いて、第二リソース探索工程Ｓ４４で取得した実パス情報５５２に基づいて、磁気ディスク装置９２０からリソースを読み込む。
【０１２４】
このように、ファイル格納部１４２が配置対応情報５５０を生成し、ファイル格納部１４２が生成した配置対応情報５５０に基づいて、システムリソース読込部１６２がリソースを探すので、アプリケーションプログラム５２１が想定しているディレクトリ構造と同じディレクトリ構造を、ディレクトリ生成部１３２が生成する必要がない。
【０１２５】
以上説明した実行装置１００（アプリケーション実行装置）は、
ダウンロードするディレクトリマッピングファイル６０３およびＪＡＲファイル６０４，６０５の情報（リソース所在情報）、ＪＡＲファイル解凍の有無（リソース解凍情報）、アプリケーションの起動方法などを記述した拡張ＪＮＬＰファイルをサーバ装置３００からダウンロードしてクライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）に書き込む拡張ＪＮＬＰファイル書込部（ＪＮＬＰ記憶部１１２）と、
ダウンロードした拡張ＪＮＬＰファイルを解析して各種情報を取り出す拡張ＪＮＬＰファイル解析部（ＪＮＬＰ解析部１１３）と、
ダウンロードするＪＡＲファイル６０４，６０５の署名検証および版管理を行い不正なＪＡＲファイルや同じ版のＪＡＲファイルをダウンロードさせないＪＡＲファイル管理部（ダウンロード部１２０、信頼性判定部１５０）と、
拡張ＪＮＬＰファイル６０２に記述されたＪＡＲファイル６０４，６０５をサーバ装置３００からクライアント（実行装置１００）にダウンロードするＪＡＲファイルダウンロード部（ダウンロード部１２０）と、
ダウンロードしたＪＡＲファイル６０４，６０５を解凍してクライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）の特定のディレクトリ（サブディレクトリ６１３）に格納するＪＡＲファイル解凍部（ファイル配置部１４０）と、
拡張ＪＮＬＰファイル６０２に記載された方法でダウンロードしたアプリケーションを起動するＶＭ起動部（プログラム実行部１７０）と、
それらをコントロールするアプリケーション実行装置制御部（処理装置）とを備えたことを特徴とする。
【０１２６】
以上説明したアプリケーション実行装置（実行装置１００）によれば、これまでクライアント上で動作していたアプリケーションをブラウザ経由でサーバ装置３００からダウンロードし、クライアントにインストールして修正なしに動作させることができる。
【０１２７】
以上説明したアプリケーション実行装置（実行装置１００）は、
拡張ＪＮＬＰファイル６０２に記載されているディレクトリマッピングファイル６０３をサーバ装置３００からダウンロードしてクライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）に書込むディレクトリマッピングファイル書込部（配置情報記憶部１１５）と、
ダウンロードされたディレクトリマッピングファイル６０３を解析してファイル名と仮想ディレクトリ名のペアを取り出すディレクトリマッピングファイル解析部（配置情報解析部１３１）と、
クライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）上に仮想ディレクトリに対応した実ディレクトリを生成する仮想ディレクトリ生成部（ディレクトリ生成部１３２）と、
拡張ＪＮＬＰファイル６０２に記載の解凍の有無（リソース解凍情報）とディレクトリマッピングファイル６０３に記載の内容に従って、ダウンロードしたＪＡＲファイル６０４，６０５を解凍し、仮想ディレクトリを生成して格納するＪＡＲファイル解凍部（ファイル配置部１４０）と、
それらを制御するＪＡＲファイル解凍制御部（処理装置）を備えたことを特徴とする。
【０１２８】
以上説明したアプリケーション実行装置（実行装置１００）によれば、これまでクライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）の特定のディレクトリ上にＪＡＲファイルのまま格納されていたが、拡張ＪＮＬＰファイル６０２でのＪＡＲファイル解凍の有無の指定と、ディレクトリマッピングファイル６０３での仮想ディレクトリ名の指定によって外部記憶装置（磁気ディスク装置９２０）上の任意の場所にダウンロードしたファイルを格納できるようになり、アプリケーションからのアクセス方法の自由度が高くなる。
【０１２９】
以上説明したアプリケーション実行装置（実行装置１００）は、
入力パラメータ（利用リソースパス情報）を取り出し、クライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）上にファイルが存在するかどうか確認する入力パラメータ解析部（システムリソース読込部１６２）と、
動的にディレクトリをマッピングするために、クライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）上に格納されているディレクトリマッピングファイル（配置対応情報５５０）を解析するディレクトリマッピングファイル解析部（システムリソース読込部１６２）およびディレクトリマッピングファイルに記載の内容から新しいディレクトリ名を生成するディレクトリ生成部（システムリソース読込部１６２）と、
元の入力パラメータまたは上で生成した新しいディレクトリ名でライブラリを呼び出すライブラリ呼出し部（システムリソース読込部１６２）を備えたことを特徴とする。
【０１３０】
以上説明したアプリケーション実行装置（実行装置１００）によれば、入力パラメータ（利用リソースパス情報）で指定されたリソースファイルの存在確認を元の入力パラメータの場所とディレクトリマッピングファイルに指定された仮想ディレクトリの二つで行うことにより、ファイルが見つからない旨のエラーの発生をなくすことができる。
【０１３１】
以上説明したアプリケーション実行装置によれば、サーバ装置３００からダウンロードして実行する際にファイルが見つからない旨のエラーが発生しないので、ソースコードを修正し、コンパイルし、試験を行って、再度サーバ装置３００上に配備する必要がない。
【０１３２】
したがって、クライアントにインストールされその上で動作していた既存のアプリケーションをサーバ装置３００に格納し、ブラウザを使用してサーバ装置３００からダウンロードし、インストールして起動可能にする場合に、アプリケーションの修正が不要となる。
【０１３３】
以上説明したアプリケーション実行装置（実行装置１００）によれば、サーバ装置３００上に格納されている拡張ＪＮＬＰファイル６０２、ディレクトリマッピングファイル６０３およびｊａｒ形式に圧縮されているアプリケーション、リソースファイル６０４，６０５を、ブラウザ経由でクライアント（実行装置１００）にダウンロードし、アプリケーション実行装置（実行装置１００）により拡張ＪＮＬＰファイル６０２およびディレクトリマッピングファイル６０３の内容に基づきダウンロードしたＪＡＲファイル６０４，６０５をクライアント（実行装置１００）の外部記憶装置（磁気ディスク装置９２０）上に解凍して格納し、アプリケーションを起動することができる。
また、以上説明したアプリケーション実行装置（実行装置１００）によれば、入力パラメータ（利用リソースパス情報）として渡ってくるディレクトリ名をファイルの存在結果に応じて仮想ディレクトリと動的に切替えることにより、ファイルが見つからない旨のエラーの発生を抑止し、ソースコードの修正なしにアプリケーションが動作させることができる。
【図面の簡単な説明】
【０１３４】
【図１】実施の形態１における自動実行システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１における実行装置１００の外観の一例を示す図。
【図３】実施の形態１における実行装置１００のハードウェア資源の一例を示す図。
【図４】実施の形態１における実行装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図５】実施の形態１におけるアプリケーション実行の契機の一例を示す図。
【図６】実施の形態１における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図。
【図７】実施の形態１における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図。
【図８】実施の形態１における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図。
【図９】実施の形態１におけるプログラム実行部１７０が実行するアプリケーションプログラム５２１のソースコードの一例を示す図。
【図１０】実施の形態１におけるプログラム実行部１７０が実行するアプリケーションプログラム５２１のソースコードの別の例を示す図。
【図１１】実施の形態１における実行装置１００がアプリケーションプログラム５２１を実行する準備をする実行準備処理の流れの一例を示すフローチャート図。
【図１２】実施の形態１におけるユーザリソース読込部１６１がリソースを読み込むユーザリソース読込処理の流れの一例を示すフローチャート図。
【図１３】実施の形態１におけるシステムリソース読込部１６２がリソースを読み込むシステムリソース読込処理の流れの一例を示すフローチャート図。
【図１４】実施の形態２における実行装置１００の機能ブロックの詳細の一例を示す詳細ブロック図。
【符号の説明】
【０１３５】
１００  実行装置、１１０  起動情報入力部、１１１  ＪＮＬＰ入力部、１１２  ＪＮＬＰ記憶部、１１３  ＪＮＬＰ解析部、１１４  配置情報入力部、１１５  配置情報記憶部、１２０  ダウンロード部、１２１  要求送信部、１２２  ファイル受信部、１３０  領域設定部、１３１  配置情報解析部、１３２  ディレクトリ生成部、１４０  ファイル配置部、１４１  ファイル解凍部、１４２  ファイル格納部、１５０  信頼性判定部、１６０  リソース利用部、１６１  ユーザリソース読込部、１６２  システムリソース読込部、１７０  プログラム実行部、３００  サーバ装置、５１１  起動情報、５２１  アプリケーションプログラム、５３１〜５３３  リソース、５５０  配置対応情報、５５１  仮想パス情報、５５２  実パス情報、６０１  ＨＴＭＬファイル、６０２  ＪＮＬＰファイル、６０３  ディレクトリマッピングファイル、６０４〜６０６  ＪＡＲファイル、６１１〜６２２  サブディレクトリ、６３１〜６４３  リソースファイル、６５１〜６５４  ソースコード、７０１  ローカル記憶領域、７０２  リソース記憶領域、７０３  プログラム記憶領域、８００  自動実行システム、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2009104250.tif 000003
【図２】
2009104250.tif 000004
【図３】
2009104250.tif 000005
【図４】
2009104250.tif 000006
【図５】
2009104250.tif 000007
【図６】
2009104250.tif 000008
【図７】
2009104250.tif 000009
【図８】
2009104250.tif 000010
【図９】
2009104250.tif 000011
【図１０】
2009104250.tif 000012
【図１１】
2009104250.tif 000013
【図１２】
2009104250.tif 000014
【図１３】
2009104250.tif 000015
【図１４】
2009104250.tif 000016