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
Application number
JP2001554165A
Other languages
English (en)
Inventor
レネ ダブリュー シュミット
ハンス イー ミュラー
スコット アール ヴァイオレット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2003521036A publication Critical patent/JP2003521036A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

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ブラウザがそれがユーザ・
マシンに既に存在する適切なコードを有していないということを決定した場合に
は文書サーバから自動的にロードされる。
【0003】 一般に、実行可能コードは、マシンに依存しない“バイトコード(bytec
odes)”を備えている、“アプレット(Applets)”として知られた
アプリケーション・プログラムの形を取る。次いで、これらのアプレットは、オ
ペレーティング・システム特定アプレット・インタプリタ(仮想マシン)によっ
て解釈される。例えば、ジャバTM言語を用いている現行のインターネット/ウェ
ブ・ブラウザ・インプリメンテーションは、またサン・マイクロシステムズ・イ
ンコーポレーティッドによって開発された、ホット・ジャバ(Hot Java
TMブラウザである。
【0004】 ジャバTM・クラス・ファイルのプラットフォーム独立特質は、開発者に、それ
らのアプリケーション・プログラムの一つのバージョンを書かせ、それから 様
々な異なるハードウェア及びオペレーティング・システムにアプリケーション・
プログラムを配置させる。更に、ジャバTM・プラットフォームは、非常に高度な
セキュリティ・モデルをインプリメント(以下、実施、または実現とも称する)
する。このセキュリティ・モデルによれば、ユーザは、信頼できないジャバTM
アプリケーションを実行することができかつユーザのシステム及び個人データの
保全性が決して傷つけられないということを確信する。例えば、よく知られてい
るように、ジャバTM・アプリケーションは、あらゆる損害から又はユーザのシス
テム又はローカル・ネットワークに記憶される私用(プライベート)情報へのア
クセスを得ることからそれを防ぐ“サンドボックス”で実行されうる。
【0005】 上記したように、現在、ネットワーク上にジャバTM・アプリケーションを配置
(デプロイ)する一般的な方法は、ジャバTM・アプレットを用いることによる。
アプレットは、ジャバTM・イネーブル形ウェブ・ブラウザによって一般にダウン
ロードされかつ実行され、かつユーザによって必要なインストレーション(設置
)なしでウェブ上にジャバTM・ソフトウェアを配置することを可能にする。残
念ながら、ワールド・ワイド・ウェブ上及びイントラネット上でのアプレットの
使用は、期待した程まだ評判がよくない。この状況は、主に二つの要因による:
第1に、ブラウザ・ベンダーは、ジャバTM・プラットフォームの最新バージョン
及び一つ以上前のバージョンの両方をそれらのプロダクトに組み入れることをた
めらっている。第2に、全てのアプリケーションがブラウザ・ウィンドウによく
フィットするわけではないし、かつこれは、アプレット配置モデルを使用しずら
くする。
【0006】 それゆえに、必要なものは、ブラウザに依存しない(ジャバTM・アプリケーシ
ョンのような)ソフトウェア・プログラムに対する“ワン−クリック”ネットを
中心にした配置モデルを供給する技術である。本発明の形態によりここに記述す
る装置及び方法は、開発者にそれらのアプリケーションにおける最新のジャバTM 技術を使用させ、かつブラウザがジャバTM・イネーブル形である否かに係わりな
く、あらゆるウェブ・ブラウザを通してそれらを配置させる、ブラウザ統合形で
あるが、しかしブラウザに依存しない(ブラウザ独立)の、解決策を供給する。
更に、本発明は、アプリケーションの寿命及び/又はスクリーン・リアル・エス
テート要件がアプレット・アプローチを非実用的にするような状況にアプリケー
ションを配置するための解決策を供給することによってアプレット・モデルを補
足する。更に、本発明は、様々なその他の技術に対するイネーブリング(使用可
能)技術として理解することもできる。本発明のこれら及びその他の特徴及び利
点は、本発明の以下の明細書及び関連図に詳細に示される。
【0007】 (発明の開示) ブラウザからアプリケーションを受取り、設置し、かつ送り出すためのブラウ
ザ独立及び自動化装置及び方法を記述する。一実施形態によれば、ヘルパー・ア
プリケーションは、特定されたファイル形式に対してブラウザに登録される。ブ
ラウザが特定したファイル形式のメタファイルへのリンクに出会ったときには、
ファイルは、要求しているシステムにダウンロードされかつヘルパー・アプリケ
ーションは、ダウンロードされたファイルを処理するために呼出される。ジャバ TM ・インプリメンテーションのコンテキストでは、ダウンロードされたメタファ
イルは、ジャバTM・アプリケーションに対するショート・ランチ・ファイル仕様
を備え、かつ一組のユニバーサル・リソース識別子(汎用資源識別子)(“UR
Is”)、ジャバTM実行時環境(“JRE”)バージョン、セキュリティ考慮、
及び実行すべきジャバTM・アプリケーションに関するその他の関連情報としてク
ラスパス(classpath)を指定する。本発明の形態によれば、それらがダウンロー
ドされるURIsに基づくジャバTMアーカイブ・ファイル(“JARファイル”
)及びクラス・ファイルの自動設置(インストレーション)がインプリメントさ
れ、自動更新及びバージョニングは、中央管理なしでサポートされ、かつ複数の
JREsの自動設置は、容易に行われる。また、本発明の実施形態は、ブラウザ
内でそれらを実行することなくブラウザから直接ジャバTMアプリケーションを送
り出すような、その他のアプリケーションを容易にし、かつウェブ・コンテンツ
を適切な対応するビューワ・アプリケーションに結び付けるために用いられうる
【0008】 (好適な実施形態の詳細な説明) ジャバ(Java)TMプログラミング言語及びジャバ(Java)TMソフトウ
ェア・パラダイムのコンテキストでここに本発明の一実施形態を説明する。当業
者は、本発明の以下の説明は、説明のためだけでありかつあらゆる方法において
限定するものではないということを認識するであろう。本発明のその他の実施形
態は、この開示の利益を有するそのような当業者にそれら自体を容易に提案する
であろう。
【0009】 本発明は、ブラウザにジャバ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)を用いてローカル又はワイ
ド・エリア・ネットワークにインタフェースするために用いられうる。
【0011】 多くのその他のデバイス又はサブシステム(図示省略)は、同様に接続されう
る。また、以下に示すように、本発明を実行するために図1に示すデバイスの全
てが存在することを必要としない。更に、機器及びサブシステムは、図1に示す
ものとは異なる方法で相互接続されうる。図1に示したもののようなコンピュー
タ・システムの動作は、この技術分野で容易に知られておりかつ本発明の説明を
更に複雑にしないように、この出願では詳細に説明しない。本発明をインプリメ
ントするためのコードは、システム・メモリ16に動作可能に配置されうるか又
は固定ディスク34又はフロッピ・ディスク38のような記憶媒体に記憶されう
る。
【0012】 図2は、リモート・サーバ50、52、及び54へのクライアント・コンピュ
ータ・システム10の相互接続を示す。図2は、リモート・サーバ50、52、
及び54を相互接続するインターネット56のような異種データ通信ネットワー
クを示す。モデム42又はその他のネットワーク・インタフェースは、クライア
ント・コンピュータ・システム10からインターネット56までの接続を供給す
る。インターネットを介してデータを交換するプロトコルは、よく知られており
かつここで説明する必要はない。図2は、データを交換するためのインターネッ
トの使用を示すが、本発明は、インターネットに限定されるものではない。
【0013】 インターネットの一つのよく知られたアプリケーションは、ワールド・ワイド
・ウェブ(“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”)に編成され、かつ専門機関によって集中的に管理される
【0015】 各コンテント形式(例えば、“.pdf”、“.ps”)、又は同様に、各マ
イム形式に対して、ブラウザは、所与のコンテント形式(例えば、“.pdf”
ファイルに対するアドーブ(Adobe)TMアクロバット(Acrobat)TM 、“.ps”ファイルに対するゴーストビュー(Ghostview)TM)を処
理するために適当なヘルパ・アプリケーションをサーチする。一般に、ブラウザ
自体は、‘text/html’(HTMLドキュメントに対するマイム形式)
のようなコンテント形式を処理する。
【0016】 図3は、当業者に知られたアプリケーションのネット配置に対するアプレット
・モデルのブロック図を示す。図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”とは異なり、ヘルパ・
アプリケーションは、ブラウザに関して個別の処理として一般に実行する。
【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”)を用いる。当業者に知られているように、指定アプレットの“寿命”
は、ブラウザの寿命によって制限され、かつユーザが、アプレットがランチされ
た(送り出された)ウェブ・ページを離れるとすぐに終了されうる。アプレット
は、上記リンクの例が明確に示すように(開くアプレット・ウィンドウの高さ及
び幅を指定する)、ブラウザ・ウィンドウズ(登録商標)で一般に実行されると
いうことも注目すべきである。
【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が見い出されなかった場合には、又は要求したクラス・ファイルが指
定アーカイブ内で見い出されなかった場合には、上述した通常のクラス位置決め
手順が用いられうる。
【0020】 図4は、本発明の形態に従ったアプリケーションに対するネット配置モデルを
示す。図4に示すように、図3に示すアプレット(Applet)・モデルのジ
ャバ(Java)TMイネーブル型ブラウザ330は、ジャバ(Java)TMイネ
ーブル型でありうるかそうではない、ブラウザ410で置き換えられた。本発明
の形態によるブラウザ410の唯一の要件は、それが指定したマイム形式又はフ
ァイル形式に対してヘルパ・アプリケーションを登録することができるように構
成されていなければならないということである(即ち、ヘルパ・アプリケーショ
ンは、ブラウザがアクセスしているコンテントのマイム形式に基づき又はファイ
ル拡張又はファイルに関連付けられたその他の識別子に基づいて呼出されなけれ
ばならない)。先に示したように、事実上、全ての最新ブラウザは、この要件を
支持(サポート)する。
【0021】 図4を更に参照すると、また、クライアント・コンピュータ10は、一つ以上
の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に登録される。本発
明のコンテキストでは、用語“メタファイル”は、アプリケーションの形態又は
成分を記述又は定義するファイルを示す。
【0023】 多数のJRE’sがクライアント・コンピュータ10に設置される場合には、
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に信頼できる手段(例えば、暗号、パスワード
保護、コード署名、等)によって受け渡されるべきである。
【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サーバに対するその他のサーバ構成解決策は、各特
定の構造解決策が各インプリメンテーションの要求事項により選択されることで
、当業者に容易に知られるであろう。
【0026】 図4を更に参照すると、本発明の形態によるサーバ50は、また、それらもま
たサポートされている、ジャバ・アプレット・コード・ファイル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ヘルパ・アプリケーションをランチする。
【0028】 上記の例では、“myApp.jnl”ファイルは、要求された特定アプリケ
ーションをランチする方法に関する情報を含む新らしいジャバ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メタファイルのダ
ウンロードしたローカル一時コピーにより、ブラウザによって呼出される。
【0030】 段階550では、JNetヘルパ・アプリケーションは、JNLメタファイル
で記述したアプリケーションをインストール(設置)しかつランチする(送り出
す)ために必要なコンポーネントを識別するために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ファイルは
、当業者に知られた方法によって既に呼出されていることを仮定する)。
【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ファイルを共有し
うる。
【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ベース形”)環境では、コマンド・ラインからの‘ジャバ
’コマンドの実行に等しい処理が実行されるが、ユーザには一般に可視ではない
ということに注目すべきである。
【0034】 各々の特定のインプリメンテーションにより、多数の異なるJRE’sがJN
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メタファイルのファイル・フォーマッ
トをパーズしかつ認識するように設計されている限り、重要ではない。
【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の適切なバージョンを自
動的にダウンロードしかつ設置する。
【0037】 一実施形態では、プラットフォーム依存構成要素620は、ジャバ(Java
TM言語で書かれ、かつ所与のアプリケーションをロードしかつ実行するために
必要なクラスパス(classpath)及び様々なその他の属性を見い出すた
めにJNLメタファイルをパーズする。更にまた、プラットフォーム依存構成要
素620は、セキュリティ・ポリシー(機密保護政策)をインプリメント(実施
)しかつエンフォース(強制)する役割を果たす。
【0038】 JNLメタファイル・フォーマット 一実施形態では、JNetヘルパ・アプリケーションによって支持された関連
JNLメタファイル属性を、各属性の簡単な説明と共に、表1に示す。この実施
形態では、jnet.info属性は、アプリケーションに関する更なる情報を
供給するために用いることができる全任意選択属性である。jnet.info
.splashscreenは、アプリケーション・コードをダウンロードする
必要なしに、新しいアプリケーションがロードされたときにスプラッシュ画面(s
plash screen)を素早く見せるために用いることができる。これは、ユーザにほ
とんど瞬間的なフィードバックを供給することによってより良いユーザ体験を提
供することができる。
【0039】 JNLメタファイルのコンテンツは、System.getProperty
方法を通して実行しているジャバ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イネーブル型であるか否かに係わらず、ウェブ・ブラウ
ザを介したウェブにわたるアプリケーションのデプロイメントに主に関する。ネ
ット・デプロイメントの主要な目的は、ウェブ・ブラウザからのアプリケーショ
ンへのユニバーサル・アクセス、クライアント・システムへのアプリケーション
の自動設置、及びクライアント・システムのアプリケーションのより新しいバー
ジョンへのシームレス・アップグレーディング(移行)である。
【0042】 エンド・ユーザに対して、ネット・デプロイメントは、彼らが特定のサイトに
おける彼らのウェブ・ブラウザを単にポイントすることによってあらゆる形式の
アプリケーションを容易にアクセスできることを意味する。それゆえに、設置及
びバージョン・アップグレードは、ユーザ・インタラクションを必要としない。
ネット・デプロイメントは、インターネット及びプライベート・イントラネット
の両方で、初心者から熟練者まで、あらゆる種類のユーザにアプリケーションを
分配する理想的方法である。
【0043】 アプリケーションのデプロイメントがサーバ・エンド(サーバ端)で集中的に
管理されるので、このモデルは、大きな企業に対してかなりの経費節約を潜在的
に供給できる。サービス・プロバイダ(例えば、インターネット・サービス・プ
ロバイダ、又は“ISPs”)に対して、これは、彼らが特別注文の(カスタム
・メード)アプリケーションをそれらのユーザに容易にデプロイ(配置)できる
ことを意味する。これは、より良いサービスを供給し、かつそれによって市場に
おいてそれら自体を識別するためにISPを支援することができる。
【0044】 上記目的は、ネット・デプロイメントの中心(コア)を形成し、かつそれらは
、事実、アクティブ(Active)TMX構成要素及びジャバ(Java)TM
プレット(Applets)のような、当業者に知られた解決法に対して満足さ
れる。しかしながら、また、非常に望ましい目的の第2のセットが存在する。こ
れらの目的の第1のものは、異種環境に対する支持を含む。インターネットは、
特質により異種環境であり、かつこれは、同様にほとんどの企業におけるイント
ラネットに対して一般に真である。第2の目的は、不当な(悪意のある)コード
に対するセキュリティ(機密保護)及び要注意な情報(sensitive information)
の保護を提供することである。そして、別の目的は、アプリケーションの高速設
置及び再起動である。アプリケーションは、素早く設置すべきであり、かつロー
カル・コピーをキャッシュすることによって後続の呼出しによりさらに素早く開
始するのが好ましい。
【0045】 上記したセキュリティ目的は、非常に重要なものである。最新のネット・デプ
ロイメント・スキームは、コードを署名(サイン)するオプションを供給するこ
とによってセキュリティをインプリメントする。コード署名は、ある人にだれが
コードを書いたかを確認させ、かつそれが署名されてから不正変更されていない
ことを確認させる技法である。しかしながら、コード署名は、セキュリティを実
際には供給しないし、それは、単に何かが首尾よく行かなかった場合にだれが責
任を負うかを知らせるだけである。
【0046】 ジャバ(Java)TMプラットフォームは、同様にコード署名を支持するが、
それは、それより先に進む。それは、ジャバTMアプリケーションがユーザのマシ
ン及びローカル・ネットワークでなければならないというアクセスを制限するこ
とを可能にすることによって、意図した及び意図していない不正変更コードの両
方に対するセキュリティを提供することができる。今日使用されているアプリケ
ーションのほとんどは、ネット中心であり、それらは、ローカル記憶データへの
アクセスを必要としない。それゆえに、アプリケーションのこの種の制限、又は
“サンドボクシング”は、これらの形式のアプリケーションにとって意味がある
【0047】 例えば、ユーザがxyztrade.comのウェブ・サイトからストック−
クォート・ティッカー(stock-quote ticker)・アプリケーションを実行すること
を開始した場合には、この場合には、アプリケーションは、要求したクォート(
相場価格)を得るためにxyztrade.comのサーバへのアクセスだけが
必要である。そのようなアプリケーションがユーザのローカル・マシンのデータ
又はファイル・システムをアクセスする必要がない。そのようなアプリケーショ
ンをサンドボクシングすることによって、ユーザは、ユーザのシステムの保全性
に関して確信しうるし、かつユーザの潜在的に要注意な情報が傷つけられないこ
とを確信しうる。
【0048】 ジャバTMネット・ランチャー(JavaTMNet Launcher)技術 本発明の形態によるジャバTMネット・ランチャー(JNet)技術は、ジャバ TM アプリケーションに対する“プレヤー(player)”として説明すること
ができる。ウェブ・ユーザが、リアル・オーディオ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 アプリケーションをダウンロードしかつランチする。
【0050】 この簡単なモデルは、多くの重要な利点を有する。第1番目に、それは、先に
説明したネット・デプロイメントの主要目的の全てを満足する。一度ジャバTM
ラットフォーム及びJNetヘルパ・アプリケーションがクライアント・システ
ムに設置されたならば、ユーザは、シングル・クリックによってウェブ・ブラウ
ザから直にジャバTMアプリケーションを容易にかつ確実にデプロイ(配置)でき
る。
【0051】 第2番目に、それは、ネット・デプロイメントの全ての二次目的を満足する。
ブラウザの内部にランチしたジャバTMアプレットに適用される同じセキュリティ
特徴は、それがランチするアプリケーションにJNetによっても適用すること
ができる。更に、JNetは、高速再起動に対してローカル・ハード・ディスク
又はその他のローカル記憶媒体にアプリケーションを容易にかつ確実にキャッシ
ュすることができる。
【0052】 第3番目に、本発明の主要利点の一つは、それがブラウザ独立であることであ
る。これは、ジャバTM技術がブラウザに係わりなく発展し、かつあらゆるブラウ
ザを通して容易にアクセス可能であることを意味する。企業及びインターネット
・サービス・プロバイダ(“ISP’s”)に対して、これは、彼らが最新のジ
ャバTM技術を用いてサービスを開発することができかつそれを様々なハードウェ
ア、オペレーティング・システム、及びブラウザにデプロイできるという自信が
あることを意味する。
【0053】 第4番目に、それは、同時にジャバTMプラットフォームの複数のバージョンを
支持することができる。先に説明したように、JNLメタファイルがアプリケー
ションをダウンロードしかつインストールするために必要な全てのコンポーネン
トを記述するので、それは、特定のアプリケーションがジャバTMプラットフォー
ムのどのバージョンを必要とするかを特定できる。これは、企業及びインターネ
ット・サービス・プロバイダが先の投資を犠牲にすることなくより新しい技術を
徐々に採用することを可能にする。
【0054】 第5番目に、JNetヘルパ・アプリケーションによってランチされたジャバ TM アプリケーションは、ブラウザ・ウィンドウ内のそれらのグラフィカル・ユー
ザ・インタフェース(“GUI”)を表示することに制限されないし、かつそれ
らの寿命は、ウェブ・ページの寿命、又はブラウザの寿命にも限定されない。
【0055】 第6番目に、ほとんどのジャバTMアプリケーションは、JNetヘルパ・アプ
リケーションを用いて変更なしで実行することができる。JNetヘルパ・アプ
リケーションは、ランチャーである。それは、当業者に知られた“ジャバ(ja
va)”コマンドと同じ方法でアプリケーションをロードしかつ実行する。唯一
の注意は、アプリケーションが、ファイル・システムに依存する代わりにクラス
ローダを用いてリソースを見出さなければならないことである。しかしながら、
これは、ジャバTMアプレット・ロード・リソースに類似し、かつ多くのアプリケ
ーションは、この注意に留意して既に設計される。
【0056】 第7番目に、本発明は、現在市販されている実質的にあらゆるHTTPサーバ
を用いてインプリメントすることができる。一般に、それがJNLメタファイル
に対する正確なマイム形式をクライアント・コンピュータのブラウザに送るよう
にHTTPに対してほんの少しの構成変更を行う必要がある。
【0057】 そして、JNetヘルパ・アプリケーションは、後続のセクションで説明する
ように、多数の関連技術及び高度な特徴(advanced features)に対するイネーブ
リング技術としてサーブすることができる。
【0058】 本発明によるJNetヘルパ・アプリケーションをアプレット・モデルと比較
することは、興味がある。上述したように、JNetヘルパ・アプリケーション
・モデルは、主要ネット・デプロイメント目的に関してアプレット・モデルと同
じ数の利点を供給する。JNetヘルパ・アプリケーションがブラウザとは別個
にインストールされる必要がありうるという、JNetヘルパ・アプリケーショ
ン・モデルに固有な一つのエキストラ・ステップ(余分な段階)が存在する。し
かしながら、この要件は、アクロバットTMリーダ及びゴーストビューTMのような
現行のブラウザに対するヘルパ・アプリケーション及びその他のプラグ・インと
異なるものではない。従って、JNetヘルパ・アプリケーション・アプローチ
は、それが、アプレット(例えば、電子メール・クライアント)のように容易に
ウェブ・ページにフィットしないアプリケーションをランチする自然な方法を供
給するという意味でジャバTMアプレット・モデルをコンプリメント(補足)する
【0059】 本発明は、主要ブラウザ・ベンダーがそのような新しいプラットフォームを採
用することをアプリケーション開発者が待つ必要がないので、本発明の形態によ
るJNetヘルパ・アプリケーション・モデルは、新しいジャバTMプラットフォ
ームの採用を加速する機会を供給することにも注目すべきである。
【0060】 図7は、本発明の一実施形態に従ってユーザの視点からアプリケーションを受
取り、インストールし、かつランチするブラウザ独立方法を示しているフローチ
ャートである。図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メタファイル(例えば、“アプリケーション/ジャバ”)に対する
マイム形式を有するファイルに対してブラウザに登録されるように自動的に再構
成することができる。
【0062】 段階740では、ユーザは、JNLメタファイルへのリンクを起動する。一般
に、これは、ユーザがHTMLファイルからJNLファイルへのリンクを“クリ
ックする”ときに発生する。この地点では、図5に示す段階530から580を
含む段階のシーケンスが自動的に開始する。しかしながら、ユーザの視点から、
段階530から580は、ほんの少しのユーザ・インタラクションで実行される
。更に図7を参照すると、ユーザの視点から、次に発生することは、段階750
で、ユーザは、JNetヘルパ・アプリケーションによって発行されたインスト
レーション・プロンプトに応答することを要求されうることである。好ましくは
、これらのプロンプトは、最小に保持され、かつ一実施形態では、インストレー
ション処理は、完全に自動的に進行するので、インストレーション・プロンプト
が全く発行されない。しかしながら、各特定のインプリメンテーション及びユー
ザ構成により、これらのプロンプトは、インストレーションに対するオプション
・コンポーネントを選択するために、セキュリティ通知又は警告の受け入れを示
すために、又はライセンス・タームの受け入れを示すために、インストレーショ
ン・ディレクトリを選択することをユーザに求めることを含みうる。
【0063】 一度アプリケーション・インストレーション及びランチング処理が完了したな
らば、段階760では、一度それがランチされたならば、ユーザは、アプリケー
ションとインタラクト(対話)する。ユーザの視点から、ユーザは、アプリケーシ
ョンがブラウザとは異なるウィンドウに一般に表示されるということに気付きう
る(注目しうる)。そして、アプリケーションが終了されたときに、段階770
では、ユーザは、JNetヘルパ・アプリケーションによって発行されたアンイ
ンストレーション・プロンプトに応答することを求められうる。 例えば、ユーザは、クライアント・コンピュータからアプリケーションをアンイ
ンストールか又は削除すべきか、又は後続の使用に対してクライアント・コンピ
ュータにそれをキャッシュすべきかどうかを求められうる。
【0064】 インプリメンテーション例 以下のセクションでは、本発明の形態によるジャバTMネット・ランチャー(N
et Lancher)技術が供給する可能性のようなものを記述する、二つの
特定の例を供給する。第1の例は、ポータル・サイトがジャバTM技術を用いてよ
り高度なサービスを供給できる方法を記述し、かつ第2の例は、データをそのビ
ューワ・アプリケーションと一緒に一纏めにすることができ、プラグ・イン及び
ヘルパ・アプリケーションを手動でインストールする必要性を除去する方法を記
述する。勿論、添付した特許請求の範囲の精神内で多くのその他のインプリメン
テーション例が可能である。
【0065】 向上したウェブ・ポータル・サービス yahoo.com(ヤフー・ドット・コム)及びNetscape(ネット
スケープ)TMNetCenter(ネットセンター)TMのような、よく知られた
“ポータル”ウェブ・サイトは、新しいプッシュ・フォワード・サーバ・ベース
ド・コンピューティングの最適な例の一部である。それらは、カスタマイズされ
たニュース、電子メール、カレンダ、アドレス帳、及びインスタント・メッセー
ジングのような、サービスのホストを一般に供給する。これらのサービスのほと
んどは、全てではないが、インタフェースとしてブラウザを用いて受渡しされる
【0066】 例えば、インスタント・メッセージングは、一般にマイクロソフトTMウィンド
ウズTMプラットフォームに対してだけ(又は少なくとも、最初だけ)利用可能で
ある、個別のクライアントを用いて多くの場合受け渡しされる。本発明の形態に
よるJNetヘルパ・アプリケーションを用いて、ポータル・サイトは、最新の
ジャバTM技術を用いてこの種のサービスを供給することができ、かつサービスは
、全ての主要プラットフォームの全てのユーザにすぐに利用可能である。また、
本発明は、ネーティブ・アプリケーションを処理するときに一般に要求されるイ
ンストレーション段階を取り除く。
【0067】 ポータル・サイトから供給されるサービスは、一般にサーバ・ヘースドであり
、従ってクライアント・システムのローカル・データへのアクセスを必要としな
い。それゆえに、それらは、ジャバTMプラットフォームの組込みセキュリティ特
徴を用いてサンドボックスすることができる。このように、エンド・ユーザは、
アプリケーションがエンド・ユーザのシステムの保全性を傷つけていないことを
確信することができる。
【0068】 ポータル・サイトが本発明の形態を用いてカスタム・アプリケーションを通し
て受け渡しできる別の組の特徴は、電子メール・メッセージ、アドレス帳エント
リ、及びアポイントメントのような、ポータルに記憶された個人データへのオフ
・ライン・アクセスに対するツールである。JNetヘルパ・アプリケーション
を用いて、ユーザがオン・ラインである間にこれらのアプリケーションを自動的
にダウンロードしかつインストールすることができ、かつローカル・ディスクの
アプリケーションをキャッシュすることによってオフ・ラインでも利用可能であ
る。
【0069】 データとプレゼンテーションとの組合せ JNetヘルパ・アプリケーション技術を用いる別の興味ある方法は、ウェブ
・ブラウザに対してヘルパ・アプリケーションをダウンロードしかつインストー
ルする必要性を取り除くことである。例えば、現在、ユーザがアクロバットTM
ァイル(.pdf)をクリックするときに、それは、アクロバットTMリーダがイ
ンストールされている場合でかつブラウザが.pdfファイルに対してアクロバ
ットTMリーダをランチするように構成されている場合にはブラウザからビューす
る(見る)ことができるだけである。アクロバットTMリーダがユーザのローカル
・マシンにインストールされていない場合には、それは、ウェブ・サイトから手
動でダウンロードされかつユーザのシステムにインストールされなければならな
い。
【0070】 しかしながら、本発明の形態によりヘルパ・アプリケーションに対するこの手
動インストレーション段階を取り除くことができる。例えば、ウェブ・サイトに
.pdfファイルを設置する代わりに、(先に説明した).jnlメタファイル
へのリンクを供給することができる。この.jnlメタファイルは、ビューワ・
アプリケーション(例えば、ジャバTMに対するアクロバットTMリーダー)への参
照を含み、かつまた.jnlメタファイルは、それに要求されている特定の文書
(ドキュメント)をランチさせかつオープンさせるビューワ・アプリケーション
に対するアーギュメントも含む。
【0071】 それゆえに、上記の例は、その対応するビューワ・アプリケーションでデータ
を一纏めにする方法を説明する。本発明のこれらの形態によれば、ウェブ開発者
は、様々な新しいサービスに対してテーラーされたファイル・フォーマットを生
成することができ、かつ新しいファイル拡張子又はマイム形式を開発する必要な
しに、かつ個別にビューワ・ソフトウェアをダウンロードすることをユーザに要
求することなく、これらのサービスを容易に分配または分散することができる。
【0072】 高度な特徴 先にセクションは、本発明自体の形態によるネット・デプロイメントの主要な
特徴及びジャバTMネット・ランチャー(Net Launcher)技術を説明
した。このセクションでは、可能でありかつジャバTMネット・ランチャー技術に
さらによくフィットするより多くの高度な特徴を説明する。
【0073】 ジャバTMアプリケーションのキャッシング及びインストレーション:JNet
ヘルパ・アプリケーション・アーキテクチャは、ローカル・システムのジャバTM アプリケーションのキャッシングを容易に支持することができる。更に、ローカ
ル的にキャッシュされたアプリケーションは、また、オフ・ライン・ユーザに対
しても利用可能にすることができる。それゆえに、JNetヘルパ・アプリケー
ション・アーキテクチャは、また、ジャバTMアプリケーションに対するネット中
心インストーラとしても動作することができる。また、JNetヘルパ・アプリ
ケーションは、自動的に又はユーザの裁量で、一時的インストレーション・ファ
イルを削除するように構成することもできる。特定のインプリメンテーションに
対してそのように望むならば、JNetヘルパ・アプリケーションは、また、ク
ライアント・コンピュータのメモリ記憶装置の記憶空間(メモリ・スペース)を
開放できるように一度それが実行することを終了したならば(又はある指定した
時間間隔後に)アプリケーションをアンインストールするように構成することも
できる。
【0074】 セキュリティ・プロフィール及びコード署名:この報告(レポート)に記述し
たように、JNetヘルパ・アプリケーション・アーキテクチャは、ジャバTM
プレットのために開発されたサンドボクシング機構を支持する。しかしながら、
ユーザにジャバTMアプリケーションへの更なる特権を与えさせる当業者に知られ
た技法に基づくより複雑なセキュリティ・モデルを想像することは、容易である
。例えば、アプリケーションは、キャッシュとしてファイル・システムの一部を
用いること、又はブラウザ・クッキーに類似する方法で記憶されたローカル−状
態(ローカル・サイト)へのアクセスを有することを許されうる。また、コード
署名は、ユーザがアプリケーションのオリジン(起源又は元)を確認することが
できるように支援することができる。
【0075】 アプレットのランチング:本説明は、ジャバTMアプリケーションのランチング
にもっぱら集中していた。しかしながら、JNetヘルパ・アプリケーションは
、同様にジャバTMアプレットのランチングを容易に支持することができる。これ
は、ジャバTMアプレットに対する限定されたブラウザ支持が存在するか全く存
在しないようなプラットフォームに関係しうる。
【0076】 フットプリント及びスタートアップ時間を縮小すること:JNetヘルパ・ア
プリケーションは、ユーザがウェブ・ブラウザから多くのクライアント・アプリ
ケーションをランチするようにするであろう。従って、アプリケーション毎に必
要なフットプリント及びスタートアップ時間は、クライアント側ジャバTMアプ
リケーションに対する主要な論点になる。従って、JNetヘルパ・アプリケー
ションは、その両方が当業者に知られた、クラスファイル・ストリーミング及び
ライトウェイトジャバTM仮想マシン・アーキテクチャの両方に対するイネーブリ
ング技術としてビューすることができる。クラス・ファイルのストリーミングは
、クラスファイルをよりコンパクトな表現で転送させ、かつクラスのバックグラ
ウンド・ローディングを部分的に支持することができる。現行のJARファイル
と比較して少なくとも10倍の圧縮レートを期待することは、たぶん現実的であ
る。ストリーミング技法は、より少ないバイトをネットにわたり転送することが
必要なので、スタート・アップ時間をかなり縮小することができ、かつまたより
少ない方法をロードすることが必要なのでフットプリントを縮小することもでき
る。例えば、先に説明したSwingSetアプリケーションについて、フット
プリントのほとんどは、方法におけるバイトコードの記憶に用いられ、かつSw
ingSetアプリケーションの一般的な実行において方法の50%以下が用い
られる。それゆえに、ロードした方法の数を縮小することは、フットプリント・
サイズをかなり低減することができる。更に、クラスファイル及びコンパイルド
・コードのような、同じシステムで実行する異なるジャバTMアプリケーション間
のデータ構造の共有を許容するように設計された、“ライトウェイト”ジャバTM 仮想マシンを本発明と一緒に用いることができる。複数のジャバTMアプリケーシ
ョンが同時に実行される場合には、これは、合計フットプリントをかなり縮小す
ることができるし、かつ既に実行しているジャバTMアプリケーションとデータ構
造を共有することによってアプリケーションに対するセット・アップ・コストの
ほとんどを取り除く(省く)ことができるので、スタート・アップ時間も増大す
ることができる。
【0077】 そして、本発明は、既知のシステム及び技法と同時に用いることができる。例
えば、マリンバ・インコーポレーティッド(Marimba,Inc.)から市
販されている、カスタネット(Castanet)技術の増分ソフトウェア更新
機構は、ジャバTM又はその他のアプリケーションに対するバージョン更新のネッ
ト・デプロイメントを更に容易にするために本発明の装置及び方法と一緒に用い
られうる。この意味で、カスタネット(Castanet)技術は、直交する概
念である。
【0078】 纏めると、本発明の形態によるJNetヘルパ・アプリケーション技術は、イ
ンターネットのような異質ネットワークにわたるジャバTMアプリケーションのワ
ン−クリック・ネット中心デプロイメントに対する簡単なモデルを供給する。そ
れは、異質ネットワークにわたりブラウザ独立ジャバTMアプリケーションを配置
(デプロイ)するためのモデルを供給し、かつそれは、新しいソフトウェア・プ
ラットフォームの採用を制限することができるブラウザとの現行の結合(タイ・
イン)をブレークする。
【0079】 ブラウザの内側(内部)でジャバTMアプリケーションを実行する必要なしに、
ブラウザから直接ジャバTMアプリケーションをランチする機能は、アプレット・
モデルが行うよりも電子メール・クライアント又は統合プログラミング環境のよ
うなアプリケーションをランチするより自然な方法を供給する。上術した例で説
明したように、本発明は、また、適切なビューワ・アプリケーションにウェブ・
コンテンツを結合することを可能にし、それによってユーザにより簡単でかつよ
りリッチな両方を経験させる。このように、本発明の形態による“アプリケーシ
ョン/ジャバ”マイム形式は、最高のマイム形式としてビューすることができる
【0080】 本発明の別の利点は、主要ブラウザ・ベンダーに独立してジャバTM技術の採
用を行わせることである。これに関して、本発明は、ブラウザ独立かつJRE独
立の両方である。そのコンポーネント間に明らかな分離が存在するので、この特
徴は、技術を非常に強く(robust)する。ブラウザは、ジャバTMアプリケーション
と干渉(インターフェア)しないし、かつJNetヘルパ・アプリケーションそ
れ自体は、ブラウザ又はJREそれ自体のいずれかに存在する機能性をリインプ
リメント(再実施;再実現)しない。ジャバTMネット・ランチャーは、インター
ネットのジャバTMプラットフォームの普及採用に対する主要障害物の一つを取
り除き(除去し)、かつジャバTM技術ベースド・サービスの全く新しい組(セッ
ト)に対してデプロイメント(配置)機構を供給することによってユーザのウェ
ブ経験を豊富にする可能性を有する。
【0081】 ここに記述したブロック図及びフローチャートは、本発明の方法を達成するた
めの段階のブロード・アーキテクチャ及びロジック・フローを単に示すものであ
り、かつ段階は、本発明の適用範囲から逸脱することなくフローチャートに追加
しうるし、又はそれから取り去りうる。更に、フローチャートにおける段階の実
行の順番は、本発明の適用範囲から逸脱することなく変更されうる。フローチャ
ートによって記述される方法をインプリメントすることにおける更なる考慮は、
選択及び段階の順番における変更を指図しうる。
【0082】 一般に、この明細書におけるフローチャートは、コンピュータ・システムで実
行するソフトウェア・ルーチンによって実行される一つ以上の段階を含む。ルー
チンは、この技術分野で知られた手段によってインプリメントされうる。例えば
、ジャバ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. 【請求項1】 クライアント・コンピュータにおいて、ブラウザからアプリ
    ケーションを受信し、インストールし、かつランチするためのブラウザ独立方法
    であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
    、ブラウザにヘルパ・アプリケーションを登録するステップであって、前記ヘル
    パ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメタ
    ファイルへのリンクに出会う時に呼び出される前記ステップと; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
    、及び前記ブラウザが、前記メタファイルへのリンクに出会う時に、前記メタフ
    ァイルのコピーを入力パラメータとして用いて、前記ヘルパ・アプリケーション
    を呼び出すステップと; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを決定するために、前記メタファイルのコピーを解析するステップと; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
    にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
    するステップと; 前記クライアント・コンピュータに前記アプリケーションをインストールする
    ステップと; 前記ブラウザから独立して前記アプリケーションにランチするステップと を具備することを特徴とするブラウザ独立方法。
  2. 【請求項2】 前記アプリケーションは、ジャバ・アプリケーションであり
    、かつ前記メタファイルは、前記ジャバ・アプリケーションのためのショート・
    ランチ・ファイル仕様を具備することを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記メタファイルは、一組のユニバーサル・リソース識別子
    (“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
    ・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
    とを特徴とする請求項2に記載の方法。
  4. 【請求項4】 ジャバ・アーカイブ・ファイル及びクラス・ファイルがそこ
    から受信される、ユニバーサル・リソース識別子(“URIs”)に基づいた、
    前記ジャバ・アーカイブ・ファイル及びクラス・ファイルの自動インストールを
    さらに具備することを特徴とする請求項3に記載の方法。
  5. 【請求項5】 前記アプリケーションは、自動的に、より新しいバージョン
    に更新されることができることを特徴とする請求項3に記載の方法。
  6. 【請求項6】 前記JREが前記メタファイルによって特定され、及び前記
    JREが前記クライアント・コンピュータにインストールされていない場合の、
    JRE自動インストールをさらに具備することを特徴とする請求項3に記載の方
    法。
  7. 【請求項7】 クライアント・コンピュータにおいて、ブラウザからアプリ
    ケーションを受信し、インストールし、及びランチするためのブラウザ独立方法
    であって: 前記クライアント・コンピュータに、特定されたマイム形式またはファイル形
    式のためのヘルパ・アプリケーションを登録することができるブラウザをインス
    トールし; 前記クライアント・コンピュータに、前記アプリケーションのための、一つ以
    上の実行環境をインストールし; 前記クライアント・コンピュータに、前記アプリケーションをインストールし
    、及び実行するために必要なコンポーネントを記述するメタファイルを解析する
    ことができるヘルパ・アプリケーションをインストールし; 前記メタファイルへのリンクを起動し; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
    し、及び入力パラメータとして、前記メタファイルのコピーを用いて、前記ヘル
    パ・アプリケーションを呼び出し; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを決定するために、前記メタファイルのコピーを解析し; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
    にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
    し; 前記クライアント・コンピュータに、前記アプリケーションをインストールし
    ;及び 前記ブラウザから独立して前記アプリケーションをランチするステップ を具備することを特徴とするブラウザ独立方法。
  8. 【請求項8】 前記アプリケーションは、ジャバ・アプリケーションであり
    、及び前記メタファイルは、前記ジャバ・アプリケーションのための、ショート
    ・ランチ・ファイル仕様を具備することを特徴とする請求項7に記載の方法。
  9. 【請求項9】 前記メタファイルは、一組のユニバーサル・リソース識別子
    (“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
    ・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
    とを特徴とする請求項7に記載の方法。
  10. 【請求項10】 そこからジャバ・アーカイブ・ファイル及びクラス・ファ
    イルが受信される、ユニバーサル・リソース識別子(“URIs”)に基づいた
    、前記ジャバ・アーカイブ・ファイル及びクラス・ファイルの自動インストール
    をさらに具備することを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記アプリケーションは、より新しいバージョンに自動的
    に更新されることができることを特徴とする請求項9に記載の方法。
  12. 【請求項12】 前記JREが前記メタファイルによって特定され、及び前
    記JREが前記クライアント・コンピュータにインストールされていない場合の
    、JREの自動インストールをさらに具備することを特徴とする請求項9に記載
    の方法。
  13. 【請求項13】 クライアント・コンピュータにおいて、ブラウザから実行
    環境を受信し、及びインストールするためのブラウザ独立方法であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
    、ブラウザに、ヘルパ・アプリケーションを登録するステップであって、前記ヘ
    ルパ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメ
    タファイルへのリンクに出会う時に呼び出されることを特徴とする前記ステップ
    と; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
    、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメー
    タとして前記メタファイルのコピーを用いて、前記ヘルパ・アプリケーションを
    呼び出すステップと; 前記実行環境が、前記アプリケーションをランチするために必要であるかどう
    か決定するために、前記メタファイルのコピーを解析するステップと; 前記実行環境が、前記アプリケーションをランチするために必要であると決定
    され、及び前記実行環境がまだ前記クライアント・コンピュータにインストール
    されていない場合、前記クライアント・コンピュータにおいて、前記実行環境を
    受信し、及びインストールするステップと を具備することを特徴とするブラウザ独立方法。
  14. 【請求項14】 前記実行環境は、ジャバ実行環境(“JRE”)であるこ
    とを特徴とする請求項13に記載の方法。
  15. 【請求項15】 前記実行環境は、より新しいバージョンに自動的に更新さ
    れることができることを特徴とする請求項13に記載の方法。
  16. 【請求項16】 前記実行環境は、信頼されるソースから、前記クライアン
    ト・コンピュータにおいて受信されることを特徴とする請求項13に記載の方法
  17. 【請求項17】 前記実行環境は、信頼できる手段を用いて、信頼されるソ
    ースから前記クライアント・コンピュータにおいて受信されることを特徴とする
    請求項13に記載の方法。
  18. 【請求項18】 クライアント・コンピュータにアプリケーションを送信す
    るためのブラウザ独立方法であって: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを記述するメタファイルが、HTTPサーバによって、前記クライアン
    ト・コンピュータに送信される時、特定されたマイム形式を送信するように前記
    HTTPサーバを構成し;及び 前記クライアント・コンピュータから受信されたHTTP要求に応答して、前
    記クライアント・コンピュータに、前記マイム形式を有する前記メタファイルを
    送信し;及び 前記クライアント・コンピュータから受信された一つ以上の要求に応答して、
    前記クライアント・コンピュータに、前記コンポーネントの一部、またはすべて
    を送信するステップ を具備することを特徴とするブラウザ独立方法。
  19. 【請求項19】 前記アプリケーションはジャバ・アプリケーションであっ
    て、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート
    ・ランチ・ファイル仕様を具備することを特徴とする請求項18に記載の方法。
  20. 【請求項20】 前記メタファイルは、一組のユニバーサル・リソース識別
    子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
    バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
    ことを特徴とする請求項18に記載の方法。
  21. 【請求項21】 クライアント・コンピュータにおいて、ブラウザからアプ
    リケーションを受信し、インストールし、及びランチするためのブラウザ独立装
    置であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
    、ブラウザにヘルパ・アプリケーションを登録するための手段であって、前記ヘ
    ルパ・アプリケーションは、前記ブラウザが前記特定されたファイル形式のメタ
    ファイルへのリンクに出会う時に呼び出されることを特徴とする前記手段と; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
    し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
    ータとして前記メタファイルのコピーを用いて、前記ヘルパ・アプリケーション
    を呼び出すための手段と; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを決定するために、前記メタファイルのコピーを解析するための手段と
    ; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
    にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
    するための手段と; 前記アプリケーションを前記クライアント・コンピュータにインストールする
    ための手段と;及び 前記ブラウザから独立して前記アプリケーションをランチするための手段と を具備することを特徴とするブラウザ独立装置。
  22. 【請求項22】 前記アプリケーションは、ジャバ・アプリケーションであ
    り、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート
    ・ランチ・ファイル仕様を具備することを特徴とする請求項21に記載の装置。
  23. 【請求項23】 前記メタファイルは、一組のユニバーサル・リソース識別
    子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
    バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
    ことを特徴とする請求項22に記載の装置。
  24. 【請求項24】 そこからジャバ・アーカイブ・ファイル及びクラス・ファ
    イルを受信する、ユニバーサル・リソース識別子(“URIs”)に基づいた、
    前記ジャバ・アーカイブ及びクラス・ファイルの自動インストールをさらに具備
    することを特徴とする請求項23に記載の装置。
  25. 【請求項25】 前記アプリケーションはより新しいバージョンに自動的に
    更新されることができることを特徴とする請求項23に記載の装置。
  26. 【請求項26】 前記JREが前記メタファイルによって特定され、及び前
    記JREが前記クライアント・コンピュータにインストールされていない場合の
    、JREの自動インストールのための手段をさらに具備することを特徴とする請
    求項23に記載の装置。
  27. 【請求項27】 クライアント・コンピュータにおいて、ブラウザからアプ
    リケーションを受信し、インストールし、及びランチするためのブラウザ独立装
    置であって: 前記クライアント・コンピュータにおいて、特定されたマイム形式またはファ
    イル形式のために、ヘルパ・アプリケーションを登録することができるブラウザ
    をインストールするための手段と; 前記クライアント・コンピュータにおいて、前記アプリケーションのための一
    つ以上の実行環境をインストールするための手段と; 前記クライアント・コンピュータにおいて前記アプリケーションをインストー
    ルし、及び実行するために必要なコンポーネントを記述するメタファイルを解析
    することができるヘルパ・アプリケーションをインストールするための手段と; 前記メタファイルへのリンクを起動させるための手段と; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
    、及び入力パラメータとして、前記メタファイルのコピーを用いて前記ヘルパ・
    アプリケーションを呼び出すための手段と; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを決定するために、前記メタファイルのコピーを解析するための手段と
    ; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
    にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
    するための手段と; 前記クライアント・コンピュータに前記アプリケーションをインストールする
    ための手段と;及び 前記ブラウザから独立して前記アプリケーションをランチするための手段と を具備することを特徴とするブラウザ独立装置。
  28. 【請求項28】 前記アプリケーションはジャバ・アプリケーションであり
    、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート・
    ランチ・ファイル仕様を具備することを特徴とする請求項27に記載の装置。
  29. 【請求項29】 前記メタファイルは、一組のユニバーサル・リソース識別
    子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
    バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
    ことを特徴とする請求項27に記載の装置。
  30. 【請求項30】 そこからジャバ・アーカイブ・ファイル及びクラス・ファ
    イルが受信される、ユニバーサル・リソース識別子(“URI”)に基づいた、
    前記ジャバ・アーカイブ・ファイル及びクラス・ファイルの自動インストールを
    さらに具備する請求項29に記載の装置。
  31. 【請求項31】 前記アプリケーションは、より新しいバージョンに自動的
    に更新されることができることを特徴とする請求項29に記載の装置。
  32. 【請求項32】 前記JREが前記メタファイルによって特定され、及び前
    記JREが前記クライアント・コンピュータにインストールされていない場合の
    自動インストールのための手段をさらに具備することを特徴とする請求項29に
    記載の装置。
  33. 【請求項33】 クライアント・コンピュータにおいて、ブラウザから実行
    環境を受信し、及びインストールするためのブラウザ独立装置であって: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
    、ブラウザにヘルパ・アプリケーションを登録するための手段であって、前記ヘ
    ルパ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメ
    タファイルへのリンクに出会う時に呼び出される前記手段と; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
    し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
    ータとして前記メタファイルのコピーを用いて前記ヘルパ・アプリケーションを
    呼び出すための手段と; 前記実行環境が、前記アプリケーションをランチするために必要であるか決定
    するために、前記メタファイルのコピーを解析するための手段と;及び 前記実行環境が、前記アプリケーションをランチするために必要であると決定
    され、及び前記実行環境が、前記クライアント・コンピュータにまだインストー
    ルされていない場合に、前記クライアント・コンピュータにおいて、前記実行環
    境を受信し及びインストールするための手段と を具備することを特徴とするブラウザ独立装置。
  34. 【請求項34】 前記実行環境はジャバ実行環境(“JRE”)であること
    を特徴とする、請求項33に記載の装置。
  35. 【請求項35】 前記実行環境は、より新しいバージョンに自動的に更新さ
    れることができることを特徴とする、請求項33に記載の装置。
  36. 【請求項36】 前記実行環境は、信頼されるソースから、前記クライアン
    ト・コンピュータにおいて受信されることを特徴とする、請求項33に記載の装
    置。
  37. 【請求項37】 前記実行環境は、信頼できる手段を用いて、信頼されるソ
    ースから、前記クライアント・コンピュータにおいて受信されることを特徴とす
    る、請求項33に記載の装置。
  38. 【請求項38】 アプリケーションをクライアント・コンピュータに送信す
    るためのブラウザ独立装置であって: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを記述するメタファイルが、HTTPサーバによって前記クライアント
    ・コンピュータに送信される時に、特定されたマイム形式を送信するように、前
    記HTTPサーバを構成するための手段と;及び 前記クライアント・コンピュータから受信されたHTTP要求に応答して、前
    記クライアント・コンピュータに、前記マイム形式を有する前記メタファイルを
    送信するための手段と;及び 前記クライアント・コンピュータから受信された一つ以上の要求に応答して、
    前記クライアント・コンピュータに前記コンポーネントの一部またはすべてを送
    信するための手段と を具備することを特徴とするブラウザ独立装置。
  39. 【請求項39】 前記アプリケーションは、ジャバ・アプリケーションであ
    り、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート
    ・ランチ・ファイル仕様を具備することを特徴とする、請求項38に記載の装置
  40. 【請求項40】 前記メタファイルは、一組のユニバーサル・リソース識別
    子(“URI”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
    ・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
    とを特徴とする、請求項38に記載の装置。
  41. 【請求項41】 クライアント・コンピュータにおいて、ブラウザからアプ
    リケーションを受信し、インストールし、及びランチするための、ブラウザ独立
    装置であって: 前記アプリケーションのための実行環境と;及び 前記ブラウザが、前記アプリケーションをインストールし、及びランチするの
    に必要なコンポーネントを記述するメタファイルへのリンクに出会う時、ブラウ
    ザによって呼び出されるヘルパ・アプリケーションであって、前記アプリケーシ
    ョンをインストールし、及びランチするのに必要なコンポーネントを決定するた
    めに、前記メタファイルのコピーを解析するためのロジックと、前記クライアン
    ト・コンピュータにまだインストールされていない前記コンポーネントのいずれ
    かのコピーを入手するためのロジックと、前記クライアント・コンピュータに、
    前記アプリケーションをインストールするためのロジックと、及び前記ブラウザ
    から独立して前記アプリケーションをランチするためのロジックとを具備するこ
    とを特徴とするヘルパ・アプリケーションと を具備することを特徴とする、ブラウザ独立装置。
  42. 【請求項42】 前記アプリケーションはジャバ・アプリケーションであり
    、前記実行環境は、ジャバ実行環境(“JRE”)であり、及び前記メタファイ
    ルは、前記ジャバ・アプリケーションのためのショート・ランチ・ファイル仕様
    を具備することを特徴とする、請求項41に記載の装置。
  43. 【請求項43】 前記メタファイルは、一組のユニバーサル・リソース識別
    子(“URI”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャバ
    ・アプリケーションに関するセキュリティ情報として、クラスパスを特定するこ
    とを特徴とする、請求項42に記載の装置。
  44. 【請求項44】 前記ヘルパ・アプリケーションは、そこからジャバ・アー
    カイブ・ファイル及びクラス・ファイルが入手される、ユニバーサル・リソース
    識別子(“URIs”)に基づいた、前記ジャバ・アーカイブ・ファイル及びク
    ラス・ファイルの自動インストールのためのロジックをさらに具備することを特
    徴とする、請求項43に記載の装置。
  45. 【請求項45】 前記ヘルパ・アプリケーションは、前記アプリケーション
    をより新しいバージョンに自動的に更新するためのロジックをさらに具備するこ
    とを特徴とする、請求項43に記載の装置。
  46. 【請求項46】 前記ヘルパ・アプリケーションは、前記JREが前記メタ
    ファイルに特定され、及び前記JREが前記クライアント・コンピュータにイン
    ストールされていない場合に、JREを自動的にインストールするためのロジッ
    クをさらに具備することを特徴とする、請求項43に記載の装置。
  47. 【請求項47】 クライアント・コンピュータにおいて、ブラウザから実行
    環境を受信し、及びインストールするための、ブラウザ独立装置であって: 前記ブラウザが、前記実行環境に依存したアプリケーションをインストールし
    、及びランチするのに必要なコンポーネントを記述するメタファイルへのリンク
    に出会う時、ブラウザによって呼び出されるヘルパ・アプリケーションであって
    、前記実行環境の、どのバージョンが特定されるかを決定するために、前記メタ
    ファイルのコピーを解析するためのロジックと、前記実行環境の前記バージョン
    が、前記クライアント・コンピュータにインストールされているか決定するため
    のロジックと、前記実行環境の前記バージョンが、前記クライアント・コンピュ
    ータにまだインストールされていない場合、前記実行環境の前記バージョンのコ
    ピーを入手するためのロジックと、及び前記ブラウザから独立して、前記クライ
    アント・コンピュータに、前記実行環境の前記バージョンをインストールするた
    めのロジックと を具備することを特徴とする、ブラウザ独立装置。
  48. 【請求項48】 前記実行環境は、ジャバ実行環境(“JRE”)であるこ
    とを特徴とする、請求項47に記載の装置。
  49. 【請求項49】 前記ヘルパ・アプリケーションは、前記実行環境を、より
    新しいバージョンに自動的に更新するためのロジックをさらに具備することを特
    徴とする、請求項47に記載の装置。
  50. 【請求項50】 前記ヘルパ・アプリケーションは、信頼できる手段を用い
    て、信頼されるソースから前記実行環境を入手するためのロジックをさらに具備
    することを特徴とする、請求項47に記載の装置。
  51. 【請求項51】 クライアント・コンピュータにアプリケーションを送信す
    るための、ブラウザ独立装置であって: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを記述するメタファイルが、HTTPサーバによって前記クライアント
    ・コンピュータに送信される時に、特定されたマイム形式を送信するように構成
    された前記HTTPサーバと;及び 前記マイム形式を有するメタファイルであって、前記クライアント・コンピュ
    ータから受信されるHTTP要求に応答して、前記クライアント・コンピュータ
    に、前記HTTPサーバによって送信されることを特徴とする前記メタファイル
    とを具備することを特徴とするブラウザ独立装置。
  52. 【請求項52】 前記アプリケーションはジャバ・アプリケーションであり
    、及び前記メタファイルは、前記ジャバ・アプリケーションのためのショート・
    ランチ・ファイル仕様を具備することを特徴とする、請求項51に記載の装置。
  53. 【請求項53】 前記メタファイルは、一組のユニバーサル・リソース識別
    子(“URIs”)、ジャバ実行環境(“JRE”)バージョン、及び前記ジャ
    バ・アプリケーションに関するセキュリティ情報として、クラスパスを特定する
    ことを特徴とする、請求項52に記載の装置。
  54. 【請求項54】 マシンによって読み取り可能であり、クライアント・コン
    ピュータにおいて、ブラウザからアプリケーションを受信し、インストールし、
    及びランチするためのブラウザ独立方法を実行するために、前記マシンによって
    実行可能な命令のプログラムを実体的に具現化するプログラム記憶装置であって
    、前記方法は: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
    、ブラウザにヘルパ・アプリケーションを登録するステップであって、前記ヘル
    パ・アプリケーションは、前記ブラウザが、前記特定されたファイル形式のメタ
    ファイルへのリンクに出会う時に呼び出される前記ステップと; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
    し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
    ータとして、前記メタファイルのコピーを用いて、前記ヘルパ・アプリケーショ
    ンを呼び出すステップと; 前記アプリケーションをインストールし、及びランチするのに必要なコンポー
    ネントを決定するために、前記メタファイルのコピーを解析するステップと; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
    にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
    するステップと; 前記クライアント・コンピュータに前記アプリケーションをインストールする
    ステップと;及び 前記ブラウザから独立して、前記アプリケーションをランチするステップと を具備することを特徴とする、プログラム記憶装置。
  55. 【請求項55】 マシンによって読み取り可能であり、クライアント・コン
    ピュータにおいて、ブラウザからアプリケーションを受信し、インストールし、
    及びランチするためのブラウザ独立方法を実行するために、前記マシンによって
    実行可能な命令のプログラムを実体的に具現化するプログラム記憶装置であって
    、前記方法は: 前記クライアント・コンピュータにおいて、特定されたマイム形式またはファ
    イル形式のために、ヘルパ・アプリケーションを登録することができるブラウザ
    をインストールするステップと; 前記クライアント・コンピュータにおいて、前記アプリケーションのための一
    つ以上の実行環境をインストールするステップと; 前記クライアント・コンピュータにおいて、前記アプリケーションをインスト
    ールし、及び実行するために必要なコンポーネントを記述するメタファイルを解
    析することができるヘルパ・アプリケーションをインストールするステップと; 前記メタファイルへのリンクを起動するステップと; 前記クライアント・コンピュータにおいて前記メタファイルのコピーを受信し
    、及び入力パラメータとして、前記メタファイルのコピーを用いて、前記ヘルパ
    ・アプリケーションを呼び出すステップと; 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを決定するために前記メタファイルのコピーを解析するステップと; 前記クライアント・コンピュータにおいて、前記クライアント・コンピュータ
    にまだインストールされていない前記コンポーネントのいずれかのコピーを受信
    するステップと; 前記クライアント・コンピュータに前記アプリケーションをインストールする
    ステップと;及び 前記ブラウザから独立して、前記アプリケーションをランチするステップと を具備することを特徴とするプログラム記憶装置。
  56. 【請求項56】 マシンによって読み取り可能であり、クライアント・コン
    ピュータにおいて、ブラウザから実行環境を受信し、及びインストールするため
    のブラウザ独立方法を実行するために、前記マシンによって実行可能な命令のプ
    ログラムを実体的に具現化するプログラム記憶装置であって、前記方法は: 特定されたファイル形式のために、前記クライアント・コンピュータにおいて
    、ブラウザにヘルパ・アプリケーションを登録するステップであって、前記ヘル
    パ・アプリケーションは、前記ブラウザが前記特定されたファイル形式のメタフ
    ァイルへのリンクに出会う時に呼び出されることを特徴とするステップと; 前記クライアント・コンピュータにおいて、前記メタファイルのコピーを受信
    し、及び前記ブラウザが前記メタファイルへのリンクに出会う時に、入力パラメ
    ータとして、前記メタファイルのコピーを用いて前記ヘルパ・アプリケーション
    を呼び出すステップと; 前記実行環境が、前記アプリケーションをランチするために必要であるかどう
    か決定するために、前記メタファイルのコピーを解析するステップと;及び 前記実行環境が、前記アプリケーションをランチするために必要であると決定さ
    れ、及び前記実行環境がまた前記クライアント・コンピュータにインストールさ
    れていない場合に、前記クライアント・コンピュータにおいて、前記実行環境を
    受信し、及びインストールするステップと を具備することを特徴とするプログラム記憶装置。
  57. 【請求項57】 マシンによって読み取り可能であり、クライアント・コン
    ピュータにアプリケーションを送信するためのブラウザ独立方法を実行するため
    に、前記マシンによって実行可能な命令のプログラムを実体的に具現化するプロ
    グラム記憶装置であって、前記方法は: 前記アプリケーションをインストールし、及びランチするために必要なコンポ
    ーネントを記述するメタファイルが、HTTPサーバによって前記クライアント
    ・コンピュータに送信される時、特定されたマイム形式を送信するように前記H
    TTPサーバを構成するステップと;及び 前記クライアント・コンピュータから受信されたHTTP要求に応答して、前
    記マイム形式を有する前記メタファイルを、前記クライアント・コンピュータに
    送信するステップと;及び 前記クライアント・コンピュータから受信された一つ以上の要求に応答して、
    前記クライアント・コンピュータに、前記コンポーネントの一部、またはすべて
    を送信するステップと を具備することを特徴とする、プログラム記憶装置。
JP2001554165A 2000-01-21 2001-01-19 クライアント・コンピュータのブラウザからアプリケーションを受取り、インストールしかつランチするためのブラウザ独立及び自動装置及び方法 Pending JP2003521036A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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) アプリケーション・プログラムの資源を管理する方法およびシステム