JP2003521036A - クライアント・コンピュータのブラウザからアプリケーションを受取り、インストールしかつランチするためのブラウザ独立及び自動装置及び方法 - Google Patents
クライアント・コンピュータのブラウザからアプリケーションを受取り、インストールしかつランチするためのブラウザ独立及び自動装置及び方法Info
- Publication number
- JP2003521036A JP2003521036A JP2001554165A JP2001554165A JP2003521036A JP 2003521036 A JP2003521036 A JP 2003521036A JP 2001554165 A JP2001554165 A JP 2001554165A JP 2001554165 A JP2001554165 A JP 2001554165A JP 2003521036 A JP2003521036 A JP 2003521036A
- Authority
- JP
- Japan
- Prior art keywords
- application
- client computer
- metafile
- browser
- java
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000009434 installation Methods 0.000 claims abstract description 32
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000011900 installation process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 102100034761 Cilia- and flagella-associated protein 418 Human genes 0.000 description 1
- 101100439214 Homo sapiens CFAP418 gene Proteins 0.000 description 1
- 241000183290 Scleropages leichardti Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
ブラウザからアプリケーションを受信し、インストールし、及びランチするためのブラウザ独立及び自動装置及び方法が説明されている。一つの実施例によれば、ヘルパ・アプリケーションが、特定されたファイル形式のために、ブラウザに登録される。ブラウザが、特定されたファイル形式のメタファイルへのリンクに出会うと、ファイルは、要求しているシステムへダウンロードされ、及びヘルパ・アプリケーションは、ダウンロードされたファイルを処理するために呼び出される。JavaTM実装の文脈において、ダウンロードされたメタファイルは、JavaTMアプリケーションのためのショート・ランチ・ファイル仕様を具備し、及び一組のユニバーサル・リソース識別子(“URIs”)、JavaTM実行環境(“JRE”)バージョン、セキュリティの考慮、及び実行されるべきJavaTMアプリケーションに関する他の関連情報として、クラスパスを特定する。本発明の特徴によれば、JavaTMアーカイブ・ファイル(“JARファイル”)及びクラス・ファイルの自動インストールが、それらがダウンロードされる源となるURIsに基づいて実装され、自動更新及びバージョニングが、中央管理なくサポートされ、及び複数のJREの自動インストールが容易になる。本発明の実施例は、ブラウザ内で実行する必要なく、ブラウザから直接JavaTMアプリケーションをランチする等、他のアプリケーションを容易にし、及びウェブ・コンテンツを適切な、対応するビューア・アプリケーションに結びつけるためにも使用されてよい。
Description
【0001】
1.(技術分野)
本発明は、データ通信ネットワーク及びにそのようなネットワーク用に適する
ソフトウェア・アプリケーションに関する。より特定的には、本発明は、クライ
アント・コンピュータのブラウザからアプリケーションを受取り、インストール
し)かつランチするためのブラウザ独立及び自動装置及び方法に関する。
ソフトウェア・アプリケーションに関する。より特定的には、本発明は、クライ
アント・コンピュータのブラウザからアプリケーションを受取り、インストール
し)かつランチするためのブラウザ独立及び自動装置及び方法に関する。
【0002】
2.(背景技術)
当業者に知られているように、ジャバ(Java)TM言語は、通常のハイパー
・マークアップ・テキスト言語(“HTML”)ブラウザに統合することができ
るサン・マイクロシステムズ・インコーポレーティッド(Sun Micros
ystems, Inc.)によって開発されたオブジェクト指向言語であり、
かつそれは、文書(ドキュメント)サーバに文書並びに実行可能コードを有する
ブラウザを供給させる。実行可能コードは、HTMLブラウザがそれがユーザ・
マシンに既に存在する適切なコードを有していないということを決定した場合に
は文書サーバから自動的にロードされる。
・マークアップ・テキスト言語(“HTML”)ブラウザに統合することができ
るサン・マイクロシステムズ・インコーポレーティッド(Sun Micros
ystems, Inc.)によって開発されたオブジェクト指向言語であり、
かつそれは、文書(ドキュメント)サーバに文書並びに実行可能コードを有する
ブラウザを供給させる。実行可能コードは、HTMLブラウザがそれがユーザ・
マシンに既に存在する適切なコードを有していないということを決定した場合に
は文書サーバから自動的にロードされる。
【0003】
一般に、実行可能コードは、マシンに依存しない“バイトコード(bytec
odes)”を備えている、“アプレット(Applets)”として知られた
アプリケーション・プログラムの形を取る。次いで、これらのアプレットは、オ
ペレーティング・システム特定アプレット・インタプリタ(仮想マシン)によっ
て解釈される。例えば、ジャバTM言語を用いている現行のインターネット/ウェ
ブ・ブラウザ・インプリメンテーションは、またサン・マイクロシステムズ・イ
ンコーポレーティッドによって開発された、ホット・ジャバ(Hot Java
)TMブラウザである。
odes)”を備えている、“アプレット(Applets)”として知られた
アプリケーション・プログラムの形を取る。次いで、これらのアプレットは、オ
ペレーティング・システム特定アプレット・インタプリタ(仮想マシン)によっ
て解釈される。例えば、ジャバTM言語を用いている現行のインターネット/ウェ
ブ・ブラウザ・インプリメンテーションは、またサン・マイクロシステムズ・イ
ンコーポレーティッドによって開発された、ホット・ジャバ(Hot Java
)TMブラウザである。
【0004】
ジャバTM・クラス・ファイルのプラットフォーム独立特質は、開発者に、それ
らのアプリケーション・プログラムの一つのバージョンを書かせ、それから 様
々な異なるハードウェア及びオペレーティング・システムにアプリケーション・
プログラムを配置させる。更に、ジャバTM・プラットフォームは、非常に高度な
セキュリティ・モデルをインプリメント(以下、実施、または実現とも称する)
する。このセキュリティ・モデルによれば、ユーザは、信頼できないジャバTM・
アプリケーションを実行することができかつユーザのシステム及び個人データの
保全性が決して傷つけられないということを確信する。例えば、よく知られてい
るように、ジャバTM・アプリケーションは、あらゆる損害から又はユーザのシス
テム又はローカル・ネットワークに記憶される私用(プライベート)情報へのア
クセスを得ることからそれを防ぐ“サンドボックス”で実行されうる。
らのアプリケーション・プログラムの一つのバージョンを書かせ、それから 様
々な異なるハードウェア及びオペレーティング・システムにアプリケーション・
プログラムを配置させる。更に、ジャバTM・プラットフォームは、非常に高度な
セキュリティ・モデルをインプリメント(以下、実施、または実現とも称する)
する。このセキュリティ・モデルによれば、ユーザは、信頼できないジャバTM・
アプリケーションを実行することができかつユーザのシステム及び個人データの
保全性が決して傷つけられないということを確信する。例えば、よく知られてい
るように、ジャバTM・アプリケーションは、あらゆる損害から又はユーザのシス
テム又はローカル・ネットワークに記憶される私用(プライベート)情報へのア
クセスを得ることからそれを防ぐ“サンドボックス”で実行されうる。
【0005】
上記したように、現在、ネットワーク上にジャバTM・アプリケーションを配置
(デプロイ)する一般的な方法は、ジャバTM・アプレットを用いることによる。
アプレットは、ジャバTM・イネーブル形ウェブ・ブラウザによって一般にダウン
ロードされかつ実行され、かつユーザによって必要なインストレーション(設置
)なしでウェブ上にジャバTM・ソフトウェアを配置することを可能にする。残
念ながら、ワールド・ワイド・ウェブ上及びイントラネット上でのアプレットの
使用は、期待した程まだ評判がよくない。この状況は、主に二つの要因による:
第1に、ブラウザ・ベンダーは、ジャバTM・プラットフォームの最新バージョン
及び一つ以上前のバージョンの両方をそれらのプロダクトに組み入れることをた
めらっている。第2に、全てのアプリケーションがブラウザ・ウィンドウによく
フィットするわけではないし、かつこれは、アプレット配置モデルを使用しずら
くする。
(デプロイ)する一般的な方法は、ジャバTM・アプレットを用いることによる。
アプレットは、ジャバTM・イネーブル形ウェブ・ブラウザによって一般にダウン
ロードされかつ実行され、かつユーザによって必要なインストレーション(設置
)なしでウェブ上にジャバTM・ソフトウェアを配置することを可能にする。残
念ながら、ワールド・ワイド・ウェブ上及びイントラネット上でのアプレットの
使用は、期待した程まだ評判がよくない。この状況は、主に二つの要因による:
第1に、ブラウザ・ベンダーは、ジャバTM・プラットフォームの最新バージョン
及び一つ以上前のバージョンの両方をそれらのプロダクトに組み入れることをた
めらっている。第2に、全てのアプリケーションがブラウザ・ウィンドウによく
フィットするわけではないし、かつこれは、アプレット配置モデルを使用しずら
くする。
【0006】
それゆえに、必要なものは、ブラウザに依存しない(ジャバTM・アプリケーシ
ョンのような)ソフトウェア・プログラムに対する“ワン−クリック”ネットを
中心にした配置モデルを供給する技術である。本発明の形態によりここに記述す
る装置及び方法は、開発者にそれらのアプリケーションにおける最新のジャバTM 技術を使用させ、かつブラウザがジャバTM・イネーブル形である否かに係わりな
く、あらゆるウェブ・ブラウザを通してそれらを配置させる、ブラウザ統合形で
あるが、しかしブラウザに依存しない(ブラウザ独立)の、解決策を供給する。
更に、本発明は、アプリケーションの寿命及び/又はスクリーン・リアル・エス
テート要件がアプレット・アプローチを非実用的にするような状況にアプリケー
ションを配置するための解決策を供給することによってアプレット・モデルを補
足する。更に、本発明は、様々なその他の技術に対するイネーブリング(使用可
能)技術として理解することもできる。本発明のこれら及びその他の特徴及び利
点は、本発明の以下の明細書及び関連図に詳細に示される。
ョンのような)ソフトウェア・プログラムに対する“ワン−クリック”ネットを
中心にした配置モデルを供給する技術である。本発明の形態によりここに記述す
る装置及び方法は、開発者にそれらのアプリケーションにおける最新のジャバTM 技術を使用させ、かつブラウザがジャバTM・イネーブル形である否かに係わりな
く、あらゆるウェブ・ブラウザを通してそれらを配置させる、ブラウザ統合形で
あるが、しかしブラウザに依存しない(ブラウザ独立)の、解決策を供給する。
更に、本発明は、アプリケーションの寿命及び/又はスクリーン・リアル・エス
テート要件がアプレット・アプローチを非実用的にするような状況にアプリケー
ションを配置するための解決策を供給することによってアプレット・モデルを補
足する。更に、本発明は、様々なその他の技術に対するイネーブリング(使用可
能)技術として理解することもできる。本発明のこれら及びその他の特徴及び利
点は、本発明の以下の明細書及び関連図に詳細に示される。
【0007】
(発明の開示)
ブラウザからアプリケーションを受取り、設置し、かつ送り出すためのブラウ
ザ独立及び自動化装置及び方法を記述する。一実施形態によれば、ヘルパー・ア
プリケーションは、特定されたファイル形式に対してブラウザに登録される。ブ
ラウザが特定したファイル形式のメタファイルへのリンクに出会ったときには、
ファイルは、要求しているシステムにダウンロードされかつヘルパー・アプリケ
ーションは、ダウンロードされたファイルを処理するために呼出される。ジャバ TM ・インプリメンテーションのコンテキストでは、ダウンロードされたメタファ
イルは、ジャバTM・アプリケーションに対するショート・ランチ・ファイル仕様
を備え、かつ一組のユニバーサル・リソース識別子(汎用資源識別子)(“UR
Is”)、ジャバTM実行時環境(“JRE”)バージョン、セキュリティ考慮、
及び実行すべきジャバTM・アプリケーションに関するその他の関連情報としてク
ラスパス(classpath)を指定する。本発明の形態によれば、それらがダウンロー
ドされるURIsに基づくジャバTMアーカイブ・ファイル(“JARファイル”
)及びクラス・ファイルの自動設置(インストレーション)がインプリメントさ
れ、自動更新及びバージョニングは、中央管理なしでサポートされ、かつ複数の
JREsの自動設置は、容易に行われる。また、本発明の実施形態は、ブラウザ
内でそれらを実行することなくブラウザから直接ジャバTMアプリケーションを送
り出すような、その他のアプリケーションを容易にし、かつウェブ・コンテンツ
を適切な対応するビューワ・アプリケーションに結び付けるために用いられうる
。
ザ独立及び自動化装置及び方法を記述する。一実施形態によれば、ヘルパー・ア
プリケーションは、特定されたファイル形式に対してブラウザに登録される。ブ
ラウザが特定したファイル形式のメタファイルへのリンクに出会ったときには、
ファイルは、要求しているシステムにダウンロードされかつヘルパー・アプリケ
ーションは、ダウンロードされたファイルを処理するために呼出される。ジャバ TM ・インプリメンテーションのコンテキストでは、ダウンロードされたメタファ
イルは、ジャバTM・アプリケーションに対するショート・ランチ・ファイル仕様
を備え、かつ一組のユニバーサル・リソース識別子(汎用資源識別子)(“UR
Is”)、ジャバTM実行時環境(“JRE”)バージョン、セキュリティ考慮、
及び実行すべきジャバTM・アプリケーションに関するその他の関連情報としてク
ラスパス(classpath)を指定する。本発明の形態によれば、それらがダウンロー
ドされるURIsに基づくジャバTMアーカイブ・ファイル(“JARファイル”
)及びクラス・ファイルの自動設置(インストレーション)がインプリメントさ
れ、自動更新及びバージョニングは、中央管理なしでサポートされ、かつ複数の
JREsの自動設置は、容易に行われる。また、本発明の実施形態は、ブラウザ
内でそれらを実行することなくブラウザから直接ジャバTMアプリケーションを送
り出すような、その他のアプリケーションを容易にし、かつウェブ・コンテンツ
を適切な対応するビューワ・アプリケーションに結び付けるために用いられうる
。
【0008】
(好適な実施形態の詳細な説明)
ジャバ(Java)TMプログラミング言語及びジャバ(Java)TMソフトウ
ェア・パラダイムのコンテキストでここに本発明の一実施形態を説明する。当業
者は、本発明の以下の説明は、説明のためだけでありかつあらゆる方法において
限定するものではないということを認識するであろう。本発明のその他の実施形
態は、この開示の利益を有するそのような当業者にそれら自体を容易に提案する
であろう。
ェア・パラダイムのコンテキストでここに本発明の一実施形態を説明する。当業
者は、本発明の以下の説明は、説明のためだけでありかつあらゆる方法において
限定するものではないということを認識するであろう。本発明のその他の実施形
態は、この開示の利益を有するそのような当業者にそれら自体を容易に提案する
であろう。
【0009】
本発明は、ブラウザにジャバTMプラットフォームをインプリメントすることを
要求しないで、かつユーザに一つの“クリック”(又はその他の同等なユーザ・
インタフェース動作)を実行することを要求するだけで、ウェブ−ブラウザから
クライアント・コンピュータに、ジャバTMアプリケーションのような、ソフトウ
ェア・アプリケーションを受取り、設置し、かつ送り出すための装置及び方法に
関する。参照は、添付した図面に示すような本発明のインプリメンテーションに
対して詳細にいま行われるであろう。同じ参照番号が同じか又は同様な部分を示
すために図面及び以下の説明全体を通じて用いられる。
要求しないで、かつユーザに一つの“クリック”(又はその他の同等なユーザ・
インタフェース動作)を実行することを要求するだけで、ウェブ−ブラウザから
クライアント・コンピュータに、ジャバTMアプリケーションのような、ソフトウ
ェア・アプリケーションを受取り、設置し、かつ送り出すための装置及び方法に
関する。参照は、添付した図面に示すような本発明のインプリメンテーションに
対して詳細にいま行われるであろう。同じ参照番号が同じか又は同様な部分を示
すために図面及び以下の説明全体を通じて用いられる。
【0010】
図1は、本発明の形態をインプリメントするために適するクライアント・コン
ピュータ・システム10のブロック図を示す。図1に示すように、クライアント
・コンピュータ・システム10は、中央処理装置14、システム・メモリ16(
一般にRAM)、入出力(I/O)コントローラ18、ディスプレイ・アダプタ
26を介するディスプレイ・スクリーン24のような外部装置、シリアル・ポー
ト28及び30、キーボード32、固定ディスク・ドライブ34、フロッピ・デ
ィスク38を受取るように動作するフロッピ・ディスク・ドライブ36、及びC
D−ROM42を受取るように動作するCD−ROMプレーヤ40のような主要
サブシステムを相互接続するバス12を含む。シリアル・ポート28を介して接
続されたポインティング・デバイス44(例えば、マウス)及びシリアル・ポー
ト30を介して接続されたモデム46のような、多くのその他のデバイスを接続
することができる。モデム46は、電話リンクを介してリモート・サーバへの又
はPOP(存在のポイント)を介してインターネットへの直接接続を供給しうる
。代替的に、ネットワーク・インタフェース・アダプタ48は、当業者に知られ
たあらゆるネットワーク・インタフェース・システム(例えば、イサーネット、
DSL、アップルトーク(AppleTalk)TM)を用いてローカル又はワイ
ド・エリア・ネットワークにインタフェースするために用いられうる。
ピュータ・システム10のブロック図を示す。図1に示すように、クライアント
・コンピュータ・システム10は、中央処理装置14、システム・メモリ16(
一般にRAM)、入出力(I/O)コントローラ18、ディスプレイ・アダプタ
26を介するディスプレイ・スクリーン24のような外部装置、シリアル・ポー
ト28及び30、キーボード32、固定ディスク・ドライブ34、フロッピ・デ
ィスク38を受取るように動作するフロッピ・ディスク・ドライブ36、及びC
D−ROM42を受取るように動作するCD−ROMプレーヤ40のような主要
サブシステムを相互接続するバス12を含む。シリアル・ポート28を介して接
続されたポインティング・デバイス44(例えば、マウス)及びシリアル・ポー
ト30を介して接続されたモデム46のような、多くのその他のデバイスを接続
することができる。モデム46は、電話リンクを介してリモート・サーバへの又
はPOP(存在のポイント)を介してインターネットへの直接接続を供給しうる
。代替的に、ネットワーク・インタフェース・アダプタ48は、当業者に知られ
たあらゆるネットワーク・インタフェース・システム(例えば、イサーネット、
DSL、アップルトーク(AppleTalk)TM)を用いてローカル又はワイ
ド・エリア・ネットワークにインタフェースするために用いられうる。
【0011】
多くのその他のデバイス又はサブシステム(図示省略)は、同様に接続されう
る。また、以下に示すように、本発明を実行するために図1に示すデバイスの全
てが存在することを必要としない。更に、機器及びサブシステムは、図1に示す
ものとは異なる方法で相互接続されうる。図1に示したもののようなコンピュー
タ・システムの動作は、この技術分野で容易に知られておりかつ本発明の説明を
更に複雑にしないように、この出願では詳細に説明しない。本発明をインプリメ
ントするためのコードは、システム・メモリ16に動作可能に配置されうるか又
は固定ディスク34又はフロッピ・ディスク38のような記憶媒体に記憶されう
る。
る。また、以下に示すように、本発明を実行するために図1に示すデバイスの全
てが存在することを必要としない。更に、機器及びサブシステムは、図1に示す
ものとは異なる方法で相互接続されうる。図1に示したもののようなコンピュー
タ・システムの動作は、この技術分野で容易に知られておりかつ本発明の説明を
更に複雑にしないように、この出願では詳細に説明しない。本発明をインプリメ
ントするためのコードは、システム・メモリ16に動作可能に配置されうるか又
は固定ディスク34又はフロッピ・ディスク38のような記憶媒体に記憶されう
る。
【0012】
図2は、リモート・サーバ50、52、及び54へのクライアント・コンピュ
ータ・システム10の相互接続を示す。図2は、リモート・サーバ50、52、
及び54を相互接続するインターネット56のような異種データ通信ネットワー
クを示す。モデム42又はその他のネットワーク・インタフェースは、クライア
ント・コンピュータ・システム10からインターネット56までの接続を供給す
る。インターネットを介してデータを交換するプロトコルは、よく知られており
かつここで説明する必要はない。図2は、データを交換するためのインターネッ
トの使用を示すが、本発明は、インターネットに限定されるものではない。
ータ・システム10の相互接続を示す。図2は、リモート・サーバ50、52、
及び54を相互接続するインターネット56のような異種データ通信ネットワー
クを示す。モデム42又はその他のネットワーク・インタフェースは、クライア
ント・コンピュータ・システム10からインターネット56までの接続を供給す
る。インターネットを介してデータを交換するプロトコルは、よく知られており
かつここで説明する必要はない。図2は、データを交換するためのインターネッ
トの使用を示すが、本発明は、インターネットに限定されるものではない。
【0013】
インターネットの一つのよく知られたアプリケーションは、ワールド・ワイド
・ウェブ(“WWW”)である。リモート・サーバ50、52、及び54は、そ
れぞれウェブ・サイトへのアクセスを供給しうる。リモート・サーバ50、52
、及び54で入手可能なWWWドキュメントをアクセスするために、クライアン
ト・コンピュータ・システム10は、ハイパーテキスト・マークアップ言語(“
HTML”)ブラウザ・プログラムを一般に動作する。この目的に用いられうる
市販されているブラウザは、サン・マイクロシステムズ・インコーポレーティド
から入手可能な、ホット・ジャバ(HotJava)TMブラウザである。
・ウェブ(“WWW”)である。リモート・サーバ50、52、及び54は、そ
れぞれウェブ・サイトへのアクセスを供給しうる。リモート・サーバ50、52
、及び54で入手可能なWWWドキュメントをアクセスするために、クライアン
ト・コンピュータ・システム10は、ハイパーテキスト・マークアップ言語(“
HTML”)ブラウザ・プログラムを一般に動作する。この目的に用いられうる
市販されているブラウザは、サン・マイクロシステムズ・インコーポレーティド
から入手可能な、ホット・ジャバ(HotJava)TMブラウザである。
【0014】
当業者によく知られているように、事実上、全ての市販されているブラウザ(
例えば、上記したホット・ジャバ(HotJava)TMブラウザ、ネットスケー
プ(Natscape)TMナビゲータ(Navigator)TM、マイクロソフ
ト(Microsoft)TMインターネット・エクスプローラ(Intern
et Explore)TM)は、(“マイム(mime)形式”としても知られ
る)所与のコンテント形式に対するブラウザにヘルパ・アプリケーションを関連
付けることができるように設計される。本発明のコンテキストでは、用語“コン
テント形式”及び“マイム形式”は、明記しない限り互いに交換可能に用いられ
る。当業者は、マイム形式がクライアント・コンピュータ10とリモート・サー
バ50、52、及び54のような、ネットワーク上のコンピュータ間で情報を転
送するためにハイパーテキスト・トランスファー・プロトコル(“HTTP”)
によって用いられるインターネット標準の一部であるといいうことを知っている
。マイム形式は、階層型/部分型構造(例えば、“text/plain”、“
text/html”)に編成され、かつ専門機関によって集中的に管理される
。
例えば、上記したホット・ジャバ(HotJava)TMブラウザ、ネットスケー
プ(Natscape)TMナビゲータ(Navigator)TM、マイクロソフ
ト(Microsoft)TMインターネット・エクスプローラ(Intern
et Explore)TM)は、(“マイム(mime)形式”としても知られ
る)所与のコンテント形式に対するブラウザにヘルパ・アプリケーションを関連
付けることができるように設計される。本発明のコンテキストでは、用語“コン
テント形式”及び“マイム形式”は、明記しない限り互いに交換可能に用いられ
る。当業者は、マイム形式がクライアント・コンピュータ10とリモート・サー
バ50、52、及び54のような、ネットワーク上のコンピュータ間で情報を転
送するためにハイパーテキスト・トランスファー・プロトコル(“HTTP”)
によって用いられるインターネット標準の一部であるといいうことを知っている
。マイム形式は、階層型/部分型構造(例えば、“text/plain”、“
text/html”)に編成され、かつ専門機関によって集中的に管理される
。
【0015】
各コンテント形式(例えば、“.pdf”、“.ps”)、又は同様に、各マ
イム形式に対して、ブラウザは、所与のコンテント形式(例えば、“.pdf”
ファイルに対するアドーブ(Adobe)TMアクロバット(Acrobat)TM 、“.ps”ファイルに対するゴーストビュー(Ghostview)TM)を処
理するために適当なヘルパ・アプリケーションをサーチする。一般に、ブラウザ
自体は、‘text/html’(HTMLドキュメントに対するマイム形式)
のようなコンテント形式を処理する。
イム形式に対して、ブラウザは、所与のコンテント形式(例えば、“.pdf”
ファイルに対するアドーブ(Adobe)TMアクロバット(Acrobat)TM 、“.ps”ファイルに対するゴーストビュー(Ghostview)TM)を処
理するために適当なヘルパ・アプリケーションをサーチする。一般に、ブラウザ
自体は、‘text/html’(HTMLドキュメントに対するマイム形式)
のようなコンテント形式を処理する。
【0016】
図3は、当業者に知られたアプリケーションのネット配置に対するアプレット
・モデルのブロック図を示す。図3に示すように、サーバ50は、インターネッ
ト56を介してクライアント・コンピュータ10にHTMLファイル320のよ
うなファイルを転送することができるように構成されたハイパーテキスト・トラ
ンスファー・プロトコル(“HTTP”)サーバ310を備えている。クライア
ント・コンピュータ10には、ブラウザ330がインストール(設置)されてい
る。
・モデルのブロック図を示す。図3に示すように、サーバ50は、インターネッ
ト56を介してクライアント・コンピュータ10にHTMLファイル320のよ
うなファイルを転送することができるように構成されたハイパーテキスト・トラ
ンスファー・プロトコル(“HTTP”)サーバ310を備えている。クライア
ント・コンピュータ10には、ブラウザ330がインストール(設置)されてい
る。
【0017】
当業者に知られたジャバ(Java)TMアプレット・モデルによれば、ブラウ
ザ330は、(それが)ジャバ(Java)TM実行環境(Runtime En
vironment)(“JRE”)の少なくとも一つのバージョンを含まなけ
ればならないことを意味する、“ジャバ(Java)TMイネーブル型”でなけれ
ばならない。また、ヘルパ・アプリケーション340は、クライアント・コンピ
ュータ10にもインストールされうる。本発明のコンテキストでは、ヘルパ・ア
プリケーションは、指定ファイル形式のファイルがブラウザによって出会ったと
きにブラウザによって呼出されるスタンドアロン・アプリケーションである。一
般に、ヘルパ・アプリケーションは、指定ファイル形式が出会ったときにブラウ
ザが正確なヘルパ・アプリケーションを呼出すことを知っているように、指定フ
ァイル形式に対するブラウザに登録されていなければならない。例えば、先に示
したように、当業者は、アドーブ(Adobe)TMアクロバット(Acroba
t)TMリーダ・アプリケーションが“.pdf”ファイル形式に一般的にに関連
付けられるということを認識する。“plug−ins”とは異なり、ヘルパ・
アプリケーションは、ブラウザに関して個別の処理として一般に実行する。
ザ330は、(それが)ジャバ(Java)TM実行環境(Runtime En
vironment)(“JRE”)の少なくとも一つのバージョンを含まなけ
ればならないことを意味する、“ジャバ(Java)TMイネーブル型”でなけれ
ばならない。また、ヘルパ・アプリケーション340は、クライアント・コンピ
ュータ10にもインストールされうる。本発明のコンテキストでは、ヘルパ・ア
プリケーションは、指定ファイル形式のファイルがブラウザによって出会ったと
きにブラウザによって呼出されるスタンドアロン・アプリケーションである。一
般に、ヘルパ・アプリケーションは、指定ファイル形式が出会ったときにブラウ
ザが正確なヘルパ・アプリケーションを呼出すことを知っているように、指定フ
ァイル形式に対するブラウザに登録されていなければならない。例えば、先に示
したように、当業者は、アドーブ(Adobe)TMアクロバット(Acroba
t)TMリーダ・アプリケーションが“.pdf”ファイル形式に一般的にに関連
付けられるということを認識する。“plug−ins”とは異なり、ヘルパ・
アプリケーションは、ブラウザに関して個別の処理として一般に実行する。
【0018】
更に図3を参照すると、アプレット・モデルによれば、サーバ・コンピュータ
50に最初に記憶された、HTMLファイル320は、ジャバ(Java)TMア
プレット(Applet)350を呼出すリンクを含みうる。一つのそのような
リンクは、HTMLファイル320を備えているHTMLコード内で以下のよう
に現れうる: <APPLET code=“SampleApplet.class”COD
EBASE=http://www.xyz.com/appletsdir/
HEIGT=300 WIDTH=400></APPLET> ジャバ(Java)TMイネーブル型ブラウザ330が上記したリンクのような
(“タグ(tag)”としても知られる)リンクに出会ったときには、それは、CO
DEBASEパラメータ(例えば、http://www.xyz.com/a
ppletsdir/)によって指定された場所から指定アプレット(例えば、
“SampleApplet”)コードをダウンロードし、次いでブラウザ環境
内でアプレットを実行することができる。定義によって、ジャバ(Java)TM イネーブル型ブラウザは、ブラウザ・アプリケーションの一部を形成するJRE
のバージョンを用いてジャバ(Java)TMアプレット(Applet)を解釈
しかつ実行することができるように構成されているので、これが可能である。一
般に、CODEBASEパラメータが供給されていない場合には、HTMLファ
イル320がサーバ50に記憶された場所のユニバーサル・リソース識別子(“
URI”)を用いる。当業者に知られているように、指定アプレットの“寿命”
は、ブラウザの寿命によって制限され、かつユーザが、アプレットがランチされ
た(送り出された)ウェブ・ページを離れるとすぐに終了されうる。アプレット
は、上記リンクの例が明確に示すように(開くアプレット・ウィンドウの高さ及
び幅を指定する)、ブラウザ・ウィンドウズ(登録商標)で一般に実行されると
いうことも注目すべきである。
50に最初に記憶された、HTMLファイル320は、ジャバ(Java)TMア
プレット(Applet)350を呼出すリンクを含みうる。一つのそのような
リンクは、HTMLファイル320を備えているHTMLコード内で以下のよう
に現れうる: <APPLET code=“SampleApplet.class”COD
EBASE=http://www.xyz.com/appletsdir/
HEIGT=300 WIDTH=400></APPLET> ジャバ(Java)TMイネーブル型ブラウザ330が上記したリンクのような
(“タグ(tag)”としても知られる)リンクに出会ったときには、それは、CO
DEBASEパラメータ(例えば、http://www.xyz.com/a
ppletsdir/)によって指定された場所から指定アプレット(例えば、
“SampleApplet”)コードをダウンロードし、次いでブラウザ環境
内でアプレットを実行することができる。定義によって、ジャバ(Java)TM イネーブル型ブラウザは、ブラウザ・アプリケーションの一部を形成するJRE
のバージョンを用いてジャバ(Java)TMアプレット(Applet)を解釈
しかつ実行することができるように構成されているので、これが可能である。一
般に、CODEBASEパラメータが供給されていない場合には、HTMLファ
イル320がサーバ50に記憶された場所のユニバーサル・リソース識別子(“
URI”)を用いる。当業者に知られているように、指定アプレットの“寿命”
は、ブラウザの寿命によって制限され、かつユーザが、アプレットがランチされ
た(送り出された)ウェブ・ページを離れるとすぐに終了されうる。アプレット
は、上記リンクの例が明確に示すように(開くアプレット・ウィンドウの高さ及
び幅を指定する)、ブラウザ・ウィンドウズ(登録商標)で一般に実行されると
いうことも注目すべきである。
【0019】
当業者は、ある一定のジャバ・インプリメンテーションが、また、指定アプレ
ット“クラス”を、指定ジャバ・アプレット・クラスが位置決めされる前に一般
にダウンロードされるジャバ・アーカイブ(Java Archive)ファイ
ル (“.jar file”、又は“JAR file”とも呼ばれる)から
ロードさせることも分かる。JARファイルのようなアーカイブ・ファイルは、
アプリケーション又はアプレット開発者に、一つの圧縮ファイルの所与のアプリ
ケーション又はアプレットを実行するために必要な全てのコード及びデータ・フ
ァイルを含ませることができ、それにより向上したダウンロード・スピードを供
給しかつネットワーク形環境でアプリケーションをディストリビュート(分配ま
たは分散とも称する)するためにそれをあまり複雑にしない。例えば、以下のH
TMLコードは、アーカイブ・ファイルを指定するためのに用いうる: <APPLET ARCHIVES=“myarchive.jar”CODE
=“SampleApplet.class”> </APPLET> 図3に示すブラウザ330のようなジャバ(Java)TMイネーブル型ブラウ
ザが上記HTMLコードに出会ったときには、それは、サーバ50から“mya
rchive.jar”アーカイブ・ファイル360をまずダウンロードし、次
いでダウンロードした“myarchive.jar”アーカイブ・ファイル3
60内で“SampleApplet.class”コードを見付けることを試
みる。ブラウザがアーカイブ・ファイル360の指定クラスを位置決めできない
場合には、それは、以前のように、CODEBASEパラメータによって指定さ
れた場所をサーチする。APPLETタグのアーカイブ・ファイルを指定するこ
とは、性能最適化を表し、ジャバ(Java)・アプレット・コードを備えてい
るクラスをロードするときに、可能であれば、ブラウザに指定したアーカイブを
プレ・ロードしかつそのアーカイブを用いるように命令する。アーカイブ・ファ
イル360が見い出されなかった場合には、又は要求したクラス・ファイルが指
定アーカイブ内で見い出されなかった場合には、上述した通常のクラス位置決め
手順が用いられうる。
ット“クラス”を、指定ジャバ・アプレット・クラスが位置決めされる前に一般
にダウンロードされるジャバ・アーカイブ(Java Archive)ファイ
ル (“.jar file”、又は“JAR file”とも呼ばれる)から
ロードさせることも分かる。JARファイルのようなアーカイブ・ファイルは、
アプリケーション又はアプレット開発者に、一つの圧縮ファイルの所与のアプリ
ケーション又はアプレットを実行するために必要な全てのコード及びデータ・フ
ァイルを含ませることができ、それにより向上したダウンロード・スピードを供
給しかつネットワーク形環境でアプリケーションをディストリビュート(分配ま
たは分散とも称する)するためにそれをあまり複雑にしない。例えば、以下のH
TMLコードは、アーカイブ・ファイルを指定するためのに用いうる: <APPLET ARCHIVES=“myarchive.jar”CODE
=“SampleApplet.class”> </APPLET> 図3に示すブラウザ330のようなジャバ(Java)TMイネーブル型ブラウ
ザが上記HTMLコードに出会ったときには、それは、サーバ50から“mya
rchive.jar”アーカイブ・ファイル360をまずダウンロードし、次
いでダウンロードした“myarchive.jar”アーカイブ・ファイル3
60内で“SampleApplet.class”コードを見付けることを試
みる。ブラウザがアーカイブ・ファイル360の指定クラスを位置決めできない
場合には、それは、以前のように、CODEBASEパラメータによって指定さ
れた場所をサーチする。APPLETタグのアーカイブ・ファイルを指定するこ
とは、性能最適化を表し、ジャバ(Java)・アプレット・コードを備えてい
るクラスをロードするときに、可能であれば、ブラウザに指定したアーカイブを
プレ・ロードしかつそのアーカイブを用いるように命令する。アーカイブ・ファ
イル360が見い出されなかった場合には、又は要求したクラス・ファイルが指
定アーカイブ内で見い出されなかった場合には、上述した通常のクラス位置決め
手順が用いられうる。
【0020】
図4は、本発明の形態に従ったアプリケーションに対するネット配置モデルを
示す。図4に示すように、図3に示すアプレット(Applet)・モデルのジ
ャバ(Java)TMイネーブル型ブラウザ330は、ジャバ(Java)TMイネ
ーブル型でありうるかそうではない、ブラウザ410で置き換えられた。本発明
の形態によるブラウザ410の唯一の要件は、それが指定したマイム形式又はフ
ァイル形式に対してヘルパ・アプリケーションを登録することができるように構
成されていなければならないということである(即ち、ヘルパ・アプリケーショ
ンは、ブラウザがアクセスしているコンテントのマイム形式に基づき又はファイ
ル拡張又はファイルに関連付けられたその他の識別子に基づいて呼出されなけれ
ばならない)。先に示したように、事実上、全ての最新ブラウザは、この要件を
支持(サポート)する。
示す。図4に示すように、図3に示すアプレット(Applet)・モデルのジ
ャバ(Java)TMイネーブル型ブラウザ330は、ジャバ(Java)TMイネ
ーブル型でありうるかそうではない、ブラウザ410で置き換えられた。本発明
の形態によるブラウザ410の唯一の要件は、それが指定したマイム形式又はフ
ァイル形式に対してヘルパ・アプリケーションを登録することができるように構
成されていなければならないということである(即ち、ヘルパ・アプリケーショ
ンは、ブラウザがアクセスしているコンテントのマイム形式に基づき又はファイ
ル拡張又はファイルに関連付けられたその他の識別子に基づいて呼出されなけれ
ばならない)。先に示したように、事実上、全ての最新ブラウザは、この要件を
支持(サポート)する。
【0021】
図4を更に参照すると、また、クライアント・コンピュータ10は、一つ以上
のJREs430を備えている。以下に詳述するように、ジャバ(Java)TM イネーブル型ブラウザに組み入れられうるJRE’sから分離されるクライアン
ト・コンピュータ10における少なくとも一つのJRE430の存在は、本発明
の形態によるジャバ・アプリケーションのブラウザ独立式実行を可能にする。以
下に詳述するように、JRE430がクライアント・コンピュータ10に設置さ
れなかった場合でも、本発明の形態により適当なJREが自動的にダウンロード
されかつ設置されうる。
のJREs430を備えている。以下に詳述するように、ジャバ(Java)TM イネーブル型ブラウザに組み入れられうるJRE’sから分離されるクライアン
ト・コンピュータ10における少なくとも一つのJRE430の存在は、本発明
の形態によるジャバ・アプリケーションのブラウザ独立式実行を可能にする。以
下に詳述するように、JRE430がクライアント・コンピュータ10に設置さ
れなかった場合でも、本発明の形態により適当なJREが自動的にダウンロード
されかつ設置されうる。
【0022】
そして、またアプレット・モデルにも存在しうるその他のヘルパ・アプリケー
ション340に加えて、クライアント・コンピュータ10は、また、本発明の一
実施形態においてジャバ・ネット・ランチャー(Java Net Launch
er)(“JNet”)420と呼ばれる、新しい形式のヘルパ・アプリケーシ
ョンを備えている。以下に詳述するように、一実施形態では、JNetヘルパ・
アプリケーション420は、ブラウザ410が新しいジャバ・ネット・ランチャ
ー(Java Net Launcher)(“.jnl”又は“JNL”)ファ
イル・フォーマットを有しているメタファイルに出会うときにJNetヘルパ・
アプリケーション420が呼出されるようにブラウザ410に登録される。本発
明のコンテキストでは、用語“メタファイル”は、アプリケーションの形態又は
成分を記述又は定義するファイルを示す。
ション340に加えて、クライアント・コンピュータ10は、また、本発明の一
実施形態においてジャバ・ネット・ランチャー(Java Net Launch
er)(“JNet”)420と呼ばれる、新しい形式のヘルパ・アプリケーシ
ョンを備えている。以下に詳述するように、一実施形態では、JNetヘルパ・
アプリケーション420は、ブラウザ410が新しいジャバ・ネット・ランチャ
ー(Java Net Launcher)(“.jnl”又は“JNL”)ファ
イル・フォーマットを有しているメタファイルに出会うときにJNetヘルパ・
アプリケーション420が呼出されるようにブラウザ410に登録される。本発
明のコンテキストでは、用語“メタファイル”は、アプリケーションの形態又は
成分を記述又は定義するファイルを示す。
【0023】
多数のJRE’sがクライアント・コンピュータ10に設置される場合には、
JNetヘルパ・アプリケーション420は、JNLメタファイルに供給された
情報に基づき所与のアプリケーションに対して用いるために適当なJRE430
を選択することができる。適当なJREがクライアント・コンピュータ10に設
置されていない場合には、JNetヘルパ・アプリケーション420は、信用ソ
ースから適当なJREを自動的にダウンロードしかつ設置することができる。
JNetヘルパ・アプリケーション420は、JNLメタファイルに供給された
情報に基づき所与のアプリケーションに対して用いるために適当なJRE430
を選択することができる。適当なJREがクライアント・コンピュータ10に設
置されていない場合には、JNetヘルパ・アプリケーション420は、信用ソ
ースから適当なJREを自動的にダウンロードしかつ設置することができる。
【0024】
一実施形態では、JNetヘルパ・アプリケーション420が、既に設置され
たブラウザから現行のプロキシ設定及び関連オプションを見い出すために設計さ
れるので、JNetヘルパ・アプリケーション420の設置及び構成は、非常に
少しのユーザ・インタラクションで実行することができ、かつそれは、もしあれ
ば、どのJRE’sが設置されるかを決定するためにクライアント・システム1
0をサーチする。JRE’sがクライアント・システム10で見い出されなかっ
た場合には、JNetヘルパ・アプリケーションは、適当なJRE又はインター
ネット56を介してJRE’sを自動的にダウンロードしかつ設置するように構
成することができる。好ましくは、セキュリティ考慮により、クライアント・コ
ンピュータ10にダウンロードされる(JNetヘルパ・アプリケーションを含
む)ヘルパ・アプリケーション又はJRE’sは、信用ソースから入力されかつ
クライアント・コンピュータ10に信頼できる手段(例えば、暗号、パスワード
保護、コード署名、等)によって受け渡されるべきである。
たブラウザから現行のプロキシ設定及び関連オプションを見い出すために設計さ
れるので、JNetヘルパ・アプリケーション420の設置及び構成は、非常に
少しのユーザ・インタラクションで実行することができ、かつそれは、もしあれ
ば、どのJRE’sが設置されるかを決定するためにクライアント・システム1
0をサーチする。JRE’sがクライアント・システム10で見い出されなかっ
た場合には、JNetヘルパ・アプリケーションは、適当なJRE又はインター
ネット56を介してJRE’sを自動的にダウンロードしかつ設置するように構
成することができる。好ましくは、セキュリティ考慮により、クライアント・コ
ンピュータ10にダウンロードされる(JNetヘルパ・アプリケーションを含
む)ヘルパ・アプリケーション又はJRE’sは、信用ソースから入力されかつ
クライアント・コンピュータ10に信頼できる手段(例えば、暗号、パスワード
保護、コード署名、等)によって受け渡されるべきである。
【0025】
また、図4に示すサーバ50は、本発明の形態に従って既知の技法に関しても
変更される。更に、図3のHTTPサーバ310は、以下に詳述するように、新
しいJNLメタファイル・フォーマットを処理するように構成される。ほとんど
の市販されているHTTPサーバは、このような方法で構成することができるよ
うに構成されているということに注目すべきである。特に、当業者に知られてい
るように、クライアント・コンピュータのウェブ−ブラウザのヘルパ・アプリケ
ーションの自動化ランチングを可能にするために、ウェブ−サーバは、それがク
ライアントに送信するファイルの種類に対して正確な“マイム形式”を供給しな
ければならない。例えば、既に示したように、標準HTMLファイルに対して供
給されたマイム形式は、‘text/html’である。本発明の一実施形態で
は、新しいJNLメタファイルに対するマイム形式は、‘アプリケーション/ジ
ャバ’として定義される。この実施形態では、HTTPサーバ310は、JNL
メタファイル自体と一緒にこのマイム形式を送信するように構成されなければな
らない。例えば、当業者に知られた市販されているアパッチ(Apache)H
TTPサーバでは、この段階は、(<apache−root>/conf/h
ttp.conf file)に一般に記憶される)ウェブ・サーバ構成に以下
のラインを追加することを単に含む: AddType application/java jnl これは、本発明による装置及び方法を支持(サポート)するためにHTTPサ
ーバ310に対して行うことが必要な唯一の変更である。代替的に(例としてア
パッチHTTPサーバをまだ用いて)、ユーザは、以下のラインを有するために
(<apache−root>/conf/mime.typesのデフォルト
によって記憶された)マイム形式ファイルを変更することができる: application/java jnl 最後の例として(例としてアパッチHTTPサーバをまだ用いて)、HTTP
サーバがファイル・オーバーライドを許容する場合には(これは、構成オプショ
ンである)、特定のディレクトリのファイルに対する所与の拡張の形式は、メタ
タイルを含んでいるディレクトリの.htaccessファイルに以下のライン
を追加することによって指定することができる: AddType application/java jnl 上記した最初の二つのオプションは、これらのファイルが通常全てのユーザに
よって編集可能ではないので、システム管理者の介入を一般に必要とする。対照
的に、第三のオプションは、一般的にユーザが行うことが許されうるところのも
のである。例えば、ユーザが 上記最初の二つの例で説明したように構成ファイ
ルを変更するためにシステム管理者を納得させることができなかった場合には、
ユーザは、メタファイルを含んでいるディレクトリにおいて上記した更なるライ
ンにより.htaccessファイルをまだ生成することができる。多くのその
他の市販されているHTTPサーバに対するその他のサーバ構成解決策は、各特
定の構造解決策が各インプリメンテーションの要求事項により選択されることで
、当業者に容易に知られるであろう。
変更される。更に、図3のHTTPサーバ310は、以下に詳述するように、新
しいJNLメタファイル・フォーマットを処理するように構成される。ほとんど
の市販されているHTTPサーバは、このような方法で構成することができるよ
うに構成されているということに注目すべきである。特に、当業者に知られてい
るように、クライアント・コンピュータのウェブ−ブラウザのヘルパ・アプリケ
ーションの自動化ランチングを可能にするために、ウェブ−サーバは、それがク
ライアントに送信するファイルの種類に対して正確な“マイム形式”を供給しな
ければならない。例えば、既に示したように、標準HTMLファイルに対して供
給されたマイム形式は、‘text/html’である。本発明の一実施形態で
は、新しいJNLメタファイルに対するマイム形式は、‘アプリケーション/ジ
ャバ’として定義される。この実施形態では、HTTPサーバ310は、JNL
メタファイル自体と一緒にこのマイム形式を送信するように構成されなければな
らない。例えば、当業者に知られた市販されているアパッチ(Apache)H
TTPサーバでは、この段階は、(<apache−root>/conf/h
ttp.conf file)に一般に記憶される)ウェブ・サーバ構成に以下
のラインを追加することを単に含む: AddType application/java jnl これは、本発明による装置及び方法を支持(サポート)するためにHTTPサ
ーバ310に対して行うことが必要な唯一の変更である。代替的に(例としてア
パッチHTTPサーバをまだ用いて)、ユーザは、以下のラインを有するために
(<apache−root>/conf/mime.typesのデフォルト
によって記憶された)マイム形式ファイルを変更することができる: application/java jnl 最後の例として(例としてアパッチHTTPサーバをまだ用いて)、HTTP
サーバがファイル・オーバーライドを許容する場合には(これは、構成オプショ
ンである)、特定のディレクトリのファイルに対する所与の拡張の形式は、メタ
タイルを含んでいるディレクトリの.htaccessファイルに以下のライン
を追加することによって指定することができる: AddType application/java jnl 上記した最初の二つのオプションは、これらのファイルが通常全てのユーザに
よって編集可能ではないので、システム管理者の介入を一般に必要とする。対照
的に、第三のオプションは、一般的にユーザが行うことが許されうるところのも
のである。例えば、ユーザが 上記最初の二つの例で説明したように構成ファイ
ルを変更するためにシステム管理者を納得させることができなかった場合には、
ユーザは、メタファイルを含んでいるディレクトリにおいて上記した更なるライ
ンにより.htaccessファイルをまだ生成することができる。多くのその
他の市販されているHTTPサーバに対するその他のサーバ構成解決策は、各特
定の構造解決策が各インプリメンテーションの要求事項により選択されることで
、当業者に容易に知られるであろう。
【0026】
図4を更に参照すると、本発明の形態によるサーバ50は、また、それらもま
たサポートされている、ジャバ・アプレット・コード・ファイル350及びジャ
バ・アーカイブ・ファイル360に加えて、HTMLファイル320によって呼
出されうる(一実施形態において“JNLメタファイル”又は“.jnl me
tafiles”と呼ばれる)一つ以上のメタファイル450を備えている。
たサポートされている、ジャバ・アプレット・コード・ファイル350及びジャ
バ・アーカイブ・ファイル360に加えて、HTMLファイル320によって呼
出されうる(一実施形態において“JNLメタファイル”又は“.jnl me
tafiles”と呼ばれる)一つ以上のメタファイル450を備えている。
【0027】
それゆえに、本発明の形態によれば、新しいコンテント形式、又はマイム形式
は、ジャバTMアプリケーション(例えば、アプリケーション/ジャバ)に対して
定義される。そのようなコンテント形式へのリンクは、以下の例におけるように
、標準HTMLコードを用いてウェブ・ページ内のどこにでも挿入することがで
きる: <a href=“http://www.mysite.com/myApp
.jnl”>Launch My App</a> ユーザが上にリストしたようなリンクをクリックするときには、クライアント
・コンピュータのブラウザは、ローカル一時ファイルに(各インプリメンテーシ
ョンにより、スタティック・テキストでありうるか又は自動的に発生されうる)
http://www.mysite.com/myApp.jnlメタファイ
ルのコンテンツをダウンロードし、そしてアーギュメントとしてこのローカル一
時ファイルでJNetヘルパ・アプリケーションをランチする。
は、ジャバTMアプリケーション(例えば、アプリケーション/ジャバ)に対して
定義される。そのようなコンテント形式へのリンクは、以下の例におけるように
、標準HTMLコードを用いてウェブ・ページ内のどこにでも挿入することがで
きる: <a href=“http://www.mysite.com/myApp
.jnl”>Launch My App</a> ユーザが上にリストしたようなリンクをクリックするときには、クライアント
・コンピュータのブラウザは、ローカル一時ファイルに(各インプリメンテーシ
ョンにより、スタティック・テキストでありうるか又は自動的に発生されうる)
http://www.mysite.com/myApp.jnlメタファイ
ルのコンテンツをダウンロードし、そしてアーギュメントとしてこのローカル一
時ファイルでJNetヘルパ・アプリケーションをランチする。
【0028】
上記の例では、“myApp.jnl”ファイルは、要求された特定アプリケ
ーションをランチする方法に関する情報を含む新らしいジャバTMネットワーク・
ランチャー・ファイル(JavaTM Nework Launcher File
)(“JNLメタファイル”)である。特に、後に続くセクションにより完全に
説明するように、JNLメタファイルは、ジャバTMアプリケーション(例えば、
クラスパス、コードベース、等)、セキュリティ情報(例えば、アプリケーショ
ンをセキュリティ・サンドボックスで実行すべきかどうか)、JREどのバージ
ョンでアプリケーションを実行することを期待しているか、及びアプリケーショ
ン名、ベンダー、又はアイコンのような、主にディスプレイ又は情報目的に対す
る更なる情報を備えているクラスを取得する場所に関する情報を含む。
ーションをランチする方法に関する情報を含む新らしいジャバTMネットワーク・
ランチャー・ファイル(JavaTM Nework Launcher File
)(“JNLメタファイル”)である。特に、後に続くセクションにより完全に
説明するように、JNLメタファイルは、ジャバTMアプリケーション(例えば、
クラスパス、コードベース、等)、セキュリティ情報(例えば、アプリケーショ
ンをセキュリティ・サンドボックスで実行すべきかどうか)、JREどのバージ
ョンでアプリケーションを実行することを期待しているか、及びアプリケーショ
ン名、ベンダー、又はアイコンのような、主にディスプレイ又は情報目的に対す
る更なる情報を備えているクラスを取得する場所に関する情報を含む。
【0029】
図5は、本発明の形態に従ってブラウザからアプリケーションを受取り、イン
ストール(設置)し、かつランチする(送り出す)ブラウザ独立式方法500を
説明するフローチャートである。図5に示すように、段階510では、当業者に
知られたあらゆる方法を用いて、JNetヘルパ・アプリケーションは、ブラウ
ザがJNLメタファウルへのリンクに出会うときにJNetヘルパ・アプリケー
ションが呼出されるように、JNLファイル形式に対して(又は、同様に、“ア
プリケーション/ジャバ”マイム形式に対して)クライアント・コンピュータの
ブラウザに登録される。一実施形態では、段階520が行われる前に、JNet
ヘルパ・アプリケーションがクライアント・コンピュータに設置されたというこ
とが仮定される。段階520では、JNLメタファイルへのリンクは、HTML
ファイルにおいて出会う。これが起こったときに、段階530では、JNLメタ
ファイルのコピーがクライアント・コンピュータのローカル一時ファイルにダウ
ンロードされ、段階540では、JNetヘルパ・アプリケーションは、JNe
tヘルパ・アプリケーションへの入力パラメータとしてJNLメタファイルのダ
ウンロードしたローカル一時コピーにより、ブラウザによって呼出される。
ストール(設置)し、かつランチする(送り出す)ブラウザ独立式方法500を
説明するフローチャートである。図5に示すように、段階510では、当業者に
知られたあらゆる方法を用いて、JNetヘルパ・アプリケーションは、ブラウ
ザがJNLメタファウルへのリンクに出会うときにJNetヘルパ・アプリケー
ションが呼出されるように、JNLファイル形式に対して(又は、同様に、“ア
プリケーション/ジャバ”マイム形式に対して)クライアント・コンピュータの
ブラウザに登録される。一実施形態では、段階520が行われる前に、JNet
ヘルパ・アプリケーションがクライアント・コンピュータに設置されたというこ
とが仮定される。段階520では、JNLメタファイルへのリンクは、HTML
ファイルにおいて出会う。これが起こったときに、段階530では、JNLメタ
ファイルのコピーがクライアント・コンピュータのローカル一時ファイルにダウ
ンロードされ、段階540では、JNetヘルパ・アプリケーションは、JNe
tヘルパ・アプリケーションへの入力パラメータとしてJNLメタファイルのダ
ウンロードしたローカル一時コピーにより、ブラウザによって呼出される。
【0030】
段階550では、JNetヘルパ・アプリケーションは、JNLメタファイル
で記述したアプリケーションをインストール(設置)しかつランチする(送り出
す)ために必要なコンポーネントを識別するためにJNLメタファイルをパーズ
する。段階560では、JNetヘルパ・アプリケーションは、好ましくは可能
な限りユーザ・インタラクションを必要としないように、クライアント・コンピ
ュータに、クライアント・コンピュータに既に設置されていないそのようなコン
ポーネントをダウンロードする。ダウンロードすべきコンポーネントは、ジャバ TM アプリケーション・コード(即ち、クラス・ファイル)、JARファイル、J
RE’s、又は要求されたアプリケーション(例えば、データ・ファイル、サウ
ンド・ファイル、イメージ・ファイル、等)を実行するために必要なその他のコ
ンポーネントを含みうる。既に示したように、適当なJREがクライアント・コ
ンピュータに既に設置されていなくても、JNetヘルパ・アプリケーションは
、インターネットを介して又は同様なネットワークを介して適切なJREを受取
りかつ設置することができるように構成されている。段階570では、一度要求
されたアプリケーションを設置しかつ送り出すために必要な全てのコンポーネン
トが取得されたならば、JNetヘルパ・アプリケーションは、再度、好ましく
は可能な限りユーザ・インタラクションを必要としないように、要求されたアプ
リケーションをクライアント・コンピュータに設置する。そして、段階580で
は、JNetヘルパ・アプリケーションは、JNetヘルパ・アプリケーション
が段階540で呼出されたブラウザ処理から分離された処理として要求されたア
プリケーションを送り出す。別個の処理として要求されたアプリケーション及び
ブラウザを実行することは、一つの処理における“キャッシュ”が他の処理に影
響を及ぼさないように、互いにそれらを引き離す。
で記述したアプリケーションをインストール(設置)しかつランチする(送り出
す)ために必要なコンポーネントを識別するためにJNLメタファイルをパーズ
する。段階560では、JNetヘルパ・アプリケーションは、好ましくは可能
な限りユーザ・インタラクションを必要としないように、クライアント・コンピ
ュータに、クライアント・コンピュータに既に設置されていないそのようなコン
ポーネントをダウンロードする。ダウンロードすべきコンポーネントは、ジャバ TM アプリケーション・コード(即ち、クラス・ファイル)、JARファイル、J
RE’s、又は要求されたアプリケーション(例えば、データ・ファイル、サウ
ンド・ファイル、イメージ・ファイル、等)を実行するために必要なその他のコ
ンポーネントを含みうる。既に示したように、適当なJREがクライアント・コ
ンピュータに既に設置されていなくても、JNetヘルパ・アプリケーションは
、インターネットを介して又は同様なネットワークを介して適切なJREを受取
りかつ設置することができるように構成されている。段階570では、一度要求
されたアプリケーションを設置しかつ送り出すために必要な全てのコンポーネン
トが取得されたならば、JNetヘルパ・アプリケーションは、再度、好ましく
は可能な限りユーザ・インタラクションを必要としないように、要求されたアプ
リケーションをクライアント・コンピュータに設置する。そして、段階580で
は、JNetヘルパ・アプリケーションは、JNetヘルパ・アプリケーション
が段階540で呼出されたブラウザ処理から分離された処理として要求されたア
プリケーションを送り出す。別個の処理として要求されたアプリケーション及び
ブラウザを実行することは、一つの処理における“キャッシュ”が他の処理に影
響を及ぼさないように、互いにそれらを引き離す。
【0031】
一実施形態では、アプリケーション設置及び送り出し処理全体(即ち、段階5
30、540、550、560、570及び580)は、ユーザ・インタラクシ
ョンを必要としない(JNLメタファイルへのリンクを含むHTMLファイルは
、当業者に知られた方法によって既に呼出されていることを仮定する)。
30、540、550、560、570及び580)は、ユーザ・インタラクシ
ョンを必要としない(JNLメタファイルへのリンクを含むHTMLファイルは
、当業者に知られた方法によって既に呼出されていることを仮定する)。
【0032】
一実施形態では、ジャバTMアプリケーションに対するコードは、URIsで構
成されているクラスパスによってポイントされる。例えば、クラスパスは、以下
のようにJNLメタファイルで指定することができる: classpath=http://www.mysite.com/myAp
p.jar;http://www.mysite.com/classes URIネーム・スペースが集中的に管理されかつインターネット上のどこかに
あるファイル又は類似する資源を独自に識別するように設計されるので、URI
ネーム・スペースは、ネーム・スペース・コリジョン問題に対して固有の免疫で
あるということに注目すべきである。JNetヘルパ・アプリケーションは、こ
れらのURIsni基づくディレクトリ構造を用いてローカル・マシンに指定ク
ラスを自動的に設置する。例えば: <installation−root>/http/80/www.mysi
te.com/myApp.jar それゆえに、設置ディレクトリがJNLメタファイルの最初の場所のURIに
基づき選択されるので、アプリケーションを設置する場所を決定するためにユー
ザ入力を必要としない。更に、また、アプリケーションが両方とも同じJARフ
ァイルをポイントする場合には、アプリケーションは、JARファイルを共有し
うる。
成されているクラスパスによってポイントされる。例えば、クラスパスは、以下
のようにJNLメタファイルで指定することができる: classpath=http://www.mysite.com/myAp
p.jar;http://www.mysite.com/classes URIネーム・スペースが集中的に管理されかつインターネット上のどこかに
あるファイル又は類似する資源を独自に識別するように設計されるので、URI
ネーム・スペースは、ネーム・スペース・コリジョン問題に対して固有の免疫で
あるということに注目すべきである。JNetヘルパ・アプリケーションは、こ
れらのURIsni基づくディレクトリ構造を用いてローカル・マシンに指定ク
ラスを自動的に設置する。例えば: <installation−root>/http/80/www.mysi
te.com/myApp.jar それゆえに、設置ディレクトリがJNLメタファイルの最初の場所のURIに
基づき選択されるので、アプリケーションを設置する場所を決定するためにユー
ザ入力を必要としない。更に、また、アプリケーションが両方とも同じJARフ
ァイルをポイントする場合には、アプリケーションは、JARファイルを共有し
うる。
【0033】
一実施形態では、アプリケーションが送り出される度に、アプリケーションは
、アプリケーションのより新しいバージョンがそこからアプリケーションが最初
にダウンロードされたウェブ・サイトに存在するかどうかを知ることをチェック
できる。それゆえに、アプリケーションに対する更新は、アプリケーションの各
々の呼出しによりクライアントに自動的に分配することができる。また、アプリ
ケーションの異なるバージョンは、次の例のような、URIの異なる名前付けを
通して支持される: classpath=http://www.mysite.com/myAp
p/1.0/myApp.jar classpath=http://www.mysite.com/myAp
p/1.1/myApp.jar 図5及び関連する開示に示すように、一実施形態では、クライアント・コンピ
ュータのJNetヘルパ・アプリケーションは、アプリケーションを設置しかつ
送り出す役割をする。アプリケーションを送り出す処理は、そのコマンドが当業
者によく知られている、標準‘ジャバ(java)’コマンド(コマンド・ライ
ン・モデルを仮定する)を実行することに類似する。例えば、先の例では、JN
etヘルパ・アプリケーションは、次の等価ジャバ・コマンドを実行するであろ
う: java−classpath<installation−root>/ht
tp/80/www.mysite.com/myApp.jar myApp
当業者によく知られているように、‘ジャバ’コマンドは、JREを呼出すため
に一般に用いられる。ウィンドウ形又はグラフィカル・ユーザ・インタフェース
・ベース形(“GUIベース形”)環境では、コマンド・ラインからの‘ジャバ
’コマンドの実行に等しい処理が実行されるが、ユーザには一般に可視ではない
ということに注目すべきである。
、アプリケーションのより新しいバージョンがそこからアプリケーションが最初
にダウンロードされたウェブ・サイトに存在するかどうかを知ることをチェック
できる。それゆえに、アプリケーションに対する更新は、アプリケーションの各
々の呼出しによりクライアントに自動的に分配することができる。また、アプリ
ケーションの異なるバージョンは、次の例のような、URIの異なる名前付けを
通して支持される: classpath=http://www.mysite.com/myAp
p/1.0/myApp.jar classpath=http://www.mysite.com/myAp
p/1.1/myApp.jar 図5及び関連する開示に示すように、一実施形態では、クライアント・コンピ
ュータのJNetヘルパ・アプリケーションは、アプリケーションを設置しかつ
送り出す役割をする。アプリケーションを送り出す処理は、そのコマンドが当業
者によく知られている、標準‘ジャバ(java)’コマンド(コマンド・ライ
ン・モデルを仮定する)を実行することに類似する。例えば、先の例では、JN
etヘルパ・アプリケーションは、次の等価ジャバ・コマンドを実行するであろ
う: java−classpath<installation−root>/ht
tp/80/www.mysite.com/myApp.jar myApp
当業者によく知られているように、‘ジャバ’コマンドは、JREを呼出すため
に一般に用いられる。ウィンドウ形又はグラフィカル・ユーザ・インタフェース
・ベース形(“GUIベース形”)環境では、コマンド・ラインからの‘ジャバ
’コマンドの実行に等しい処理が実行されるが、ユーザには一般に可視ではない
ということに注目すべきである。
【0034】
各々の特定のインプリメンテーションにより、多数の異なるJRE’sがJN
etヘルパ・アプリケーションに登録されうる。それゆえに、JNetヘルパ・
アプリケーションは、JNetヘルパ・アプリケーションの各々の呼出しに対し
て独自にJNLメタファイルで指定したJREバージョンを選択することができ
る。先に示したように、JNLメタファイルがクライアント・コンピュータに存
在しないJREのバージョンを指定する場合には(またはクライアント・コンピ
ュータに設置されたJREが全く存在しない場合であっても)、JNetアプリ
ケーションは、クライアント・コンピュータへのJREの適切なバージョンのダ
ウンロード及び設置(インストレーション)処理を自動的に起動することができ
る。一実施形態では、JNetヘルパ・アプリケーションは、JNetヘルパ・
アプリケーションがクライアント・コンピュータにダウンロードされかつ設置さ
れるときに、JREが同じ処理の一部として自動的にダウンロードされかつ設置
されるように、JREを含む。
etヘルパ・アプリケーションに登録されうる。それゆえに、JNetヘルパ・
アプリケーションは、JNetヘルパ・アプリケーションの各々の呼出しに対し
て独自にJNLメタファイルで指定したJREバージョンを選択することができ
る。先に示したように、JNLメタファイルがクライアント・コンピュータに存
在しないJREのバージョンを指定する場合には(またはクライアント・コンピ
ュータに設置されたJREが全く存在しない場合であっても)、JNetアプリ
ケーションは、クライアント・コンピュータへのJREの適切なバージョンのダ
ウンロード及び設置(インストレーション)処理を自動的に起動することができ
る。一実施形態では、JNetヘルパ・アプリケーションは、JNetヘルパ・
アプリケーションがクライアント・コンピュータにダウンロードされかつ設置さ
れるときに、JREが同じ処理の一部として自動的にダウンロードされかつ設置
されるように、JREを含む。
【0035】
JNetヘルパ・アプリケーションのアーキテクチャ
アーキテクチャ的に、JNetヘルパ・アプリケーションの中心部分は、“ジ
ェーネット(jnet)”コマンドである。これは、JNLメタファイルがHT
MLファイルで出会ったときにブラウザによって実行されるコマンドである(図
5の段階530及び関連説明を参照)。“SwingSet(スウィング・セッ
ト)”と名付けられたサンプル・アプリケーションを送り出すために用いること
ができるサンプルJNLメタファイルのコンテンツを以下に示す(JNLメタフ
ァイル・フォーマットの全てのリスティングは、“JNL Metafile F
ormat(メタファイル・フォーマット)”セクションに供給される): jnet.version=1.0 jnet.jre.version=1.2 jnet.classpath=http://javaweb
.eng/−home/SwingSet.jar jnet.mainclass=SwingSet それゆえに、JNLメタファイルは、特定のアプリケーションを送り出すため
に必要な全ての情報を含む標準ジャバ(Java)TMプラットフォーム特性ファ
イルとして考えることができる。上記の例では、使用するJNetヘルパ・アプ
リケーションのバージョンは、jnet.バージョン・パラメータ(例えば、バ
ージョン1.0)によって指定され、使用するジャバTM実行環境(Java R
untime Environment)(“JRE”)のバージョンは、jn
et.jreバージョン・パラメータ(例えばバージョン1.2)によって指定
され、実際のアプリケーションへのクラスパス(classpath)は、jn
et.classpathパラメータ(例えば、http://javaweb
.eng/−home/SwingSet.jar)によって指定され、かつ実
行するメインクラス(mainclass)は、jnet.mainclass
パラメータ(例えば、SwingSet)によって指定される。当業者は、上に
示したファイル・フォーマットは、単に一例であり、かつ各特定のインプリメン
テーションの要件により多くのバリエーションが可能であるということを認識す
るであろう。JNLメタファイルのフォーマットは、クライアント・コンピュー
タのヘルパ・アプリケーション(例えば、JNetヘルパ・アプリケーション)
が、それがどのようなものであれ、JNLメタファイルのファイル・フォーマッ
トをパーズしかつ認識するように設計されている限り、重要ではない。
ェーネット(jnet)”コマンドである。これは、JNLメタファイルがHT
MLファイルで出会ったときにブラウザによって実行されるコマンドである(図
5の段階530及び関連説明を参照)。“SwingSet(スウィング・セッ
ト)”と名付けられたサンプル・アプリケーションを送り出すために用いること
ができるサンプルJNLメタファイルのコンテンツを以下に示す(JNLメタフ
ァイル・フォーマットの全てのリスティングは、“JNL Metafile F
ormat(メタファイル・フォーマット)”セクションに供給される): jnet.version=1.0 jnet.jre.version=1.2 jnet.classpath=http://javaweb
.eng/−home/SwingSet.jar jnet.mainclass=SwingSet それゆえに、JNLメタファイルは、特定のアプリケーションを送り出すため
に必要な全ての情報を含む標準ジャバ(Java)TMプラットフォーム特性ファ
イルとして考えることができる。上記の例では、使用するJNetヘルパ・アプ
リケーションのバージョンは、jnet.バージョン・パラメータ(例えば、バ
ージョン1.0)によって指定され、使用するジャバTM実行環境(Java R
untime Environment)(“JRE”)のバージョンは、jn
et.jreバージョン・パラメータ(例えばバージョン1.2)によって指定
され、実際のアプリケーションへのクラスパス(classpath)は、jn
et.classpathパラメータ(例えば、http://javaweb
.eng/−home/SwingSet.jar)によって指定され、かつ実
行するメインクラス(mainclass)は、jnet.mainclass
パラメータ(例えば、SwingSet)によって指定される。当業者は、上に
示したファイル・フォーマットは、単に一例であり、かつ各特定のインプリメン
テーションの要件により多くのバリエーションが可能であるということを認識す
るであろう。JNLメタファイルのフォーマットは、クライアント・コンピュー
タのヘルパ・アプリケーション(例えば、JNetヘルパ・アプリケーション)
が、それがどのようなものであれ、JNLメタファイルのファイル・フォーマッ
トをパーズしかつ認識するように設計されている限り、重要ではない。
【0036】
“jnet”コマンドは、JNLメタファイルをパーズし、JNLメタファイ
ルで特定されたバージョンが支持されていることをチェックし、それからによっ
て、クラスパス(classpath)及びメインクラス(mainclass
)によって与えられたアプリケーションを送り出す命令により、指定されたJR
Eを送り出す。クラスパス(classpath)及びメインクラス(main
class)・アーギュメントは、JNetヘルパ・アプリケーションでは、ク
ラスパスは、URIsを用いて指定することができること以外は、当業者に知ら
れたジャバ・コマンドに対して通常支持されるアーギュメントに非常に類似する
。それゆえに、JNetヘルパ・アプリケーションは、ジャバ・コマンドの向上
した、ネット−中心バージョンとしてビューすることができる。例えば、jne
tコマンドは、また、次のようにコマンド・ラインから直接呼出すこともできる
: jnet−classpath http://javaweb.eng/−h
ome/SwingSet.jar SwingSet 図6は、本発明の一実施形態によるクライアント側ネット・ランチャー・ヘル
パ・アプリケーション(即ち、JNetヘルパ・アプリケーション)の構造を示
しているブロック図を示す。図6に示すように、jnetコマンドを解釈しかつ
実行するJNetヘルパ・アプリケーションは、二つの部分を備えている:プラ
ットフォーム依存コンポーネント610、及びプラットフォーム独立コンポーネ
ント620。プラットフォーム依存構成要素610は、どのJREを用いるかを
決定するためにJNLメタファイルの初期パーシング(構文解析)を実行し、か
つジャバ・コマンドを用いてJREの適切なバージョンを送り出す小さな実行可
能プログラム(small excutable program)である。既に示したように、適切なJ
REがjnetコマンドを呼出すときにクライアント・コンピュータ上に見い出
せなかった場合(又はJREが全く設置されていない場合)には、JNetヘル
パ・アプリケーションは、可能な限りユーザ・インタラクションをほとんど必要
としない信頼できる手段を用いて信用ソースからJREの適切なバージョンを自
動的にダウンロードしかつ設置する。
ルで特定されたバージョンが支持されていることをチェックし、それからによっ
て、クラスパス(classpath)及びメインクラス(mainclass
)によって与えられたアプリケーションを送り出す命令により、指定されたJR
Eを送り出す。クラスパス(classpath)及びメインクラス(main
class)・アーギュメントは、JNetヘルパ・アプリケーションでは、ク
ラスパスは、URIsを用いて指定することができること以外は、当業者に知ら
れたジャバ・コマンドに対して通常支持されるアーギュメントに非常に類似する
。それゆえに、JNetヘルパ・アプリケーションは、ジャバ・コマンドの向上
した、ネット−中心バージョンとしてビューすることができる。例えば、jne
tコマンドは、また、次のようにコマンド・ラインから直接呼出すこともできる
: jnet−classpath http://javaweb.eng/−h
ome/SwingSet.jar SwingSet 図6は、本発明の一実施形態によるクライアント側ネット・ランチャー・ヘル
パ・アプリケーション(即ち、JNetヘルパ・アプリケーション)の構造を示
しているブロック図を示す。図6に示すように、jnetコマンドを解釈しかつ
実行するJNetヘルパ・アプリケーションは、二つの部分を備えている:プラ
ットフォーム依存コンポーネント610、及びプラットフォーム独立コンポーネ
ント620。プラットフォーム依存構成要素610は、どのJREを用いるかを
決定するためにJNLメタファイルの初期パーシング(構文解析)を実行し、か
つジャバ・コマンドを用いてJREの適切なバージョンを送り出す小さな実行可
能プログラム(small excutable program)である。既に示したように、適切なJ
REがjnetコマンドを呼出すときにクライアント・コンピュータ上に見い出
せなかった場合(又はJREが全く設置されていない場合)には、JNetヘル
パ・アプリケーションは、可能な限りユーザ・インタラクションをほとんど必要
としない信頼できる手段を用いて信用ソースからJREの適切なバージョンを自
動的にダウンロードしかつ設置する。
【0037】
一実施形態では、プラットフォーム依存構成要素620は、ジャバ(Java
)TM言語で書かれ、かつ所与のアプリケーションをロードしかつ実行するために
必要なクラスパス(classpath)及び様々なその他の属性を見い出すた
めにJNLメタファイルをパーズする。更にまた、プラットフォーム依存構成要
素620は、セキュリティ・ポリシー(機密保護政策)をインプリメント(実施
)しかつエンフォース(強制)する役割を果たす。
)TM言語で書かれ、かつ所与のアプリケーションをロードしかつ実行するために
必要なクラスパス(classpath)及び様々なその他の属性を見い出すた
めにJNLメタファイルをパーズする。更にまた、プラットフォーム依存構成要
素620は、セキュリティ・ポリシー(機密保護政策)をインプリメント(実施
)しかつエンフォース(強制)する役割を果たす。
【0038】
JNLメタファイル・フォーマット
一実施形態では、JNetヘルパ・アプリケーションによって支持された関連
JNLメタファイル属性を、各属性の簡単な説明と共に、表1に示す。この実施
形態では、jnet.info属性は、アプリケーションに関する更なる情報を
供給するために用いることができる全任意選択属性である。jnet.info
.splashscreenは、アプリケーション・コードをダウンロードする
必要なしに、新しいアプリケーションがロードされたときにスプラッシュ画面(s
plash screen)を素早く見せるために用いることができる。これは、ユーザにほ
とんど瞬間的なフィードバックを供給することによってより良いユーザ体験を提
供することができる。
JNLメタファイル属性を、各属性の簡単な説明と共に、表1に示す。この実施
形態では、jnet.info属性は、アプリケーションに関する更なる情報を
供給するために用いることができる全任意選択属性である。jnet.info
.splashscreenは、アプリケーション・コードをダウンロードする
必要なしに、新しいアプリケーションがロードされたときにスプラッシュ画面(s
plash screen)を素早く見せるために用いることができる。これは、ユーザにほ
とんど瞬間的なフィードバックを供給することによってより良いユーザ体験を提
供することができる。
【0039】
JNLメタファイルのコンテンツは、System.getProperty
方法を通して実行しているジャバTMアプリケーションにJNetヘルパ・アプリ
ケーションによって利用可能にされる。それゆえに、JNet−アウェア・アプ
リケーションは、アプリケーションに更なるアーギュメントをパスするためにこ
の機構(メカニズム)を用いることができる。
方法を通して実行しているジャバTMアプリケーションにJNetヘルパ・アプリ
ケーションによって利用可能にされる。それゆえに、JNet−アウェア・アプ
リケーションは、アプリケーションに更なるアーギュメントをパスするためにこ
の機構(メカニズム)を用いることができる。
【0040】
【表1】
表1 JNLメタファイル・フォーマット 属性 説明
jnet.version JNLメタファイルが期待するJNet
ヘルパ・アプリケーションのバージョン
jnet.jre.version 使用するジャバTMプラットフォームの
バージョン(例えば、1.1.5又は
1.2)
jnet.vm.args 仮想マシンへのアーギュメント(例えば、
−mx64)
jnet.classpath URIsによって記述された、
要求アプリケーションに対するクラスパス
jnet.mainclass メインクラス。省略された場合には、
当業者に知られているように、これは、
マニフェスト・ファイルから見出すこと
ができる。
jnet.arguments 要求アプリケーションに対する
アーギュメント・ストリング
jnet.security アプリケーションをサンドボックス
すべきか否か決定する
jnet.info.title アプリケーションの名称
jnet.info.company アプリケーションの原点(起点)
jnet.info.version アプリケーションのバージョン
jnet.info.splashscreen スプラッシュ・スクリーン・イメージ
に対するURI
【0041】
ネット・デプロイメント(ネット配置)
本発明の形態によるブラウザ依存アプリケーション送り出し技術は、ソフトウ
ェア・アプリケーションの“ネット・デプロイメント(配置)”、即ち、それが
ジャバ(Java)TMイネーブル型であるか否かに係わらず、ウェブ・ブラウ
ザを介したウェブにわたるアプリケーションのデプロイメントに主に関する。ネ
ット・デプロイメントの主要な目的は、ウェブ・ブラウザからのアプリケーショ
ンへのユニバーサル・アクセス、クライアント・システムへのアプリケーション
の自動設置、及びクライアント・システムのアプリケーションのより新しいバー
ジョンへのシームレス・アップグレーディング(移行)である。
ェア・アプリケーションの“ネット・デプロイメント(配置)”、即ち、それが
ジャバ(Java)TMイネーブル型であるか否かに係わらず、ウェブ・ブラウ
ザを介したウェブにわたるアプリケーションのデプロイメントに主に関する。ネ
ット・デプロイメントの主要な目的は、ウェブ・ブラウザからのアプリケーショ
ンへのユニバーサル・アクセス、クライアント・システムへのアプリケーション
の自動設置、及びクライアント・システムのアプリケーションのより新しいバー
ジョンへのシームレス・アップグレーディング(移行)である。
【0042】
エンド・ユーザに対して、ネット・デプロイメントは、彼らが特定のサイトに
おける彼らのウェブ・ブラウザを単にポイントすることによってあらゆる形式の
アプリケーションを容易にアクセスできることを意味する。それゆえに、設置及
びバージョン・アップグレードは、ユーザ・インタラクションを必要としない。
ネット・デプロイメントは、インターネット及びプライベート・イントラネット
の両方で、初心者から熟練者まで、あらゆる種類のユーザにアプリケーションを
分配する理想的方法である。
おける彼らのウェブ・ブラウザを単にポイントすることによってあらゆる形式の
アプリケーションを容易にアクセスできることを意味する。それゆえに、設置及
びバージョン・アップグレードは、ユーザ・インタラクションを必要としない。
ネット・デプロイメントは、インターネット及びプライベート・イントラネット
の両方で、初心者から熟練者まで、あらゆる種類のユーザにアプリケーションを
分配する理想的方法である。
【0043】
アプリケーションのデプロイメントがサーバ・エンド(サーバ端)で集中的に
管理されるので、このモデルは、大きな企業に対してかなりの経費節約を潜在的
に供給できる。サービス・プロバイダ(例えば、インターネット・サービス・プ
ロバイダ、又は“ISPs”)に対して、これは、彼らが特別注文の(カスタム
・メード)アプリケーションをそれらのユーザに容易にデプロイ(配置)できる
ことを意味する。これは、より良いサービスを供給し、かつそれによって市場に
おいてそれら自体を識別するためにISPを支援することができる。
管理されるので、このモデルは、大きな企業に対してかなりの経費節約を潜在的
に供給できる。サービス・プロバイダ(例えば、インターネット・サービス・プ
ロバイダ、又は“ISPs”)に対して、これは、彼らが特別注文の(カスタム
・メード)アプリケーションをそれらのユーザに容易にデプロイ(配置)できる
ことを意味する。これは、より良いサービスを供給し、かつそれによって市場に
おいてそれら自体を識別するためにISPを支援することができる。
【0044】
上記目的は、ネット・デプロイメントの中心(コア)を形成し、かつそれらは
、事実、アクティブ(Active)TMX構成要素及びジャバ(Java)TMア
プレット(Applets)のような、当業者に知られた解決法に対して満足さ
れる。しかしながら、また、非常に望ましい目的の第2のセットが存在する。こ
れらの目的の第1のものは、異種環境に対する支持を含む。インターネットは、
特質により異種環境であり、かつこれは、同様にほとんどの企業におけるイント
ラネットに対して一般に真である。第2の目的は、不当な(悪意のある)コード
に対するセキュリティ(機密保護)及び要注意な情報(sensitive information)
の保護を提供することである。そして、別の目的は、アプリケーションの高速設
置及び再起動である。アプリケーションは、素早く設置すべきであり、かつロー
カル・コピーをキャッシュすることによって後続の呼出しによりさらに素早く開
始するのが好ましい。
、事実、アクティブ(Active)TMX構成要素及びジャバ(Java)TMア
プレット(Applets)のような、当業者に知られた解決法に対して満足さ
れる。しかしながら、また、非常に望ましい目的の第2のセットが存在する。こ
れらの目的の第1のものは、異種環境に対する支持を含む。インターネットは、
特質により異種環境であり、かつこれは、同様にほとんどの企業におけるイント
ラネットに対して一般に真である。第2の目的は、不当な(悪意のある)コード
に対するセキュリティ(機密保護)及び要注意な情報(sensitive information)
の保護を提供することである。そして、別の目的は、アプリケーションの高速設
置及び再起動である。アプリケーションは、素早く設置すべきであり、かつロー
カル・コピーをキャッシュすることによって後続の呼出しによりさらに素早く開
始するのが好ましい。
【0045】
上記したセキュリティ目的は、非常に重要なものである。最新のネット・デプ
ロイメント・スキームは、コードを署名(サイン)するオプションを供給するこ
とによってセキュリティをインプリメントする。コード署名は、ある人にだれが
コードを書いたかを確認させ、かつそれが署名されてから不正変更されていない
ことを確認させる技法である。しかしながら、コード署名は、セキュリティを実
際には供給しないし、それは、単に何かが首尾よく行かなかった場合にだれが責
任を負うかを知らせるだけである。
ロイメント・スキームは、コードを署名(サイン)するオプションを供給するこ
とによってセキュリティをインプリメントする。コード署名は、ある人にだれが
コードを書いたかを確認させ、かつそれが署名されてから不正変更されていない
ことを確認させる技法である。しかしながら、コード署名は、セキュリティを実
際には供給しないし、それは、単に何かが首尾よく行かなかった場合にだれが責
任を負うかを知らせるだけである。
【0046】
ジャバ(Java)TMプラットフォームは、同様にコード署名を支持するが、
それは、それより先に進む。それは、ジャバTMアプリケーションがユーザのマシ
ン及びローカル・ネットワークでなければならないというアクセスを制限するこ
とを可能にすることによって、意図した及び意図していない不正変更コードの両
方に対するセキュリティを提供することができる。今日使用されているアプリケ
ーションのほとんどは、ネット中心であり、それらは、ローカル記憶データへの
アクセスを必要としない。それゆえに、アプリケーションのこの種の制限、又は
“サンドボクシング”は、これらの形式のアプリケーションにとって意味がある
。
それは、それより先に進む。それは、ジャバTMアプリケーションがユーザのマシ
ン及びローカル・ネットワークでなければならないというアクセスを制限するこ
とを可能にすることによって、意図した及び意図していない不正変更コードの両
方に対するセキュリティを提供することができる。今日使用されているアプリケ
ーションのほとんどは、ネット中心であり、それらは、ローカル記憶データへの
アクセスを必要としない。それゆえに、アプリケーションのこの種の制限、又は
“サンドボクシング”は、これらの形式のアプリケーションにとって意味がある
。
【0047】
例えば、ユーザがxyztrade.comのウェブ・サイトからストック−
クォート・ティッカー(stock-quote ticker)・アプリケーションを実行すること
を開始した場合には、この場合には、アプリケーションは、要求したクォート(
相場価格)を得るためにxyztrade.comのサーバへのアクセスだけが
必要である。そのようなアプリケーションがユーザのローカル・マシンのデータ
又はファイル・システムをアクセスする必要がない。そのようなアプリケーショ
ンをサンドボクシングすることによって、ユーザは、ユーザのシステムの保全性
に関して確信しうるし、かつユーザの潜在的に要注意な情報が傷つけられないこ
とを確信しうる。
クォート・ティッカー(stock-quote ticker)・アプリケーションを実行すること
を開始した場合には、この場合には、アプリケーションは、要求したクォート(
相場価格)を得るためにxyztrade.comのサーバへのアクセスだけが
必要である。そのようなアプリケーションがユーザのローカル・マシンのデータ
又はファイル・システムをアクセスする必要がない。そのようなアプリケーショ
ンをサンドボクシングすることによって、ユーザは、ユーザのシステムの保全性
に関して確信しうるし、かつユーザの潜在的に要注意な情報が傷つけられないこ
とを確信しうる。
【0048】
ジャバTMネット・ランチャー(JavaTMNet Launcher)技術
本発明の形態によるジャバTMネット・ランチャー(JNet)技術は、ジャバ TM
アプリケーションに対する“プレヤー(player)”として説明すること
ができる。ウェブ・ユーザが、リアル・オーディオTMプレイヤーを送り出すた
めに拡張子“.rm”を有するファイルへのリンクをクリックすることに慣れて
いるように、設置された本発明のジャバTMネット・ランチャーでウェブ・ユーザ
は、ジャバTMアプリケーションをランチするために.jnlメタファイルへのリ
ンクをクリックすることができる。
ができる。ウェブ・ユーザが、リアル・オーディオTMプレイヤーを送り出すた
めに拡張子“.rm”を有するファイルへのリンクをクリックすることに慣れて
いるように、設置された本発明のジャバTMネット・ランチャーでウェブ・ユーザ
は、ジャバTMアプリケーションをランチするために.jnlメタファイルへのリ
ンクをクリックすることができる。
【0049】
既に説明したように、.jnlメタファイルは、特定のジャバTMアプリケーシ
ョンをランチする方法を記述する比較的短いファイルである(即ち、それは、ア
プリケーションのクラスパス、メイン・クラス、アーギュメント、等に関する情
報を含む。)。.jnlメタファイルへのリンクにHTMLコード内で出会った
ときには、.jnlメタファイルは、ブラウザによってダウンロードされる。.
jnlメタファイルは、ブラウザが本来理解しないファイル形式なので、ブラウ
ザは、ヘルパ・アプリケーションを探し、かつ.jnl拡張子(又は、同様に、
“アプリケーション/ジャバ”マイム形式)でファイルを処理するためにJNe
tヘルパ・アプリケーションがブラウザに登録されるので、ブラウザは、アーギ
ュメントとして.jnlメタファイルを有するJNetヘルパ・アプリケーショ
ンを呼出す。先に示したように、この処理は、この技術分野で知られた現行の方
法に類似し、それによってアクロバットTMリーダ又はゴーストビューTMは、それ
ぞれ.pdf及び.psファイルを処理するために登録される。次いで、JNe
tヘルパ・アプリケーションは、.jnlメタファイルをパーズし、かつジャバ TM アプリケーションをダウンロードしかつランチする。
ョンをランチする方法を記述する比較的短いファイルである(即ち、それは、ア
プリケーションのクラスパス、メイン・クラス、アーギュメント、等に関する情
報を含む。)。.jnlメタファイルへのリンクにHTMLコード内で出会った
ときには、.jnlメタファイルは、ブラウザによってダウンロードされる。.
jnlメタファイルは、ブラウザが本来理解しないファイル形式なので、ブラウ
ザは、ヘルパ・アプリケーションを探し、かつ.jnl拡張子(又は、同様に、
“アプリケーション/ジャバ”マイム形式)でファイルを処理するためにJNe
tヘルパ・アプリケーションがブラウザに登録されるので、ブラウザは、アーギ
ュメントとして.jnlメタファイルを有するJNetヘルパ・アプリケーショ
ンを呼出す。先に示したように、この処理は、この技術分野で知られた現行の方
法に類似し、それによってアクロバットTMリーダ又はゴーストビューTMは、それ
ぞれ.pdf及び.psファイルを処理するために登録される。次いで、JNe
tヘルパ・アプリケーションは、.jnlメタファイルをパーズし、かつジャバ TM アプリケーションをダウンロードしかつランチする。
【0050】
この簡単なモデルは、多くの重要な利点を有する。第1番目に、それは、先に
説明したネット・デプロイメントの主要目的の全てを満足する。一度ジャバTMプ
ラットフォーム及びJNetヘルパ・アプリケーションがクライアント・システ
ムに設置されたならば、ユーザは、シングル・クリックによってウェブ・ブラウ
ザから直にジャバTMアプリケーションを容易にかつ確実にデプロイ(配置)でき
る。
説明したネット・デプロイメントの主要目的の全てを満足する。一度ジャバTMプ
ラットフォーム及びJNetヘルパ・アプリケーションがクライアント・システ
ムに設置されたならば、ユーザは、シングル・クリックによってウェブ・ブラウ
ザから直にジャバTMアプリケーションを容易にかつ確実にデプロイ(配置)でき
る。
【0051】
第2番目に、それは、ネット・デプロイメントの全ての二次目的を満足する。
ブラウザの内部にランチしたジャバTMアプレットに適用される同じセキュリティ
特徴は、それがランチするアプリケーションにJNetによっても適用すること
ができる。更に、JNetは、高速再起動に対してローカル・ハード・ディスク
又はその他のローカル記憶媒体にアプリケーションを容易にかつ確実にキャッシ
ュすることができる。
ブラウザの内部にランチしたジャバTMアプレットに適用される同じセキュリティ
特徴は、それがランチするアプリケーションにJNetによっても適用すること
ができる。更に、JNetは、高速再起動に対してローカル・ハード・ディスク
又はその他のローカル記憶媒体にアプリケーションを容易にかつ確実にキャッシ
ュすることができる。
【0052】
第3番目に、本発明の主要利点の一つは、それがブラウザ独立であることであ
る。これは、ジャバTM技術がブラウザに係わりなく発展し、かつあらゆるブラウ
ザを通して容易にアクセス可能であることを意味する。企業及びインターネット
・サービス・プロバイダ(“ISP’s”)に対して、これは、彼らが最新のジ
ャバTM技術を用いてサービスを開発することができかつそれを様々なハードウェ
ア、オペレーティング・システム、及びブラウザにデプロイできるという自信が
あることを意味する。
る。これは、ジャバTM技術がブラウザに係わりなく発展し、かつあらゆるブラウ
ザを通して容易にアクセス可能であることを意味する。企業及びインターネット
・サービス・プロバイダ(“ISP’s”)に対して、これは、彼らが最新のジ
ャバTM技術を用いてサービスを開発することができかつそれを様々なハードウェ
ア、オペレーティング・システム、及びブラウザにデプロイできるという自信が
あることを意味する。
【0053】
第4番目に、それは、同時にジャバTMプラットフォームの複数のバージョンを
支持することができる。先に説明したように、JNLメタファイルがアプリケー
ションをダウンロードしかつインストールするために必要な全てのコンポーネン
トを記述するので、それは、特定のアプリケーションがジャバTMプラットフォー
ムのどのバージョンを必要とするかを特定できる。これは、企業及びインターネ
ット・サービス・プロバイダが先の投資を犠牲にすることなくより新しい技術を
徐々に採用することを可能にする。
支持することができる。先に説明したように、JNLメタファイルがアプリケー
ションをダウンロードしかつインストールするために必要な全てのコンポーネン
トを記述するので、それは、特定のアプリケーションがジャバTMプラットフォー
ムのどのバージョンを必要とするかを特定できる。これは、企業及びインターネ
ット・サービス・プロバイダが先の投資を犠牲にすることなくより新しい技術を
徐々に採用することを可能にする。
【0054】
第5番目に、JNetヘルパ・アプリケーションによってランチされたジャバ TM
アプリケーションは、ブラウザ・ウィンドウ内のそれらのグラフィカル・ユー
ザ・インタフェース(“GUI”)を表示することに制限されないし、かつそれ
らの寿命は、ウェブ・ページの寿命、又はブラウザの寿命にも限定されない。
ザ・インタフェース(“GUI”)を表示することに制限されないし、かつそれ
らの寿命は、ウェブ・ページの寿命、又はブラウザの寿命にも限定されない。
【0055】
第6番目に、ほとんどのジャバTMアプリケーションは、JNetヘルパ・アプ
リケーションを用いて変更なしで実行することができる。JNetヘルパ・アプ
リケーションは、ランチャーである。それは、当業者に知られた“ジャバ(ja
va)”コマンドと同じ方法でアプリケーションをロードしかつ実行する。唯一
の注意は、アプリケーションが、ファイル・システムに依存する代わりにクラス
ローダを用いてリソースを見出さなければならないことである。しかしながら、
これは、ジャバTMアプレット・ロード・リソースに類似し、かつ多くのアプリケ
ーションは、この注意に留意して既に設計される。
リケーションを用いて変更なしで実行することができる。JNetヘルパ・アプ
リケーションは、ランチャーである。それは、当業者に知られた“ジャバ(ja
va)”コマンドと同じ方法でアプリケーションをロードしかつ実行する。唯一
の注意は、アプリケーションが、ファイル・システムに依存する代わりにクラス
ローダを用いてリソースを見出さなければならないことである。しかしながら、
これは、ジャバTMアプレット・ロード・リソースに類似し、かつ多くのアプリケ
ーションは、この注意に留意して既に設計される。
【0056】
第7番目に、本発明は、現在市販されている実質的にあらゆるHTTPサーバ
を用いてインプリメントすることができる。一般に、それがJNLメタファイル
に対する正確なマイム形式をクライアント・コンピュータのブラウザに送るよう
にHTTPに対してほんの少しの構成変更を行う必要がある。
を用いてインプリメントすることができる。一般に、それがJNLメタファイル
に対する正確なマイム形式をクライアント・コンピュータのブラウザに送るよう
にHTTPに対してほんの少しの構成変更を行う必要がある。
【0057】
そして、JNetヘルパ・アプリケーションは、後続のセクションで説明する
ように、多数の関連技術及び高度な特徴(advanced features)に対するイネーブ
リング技術としてサーブすることができる。
ように、多数の関連技術及び高度な特徴(advanced features)に対するイネーブ
リング技術としてサーブすることができる。
【0058】
本発明によるJNetヘルパ・アプリケーションをアプレット・モデルと比較
することは、興味がある。上述したように、JNetヘルパ・アプリケーション
・モデルは、主要ネット・デプロイメント目的に関してアプレット・モデルと同
じ数の利点を供給する。JNetヘルパ・アプリケーションがブラウザとは別個
にインストールされる必要がありうるという、JNetヘルパ・アプリケーショ
ン・モデルに固有な一つのエキストラ・ステップ(余分な段階)が存在する。し
かしながら、この要件は、アクロバットTMリーダ及びゴーストビューTMのような
現行のブラウザに対するヘルパ・アプリケーション及びその他のプラグ・インと
異なるものではない。従って、JNetヘルパ・アプリケーション・アプローチ
は、それが、アプレット(例えば、電子メール・クライアント)のように容易に
ウェブ・ページにフィットしないアプリケーションをランチする自然な方法を供
給するという意味でジャバTMアプレット・モデルをコンプリメント(補足)する
。
することは、興味がある。上述したように、JNetヘルパ・アプリケーション
・モデルは、主要ネット・デプロイメント目的に関してアプレット・モデルと同
じ数の利点を供給する。JNetヘルパ・アプリケーションがブラウザとは別個
にインストールされる必要がありうるという、JNetヘルパ・アプリケーショ
ン・モデルに固有な一つのエキストラ・ステップ(余分な段階)が存在する。し
かしながら、この要件は、アクロバットTMリーダ及びゴーストビューTMのような
現行のブラウザに対するヘルパ・アプリケーション及びその他のプラグ・インと
異なるものではない。従って、JNetヘルパ・アプリケーション・アプローチ
は、それが、アプレット(例えば、電子メール・クライアント)のように容易に
ウェブ・ページにフィットしないアプリケーションをランチする自然な方法を供
給するという意味でジャバTMアプレット・モデルをコンプリメント(補足)する
。
【0059】
本発明は、主要ブラウザ・ベンダーがそのような新しいプラットフォームを採
用することをアプリケーション開発者が待つ必要がないので、本発明の形態によ
るJNetヘルパ・アプリケーション・モデルは、新しいジャバTMプラットフォ
ームの採用を加速する機会を供給することにも注目すべきである。
用することをアプリケーション開発者が待つ必要がないので、本発明の形態によ
るJNetヘルパ・アプリケーション・モデルは、新しいジャバTMプラットフォ
ームの採用を加速する機会を供給することにも注目すべきである。
【0060】
図7は、本発明の一実施形態に従ってユーザの視点からアプリケーションを受
取り、インストールし、かつランチするブラウザ独立方法を示しているフローチ
ャートである。図7に示すように、段階710では、ユーザは、クライアント・
コンピュータにブラウザをインストールする。既に示したように、本発明による
このブラウザに対する唯一の要件は、それが特定したマイム形式又はファイル形
式に対するヘルパ・アプリケーションを登録することができるように構成されて
いなければならないことである。そのようなブラウザは、クライアント・コンピ
ュータに既にインストールされうる(例えば、それは、クライアント・コンピュ
ータを購入したときにオペレーティング・システム又はその他のソフトウェアと
セットにされうる)ということにも注目すべきである。段階720では、ユーザ
は、一つ以上のJRE’sをインストールする(例えば、インターネットからそ
れらをダウンロードすることによって又はCD−ROMからそれらをインストー
ルすることによって)。段階720がオプションである場合には、もう一度、一
つ以上のJRE’sは、クライアント・コンピュータに既にインストールされう
る。更に、既に説明したように、段階720がユーザによって実行されない場合
でも、JNetヘルパ・アプリケーションは、それがJNLメタファイルによっ
て要求されたときには適切なJREを自動的にダウンロードしかつインストール
することができる。
取り、インストールし、かつランチするブラウザ独立方法を示しているフローチ
ャートである。図7に示すように、段階710では、ユーザは、クライアント・
コンピュータにブラウザをインストールする。既に示したように、本発明による
このブラウザに対する唯一の要件は、それが特定したマイム形式又はファイル形
式に対するヘルパ・アプリケーションを登録することができるように構成されて
いなければならないことである。そのようなブラウザは、クライアント・コンピ
ュータに既にインストールされうる(例えば、それは、クライアント・コンピュ
ータを購入したときにオペレーティング・システム又はその他のソフトウェアと
セットにされうる)ということにも注目すべきである。段階720では、ユーザ
は、一つ以上のJRE’sをインストールする(例えば、インターネットからそ
れらをダウンロードすることによって又はCD−ROMからそれらをインストー
ルすることによって)。段階720がオプションである場合には、もう一度、一
つ以上のJRE’sは、クライアント・コンピュータに既にインストールされう
る。更に、既に説明したように、段階720がユーザによって実行されない場合
でも、JNetヘルパ・アプリケーションは、それがJNLメタファイルによっ
て要求されたときには適切なJREを自動的にダウンロードしかつインストール
することができる。
【0061】
図7を更に参照すると、段階730では、ユーザは、JNetヘルパ・アプリ
ケーションをインストールする。この段階は、当業者に知られた方法を用いて実
行することができる。例えば、ユーザは、ウェブ・ページのリンク(例えば、“
ここにJNetをダウンロードする”)を起動することによってJNetヘルパ
・アプリケーションをダウンロードすることができる。代替的に、JNetヘル
パ・アプリケーションは、段階710でインストールされたブラウザとセットに
されうるか、又はそれは、フロッピ・ディスク又はCD−ROMsのような通常
の記憶媒体に分散または分配されうる。一実施形態では、JNetヘルパ・アプ
リケーションは、JNetヘルパ・アプリケーションをインストールする処理が
JREのインストレーションも結果としてもたらすように、JREとセットにさ
れる。JNetヘルパ・アプリケーションのインストレーション処理の一部とし
て、段階710でインストールしたブラウザは、JNetヘルパ・アプリケーシ
ョンがJNLメタファイル(例えば、“アプリケーション/ジャバ”)に対する
マイム形式を有するファイルに対してブラウザに登録されるように自動的に再構
成することができる。
ケーションをインストールする。この段階は、当業者に知られた方法を用いて実
行することができる。例えば、ユーザは、ウェブ・ページのリンク(例えば、“
ここにJNetをダウンロードする”)を起動することによってJNetヘルパ
・アプリケーションをダウンロードすることができる。代替的に、JNetヘル
パ・アプリケーションは、段階710でインストールされたブラウザとセットに
されうるか、又はそれは、フロッピ・ディスク又はCD−ROMsのような通常
の記憶媒体に分散または分配されうる。一実施形態では、JNetヘルパ・アプ
リケーションは、JNetヘルパ・アプリケーションをインストールする処理が
JREのインストレーションも結果としてもたらすように、JREとセットにさ
れる。JNetヘルパ・アプリケーションのインストレーション処理の一部とし
て、段階710でインストールしたブラウザは、JNetヘルパ・アプリケーシ
ョンがJNLメタファイル(例えば、“アプリケーション/ジャバ”)に対する
マイム形式を有するファイルに対してブラウザに登録されるように自動的に再構
成することができる。
【0062】
段階740では、ユーザは、JNLメタファイルへのリンクを起動する。一般
に、これは、ユーザがHTMLファイルからJNLファイルへのリンクを“クリ
ックする”ときに発生する。この地点では、図5に示す段階530から580を
含む段階のシーケンスが自動的に開始する。しかしながら、ユーザの視点から、
段階530から580は、ほんの少しのユーザ・インタラクションで実行される
。更に図7を参照すると、ユーザの視点から、次に発生することは、段階750
で、ユーザは、JNetヘルパ・アプリケーションによって発行されたインスト
レーション・プロンプトに応答することを要求されうることである。好ましくは
、これらのプロンプトは、最小に保持され、かつ一実施形態では、インストレー
ション処理は、完全に自動的に進行するので、インストレーション・プロンプト
が全く発行されない。しかしながら、各特定のインプリメンテーション及びユー
ザ構成により、これらのプロンプトは、インストレーションに対するオプション
・コンポーネントを選択するために、セキュリティ通知又は警告の受け入れを示
すために、又はライセンス・タームの受け入れを示すために、インストレーショ
ン・ディレクトリを選択することをユーザに求めることを含みうる。
に、これは、ユーザがHTMLファイルからJNLファイルへのリンクを“クリ
ックする”ときに発生する。この地点では、図5に示す段階530から580を
含む段階のシーケンスが自動的に開始する。しかしながら、ユーザの視点から、
段階530から580は、ほんの少しのユーザ・インタラクションで実行される
。更に図7を参照すると、ユーザの視点から、次に発生することは、段階750
で、ユーザは、JNetヘルパ・アプリケーションによって発行されたインスト
レーション・プロンプトに応答することを要求されうることである。好ましくは
、これらのプロンプトは、最小に保持され、かつ一実施形態では、インストレー
ション処理は、完全に自動的に進行するので、インストレーション・プロンプト
が全く発行されない。しかしながら、各特定のインプリメンテーション及びユー
ザ構成により、これらのプロンプトは、インストレーションに対するオプション
・コンポーネントを選択するために、セキュリティ通知又は警告の受け入れを示
すために、又はライセンス・タームの受け入れを示すために、インストレーショ
ン・ディレクトリを選択することをユーザに求めることを含みうる。
【0063】
一度アプリケーション・インストレーション及びランチング処理が完了したな
らば、段階760では、一度それがランチされたならば、ユーザは、アプリケー
ションとインタラクト(対話)する。ユーザの視点から、ユーザは、アプリケーシ
ョンがブラウザとは異なるウィンドウに一般に表示されるということに気付きう
る(注目しうる)。そして、アプリケーションが終了されたときに、段階770
では、ユーザは、JNetヘルパ・アプリケーションによって発行されたアンイ
ンストレーション・プロンプトに応答することを求められうる。 例えば、ユーザは、クライアント・コンピュータからアプリケーションをアンイ
ンストールか又は削除すべきか、又は後続の使用に対してクライアント・コンピ
ュータにそれをキャッシュすべきかどうかを求められうる。
らば、段階760では、一度それがランチされたならば、ユーザは、アプリケー
ションとインタラクト(対話)する。ユーザの視点から、ユーザは、アプリケーシ
ョンがブラウザとは異なるウィンドウに一般に表示されるということに気付きう
る(注目しうる)。そして、アプリケーションが終了されたときに、段階770
では、ユーザは、JNetヘルパ・アプリケーションによって発行されたアンイ
ンストレーション・プロンプトに応答することを求められうる。 例えば、ユーザは、クライアント・コンピュータからアプリケーションをアンイ
ンストールか又は削除すべきか、又は後続の使用に対してクライアント・コンピ
ュータにそれをキャッシュすべきかどうかを求められうる。
【0064】
インプリメンテーション例
以下のセクションでは、本発明の形態によるジャバTMネット・ランチャー(N
et Lancher)技術が供給する可能性のようなものを記述する、二つの
特定の例を供給する。第1の例は、ポータル・サイトがジャバTM技術を用いてよ
り高度なサービスを供給できる方法を記述し、かつ第2の例は、データをそのビ
ューワ・アプリケーションと一緒に一纏めにすることができ、プラグ・イン及び
ヘルパ・アプリケーションを手動でインストールする必要性を除去する方法を記
述する。勿論、添付した特許請求の範囲の精神内で多くのその他のインプリメン
テーション例が可能である。
et Lancher)技術が供給する可能性のようなものを記述する、二つの
特定の例を供給する。第1の例は、ポータル・サイトがジャバTM技術を用いてよ
り高度なサービスを供給できる方法を記述し、かつ第2の例は、データをそのビ
ューワ・アプリケーションと一緒に一纏めにすることができ、プラグ・イン及び
ヘルパ・アプリケーションを手動でインストールする必要性を除去する方法を記
述する。勿論、添付した特許請求の範囲の精神内で多くのその他のインプリメン
テーション例が可能である。
【0065】
向上したウェブ・ポータル・サービス
yahoo.com(ヤフー・ドット・コム)及びNetscape(ネット
スケープ)TMNetCenter(ネットセンター)TMのような、よく知られた
“ポータル”ウェブ・サイトは、新しいプッシュ・フォワード・サーバ・ベース
ド・コンピューティングの最適な例の一部である。それらは、カスタマイズされ
たニュース、電子メール、カレンダ、アドレス帳、及びインスタント・メッセー
ジングのような、サービスのホストを一般に供給する。これらのサービスのほと
んどは、全てではないが、インタフェースとしてブラウザを用いて受渡しされる
。
スケープ)TMNetCenter(ネットセンター)TMのような、よく知られた
“ポータル”ウェブ・サイトは、新しいプッシュ・フォワード・サーバ・ベース
ド・コンピューティングの最適な例の一部である。それらは、カスタマイズされ
たニュース、電子メール、カレンダ、アドレス帳、及びインスタント・メッセー
ジングのような、サービスのホストを一般に供給する。これらのサービスのほと
んどは、全てではないが、インタフェースとしてブラウザを用いて受渡しされる
。
【0066】
例えば、インスタント・メッセージングは、一般にマイクロソフトTMウィンド
ウズTMプラットフォームに対してだけ(又は少なくとも、最初だけ)利用可能で
ある、個別のクライアントを用いて多くの場合受け渡しされる。本発明の形態に
よるJNetヘルパ・アプリケーションを用いて、ポータル・サイトは、最新の
ジャバTM技術を用いてこの種のサービスを供給することができ、かつサービスは
、全ての主要プラットフォームの全てのユーザにすぐに利用可能である。また、
本発明は、ネーティブ・アプリケーションを処理するときに一般に要求されるイ
ンストレーション段階を取り除く。
ウズTMプラットフォームに対してだけ(又は少なくとも、最初だけ)利用可能で
ある、個別のクライアントを用いて多くの場合受け渡しされる。本発明の形態に
よるJNetヘルパ・アプリケーションを用いて、ポータル・サイトは、最新の
ジャバTM技術を用いてこの種のサービスを供給することができ、かつサービスは
、全ての主要プラットフォームの全てのユーザにすぐに利用可能である。また、
本発明は、ネーティブ・アプリケーションを処理するときに一般に要求されるイ
ンストレーション段階を取り除く。
【0067】
ポータル・サイトから供給されるサービスは、一般にサーバ・ヘースドであり
、従ってクライアント・システムのローカル・データへのアクセスを必要としな
い。それゆえに、それらは、ジャバTMプラットフォームの組込みセキュリティ特
徴を用いてサンドボックスすることができる。このように、エンド・ユーザは、
アプリケーションがエンド・ユーザのシステムの保全性を傷つけていないことを
確信することができる。
、従ってクライアント・システムのローカル・データへのアクセスを必要としな
い。それゆえに、それらは、ジャバTMプラットフォームの組込みセキュリティ特
徴を用いてサンドボックスすることができる。このように、エンド・ユーザは、
アプリケーションがエンド・ユーザのシステムの保全性を傷つけていないことを
確信することができる。
【0068】
ポータル・サイトが本発明の形態を用いてカスタム・アプリケーションを通し
て受け渡しできる別の組の特徴は、電子メール・メッセージ、アドレス帳エント
リ、及びアポイントメントのような、ポータルに記憶された個人データへのオフ
・ライン・アクセスに対するツールである。JNetヘルパ・アプリケーション
を用いて、ユーザがオン・ラインである間にこれらのアプリケーションを自動的
にダウンロードしかつインストールすることができ、かつローカル・ディスクの
アプリケーションをキャッシュすることによってオフ・ラインでも利用可能であ
る。
て受け渡しできる別の組の特徴は、電子メール・メッセージ、アドレス帳エント
リ、及びアポイントメントのような、ポータルに記憶された個人データへのオフ
・ライン・アクセスに対するツールである。JNetヘルパ・アプリケーション
を用いて、ユーザがオン・ラインである間にこれらのアプリケーションを自動的
にダウンロードしかつインストールすることができ、かつローカル・ディスクの
アプリケーションをキャッシュすることによってオフ・ラインでも利用可能であ
る。
【0069】
データとプレゼンテーションとの組合せ
JNetヘルパ・アプリケーション技術を用いる別の興味ある方法は、ウェブ
・ブラウザに対してヘルパ・アプリケーションをダウンロードしかつインストー
ルする必要性を取り除くことである。例えば、現在、ユーザがアクロバットTMフ
ァイル(.pdf)をクリックするときに、それは、アクロバットTMリーダがイ
ンストールされている場合でかつブラウザが.pdfファイルに対してアクロバ
ットTMリーダをランチするように構成されている場合にはブラウザからビューす
る(見る)ことができるだけである。アクロバットTMリーダがユーザのローカル
・マシンにインストールされていない場合には、それは、ウェブ・サイトから手
動でダウンロードされかつユーザのシステムにインストールされなければならな
い。
・ブラウザに対してヘルパ・アプリケーションをダウンロードしかつインストー
ルする必要性を取り除くことである。例えば、現在、ユーザがアクロバットTMフ
ァイル(.pdf)をクリックするときに、それは、アクロバットTMリーダがイ
ンストールされている場合でかつブラウザが.pdfファイルに対してアクロバ
ットTMリーダをランチするように構成されている場合にはブラウザからビューす
る(見る)ことができるだけである。アクロバットTMリーダがユーザのローカル
・マシンにインストールされていない場合には、それは、ウェブ・サイトから手
動でダウンロードされかつユーザのシステムにインストールされなければならな
い。
【0070】
しかしながら、本発明の形態によりヘルパ・アプリケーションに対するこの手
動インストレーション段階を取り除くことができる。例えば、ウェブ・サイトに
.pdfファイルを設置する代わりに、(先に説明した).jnlメタファイル
へのリンクを供給することができる。この.jnlメタファイルは、ビューワ・
アプリケーション(例えば、ジャバTMに対するアクロバットTMリーダー)への参
照を含み、かつまた.jnlメタファイルは、それに要求されている特定の文書
(ドキュメント)をランチさせかつオープンさせるビューワ・アプリケーション
に対するアーギュメントも含む。
動インストレーション段階を取り除くことができる。例えば、ウェブ・サイトに
.pdfファイルを設置する代わりに、(先に説明した).jnlメタファイル
へのリンクを供給することができる。この.jnlメタファイルは、ビューワ・
アプリケーション(例えば、ジャバTMに対するアクロバットTMリーダー)への参
照を含み、かつまた.jnlメタファイルは、それに要求されている特定の文書
(ドキュメント)をランチさせかつオープンさせるビューワ・アプリケーション
に対するアーギュメントも含む。
【0071】
それゆえに、上記の例は、その対応するビューワ・アプリケーションでデータ
を一纏めにする方法を説明する。本発明のこれらの形態によれば、ウェブ開発者
は、様々な新しいサービスに対してテーラーされたファイル・フォーマットを生
成することができ、かつ新しいファイル拡張子又はマイム形式を開発する必要な
しに、かつ個別にビューワ・ソフトウェアをダウンロードすることをユーザに要
求することなく、これらのサービスを容易に分配または分散することができる。
を一纏めにする方法を説明する。本発明のこれらの形態によれば、ウェブ開発者
は、様々な新しいサービスに対してテーラーされたファイル・フォーマットを生
成することができ、かつ新しいファイル拡張子又はマイム形式を開発する必要な
しに、かつ個別にビューワ・ソフトウェアをダウンロードすることをユーザに要
求することなく、これらのサービスを容易に分配または分散することができる。
【0072】
高度な特徴
先にセクションは、本発明自体の形態によるネット・デプロイメントの主要な
特徴及びジャバTMネット・ランチャー(Net Launcher)技術を説明
した。このセクションでは、可能でありかつジャバTMネット・ランチャー技術に
さらによくフィットするより多くの高度な特徴を説明する。
特徴及びジャバTMネット・ランチャー(Net Launcher)技術を説明
した。このセクションでは、可能でありかつジャバTMネット・ランチャー技術に
さらによくフィットするより多くの高度な特徴を説明する。
【0073】
ジャバTMアプリケーションのキャッシング及びインストレーション:JNet
ヘルパ・アプリケーション・アーキテクチャは、ローカル・システムのジャバTM アプリケーションのキャッシングを容易に支持することができる。更に、ローカ
ル的にキャッシュされたアプリケーションは、また、オフ・ライン・ユーザに対
しても利用可能にすることができる。それゆえに、JNetヘルパ・アプリケー
ション・アーキテクチャは、また、ジャバTMアプリケーションに対するネット中
心インストーラとしても動作することができる。また、JNetヘルパ・アプリ
ケーションは、自動的に又はユーザの裁量で、一時的インストレーション・ファ
イルを削除するように構成することもできる。特定のインプリメンテーションに
対してそのように望むならば、JNetヘルパ・アプリケーションは、また、ク
ライアント・コンピュータのメモリ記憶装置の記憶空間(メモリ・スペース)を
開放できるように一度それが実行することを終了したならば(又はある指定した
時間間隔後に)アプリケーションをアンインストールするように構成することも
できる。
ヘルパ・アプリケーション・アーキテクチャは、ローカル・システムのジャバTM アプリケーションのキャッシングを容易に支持することができる。更に、ローカ
ル的にキャッシュされたアプリケーションは、また、オフ・ライン・ユーザに対
しても利用可能にすることができる。それゆえに、JNetヘルパ・アプリケー
ション・アーキテクチャは、また、ジャバTMアプリケーションに対するネット中
心インストーラとしても動作することができる。また、JNetヘルパ・アプリ
ケーションは、自動的に又はユーザの裁量で、一時的インストレーション・ファ
イルを削除するように構成することもできる。特定のインプリメンテーションに
対してそのように望むならば、JNetヘルパ・アプリケーションは、また、ク
ライアント・コンピュータのメモリ記憶装置の記憶空間(メモリ・スペース)を
開放できるように一度それが実行することを終了したならば(又はある指定した
時間間隔後に)アプリケーションをアンインストールするように構成することも
できる。
【0074】
セキュリティ・プロフィール及びコード署名:この報告(レポート)に記述し
たように、JNetヘルパ・アプリケーション・アーキテクチャは、ジャバTMア
プレットのために開発されたサンドボクシング機構を支持する。しかしながら、
ユーザにジャバTMアプリケーションへの更なる特権を与えさせる当業者に知られ
た技法に基づくより複雑なセキュリティ・モデルを想像することは、容易である
。例えば、アプリケーションは、キャッシュとしてファイル・システムの一部を
用いること、又はブラウザ・クッキーに類似する方法で記憶されたローカル−状
態(ローカル・サイト)へのアクセスを有することを許されうる。また、コード
署名は、ユーザがアプリケーションのオリジン(起源又は元)を確認することが
できるように支援することができる。
たように、JNetヘルパ・アプリケーション・アーキテクチャは、ジャバTMア
プレットのために開発されたサンドボクシング機構を支持する。しかしながら、
ユーザにジャバTMアプリケーションへの更なる特権を与えさせる当業者に知られ
た技法に基づくより複雑なセキュリティ・モデルを想像することは、容易である
。例えば、アプリケーションは、キャッシュとしてファイル・システムの一部を
用いること、又はブラウザ・クッキーに類似する方法で記憶されたローカル−状
態(ローカル・サイト)へのアクセスを有することを許されうる。また、コード
署名は、ユーザがアプリケーションのオリジン(起源又は元)を確認することが
できるように支援することができる。
【0075】
アプレットのランチング:本説明は、ジャバTMアプリケーションのランチング
にもっぱら集中していた。しかしながら、JNetヘルパ・アプリケーションは
、同様にジャバTMアプレットのランチングを容易に支持することができる。これ
は、ジャバTMアプレットに対する限定されたブラウザ支持が存在するか全く存
在しないようなプラットフォームに関係しうる。
にもっぱら集中していた。しかしながら、JNetヘルパ・アプリケーションは
、同様にジャバTMアプレットのランチングを容易に支持することができる。これ
は、ジャバTMアプレットに対する限定されたブラウザ支持が存在するか全く存
在しないようなプラットフォームに関係しうる。
【0076】
フットプリント及びスタートアップ時間を縮小すること:JNetヘルパ・ア
プリケーションは、ユーザがウェブ・ブラウザから多くのクライアント・アプリ
ケーションをランチするようにするであろう。従って、アプリケーション毎に必
要なフットプリント及びスタートアップ時間は、クライアント側ジャバTMアプ
リケーションに対する主要な論点になる。従って、JNetヘルパ・アプリケー
ションは、その両方が当業者に知られた、クラスファイル・ストリーミング及び
ライトウェイトジャバTM仮想マシン・アーキテクチャの両方に対するイネーブリ
ング技術としてビューすることができる。クラス・ファイルのストリーミングは
、クラスファイルをよりコンパクトな表現で転送させ、かつクラスのバックグラ
ウンド・ローディングを部分的に支持することができる。現行のJARファイル
と比較して少なくとも10倍の圧縮レートを期待することは、たぶん現実的であ
る。ストリーミング技法は、より少ないバイトをネットにわたり転送することが
必要なので、スタート・アップ時間をかなり縮小することができ、かつまたより
少ない方法をロードすることが必要なのでフットプリントを縮小することもでき
る。例えば、先に説明したSwingSetアプリケーションについて、フット
プリントのほとんどは、方法におけるバイトコードの記憶に用いられ、かつSw
ingSetアプリケーションの一般的な実行において方法の50%以下が用い
られる。それゆえに、ロードした方法の数を縮小することは、フットプリント・
サイズをかなり低減することができる。更に、クラスファイル及びコンパイルド
・コードのような、同じシステムで実行する異なるジャバTMアプリケーション間
のデータ構造の共有を許容するように設計された、“ライトウェイト”ジャバTM 仮想マシンを本発明と一緒に用いることができる。複数のジャバTMアプリケーシ
ョンが同時に実行される場合には、これは、合計フットプリントをかなり縮小す
ることができるし、かつ既に実行しているジャバTMアプリケーションとデータ構
造を共有することによってアプリケーションに対するセット・アップ・コストの
ほとんどを取り除く(省く)ことができるので、スタート・アップ時間も増大す
ることができる。
プリケーションは、ユーザがウェブ・ブラウザから多くのクライアント・アプリ
ケーションをランチするようにするであろう。従って、アプリケーション毎に必
要なフットプリント及びスタートアップ時間は、クライアント側ジャバTMアプ
リケーションに対する主要な論点になる。従って、JNetヘルパ・アプリケー
ションは、その両方が当業者に知られた、クラスファイル・ストリーミング及び
ライトウェイトジャバTM仮想マシン・アーキテクチャの両方に対するイネーブリ
ング技術としてビューすることができる。クラス・ファイルのストリーミングは
、クラスファイルをよりコンパクトな表現で転送させ、かつクラスのバックグラ
ウンド・ローディングを部分的に支持することができる。現行のJARファイル
と比較して少なくとも10倍の圧縮レートを期待することは、たぶん現実的であ
る。ストリーミング技法は、より少ないバイトをネットにわたり転送することが
必要なので、スタート・アップ時間をかなり縮小することができ、かつまたより
少ない方法をロードすることが必要なのでフットプリントを縮小することもでき
る。例えば、先に説明したSwingSetアプリケーションについて、フット
プリントのほとんどは、方法におけるバイトコードの記憶に用いられ、かつSw
ingSetアプリケーションの一般的な実行において方法の50%以下が用い
られる。それゆえに、ロードした方法の数を縮小することは、フットプリント・
サイズをかなり低減することができる。更に、クラスファイル及びコンパイルド
・コードのような、同じシステムで実行する異なるジャバTMアプリケーション間
のデータ構造の共有を許容するように設計された、“ライトウェイト”ジャバTM 仮想マシンを本発明と一緒に用いることができる。複数のジャバTMアプリケーシ
ョンが同時に実行される場合には、これは、合計フットプリントをかなり縮小す
ることができるし、かつ既に実行しているジャバTMアプリケーションとデータ構
造を共有することによってアプリケーションに対するセット・アップ・コストの
ほとんどを取り除く(省く)ことができるので、スタート・アップ時間も増大す
ることができる。
【0077】
そして、本発明は、既知のシステム及び技法と同時に用いることができる。例
えば、マリンバ・インコーポレーティッド(Marimba,Inc.)から市
販されている、カスタネット(Castanet)技術の増分ソフトウェア更新
機構は、ジャバTM又はその他のアプリケーションに対するバージョン更新のネッ
ト・デプロイメントを更に容易にするために本発明の装置及び方法と一緒に用い
られうる。この意味で、カスタネット(Castanet)技術は、直交する概
念である。
えば、マリンバ・インコーポレーティッド(Marimba,Inc.)から市
販されている、カスタネット(Castanet)技術の増分ソフトウェア更新
機構は、ジャバTM又はその他のアプリケーションに対するバージョン更新のネッ
ト・デプロイメントを更に容易にするために本発明の装置及び方法と一緒に用い
られうる。この意味で、カスタネット(Castanet)技術は、直交する概
念である。
【0078】
纏めると、本発明の形態によるJNetヘルパ・アプリケーション技術は、イ
ンターネットのような異質ネットワークにわたるジャバTMアプリケーションのワ
ン−クリック・ネット中心デプロイメントに対する簡単なモデルを供給する。そ
れは、異質ネットワークにわたりブラウザ独立ジャバTMアプリケーションを配置
(デプロイ)するためのモデルを供給し、かつそれは、新しいソフトウェア・プ
ラットフォームの採用を制限することができるブラウザとの現行の結合(タイ・
イン)をブレークする。
ンターネットのような異質ネットワークにわたるジャバTMアプリケーションのワ
ン−クリック・ネット中心デプロイメントに対する簡単なモデルを供給する。そ
れは、異質ネットワークにわたりブラウザ独立ジャバTMアプリケーションを配置
(デプロイ)するためのモデルを供給し、かつそれは、新しいソフトウェア・プ
ラットフォームの採用を制限することができるブラウザとの現行の結合(タイ・
イン)をブレークする。
【0079】
ブラウザの内側(内部)でジャバTMアプリケーションを実行する必要なしに、
ブラウザから直接ジャバTMアプリケーションをランチする機能は、アプレット・
モデルが行うよりも電子メール・クライアント又は統合プログラミング環境のよ
うなアプリケーションをランチするより自然な方法を供給する。上術した例で説
明したように、本発明は、また、適切なビューワ・アプリケーションにウェブ・
コンテンツを結合することを可能にし、それによってユーザにより簡単でかつよ
りリッチな両方を経験させる。このように、本発明の形態による“アプリケーシ
ョン/ジャバ”マイム形式は、最高のマイム形式としてビューすることができる
。
ブラウザから直接ジャバTMアプリケーションをランチする機能は、アプレット・
モデルが行うよりも電子メール・クライアント又は統合プログラミング環境のよ
うなアプリケーションをランチするより自然な方法を供給する。上術した例で説
明したように、本発明は、また、適切なビューワ・アプリケーションにウェブ・
コンテンツを結合することを可能にし、それによってユーザにより簡単でかつよ
りリッチな両方を経験させる。このように、本発明の形態による“アプリケーシ
ョン/ジャバ”マイム形式は、最高のマイム形式としてビューすることができる
。
【0080】
本発明の別の利点は、主要ブラウザ・ベンダーに独立してジャバTM技術の採
用を行わせることである。これに関して、本発明は、ブラウザ独立かつJRE独
立の両方である。そのコンポーネント間に明らかな分離が存在するので、この特
徴は、技術を非常に強く(robust)する。ブラウザは、ジャバTMアプリケーション
と干渉(インターフェア)しないし、かつJNetヘルパ・アプリケーションそ
れ自体は、ブラウザ又はJREそれ自体のいずれかに存在する機能性をリインプ
リメント(再実施;再実現)しない。ジャバTMネット・ランチャーは、インター
ネットのジャバTMプラットフォームの普及採用に対する主要障害物の一つを取
り除き(除去し)、かつジャバTM技術ベースド・サービスの全く新しい組(セッ
ト)に対してデプロイメント(配置)機構を供給することによってユーザのウェ
ブ経験を豊富にする可能性を有する。
用を行わせることである。これに関して、本発明は、ブラウザ独立かつJRE独
立の両方である。そのコンポーネント間に明らかな分離が存在するので、この特
徴は、技術を非常に強く(robust)する。ブラウザは、ジャバTMアプリケーション
と干渉(インターフェア)しないし、かつJNetヘルパ・アプリケーションそ
れ自体は、ブラウザ又はJREそれ自体のいずれかに存在する機能性をリインプ
リメント(再実施;再実現)しない。ジャバTMネット・ランチャーは、インター
ネットのジャバTMプラットフォームの普及採用に対する主要障害物の一つを取
り除き(除去し)、かつジャバTM技術ベースド・サービスの全く新しい組(セッ
ト)に対してデプロイメント(配置)機構を供給することによってユーザのウェ
ブ経験を豊富にする可能性を有する。
【0081】
ここに記述したブロック図及びフローチャートは、本発明の方法を達成するた
めの段階のブロード・アーキテクチャ及びロジック・フローを単に示すものであ
り、かつ段階は、本発明の適用範囲から逸脱することなくフローチャートに追加
しうるし、又はそれから取り去りうる。更に、フローチャートにおける段階の実
行の順番は、本発明の適用範囲から逸脱することなく変更されうる。フローチャ
ートによって記述される方法をインプリメントすることにおける更なる考慮は、
選択及び段階の順番における変更を指図しうる。
めの段階のブロード・アーキテクチャ及びロジック・フローを単に示すものであ
り、かつ段階は、本発明の適用範囲から逸脱することなくフローチャートに追加
しうるし、又はそれから取り去りうる。更に、フローチャートにおける段階の実
行の順番は、本発明の適用範囲から逸脱することなく変更されうる。フローチャ
ートによって記述される方法をインプリメントすることにおける更なる考慮は、
選択及び段階の順番における変更を指図しうる。
【0082】
一般に、この明細書におけるフローチャートは、コンピュータ・システムで実
行するソフトウェア・ルーチンによって実行される一つ以上の段階を含む。ルー
チンは、この技術分野で知られた手段によってインプリメントされうる。例えば
、ジャバTM言語、C、C++、Pascal(パスカル)、Smalltalk
(スモールトーク)、FORTRAN(フォートラン)、アセンブリ言語、等の
ような多数のコンピュータ・プログラミング言語を用いうる。更に、手続形、オ
ブジェクト指向形又は人工知能技法のような様々なプログラミング・アプローチ
を採用しうる。しかしながら、プラットフォーム独立コードは、ジャバTM言語又
はSmalltalk(スモールトーク)のような、特にプラットフォーム独立
アプリケーションに適するプログラミング言語で書かれるべきであるということ
に注目すべきである。当業者に知られているように、本発明の形態をインプリメ
ントことに対応しているプログラム・コードは、コンピュータ読取り可能媒体に
全て記憶されうる。各特定のインプリメンテーションにより、この目的に適する
コンピュータ読取り可能媒体は、フロッピ・ディスケット、ハード・ドライブ、
ネットワーク・ドライブ、RAM、ROM、EEPROM、不揮発性RAM、又
はフラッシュ・メモリを、それらに限定することなく、含みうる。
行するソフトウェア・ルーチンによって実行される一つ以上の段階を含む。ルー
チンは、この技術分野で知られた手段によってインプリメントされうる。例えば
、ジャバTM言語、C、C++、Pascal(パスカル)、Smalltalk
(スモールトーク)、FORTRAN(フォートラン)、アセンブリ言語、等の
ような多数のコンピュータ・プログラミング言語を用いうる。更に、手続形、オ
ブジェクト指向形又は人工知能技法のような様々なプログラミング・アプローチ
を採用しうる。しかしながら、プラットフォーム独立コードは、ジャバTM言語又
はSmalltalk(スモールトーク)のような、特にプラットフォーム独立
アプリケーションに適するプログラミング言語で書かれるべきであるということ
に注目すべきである。当業者に知られているように、本発明の形態をインプリメ
ントことに対応しているプログラム・コードは、コンピュータ読取り可能媒体に
全て記憶されうる。各特定のインプリメンテーションにより、この目的に適する
コンピュータ読取り可能媒体は、フロッピ・ディスケット、ハード・ドライブ、
ネットワーク・ドライブ、RAM、ROM、EEPROM、不揮発性RAM、又
はフラッシュ・メモリを、それらに限定することなく、含みうる。
【0083】
本発明の実施形態及びアプリケーションを示しかつ説明したが、上記したより
も多くの変更がこの発明的概念から逸脱することなく可能であるということは、
この開示の利点を有する当業者には自明であろう。従って、本発明は、添付した
特許請求の範囲の精神における以外には限定されるものではない。
も多くの変更がこの発明的概念から逸脱することなく可能であるということは、
この開示の利点を有する当業者には自明であろう。従って、本発明は、添付した
特許請求の範囲の精神における以外には限定されるものではない。
この明細書の一部に採用されかつそれを構成する、添付した図面は、本発明の
実施形態を示し、かつ本発明の記述と一緒に、本発明の原理を説明する役目をす
る。図面において:
実施形態を示し、かつ本発明の記述と一緒に、本発明の原理を説明する役目をす
る。図面において:
【図1】
図1は、本発明の形態をインプリメント(実施:実現)するために適するクラ
イアント・コンピュータ・システムのブロック図を示す。
イアント・コンピュータ・システムのブロック図を示す。
【図2】
図2は、本発明の形態に従ってリモート・サーバへのクライアント・コンピュ
ータ・システムの相互接続を示す。
ータ・システムの相互接続を示す。
【図3】
図3は、当業者に知られたアプリケーションのネット設置(展開)に対するア
プレット・モデルのブロック図を示す。
プレット・モデルのブロック図を示す。
【図4】
図4は、本発明の形態に従ってアプリケーションに対するネット設置(展開)
モデル示す。
モデル示す。
【図5】
図5は、本発明の形態に従ってブラウザからアプリケーションを受取り、設置
し、かつ送り出すためのブラウザ独立方法を示すフローチャートである。
し、かつ送り出すためのブラウザ独立方法を示すフローチャートである。
【図6】
図6は、本発明の一実施形態によるクライアント側ネット・ランチャー・ヘル
パー・アプリケーションの構造を示すブロック図を示す。
パー・アプリケーションの構造を示すブロック図を示す。
【図7】
図7は、本発明の一実施形態に従ってユーザのパースペクティブからアプリケ
ーションを受取り、設置し、かつ送り出すためのブラウザ独立方法を示すフロー
チャートである。
ーションを受取り、設置し、かつ送り出すためのブラウザ独立方法を示すフロー
チャートである。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,CY,
DE,DK,ES,FI,FR,GB,GR,IE,I
T,LU,MC,NL,PT,SE,TR),OA(BF
,BJ,CF,CG,CI,CM,GA,GN,GW,
ML,MR,NE,SN,TD,TG),AP(GH,G
M,KE,LS,MW,MZ,SD,SL,SZ,TZ
,UG,ZW),EA(AM,AZ,BY,KG,KZ,
MD,RU,TJ,TM),AE,AG,AL,AM,
AT,AU,AZ,BA,BB,BG,BR,BY,B
Z,CA,CH,CN,CR,CU,CZ,DE,DK
,DM,DZ,EE,ES,FI,GB,GD,GE,
GH,GM,HR,HU,ID,IL,IN,IS,J
P,KE,KG,KP,KR,KZ,LC,LK,LR
,LS,LT,LU,LV,MA,MD,MG,MK,
MN,MW,MX,MZ,NO,NZ,PL,PT,R
O,RU,SD,SE,SG,SI,SK,SL,TJ
,TM,TR,TT,TZ,UA,UG,UZ,VN,
YU,ZA,ZW
(72)発明者 ミュラー ハンス イー
アメリカ合衆国 カリフォルニア州
95070 サラトガ メロウッド ドライヴ
12160
(72)発明者 ヴァイオレット スコット アール
アメリカ合衆国 カリフォルニア州
94306 パロ アルト フォレスト グレ
ン ストリート 8
Fターム(参考) 5B076 AA02 BB02 BB06
【要約の続き】
に基づいて実装され、自動更新及びバージョニングが、
中央管理なくサポートされ、及び複数のJREの自動イ
ンストールが容易になる。本発明の実施例は、ブラウザ
内で実行する必要なく、ブラウザから直接JavaTMア
プリケーションをランチする等、他のアプリケーション
を容易にし、及びウェブ・コンテンツを適切な、対応す
るビューア・アプリケーションに結びつけるためにも使
用されてよい。
Claims (57)
- 【請求項1】 クライアント・コンピュータにおいて、ブラウザからアプリ
ケーションを受信し、インストールし、かつランチするためのブラウザ独立方法
であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
、ブラウザにヘルパ・アプリケーションを登録するステップであって、前記ヘル
パ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメタ
ファイルへのリンクに出会う時に呼び出される前記ステップと; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
、及び前記ブラウザが、前記メタファイルへのリンクに出会う時に、前記メタフ
ァイルのコピーを入力パラメータとして用いて、前記ヘルパ・アプリケーション
を呼び出すステップと; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを決定するために、前記メタファイルのコピーを解析するステップと; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
するステップと; 前記クライアント・コンピュータに前記アプリケーションをインストールする
ステップと; 前記ブラウザから独立して前記アプリケーションにランチするステップと を具備することを特徴とするブラウザ独立方法。 - 【請求項2】 前記アプリケーションは、ジャバ・アプリケーションであり
、かつ前記メタファイルは、前記ジャバ・アプリケーションのためのショート・
ランチ・ファイル仕様を具備することを特徴とする請求項1に記載の方法。 - 【請求項3】 前記メタファイルは、一組のユニバーサル・リソース識別子
(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
とを特徴とする請求項2に記載の方法。 - 【請求項4】 ジャバ・アーカイブ・ファイル及びクラス・ファイルがそこ
から受信される、ユニバーサル・リソース識別子(“URIs”)に基づいた、
前記ジャバ・アーカイブ・ファイル及びクラス・ファイルの自動インストールを
さらに具備することを特徴とする請求項3に記載の方法。 - 【請求項5】 前記アプリケーションは、自動的に、より新しいバージョン
に更新されることができることを特徴とする請求項3に記載の方法。 - 【請求項6】 前記JREが前記メタファイルによって特定され、及び前記
JREが前記クライアント・コンピュータにインストールされていない場合の、
JRE自動インストールをさらに具備することを特徴とする請求項3に記載の方
法。 - 【請求項7】 クライアント・コンピュータにおいて、ブラウザからアプリ
ケーションを受信し、インストールし、及びランチするためのブラウザ独立方法
であって: 前記クライアント・コンピュータに、特定されたマイム形式またはファイル形
式のためのヘルパ・アプリケーションを登録することができるブラウザをインス
トールし; 前記クライアント・コンピュータに、前記アプリケーションのための、一つ以
上の実行環境をインストールし; 前記クライアント・コンピュータに、前記アプリケーションをインストールし
、及び実行するために必要なコンポーネントを記述するメタファイルを解析する
ことができるヘルパ・アプリケーションをインストールし; 前記メタファイルへのリンクを起動し; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
し、及び入力パラメータとして、前記メタファイルのコピーを用いて、前記ヘル
パ・アプリケーションを呼び出し; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを決定するために、前記メタファイルのコピーを解析し; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
し; 前記クライアント・コンピュータに、前記アプリケーションをインストールし
;及び 前記ブラウザから独立して前記アプリケーションをランチするステップ を具備することを特徴とするブラウザ独立方法。 - 【請求項8】 前記アプリケーションは、ジャバ・アプリケーションであり
、及び前記メタファイルは、前記ジャバ・アプリケーションのための、ショート
・ランチ・ファイル仕様を具備することを特徴とする請求項7に記載の方法。 - 【請求項9】 前記メタファイルは、一組のユニバーサル・リソース識別子
(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
とを特徴とする請求項7に記載の方法。 - 【請求項10】 そこからジャバ・アーカイブ・ファイル及びクラス・ファ
イルが受信される、ユニバーサル・リソース識別子(“URIs”)に基づいた
、前記ジャバ・アーカイブ・ファイル及びクラス・ファイルの自動インストール
をさらに具備することを特徴とする請求項9に記載の方法。 - 【請求項11】 前記アプリケーションは、より新しいバージョンに自動的
に更新されることができることを特徴とする請求項9に記載の方法。 - 【請求項12】 前記JREが前記メタファイルによって特定され、及び前
記JREが前記クライアント・コンピュータにインストールされていない場合の
、JREの自動インストールをさらに具備することを特徴とする請求項9に記載
の方法。 - 【請求項13】 クライアント・コンピュータにおいて、ブラウザから実行
環境を受信し、及びインストールするためのブラウザ独立方法であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
、ブラウザに、ヘルパ・アプリケーションを登録するステップであって、前記ヘ
ルパ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメ
タファイルへのリンクに出会う時に呼び出されることを特徴とする前記ステップ
と; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメー
タとして前記メタファイルのコピーを用いて、前記ヘルパ・アプリケーションを
呼び出すステップと; 前記実行環境が、前記アプリケーションをランチするために必要であるかどう
か決定するために、前記メタファイルのコピーを解析するステップと; 前記実行環境が、前記アプリケーションをランチするために必要であると決定
され、及び前記実行環境がまだ前記クライアント・コンピュータにインストール
されていない場合、前記クライアント・コンピュータにおいて、前記実行環境を
受信し、及びインストールするステップと を具備することを特徴とするブラウザ独立方法。 - 【請求項14】 前記実行環境は、ジャバ実行環境(“JRE”)であるこ
とを特徴とする請求項13に記載の方法。 - 【請求項15】 前記実行環境は、より新しいバージョンに自動的に更新さ
れることができることを特徴とする請求項13に記載の方法。 - 【請求項16】 前記実行環境は、信頼されるソースから、前記クライアン
ト・コンピュータにおいて受信されることを特徴とする請求項13に記載の方法
。 - 【請求項17】 前記実行環境は、信頼できる手段を用いて、信頼されるソ
ースから前記クライアント・コンピュータにおいて受信されることを特徴とする
請求項13に記載の方法。 - 【請求項18】 クライアント・コンピュータにアプリケーションを送信す
るためのブラウザ独立方法であって: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを記述するメタファイルが、HTTPサーバによって、前記クライアン
ト・コンピュータに送信される時、特定されたマイム形式を送信するように前記
HTTPサーバを構成し;及び 前記クライアント・コンピュータから受信されたHTTP要求に応答して、前
記クライアント・コンピュータに、前記マイム形式を有する前記メタファイルを
送信し;及び 前記クライアント・コンピュータから受信された一つ以上の要求に応答して、
前記クライアント・コンピュータに、前記コンポーネントの一部、またはすべて
を送信するステップ を具備することを特徴とするブラウザ独立方法。 - 【請求項19】 前記アプリケーションはジャバ・アプリケーションであっ
て、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート
・ランチ・ファイル仕様を具備することを特徴とする請求項18に記載の方法。 - 【請求項20】 前記メタファイルは、一組のユニバーサル・リソース識別
子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
ことを特徴とする請求項18に記載の方法。 - 【請求項21】 クライアント・コンピュータにおいて、ブラウザからアプ
リケーションを受信し、インストールし、及びランチするためのブラウザ独立装
置であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
、ブラウザにヘルパ・アプリケーションを登録するための手段であって、前記ヘ
ルパ・アプリケーションは、前記ブラウザが前記特定されたファイル形式のメタ
ファイルへのリンクに出会う時に呼び出されることを特徴とする前記手段と; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
ータとして前記メタファイルのコピーを用いて、前記ヘルパ・アプリケーション
を呼び出すための手段と; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを決定するために、前記メタファイルのコピーを解析するための手段と
; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
するための手段と; 前記アプリケーションを前記クライアント・コンピュータにインストールする
ための手段と;及び 前記ブラウザから独立して前記アプリケーションをランチするための手段と を具備することを特徴とするブラウザ独立装置。 - 【請求項22】 前記アプリケーションは、ジャバ・アプリケーションであ
り、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート
・ランチ・ファイル仕様を具備することを特徴とする請求項21に記載の装置。 - 【請求項23】 前記メタファイルは、一組のユニバーサル・リソース識別
子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
ことを特徴とする請求項22に記載の装置。 - 【請求項24】 そこからジャバ・アーカイブ・ファイル及びクラス・ファ
イルを受信する、ユニバーサル・リソース識別子(“URIs”)に基づいた、
前記ジャバ・アーカイブ及びクラス・ファイルの自動インストールをさらに具備
することを特徴とする請求項23に記載の装置。 - 【請求項25】 前記アプリケーションはより新しいバージョンに自動的に
更新されることができることを特徴とする請求項23に記載の装置。 - 【請求項26】 前記JREが前記メタファイルによって特定され、及び前
記JREが前記クライアント・コンピュータにインストールされていない場合の
、JREの自動インストールのための手段をさらに具備することを特徴とする請
求項23に記載の装置。 - 【請求項27】 クライアント・コンピュータにおいて、ブラウザからアプ
リケーションを受信し、インストールし、及びランチするためのブラウザ独立装
置であって: 前記クライアント・コンピュータにおいて、特定されたマイム形式またはファ
イル形式のために、ヘルパ・アプリケーションを登録することができるブラウザ
をインストールするための手段と; 前記クライアント・コンピュータにおいて、前記アプリケーションのための一
つ以上の実行環境をインストールするための手段と; 前記クライアント・コンピュータにおいて前記アプリケーションをインストー
ルし、及び実行するために必要なコンポーネントを記述するメタファイルを解析
することができるヘルパ・アプリケーションをインストールするための手段と; 前記メタファイルへのリンクを起動させるための手段と; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
、及び入力パラメータとして、前記メタファイルのコピーを用いて前記ヘルパ・
アプリケーションを呼び出すための手段と; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを決定するために、前記メタファイルのコピーを解析するための手段と
; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
するための手段と; 前記クライアント・コンピュータに前記アプリケーションをインストールする
ための手段と;及び 前記ブラウザから独立して前記アプリケーションをランチするための手段と を具備することを特徴とするブラウザ独立装置。 - 【請求項28】 前記アプリケーションはジャバ・アプリケーションであり
、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート・
ランチ・ファイル仕様を具備することを特徴とする請求項27に記載の装置。 - 【請求項29】 前記メタファイルは、一組のユニバーサル・リソース識別
子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
ことを特徴とする請求項27に記載の装置。 - 【請求項30】 そこからジャバ・アーカイブ・ファイル及びクラス・ファ
イルが受信される、ユニバーサル・リソース識別子(“URI”)に基づいた、
前記ジャバ・アーカイブ・ファイル及びクラス・ファイルの自動インストールを
さらに具備する請求項29に記載の装置。 - 【請求項31】 前記アプリケーションは、より新しいバージョンに自動的
に更新されることができることを特徴とする請求項29に記載の装置。 - 【請求項32】 前記JREが前記メタファイルによって特定され、及び前
記JREが前記クライアント・コンピュータにインストールされていない場合の
自動インストールのための手段をさらに具備することを特徴とする請求項29に
記載の装置。 - 【請求項33】 クライアント・コンピュータにおいて、ブラウザから実行
環境を受信し、及びインストールするためのブラウザ独立装置であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
、ブラウザにヘルパ・アプリケーションを登録するための手段であって、前記ヘ
ルパ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメ
タファイルへのリンクに出会う時に呼び出される前記手段と; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
ータとして前記メタファイルのコピーを用いて前記ヘルパ・アプリケーションを
呼び出すための手段と; 前記実行環境が、前記アプリケーションをランチするために必要であるか決定
するために、前記メタファイルのコピーを解析するための手段と;及び 前記実行環境が、前記アプリケーションをランチするために必要であると決定
され、及び前記実行環境が、前記クライアント・コンピュータにまだインストー
ルされていない場合に、前記クライアント・コンピュータにおいて、前記実行環
境を受信し及びインストールするための手段と を具備することを特徴とするブラウザ独立装置。 - 【請求項34】 前記実行環境はジャバ実行環境(“JRE”)であること
を特徴とする、請求項33に記載の装置。 - 【請求項35】 前記実行環境は、より新しいバージョンに自動的に更新さ
れることができることを特徴とする、請求項33に記載の装置。 - 【請求項36】 前記実行環境は、信頼されるソースから、前記クライアン
ト・コンピュータにおいて受信されることを特徴とする、請求項33に記載の装
置。 - 【請求項37】 前記実行環境は、信頼できる手段を用いて、信頼されるソ
ースから、前記クライアント・コンピュータにおいて受信されることを特徴とす
る、請求項33に記載の装置。 - 【請求項38】 アプリケーションをクライアント・コンピュータに送信す
るためのブラウザ独立装置であって: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを記述するメタファイルが、HTTPサーバによって前記クライアント
・コンピュータに送信される時に、特定されたマイム形式を送信するように、前
記HTTPサーバを構成するための手段と;及び 前記クライアント・コンピュータから受信されたHTTP要求に応答して、前
記クライアント・コンピュータに、前記マイム形式を有する前記メタファイルを
送信するための手段と;及び 前記クライアント・コンピュータから受信された一つ以上の要求に応答して、
前記クライアント・コンピュータに前記コンポーネントの一部またはすべてを送
信するための手段と を具備することを特徴とするブラウザ独立装置。 - 【請求項39】 前記アプリケーションは、ジャバ・アプリケーションであ
り、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート
・ランチ・ファイル仕様を具備することを特徴とする、請求項38に記載の装置
。 - 【請求項40】 前記メタファイルは、一組のユニバーサル・リソース識別
子(“URI”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
とを特徴とする、請求項38に記載の装置。 - 【請求項41】 クライアント・コンピュータにおいて、ブラウザからアプ
リケーションを受信し、インストールし、及びランチするための、ブラウザ独立
装置であって: 前記アプリケーションのための実行環境と;及び 前記ブラウザが、前記アプリケーションをインストールし、及びランチするの
に必要なコンポーネントを記述するメタファイルへのリンクに出会う時、ブラウ
ザによって呼び出されるヘルパ・アプリケーションであって、前記アプリケーシ
ョンをインストールし、及びランチするのに必要なコンポーネントを決定するた
めに、前記メタファイルのコピーを解析するためのロジックと、前記クライアン
ト・コンピュータにまだインストールされていない前記コンポーネントのいずれ
かのコピーを入手するためのロジックと、前記クライアント・コンピュータに、
前記アプリケーションをインストールするためのロジックと、及び前記ブラウザ
から独立して前記アプリケーションをランチするためのロジックとを具備するこ
とを特徴とするヘルパ・アプリケーションと を具備することを特徴とする、ブラウザ独立装置。 - 【請求項42】 前記アプリケーションはジャバ・アプリケーションであり
、前記実行環境は、ジャバ実行環境(“JRE”)であり、及び前記メタファイ
ルは、前記ジャバ・アプリケーションのためのショート・ランチ・ファイル仕様
を具備することを特徴とする、請求項41に記載の装置。 - 【請求項43】 前記メタファイルは、一組のユニバーサル・リソース識別
子(“URI”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
とを特徴とする、請求項42に記載の装置。 - 【請求項44】 前記ヘルパ・アプリケーションは、そこからジャバ・アー
カイブ・ファイル及びクラス・ファイルが入手される、ユニバーサル・リソース
識別子(“URIs”)に基づいた、前記ジャバ・アーカイブ・ファイル及びク
ラス・ファイルの自動インストールのためのロジックをさらに具備することを特
徴とする、請求項43に記載の装置。 - 【請求項45】 前記ヘルパ・アプリケーションは、前記アプリケーション
をより新しいバージョンに自動的に更新するためのロジックをさらに具備するこ
とを特徴とする、請求項43に記載の装置。 - 【請求項46】 前記ヘルパ・アプリケーションは、前記JREが前記メタ
ファイルに特定され、及び前記JREが前記クライアント・コンピュータにイン
ストールされていない場合に、JREを自動的にインストールするためのロジッ
クをさらに具備することを特徴とする、請求項43に記載の装置。 - 【請求項47】 クライアント・コンピュータにおいて、ブラウザから実行
環境を受信し、及びインストールするための、ブラウザ独立装置であって: 前記ブラウザが、前記実行環境に依存したアプリケーションをインストールし
、及びランチするのに必要なコンポーネントを記述するメタファイルへのリンク
に出会う時、ブラウザによって呼び出されるヘルパ・アプリケーションであって
、前記実行環境の、どのバージョンが特定されるかを決定するために、前記メタ
ファイルのコピーを解析するためのロジックと、前記実行環境の前記バージョン
が、前記クライアント・コンピュータにインストールされているか決定するため
のロジックと、前記実行環境の前記バージョンが、前記クライアント・コンピュ
ータにまだインストールされていない場合、前記実行環境の前記バージョンのコ
ピーを入手するためのロジックと、及び前記ブラウザから独立して、前記クライ
アント・コンピュータに、前記実行環境の前記バージョンをインストールするた
めのロジックと を具備することを特徴とする、ブラウザ独立装置。 - 【請求項48】 前記実行環境は、ジャバ実行環境(“JRE”)であるこ
とを特徴とする、請求項47に記載の装置。 - 【請求項49】 前記ヘルパ・アプリケーションは、前記実行環境を、より
新しいバージョンに自動的に更新するためのロジックをさらに具備することを特
徴とする、請求項47に記載の装置。 - 【請求項50】 前記ヘルパ・アプリケーションは、信頼できる手段を用い
て、信頼されるソースから前記実行環境を入手するためのロジックをさらに具備
することを特徴とする、請求項47に記載の装置。 - 【請求項51】 クライアント・コンピュータにアプリケーションを送信す
るための、ブラウザ独立装置であって: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを記述するメタファイルが、HTTPサーバによって前記クライアント
・コンピュータに送信される時に、特定されたマイム形式を送信するように構成
された前記HTTPサーバと;及び 前記マイム形式を有するメタファイルであって、前記クライアント・コンピュ
ータから受信されるHTTP要求に応答して、前記クライアント・コンピュータ
に、前記HTTPサーバによって送信されることを特徴とする前記メタファイル
とを具備することを特徴とするブラウザ独立装置。 - 【請求項52】 前記アプリケーションはジャバ・アプリケーションであり
、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート・
ランチ・ファイル仕様を具備することを特徴とする、請求項51に記載の装置。 - 【請求項53】 前記メタファイルは、一組のユニバーサル・リソース識別
子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
ことを特徴とする、請求項52に記載の装置。 - 【請求項54】 マシンによって読み取り可能であり、クライアント・コン
ピュータにおいて、ブラウザからアプリケーションを受信し、インストールし、
及びランチするためのブラウザ独立方法を実行するために、前記マシンによって
実行可能な命令のプログラムを実体的に具現化するプログラム記憶装置であって
、前記方法は: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
、ブラウザにヘルパ・アプリケーションを登録するステップであって、前記ヘル
パ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメタ
ファイルへのリンクに出会う時に呼び出される前記ステップと; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
ータとして、前記メタファイルのコピーを用いて、前記ヘルパ・アプリケーショ
ンを呼び出すステップと; 前記アプリケーションをインストールし、及びランチするのに必要なコンポー
ネントを決定するために、前記メタファイルのコピーを解析するステップと; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
するステップと; 前記クライアント・コンピュータに前記アプリケーションをインストールする
ステップと;及び 前記ブラウザから独立して、前記アプリケーションをランチするステップと を具備することを特徴とする、プログラム記憶装置。 - 【請求項55】 マシンによって読み取り可能であり、クライアント・コン
ピュータにおいて、ブラウザからアプリケーションを受信し、インストールし、
及びランチするためのブラウザ独立方法を実行するために、前記マシンによって
実行可能な命令のプログラムを実体的に具現化するプログラム記憶装置であって
、前記方法は: 前記クライアント・コンピュータにおいて、特定されたマイム形式またはファ
イル形式のために、ヘルパ・アプリケーションを登録することができるブラウザ
をインストールするステップと; 前記クライアント・コンピュータにおいて、前記アプリケーションのための一
つ以上の実行環境をインストールするステップと; 前記クライアント・コンピュータにおいて、前記アプリケーションをインスト
ールし、及び実行するために必要なコンポーネントを記述するメタファイルを解
析することができるヘルパ・アプリケーションをインストールするステップと; 前記メタファイルへのリンクを起動するステップと; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
、及び入力パラメータとして、前記メタファイルのコピーを用いて、前記ヘルパ
・アプリケーションを呼び出すステップと; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを決定するために前記メタファイルのコピーを解析するステップと; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
するステップと; 前記クライアント・コンピュータに前記アプリケーションをインストールする
ステップと;及び 前記ブラウザから独立して、前記アプリケーションをランチするステップと を具備することを特徴とするプログラム記憶装置。 - 【請求項56】 マシンによって読み取り可能であり、クライアント・コン
ピュータにおいて、ブラウザから実行環境を受信し、及びインストールするため
のブラウザ独立方法を実行するために、前記マシンによって実行可能な命令のプ
ログラムを実体的に具現化するプログラム記憶装置であって、前記方法は: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
、ブラウザにヘルパ・アプリケーションを登録するステップであって、前記ヘル
パ・アプリケーションは、前記ブラウザが前記特定されたファイル形式のメタフ
ァイルへのリンクに出会う時に呼び出されることを特徴とするステップと; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
ータとして、前記メタファイルのコピーを用いて前記ヘルパ・アプリケーション
を呼び出すステップと; 前記実行環境が、前記アプリケーションをランチするために必要であるかどう
か決定するために、前記メタファイルのコピーを解析するステップと;及び 前記実行環境が、前記アプリケーションをランチするために必要であると決定さ
れ、及び前記実行環境がまた前記クライアント・コンピュータにインストールさ
れていない場合に、前記クライアント・コンピュータにおいて、前記実行環境を
受信し、及びインストールするステップと を具備することを特徴とするプログラム記憶装置。 - 【請求項57】 マシンによって読み取り可能であり、クライアント・コン
ピュータにアプリケーションを送信するためのブラウザ独立方法を実行するため
に、前記マシンによって実行可能な命令のプログラムを実体的に具現化するプロ
グラム記憶装置であって、前記方法は: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
ーネントを記述するメタファイルが、HTTPサーバによって前記クライアント
・コンピュータに送信される時、特定されたマイム形式を送信するように前記H
TTPサーバを構成するステップと;及び 前記クライアント・コンピュータから受信されたHTTP要求に応答して、前
記マイム形式を有する前記メタファイルを、前記クライアント・コンピュータに
送信するステップと;及び 前記クライアント・コンピュータから受信された一つ以上の要求に応答して、
前記クライアント・コンピュータに、前記コンポーネントの一部、またはすべて
を送信するステップと を具備することを特徴とする、プログラム記憶装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/489,583 US6546554B1 (en) | 2000-01-21 | 2000-01-21 | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
US09/489,583 | 2000-01-21 | ||
PCT/US2001/001861 WO2001053937A2 (en) | 2000-01-21 | 2001-01-19 | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003521036A true JP2003521036A (ja) | 2003-07-08 |
Family
ID=23944439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001554165A Pending JP2003521036A (ja) | 2000-01-21 | 2001-01-19 | クライアント・コンピュータのブラウザからアプリケーションを受取り、インストールしかつランチするためのブラウザ独立及び自動装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6546554B1 (ja) |
EP (1) | EP1256058A2 (ja) |
JP (1) | JP2003521036A (ja) |
AU (1) | AU2001229653A1 (ja) |
WO (1) | WO2001053937A2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006067841A1 (ja) * | 2004-12-22 | 2008-06-12 | 富士通株式会社 | 仮想マシン管理プログラムおよび仮想マシン管理方法 |
JP2009076099A (ja) * | 2008-12-19 | 2009-04-09 | Sharp Corp | サービス提供装置 |
US8005931B2 (en) | 2006-05-17 | 2011-08-23 | Sharp Kabushiki Kaisha | Service providing apparatus |
JP5483244B1 (ja) * | 2013-11-19 | 2014-05-07 | 株式会社coromo | サーバ装置 |
JP2017515236A (ja) * | 2014-04-30 | 2017-06-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ハードディスクがアプリケーションコードを実行するための方法および装置 |
Families Citing this family (223)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324685B1 (en) * | 1998-03-18 | 2001-11-27 | Becomm Corporation | Applet server that provides applets in various forms |
US20010044850A1 (en) * | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US7017188B1 (en) * | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6763370B1 (en) * | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US8225214B2 (en) | 1998-12-18 | 2012-07-17 | Microsoft Corporation | Supplying enhanced computer user's context data |
US7225229B1 (en) | 1998-12-18 | 2007-05-29 | Tangis Corporation | Automated pushing of computer user's context data to clients |
US6920616B1 (en) | 1998-12-18 | 2005-07-19 | Tangis Corporation | Interface for exchanging context data |
US6801223B1 (en) | 1998-12-18 | 2004-10-05 | Tangis Corporation | Managing interactions between computer users' context models |
US6842877B2 (en) | 1998-12-18 | 2005-01-11 | Tangis Corporation | Contextual responses based on automated learning techniques |
US9183306B2 (en) | 1998-12-18 | 2015-11-10 | Microsoft Technology Licensing, Llc | Automated selection of appropriate information based on a computer user's context |
US6791580B1 (en) | 1998-12-18 | 2004-09-14 | Tangis Corporation | Supplying notifications related to supply and consumption of user context data |
US8181113B2 (en) * | 1998-12-18 | 2012-05-15 | Microsoft Corporation | Mediating conflicts in computer users context data |
US7046263B1 (en) | 1998-12-18 | 2006-05-16 | Tangis Corporation | Requesting computer user's context data |
US7231439B1 (en) | 2000-04-02 | 2007-06-12 | Tangis Corporation | Dynamically swapping modules for determining a computer user's context |
US7779015B2 (en) | 1998-12-18 | 2010-08-17 | Microsoft Corporation | Logging and analyzing context attributes |
US6513046B1 (en) | 1999-12-15 | 2003-01-28 | Tangis Corporation | Storing and recalling information to augment human memories |
US7200632B1 (en) * | 1999-04-12 | 2007-04-03 | Softricity, Inc. | Method and system for serving software applications to client computers |
US6938096B1 (en) * | 1999-04-12 | 2005-08-30 | Softricity, Inc. | Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port |
US7730169B1 (en) | 1999-04-12 | 2010-06-01 | Softricity, Inc. | Business method and system for serving third party software applications |
US7370071B2 (en) | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
JP2000305885A (ja) * | 1999-04-23 | 2000-11-02 | Toshiba Corp | 通信装置及びその方法 |
US8099758B2 (en) | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
US7062765B1 (en) * | 1999-05-25 | 2006-06-13 | Realnetworks, Inc. | System and method for updating information via a network |
US6687745B1 (en) | 1999-09-14 | 2004-02-03 | Droplet, Inc | System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection |
US20040205473A1 (en) * | 2000-01-27 | 2004-10-14 | Gwyn Fisher | Method and system for implementing an enterprise information portal |
US6993565B1 (en) * | 2000-03-13 | 2006-01-31 | Fujitsu Limited | Service processor control system and computer-readable recording medium recording service processor control program |
AU2001249768A1 (en) * | 2000-04-02 | 2001-10-15 | Tangis Corporation | Soliciting information based on a computer user's context |
US7464153B1 (en) | 2000-04-02 | 2008-12-09 | Microsoft Corporation | Generating and supplying user context data |
US6964034B1 (en) * | 2000-04-20 | 2005-11-08 | International Business Machines Corporation | Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment |
US7296217B1 (en) * | 2000-05-05 | 2007-11-13 | Timberline Software Corporation | Electronic transaction document system |
AU2001261446A1 (en) * | 2000-05-08 | 2001-11-20 | Envoii | Method and apparatus for a portable information agent |
US7877437B1 (en) | 2000-05-08 | 2011-01-25 | H.E.B., Llc | Method and apparatus for a distributable globe graphical object |
US6948135B1 (en) * | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7000230B1 (en) * | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7693961B2 (en) * | 2000-06-30 | 2010-04-06 | Sharp Kabushiki Kaisha | Method and system for supplying programs |
US7665082B2 (en) * | 2000-06-30 | 2010-02-16 | Microsoft Corporation | Methods and systems for adaptation, diagnosis, optimization, and prescription technology for network-based applications |
JP3602036B2 (ja) * | 2000-06-30 | 2004-12-15 | シャープ株式会社 | プログラム供給システム及びプログラム供給方法 |
US7711798B1 (en) * | 2000-07-12 | 2010-05-04 | Paltalk Holdings, Inc. | Method and computer program for offering products and services by examining user activity |
WO2002021404A1 (en) * | 2000-09-06 | 2002-03-14 | Envoii | Method and apparatus for a portable information account access agent |
US6934740B1 (en) * | 2000-09-19 | 2005-08-23 | 3Com Corporation | Method and apparatus for sharing common data objects among multiple applications in a client device |
US20020087645A1 (en) * | 2000-09-28 | 2002-07-04 | Kent Ertugrul | Automated initiation and propagation by means of electronic mail of devices to provide voice-over-IP and other advanced communications capabilities to recipients of such electronic mail |
WO2002033541A2 (en) * | 2000-10-16 | 2002-04-25 | Tangis Corporation | Dynamically determining appropriate computer interfaces |
US20020054130A1 (en) * | 2000-10-16 | 2002-05-09 | Abbott Kenneth H. | Dynamically displaying current status of tasks |
US7003800B1 (en) * | 2000-11-06 | 2006-02-21 | Ralph Victor Bain | Self-decrypting web site pages |
US7353228B2 (en) | 2000-12-07 | 2008-04-01 | General Electric Capital Corporation | Method and product for calculating a net operating income audit and for enabling substantially identical audit practices among a plurality of audit firms |
US20020078262A1 (en) * | 2000-12-14 | 2002-06-20 | Curl Corporation | System and methods for providing compatibility across multiple versions of a software system |
US20020103941A1 (en) * | 2001-01-31 | 2002-08-01 | Thomas Yip | Method and apparatus for launching heterogeneous software programs via a common program |
WO2002079955A2 (en) * | 2001-03-28 | 2002-10-10 | Nds Limited | Digital rights management system and method |
US20060059544A1 (en) * | 2004-09-14 | 2006-03-16 | Guthrie Paul D | Distributed secure repository |
US7464072B1 (en) * | 2001-06-18 | 2008-12-09 | Siebel Systems, Inc. | Method, apparatus, and system for searching based on search visibility rules |
US7213013B1 (en) * | 2001-06-18 | 2007-05-01 | Siebel Systems, Inc. | Method, apparatus, and system for remote client search indexing |
EP1412874A4 (en) * | 2001-07-27 | 2007-10-17 | Quigo Technologies Inc | SYSTEM AND METHOD FOR MONITORING AND AUTOMATICALLY ANALYZING THE USE OF DOCUMENTS |
JP2004538570A (ja) * | 2001-08-03 | 2004-12-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | クライアントコンピュータ上での文書の表示 |
EP1288757A1 (de) * | 2001-08-07 | 2003-03-05 | Siemens Aktiengesellschaft | Verfahren und Prozessleitsystem zum Betrieb einer technischen Anlage |
JP4165796B2 (ja) * | 2001-08-15 | 2008-10-15 | 株式会社スクウェア・エニックス | クライアント、データダウンロード方法、プログラム及び記録媒体 |
US7406693B1 (en) * | 2001-09-10 | 2008-07-29 | Ncr Corporation | Method of controlling applications |
US7725554B2 (en) * | 2001-09-28 | 2010-05-25 | Quanta Computer, Inc. | Network object delivery system for personal computing device |
US20030097421A1 (en) * | 2001-10-04 | 2003-05-22 | Wille Allan D. | System and method for directed delivery of information to end users |
US20030079052A1 (en) * | 2001-10-24 | 2003-04-24 | Kushnirskiy Igor Davidovich | Method and apparatus for a platform independent plug-in |
US8108687B2 (en) * | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
US7392390B2 (en) | 2001-12-12 | 2008-06-24 | Valve Corporation | Method and system for binding kerberos-style authenticators to single clients |
US7028296B2 (en) * | 2001-12-13 | 2006-04-11 | International Business Machines Corporation | Distributing computer programs to a customer's multiple client computers through a hypertext markup language document distributed to and stored on the customer's network server computer |
US7197530B2 (en) * | 2002-01-18 | 2007-03-27 | Bea Systems, Inc. | System and method for pluggable URL pattern matching for servlets and application servers |
US7228326B2 (en) * | 2002-01-18 | 2007-06-05 | Bea Systems, Inc. | Systems and methods for application deployment |
US20030140100A1 (en) * | 2002-01-18 | 2003-07-24 | Sam Pullara | System and method for URL response caching and filtering in servlets and application servers |
US7206817B2 (en) * | 2002-01-18 | 2007-04-17 | Bea Systems, Inc. | Systems and methods for application management and deployment |
US7552189B2 (en) * | 2002-01-18 | 2009-06-23 | Bea Systems, Inc. | System and method for using virtual directories to service URL requests URL requests in application servers |
WO2003073209A2 (en) * | 2002-02-22 | 2003-09-04 | Bea Systems, Inc. | System and method for software application scoping |
US7191217B2 (en) * | 2002-04-10 | 2007-03-13 | Nippon Telegraph And Telephone Corporation | Distributed server-based collaborative computing |
US7203940B2 (en) | 2002-04-29 | 2007-04-10 | Hewlett-Packard Development Company, Lp. | Automated installation of an application |
US20030204730A1 (en) * | 2002-04-29 | 2003-10-30 | Barmettler James W. | Secure transmission and installation of an application |
FI118443B (fi) * | 2002-06-14 | 2007-11-15 | Nokia Corp | Menetelmä tiedon ohjaamiseksi käyttäjäsovellukselle |
US20030236825A1 (en) * | 2002-06-20 | 2003-12-25 | Kulkarni Suhas Sudhakar | System, method and computer readable medium for transferring and rendering a web page |
ES2272627T3 (es) * | 2002-10-31 | 2007-05-01 | Siemens Aktiengesellschaft | Procedimiento y dispositivo para la transmision asincrona de al menos una señal de alarma. |
US8108488B2 (en) * | 2002-11-18 | 2012-01-31 | Jackbe Corporation | System and method for reducing bandwidth requirements for remote applications by utilizing client processing power |
US7707544B2 (en) * | 2002-12-05 | 2010-04-27 | Bea Systems, Inc. | System and method for generating and reusing software application code with source definition files |
FR2849704A1 (fr) * | 2003-01-02 | 2004-07-09 | Thomson Licensing Sa | Dispositifs et procedes de decision conditionnelle d'execution de services recus et de constitution de messages d'informations associes a des services, et produits associes |
US7533379B2 (en) * | 2003-02-25 | 2009-05-12 | Bea Systems, Inc. | Methods for incremental application deployment |
US7430743B2 (en) * | 2003-02-27 | 2008-09-30 | Microsoft Corporation | System and method for hosting an application in one of a plurality of execution environments |
US7475408B2 (en) * | 2003-02-27 | 2009-01-06 | Microsoft Corporation | Hosting an application in one of a plurality of execution environments |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
JP2004341618A (ja) * | 2003-05-13 | 2004-12-02 | Nec Personal Products Co Ltd | プログラム・ラウンチャ、プログラム・ラウンチング方法及びプログラム |
US7735057B2 (en) * | 2003-05-16 | 2010-06-08 | Symantec Corporation | Method and apparatus for packaging and streaming installation software |
US7395534B2 (en) * | 2003-05-22 | 2008-07-01 | Microsoft Corporation | System and method for progressively installing a software application |
US20040237082A1 (en) * | 2003-05-22 | 2004-11-25 | Alcazar Mark A. | System, method, and API for progressively installing software application |
KR100539788B1 (ko) * | 2003-06-13 | 2006-01-10 | 엘지전자 주식회사 | 이동 통신 단말기의 비표준 마임 타입 지원 방법 |
EP1494153B1 (fr) * | 2003-07-04 | 2005-09-28 | France Telecom | Procédé de lancement d'un opérateur de traitement d'objets contenus dans un message multimédia et terminal de télécommunication associé |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
CA2539464C (en) * | 2003-09-17 | 2011-05-24 | Research In Motion Limited | System and method for dynamic content processing with extendable provisioning |
EP1692602A4 (en) | 2003-10-31 | 2007-10-24 | Landmark Technology Partners I | INTELLIGENT CLIENT ARCHITECTURE COMPUTER SYSTEM AND METHOD |
US8930944B2 (en) * | 2003-11-18 | 2015-01-06 | Microsoft Corporation | Application model that integrates the web experience with the traditional client application experience |
US8001542B2 (en) * | 2003-12-12 | 2011-08-16 | Xerox Corporation | Self-installing software components for network service execution |
US20050132351A1 (en) * | 2003-12-12 | 2005-06-16 | Randall Roderick K. | Updating electronic device software employing rollback |
US8689113B2 (en) | 2004-01-22 | 2014-04-01 | Sony Corporation | Methods and apparatus for presenting content |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7934210B1 (en) | 2004-03-26 | 2011-04-26 | Adobe Systems Incorporated | System and method for updating one or more programs and their environment |
US7647588B2 (en) * | 2004-04-15 | 2010-01-12 | International Business Machines Corporation | Smart archive for JAR files |
TW200535697A (en) * | 2004-04-30 | 2005-11-01 | Hon Hai Prec Ind Co Ltd | System and method for automatic updating program |
BRPI0510378B1 (pt) | 2004-04-30 | 2018-12-11 | Blackberry Ltd | Método de manusear transferências de dados em um dispositivo móvel , mídia lida porcomputador e aparelho de transferência de dados |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7484247B2 (en) | 2004-08-07 | 2009-01-27 | Allen F Rozman | System and method for protecting a computer system from malicious software |
US20060069745A1 (en) * | 2004-09-08 | 2006-03-30 | International Business Machines Corporation | Method, system and program product for identifying web page dependencies |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US20060074933A1 (en) * | 2004-09-30 | 2006-04-06 | Microsoft Corporation | Workflow interaction |
US20060085517A1 (en) * | 2004-10-04 | 2006-04-20 | Markku Kaurila | Download user agent plug-in for facilitating over-the-air downloading of media objects |
US7895591B2 (en) * | 2004-10-21 | 2011-02-22 | Oracle International Corp. | File deployment system and method |
US7712022B2 (en) * | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US8458467B2 (en) * | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US8631324B2 (en) * | 2005-01-12 | 2014-01-14 | International Business Machines Corporation | Running content emitters natively on local operating system |
US20060212798A1 (en) * | 2005-01-12 | 2006-09-21 | Lection David B | Rendering content natively on local operating system |
US20060155672A1 (en) * | 2005-01-13 | 2006-07-13 | Filmloop, Inc. | Systems and methods for single input installation of an application |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7596610B2 (en) * | 2005-03-15 | 2009-09-29 | Microsoft Corporation | Method and system for installing applications via a display page |
US7673228B2 (en) | 2005-03-30 | 2010-03-02 | Microsoft Corporation | Data-driven actions for network forms |
US7930693B2 (en) * | 2005-04-04 | 2011-04-19 | Cisco Technology, Inc. | Method and system for accessing and launching a java based applet as a locally installed application |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
AU2010201379B2 (en) * | 2010-04-07 | 2012-02-23 | Limelight Networks, Inc. | System and method for delivery of content objects |
US7685593B2 (en) * | 2005-05-12 | 2010-03-23 | Microsoft Corporation | Systems and methods for supporting multiple gaming console emulation environments |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
WO2007018490A1 (en) * | 2005-07-21 | 2007-02-15 | Thomson Licensing | Subscriber initiated mso approved software upgrade mechanism |
US20070028236A1 (en) * | 2005-07-27 | 2007-02-01 | Typefi System Pty Ltd. | File transfer system |
US7757229B2 (en) * | 2005-08-09 | 2010-07-13 | International Business Machines Corporation | Reflective, XML-based framework for the construction of common application launchers |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US8495613B2 (en) * | 2005-12-22 | 2013-07-23 | Microsoft Corporation | Program execution service windows |
US20070174824A1 (en) * | 2006-01-23 | 2007-07-26 | Microsoft Corporation | Techniques for generating and executing browser-hosted applications |
US7970393B2 (en) * | 2006-01-24 | 2011-06-28 | Kyocera Corporation | Systems and methods for rapidly enabling brew-based wireless handsets for content development |
US8769522B2 (en) * | 2006-08-21 | 2014-07-01 | Citrix Systems, Inc. | Systems and methods of installing an application without rebooting |
US20080072069A1 (en) * | 2006-09-15 | 2008-03-20 | Emc Corporation | Protecting client-side code |
US9244672B2 (en) * | 2006-11-30 | 2016-01-26 | Red Hat, Inc. | Optimization utility for developing embedded systems |
US20080201759A1 (en) * | 2007-02-15 | 2008-08-21 | Microsoft Corporation | Version-resilience between a managed environment and a security policy |
US8793676B2 (en) * | 2007-02-15 | 2014-07-29 | Microsoft Corporation | Version-resilient loader for custom code runtimes |
US8065675B2 (en) * | 2007-03-21 | 2011-11-22 | Yahoo! Inc. | In-page installer |
US8316105B2 (en) * | 2007-03-22 | 2012-11-20 | Microsoft Corporation | Architecture for installation and hosting of server-based single purpose applications on clients |
US8612773B2 (en) | 2007-05-03 | 2013-12-17 | International Business Machines Corporation | Method and system for software installation |
US7853669B2 (en) | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
US8943189B2 (en) * | 2007-05-18 | 2015-01-27 | Microsoft Corporation | Standard based detection and launch of client applications |
US8230417B1 (en) | 2007-06-08 | 2012-07-24 | Adobe Systems Incorporated | Combined application and execution environment install |
US20080317042A1 (en) * | 2007-06-22 | 2008-12-25 | Palo Alto Research Center Incorporated | Extensible framework for compatibility testing |
US8375381B1 (en) * | 2007-07-30 | 2013-02-12 | Adobe Systems Incorporated | Management user interface for application execution environment |
US7930273B1 (en) * | 2007-07-30 | 2011-04-19 | Adobe Systems Incorporated | Version management for application execution environment |
US8448161B2 (en) * | 2007-07-30 | 2013-05-21 | Adobe Systems Incorporated | Application tracking for application execution environment |
US20090113418A1 (en) * | 2007-10-26 | 2009-04-30 | Sun Microsystems, Inc. | Method and apparatus for responsive execution of a platform-independent program on a computing platform that has not been provisioned |
US8375379B2 (en) * | 2008-01-31 | 2013-02-12 | SAP France S.A. | Importing language extension resources to support application execution |
US8484174B2 (en) * | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
US9298747B2 (en) * | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
US8572033B2 (en) * | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
US20090248737A1 (en) * | 2008-03-27 | 2009-10-01 | Microsoft Corporation | Computing environment representation |
US8490077B2 (en) * | 2008-05-15 | 2013-07-16 | Microsoft Corporation | Runtime versioning and distribution of dynamic web-elements |
US8316387B2 (en) | 2008-08-28 | 2012-11-20 | Microsoft Corporation | Exposure of remotely invokable method through a webpage to an application outside web browser |
US9961388B2 (en) | 2008-11-26 | 2018-05-01 | David Harrison | Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements |
US9986279B2 (en) | 2008-11-26 | 2018-05-29 | Free Stream Media Corp. | Discovery, access control, and communication with networked services |
US9026668B2 (en) | 2012-05-26 | 2015-05-05 | Free Stream Media Corp. | Real-time and retargeted advertising on multiple screens of a user watching television |
US10631068B2 (en) | 2008-11-26 | 2020-04-21 | Free Stream Media Corp. | Content exposure attribution based on renderings of related content across multiple devices |
US10977693B2 (en) | 2008-11-26 | 2021-04-13 | Free Stream Media Corp. | Association of content identifier of audio-visual data with additional data through capture infrastructure |
US9386356B2 (en) | 2008-11-26 | 2016-07-05 | Free Stream Media Corp. | Targeting with television audience data across multiple screens |
US10880340B2 (en) | 2008-11-26 | 2020-12-29 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9519772B2 (en) | 2008-11-26 | 2016-12-13 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9154942B2 (en) | 2008-11-26 | 2015-10-06 | Free Stream Media Corp. | Zero configuration communication between a browser and a networked media device |
US10334324B2 (en) | 2008-11-26 | 2019-06-25 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US10567823B2 (en) | 2008-11-26 | 2020-02-18 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US8180891B1 (en) | 2008-11-26 | 2012-05-15 | Free Stream Media Corp. | Discovery, access control, and communication with networked services from within a security sandbox |
US10419541B2 (en) | 2008-11-26 | 2019-09-17 | Free Stream Media Corp. | Remotely control devices over a network without authentication or registration |
US8199507B2 (en) * | 2008-12-19 | 2012-06-12 | Openpeak Inc. | Telephony and digital media services device |
US8224934B1 (en) * | 2009-03-09 | 2012-07-17 | Netapp, Inc. | Running third party applications as embedded agents in a storage management server |
US8812451B2 (en) | 2009-03-11 | 2014-08-19 | Microsoft Corporation | Programming model for synchronizing browser caches across devices and web services |
US8413139B2 (en) * | 2009-03-11 | 2013-04-02 | Microsoft Corporation | Programming model for application and data access and synchronization within virtual environments |
US9680964B2 (en) * | 2009-03-11 | 2017-06-13 | Microsoft Technology Licensing, Llc | Programming model for installing and distributing occasionally connected applications |
US20110173299A1 (en) * | 2009-07-19 | 2011-07-14 | Simon Samuel Lightstone | Website-based network file explorer |
EP2280343A1 (en) | 2009-07-23 | 2011-02-02 | Research In Motion Limited | Method and device for application archiving |
US8244874B1 (en) | 2011-09-26 | 2012-08-14 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US8745239B2 (en) | 2010-04-07 | 2014-06-03 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US20150205489A1 (en) * | 2010-05-18 | 2015-07-23 | Google Inc. | Browser interface for installed applications |
WO2011149558A2 (en) | 2010-05-28 | 2011-12-01 | Abelow Daniel H | Reality alternate |
US20120131569A1 (en) * | 2010-11-19 | 2012-05-24 | Computer Associates Think, Inc. | Automated solaris container creation |
US9106514B1 (en) * | 2010-12-30 | 2015-08-11 | Spirent Communications, Inc. | Hybrid network software provision |
US9104514B2 (en) * | 2011-01-11 | 2015-08-11 | International Business Machines Corporation | Automated deployment of applications with tenant-isolation requirements |
US20120246044A1 (en) * | 2011-03-25 | 2012-09-27 | Bank Of America | Account and Investment Market Monitoring Tools |
JP5778521B2 (ja) * | 2011-08-15 | 2015-09-16 | フェリカネットワークス株式会社 | 情報処理装置、情報処理方法、プログラム、および情報処理システム |
US9161226B2 (en) | 2011-10-17 | 2015-10-13 | Blackberry Limited | Associating services to perimeters |
US9497220B2 (en) | 2011-10-17 | 2016-11-15 | Blackberry Limited | Dynamically generating perimeters |
US9613219B2 (en) | 2011-11-10 | 2017-04-04 | Blackberry Limited | Managing cross perimeter access |
US8799227B2 (en) | 2011-11-11 | 2014-08-05 | Blackberry Limited | Presenting metadata from multiple perimeters |
US9135445B2 (en) * | 2012-03-19 | 2015-09-15 | Google Inc. | Providing information about a web application or extension offered by website based on information about the application or extension gathered from a trusted site |
US9369466B2 (en) | 2012-06-21 | 2016-06-14 | Blackberry Limited | Managing use of network resources |
WO2014021878A1 (en) * | 2012-07-31 | 2014-02-06 | Hewlett-Packard Development Company, L.P. | Computing device with automatic download and installation of a new plug-in |
CN103809986A (zh) * | 2012-11-07 | 2014-05-21 | 江苏仕德伟网络科技股份有限公司 | 一种自动安装统计代码的方法 |
US11907496B2 (en) * | 2013-02-08 | 2024-02-20 | cloudRIA, Inc. | Browser-based application management |
US20140280698A1 (en) * | 2013-03-13 | 2014-09-18 | Qnx Software Systems Limited | Processing a Link on a Device |
US10594763B2 (en) * | 2013-03-15 | 2020-03-17 | adRise, Inc. | Platform-independent content generation for thin client applications |
CN106713434B (zh) * | 2013-07-08 | 2021-11-02 | 玛链(上海)网络技术有限公司 | 一种基于条形码图像的通信装置及通信方法 |
CN103412981B (zh) * | 2013-07-18 | 2016-01-13 | 国电南瑞科技股份有限公司 | 一种变电站图元的综合信息展示的实现方法 |
US9575873B2 (en) | 2013-09-13 | 2017-02-21 | Sap Se | Software testing system and method |
US9928087B2 (en) * | 2014-07-09 | 2018-03-27 | International Business Machines Corporation | State-preserving reversible configuration change |
JP2016071422A (ja) * | 2014-09-26 | 2016-05-09 | ブラザー工業株式会社 | ソフトウエア提供システム及びインストールプログラム |
US9684501B2 (en) * | 2015-06-05 | 2017-06-20 | Apple Inc. | Associating a URL or link between two applications |
US10694352B2 (en) | 2015-10-28 | 2020-06-23 | Activision Publishing, Inc. | System and method of using physical objects to control software access |
US11170098B1 (en) * | 2015-11-10 | 2021-11-09 | Source Defense Ltd. | System, method, and medium for protecting a computer browser from third-party computer code interference |
US10404662B1 (en) * | 2015-11-10 | 2019-09-03 | Source Defense | VICE system, method, and medium for protecting a computer browser from third-party computer code interference |
CN106708494B (zh) * | 2015-11-18 | 2020-11-27 | 北京神州泰岳软件股份有限公司 | Jar升级方法及装置 |
US9986064B2 (en) | 2015-12-03 | 2018-05-29 | International Business Machines Corporation | Adaptable applications in a client/server architecture |
US10845950B2 (en) * | 2015-12-17 | 2020-11-24 | Microsoft Technology Licensing, Llc | Web browser extension |
GB201604362D0 (en) * | 2016-03-15 | 2016-04-27 | Tangentix Ltd | Computer system and method for sandboxed applications |
US9768799B1 (en) * | 2016-03-21 | 2017-09-19 | Industry University Cooperation Foundation Hanyang University | Analog to digital converter including differential VCO |
US10365909B2 (en) * | 2016-04-21 | 2019-07-30 | Data Accelerator Ltd. | Method and system for deploying virtualized applications |
CN107015870B (zh) | 2016-09-19 | 2020-11-03 | 创新先进技术有限公司 | 实现web页面与本地应用通信的方法、装置和电子设备 |
US10462212B2 (en) | 2016-10-28 | 2019-10-29 | At&T Intellectual Property I, L.P. | Hybrid clouds |
CN110209427B (zh) * | 2018-02-28 | 2022-07-15 | 阿里巴巴集团控股有限公司 | 应用系统及其启动方法、电子设备、存储介质 |
US11003468B2 (en) * | 2018-11-07 | 2021-05-11 | Citrix Systems, Inc. | Preloading of application on a user device based on content received by the user device |
US11226807B1 (en) * | 2020-07-31 | 2022-01-18 | Rapid7, Inc. | Self-dependent upgrade of Java runtime environments |
US11435992B2 (en) * | 2020-08-20 | 2022-09-06 | T-Mobile Usa, Inc. | Communications registry and governance for apps |
US11477043B2 (en) * | 2021-03-17 | 2022-10-18 | Lenovo (Singapore) Pte. Ltd. | Method and device to manage browser instances based on link categorization |
CN114356439B (zh) * | 2021-12-21 | 2023-06-13 | 四川启睿克科技有限公司 | 离线免安装启动web应用的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630066A (en) | 1994-12-20 | 1997-05-13 | Sun Microsystems, Inc. | System and method for locating object view and platform independent object |
US6052711A (en) * | 1996-07-01 | 2000-04-18 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session web access in an interprise computing framework system. |
US5923885A (en) * | 1996-10-31 | 1999-07-13 | Sun Microsystems, Inc. | Acquisition and operation of remotely loaded software using applet modification of browser software |
US6139177A (en) * | 1996-12-03 | 2000-10-31 | Hewlett Packard Company | Device access and control using embedded web access functionality |
US6175855B1 (en) | 1996-12-20 | 2001-01-16 | Siemens Aktiengesellschaft | Method for instantiating a class having different versions |
US6119166A (en) * | 1997-03-28 | 2000-09-12 | International Business Machines Corporation | Controlling communications with local applications using a browser application |
EP1049975A1 (en) | 1997-12-29 | 2000-11-08 | Postx Corporation | Method and apparatus capable of embedding, extracting and processing data within a file having an html format |
US6493870B1 (en) | 1998-03-20 | 2002-12-10 | Sun Microsystems, Inc. | Methods and apparatus for packaging a program for remote execution |
US6209029B1 (en) * | 1998-05-12 | 2001-03-27 | Silverstream Software, Inc. | Method and apparatus for accessing data sources in a three tier environment |
US6549908B1 (en) * | 1998-11-18 | 2003-04-15 | Siebel Systems, Inc. | Methods and apparatus for interpreting user selections in the context of a relation distributed as a set of orthogonalized sub-relations |
US6324578B1 (en) * | 1998-12-14 | 2001-11-27 | International Business Machines Corporation | Methods, systems and computer program products for management of configurable application programs on a network |
US6301710B1 (en) * | 1999-01-06 | 2001-10-09 | Sony Corporation | System and method for creating a substitute registry when automatically installing an update program |
-
2000
- 2000-01-21 US US09/489,583 patent/US6546554B1/en not_active Expired - Lifetime
-
2001
- 2001-01-19 EP EP01942737A patent/EP1256058A2/en not_active Withdrawn
- 2001-01-19 AU AU2001229653A patent/AU2001229653A1/en not_active Abandoned
- 2001-01-19 WO PCT/US2001/001861 patent/WO2001053937A2/en active Application Filing
- 2001-01-19 JP JP2001554165A patent/JP2003521036A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006067841A1 (ja) * | 2004-12-22 | 2008-06-12 | 富士通株式会社 | 仮想マシン管理プログラムおよび仮想マシン管理方法 |
US8005931B2 (en) | 2006-05-17 | 2011-08-23 | Sharp Kabushiki Kaisha | Service providing apparatus |
JP2009076099A (ja) * | 2008-12-19 | 2009-04-09 | Sharp Corp | サービス提供装置 |
JP5483244B1 (ja) * | 2013-11-19 | 2014-05-07 | 株式会社coromo | サーバ装置 |
JP2015099491A (ja) * | 2013-11-19 | 2015-05-28 | 株式会社coromo | サーバ装置 |
JP2017515236A (ja) * | 2014-04-30 | 2017-06-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ハードディスクがアプリケーションコードを実行するための方法および装置 |
US10310876B2 (en) | 2014-04-30 | 2019-06-04 | Huawei Technologies Co., Ltd. | Executing application code based on manner of accessing a hard disk |
Also Published As
Publication number | Publication date |
---|---|
WO2001053937A3 (en) | 2002-08-29 |
AU2001229653A1 (en) | 2001-07-31 |
WO2001053937A2 (en) | 2001-07-26 |
WO2001053937A9 (en) | 2002-10-31 |
EP1256058A2 (en) | 2002-11-13 |
US6546554B1 (en) | 2003-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003521036A (ja) | クライアント・コンピュータのブラウザからアプリケーションを受取り、インストールしかつランチするためのブラウザ独立及び自動装置及び方法 | |
US6594757B1 (en) | Remote BIOS upgrade of an appliance server by rebooting from updated BIOS that has been downloaded into service partition before flashing programmable ROM | |
US6802061B1 (en) | Automatic software downloading from a computer network | |
US6347398B1 (en) | Automatic software downloading from a computer network | |
US7930273B1 (en) | Version management for application execution environment | |
US8448161B2 (en) | Application tracking for application execution environment | |
US7844963B2 (en) | System and method for updating information via a network | |
US8793676B2 (en) | Version-resilient loader for custom code runtimes | |
US8635611B2 (en) | Creating virtual applications | |
US7281047B2 (en) | System and method for automatic provision of an application | |
US8375381B1 (en) | Management user interface for application execution environment | |
US8191060B2 (en) | Software installation using template executables | |
US7734686B2 (en) | Markup method for managing rich client code and experiences using multi-component pages | |
US20030233483A1 (en) | Executing software in a network environment | |
EP1310868A2 (en) | Method and apparatus for a platform independent plug-in | |
US20110202629A1 (en) | System and method for providing a web-based operating system | |
US20020107945A1 (en) | Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment | |
US20040237083A1 (en) | System and method for progressively installing a software application | |
US20040154014A1 (en) | System and method for automatically installing data on a handheld computer | |
KR20040002739A (ko) | 영향을 주지 않는 방식으로 소프트웨어 애플리케이션을인스톨하기 위한 시스템 및 방법 | |
WO2000068836A2 (en) | Methods for managing the distribution of client bits to client computers | |
US20080295110A1 (en) | Framework for Startup of Local Instance of Remote Application | |
WO2005045562A2 (en) | Progressively installing a software application | |
US20050172295A1 (en) | System and method for adaptable provisioning of generic application content | |
JP2003536133A (ja) | アプリケーション・プログラムの資源を管理する方法およびシステム |