JP4950389B2 - ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法 - Google Patents

ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法 Download PDF

Info

Publication number
JP4950389B2
JP4950389B2 JP2001186593A JP2001186593A JP4950389B2 JP 4950389 B2 JP4950389 B2 JP 4950389B2 JP 2001186593 A JP2001186593 A JP 2001186593A JP 2001186593 A JP2001186593 A JP 2001186593A JP 4950389 B2 JP4950389 B2 JP 4950389B2
Authority
JP
Japan
Prior art keywords
application logic
layer
local
data
remote
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.)
Expired - Fee Related
Application number
JP2001186593A
Other languages
English (en)
Other versions
JP2002116919A (ja
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002116919A publication Critical patent/JP2002116919A/ja
Application granted granted Critical
Publication of JP4950389B2 publication Critical patent/JP4950389B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に、コンピュータシステムに関し、より詳細には、多層分散型アプリケーションアーキテクチャ(multi−tier distributed applications architecture)を提供するネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、及びそれを実行するための方法に関する。本発明は、より高性能なネットワーク/システムの動作を容易にし、ユーザに一貫したオフライン/オンライン体験を提供するために、リモートアプリケーションの部分をローカルシステムから実行できるようにする。
【0002】
【従来の技術】
インターネットおよび他のネットワーク技術の爆発的な発展は、20世紀後半以降の技術革新を加速した。これらの新しくて刺激的な技術により、新興企業も従来企業も成長してきたが、周囲の状況から、長い間に発展し、かつ既存のサービスを提供し続ける既存のシステムおよびネットワークアーキテクチャをある程度受け入れざるを得なかった。たとえば、インターネットシステム間に共通のテーマとして、大規模なデータベースに密結合された非常に強力なサーバを提供することが挙げられる。このサーバは、サーバ提供アプリケーションによってワールドワイドウェブをサーフするリモートユーザからの数千もの要求を処理することができる。このモデルは、引き続きインターネットのトラフィックを処理することはできるが、現在のシステムでは、性能上および論理上の問題が依然として未解決のままである。
【0003】
【発明が解決しようとする課題】
サーバ提供アプリケーションモデルに関連する一つの問題は、ローカルクライアント資源を利用することに関係している。たとえば、ネットワークサーバは、複数の多種多様なリモートサービス要求に応答するために複数の重複した計算を実行しなければならないので、ボトルネックとなりがちである。マイクロプロセッサとクロックのスピードが高速化してパーソナルコンピュータ(PC)の性能は向上したものの、サーバでボトルネックが生じたことによって、リモート処理が完了するまでPCを待機させることがしばしばあり、ネットワーク全体の性能は、PCの性能の向上に追い付けなくなってきている。したがって、現在のPC技術の向上は、現在のモデルによって完全には作用しておらず、また利用されていない。
【0004】
サーバ提供アプリケーションモデルに関係するもう一つの問題は、一般にネットワークの性能に関連するものである。ウェブページへのアクセスとその操作は、たとえば、一般的に、リモートのクライアントとサーバの間で膨大な量のデータを頻繁に交換することを必要とする。ユーザ数の増加に伴い、インターネット上のデータ処理件数は増加し、その結果、全体の通信性能は低下する。したがって、クライアントがネットワークとの対話性を引き続き享受しながらも、それに伴うネットワークからの要求と待ち時間を削減することができる、より強力で柔軟なシステムアーキテクチャが求められている。
【0005】
既存アーキテクチャに関連するさらにもう一つの問題は、ネットワークベースのシステムのオフライン性能に関係する。多くのウェブページは、たとえば、ユーザに、所与のサイトが提供するデータを監視し利用するための対話型の活気ある体験(vibrant experience)を提供する。ユーザが現在のサイトにオンラインで留まる限り、その対話型の体験は続く。しかし残念ながら、それらのサイトからデータファイルをダウンロードできたとしても、そのウェブページを操作するサーバアプリケーションから切断されると、対話型で、しばしば有用なデータの表示/操作は失われる。ユーザが後刻オフラインでそのデータを監視するとき、関連するサーバとオンラインであるかのようにそのデータを閲覧し、操作することができることは非常に適切で有用である。したがって、現在オンラインで得られる機能と同様のオフラインサービス機能を提供するシステムおよび/または方法が求められているが、これは未解決である。
【0006】
【課題を解決するための手段】
本発明は、アプリケーションを複数のシステム間で共用し、利用することができる多層アプリケーションアーキテクチャに関する。多層アーキテクチャにより、ローカルシステム資源は、従来、中央に位置するアプリケーションサーバシステムで提供されていたアプリケーションをサービスすることができるようになる。したがって、中央設置場所からサービスが提供され、すなわち伝達されるのとは対照的に、クライアントのパーソナルコンピュータシステムが、ネットワークアプリケーション(インターネット、イントラネット、無線ネットワーク、遠隔通信(Telecommunications)など)をローカルに提供し、サービスすることができるので、本発明によって、性能とオフライン機能は向上する。サーバシステムからクライアントシステムに性能の機能をシフトすることによって、ネットワーク性能を向上させ、リモートからのサービス要求に関わる待ち時間を緩和することができる。さらに、オフライン機能を向上させることもできる。
【0007】
より詳細には、本発明は、リモートデータシステムに関連する対話型処理をローカルに実行することができる多層アーキテクチャを提供する。このアーキテクチャは、プレゼンテーション層(presentation tier)、モバイル層(mobile tier)(たとえば、非保護層(unguardedtier))、保護層(guarded tier)、およびデータ層(data tier)を含むことができる。プレゼンテーション層は、たとえば、リモートユーザデータ要求を生成するためのブラウザを含むことができる。この場合、ブラウザは、たとえば、クライアントのマシンに常駐するモバイル層にローカル要求を生成することができる。次いで、モバイル層に関連付けられたローカルアプリケーション論理は、データ層へのアクセス権を有するリモートサーバに関連付けられた保護層にリモートサービス要求を送信することができる。保護層は、リモート要求を受信すると、ウェブページおよび/または他のネットワークアプリケーションに関連付けられたリモートデータと対話し、それを操作するために、データ層からモバイル層に、関連するデータと共にアプリケーション論理の部分をダウンロードすることができる。前述のアプリケーション部分は、別法として、たとえばCD ROMからクライアントの端末にロードすることもできることに留意されたい。アプリケーションをモバイル層にインストールすることによって、クライアントシステムは、リモートデータとローカルに対話することができ、したがって、ローカルコンピュータ資源(local computing resources)に作用し、さらにサーバシステムへのネットワークアクセスを緩和することができるようになる。さらに、クライアント資源がより完全に利用され、セキュリティが向上し、インストール費が削減され、従来型サーバモデルに関連するラウンドトリップの待ち時間が向上する統一アプリケーションモデルが提供される。以下で詳述するように、ローカルシステムアクセスをローカル資源に、またリモートアクセスをリモート位置に、ユーザに透過的に向けることができる要求処理システムを提供することによって、ローカルアクセスを容易にすることができる。アプリケーションのローカルでの実行を可能にすることによって、ユーザは、オンライン体験と同様の方法で、ネットワークデータオフラインで対話できるようになる。したがって、本発明は、オフラインユーザ体験を向上させるものである。
【0008】
本発明の一態様は、ネットワークベースのアプリケーションに関係し、該アプリケーションは、アプリケーション論理とプレゼンテーション論理を含み、少なくともその一部は、変更を加えられることなく、サーバまたはクライアントによって区別なく(interchangeably)交互に処理される。
【0009】
本発明の別の態様は、ネットワークベースのアプリケーションを処理するためのアーキテクチャに関係する。該アーキテクチャは、クライアントに、ウェブベースのアプリケーションと対話するためのプレゼンテーション層を含む。モバイル層は、プレゼンテーション層と操作可能に結合され、クライアント側またはサーバで、ネットワークベースのアプリケーションの少なくとも一部を実行することを提供する。保護層は、モバイル層とプレゼンテーション層の少なくとも一つと操作可能に結合され、サーバで、ウェブベースのアプリケーションの残りの部分を実行することを提供する。
【0010】
本発明の別の態様は、ネットワークベースのアプリケーションを実行する方法に関係し、クライアントコンピュータ上でネットワークベースのアプリケーションの少なくとも一部を実行することを備え、ウェブベースのアプリケーションは、アプリケーション論理とプレゼンテーション論理とからなり、少なくともその一部が、変更を加えられることなく、サーバまたはクライアントによって区別なく処理される。
【0011】
以下の記述および添付の図面で、本発明のいくつかの例示的態様を詳述する。ただし、これらの態様は、本発明の原理を実施することができる様々な方法のいくつかしか示していないが、本発明は、そのような態様のすべてとそれらに相当する態様を含むことを意図する。以下の本発明の記述を図面と共に検討することによって、本発明の他の利点と新規な特徴が明らかになろう。
【0012】
【発明の実施の形態】
次に、本発明を、図面を参照しながら説明する。同様の要素は、一貫して同様の参照番号によって示す。
【0013】
本発明は、ネットワークサーバアプリケーションをマシンにローカルにインストールすることを必要とせずに、クライアントマシン上で(たとえば、ブラウザ内で)ネットワークサーバアプリケーションを実行するシステムおよび方法に関する。したがって、アプリケーションを、自動的にダウンロードし、インストールすることができ、その結果、安全な環境におけるゼロコストのインストールと実行が容易になる。本発明は、ネットワークサーバに書き込まれたネットワークアプリケーションと類似および/または同一に見えるネットワークアプリケーションを使用可能にする。さらに、それらのアプリケーションは、一般にホストのネットワークサーバに関連付けられるハードウェアを必要とせずに、オフラインで実行することができる。
【0014】
まず図1を参照すると、例示的システム10aは、本発明による多層分散型アプリケーションアーキテクチャの例示的一態様を示す。ローカルシステム20は、ローカルシステム要求と、ローカルデータ処理(たとえば、ウェブページ、無線データ)操作を処理するために提供されている。ブラウザ(図示せず)(たとえば、Internet Explorer、Netscape、HTML3.2、WML、JAVA(登録商標))を含むことができるプレゼンテーション層24は、ユーザがローカルシステム20上のローカル(たとえば、ウェブ)情報にアクセスするためのインタフェースを提供する。ユーザがプレゼンテーション層24にアクセスすると、ローカルデータ要求28(たとえば、HTTP)がモバイル層32に送信される。モバイル層32は、ローカルアプリケーション論理(図示せず)を提供する。これは、ローカル要求28を、ローカルシステム20で処理するために変換し、送信するため、かつ/またはリモート要求36(たとえば、HTTP)をリモートシステム40に送信するためのローカルアプリケーション論理(図示せず)である。モバイル層32は、一般に、たとえばリモートシステム40とローカルシステム20の間に高度の信頼性を確立することができるシステムの場合を除いて、「保護されない(unguarded)論理」とみなされることに留意されたい。リモートシステム40は、ローカルアプリケーション論理をモバイル層32に提供し、かつ/またはデータ層48に関連する情報(たとえば、ウェブページ、リモートアプリケーションデータ)に関係するデータへのインタフェースを提供するための保護層44を含むことができる。アプリケーション論理と、データ層に関連付けられたデータとを保護層44からダウンロードできるようにすることによって、ローカルシステム20の資源が利用できるようになり、その結果、情報アクセスが容易になり、データ層48によって供給される情報をローカルシステム20からオフラインで操作し、利用することができるようになる。モバイル層32のアプリケーション論理は、別法として、ローカルシステム20上で、たとえばCDおよび/またはフロッピーディスク(登録商標)からロードすることによってローカルに提供することもできることに留意されたい。
【0015】
ローカルデータにアクセスし、それを操作するために、ローカル要求28が生成されると、モバイル層32は、そのローカル要求28を処理するためのアプリケーション論理がローカルシステム20に常駐するかどうかを判定する。アプリケーション論理が常駐しない場合、モバイル層32は、そのアプリケーション論理をリモートシステム40から送信させるために、保護層へのリモート要求36によってダウンロード要求を開始することができる。モバイル層32は、この論理を受信する際、ローカルデータ要求28を処理するためのデータをデータ層48から受信することもできる。モバイル層32がローカル要求28を処理するように構成された後、ユーザは、たとえば、リモートシステム40で提供されているかのように、その情報にアクセスすることができる。ただし、ローカルシステム20の資源は、要求を処理するために利用することができる。このようにして、性能の向上および情報(たとえば、ウェブページ)のオフライン操作の向上を達成することができる。ローカル要求28が操作のためのさらなるデータを必要とする場合、追加のリモート要求36を、保護層44に対して開始することができ、かつ/または、後刻、ユーザがオフライン作業の後、オンライン接続を再確立したときにこれを開始することができる。
【0016】
保護層44は、アプリケーション論理と前述のデータを、リモート要求54(たとえば、XMLファイル、無線マーク付け言語(WML:Wireless Markup Language))ファイル)によって供給することができることに留意されたい。モバイル層32論理は、保護層44か、モバイル層32のどちらかに常駐できることもさらに留意されたい。たとえば、保護層44は、本発明によるモバイル層32のダウンロード要求に応答するためのインタフェース(図示せず)の部分を含むことができ、また、プレゼンテーション層24からの要求を直接に処理するための論理を含むことができる。図2を簡単に参照すると、本発明に従って構成された保護層がリモートシステム40によって提供されていない場合、リモートシステムに直接にアクセスするために、プレゼンテーション層24によってバイパス要求56を開始することができる。
【0017】
再度図1を参照すると、ローカルシステム20の構成が完了した後で(たとえば、ダウンロードおよび/またはCDインストール)、本発明によるオフラインシステムを使用することができる。たとえば、アプリケーションは、インターネットのショッピングサイトからダウンロードすることができる。アプリケーションは、上記のデータ層48からオフラインで表示するために、そのデータカタログの一部をXML形式で提供することができる。インターネットのショッピングサイトは、そのエントリページで、たとえば、ユーザは、オフライン中であっても、リンクをクリックすることによって、その在庫を閲覧し、注文することができることを宣伝することができる。この場合、ショッピングアプリケーションとXMLデータカタログをダウンロードし、自動的にローカルにインストールすることができる。顧客は、一週間を通して、カタログをローカルに閲覧し、必要なものを思いついた時はいつでもショッピングカートにアイテムを追加する。注文が提出されると、キューに入れられたトランザクションを、アプリケーションのストレージ(図示せず)に保持されたXMLストアで生成することができる。ユーザは、次にオンラインになった際、ショッピングアプリケーションに移動することができ、このアプリケーションは、ユーザに、提出すべき注文があることを通知する。ユーザは、次いで、その注文の提出を許可することができ、それは次いで、処理される。ユーザは、いかなる料金の変更(セール、または増額)の通知も受信することができ、次いで注文を許可または拒絶することができ、その推定配達時は返送されることができる。
【0018】
前記でインターネットのアプリケーションの例について記述したが、本発明は、実質的に本発明に従って構成されたいかなるローカルシステムおよびリモートシステムにも適用できることを理解されたい。たとえば、無線電話、パーソナルデジタルアシスタント(PDA)、または他のハンドヘルド装置を、リモートサーバの記憶場所から本発明によるモバイル層論理をロードするように構成することができる。たとえば、無線電話のユーザは、リモートシステムからアプリケーション論理と、電話帳に関するデータをダウンロードすることができる。たとえば、ユーザは、後刻、リモートシステムに直接無線接続を介してまだ接続しているかのように電話帳にアクセスし、それを操作することができる。リモートシステムに追加データが要求された場合、モバイル層論理は、ユーザが次にリモートシステムにアクセスしたときに追加データを要求するか、または要求に基づいてリモートシステムに無線接続を開始することができる。複数の他のローカル/リモートシステムも、同様に構成することができることをさらに理解されたい。
【0019】
以下で詳述するように、ローカルシステム20内のローカルファイルを望まないアクセスから保護するために、モバイル層32はセキュリティシステムを含むことができる。リモートシステム40は、保護層44とデータ層48の密結合された関係を含むことができ、データ層にアクセスするための保護層論理は、データ層48に高度に依存することができることにも留意されたい。それとは対照的に、本発明はローカルシステム20とリモートシステム40の疎結合された関係を提供する。その際、データには、ローカルシステム要求の命令によってたまにアクセスすることができ、したがって、システム間において最大の柔軟性と性能が容易になる。プレゼンテーション層24とモバイル層32の間で密結合および/または疎結合の構成を確立することができることにさらに留意されたい。
【0020】
次に図3を参照すると、システム10bは、本発明の例示的態様によるローカルシステム20のアーキテクチャを例示する。システム10bは、インターネットの例に関連して記述されているが、本発明は、実質的に前述のいかなるローカル/リモートデータアクセスシステムにも適用することができることを理解されたい。たとえば、ローカルシステム20は、ウェブページ68および/または他のデータ形式にアクセスするためにローカルアプリケーション論理64と通信するためのユーザインタフェースを提供するブラウザ60を含むことができる。ウェブページ68は、たとえば、ウェブページを操作するためのHTMLのヘッダとスクリプトを含むことができる。ローカル要求28を処理するために、ハンドラ72(たとえば、HTTP)も提供することができる。以下で詳述するように、ローカルアプリケーション論理64をローディングする際に、ローカルシステムにローカル要求をマップすることができる。たとえば、リモートインターネット要求は、http:www.example.comと表示することができ、本発明は、論理64をローディングする際に、ローカルウェブページアクセス用に、リモート要求をMyCompany:www.example.comにマップすることができる。したがって、ローカルシステム20で、ウェブページおよび/または他の要求を処理するためのシームレスで透過的なシステムがユーザに提供される。
【0021】
次に図4を参照すると、システム10cは、本発明の一態様による要求処理システムを例示する。システム10cは、ブラウザ60と共に、またはブラウザ60内で実行されるように構成することができる。システム10cは、後述するプロトコル方式用のハンドラとして登録することができる、非同期プラガブルプロトコルハンドラ(APP)(asynchronous pluggable protocol handler)80を使用する。ブラウザ60によってそのプロトコル方式を使用して要求が生成されると、URLモニタ84は、ハンドラ(APP)80を活動化する。APP 80は、システム10cに書き込まれたワーカ要求(worker request)88にその要求を渡し、それは、ローカルHTTP要求96を処理するように構成されたローカルハンドラ92(このメカニズムを介して、静的ファイルも送信される)にURI(Universal Resource Identifier)をマップする。APP 80は、ローカルレジストリ(図示せず)からの情報に基づく所与のアプリケーションのために、ブラウザ60に適切なセキュリティゾーンを提供する。
【0022】
次に、前述のプロトコル方式を詳述する。システム10cは、動的な内容と静的な内容を含めてすべてのURIを識別するためのプロトコル方式を使用することができる。たとえば、ウェブサイトアプリケーションは、すべてローカルハンドラ92に分解される下記のURIを提示することができ(マッピングメカニズムについては以下で詳述する)、examplewebは、ローカル資源への例示的マッピングを提供する。
【0023】
exampleweb://www.microsoft.com/money/default.aspx
exampleweb://www.microsoft.com/money/images/logo.jpg
exampleweb://www.microsoft.com/money/accounts.aspx
exampleweb://www.microsoft.com/money/static/about.htm
【0024】
システム10cは、インストールされたアプリケーションのローカルマッピングと、それらのURIネーム空間をローカル記憶位置に維持することができる。これにより、ユーザは、たとえばそのリモートURIを使用して、リモートアプリケーションを参照することができる。さらに、これにより、URIを、ある方式で他のインストレーションにエクスポートできるようにすることができ、また、本発明で動作するように構成された要求駆動型インストレーションを可能にすることができる。さらに、ローカルにインストールできるブラウザアプリケーションが、リモートで発信することができ、したがって、ローカルマシンではなくリモートサイトに適した信頼性を持ってそれらを実行すべきであることを、ブラウザアプリケーションに警告することができる。
【0025】
たとえば、ユーザが、URI exampleweb://www.microsoft.com/moneyを使用してマイクロソフトマネーの将来バージョンをインストールすると想定する。URIを呼び出す第1の試行により、システム10cは、名前付けパタンを使用して、サイトから名簿(manifest)(下記参照のこと)を取り出すことができる(たとえば、http://www.microsoft.com/money/exampleweb.osd)。ユーザが、アプリケーションをインストールすることを選択すると、データを、ローカルにコピーし、インストールすることができる。後刻、ユーザがそのアプリケーションURI(exampleweb://www.microsoft.com/money)に戻ると、システム10cは、そのアプリケーションのローカルにインストールされたバージョンを呼び出すことができる。ただし、アプリケーションがローカルにあるとき、ブラウザが、たとえばブラウザでフレーム横断アタック(cross frame attack)を行ってローカル資源にアクセスしないように、そのアプリケーションがリモートアプリケーションであることをブラウザ60に警告する必要がある。このメカニズムにより、ユーザは、自分が何を実行しているか、そのファイルはどこから発信されたかを知ることもできる。
【0026】
名前を分解するとき、システム10cは、たとえば、最も長い一致を探すことを、ローカルマッピングのリスト全体にわたって繰り返すことができる。最も長い一致を選択した後、システムはその一致をインストールしたアプリケーションのアプリケーションドメインに分解し、適切なハンドラ92を呼び出すことができる。シャドーイング(shadowing)の場合、ユーザは所与のポイントからアプリケーションをインストールし、後刻、同じ階層のさらに深いポイントからアプリケーションをインストールすることを希望する(たとえば、exampleweb://www.microsoft.com/money/addons/loan−calculator)。その際、そのURIに登録されたハンドラ92がまったくないので、要求−インストレーションは依然として可能な状態であることができる。
【0027】
以下の例は、URIマッピングがどのようにシステム10cで動作することができるかを例示する。ユーザは、次のようにインストールした2つのアプリケーションを有することができる。
【0028】
【表1】
Figure 0004950389
【0029】
それらのアプリケーションは、それぞれそのルートがウェブページ、bin ディレクトリのCOM+アセンブリ、静的内容、およびデータから構成される階層を有することができる。これらのアプリケーションは、次の例示的構成を有することができるこの例を除いて、任意の構成を有することができる。
【0030】
approot
bin\ # Business logic(various assemblies)
img\ # images
data\ # XML stores
default.aspx
config.cfg
【0031】
次の表に、様々な例示的アプリケーションURIと、その対応する物理ファイルを示す。アプリケーションのURIネーム空間の部分への要求を所与のハンドラ92に関連させることによって、仮想URIを維持できることも理解されたい。
【0032】
【表2】
Figure 0004950389
【0033】
アプリケーションをインストールするには、少なくとも、標準インストレーションプラットフォーム(standard installation platform)を使用してアプリケーションをインストールする方法と、リモートURIが前述のプロトコル方式を使用して要求される要求駆動型インストレーション(demand−driven installation)の2つの方法がある。インストールしたアプリケーションは、URIをそれがインストールされた記憶位置にマップするローカルレジストリ(図示せず)で維持することができる。レジストリは、また、インストレーションの時刻および使用情報を含めてインストレーション情報も維持することができる。アプリケーションに関する情報は、たとえば、HKEY_CURRENT_USER\\SOFTWARE\Microsoft\XSP\Examplewebの下でシステムレジストリにストアすることができる。各アプリケーションには、そのオリジンホストとアプリケーション経路によって指定されたキーがある(たとえば、www.foo.com/myapp)。インストールしたアプリケーションには、次のレジストリ値を含めることができる。
【0034】
【表3】
Figure 0004950389
【0035】
明示的および/または要求駆動型シナリオのためのインストレーションは、任意の従属関係と共に名簿(下で述べる)に指定されるキャビネット(CAB)ファイルまたは明示的ファイルを取り出すことから構成することができる。ファイルが取り出されると、ファイルは、ファイルシステム(CABファイルは、そのディレクトリ階層を維持したままエクスプロードすることができる)のディレクトリに入れることができる。レジストリにエントリを追加することができ、したがって、アプリケーションのURIを物理記憶位置にマッピングすることができる。物理記憶位置は、一意の識別子(図示しないGUIDなど)によって判定することができる。名前を容易に演算されないためには、これが望ましい。
【0036】
アプリケーションは、次の名前付けの規定を使用してファイルシステムに入れることができる。基底アプリケーションディレクトリ(たとえば、c:\プログラムファイル)から開始して、サーバ名、次いでアプリケーション名、さらに一意に生成された識別子を添える。たとえば、http://www.foo.com./bar/bazから発信されたアプリケーションは、次の題名のディレクトリに常駐することができる。
【0037】
【表4】
Figure 0004950389
【0038】
名前のランダムな部分は予測不能であり、アプリケーションのインストールの前にシステム10cによって生成される。アプリケーションは、ページ、メッセージング/ウェブ、方法ファイル、ハンドラ、および構成データを含めて任意の適切なウェブページハンドラからなることができる。構成データは、アプリケーションの適用範囲に対するハンドラを活動化することができ、そのアプリケーション用の設定を提供することができる。
【0039】
ユーザが、ローカルにインストールされていないURIに移動しようとするとき、リンクをクリックすることによって、またはブラウザ60にURIをタイプインすることによって、システム10cは、後述するアプリケーションの名簿を探し出す試行を行うことができる。提示されたURIが、拡張子によって判定されたアプリケーションの名簿を識別する場合、システムはそれを取り出し、その名簿ファイルを解析する。この場合、ユーザに、システム10cがアプリケーションをローカルにインストールすることを試行中であることを示すユーザインタフェースUI(図示せず)を提示することができる。たとえば、UIは、必要なディスク空間(提示される場合は、<DISKSPADE>OSDエレメントと、任意の従属CABファイルを格納するために必要なサイズの和に基づいて)を示し、ユーザが要求すれば、省略時ディスク割当てを指定変更し、アプリケーションに含まれるファイル名を閲覧することを可能にする。インストレーションUIは、基本の構成データの省略時ビューと、個別ファイルを表示し、ユーザにアプリケーション実行許可の制御を可能にする拡張型ビュー(たとえば、ファイルI/O許可および/または標準的COM相互運用性)を提供することができる。
【0040】
所望ならば構成を提供することはできるが、インストレーションは、当初、構成を要求できないことに留意されたい。透過的操作を可能にするために、ユーザは、省略時値を使用して、クリックしてインストレーションを確認し、先へ進まなければならない。URIが名簿ファイルディレクトリを参照しなかった場合、システム10cは、標準名簿名とURIのホスト/経路部分を結合することによって名簿の取出しを試みることができる。これが失敗すると、システムは、経路の部分を除去すること、および各レベルに名簿ファイルを置くことから構成されるバックオフアルゴリズムを使用することができる。パッケージされたインストレーション(たとえば、CD ROM、フロッピー(登録商標))に対して、アプリケーションは、適切に登録するためにレジストリAPIを呼び出すことができる。デフォルト値により、それらのアプリケーションには、ローカルトラストを与えることができる。しかし、それらのアプリケーションは、たとえば要求できる許可を要求するために、COM+コードアクセスセキュリティを使用して自己防衛することができる。
【0041】
前述のUIは、期限経過とみなされたアプリケーションを自動更新するか、それとも期限経過とみなされたいかなるアプリケーションの更新も手動で確認することを選択することができるオプションを含めることができる。システムは、アプリケーションの更新を確認するとき、まず名簿ファイルを取り出すことができる。名簿ファイルに異なるバージョンがある場合、ユーザの確認を保留して、様々な従属関係を取り出し、インストールすることができる。インストレーションに加えて、システムは、防護策として、アプリケーション発信元サーバからのダウンロード更新を制限することができる。さらに、分離ストレージ(Isolated Storage)機能は、たとえばインストールしたアプリケーションをデュラブルストレージ(durable storage)でローカルに維持することを可能にするために、COM+によって提供することができる。分離ストレージは、複数のメカニズム管理、満了管理、有効期間管理によって分離をサポートする管理されたファイルシステムを提供する。アプリケーションは、アプリケーションをローカルファイルシステムにアクセスさせる危険にユーザを曝すことなく、分離データストレージを維持するので、これはシステム10c用のCOM+の機能である。
【0042】
システム10cは、前述の名簿(たとえばOSD)を使用して、アプリケーションをインストールすることをサポートする。デフォルト値の名簿名は、たとえばexampleweb.osdにすることができる。OSD名簿は、名簿にソフトウェア資源の様々な表示を定義することを可能にする実施タグをサポートする。たとえば、固有のWin32バージョンと、システム10cバージョンがある場合がある。実施のタイプは、IMPLTYPEエレメントによって示すことができる。たとえば、システムは、「Com+」「Exampleweb」または明示的IMPLTYPEエレメントが欠乏した1つ以下の実施エレメントを有するIMPLTYPEを有するアプリケーションをインストールすることができる。OSDフォーマットは、OSと呼ばれるエレメントをサポートすることができ、その結果、異なるOSに対して異なる実施態様を可能する。システム10cは、いかなるサポートされたプラットフォーム上でもOSを使用せずにこのタグをサポートし、実施を受け入れることができ、またはプラットフォームを制限するOSタグを尊重することを試みることができる。これにより、トランザクションのような、プラットフォーム特有のサポートを要求するアプリケーションが、所望の機能をサポートするそのプラットフォームへのインストレーションを制限することを可能にする。たとえば、トランザクションの意味体系を有するアプリケーションは、次のようなエレメントを使用してWindows(登録商標) 2000を要求する場合がある。
【0043】
【表5】
Figure 0004950389
【0044】
アプリケーションが、トランザクションを要求しないアプリケーションのバージョンも提供する場合、第2の実施態様は、次のエレメントを含むことができる。
【0045】
【表6】
Figure 0004950389
【0046】
例示的名簿には、以下のものが含まれる。
【0047】
【表7】
Figure 0004950389
【0048】
アプリケーションの潜在的消費者に情報を提供するために使用することができるいくつかの他の選択的エレメントがあることが理解されよう。たとえば、OSDは、(アンパック)アプリケーションを含めるためにどれだけのディスクストレージが必要かを詳述するDISKSPACEエレメントを有することができる。
【0049】
以下の属性は、システム10cがサポートするOSD形式への拡張子であってよい。
【0050】
【表8】
Figure 0004950389
【0051】
ダウンロードしたアプリケーションは、ローカルマシン上のポリシーによって認可された、リモートドメインへのコードアクセス許可(図示せず)によって実行することができる。ローカルアプリケーションがインストールされるとき、インストレーション時にアプリケーションに提供されたURIに基づいて、許可を与えられることができる。この際、インストレーションは、ユーザの希望に応じて、ローカルおよび/またはリモートであってよい。システム10cは、アプリケーションディレクトリ階層からロードされたいかなるコードも、そのアプリケーションの元のドメインに関連付けられていることを示すために、ポリシーをアプリケーションドメインに追加することができる。たとえば、アプリケーションが、www.foo.com./myappからダウンロードされ、インストールされるとする。システム10cがアプリケーションからコードをロードするとき、システム10cは、セキュリティシステムに、そのコードがwww.foo.com/myappからのものであることを示す証拠を提供し、その結果、そのドメインに対する許可を適用することができる。さらに、システム10cは、アプリケーションディレクトリ(および子ディレクトリ)からロードされたコードをリモートURI:www.foo.com/myappに関連付けることができるように、ポリシーを追加することができる。これにより、アプリケーションがその固有のディレクトリからアセンブリをロードすることを可能にすること、およびその結果ドメインのセキュリティを無視することが軽減される。システムは、また、ネットワークの入出力が、元のリモートホスト(前述の例ではwww.foo.com)に対して使用可能になることを示すためにポリシーを追加することもできる。
【0052】
管理UIは、システム10cがインストールされたときにも、実施することができる。たとえば、ブラウザ60のツールバーにツールバーボタンを追加することができる。このボタンがクリックされると、たとえば管理UIを呼び出すことができるexampleweb://Homeに移動することができる。exampleweb://またはexampleweb://Homeにユーザが移動すると、管理UIを実行することもできる。管理UIは、以下の例示的なページを含むことができる。
【0053】
ホームページ:インストールしたアプリケーションを列挙することができ、容易にそれらを除去する方法を提供するページである。さらに、ローカルソースまたはリモートソースから新しいアプリケーションをインストールするためのリンクを提供することもできる。
【0054】
インストールページ:このページがリモートURIと共に提示される場合、このページは、ユーザに、アプリケーションに関する名簿からの情報を提示し、またそのアプリケーションをインストールすることを可能にすることができる。このページがリモートURIと共に提示されなければ、これに対して指示することができる。
【0055】
ローカルインストールページ:ローカルディレクトリ、およびアプリケーションに関して使用するローカルURIを指定し、ユーザがローカルアプリケーションをインストールすることを可能にするページである。
【0056】
削除確認ページ:ページを削除する前にユーザに確認のためにプロンプト表示するページである。確認が得られると、アプリケーションを除去する。
【0057】
更新ページ:ユーザに、アプリケーションの新しいバージョンが入手できることを通知し、それを取り出すか否かを尋ねるページである。承認が得られると、新しいバージョンがダウンロードされ、インストールされる。アプリケーションがページを更新すると、このページは、成功裏の更新後にそこに指定変更しなければならない。
【0058】
次に図5に、本発明による方法を示す流れ図を示す。ステップ150で、ユーザはデータ要求を開始する。ステップ154では、ステップ150の要求で、アプリケーションが動作するためにローカルシステム上にロードされたか否かの判定が行われる。アプリケーションがすでにロード済みの場合、方法はステップ160に進み、前述の通りに要求をローカルシステムにマップする。要求がマップされた後、ステップ164で、ユーザは、ローカルシステムでそのデータ(たとえば、ウェブページ)と対話することができる。要求されたサービスを提供するアプリケーションがステップ154でロードしなかった場合、プロセスはステップ168に進む。ステップ168で、データ要求をサーブするためのアプリケーションがローカルシステムにロードされる。前述の通り、アプリケーションは、リモートシステムからダウンロードされ、かつ/またはローカルにCDおよび/または他の記憶媒体からロードすることができる。ステップ168で、アプリケーションがロードされた後、プロセスはステップ160に進み、ローカルシステムへの要求のマッピングを開始する。
【0059】
本発明の様々な態様の背景を提供するために、図6と以下の記述は、本発明の様々な態様を実施することができる適切なコンピュータ環境に関する概略的で一般的な説明を提供することを意図している。1つまたは複数のコンピュータで実行されるコンピュータプログラムのコンピュータで実行可能な命令に関して一般的に上記で説明したが、本発明は、他のプログラムモジュールと組み合せて実施することもできることを、当業者なら理解するだろう。一般に、プログラムモジュールには、特定タスクを実行し、かつ/または特定の抽象データ型を実施するルーチン、プログラム、構成要素、データ構造などが含まれる。さらに、本発明の方法は、シングルプロセッサのコンピュータシステムまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピュータデバイス(hand−held computing device)、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品などを含めて、他のコンピュータシステム構成によって実施することができることを当業者なら理解するだろう。本発明の例示の態様は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型コンピュータ環境でも実施することができる。しかし、本発明のすべてではないにしてもいくつかは、スタンドアロン型コンピュータで実施することができる。分散型のコンピュータ環境では、プログラムモジュールは、ローカルなメモリストレージデバイスにも、リモートのメモリストレージデバイスにも置くことができる。
【0060】
図6を参照すると、本発明の様々な態様を実施するための例示的システムは、処理ユニット221、システムメモリ222、およびシステムメモリを含む様々なシステム構成要素を処理ユニット221に結合するシステムバス223を含めて、従来型コンピュータ220を含む。処理ユニットは、Intel x86と、Pentium(登録商標)と、IntelおよびCyrix、AMD、Nexgenを含む他社の互換性のあるマイクロプロセッサ、すなわちDigitalのAlpha、MIPS Technology、NEC、IDT、Siemensおよび他社のMIPS、およびIBMとMotorolaのPower PCを含むがこれらには限定されず、様々な市販のプロセッサのどれであってもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理ユニット221として使用することができる。
【0061】
システムバスは、メモリバスまたはメモリコントローラと、周辺バスと、いくつか指定するならばPCI、VESA、Microchannel、ISA、およびEISAなどの様々な従来型バスアーキテクチャのどれかを使用するローカルバスとを含めて、いくつかのタイプのバス構成であってよい。システムメモリは、リードオンリーメモリ(ROM)224とランダムアクセスメモリ(RAM)225とを含む。基本入出力システム(BIOS)は、ROM224に格納されており、スタートアップ中などにサーバコンピュータ220内のエレメント間で情報を転送する助けとなる基本ルーチンを含む。
【0062】
コンピュータ220は、ハードディスクドライブ227と、たとえばリムーバブルディスク229から読み込み、リムーバブルディスク229に書き込む磁気ディスクドライブ228と、たとえばCD−ROMディスク231読込み用の、または他の光媒体から読み込み、他の光媒体に書き込むための光ディスクドライブ230とをさらに含む。ハードディスクドライブ227、磁気ディスクドライブ228、および光ディスクドライブ230は、ハードディスクドライブインタフェース232、磁気ディスクドライブインタフェース233、および光ディスクドライブインタフェース234をそれぞれ介してシステムバス223に接続される。ドライブおよびドライブに関連するコンピュータ可読媒体は、サーバコンピュータ220にデータ、データ構造、コンピュータ実行可能命令などの不揮発性記憶装置を提供する。前述のコンピュータ可読媒体の記述ではハードディスク、リムーバブル磁気ディスク、およびCDに言及したが、本発明の方法を実施するためには、コンピュータによって読むことのできる他のタイプの媒体、たとえば磁気カセット、フラッシュメモリカード、デジタルビデオディスク、Bernoulliカートリッジなども例示的動作環境において使用することができ、さらにそのようないかなる媒体もコンピュータで実行可能な命令を含むことができることを当業者なら理解するだろう。
【0063】
オペレーティングシステム235、1つまたは複数のアプリケーションプログラム236、他のプログラムモジュール237、およびプログラムデータ238を含めて、いくつかのプログラムモジュールを、ドライブとRAM225に格納することができる。例示のコンピュータの中のオペレーティングシステム235は、Microsoftのオペレーティングシステム(たとえば、Windows(登録商標)NTオペレーティングシステム)であってよい。たとえばUNIX(登録商標)など、他のオペレーティングシステムを使用することができることを理解されたい。
【0064】
ユーザは、キーボード240と、マウス242などのポインティングデバイスを介してサーバコンピュータ220にコマンドと情報を入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれる。これらの入力デバイスや他の入力デバイスは、システムバスに結合するシリアルポートインタフェース246を介して処理ユニット221にしばしば接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など他のインタフェースによって接続することもできる。モニタ247または他のタイプの表示装置も、ビデオアダプタ248などのインタフェースを介してシステムバス223に接続することができる。コンピュータには、典型的には、モニタに加え、スピーカやプリンタなど他の周辺出力デバイス(図示せず)が含まれる。
【0065】
コンピュータ220は、リモートクライアントコンピュータ249など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ249は、図6にはメモリストレージデバイス250しか示さないが、ワークステーション、サーバコンピュータ、ルータ、ピアデバイス、または他の共通ネットワークノードであってよく、典型的には、サーバコンピュータ220に関して記述した多くのまたはすべてのエレメントを含む。図6に示す論理接続には、ローカルエリアネットワーク(LAN)251とワイドエリアネットワーク(WAN)252が含まれる。このようなネットワーキング環境は、オフィス、企業の広域コンピュータネットワーク、イントラネットおよびインターネットでは常識である。
【0066】
LANネットワーキング環境で使用されるとき、サーバコンピュータ220は、ネットワークインタフェースまたはアダプタ253を介してローカルネットワーク251に接続することができる。WANネットワーキング環境で使用されるとき、サーバコンピュータ220は、一般に、モデム254を含むことができ、かつ/またはLAN上の通信サーバに接続され、かつ/またはインターネットなどの広域エリアネットワーク252を介した通信を確立する他の手段を有する。内部でも外部でもあってよいモデム254は、シリアルポートインタフェース246を介してシステムバス223に接続することができる。ネットワークされた環境で、コンピュータ220に関係して示したプログラムモジュールまたはその部分は、リモートメモリデバイスに格納することができる。示したネットワーク接続は、例示的なものであって、コンピュータ間に通信リンクを確立する他の手段も使用することができることが理解されよう。
【0067】
コンピュータプログラミングの当業者の慣行に従い、本発明は、特に指摘しない限り、コンピュータ220などのコンピュータによって実施される活動(act)と動作のシンボリックな表示とを参照して記述した。このような活動や動作は、時々、コンピュータ実行(computer−executed)と呼ばれる。活動やシンボリックに表示された動作は、処理ユニット221による、電気的信号表示の変形または減少の原因となる、データビットを表す電気的信号の操作と、コンピュータシステムの動作を再構成するか、それとも変更する、メモリシステム(システムメモリ222、ハードドライブ227、フロッピーディスク(登録商標)229およびCD−ROM231を含む)のメモリ記憶位置におけるデータビットの維持と、他の信号の処理とを含むことが理解されよう。このようなデータビットが維持されるメモリ記憶位置は、データビットに対応する特定の電気特性、磁気特性、光学特性を有する物理記憶位置である。
【0068】
前述では、本発明の好ましい態様を説明した。当然、本発明を説明するための構成要素または方法の考えうる限りのすべての組合せを記述することは不可能であるが、本発明の多くのさらなる組合せおよび順列を、当業者ならば理解するだろう。したがって、本発明は、頭書の特許請求項の趣旨および範囲から逸脱することなく、すべてのこのような代替形態、修正形態、および変形形態を抱合することを意図するものである。
【0069】
【発明の効果】
以上説明したように、多層アーキテクチャにより、ローカルシステム資源は、従来、中央に位置するアプリケーションサーバシステムで提供されていたアプリケーションをサービスすることができるようになる。したがって、本発明によれば、中央設置場所からサービスが提供され、すなわち伝達されるのとは対照的に、クライアントのパーソナルコンピュータシステムが、ネットワークアプリケーションをローカルに提供し、サービスすることができるので、性能とオフライン機能が向上する。
【0070】
また、サーバシステムからクライアントシステムに性能の機能をシフトすることによって、ネットワーク性能を向上させ、リモートからのサービス要求に関わる待ち時間を緩和することができ、さらにオフライン機能も向上させることができる。
【図面の簡単な説明】
【図1】本発明の一態様による多層アーキテクチャを示す概略的ブロック図である。
【図2】本発明の別の態様による多層アーキテクチャを示す概略的ブロック図である。
【図3】本発明の一態様によるローカルアプリケーション環境を示す概略的ブロック図である。
【図4】本発明の一態様による要求処理システムを示す概略的ブロック図である。
【図5】本発明の一態様による多層アーキテクチャを提供する方法を示す流れ図である。
【図6】本発明の一態様によるシステムを示す概略的ブロック図である。
【符号の説明】
10a システム
20 ローカルシステム
40 リモートシステム
60 ブラウザ
92 ローカルハンドラ

Claims (14)

  1. ネットワークベースのアプリケーションを処理するコンピュータシステムであって、
    プレゼンテーション層、および
    前記プレゼンテーション層と結合されたモバイル層
    の機能を実行するプロセッサを含むローカルシステムと、
    前記モバイル層および前記プレゼンテーション層のうちの少なくとも一方に結合された保護層、および
    前記保護層に結合されたデータ層
    の機能を実行するプロセッサを含むリモートシステムと
    を備え、
    前記プレゼンテーション層はローカルデータを操作するためにローカル要求を生成し、
    前記モバイル層は、前記ローカル要求を処理するためのアプリケーション論理が前記ローカルシステム上に常駐するかどうか判断し、前記アプリケーション論理が存在しない場合に、前記リモートシステムから前記アプリケーション論理を送信させるために前記保護層へのリモート要求によってダウンロード要求を開始し、
    前記モバイル層はアプリケーション論理を受信する際、ローカル要求を処理するためのデータを前記データ層から受信し、
    ダウンロードしたアプリケーション論理は、前記ローカルシステム上のポリシーによって認可された、前記アプリケーション論理の送信元のドメインへのコードアクセス許可によって実行され、前記アプリケーション論理がインストールされるとき、前記アプリケーション論理は、インストール時に前記アプリケーション論理に与えられたURIに基づいて許可を与えられることを特徴とするシステム。
  2. 前記ローカルシステムからのリモートデータ要求に基づいてリモートデータが前記リモートシステムからダウンロードされることを特徴とする請求項1に記載のコンピュータシステム。
  3. 前記リモートデータ要求はHTTP要求であることを特徴とする請求項2に記載のシステム。
  4. 前記リモートデータは、前記アプリケーション論理に向けて送られたローカルデータ要求によって、前記ローカルシステムでローカルに処理されることを特徴とする請求項2に記載のコンピュータシステム。
  5. 前記リモートデータは、XML応答及びWML応答の少なくとも1つによって提供されることを特徴とする請求項2に記載のコンピュータシステム。
  6. 前記リモートデータは、インターネット、イントラネット、及び無線ネットワークの少なくとも1つを介して通信されることを特徴とする請求項2に記載のコンピュータシステム。
  7. ネットワークベースのアプリケーションを処理するためのコンピュータシステムであって、
    ネットワークベースのアプリケーションと対話するためのプレゼンテーション層、
    該プレゼンテーション層と結合されたモバイル層、および
    該モバイル層及びプレゼンテーション層の少なくとも1つと結合された保護層
    の機能を実行するプロセッサを備え、
    前記プレゼンテーション層はローカルデータを操作するためにローカル要求を生成し、
    前記モバイル層は、前記ローカル要求を処理するためのアプリケーション論理が常駐するかどうか判断し、前記アプリケーション論理が存在しない場合に、前記アプリケーション論理を送信させるために前記保護層へのリモート要求によってダウンロード要求を開始し、
    前記モバイル層はアプリケーション論理を受信する際、ローカル要求を処理するためのデータを受信し、
    ダウンロードしたアプリケーション論理は、前記コンピュータシステム上のポリシーによって認可された、前記アプリケーション論理の送信元のドメインへのコードアクセス許可によって実行され、前記アプリケーション論理がインストールされるとき、前記アプリケーション論理は、インストール時に前記アプリケーション論理に与えられたURIに基づいて許可を与えられることを特徴とするコンピュータシステム。
  8. 前記プロセッサは、前記保護層と結合され、前記アプリケーション論理の実行に伴って使用されるデータを含むデータ層の機能をさらに実行することを特徴とする請求項7に記載のコンピュータシステム。
  9. 前記保護層は、前記モバイル層が前記アプリケーション論理を実行することを可能にする論理を含むことを特徴とする請求項7に記載のコンピュータシステム。
  10. 前記モバイル層は、前記データ層によって提供されるデータを操作する前記保護層に関連付けられたアプリケーション論理を実行することを特徴とする請求項8に記載のコンピュータシステム。
  11. 前記モバイル層は、ローカルデータ要求をオフラインで処理し、当該処理されたローカルデータ要求に基づいて、前記データ層に関連付けられたデータの送信または受信の少なくとも1つを行うように前記保護層へのリモート要求を生成することを特徴とする請求項10に記載のコンピュータシステム。
  12. コンピュータを請求項11に記載のコンピュータシステムとして機能させるためのコンピュータ実行可能命令を記憶したことを特徴とするコンピュータ可読記憶媒体。
  13. ネットワークベースのアプリケーションを処理するコンピュータシステムであって、
    プレゼンテーション層、および
    前記プレゼンテーション層と結合されたモバイル層
    の機能を実行するプロセッサを備え、
    前記プレゼンテーション層はローカルデータを操作するためにローカル要求を生成し、
    前記モバイル層は、前記ローカル要求を処理するためのアプリケーション論理が常駐するかどうか判断し、前記アプリケーション論理が存在しない場合に、リモートシステムから前記アプリケーション論理を送信させるために前記リモートシステムへのリモート要求によってダウンロード要求を開始し、
    前記モバイル層はアプリケーション論理を受信する際、ローカル要求を処理するためのデータを前記リモートシステムから受信し、
    ダウンロードしたアプリケーション論理は、前記コンピュータシステム上のポリシーによって認可された、前記アプリケーション論理の送信元のドメインへのコードアクセス許可によって実行され、前記アプリケーション論理がインストールされるとき、前記アプリケーション論理は、インストール時に前記アプリケーション論理に与えられたURIに基づいて許可を与えられることを特徴とするシステム。
  14. ネットワークベースのアプリケーションを処理するためのコンピュータシステムであって、
    ネットワークベースのアプリケーションと対話するためのプレゼンテーション層、および
    該プレゼンテーション層と結合されたモバイル層
    の機能を実行するプロセッサを備え、
    前記プレゼンテーション層はローカルデータを操作するためにローカル要求を生成し、
    前記モバイル層は、前記ローカル要求を処理するためのアプリケーション論理が常駐するかどうか判断し、前記アプリケーション論理が存在しない場合に、前記アプリケーション論理を送信させるためにリモートシステムへのリモート要求によってダウンロード要求を開始し、
    前記モバイル層はアプリケーション論理を受信する際、ローカル要求を処理するためのデータを受信し、
    ダウンロードしたアプリケーション論理は、前記コンピュータシステム上のポリシーによって認可された、前記アプリケーション論理の送信元のドメインへのコードアクセス許可によって実行され、前記アプリケーション論理がインストールされるとき、前記アプリケーション論理は、インストール時に前記アプリケーション論理に与えられたURIに基づいて許可を与えられることを特徴とするコンピュータシステム。
JP2001186593A 2000-06-21 2001-06-20 ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法 Expired - Fee Related JP4950389B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21318800P 2000-06-21 2000-06-21
US60/213188 2000-06-21

Publications (2)

Publication Number Publication Date
JP2002116919A JP2002116919A (ja) 2002-04-19
JP4950389B2 true JP4950389B2 (ja) 2012-06-13

Family

ID=22794065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001186593A Expired - Fee Related JP4950389B2 (ja) 2000-06-21 2001-06-20 ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法

Country Status (1)

Country Link
JP (1) JP4950389B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US6035324A (en) * 1997-08-28 2000-03-07 International Business Machines Corporation Client-side asynchronous form management

Also Published As

Publication number Publication date
JP2002116919A (ja) 2002-04-19

Similar Documents

Publication Publication Date Title
US6996599B1 (en) System and method providing multi-tier applications architecture
US7117504B2 (en) Application program interface that enables communication for a network software platform
JP5389829B2 (ja) リモートリソースのウェブアクセスのためのxmlベースのウェブフィード
US8990262B2 (en) managing data center using web services
US6038603A (en) Processing customized uniform resource locators
US6401099B1 (en) Asynchronous binding of named objects
JP4698756B2 (ja) ウェブベースアプリケーションのオフライン実行
TW591909B (en) Dynamic deployment of services in a computing network
JP3967806B2 (ja) リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構
US20110191771A1 (en) Feature Manager System for Facilitating Communication and Shared Functionality Among Components
US20080320503A1 (en) URL Namespace to Support Multiple-Protocol Processing within Worker Processes
KR100569469B1 (ko) 서버와 클라이언트노드 사이의 접속을 관리하기 위한시스템 및 방법
US8621092B2 (en) Remote portlet consumer with enhanced resource URL processing
JPH11154127A (ja) コンテント提示装置
JPH1091446A (ja) Javaベースアプリケーションの発見とダウンロードのための分散オブジェクトシステムの利用
JP2007534037A (ja) モバイル装置を用いたオフライン・ブラウジング
US7779116B2 (en) Selecting servers based on load-balancing metric instances
JP2002101120A (ja) 通信方法および情報処理装置
US20080275963A1 (en) Dynamically Modifying A Universal Resource Indicator
US7448032B2 (en) Method and apparatus for integration of URL into standard file systems
JP4950389B2 (ja) ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法
US20060074914A1 (en) Dynamic sample data switch
JP2002288130A (ja) 分散処理システム、分散処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080521

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120306

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120309

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4950389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees