(57)【特許請求の範囲】
【請求項１】
サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法であって、
（ａ）前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認する実行環境確認アプレットをロードする段階と、
（ｂ）前記実行環境確認アプレットを実行した結果に基づいて、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする段階と、
（ｃ）前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動する段階と、
を含むアプリケーションの起動方法。
【請求項２】
サーバからロードしたアプリケーションをクライアント・マシン上で起動するためのソフトウエア記録媒体であって、
（ａ）前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認するための実行環境確認アプレットと、
（ｂ）前記クライアント・マシン上でアプリケーションが必要とするコードを取得する必要コード取得ソフトウエアと、
（ｃ）前記アプリケーションの起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動するアプリケーション起動ソフトウエアと、
を含むソフトウエア記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、アプリケーションの起動方法に関するものであり、より詳しくは、サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法に関するものである。
【０００２】
【従来の技術】
従来より、ウエブ・ページ上に、直接インストーラの実行ファイル（ｅｘｅファイル）へのリンクを置き、ユーザーに直接実行させる事でローカルへのアプリケーションの導入を行なっていた。しかし、この方法では、プラットフォームや条件により導入すべきパッケージが異なる場合など、どの導入パッケージを実行すべきかの判断や、前提ソフトウェアの確認をユーザー自身が行わなくてはならない為、最初の起動が繁雑であった。
【０００３】
この一方、アプレットは、配布の容易であるが、アプレットはブラウザの中で動作するという制限がある。一般に「署名付きアプレット」と呼ばれる第三者である認証機関が認証するアプレットも存在するが、署名付きアプレットに対するセキュリティの制限を解除したとしても、ウィンドウ・サイズの変更への追従や、終了を自分で制御できない等の制約がある。また、複数の署名付きアプレットを使用する場合、そのデジタル署名の管理も難しくなるという問題が発生する。
【０００４】
なお、公知技術として、特開平９−１６７０８５号公報が存在する。特開平９−１６７０８５号は、利用者が必要となるプログラム群をネットワークから自動的に取得するに際し、サーバ計算機から取得手順の記述されたスクリプトを受領し、その手順に従ってプログラム群を取得する。また、クライアント計算機に既に存在するプログラムの場合にはサーバ計算機からの取得は行なわないようにしている。
【０００５】
【発明が解決しようとする課題】
本発明の目的は、簡単な操作を行なうだけで、自動的にアプリケーションの実行環境の準備を行い、そのアプリケーションを実行できるコンピュータシステムを提供することにある。
【０００６】
本発明の他の一つの目的は、コンピュータ関する詳しい知識を有していなくても、所定のアプリケーションを実行できるコンピュータシステムを提供することにある。
【０００７】
本発明の他の一つの目的は、アプレットを、アプリケーションの起動時にだけ使用し、アプリケーションのサーバからの取得及び導入を行った後、ローカルで実行できるアプリケーションを起動する事で、サーバ上に存在するアプリケーションを容易かつ高速に起動する事が出来る。
【０００８】
【課題を解決するための手段】
インターネット上簡単に配布ができるアプレットをブートストラップとして使用し、そのブラウザが動作しているＯＳ上で直接稼動するアプリケーションを起動する。本発明の一態様においては、アプレットは、単にアプリケーションのコードをダウンロードするだけではなく、ローカル・ファイルシステムにキャッシュされているか否かの判断を行ったり、前提条件となる他のソフトウェアの確認や、そのバージョンのチェックを行う。ローカル・ファイルシステムにキャッシュされている場合には、アプリケーションのダウンロードは行なわない。また、前提条件となる他のソフトウェアが存在しない場合には、そのソフトウエアをダウンロードし、アプリケーションを起動する。
【０００９】
本発明の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法であって、
（ａ）前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認する実行環境確認アプレットをロードする段階と、
（ｂ）前記実行環境確認アプレットを実行した結果に基づいて、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする段階と、
（ｃ）前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動する段階と、
を含むアプリケーションの起動方法が提供される。
【００１０】
なお、本願明細書の特許請求の範囲において、「アプリケーションをロードするサーバ」、「実行環境確認アプレットをロードするサーバ」、「アプリケーションが必要とするコードと前記アプリケーションの起動コマンドをロードするサーバ」は、共通のサーバであっても、各々異なるサーバであってもよい。また、「アプリケーションが必要とするコード」は、そのアプリケーション本体のコードのみならずそのアプリケーションの実行に際し必要となる付随的コードを包括する概念である。
【００１１】
本発明の他の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法であって、
（ａ）前記クライアント・マシン側でのアプリケーション起動要求に応答して、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする段階と、
（ｂ）前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動する段階と、
を含むアプリケーションの起動方法が提供される。
【００１２】
本発明の他の一態様においては、
前記必要とするコードが前記クライアント・マシンに存在するか否かを判断する段階をさらに含み、前記アプリケーションが必要とするコードと前記アプリケーションの起動コマンドは、前記必要とするコードが前記クライアント・マシンに存在していない場合に前記必要とするコードをサーバからロードすることを特徴とするアプリケーションの起動方法が提供される。
【００１３】
本発明の他の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動するためのソフトウエア・プロダクトであって、
（ａ）前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認するための実行環境確認ソフトウエアと、
（ｂ）前記クライアント・マシン上で起動するアプリケーションが必要とするコードを取得する必要コード取得ソフトウエアと、
（ｃ）前記アプリケーションの起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動するアプリケーション起動ソフトウエアと、
を含むソフトウエア・プロダクトが提供される。
【００１４】
本発明の他の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動するためのソフトウエア・プロダクトであって、
（ａ）前記クライアント・マシン側でのアプリケーション起動要求に応答して、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする必要コード取得ソフトウエアと、
（ｂ）前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動するアプリケーション起動ソフトウエアと、
を含むソフトウエア・プロダクトが提供される。
【００１５】
本発明の他の一態様においては、
前記必要コード取得ソフトウエアは、前記必要となるコードが前記クライアント・マシンに存在するか否かを判断する機能を有していることを特徴とするソフトウエア・プロダクトが提供される。
【００１６】
【実施例】
Ａ．ハードウエア構成
図１は、本発明のコンピュータシステム１００を構成する情報端末１１０またはサーバ１５０を実施するためのハードウェア構成の概観図である。情報端末１１０またはサーバ１５０は、中央処理装置（ＣＰＵ）１とメモリ４とを含んでいる。ＣＰＵ１とメモリ４は、バス２等を介して、補助記憶装置としてのハードディスク装置１３、３１とを接続してある。フロッピーディスク装置（またはＭＯ２８、ＣＤ−ＲＯＭ２６、２９等の媒体駆動装置２６、２８、２９、３０）２０はフロッピーディスクコントローラ（またはＩＤＥコントローラ２５、ＳＣＳＩコントローラ２７等の各種コントローラ）１９を介してバス２へ接続されている。
【００１７】
フロッピーディスク装置（またはＭＯ、ＣＤ−ＲＯＭ等の媒体駆動装置２６、２８、２９、３０）２０には、フロッピーディスク（またはＭＯ、ＣＤ−ＲＯＭ等の媒体）が挿入され、このフロッピーディスク等やハードディスク装置１３、ＲＯＭ１４等の記憶媒体には、オペレーティング・システムと協働してＣＰＵ等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができ、メモリ４にロードされることによって実行される。このコンピュータ・プログラムのコードは圧縮し、または、複数に分割して、複数の媒体にまたがって記録することもできる。
【００１８】
情報端末１１０またはサーバ１５０は更に、ユーザ・インターフェース・ハードウェアを備えたシステムとすることができ、ユーザ・インターフェース・ハードウェアとしては、例えば、画面位置情報を入力をするためのポインティング・デバイス（マウス、ジョイスティック、トラックボール等）７、キー入力をサポートするキーボード６や、イメージデータをユーザに提示するためのディスプレイ１１、１２がある。また、スピーカ２３は、オーディオ・コントローラ２１から音声信号を、アンプ２２を介して受領し、音声として出力する。
【００１９】
この情報端末１１０またはサーバ１５０１００は、シリアルポート１５およびモデムまたは、トークンリング等の通信アダプタ１８等を介して、他のコンピュータや通信衛星等と通信を行うことができる。
【００２０】
本発明は、通常のパーソナルコンピュータ（ＰＣ）やワークステーション、テレビやＦＡＸ等の各種家電製品に組み込まれたコンピュータ、車両や航空機等に搭載されるコンピュータ（カーナビゲーション・システム等）又はこれらの組合せによって実施可能である。ただし、これらの構成要素は例示であり、その全ての構成成要素が本発明の必須の構成要素となるわけではない。特に、本発明は、アプリケーションの起動方法に関するものであるため、スピーカ２３、オーディオ・コントローラ２１、アンプ２２等の構成要素は本発明の一態様においては必須のものではない。
【００２１】
情報端末１１０のオペレーティング・システムとしては、ＷｉｎｄｏｗｓＮＴ（マイクロソフトの商標）、Ｗｉｎｄｏｗｓ９ｘ（マイクロソフトの商標）、Ｗｉｎｄｏｗｓ３．ｘ（マイクロソフトの商標）、ＯＳ／２（ＩＢＭの商標）、ＭａｃＯＳ（Ａｐｐｌｅ社の商標）、Ｌｉｎｕｘ（Ｌｉｎｕｓ  Ｔｏｒｖｌｄｓの商標）、ＡＩＸ（ＩＢＭの商標）上のＸ−ＷＩＮＤＯＷシステム（ＭＩＴの商標）などの、標準でＧＵＩマルチウインドウ環境をサポートするものや、ＰＣ−ＤＯＳ（ＩＢＭの商標）、ＭＳ−ＤＯＳ（マイクロソフトの商標）などのキャラクタ・ベース環境のもの、さらにはＯＳ／Ｏｐｅｎ（ＩＢＭの商標）、ＶｘＷｏｒｋｓ（Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓ，  Ｉｎｃ．の商標）等のリアルタイムＯＳ、ＪａｖａＯＳ等のネットワークコンピュータに組み込まれたＯＳでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。
【００２２】
サーバ１５０のオペレーティング・システムとしては、ＷｉｎｄｏｗｓＮＴ（マイクロソフトの商標）、Ｗｉｎｄｏｗｓ９ｘ（マイクロソフトの商標）、Ｗｉｎｄｏｗｓ３．ｘ（マイクロソフトの商標）、ＯＳ／２（ＩＢＭの商標）、ＭａｃＯＳ（Ａｐｐｌｅ社の商標）、Ｌｉｎｕｘ（Ｌｉｎｕｓ  Ｔｏｒｖｌｄｓの商標）、ＡＩＸ（ＩＢＭの商標）上のＸ−ＷＩＮＤＯＷシステム（ＭＩＴの商標）などの、標準でＧＵＩマルチウインドウ環境をサポートするものが好ましいが、ＰＣ−ＤＯＳ（ＩＢＭの商標）、ＭＳ−ＤＯＳ（マイクロソフトの商標）などのキャラクタ・ベース環境のもの、ＪａｖａＯＳ等のネットワークコンピュータに組み込まれたＯＳでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。
【００２３】
Ｂ．システム構成
図２は、本発明の好適な実施例におけるコンピュータシステムの処理要素を示す機能ブロック図である。本発明の好適な実施例におけるコンピュータシステム１００は、情報端末１１０と、サーバ１５０を含んでいる。
【００２４】
情報端末１１０には、オペレーティング・システム１１１と、オペレーティング・システム１１１上で稼動するクライアント環境１２０が存在する。クライアント環境１２０には、ウエブブラウザ１２１が導入されており、実行時において、ネットワーク１４０を介してサーバ１５０からブートストラップ・アプレット１２３を取得し、Ｊａｖａ仮想マシン１３１上で稼動できるようになっている。
【００２５】
また、情報端末１１０は、履歴情報１３３、起動対象アプリケーション１３５、起動対象アプリケーション前提ソフトウエア１３７を有している。起動対象アプリケーション１３５と起動対象アプリケーション前提ソフトウエア１３７は、後述する本発明の機能によりサーバ１５０からダウンロードされる。
【００２６】
本発明の好適な実施例において、サーバ１５０からダウンロードされるブートストラップ・アプレット１２３には、ローカル環境確認手段１２５、必要コード導入手段１２７、アプリケーション起動手段１２９が含まれている。
【００２７】
ローカル環境確認手段１２５は、図４に示すローカル環境確認情報を保持し、履歴情報を参照し、導入の必要なコードを決定し、導入が必要なコードがある場合には、必要コード導入手段１２７にコードの導入を指示する。導入が必要なコードがない場合には、アプリケーション起動手段１２９にアプリケーションの起動を指示する。
【００２８】
図３は、本発明の好適な実施例における履歴情報のデータ構造を示す概念図である。本発明の好適な実施例における履歴情報２１０には、導入済みソフトウエア名２１１、ソフトウエアＩＤ２１３、導入実行日時２１５、導入先パス名２１７、バージョン情報２１９、前提ソフトウエアＩＤ２２１の情報を含んでいる。ソフトウエアＩＤ２１３、導入実行日時２１５、導入先パス名２１７、バージョン情報２１９、前提ソフトウエアＩＤ２２１の情報は、導入済みソフトウエア名２１１に対応して登録され、導入済みソフトウエア名２２１は、複数登録することができる。
【００２９】
導入済みソフトウエア名２１１は、「エクセル」、「ワード」（「エクセル」及び「ワード」は、マイクロソフト社の商標）等のアプリケーションやダイナミック・リンク・ライブラリ等のその他のソフトウエア名称であり、ソフトウエアＩＤ２１３は、コンピュータシステム１００において、そのソフトウエア固有に付与されて識別子であり、導入実行日時２１５は、そのソフトウエアを導入した日時の情報である。導入先パス名２１７は、”ｃ：￥ｗｉｎｄｏｗｓ”等、そのソフトウエアにアクセスするためのパス情報である。バージョン情報２１９は、そのソフトウエアのバージョン情報である。前提ソフトウエアＩＤ２２１は、そのソフトウエアが動作するために必要なソフトウエアを特定するための情報である。
【００３０】
図４は、本発明の好適な実施例におけるローカル環境確認情報のデータ構造を示す概念図である。本発明の好適な実施例におけるローカル環境確認情報２３０には、導入対象環境情報２３１、起動アプリケーション名２３３、アプリケーションＩＤ２３５、導入先パス名２３７、バージョン情報２３９、前提ソフトウエアＩＤ２４１、アプリケーション確認手段の情報を含んでいる。ソフトウエアＩＤ２３５、導入先パス名２３７、バージョン情報２３９、前提ソフトウエアＩＤ２４１、アプリケーション確認手段２４３の情報は、導入済みソフトウエア名２３３に対応して登録され、導入済みソフトウエア名２３３は、導入対象環境情報２３１に対し複数登録することができる。また、導入対象環境情報２３１も複数登録することができる。
【００３１】
導入対象環境情報２３１は、「ｗｉｎｄｏｗｓ９８」、「ＭａｃＯＳ」（「ｗｉｎｄｏｗｓ９８」は、マイクロソフト社の商標であり、「ＭａｃＯＳ」は、アップル社の商標である）等、アプリケーションが動作する環境を特定するための情報である。導入済みアプリケーション名２３３は、「エクセル」、「ワード」（「エクセル」及び「ワード」は、マイクロソフト社の商標）等のアプリケーションの名称であり、アプリケーションＩＤ２３５は、コンピュータシステム１００において、そのソフトウエア固有に付与されて識別子であり、導入先パス名２３７は、”ｃ：￥ｗｉｎｄｏｗｓ”等、そのアプリケーションにアクセスするためのパス情報である。バージョン情報２３９は、そのアプリケーションのバージョン情報である。前提ソフトウエアＩＤ２４１は、そのアプリケーションが動作するために必要なソフトウエアを特定するための情報である。アプリケーション確認手段２４３は、そのアプリケーションが存在することを確認するためのコマンド等の情報である。
【００３２】
例えば履歴情報１３３に、
導入済みソフトウェア名    ＪＲＥ  １．２．２
ＩＤ                                        １００
導入実行日時                        ２０００／０１／０１
導入先パス                            ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＪａｖａＳｏｆｔ￥ｊｒｅ￥１．２．２
バージョン                            １．２．２
前提ソフトウェアＩＤ            無し
が登録されていたとする。
【００３３】
このＪＲＥ  １．２．２  の存在確認の為、例えば以下のような確認コマンド（スクリプト、疑似コード）を実行する。
「ｅｘｅｃｕｔｅ  ”ｊａｖａ  −ｖｅｒｓｉｏｎ”；（ｊａｖａ  −ｖｅｒｓｉｏｎ  を実行）。」。
導入済みの場合、これに対する応答は、「ｊａｖａ  ｖｅｒｓｉｏｎ  ”１．２．２”」という文字列が返る。またバージョンを確認するために以下のコマンドも発行する。
「ｐａｒｓｅＶｅｒｓｉｏｎ  ”ｊａｖａ  ｖｅｒｓｉｏｎ  ￥”｛０｝￥””；（応答の文字列を確認）」。
パースに失敗した場合は、確認失敗の結果が返る。そして、
「ｉｆ  （ｖｅｒｓｉｏｎ  ＞＝  ”１．２．２”）  ｒｅｔｕｒｎ  ｏｋ；（Ｖｅｒｓｉｏｎ  が  １．２．２  以上を示していればＯＫ）」、「ｅｌｓｅ  ｒｅｔｕｒｎ  ｂａｄ；」により、所望のバージョンが存在するか否かを確認することができる。
【００３４】
また、履歴情報１３３に、
導入済みソフトウェア名    ＢＡＰ  １．０
ＩＤ                                        ２００
導入実行日時                        ２０００／０１／０１
導入先パス                            ｃ：￥ＢＡＰ
バージョン                            １．０
前提ソフトウェアＩＤ            １００
が登録されていたとする。
【００３５】
このＢＡＰ  １．０  の存在確認の為、例えば以下のような確認コマンドにより確認することができる。
「ｃｄ  ＄（ＰＡＴＨ２００）；（履歴情報の導入先パスのＩＤ２００のディレクトリに移動）」、
「ｅｘｅｃｕｔｅ  ”ｊａｖａ  −ｃｌａｓｓｐａｔｈ  ｂａｐ．ｊａｒ  ｃｏｍ．ｉｂｍ．ａｐｓｔ．ｂａｐ．Ｖｅｒｓｉｏｎ”（導入済みの場合、応答は  ＢＡＰ  １．０  という文字列が返る）」。
また、バージョンの確認のため、前述の例と同様に、
「ｐａｒｓｅＶｅｒｓｉｏｎ  ”ＢＡＰ  ｛０｝”；」、
「ｉｆ  （ｖｅｒｓｉｏｎ  ＞＝  ”１．０”）  ｒｅｔｕｒｎ  ｏｋ；」、
「ｅｌｓｅ  ｒｅｔｕｒｎ  ｂａｄ；」を発行する。
【００３６】
必要コード導入手段１２７は、ローカル環境確認手段１２５より取得すべきソフトウエア名、ソフトウエアＩＤ、導入先のパス情報、バージョン情報のセットを取得し、サーバ１５０に対し、そのソフトウエアを取得するためのリクエストを送信する。また取得したソフトウエアを導入先パス情報に基づいて登録し、また登録の確認を行なう。アプリケーション起動手段１２９は、アプリケーションの起動や起動の確認を行なう。なお、本発明の好適な実施例におけるブートストラップ・アプレットや導入するソフトウエアには認証機関による署名が含まれており、ユーザがブラウザ等においてその認証機関の署名を含むソフトウエアのセキュリティ・チェックを解除する設定にすることによって、セキュリティを維持しつつ、繁雑な確認操作を行なうことなく導入作業が実行されることとなる。
【００３７】
図５は、本発明の好適な実施例におけるアプリケーション起動情報のデータ構造を示す概念図である。本発明の好適な実施例におけるアプリケーション起動情報２５０には、導入対象環境情報２５１、導入済みアプリケーション名２５３、アプリケーションＩＤ２５５、起動コマンド２５７、起動確認手段２５９の情報を含んでいる。アプリケーションＩＤ２５５、起動コマンド２５７、起動確認手段２５９の情報は、導入済みソフトウエア名２５３に対応して登録され、導入済みソフトウエア名２５３は、導入対象環境情報２５１に対し複数登録することができる。また、導入対象環境情報２５１も複数登録することができる。
【００３８】
導入対象環境情報２３１は、ローカル環境確認情報の場合と同様に「ｗｉｎｄｏｗｓ９８」、「ＭａｃＯＳ」等、アプリケーションが動作する環境を特定するための情報である。導入済みアプリケーション名２５３も、「エクセル」、「ワード」（「エクセル」及び「ワード」は、マイクロソフト社の商標）等のアプリケーションの名称であり、アプリケーションＩＤ２３５は、コンピュータシステム１００において、そのソフトウエア固有に付与されて識別子である。起動コマンド２５７は、そのアプリケーションを起動するためのコマンドの情報である。起動確認手段２５９は、そのアプリケーションが正常に起動されたか否かを確認するためのコマンド等の情報である。
【００３９】
なお、前述の例で示したＢＡＰ  １．０  の起動に際しては、以下のような起動コマンド（スクリプト、疑似コード等）を実行することができる。
「ｃｄ  ＄（ＰＡＴＨ２００）；（履歴情報の導入先パスのＩＤ２００のディレクトリに移動）
「ｅｘｅｃｕｔｅ  ”ｊａｖａ  −ｃｌａｓｓｐａｔｈ  ｂａｐ．ｊａｒ  ｃｏｍ．ｉｂｍ．ａｐｓｔ．ｂａｐ．ＢＡＰ  ｄａｔａ￥Ｓｔａｒｔ．ｘｍｌ”」
【００４０】
また、ＢＡＰ  １．０  の起動確認の為、上記起動コマンド実行後、以下のような起動確認コマンド（スクリプト、疑似コード等）を実行することができる。
「ｆｉｎｄＳｔｒｉｎｇ  ”ＢＡＰ  Ｓｔａｒｔｅｄ”  ｔｉｌｌ  ３０  ｓｅｃ；（３０秒以内に  ＢＡＰ  Ｓｔａｒｔｅｄ  の文字列を標準出力で確認する。確認できない場合、失敗を返す）
「ｐｒｏｃｅｓｓ  ｒｕｎｎｉｎｇ；（起動したプロセスは終了していない。終了している場合、失敗を返す）
「ｒｅｔｕｒｎ  ｏｋ；」。
【００４１】
Ｃ．処理手順
本発明の処理手順を図６に示すフローチャートを用いて説明する。
【００４２】
まず、クライアント環境１２０において、ユーザがウエブブラウザ１２１を起動し、サーバ１５０のＵＲＬを入力することにより（ステップ４０３）、ブートストラップ・アプレット１２３がロードされる（ステップ４０５）。
【００４３】
図９は、ブートストラップ・アプレット１２３がロードされた状態の本発明の好適な実施例におけるウエブ・ブラウザ画面を示す概念図である。図に示すように、ブートストラップ・アプレット１２３がロードされた状態の本発明の好適な実施例におけるウエブ・ブラウザ画面７００には、アプリケーション起動ボタン７０１が配置される。
【００４４】
なお、本発明の好適な実施例においては説明を簡単にするためにローカル環境確認手段１２５、必要コード導入手段１２７、アプリケーション起動手段１２９のコードをアプリケーション起動ボタン７０１が押されると同時にロードしているが、各コードのロードは、ボタン７０１のクリックと同時ではなくても良い。例えば、ボタン７０１が押されると同時にロードされるブートストラップ・アプレット１２３には、各コードにアクセスするための情報を埋めこんでおき、各コードの実行時または、それに先立って各コード毎、または所定の組み合わせでサーバ１５０または他のサーバから取得してもよい。
【００４５】
ユーザがアプリケーションの起動を要求すべく、アプリケーション起動ボタン７０１を押すと（ステップ４０７）、ローカル環境確認手段１２５が起動する（ステップ４０９）。図７は、ローカル環境確認手段の主な動作手順を示すフローチャートである。なお、本発明の一態様においては、ユーザによるアプリケーションの起動要求に先立って、アプリケーションの導入先等をユーザに設定させることも可能である。
【００４６】
まず、ローカル環境確認手段１２５は、情報端末１１０のオペレーティング・システム１１１の種類を確認し、ローカル環境確認情報２３０（図４）に登録されたそのオペレーティングシステムに対応する起動アプリケーションを決定し、その情報２３３〜２４３を取得するする（ステップ４４３）。なお、情報端末１１０のオペレーティング・システム１１１は、Ｊａｖａのシステム・プロパティやＨＴＴＰリクエストのエージェント名を参照すること等により識別することができる。
【００４７】
次に、ローカル環境確認手段１２５は、履歴情報２１０（図３）にアクセスし、起動対象アプリケーション２３３や前提ソフトウエア２４１の全てが既に導入されているか否かをアプリケーション名やＩＤやバージョン等により判断する（ステップ４３５）。その全てが過去に導入済みであると判断された場合には（ステップ４３６）、処理を図６のフローに戻す（ステップ４４７）。過去に導入済みでない（バージョンの不一致等を含む）ソフトウエアが存在すると判断された場合には、ローカル環境確認情報２３０（図４）よりソフトウエア確認手段２４３を取得し、それを実行する（ステップ４３７）。
【００４８】
具体的には、前述の確認コマンドを発行し、帰ってきたメッセージでソフトウエアの存在やそのバージョンを調べることや、所定のダイナミック・リンク・ライブラリを探索し、その内容を参照することにより、所定のソフトウエアの存在やそのバージョン情報を取得することができる。これにより、履歴情報２１０には、登録されていないが、情報端末１１０に既に存在するソフトウエアを有効に利用することができる。
【００４９】
情報端末１１０において、使用可能かつ有効なソフトウエアの存在が確認されず、必要なコードの導入が必要であると判断された場合には、必要コード導入手段１２７を実行し、サーバ１５０またはその他のサーバから必要なコードを取得する（ステップ４４１）。
【００５０】
図８は、必要コード導入手段の主な動作手順を示すフローチャートである。必要コード導入手段が起動されると、必要となるソフトウエアの導入パッケージをサーバ１５０または他のサーバから取得する。サーバからの取得が正常に終了しなかった場合には、所定回数のリトライを行い、それにもかかわらず正常終了できなかった場合には、エラー表示を行い、処理を終了する（ステップ４５５、４５７、４６３、４６５）。導入パッケージの入手処理が正常に終了した場合には、インストーラの起動を行い、ソフトウエアの導入を行なう（ステップ４５９）。ソフトウエアの導入が正常に終了しなかった場合には、エラー表示を行い、処理を終了する（ステップ４６１、４６３、４６５）。ソフトウエアの導入が正常に終了した場合には、処理を図７に返す（ステップ４６７）。
【００５１】
具体例を紹介すると、例えば、ＢＡＰ  １．０  （ＩＤ  ２００）  のパッケージが存在しない場合、ブートストラップ・アプレットは、サーバにＵＲＬを問い合わせ、ｆｔｐ：／／ｂｏｏｔａｐｐｌｅｔ．ｈｏｓｔ／ａｐｐｌｉｃａｔｉｏｎｓ／ＢＡＰ１０．ｅｘｅ  を得る。そして、ブートストラップ・アプレットは、適当なローカルディレクトリ、ｃ：￥ＢＡＰＰＬＥＴ￥ＤＯＷＮＬＯＡＤ  に  ＢＡＰ１０．ｅｘｅ  をダウンロードする。
【００５２】
この例において、入手された、ＢＡＰ１０．ｅｘｅは、自己解凍型の圧縮ファイルであり、ＢＡＰ１０．ｅｘｅ  を実行する事により、インストーラを含む導入パッケージが現れる。この導入パッケージは、例えば、Ｉｎｓｔａｌｌ  Ｓｈｉｅｌｄ  （「Ｉｎｓｔａｌｌ  Ｓｈｉｅｌｄ」は、ＩｎｓｔａｌｌＳｈｉｅｌｄ  Ｓｏｆｔｗａｒｅ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  等で作成された物を利用することもできる。
【００５３】
そして解凍されたインストーラを起動する。例えば、上述の「Ｉｎｓｔａｌｌ  Ｓｈｉｅｌｄ」を利用する場合、ｓｅｔｕｐ．ｅｘｅ  をサイレント・モードで応答ファイルを指定して起動する。（ｓｅｔｕｐ  −ｓ  −ｆ１Ｒｅｓｐｏｎｓｅ．ｉｓｓ）  。その後、解凍された不要なファイルを消去する。Ｉｎｓｔａｌｌ  Ｓｈｅｉｌｄ  には、解凍から、インストーラの実行、ファイルの消去を、ＢＡＰ１０．ｅｘｅ  を起動するだけで行うことが出来る導入パッケージを作成するツールも付属している。
【００５４】
ステップ４３９において既に情報端末１１０に使用可能かつ有効なソフトウエアの存在が確認された場合や、ステップ４４１において必要なソフトウエアの導入が正常に終了した場合には、その情報を履歴情報２１０に記録する（ステップ４４３）。前提となるソフトウエアを含む全てのソフトウエアの導入が確認された場合には処理を図６のフローに戻す（ステップ４４７）。更にソフトウエアの導入が必要な場合には、ステップ４３５に処理を戻す。
【００５５】
図６のステップ４０９の処理が終了すると、次に対象アプリケーションが起動される（ステップ４１３）。具体的には、アプリケーション起動情報２５０（図５）にアクセスし、対象のアプリケーションに対応する起動コマンド２５７を実行する。そして、対応する起動確認手段２５９を実行することにより、対象アプリケーションの起動を確認する。そして、起動が正常に終了したと判断された場合は、本発明の処理を終了し、正常に終了しなかったと判断された場合は、リトライを行なう（ステップ４１９）。リトライが失敗した場合にはエラー表示を行い、処理を終了する（ステップ４２１、４１７）。
【００５６】
【発明の効果】
以上説明したように、本発明によれば、簡単な操作を行なうだけで、自動的にアプリケーションの実装環境の準備を行い、そのアプリケーションを実行することができる。
【００５７】
本発明の一態様においては、コンピュータ関する詳しい知識を有していなくても、簡単な操作を行なうだけで、ネットワークに存在する所定のアプリケーションを所定の場所に導入し、そのアプリケーションを実行し、利用することができる。
【００５８】
本発明の一態様においては、署名付きアプレットを、アプリケーションの起動時にだけ使用し、アプリケーションのサーバからの取得及び導入を行った後、ローカルで実行できるアプリケーションを起動する事で、容易かつ高速に起動する事が出来る。
【００５９】
【図面の簡単な説明】
【図１】本発明の情報端末またはサーバのハードウェア構成の一実施例を示すブロック図である。
【図２】本発明の好適な実施例におけるコンピュータシステムの処理要素を示す機能ブロック図である。
【図３】本発明の好適な実施例における履歴情報のデータ構造を示す概念図である。
【図４】本発明の好適な実施例におけるローカル環境確認情報のデータ構造を示す概念図である。
【図５】本発明の好適な実施例におけるアプリケーション起動情報のデータ構造を示す概念図である。
【図６】好適な実施例における本発明の処理手順を示すフローチャートである。
【図７】本発明の好適な実施例におけるローカル環境確認手段の主な動作手順を示すフローチャートである。
【図８】本発明の好適な実施例における必要コード導入手段の主な動作手順を示すフローチャートである。
【図９】ブートストラップ・アプレットがロードされた状態の本発明の好適な実施例におけるウエブ・ブラウザ画面を示す概念図である。
【符号の説明】
１００  コンピュータシステム
１１０  情報端末
１１１  オペレーティングシステム
１２０  クライアント
１２１  ウエブブラウザ
１２３  ブートストラップ・アプレット
１２５  ローカル環境確認手段
１２７  必要コード導入手段
１２９  アプリケーション起動手段
１３１  Ｊａｖａ仮想マシン
１３３  履歴情報
１３５  起動対象アプリケーション
１３７  起動対象アプリケーション前提ソフトウエア
１４０  ネットワーク
１５０  サーバ・マシン
１５１  ＨＴＴＰデーモン
１５３  ブートストラップ・アプレット
１５５  起動対象アプリケーション
１５７  起動対象アプリケーション前提ソフトウエア
【図１】
0003578266.tif 000002
【図２】
0003578266.tif 000003
【図３】
0003578266.tif 000004
【図４】
0003578266.tif 000005
【図５】
0003578266.tif 000006
【図６】
0003578266.tif 000007
【図７】
0003578266.tif 000008
【図８】
0003578266.tif 000009
【図９】
0003578266.tif 000010