JP2002116919A - Application for network base, architecture and system for processing the same and method for executing the same - Google Patents

Application for network base, architecture and system for processing the same and method for executing the same

Info

Publication number
JP2002116919A
JP2002116919A JP2001186593A JP2001186593A JP2002116919A JP 2002116919 A JP2002116919 A JP 2002116919A JP 2001186593 A JP2001186593 A JP 2001186593A JP 2001186593 A JP2001186593 A JP 2001186593A JP 2002116919 A JP2002116919 A JP 2002116919A
Authority
JP
Japan
Prior art keywords
network
application
data
based application
request
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.)
Granted
Application number
JP2001186593A
Other languages
Japanese (ja)
Other versions
JP4950389B2 (en
Inventor
Mark T Anders
ティー.アンダーズ マーク
Gary S Burd
エス.バード ゲイリー
Scott D Guthrie
ディー.ガスリー スコット
Satoshi Nakajima
聡 中島
Erik B Olson
ビー.オルソン エリック
Dimitry Robsman
ロブズマン ディミトリー
John P Shewchuk
ピー.シューチャク ジョン
Michael J Toutongui
ジェイ.トートンク マイケル
Manu Vasandani
バサンダニ マヌ
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/en
Application granted granted Critical
Publication of JP4950389B2 publication Critical patent/JP4950389B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a distributed application system of a network base for locally establishing service in a client system. SOLUTION: This system can be provided with application logic and presentation logic and at least, a part of it is processed without discrimination by a server or a client without being changed. A function to be a core provided by this application can be preserved between the client and the server, the possibility of offline service is improved and network performance is improved as well.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、一般に、コンピュ
ータシステムに関し、より詳細には、多層分散型アプリ
ケーションアーキテクチャ(multi−tier d
istributed applications a
rchitecture)を提供するネットワークベー
スのアプリケーション、それを処理するためのアーキテ
クチャ及びシステム、及びそれを実行するための方法に
関する。本発明は、より高性能なネットワーク/システ
ムの動作を容易にし、ユーザに一貫したオフライン/オ
ンライン体験を提供するために、リモートアプリケーシ
ョンの部分をローカルシステムから実行できるようにす
る。
FIELD OF THE INVENTION The present invention relates generally to computer systems, and more particularly, to multi-tiered application architectures.
attributed applications a
The present invention relates to a network-based application that provides an application, an architecture and a system for processing the application, and a method for executing the application. The present invention facilitates operation of higher performance networks / systems and allows portions of remote applications to be executed from a local system to provide a consistent offline / online experience to the user.

【0002】[0002]

【従来の技術】インターネットおよび他のネットワーク
技術の爆発的な発展は、20世紀後半以降の技術革新を
加速した。これらの新しくて刺激的な技術により、新興
企業も従来企業も成長してきたが、周囲の状況から、長
い間に発展し、かつ既存のサービスを提供し続ける既存
のシステムおよびネットワークアーキテクチャをある程
度受け入れざるを得なかった。たとえば、インターネッ
トシステム間に共通のテーマとして、大規模なデータベ
ースに密結合された非常に強力なサーバを提供すること
が挙げられる。このサーバは、サーバ提供アプリケーシ
ョンによってワールドワイドウェブをサーフするリモー
トユーザからの数千もの要求を処理することができる。
このモデルは、引き続きインターネットのトラフィック
を処理することはできるが、現在のシステムでは、性能
上および論理上の問題が依然として未解決のままであ
る。
BACKGROUND OF THE INVENTION The explosive development of the Internet and other network technologies has accelerated innovation since the late twentieth century. These new and exciting technologies have allowed both start-ups and traditional companies to grow, but the surrounding environment has to some extent accepted existing systems and network architectures that have evolved over time and continue to provide existing services. Did not get. For example, a common theme among Internet systems is to provide very powerful servers that are tightly coupled to large databases. The server can handle thousands of requests from remote users surfing the World Wide Web with server-provided applications.
Although this model can continue to handle Internet traffic, performance and logic issues remain unsolved in current systems.

【0003】[0003]

【発明が解決しようとする課題】サーバ提供アプリケー
ションモデルに関連する一つの問題は、ローカルクライ
アント資源を利用することに関係している。たとえば、
ネットワークサーバは、複数の多種多様なリモートサー
ビス要求に応答するために複数の重複した計算を実行し
なければならないので、ボトルネックとなりがちであ
る。マイクロプロセッサとクロックのスピードが高速化
してパーソナルコンピュータ(PC)の性能は向上した
ものの、サーバでボトルネックが生じたことによって、
リモート処理が完了するまでPCを待機させることがし
ばしばあり、ネットワーク全体の性能は、PCの性能の
向上に追い付けなくなってきている。したがって、現在
のPC技術の向上は、現在のモデルによって完全には作
用しておらず、また利用されていない。
One problem associated with the server-provided application model involves using local client resources. For example,
Network servers tend to be bottlenecks because they have to perform multiple duplicate calculations to respond to multiple and diverse remote service requests. Although the performance of personal computers (PCs) has been improved by increasing the speed of microprocessors and clocks, server bottlenecks have caused
Frequently, the PC is made to wait until the remote processing is completed, and the performance of the entire network cannot keep up with the improvement of the performance of the PC. Therefore, the improvements in current PC technology are not fully working and are not utilized by current models.

【0004】サーバ提供アプリケーションモデルに関係
するもう一つの問題は、一般にネットワークの性能に関
連するものである。ウェブページへのアクセスとその操
作は、たとえば、一般的に、リモートのクライアントと
サーバの間で膨大な量のデータを頻繁に交換することを
必要とする。ユーザ数の増加に伴い、インターネット上
のデータ処理件数は増加し、その結果、全体の通信性能
は低下する。したがって、クライアントがネットワーク
との対話性を引き続き享受しながらも、それに伴うネッ
トワークからの要求と待ち時間を削減することができ
る、より強力で柔軟なシステムアーキテクチャが求めら
れている。
[0004] Another problem associated with the server-provided application model is generally related to network performance. Accessing and manipulating web pages, for example, typically requires frequent exchange of vast amounts of data between remote clients and servers. As the number of users increases, the number of data processes on the Internet increases, and as a result, the overall communication performance decreases. Accordingly, there is a need for a more powerful and flexible system architecture that allows clients to continue to enjoy interactivity with the network while reducing the associated requests and latency from the network.

【0005】既存アーキテクチャに関連するさらにもう
一つの問題は、ネットワークベースのシステムのオフラ
イン性能に関係する。多くのウェブページは、たとえ
ば、ユーザに、所与のサイトが提供するデータを監視し
利用するための対話型の活気ある体験(vibrant
experience)を提供する。ユーザが現在の
サイトにオンラインで留まる限り、その対話型の体験は
続く。しかし残念ながら、それらのサイトからデータフ
ァイルをダウンロードできたとしても、そのウェブペー
ジを操作するサーバアプリケーションから切断される
と、対話型で、しばしば有用なデータの表示/操作は失
われる。ユーザが後刻オフラインでそのデータを監視す
るとき、関連するサーバとオンラインであるかのように
そのデータを閲覧し、操作することができることは非常
に適切で有用である。したがって、現在オンラインで得
られる機能と同様のオフラインサービス機能を提供する
システムおよび/または方法が求められているが、これ
は未解決である。
[0005] Yet another problem associated with existing architectures relates to the offline performance of network-based systems. Many web pages provide, for example, a user with an interactive and vibrant experience for monitoring and utilizing data provided by a given site.
experience). As long as the user stays online at the current site, the interactive experience will continue. Unfortunately, even though data files can be downloaded from those sites, the loss of interactive and often useful data display / manipulation is lost when disconnected from the server application that operates the web page. When the user later monitors the data offline, it is very appropriate and useful to be able to view and manipulate the data as if online with the associated server. Accordingly, there is a need for a system and / or method that provides an offline service function similar to the function currently available online, but this remains unresolved.

【0006】[0006]

【課題を解決するための手段】本発明は、アプリケーシ
ョンを複数のシステム間で共用し、利用することができ
る多層アプリケーションアーキテクチャに関する。多層
アーキテクチャにより、ローカルシステム資源は、従
来、中央に位置するアプリケーションサーバシステムで
提供されていたアプリケーションをサービスすることが
できるようになる。したがって、中央設置場所からサー
ビスが提供され、すなわち伝達されるのとは対照的に、
クライアントのパーソナルコンピュータシステムが、ネ
ットワークアプリケーション(インターネット、イント
ラネット、無線ネットワーク、遠隔通信(Teleco
mmunications)など)をローカルに提供
し、サービスすることができるので、本発明によって、
性能とオフライン機能は向上する。サーバシステムから
クライアントシステムに性能の機能をシフトすることに
よって、ネットワーク性能を向上させ、リモートからの
サービス要求に関わる待ち時間を緩和することができ
る。さらに、オフライン機能を向上させることもでき
る。
SUMMARY OF THE INVENTION The present invention relates to a multi-tier application architecture that allows applications to be shared and utilized between multiple systems. The multi-tier architecture allows local system resources to service applications previously provided by a centrally located application server system. Therefore, as opposed to being provided, or communicated, from a central location
If the client's personal computer system is a network application (Internet, intranet, wireless network, telecommunications (Teleco)
inventions) can be provided and serviced locally,
Performance and offline capabilities are improved. By shifting the performance function from the server system to the client system, network performance can be improved and the waiting time related to a remote service request can be reduced. Further, the offline function can be improved.

【0007】より詳細には、本発明は、リモートデータ
システムに関連する対話型処理をローカルに実行するこ
とができる多層アーキテクチャを提供する。このアーキ
テクチャは、プレゼンテーション層(presenta
tion tier)、モバイル層(mobile t
ier)(たとえば、非保護層(unguardedt
ier))、保護層(guarded tier)、お
よびデータ層(data tier)を含むことができ
る。プレゼンテーション層は、たとえば、リモートユー
ザデータ要求を生成するためのブラウザを含むことがで
きる。この場合、ブラウザは、たとえば、クライアント
のマシンに常駐するモバイル層にローカル要求を生成す
ることができる。次いで、モバイル層に関連付けられた
ローカルアプリケーション論理は、データ層へのアクセ
ス権を有するリモートサーバに関連付けられた保護層に
リモートサービス要求を送信することができる。保護層
は、リモート要求を受信すると、ウェブページおよび/
または他のネットワークアプリケーションに関連付けら
れたリモートデータと対話し、それを操作するために、
データ層からモバイル層に、関連するデータと共にアプ
リケーション論理の部分をダウンロードすることができ
る。前述のアプリケーション部分は、別法として、たと
えばCD ROMからクライアントの端末にロードする
こともできることに留意されたい。アプリケーションを
モバイル層にインストールすることによって、クライア
ントシステムは、リモートデータとローカルに対話する
ことができ、したがって、ローカルコンピュータ資源
(local computing resource
s)に作用し、さらにサーバシステムへのネットワーク
アクセスを緩和することができるようになる。さらに、
クライアント資源がより完全に利用され、セキュリティ
が向上し、インストール費が削減され、従来型サーバモ
デルに関連するラウンドトリップの待ち時間が向上する
統一アプリケーションモデルが提供される。以下で詳述
するように、ローカルシステムアクセスをローカル資源
に、またリモートアクセスをリモート位置に、ユーザに
透過的に向けることができる要求処理システムを提供す
ることによって、ローカルアクセスを容易にすることが
できる。アプリケーションのローカルでの実行を可能に
することによって、ユーザは、オンライン体験と同様の
方法で、ネットワークデータオフラインで対話できるよ
うになる。したがって、本発明は、オフラインユーザ体
験を向上させるものである。
[0007] More specifically, the present invention provides a multi-tier architecture capable of performing interactive processing associated with a remote data system locally. This architecture is based on the presentation layer (presenta).
Tion tier), mobile layer (mobile t
ier) (eg, unguardedt)
i.), a guarded tier, and a data tier. The presentation layer may include, for example, a browser for generating a remote user data request. In this case, the browser may, for example, generate a local request at the mobile tier residing on the client machine. The local application logic associated with the mobile tier can then send a remote service request to a protection tier associated with a remote server that has access to the data tier. The protection layer, upon receiving the remote request, the web page and / or
Or to interact with and manipulate remote data associated with other network applications,
Portions of the application logic along with associated data can be downloaded from the data tier to the mobile tier. It should be noted that the aforementioned application part can alternatively be loaded on the client terminal, for example from a CD ROM. By installing the application on the mobile tier, the client system can interact locally with the remote data and, therefore, local computing resources.
s), and can further alleviate network access to the server system. further,
A unified application model is provided that more fully utilizes client resources, improves security, reduces installation costs, and increases the round-trip latency associated with the traditional server model. As will be described in more detail below, it is possible to facilitate local access by providing a request processing system that can transparently direct local system access to local resources and remote access to remote locations to users. it can. By allowing applications to run locally, users can interact with network data offline in a manner similar to an online experience. Thus, the present invention enhances the offline user experience.

【0008】本発明の一態様は、ネットワークベースの
アプリケーションに関係し、該アプリケーションは、ア
プリケーション論理とプレゼンテーション論理を含み、
少なくともその一部は、変更を加えられることなく、サ
ーバまたはクライアントによって区別なく(inter
changeably)交互に処理される。
[0008] One aspect of the invention involves a network-based application, the application including application logic and presentation logic,
At least some of them are uninterrupted by the server or client without modification.
changeable).

【0009】本発明の別の態様は、ネットワークベース
のアプリケーションを処理するためのアーキテクチャに
関係する。該アーキテクチャは、クライアントに、ウェ
ブベースのアプリケーションと対話するためのプレゼン
テーション層を含む。モバイル層は、プレゼンテーショ
ン層と操作可能に結合され、クライアント側またはサー
バで、ネットワークベースのアプリケーションの少なく
とも一部を実行することを提供する。保護層は、モバイ
ル層とプレゼンテーション層の少なくとも一つと操作可
能に結合され、サーバで、ウェブベースのアプリケーシ
ョンの残りの部分を実行することを提供する。
[0009] Another aspect of the invention involves an architecture for processing network-based applications. The architecture includes a presentation layer for a client to interact with a web-based application. The mobile tier is operatively coupled with the presentation tier and provides for executing at least a portion of a network-based application on a client side or a server. The protection layer is operatively coupled to at least one of the mobile layer and the presentation layer and provides for executing the rest of the web-based application on the server.

【0010】本発明の別の態様は、ネットワークベース
のアプリケーションを実行する方法に関係し、クライア
ントコンピュータ上でネットワークベースのアプリケー
ションの少なくとも一部を実行することを備え、ウェブ
ベースのアプリケーションは、アプリケーション論理と
プレゼンテーション論理とからなり、少なくともその一
部が、変更を加えられることなく、サーバまたはクライ
アントによって区別なく処理される。
[0010] Another aspect of the invention relates to a method of executing a network-based application, comprising executing at least a portion of the network-based application on a client computer, wherein the web-based application comprises application logic. And presentation logic, at least a portion of which is processed indiscriminately by the server or client without modification.

【0011】以下の記述および添付の図面で、本発明の
いくつかの例示的態様を詳述する。ただし、これらの態
様は、本発明の原理を実施することができる様々な方法
のいくつかしか示していないが、本発明は、そのような
態様のすべてとそれらに相当する態様を含むことを意図
する。以下の本発明の記述を図面と共に検討することに
よって、本発明の他の利点と新規な特徴が明らかになろ
う。
The following description and the annexed drawings set forth in detail certain illustrative aspects of the invention. However, while these embodiments show only some of the various ways in which the principles of the present invention may be implemented, the present invention is intended to include all such embodiments and their equivalents. I do. Other advantages and novel features of the invention will become apparent from the following description of the invention when considered in conjunction with the drawings.

【0012】[0012]

【発明の実施の形態】次に、本発明を、図面を参照しな
がら説明する。同様の要素は、一貫して同様の参照番号
によって示す。
Next, the present invention will be described with reference to the drawings. Similar elements are denoted by similar reference numbers throughout.

【0013】本発明は、ネットワークサーバアプリケー
ションをマシンにローカルにインストールすることを必
要とせずに、クライアントマシン上で(たとえば、ブラ
ウザ内で)ネットワークサーバアプリケーションを実行
するシステムおよび方法に関する。したがって、アプリ
ケーションを、自動的にダウンロードし、インストール
することができ、その結果、安全な環境におけるゼロコ
ストのインストールと実行が容易になる。本発明は、ネ
ットワークサーバに書き込まれたネットワークアプリケ
ーションと類似および/または同一に見えるネットワー
クアプリケーションを使用可能にする。さらに、それら
のアプリケーションは、一般にホストのネットワークサ
ーバに関連付けられるハードウェアを必要とせずに、オ
フラインで実行することができる。
The present invention is directed to a system and method for executing a network server application on a client machine (eg, in a browser) without requiring the network server application to be installed locally on the machine. Thus, applications can be automatically downloaded and installed, thereby facilitating zero cost installation and execution in a secure environment. The invention enables the use of network applications that look similar and / or identical to the network applications written on the network server. Furthermore, those applications can be run off-line without the need for hardware typically associated with the host network server.

【0014】まず図1を参照すると、例示的システム1
0aは、本発明による多層分散型アプリケーションアー
キテクチャの例示的一態様を示す。ローカルシステム2
0は、ローカルシステム要求と、ローカルデータ処理
(たとえば、ウェブページ、無線データ)操作を処理す
るために提供されている。ブラウザ(図示せず)(たと
えば、Internet Explorer、Nets
cape、HTML3.2、WML、JAVA(登録商
標))を含むことができるプレゼンテーション層24
は、ユーザがローカルシステム20上のローカル(たと
えば、ウェブ)情報にアクセスするためのインタフェー
スを提供する。ユーザがプレゼンテーション層24にア
クセスすると、ローカルデータ要求28(たとえば、H
TTP)がモバイル層32に送信される。モバイル層3
2は、ローカルアプリケーション論理(図示せず)を提
供する。これは、ローカル要求28を、ローカルシステ
ム20で処理するために変換し、送信するため、かつ/
またはリモート要求36(たとえば、HTTP)をリモ
ートシステム40に送信するためのローカルアプリケー
ション論理(図示せず)である。モバイル層32は、一
般に、たとえばリモートシステム40とローカルシステ
ム20の間に高度の信頼性を確立することができるシス
テムの場合を除いて、「保護されない(unguard
ed)論理」とみなされることに留意されたい。リモー
トシステム40は、ローカルアプリケーション論理をモ
バイル層32に提供し、かつ/またはデータ層48に関
連する情報(たとえば、ウェブページ、リモートアプリ
ケーションデータ)に関係するデータへのインタフェー
スを提供するための保護層44を含むことができる。ア
プリケーション論理と、データ層に関連付けられたデー
タとを保護層44からダウンロードできるようにするこ
とによって、ローカルシステム20の資源が利用できる
ようになり、その結果、情報アクセスが容易になり、デ
ータ層48によって供給される情報をローカルシステム
20からオフラインで操作し、利用することができるよ
うになる。モバイル層32のアプリケーション論理は、
別法として、ローカルシステム20上で、たとえばCD
および/またはフロッピーディスク(登録商標)からロー
ドすることによってローカルに提供することもできるこ
とに留意されたい。
Referring first to FIG. 1, an exemplary system 1
0a illustrates an exemplary aspect of a multi-tier distributed application architecture according to the present invention. Local system 2
0 is provided to handle local system requests and local data processing (eg, web pages, wireless data) operations. Browser (not shown) (eg, Internet Explorer, Nets
presentation layer 24, which may include a cape, HTML 3.2, WML, JAVA).
Provides an interface for users to access local (eg, web) information on local system 20. When a user accesses the presentation layer 24, a local data request 28 (eg, H
TTP) is sent to the mobile layer 32. Mobile Tier 3
2 provides local application logic (not shown). This translates and sends the local request 28 for processing by the local system 20 and / or
Or local application logic (not shown) for sending a remote request 36 (eg, HTTP) to the remote system 40. The mobile tier 32 is generally “unguarded” except in systems where a high degree of reliability can be established, for example, between the remote system 40 and the local system 20.
ed) logic. Remote system 40 provides a protection layer to provide local application logic to mobile layer 32 and / or to provide an interface to data related to information associated with data layer 48 (eg, web pages, remote application data). 44 may be included. By allowing application logic and data associated with the data layer to be downloaded from the protection layer 44, the resources of the local system 20 are made available, thereby facilitating information access and allowing the data layer 48 to be accessed. Can be operated and used off-line from the local system 20. The application logic of the mobile tier 32 is:
Alternatively, on the local system 20, for example, a CD
Note that it can also be provided locally by loading from a floppy disk.

【0015】ローカルデータにアクセスし、それを操作
するために、ローカル要求28が生成されると、モバイ
ル層32は、そのローカル要求28を処理するためのア
プリケーション論理がローカルシステム20に常駐する
かどうかを判定する。アプリケーション論理が常駐しな
い場合、モバイル層32は、そのアプリケーション論理
をリモートシステム40から送信させるために、保護層
へのリモート要求36によってダウンロード要求を開始
することができる。モバイル層32は、この論理を受信
する際、ローカルデータ要求28を処理するためのデー
タをデータ層48から受信することもできる。モバイル
層32がローカル要求28を処理するように構成された
後、ユーザは、たとえば、リモートシステム40で提供
されているかのように、その情報にアクセスすることが
できる。ただし、ローカルシステム20の資源は、要求
を処理するために利用することができる。このようにし
て、性能の向上および情報(たとえば、ウェブページ)
のオフライン操作の向上を達成することができる。ロー
カル要求28が操作のためのさらなるデータを必要とす
る場合、追加のリモート要求36を、保護層44に対し
て開始することができ、かつ/または、後刻、ユーザが
オフライン作業の後、オンライン接続を再確立したとき
にこれを開始することができる。
When a local request 28 is generated to access and manipulate local data, the mobile tier 32 determines whether application logic for processing the local request 28 resides on the local system 20. Is determined. If the application logic is not resident, the mobile layer 32 can initiate a download request with a remote request 36 to the protection layer to cause the application logic to be transmitted from the remote system 40. Upon receiving this logic, mobile layer 32 may also receive data from data layer 48 for processing local data request 28. After the mobile tier 32 is configured to process the local request 28, the user can access the information as if it were being provided on a remote system 40, for example. However, the resources of the local system 20 can be used to process the request. In this way, performance improvements and information (eg, web pages)
Improved offline operation can be achieved. If the local request 28 requires more data for operation, an additional remote request 36 can be initiated to the protection layer 44 and / or at a later time, after the user works offline, goes online. You can start this when you re-establish.

【0016】保護層44は、アプリケーション論理と前
述のデータを、リモート要求54(たとえば、XMLフ
ァイル、無線マーク付け言語(WML:Wireles
sMarkup Language))ファイル)によ
って供給することができることに留意されたい。モバイ
ル層32論理は、保護層44か、モバイル層32のどち
らかに常駐できることもさらに留意されたい。たとえ
ば、保護層44は、本発明によるモバイル層32のダウ
ンロード要求に応答するためのインタフェース(図示せ
ず)の部分を含むことができ、また、プレゼンテーショ
ン層24からの要求を直接に処理するための論理を含む
ことができる。図2を簡単に参照すると、本発明に従っ
て構成された保護層がリモートシステム40によって提
供されていない場合、リモートシステムに直接にアクセ
スするために、プレゼンテーション層24によってバイ
パス要求56を開始することができる。
The protection layer 44 transmits the application logic and the aforementioned data to a remote request 54 (eg, an XML file, a wireless markup language (WML)).
sMarkup Language)) file). It is further noted that the mobile tier 32 logic can reside in either the protection tier 44 or the mobile tier 32. For example, the protection layer 44 may include portions of an interface (not shown) for responding to mobile layer 32 download requests in accordance with the present invention, and for processing requests from the presentation layer 24 directly. Logic can be included. Referring briefly to FIG. 2, if a protection layer configured in accordance with the present invention is not provided by the remote system 40, a bypass request 56 may be initiated by the presentation layer 24 to directly access the remote system. .

【0017】再度図1を参照すると、ローカルシステム
20の構成が完了した後で(たとえば、ダウンロードお
よび/またはCDインストール)、本発明によるオフラ
インシステムを使用することができる。たとえば、アプ
リケーションは、インターネットのショッピングサイト
からダウンロードすることができる。アプリケーション
は、上記のデータ層48からオフラインで表示するため
に、そのデータカタログの一部をXML形式で提供する
ことができる。インターネットのショッピングサイト
は、そのエントリページで、たとえば、ユーザは、オフ
ライン中であっても、リンクをクリックすることによっ
て、その在庫を閲覧し、注文することができることを宣
伝することができる。この場合、ショッピングアプリケ
ーションとXMLデータカタログをダウンロードし、自
動的にローカルにインストールすることができる。顧客
は、一週間を通して、カタログをローカルに閲覧し、必
要なものを思いついた時はいつでもショッピングカート
にアイテムを追加する。注文が提出されると、キューに
入れられたトランザクションを、アプリケーションのス
トレージ(図示せず)に保持されたXMLストアで生成
することができる。ユーザは、次にオンラインになった
際、ショッピングアプリケーションに移動することがで
き、このアプリケーションは、ユーザに、提出すべき注
文があることを通知する。ユーザは、次いで、その注文
の提出を許可することができ、それは次いで、処理され
る。ユーザは、いかなる料金の変更(セール、または増
額)の通知も受信することができ、次いで注文を許可ま
たは拒絶することができ、その推定配達時は返送される
ことができる。
Referring again to FIG. 1, after the configuration of the local system 20 is completed (eg, downloading and / or installing a CD), the offline system according to the present invention can be used. For example, the application can be downloaded from an Internet shopping site. The application can provide a portion of its data catalog in XML format for offline display from the data layer 48 described above. Internet shopping sites can advertise on their entry pages, for example, that users can view and order their inventory by clicking a link, even while offline. In this case, the shopping application and the XML data catalog can be downloaded and automatically installed locally. Customers browse the catalog locally throughout the week, and add items to their shopping cart whenever they come up with something they need. Once the order has been submitted, the queued transactions can be generated in an XML store maintained in the application's storage (not shown). When the user next comes online, he can navigate to the shopping application, which notifies the user that there is an order to submit. The user can then authorize the submission of the order, which is then processed. The user can receive notification of any change in price (sale, or increase), and then allow or reject the order, which can be returned at the time of its estimated delivery.

【0018】前記でインターネットのアプリケーション
の例について記述したが、本発明は、実質的に本発明に
従って構成されたいかなるローカルシステムおよびリモ
ートシステムにも適用できることを理解されたい。たと
えば、無線電話、パーソナルデジタルアシスタント(P
DA)、または他のハンドヘルド装置を、リモートサー
バの記憶場所から本発明によるモバイル層論理をロード
するように構成することができる。たとえば、無線電話
のユーザは、リモートシステムからアプリケーション論
理と、電話帳に関するデータをダウンロードすることが
できる。たとえば、ユーザは、後刻、リモートシステム
に直接無線接続を介してまだ接続しているかのように電
話帳にアクセスし、それを操作することができる。リモ
ートシステムに追加データが要求された場合、モバイル
層論理は、ユーザが次にリモートシステムにアクセスし
たときに追加データを要求するか、または要求に基づい
てリモートシステムに無線接続を開始することができ
る。複数の他のローカル/リモートシステムも、同様に
構成することができることをさらに理解されたい。
While the foregoing has described examples of Internet applications, it should be understood that the present invention is applicable to virtually any local and remote systems configured in accordance with the present invention. For example, wireless telephones, personal digital assistants (P
DA), or other handheld device, may be configured to load the mobile tier logic according to the present invention from a storage location on a remote server. For example, a wireless telephone user can download application logic and data about a phone book from a remote system. For example, a user can later access and manipulate the phone book as if they were still connected to the remote system via a direct wireless connection. If additional data is requested from the remote system, the mobile tier logic may request the additional data the next time the user accesses the remote system, or may initiate a wireless connection to the remote system based on the request. . It should be further understood that multiple other local / remote systems can be similarly configured.

【0019】以下で詳述するように、ローカルシステム
20内のローカルファイルを望まないアクセスから保護
するために、モバイル層32はセキュリティシステムを
含むことができる。リモートシステム40は、保護層4
4とデータ層48の密結合された関係を含むことがで
き、データ層にアクセスするための保護層論理は、デー
タ層48に高度に依存することができることにも留意さ
れたい。それとは対照的に、本発明はローカルシステム
20とリモートシステム40の疎結合された関係を提供
する。その際、データには、ローカルシステム要求の命
令によってたまにアクセスすることができ、したがっ
て、システム間において最大の柔軟性と性能が容易にな
る。プレゼンテーション層24とモバイル層32の間で
密結合および/または疎結合の構成を確立することがで
きることにさらに留意されたい。
As will be described in more detail below, to protect local files in local system 20 from unwanted access, mobile layer 32 may include a security system. The remote system 40 has a protection layer 4
It should also be noted that the protection layer logic for accessing the data layer can be highly dependent on the data layer 48, which can include a tightly coupled relationship between the data layer 4 and the data layer 48. In contrast, the present invention provides a loosely coupled relationship between local system 20 and remote system 40. The data can then be accessed from time to time by instructions of the local system request, thus facilitating maximum flexibility and performance between systems. It is further noted that tightly coupled and / or loosely coupled configurations can be established between the presentation layer 24 and the mobile layer 32.

【0020】次に図3を参照すると、システム10b
は、本発明の例示的態様によるローカルシステム20の
アーキテクチャを例示する。システム10bは、インタ
ーネットの例に関連して記述されているが、本発明は、
実質的に前述のいかなるローカル/リモートデータアク
セスシステムにも適用することができることを理解され
たい。たとえば、ローカルシステム20は、ウェブペー
ジ68および/または他のデータ形式にアクセスするた
めにローカルアプリケーション論理64と通信するため
のユーザインタフェースを提供するブラウザ60を含む
ことができる。ウェブページ68は、たとえば、ウェブ
ページを操作するためのHTMLのヘッダとスクリプト
を含むことができる。ローカル要求28を処理するため
に、ハンドラ72(たとえば、HTTP)も提供するこ
とができる。以下で詳述するように、ローカルアプリケ
ーション論理64をローディングする際に、ローカルシ
ステムにローカル要求をマップすることができる。たと
えば、リモートインターネット要求は、http:ww
w.×××××××××××と表示することができ、本
発明は、論理64をローディングする際に、ローカルウ
ェブページアクセス用に、リモート要求をMyComp
any:www.×××××××××××にマップする
ことができる。したがって、ローカルシステム20で、
ウェブページおよび/または他の要求を処理するための
シームレスで透過的なシステムがユーザに提供される。
Referring now to FIG. 3, the system 10b
Illustrates the architecture of the local system 20 according to an exemplary aspect of the invention. Although system 10b is described with reference to the Internet example, the present invention
It should be understood that it can be applied to virtually any of the local / remote data access systems described above. For example, local system 20 may include a browser 60 that provides a user interface for communicating with local application logic 64 to access web pages 68 and / or other data types. The web page 68 can include, for example, HTML headers and scripts for manipulating the web page. A handler 72 (eg, HTTP) may also be provided to process the local request 28. As described in detail below, when loading local application logic 64, local requests can be mapped to the local system. For example, the remote Internet request is http: www
w. The present invention, when loading logic 64, sends a remote request to MyComp for local web page access.
any: www. It can be mapped to XXXXXXXXXXXX. Therefore, in the local system 20,
A user is provided with a seamless and transparent system for processing web pages and / or other requests.

【0021】次に図4を参照すると、システム10c
は、本発明の一態様による要求処理システムを例示す
る。システム10cは、ブラウザ60と共に、またはブ
ラウザ60内で実行されるように構成することができ
る。システム10cは、後述するプロトコル方式用のハ
ンドラとして登録することができる、非同期プラガブル
プロトコルハンドラ(APP)(asynchrono
us pluggableprotocol hand
ler)80を使用する。ブラウザ60によってそのプ
ロトコル方式を使用して要求が生成されると、URLモ
ニタ84は、ハンドラ(APP)80を活動化する。A
PP 80は、システム10cに書き込まれたワーカ要
求(worker request)88にその要求を
渡し、それは、ローカルHTTP要求96を処理するよ
うに構成されたローカルハンドラ92(このメカニズム
を介して、静的ファイルも送信される)にURI(Un
iversal Resource Identifi
er)をマップする。APP80は、ローカルレジスト
リ(図示せず)からの情報に基づく所与のアプリケーシ
ョンのために、ブラウザ60に適切なセキュリティゾー
ンを提供する。
Referring now to FIG. 4, the system 10c
1 illustrates a request processing system according to one aspect of the present invention. System 10c can be configured to run with or within browser 60. The system 10c includes an asynchronous pluggable protocol handler (APP) (asynchrono) that can be registered as a handler for a protocol scheme described later.
us pluggable protocol hand
ler) 80 is used. When a request is generated by the browser 60 using the protocol scheme, the URL monitor 84 activates a handler (APP) 80. A
The PP 80 passes the request to a worker request 88 written to the system 10c, which sends the request to a local handler 92 (via this mechanism, a static file request) that is configured to process a local HTTP request 96. Is also sent) to the URI (Un
inverse Resource Identify
er). APP 80 provides browser 60 with an appropriate security zone for a given application based on information from a local registry (not shown).

【0022】次に、前述のプロトコル方式を詳述する。
システム10cは、動的な内容と静的な内容を含めてす
べてのURIを識別するためのプロトコル方式を使用す
ることができる。たとえば、ウェブサイトアプリケーシ
ョンは、すべてローカルハンドラ92に分解される下記
のURIを提示することができ(マッピングメカニズム
については以下で詳述する)、exampleweb
は、ローカル資源への例示的マッピングを提供する。
Next, the above-mentioned protocol system will be described in detail.
The system 10c can use a protocol scheme to identify all URIs, including dynamic and static content. For example, a website application can present the following URI, which is all broken down into local handlers 92 (the mapping mechanism is described in more detail below), and the example web
Provides an exemplary mapping to local resources.

【0023】exampleweb://www.××
×××××××××××××××××××××××××
××××× exampleweb://www.××××××××
×××××××××××××××××××××××××
×× exampleweb://www.××××××××
××××××××××××××××××××××××× exampleweb://www.××××××××
×××××××××××××××××××××××××
×××
Exampleweb: // www. Xx
×××××××××××××××××××××××××
××××× example web: // www. ××××××××
×××××××××××××××××××××××××
Xx exampleweb: // www. ××××××××
×××××××××××××××××××××××× example web: // www. ××××××××
×××××××××××××××××××××××××
×××

【0024】システム10cは、インストールされたア
プリケーションのローカルマッピングと、それらのUR
Iネーム空間をローカル記憶位置に維持することができ
る。これにより、ユーザは、たとえばそのリモートUR
Iを使用して、リモートアプリケーションを参照するこ
とができる。さらに、これにより、URIを、ある方式
で他のインストレーションにエクスポートできるように
することができ、また、本発明で動作するように構成さ
れた要求駆動型インストレーションを可能にすることが
できる。さらに、ローカルにインストールできるブラウ
ザアプリケーションが、リモートで発信することがで
き、したがって、ローカルマシンではなくリモートサイ
トに適した信頼性を持ってそれらを実行すべきであるこ
とを、ブラウザアプリケーションに警告することができ
る。
The system 10c provides local mapping of installed applications and their URs.
The I-name space can be maintained at a local storage location. This allows the user to, for example,
I can be used to refer to a remote application. In addition, this may allow URIs to be exported in some manner to other installations, and may enable demand driven installations configured to operate with the present invention. In addition, alerting browser applications that locally installable browser applications can originate remotely and should therefore be run with the appropriate reliability for the remote site and not the local machine Can be.

【0025】たとえば、ユーザが、URI examp
leweb://www.×××××××××××××
××××××を使用してマイクロソフトマネーの将来バ
ージョンをインストールすると想定する。URIを呼び
出す第1の試行により、システム10cは、名前付けパ
タンを使用して、サイトから名簿(manifest)
(下記参照のこと)を取り出すことができる(たとえ
ば、http://www.××××××××××××
××××××××××××××××××××××)。ユ
ーザが、アプリケーションをインストールすることを選
択すると、データを、ローカルにコピーし、インストー
ルすることができる。後刻、ユーザがそのアプリケーシ
ョンURI(exampleweb://www.××
×××××××××××××××××)に戻ると、シス
テム10cは、そのアプリケーションのローカルにイン
ストールされたバージョンを呼び出すことができる。た
だし、アプリケーションがローカルにあるとき、ブラウ
ザが、たとえばブラウザでフレーム横断アタック(cr
oss frame attack)を行ってローカル
資源にアクセスしないように、そのアプリケーションが
リモートアプリケーションであることをブラウザ60に
警告する必要がある。このメカニズムにより、ユーザ
は、自分が何を実行しているか、そのファイルはどこか
ら発信されたかを知ることもできる。
[0025] For example, if the user
leweb: // www. ×××××××××××××
Assume that you install a future version of Microsoft Money using XXXXXX. The first attempt to invoke the URI causes the system 10c to use the naming pattern to create a manifest from the site.
(See below) (eg, http: //www.xxxxxxxxxxxxxxxxx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX). If the user chooses to install the application, the data can be copied and installed locally. Later, the user will be prompted to enter the application URI (exampleweb: //www.xx.xx).
Returning to (XXXXXXXXXXXXXXXXXXXXXXXX), the system 10c can call the locally installed version of the application. However, when the application is local, the browser may, for example, use a cross-frame attack (cr
It is necessary to warn the browser 60 that the application is a remote application so that it does not access local resources by performing an oss frame attack. This mechanism also allows the user to know what they are doing and where the file came from.

【0026】名前を分解するとき、システム10cは、
たとえば、最も長い一致を探すことを、ローカルマッピ
ングのリスト全体にわたって繰り返すことができる。最
も長い一致を選択した後、システムはその一致をインス
トールしたアプリケーションのアプリケーションドメイ
ンに分解し、適切なハンドラ92を呼び出すことができ
る。シャドーイング(shadowing)の場合、ユ
ーザは所与のポイントからアプリケーションをインスト
ールし、後刻、同じ階層のさらに深いポイントからアプ
リケーションをインストールすることを希望する(たと
えば、exampleweb://www.×××××
×××××××××××××××××××××××××
××××××××××××)。その際、そのURIに登
録されたハンドラ92がまったくないので、要求−イン
ストレーションは依然として可能な状態であることがで
きる。
When resolving names, the system 10c
For example, looking for the longest match can be repeated throughout the list of local mappings. After selecting the longest match, the system can decompose the match into the application domain of the installed application and call the appropriate handler 92. In the case of shadowing, the user installs the application from a given point and later desires to install the application from a deeper point in the same hierarchy (eg, exampleweb: //www.xxx.xx). ×
×××××××××××××××××××××××××
×××××××××××). At that time, the request-installation can still be possible because there are no handlers 92 registered at that URI.

【0027】以下の例は、URIマッピングがどのよう
にシステム10cで動作することができるかを例示す
る。ユーザは、次のようにインストールした2つのアプ
リケーションを有することができる。
The following example illustrates how URI mapping can work with system 10c. The user can have two applications installed as follows.

【0028】[0028]

【表1】 [Table 1]

【0029】それらのアプリケーションは、それぞれそ
のルートがウェブページ、binディレクトリのCOM
+アセンブリ、静的内容、およびデータから構成される
階層を有することができる。これらのアプリケーション
は、次の例示的構成を有することができるこの例を除い
て、任意の構成を有することができる。
The root of each of these applications is a web page and a COM of a bin directory.
+ Can have a hierarchy composed of assemblies, static content, and data. These applications can have any configuration except this example, which can have the following exemplary configurations:

【0030】approot bin\ # Business logic(var
ious assemblies) img\ # images data\ # XML stores default.aspx config.cfg
Approot bin @ # Business logic (var
ios assemblies) img @ # imagesdata @ # XML stores default. aspx config. cfg

【0031】次の表に、様々な例示的アプリケーション
URIと、その対応する物理ファイルを示す。アプリケ
ーションのURIネーム空間の部分への要求を所与のハ
ンドラ92に関連させることによって、仮想URIを維
持できることも理解されたい。
The following table shows various exemplary application URIs and their corresponding physical files. It should also be appreciated that virtual URIs can be maintained by associating requests for portions of the application's URI namespace with a given handler 92.

【0032】[0032]

【表2】 [Table 2]

【0033】アプリケーションをインストールするに
は、少なくとも、標準インストレーションプラットフォ
ーム(standard installation
platform)を使用してアプリケーションをイン
ストールする方法と、リモートURIが前述のプロトコ
ル方式を使用して要求される要求駆動型インストレーシ
ョン(demand−driven installa
tion)の2つの方法がある。インストールしたアプ
リケーションは、URIをそれがインストールされた記
憶位置にマップするローカルレジストリ(図示せず)で
維持することができる。レジストリは、また、インスト
レーションの時刻および使用情報を含めてインストレー
ション情報も維持することができる。アプリケーション
に関する情報は、たとえば、HKEY_CURRENT
_USER\\SOFTWARE\×××××××××
\XSP\Examplewebの下でシステムレジス
トリにストアすることができる。各アプリケーションに
は、そのオリジンホストとアプリケーション経路によっ
て指定されたキーがある(たとえば、www.××××
×××××××××)。インストールしたアプリケーシ
ョンには、次のレジストリ値を含めることができる。
To install the application, at least the standard installation platform (standard installation platform)
how to install an application using a platform, and a demand-driven installation where a remote URI is requested using the aforementioned protocol scheme.
)). The installed application may be maintained in a local registry (not shown) that maps the URI to the location where it was installed. The registry can also maintain installation information, including installation time and usage information. Information about the application is, for example, HKEY_CURRENT
_USER {SOFTWARE} ×××××××××
It can be stored in the system registry under \ XSP \ Exampleweb. Each application has a key specified by its origin host and application path (eg, www.xxxxxx)
Xxxxxxxxxx). Installed applications can include the following registry values:

【0034】[0034]

【表3】 [Table 3]

【0035】明示的および/または要求駆動型シナリオ
のためのインストレーションは、任意の従属関係と共に
名簿(下で述べる)に指定されるキャビネット(CA
B)ファイルまたは明示的ファイルを取り出すことから
構成することができる。ファイルが取り出されると、フ
ァイルは、ファイルシステム(CABファイルは、その
ディレクトリ階層を維持したままエクスプロードするこ
とができる)のディレクトリに入れることができる。レ
ジストリにエントリを追加することができ、したがっ
て、アプリケーションのURIを物理記憶位置にマッピ
ングすることができる。物理記憶位置は、一意の識別子
(図示しないGUIDなど)によって判定することがで
きる。名前を容易に演算されないためには、これが望ま
しい。
The installation for explicit and / or demand-driven scenarios can be performed with cabinets (CA) specified in a roster (described below) with optional dependencies.
B) Can consist of retrieving files or explicit files. When the file is retrieved, the file can be placed in a directory in the file system (CAB files can be exploded while maintaining their directory hierarchy). An entry can be added to the registry, thus mapping the application's URI to a physical storage location. The physical storage location can be determined by a unique identifier (such as a GUID not shown). This is desirable because the names are not easily computed.

【0036】アプリケーションは、次の名前付けの規定
を使用してファイルシステムに入れることができる。基
底アプリケーションディレクトリ(たとえば、c:\プ
ログラムファイル)から開始して、サーバ名、次いでア
プリケーション名、さらに一意に生成された識別子を添
える。たとえば、http://www.××××××
××××××××××から発信されたアプリケーション
は、次の題名のディレクトリに常駐することができる。
An application can be put into the file system using the following naming convention: Starting from the base application directory (eg, c: \ program files), append the server name, then the application name, and a uniquely generated identifier. For example, http: // www. ××××××
An application originating from XXXXXXXXXXXX can reside in a directory with the following title:

【0037】[0037]

【表4】 [Table 4]

【0038】名前のランダムな部分は予測不能であり、
アプリケーションのインストールの前にシステム10c
によって生成される。アプリケーションは、ページ、メ
ッセージング/ウェブ、方法ファイル、ハンドラ、およ
び構成データを含めて任意の適切なウェブページハンド
ラからなることができる。構成データは、アプリケーシ
ョンの適用範囲に対するハンドラを活動化することがで
き、そのアプリケーション用の設定を提供することがで
きる。
The random part of the name is unpredictable,
Before installing the application system 10c
Generated by The application can consist of any suitable web page handler, including pages, messaging / web, method files, handlers, and configuration data. The configuration data can activate a handler for the application scope and provide settings for that application.

【0039】ユーザが、ローカルにインストールされて
いないURIに移動しようとするとき、リンクをクリッ
クすることによって、またはブラウザ60にURIをタ
イプインすることによって、システム10cは、後述す
るアプリケーションの名簿を探し出す試行を行うことが
できる。提示されたURIが、拡張子によって判定され
たアプリケーションの名簿を識別する場合、システムは
それを取り出し、その名簿ファイルを解析する。この場
合、ユーザに、システム10cがアプリケーションをロ
ーカルにインストールすることを試行中であることを示
すユーザインタフェースUI(図示せず)を提示するこ
とができる。たとえば、UIは、必要なディスク空間
(提示される場合は、<DISKSPADE>OSDエ
レメントと、任意の従属CABファイルを格納するため
に必要なサイズの和に基づいて)を示し、ユーザが要求
すれば、省略時ディスク割当てを指定変更し、アプリケ
ーションに含まれるファイル名を閲覧することを可能に
する。インストレーションUIは、基本の構成データの
省略時ビューと、個別ファイルを表示し、ユーザにアプ
リケーション実行許可の制御を可能にする拡張型ビュー
(たとえば、ファイルI/O許可および/または標準的
COM相互運用性)を提供することができる。
When a user attempts to navigate to a URI that is not locally installed, by clicking on a link or by typing the URI into the browser 60, the system 10c searches for a directory of applications, described below. An attempt can be made. If the submitted URI identifies the roster of the application as determined by the extension, the system retrieves it and parses the roster file. In this case, the user may be presented with a user interface UI (not shown) indicating that the system 10c is attempting to install the application locally. For example, the UI indicates the required disk space (based on the <DISKSPADE> OSD element, if presented, plus the size required to store any dependent CAB files) and if the user requests , Overrides the default disk quota and allows viewing of file names contained in the application. The installation UI provides default views of basic configuration data and extended views that display individual files and allow users to control application execution permissions (eg, file I / O permissions and / or standard COM interaction). Operability) can be provided.

【0040】所望ならば構成を提供することはできる
が、インストレーションは、当初、構成を要求できない
ことに留意されたい。透過的操作を可能にするために、
ユーザは、省略時値を使用して、クリックしてインスト
レーションを確認し、先へ進まなければならない。UR
Iが名簿ファイルディレクトリを参照しなかった場合、
システム10cは、標準名簿名とURIのホスト/経路
部分を結合することによって名簿の取出しを試みること
ができる。これが失敗すると、システムは、経路の部分
を除去すること、および各レベルに名簿ファイルを置く
ことから構成されるバックオフアルゴリズムを使用する
ことができる。パッケージされたインストレーション
(たとえば、CD ROM、フロッピー(登録商標))に
対して、アプリケーションは、適切に登録するためにレ
ジストリAPIを呼び出すことができる。デフォルト値
により、それらのアプリケーションには、ローカルトラ
ストを与えることができる。しかし、それらのアプリケ
ーションは、たとえば要求できる許可を要求するため
に、COM+コードアクセスセキュリティを使用して自
己防衛することができる。
It should be noted that the configuration can be provided if desired, but the installation cannot initially require a configuration. To enable transparent operation,
The user must click to confirm the installation and proceed, using the defaults. UR
If I did not refer to the roster file directory,
The system 10c can attempt to retrieve the directory by combining the standard directory name with the host / path portion of the URI. If this fails, the system can use a back-off algorithm consisting of removing parts of the path and placing a roster file at each level. For a packaged installation (eg, CD ROM, Floppy®), the application can call the registry API to register properly. The default value allows those applications to be given local trust. However, those applications can defend themselves using COM + code access security, for example, to request a requestable permission.

【0041】前述のUIは、期限経過とみなされたアプ
リケーションを自動更新するか、それとも期限経過とみ
なされたいかなるアプリケーションの更新も手動で確認
することを選択することができるオプションを含めるこ
とができる。システムは、アプリケーションの更新を確
認するとき、まず名簿ファイルを取り出すことができ
る。名簿ファイルに異なるバージョンがある場合、ユー
ザの確認を保留して、様々な従属関係を取り出し、イン
ストールすることができる。インストレーションに加え
て、システムは、防護策として、アプリケーション発信
元サーバからのダウンロード更新を制限することができ
る。さらに、分離ストレージ(Isolated St
orage)機能は、たとえばインストールしたアプリ
ケーションをデュラブルストレージ(durable
storage)でローカルに維持することを可能にす
るために、COM+によって提供することができる。分
離ストレージは、複数のメカニズム管理、満了管理、有
効期間管理によって分離をサポートする管理されたファ
イルシステムを提供する。アプリケーションは、アプリ
ケーションをローカルファイルシステムにアクセスさせ
る危険にユーザを曝すことなく、分離データストレージ
を維持するので、これはシステム10c用のCOM+の
機能である。
The aforementioned UI may include an option to automatically update applications that are considered overdue or to manually check for updates of any applications that are considered overdue. . When the system checks for updates to the application, it can first retrieve the roster file. If there are different versions of the roster file, the user can be deferred and the various dependencies can be retrieved and installed. In addition to installation, the system can restrict download updates from the application origin server as a safeguard. Furthermore, an isolated storage (Isolated St)
For example, the function “durable storage (durable)”
It can be provided by COM + to allow it to be maintained locally at storage. Isolation storage provides a managed file system that supports isolation through multiple mechanism management, expiration management, and lifetime management. This is a COM + feature for system 10c because the application maintains separate data storage without exposing the user to having the application access the local file system.

【0042】システム10cは、前述の名簿(たとえば
OSD)を使用して、アプリケーションをインストール
することをサポートする。デフォルト値の名簿名は、た
とえばexampleweb.osdにすることができ
る。OSD名簿は、名簿にソフトウェア資源の様々な表
示を定義することを可能にする実施タグをサポートす
る。たとえば、固有のWin32バージョンと、システ
ム10cバージョンがある場合がある。実施のタイプ
は、IMPLTYPEエレメントによって示すことがで
きる。たとえば、システムは、「Com+」「Exam
pleweb」または明示的IMPLTYPEエレメン
トが欠乏した1つ以下の実施エレメントを有するIMP
LTYPEを有するアプリケーションをインストールす
ることができる。OSDフォーマットは、OSと呼ばれ
るエレメントをサポートすることができ、その結果、異
なるOSに対して異なる実施態様を可能する。システム
10cは、いかなるサポートされたプラットフォーム上
でもOSを使用せずにこのタグをサポートし、実施を受
け入れることができ、またはプラットフォームを制限す
るOSタグを尊重することを試みることができる。これ
により、トランザクションのような、プラットフォーム
特有のサポートを要求するアプリケーションが、所望の
機能をサポートするそのプラットフォームへのインスト
レーションを制限することを可能にする。たとえば、ト
ランザクションの意味体系を有するアプリケーション
は、次のようなエレメントを使用してWindows
(登録商標) 2000を要求する場合がある。
System 10c supports installing applications using the roster (eg, OSD) described above. The default list name is, for example, exampleweb. osd. The OSD directory supports implementation tags that allow the directory to define various representations of software resources. For example, there may be a unique Win32 version and a system 10c version. The type of implementation can be indicated by the IMPLTYPE element. For example, the system uses “Com +” “Exam
IMP with one or less implementation elements deficient in "pleweb" or explicit IMPLTYPE elements
Applications with LTYPE can be installed. The OSD format can support an element called an OS, thus allowing different implementations for different OSs. The system 10c can support this tag without using the OS on any supported platform, accept implementations, or attempt to respect OS tags that restrict the platform. This allows applications that require platform-specific support, such as transactions, to limit installation on that platform that supports the desired functionality. For example, an application that has a transactional semantics might use Windows
(Registered trademark) 2000 may be required.

【0043】[0043]

【表5】 [Table 5]

【0044】アプリケーションが、トランザクションを
要求しないアプリケーションのバージョンも提供する場
合、第2の実施態様は、次のエレメントを含むことがで
きる。
If the application also provides a version of the application that does not require a transaction, the second embodiment can include the following elements:

【0045】[0045]

【表6】 [Table 6]

【0046】例示的名簿には、以下のものが含まれる。An exemplary roster includes the following:

【0047】[0047]

【表7】 [Table 7]

【0048】アプリケーションの潜在的消費者に情報を
提供するために使用することができるいくつかの他の選
択的エレメントがあることが理解されよう。たとえば、
OSDは、(アンパック)アプリケーションを含めるた
めにどれだけのディスクストレージが必要かを詳述する
DISKSPACEエレメントを有することができる。
It will be appreciated that there are several other optional elements that can be used to provide information to potential consumers of the application. For example,
The OSD may have a DISKSPACE element that details how much disk storage is required to include the (unpacked) application.

【0049】以下の属性は、システム10cがサポート
するOSD形式への拡張子であってよい。
The following attributes may be extensions to the OSD format supported by the system 10c.

【0050】[0050]

【表8】 [Table 8]

【0051】ダウンロードしたアプリケーションは、ロ
ーカルマシン上のポリシーによって認可された、リモー
トドメインへのコードアクセス許可(図示せず)によっ
て実行することができる。ローカルアプリケーションが
インストールされるとき、インストレーション時にアプ
リケーションに提供されたURIに基づいて、許可を与
えられることができる。この際、インストレーション
は、ユーザの希望に応じて、ローカルおよび/またはリ
モートであってよい。システム10cは、アプリケーシ
ョンディレクトリ階層からロードされたいかなるコード
も、そのアプリケーションの元のドメインに関連付けら
れていることを示すために、ポリシーをアプリケーショ
ンドメインに追加することができる。たとえば、アプリ
ケーションが、www.××××××××××××××
からダウンロードされ、インストールされるとする。シ
ステム10cがアプリケーションからコードをロードす
るとき、システム10cは、セキュリティシステムに、
そのコードがwww.×××××××××××××から
のものであることを示す証拠を提供し、その結果、その
ドメインに対する許可を適用することができる。さら
に、システム10cは、アプリケーションディレクトリ
(および子ディレクトリ)からロードされたコードをリ
モートURI:www.×××××××××××××に
関連付けることができるように、ポリシーを追加するこ
とができる。これにより、アプリケーションがその固有
のディレクトリからアセンブリをロードすることを可能
にすること、およびその結果ドメインのセキュリティを
無視することが軽減される。システムは、また、ネット
ワークの入出力が、元のリモートホスト(前述の例では
www.×××××××)に対して使用可能になること
を示すためにポリシーを追加することもできる。
The downloaded application can be executed by a code access permission (not shown) to a remote domain, which is authorized by a policy on the local machine. When a local application is installed, permissions can be granted based on the URI provided to the application at the time of installation. Here, the installation may be local and / or remote, as desired by the user. System 10c can add a policy to the application domain to indicate that any code loaded from the application directory hierarchy is associated with the original domain of the application. For example, if the application is www. ××××××××××××××
Downloaded from and installed. When the system 10c loads code from an application, the system 10c
The code is www. Provide evidence that it is from XXXXXXXXXXXXXXX so that permissions for that domain can be applied. Further, the system 10c stores the code loaded from the application directory (and the child directory) in the remote URI: www. A policy can be added so that it can be associated with XXXXXXXXXXXXXXX. This alleviates allowing an application to load an assembly from its own directory and thus ignoring the security of the domain. The system may also add a policy to indicate that network I / O will be available to the original remote host (www.xxxxxxxxx in the example above).

【0052】管理UIは、システム10cがインストー
ルされたときにも、実施することができる。たとえば、
ブラウザ60のツールバーにツールバーボタンを追加す
ることができる。このボタンがクリックされると、たと
えば管理UIを呼び出すことができるexamplew
eb://Homeに移動することができる。exam
pleweb://またはexampleweb://
Homeにユーザが移動すると、管理UIを実行するこ
ともできる。管理UIは、以下の例示的なページを含む
ことができる。
[0052] The management UI can also be implemented when the system 10c is installed. For example,
A toolbar button can be added to the toolbar of the browser 60. When this button is clicked, for example, it is possible to call the management UI.
eb: // Home. exam
pleweb: /// or exampleweb: //
When the user moves to Home, the management UI can be executed. The management UI may include the following exemplary pages.

【0053】ホームページ:インストールしたアプリケ
ーションを列挙することができ、容易にそれらを除去す
る方法を提供するページである。さらに、ローカルソー
スまたはリモートソースから新しいアプリケーションを
インストールするためのリンクを提供することもでき
る。
Homepage: A page on which installed applications can be listed and a method for easily removing them is provided. Additionally, a link can be provided to install a new application from a local or remote source.

【0054】インストールページ:このページがリモー
トURIと共に提示される場合、このページは、ユーザ
に、アプリケーションに関する名簿からの情報を提示
し、またそのアプリケーションをインストールすること
を可能にすることができる。このページがリモートUR
Iと共に提示されなければ、これに対して指示すること
ができる。
Installation page: If this page is presented with a remote URI, this page may present the user with information from a roster about the application and allow the application to be installed. This page is remote UR
If not presented with I, it may be indicated.

【0055】ローカルインストールページ:ローカルデ
ィレクトリ、およびアプリケーションに関して使用する
ローカルURIを指定し、ユーザがローカルアプリケー
ションをインストールすることを可能にするページであ
る。
Local Install Page: A page that specifies the local directory and the local URI to use for the application and allows the user to install the local application.

【0056】削除確認ページ:ページを削除する前にユ
ーザに確認のためにプロンプト表示するページである。
確認が得られると、アプリケーションを除去する。
Deletion confirmation page: A page for prompting the user for confirmation before deleting the page.
When confirmation is obtained, remove the application.

【0057】更新ページ:ユーザに、アプリケーション
の新しいバージョンが入手できることを通知し、それを
取り出すか否かを尋ねるページである。承認が得られる
と、新しいバージョンがダウンロードされ、インストー
ルされる。アプリケーションがページを更新すると、こ
のページは、成功裏の更新後にそこに指定変更しなけれ
ばならない。
Update page: A page that informs the user that a new version of the application is available and asks if he or she wants to retrieve it. Once approved, the new version is downloaded and installed. When an application updates a page, this page must be redirected to after a successful update.

【0058】次に図5に、本発明による方法を示す流れ
図を示す。ステップ150で、ユーザはデータ要求を開
始する。ステップ154では、ステップ150の要求
で、アプリケーションが動作するためにローカルシステ
ム上にロードされたか否かの判定が行われる。アプリケ
ーションがすでにロード済みの場合、方法はステップ1
60に進み、前述の通りに要求をローカルシステムにマ
ップする。要求がマップされた後、ステップ164で、
ユーザは、ローカルシステムでそのデータ(たとえば、
ウェブページ)と対話することができる。要求されたサ
ービスを提供するアプリケーションがステップ154で
ロードしなかった場合、プロセスはステップ168に進
む。ステップ168で、データ要求をサーブするための
アプリケーションがローカルシステムにロードされる。
前述の通り、アプリケーションは、リモートシステムか
らダウンロードされ、かつ/またはローカルにCDおよ
び/または他の記憶媒体からロードすることができる。
ステップ168で、アプリケーションがロードされた
後、プロセスはステップ160に進み、ローカルシステ
ムへの要求のマッピングを開始する。
FIG. 5 is a flowchart illustrating the method according to the present invention. At step 150, the user initiates a data request. At step 154, a determination is made as to whether the application has been loaded on the local system for operation at the request of step 150. If the application is already loaded, method 1
Proceed to 60 and map the request to the local system as described above. After the request has been mapped, at step 164,
Users can access their data (for example,
Web pages). If the application providing the requested service did not load at step 154, the process proceeds to step 168. At step 168, an application to serve the data request is loaded on the local system.
As described above, the application can be downloaded from a remote system and / or loaded locally from a CD and / or other storage media.
At step 168, after the application has been loaded, the process proceeds to step 160 and begins mapping requests to the local system.

【0059】本発明の様々な態様の背景を提供するため
に、図6と以下の記述は、本発明の様々な態様を実施す
ることができる適切なコンピュータ環境に関する概略的
で一般的な説明を提供することを意図している。1つま
たは複数のコンピュータで実行されるコンピュータプロ
グラムのコンピュータで実行可能な命令に関して一般的
に上記で説明したが、本発明は、他のプログラムモジュ
ールと組み合せて実施することもできることを、当業者
なら理解するだろう。一般に、プログラムモジュールに
は、特定タスクを実行し、かつ/または特定の抽象デー
タ型を実施するルーチン、プログラム、構成要素、デー
タ構造などが含まれる。さらに、本発明の方法は、シン
グルプロセッサのコンピュータシステムまたはマルチプ
ロセッサのコンピュータシステム、ミニコンピュータ、
メインフレームコンピュータ、ならびにパーソナルコン
ピュータ、ハンドヘルドコンピュータデバイス(han
d−held computing device)、
マイクロプロセッサベースの家庭用電化製品またはプロ
グラム可能な家庭用電化製品などを含めて、他のコンピ
ュータシステム構成によって実施することができること
を当業者なら理解するだろう。本発明の例示の態様は、
通信ネットワークを介してリンクされたリモート処理デ
バイスによってタスクが実行される分散型コンピュータ
環境でも実施することができる。しかし、本発明のすべ
てではないにしてもいくつかは、スタンドアロン型コン
ピュータで実施することができる。分散型のコンピュー
タ環境では、プログラムモジュールは、ローカルなメモ
リストレージデバイスにも、リモートのメモリストレー
ジデバイスにも置くことができる。
To provide a context for various aspects of the present invention, FIG. 6 and the following discussion provide a brief, general description of a suitable computing environment in which various aspects of the present invention may be implemented. Intended to be provided. Although generally described above in terms of computer-executable instructions of a computer program executed on one or more computers, those skilled in the art will recognize that the present invention can also be implemented in combination with other program modules. Will understand. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and / or implement particular abstract data types. Further, the method of the present invention can be used in a single-processor or multi-processor computer system, a minicomputer,
Mainframe computers as well as personal computers and handheld computing devices (han
d-held computing device),
Those skilled in the art will appreciate that other computer system configurations can be implemented, including microprocessor-based or programmable consumer electronics. Exemplary embodiments of the present invention include:
The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all, of the invention can be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in local or remote memory storage devices.

【0060】図6を参照すると、本発明の様々な態様を
実施するための例示的システムは、処理ユニット22
1、システムメモリ222、およびシステムメモリを含
む様々なシステム構成要素を処理ユニット221に結合
するシステムバス223を含めて、従来型コンピュータ
220を含む。処理ユニットは、Intel x86
と、Pentium(登録商標)と、IntelおよびC
yrix、AMD、Nexgenを含む他社の互換性の
あるマイクロプロセッサ、すなわちDigitalのA
lpha、MIPS Technology、NEC、
IDT、Siemensおよび他社のMIPS、および
IBMとMotorolaのPower PCを含むが
これらには限定されず、様々な市販のプロセッサのどれ
であってもよい。デュアルマイクロプロセッサおよび他
のマルチプロセッサアーキテクチャも、処理ユニット2
21として使用することができる。
Referring to FIG. 6, an exemplary system for implementing various aspects of the present invention includes a processing unit 22.
1, including a conventional computer 220, including a system memory 222 and a system bus 223 that couples various system components including the system memory to a processing unit 221. Processing unit is Intel x86
Pentium (R), Intel and C
Compatible microprocessors from other companies, including Yrix, AMD, Nexgen, Digital A
lpha, MIPS Technology, NEC,
Any of a variety of commercially available processors, including but not limited to IDT, MIPS from Siemens and other companies, and Power PC from IBM and Motorola. Dual microprocessors and other multi-processor architectures also have processing unit 2
21 can be used.

【0061】システムバスは、メモリバスまたはメモリ
コントローラと、周辺バスと、いくつか指定するならば
PCI、VESA、Microchannel、IS
A、およびEISAなどの様々な従来型バスアーキテク
チャのどれかを使用するローカルバスとを含めて、いく
つかのタイプのバス構成であってよい。システムメモリ
は、リードオンリーメモリ(ROM)224とランダム
アクセスメモリ(RAM)225とを含む。基本入出力
システム(BIOS)は、ROM224に格納されてお
り、スタートアップ中などにサーバコンピュータ220
内のエレメント間で情報を転送する助けとなる基本ルー
チンを含む。
The system bus includes a memory bus or memory controller, a peripheral bus, and PCI, VESA, Microchannel, IS
There may be several types of bus configurations, including A and local buses using any of a variety of conventional bus architectures such as EISA. The system memory includes a read only memory (ROM) 224 and a random access memory (RAM) 225. The basic input / output system (BIOS) is stored in the ROM 224, and the server computer 220 during startup or the like.
Includes basic routines that help transfer information between elements within.

【0062】コンピュータ220は、ハードディスクド
ライブ227と、たとえばリムーバブルディスク229
から読み込み、リムーバブルディスク229に書き込む
磁気ディスクドライブ228と、たとえばCD−ROM
ディスク231読込み用の、または他の光媒体から読み
込み、他の光媒体に書き込むための光ディスクドライブ
230とをさらに含む。ハードディスクドライブ22
7、磁気ディスクドライブ228、および光ディスクド
ライブ230は、ハードディスクドライブインタフェー
ス232、磁気ディスクドライブインタフェース23
3、および光ディスクドライブインタフェース234を
それぞれ介してシステムバス223に接続される。ドラ
イブおよびドライブに関連するコンピュータ可読媒体
は、サーバコンピュータ220にデータ、データ構造、
コンピュータ実行可能命令などの不揮発性記憶装置を提
供する。前述のコンピュータ可読媒体の記述ではハード
ディスク、リムーバブル磁気ディスク、およびCDに言
及したが、本発明の方法を実施するためには、コンピュ
ータによって読むことのできる他のタイプの媒体、たと
えば磁気カセット、フラッシュメモリカード、デジタル
ビデオディスク、Bernoulliカートリッジなど
も例示的動作環境において使用することができ、さらに
そのようないかなる媒体もコンピュータで実行可能な命
令を含むことができることを当業者なら理解するだろ
う。
The computer 220 includes a hard disk drive 227 and a removable disk 229, for example.
And a magnetic disk drive 228 for reading from the disk and writing to the removable disk 229, for example, a CD-ROM
An optical disk drive 230 for reading the disk 231 or reading from another optical medium and writing to another optical medium is further included. Hard disk drive 22
7, the magnetic disk drive 228 and the optical disk drive 230 include a hard disk drive interface 232 and a magnetic disk drive interface 23.
3 and an optical disk drive interface 234, respectively. The drives and the computer-readable media associated with the drives provide data, data structures,
Provide non-volatile storage such as computer-executable instructions. Although the above description of computer readable media refers to hard disks, removable magnetic disks, and CDs, other types of media that can be read by a computer, such as magnetic cassettes, flash memory, etc., are required to implement the methods of the present invention. Those skilled in the art will appreciate that cards, digital video discs, Bernoulli cartridges, and the like can also be used in the exemplary operating environment, and that any such media can include computer-executable instructions.

【0063】オペレーティングシステム235、1つま
たは複数のアプリケーションプログラム236、他のプ
ログラムモジュール237、およびプログラムデータ2
38を含めて、いくつかのプログラムモジュールを、ド
ライブとRAM225に格納することができる。例示の
コンピュータの中のオペレーティングシステム235
は、Microsoftのオペレーティングシステム
(たとえば、Windows(登録商標)NTオペレーテ
ィングシステム)であってよい。たとえばUNIX(登
録商標)など、他のオペレーティングシステムを使用す
ることができることを理解されたい。
Operating system 235, one or more application programs 236, other program modules 237, and program data 2
Some program modules, including 38, may be stored on the drive and RAM 225. Operating System 235 in Exemplary Computer
May be the Microsoft operating system (eg, the Windows NT operating system). It should be understood that other operating systems can be used, such as, for example, UNIX.

【0064】ユーザは、キーボード240と、マウス2
42などのポインティングデバイスを介してサーバコン
ピュータ220にコマンドと情報を入力することができ
る。他の入力デバイス(図示せず)には、マイクロフォ
ン、ジョイスティック、ゲームパッド、衛星放送受信ア
ンテナ、スキャナなどが含まれる。これらの入力デバイ
スや他の入力デバイスは、システムバスに結合するシリ
アルポートインタフェース246を介して処理ユニット
221にしばしば接続されるが、パラレルポート、ゲー
ムポート、またはユニバーサルシリアルバス(USB)
など他のインタフェースによって接続することもでき
る。モニタ247または他のタイプの表示装置も、ビデ
オアダプタ248などのインタフェースを介してシステ
ムバス223に接続することができる。コンピュータに
は、典型的には、モニタに加え、スピーカやプリンタな
ど他の周辺出力デバイス(図示せず)が含まれる。
The user can enter the keyboard 240 and the mouse 2
Commands and information can be input to the server computer 220 via a pointing device such as 42. Other input devices (not shown) include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 221 via a serial port interface 246 that couples to a system bus, but may include a parallel port, a game port, or a universal serial bus (USB).
It can also be connected by other interfaces. A monitor 247 or other type of display device may also be connected to the system bus 223 via an interface, such as a video adapter 248. Computers typically include, in addition to a monitor, other peripheral output devices (not shown) such as speakers and printers.

【0065】コンピュータ220は、リモートクライア
ントコンピュータ249など1つまたは複数のリモート
コンピュータへの論理接続を使用してネットワーク化さ
れた環境で動作することができる。リモートコンピュー
タ249は、図6にはメモリストレージデバイス250
しか示さないが、ワークステーション、サーバコンピュ
ータ、ルータ、ピアデバイス、または他の共通ネットワ
ークノードであってよく、典型的には、サーバコンピュ
ータ220に関して記述した多くのまたはすべてのエレ
メントを含む。図6に示す論理接続には、ローカルエリ
アネットワーク(LAN)251とワイドエリアネット
ワーク(WAN)252が含まれる。このようなネット
ワーキング環境は、オフィス、企業の広域コンピュータ
ネットワーク、イントラネットおよびインターネットで
は常識である。
Computer 220 can operate in a networked environment using logical connections to one or more remote computers, such as remote client computer 249. The remote computer 249 has a memory storage device 250 in FIG.
Although only shown, it may be a workstation, server computer, router, peer device, or other common network node, and typically includes many or all elements described with respect to server computer 220. The logical connection shown in FIG. 6 includes a local area network (LAN) 251 and a wide area network (WAN) 252. Such networking environments are commonplace in offices, enterprise wide area computer networks, intranets and the Internet.

【0066】LANネットワーキング環境で使用される
とき、サーバコンピュータ220は、ネットワークイン
タフェースまたはアダプタ253を介してローカルネッ
トワーク251に接続することができる。WANネット
ワーキング環境で使用されるとき、サーバコンピュータ
220は、一般に、モデム254を含むことができ、か
つ/またはLAN上の通信サーバに接続され、かつ/ま
たはインターネットなどの広域エリアネットワーク25
2を介した通信を確立する他の手段を有する。内部でも
外部でもあってよいモデム254は、シリアルポートイ
ンタフェース246を介してシステムバス223に接続
することができる。ネットワークされた環境で、コンピ
ュータ220に関係して示したプログラムモジュールま
たはその部分は、リモートメモリデバイスに格納するこ
とができる。示したネットワーク接続は、例示的なもの
であって、コンピュータ間に通信リンクを確立する他の
手段も使用することができることが理解されよう。
When used in a LAN networking environment, the server computer 220 can connect to the local network 251 via a network interface or adapter 253. When used in a WAN networking environment, the server computer 220 may generally include a modem 254 and / or may be connected to a communication server on a LAN and / or a wide area network 25 such as the Internet.
2 having other means of establishing communication over the network. A modem 254, which may be internal or external, may be connected to system bus 223 via serial port interface 246. In a networked environment, program modules depicted relative to the computer 220, or portions thereof, may be stored in the remote memory device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between the computers may be used.

【0067】コンピュータプログラミングの当業者の慣
行に従い、本発明は、特に指摘しない限り、コンピュー
タ220などのコンピュータによって実施される活動
(act)と動作のシンボリックな表示とを参照して記
述した。このような活動や動作は、時々、コンピュータ
実行(computer−executed)と呼ばれ
る。活動やシンボリックに表示された動作は、処理ユニ
ット221による、電気的信号表示の変形または減少の
原因となる、データビットを表す電気的信号の操作と、
コンピュータシステムの動作を再構成するか、それとも
変更する、メモリシステム(システムメモリ222、ハ
ードドライブ227、フロッピーディスク(登録商標)2
29およびCD−ROM231を含む)のメモリ記憶位
置におけるデータビットの維持と、他の信号の処理とを
含むことが理解されよう。このようなデータビットが維
持されるメモリ記憶位置は、データビットに対応する特
定の電気特性、磁気特性、光学特性を有する物理記憶位
置である。
In accordance with the practices of those skilled in computer programming, the present invention has been described with reference to acts and symbolic representations of operations performed by a computer, such as computer 220, unless otherwise indicated. Such an activity or action is sometimes referred to as computer-executed. The activities and symbolically indicated actions are performed by the processing unit 221 to manipulate the electrical signal representing the data bits, causing the electrical signal display to be deformed or reduced;
A memory system (system memory 222, hard drive 227, floppy disk (registered trademark) 2) that reconfigures or changes the operation of the computer system.
It will be understood that this includes maintaining the data bits in memory locations (including 29 and CD-ROM 231) and processing other signals. A memory location where such data bits are maintained is a physical location having specific electrical, magnetic, and optical properties corresponding to the data bits.

【0068】前述では、本発明の好ましい態様を説明し
た。当然、本発明を説明するための構成要素または方法
の考えうる限りのすべての組合せを記述することは不可
能であるが、本発明の多くのさらなる組合せおよび順列
を、当業者ならば理解するだろう。したがって、本発明
は、頭書の特許請求項の趣旨および範囲から逸脱するこ
となく、すべてのこのような代替形態、修正形態、およ
び変形形態を抱合することを意図するものである。
The preferred embodiment of the present invention has been described above. Of course, it is not possible to describe every conceivable combination of components or methods for describing the invention, but many additional combinations and permutations of the invention will be apparent to those skilled in the art. Would. Thus, it is intended that the present invention embrace all such alternatives, modifications and variances without departing from the spirit and scope of the appended claims.

【0069】[0069]

【発明の効果】以上説明したように、多層アーキテクチ
ャにより、ローカルシステム資源は、従来、中央に位置
するアプリケーションサーバシステムで提供されていた
アプリケーションをサービスすることができるようにな
る。したがって、本発明によれば、中央設置場所からサ
ービスが提供され、すなわち伝達されるのとは対照的
に、クライアントのパーソナルコンピュータシステム
が、ネットワークアプリケーションをローカルに提供
し、サービスすることができるので、性能とオフライン
機能が向上する。
As described above, the multi-layer architecture enables the local system resources to service applications provided by the application server system located at the center. Thus, according to the present invention, the client's personal computer system can provide and service network applications locally, as opposed to being provided or communicated from a central location, Performance and offline capabilities are improved.

【0070】また、サーバシステムからクライアントシ
ステムに性能の機能をシフトすることによって、ネット
ワーク性能を向上させ、リモートからのサービス要求に
関わる待ち時間を緩和することができ、さらにオフライ
ン機能も向上させることができる。
Further, by shifting the performance function from the server system to the client system, it is possible to improve the network performance, reduce the waiting time related to a remote service request, and further improve the offline function. it can.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一態様による多層アーキテクチャを示
す概略的ブロック図である。
FIG. 1 is a schematic block diagram illustrating a multi-layer architecture according to one aspect of the present invention.

【図2】本発明の別の態様による多層アーキテクチャを
示す概略的ブロック図である。
FIG. 2 is a schematic block diagram illustrating a multi-layer architecture according to another aspect of the invention.

【図3】本発明の一態様によるローカルアプリケーショ
ン環境を示す概略的ブロック図である。
FIG. 3 is a schematic block diagram illustrating a local application environment according to one aspect of the present invention.

【図4】本発明の一態様による要求処理システムを示す
概略的ブロック図である。
FIG. 4 is a schematic block diagram illustrating a request processing system according to one aspect of the present invention.

【図5】本発明の一態様による多層アーキテクチャを提
供する方法を示す流れ図である。
FIG. 5 is a flowchart illustrating a method for providing a multi-layer architecture according to one aspect of the present invention.

【図6】本発明の一態様によるシステムを示す概略的ブ
ロック図である。
FIG. 6 is a schematic block diagram illustrating a system according to one aspect of the present invention.

【符号の説明】[Explanation of symbols]

10a システム 20 ローカルシステム 40 リモートシステム 60 ブラウザ 92 ローカルハンドラ 10a system 20 local system 40 remote system 60 browser 92 local handler

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/16 620 G06F 9/06 640B (72)発明者 ゲイリー エス.バード アメリカ合衆国 98033 ワシントン州 カークランド ノースイースト 103 ス トリート 11411 (72)発明者 スコット ディー.ガスリー アメリカ合衆国 98004 ワシントン州 ベルビュー ノースイースト 1 ストリ ート 10011 アパートメント イー610 (72)発明者 中島 聡 アメリカ合衆国 98052 ワシントン州 レッドモンド 166 コート ノースイー スト 4902 (72)発明者 エリック ビー.オルソン アメリカ合衆国 98053 ワシントン州 レッドモンド ノースイースト 23 プレ イス 22612 (72)発明者 ディミトリー ロブズマン アメリカ合衆国 98008 ワシントン州 ベルビュー 169 プレイス ノースイー スト 1238 (72)発明者 ジョン ピー.シューチャク アメリカ合衆国 98053 ワシントン州 レッドモンド ノースイースト 67 スト リート 21604 (72)発明者 マイケル ジェイ.トートンク アメリカ合衆国 98115 ワシントン州 シアトル 19 アベニュー ノースイース ト 7752 (72)発明者 マヌ バサンダニ アメリカ合衆国 98007 ワシントン州 ベルビュー ノースイースト 39 ストリ ート 14523 アパートメント 1088 Fターム(参考) 5B045 GG06 HH03 5B076 BA04 BB06 5B085 AA01 BG07 5B098 AA10 GA04 GC16 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 15/16 620 G06F 9/06 640B (72) Inventor Gary S. Bird United States 98033 Kirkland, Washington Northeast 103 Street 11411 (72) Inventor Scott Dee. Guthrie United States 98004 Bellevue, Washington Northeast 1st Street 10011 Apartment E610 (72) Inventor Satoshi Nakajima United States 98052 Redmond, Washington 166 Court Northeast 4902 (72) Inventor Eric B. Olson United States 98053 Redmond, Washington Northeast 23 Place 22612 (72) Inventor Dmitry Robbsman United States 98008 Bellevue, Washington 169 Place Northeast 1238 (72) Inventor John P. Shuchak United States 98053 Redmond, Washington Northeast 67 Street 21604 (72) Inventor Michael Jay. Tortonk United States 98115 Seattle, Washington 19 Avenue Northeast 7752 (72) Inventor Manu Basantani United States 98007 Washington, Bellevue Northeast 39 Street 14523 Apartment 1088 F-Term (Reference) 5B045 GG06 HH03 5B076 BA04 BB06 5B085 AA01 BG07 5B098 AA10 GA GC16

Claims (21)

【特許請求の範囲】[Claims] 【請求項1】 ネットワークベースのアプリケーション
であって、アプリケーション論理とプレゼンテーション
論理とを備え、少なくともその一部は、変更を加えられ
ることなく、サーバまたはクライアントによって区別な
く処理されることを特徴とするアプリケーション。
Claims 1. An application comprising a network-based application, the application comprising application logic and presentation logic, at least a part of which is processed indiscriminately by a server or client without modification. .
【請求項2】 前記クライアントと前記サーバとの間で
コアアプリケーション機能が保存されることを特徴とす
る請求項1に記載のネットワークベースのアプリケーシ
ョン。
2. The network-based application according to claim 1, wherein core application functions are stored between the client and the server.
【請求項3】 前記サーバから前記クライアントにダウ
ンロードすることができるモバイル論理部分をさらに備
えたことを特徴とする請求項1に記載のネットワークベ
ースのアプリケーション。
3. The network-based application of claim 1, further comprising a mobile logic that can be downloaded from the server to the client.
【請求項4】 前記モバイル論理部分はCDまたはフレ
キシブルディスクを介してロードされることを特徴とす
る請求項3に記載のネットワークベースのアプリケーシ
ョン。
4. The network-based application according to claim 3, wherein the mobile logic part is loaded via a CD or a flexible disk.
【請求項5】 前記モバイル論理部分はセキュリティの
低いシステムに対して保護されない論理をさらに備えた
ことを特徴とする請求項3に記載のネットワークベース
のアプリケーション。
5. The network-based application of claim 3, wherein the mobile logic portion further comprises logic that is not protected for a less secure system.
【請求項6】 前記リモートデータはリモートデータ要
求に基づいてダウンロードされることを特徴とする請求
項3に記載のネットワークベースのアプリケーション。
6. The network-based application according to claim 3, wherein the remote data is downloaded based on a remote data request.
【請求項7】 前記リモートデータ要求はHTTP要求
であることを特徴とする請求項6に記載のネットワーク
ベースのアプリケーション。
7. The network-based application according to claim 6, wherein the remote data request is an HTTP request.
【請求項8】 前記リモートデータは、前記モバイル論
理部分に向けて送られたローカルデータ要求によって、
前記クライアントでローカルに処理されることを特徴と
する請求項6に記載のネットワークベースのアプリケー
ション。
8. The remote data is transmitted by a local data request sent to the mobile logic part.
The network-based application of claim 6, wherein the application is processed locally at the client.
【請求項9】 前記リモートデータは、XML応答及び
WML応答の少なくとも1つによって提供されることを
特徴とする請求項6に記載のネットワークベースのアプ
リケーション。
9. The network-based application according to claim 6, wherein the remote data is provided by at least one of an XML response and a WML response.
【請求項10】 前記リモートデータは、インターネッ
ト、イントラネット、及び無線ネットワークの少なくと
も1つを介して通信されることを特徴とする請求項6に
記載のネットワークベースのアプリケーション。
10. The network-based application of claim 6, wherein the remote data is communicated over at least one of the Internet, an intranet, and a wireless network.
【請求項11】 ネットワークベースのアプリケーショ
ンを処理するためのアーキテクチャであって、 クライアントでネットワークベースのアプリケーション
と対話するためのプレゼンテーション層と、 該プレゼンテーション層と操作可能に結合され、前記ク
ライアントまたはサーバのどちらかで前記ネットワーク
ベースのアプリケーションの少なくとも一部を実行する
モバイル層と、 該モバイル層及びプレゼンテーション層の少なくとも1
つと操作可能に結合され、前記サーバで、前記ネットワ
ークベースのアプリケーションの残りの部分を実行する
保護層とを備えたことを特徴とするアーキテクチャ。
11. An architecture for processing a network-based application, comprising: a presentation layer for interacting with a network-based application on a client; and operably coupled to the presentation layer; A mobile layer that executes at least a portion of the network-based application, and at least one of the mobile layer and the presentation layer
And a protection layer operably coupled to the server and executing the rest of the network-based application at the server.
【請求項12】 前記保護層と操作可能に結合され、前
記ネットワークベースのアプリケーションの実行に伴っ
て使用されるデータを含むデータ層をさらに含むことを
特徴とする請求項11に記載のアーキテクチャ。
12. The architecture of claim 11, further comprising a data layer operably coupled to the protection layer and including data used in executing the network-based application.
【請求項13】 前記保護層は、前記モバイル層が前記
ネットワークベースのアプリケーションを実行すること
を可能にする論理を含むことを特徴とする請求項11に
記載のアーキテクチャ。
13. The architecture of claim 11, wherein the protection layer includes logic that enables the mobile layer to execute the network based application.
【請求項14】 前記プレゼンテーション層は、前記モ
バイル層へのローカル要求を生成して、前記データ層に
よって供給されるデータを操作することを特徴とする請
求項12に記載のアーキテクチャ。
14. The architecture of claim 12, wherein the presentation layer generates a local request to the mobile layer to manipulate data provided by the data layer.
【請求項15】 前記モバイル層は、前記データ層によ
って提供されるデータを操作する前記保護層に関連付け
られたアプリケーション論理を実行することを特徴とす
る請求項14に記載のアーキテクチャ。
15. The architecture of claim 14, wherein the mobile layer executes application logic associated with the protection layer that operates on data provided by the data layer.
【請求項16】 前記モバイル層は、ローカルデータ要
求をオフラインで処理し、そのオフラインローカル要求
に基づいて、前記データ層に関連付けられたデータの送
信または受信の少なくとも1つを行うように前記保護層
へのリモート要求を生成することを特徴とする請求項1
5に記載のアーキテクチャ。
16. The protection layer to process a local data request offline and to perform at least one of transmitting or receiving data associated with the data layer based on the offline local request. Generating a remote request to a server.
5. The architecture according to 5.
【請求項17】 請求項16のアーキテクチャを実現す
るためのコンピュータ実行可能命令を有することを特徴
とするコンピュータ可読媒体。
17. A computer-readable medium having computer-executable instructions for implementing the architecture of claim 16.
【請求項18】 ネットワークベースのアプリケーショ
ンを処理するためのシステムであって、 クライアントでネットワークベースのアプリケーション
と対話する手段と、 前記クライアントによって生成された要求に基づいて、
前記クライアントまたはサーバのどちらかで前記ネット
ワークベースのアプリケーションの少なくとも一部を実
行する手段とを備えたことを特徴とするシステム。
18. A system for processing a network-based application, comprising: means for interacting with a network-based application at a client; and based on a request generated by the client.
Means for executing at least a portion of the network-based application on either the client or the server.
【請求項19】 前記ネットワークベースのアプリケー
ションに関連付けられたローカルデータ要求の実行に伴
って使用されるリモートデータを供給する手段をさらに
備えたことを特徴とする請求項18に記載のシステム。
19. The system of claim 18, further comprising means for providing remote data for use in performing a local data request associated with the network-based application.
【請求項20】 前記ローカルデータ要求をオフライン
で要求し、そのオフラインローカル要求に基づいて、リ
モートデータに関連付けられたデータの送信及び受信の
少なくとも1つを行うようにリモート要求を生成する手
段をさらに備えたことを特徴とする請求項19に記載の
アーキテクチャ。
20. A means for requesting the local data request off-line and generating a remote request based on the off-line local request to transmit and / or receive data associated with remote data. The architecture of claim 19 comprising:
【請求項21】 ネットワークベースのアプリケーショ
ンを実行する方法であって、 クライアントコンピュータ上でネットワークベースのア
プリケーションの少なくとも一部を実行し、前記ネット
ワークベースのアプリケーションはアプリケーション論
理とプレゼンテーション論理とからなり、少なくともそ
の一部は、変更を加えられることなく、サーバまたは前
記クライアントによって区別なく処理されることを特徴
とする方法。
21. A method for executing a network-based application, the method comprising executing at least a portion of a network-based application on a client computer, wherein the network-based application comprises application logic and presentation logic, A method wherein some are processed indiscriminately by a server or said client without modification.
JP2001186593A 2000-06-21 2001-06-20 Network-based application, architecture and system for processing it, and method for executing the same Expired - Fee Related JP4950389B2 (en)

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 true JP2002116919A (en) 2002-04-19
JP4950389B2 JP4950389B2 (en) 2012-06-13

Family

ID=22794065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001186593A Expired - Fee Related JP4950389B2 (en) 2000-06-21 2001-06-20 Network-based application, architecture and system for processing it, and method for executing the same

Country Status (1)

Country Link
JP (1) JP4950389B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034225A1 (en) * 1996-03-14 1997-09-18 Steven Domenikos Systems and methods for executing application programs from a memory device linked to a server
JPH11134277A (en) * 1997-08-28 1999-05-21 Internatl Business Mach Corp <Ibm> Client side asynchronous form management method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034225A1 (en) * 1996-03-14 1997-09-18 Steven Domenikos Systems and methods for executing application programs from a memory device linked to a server
JPH11134277A (en) * 1997-08-28 1999-05-21 Internatl Business Mach Corp <Ibm> Client side asynchronous form management method and device

Also Published As

Publication number Publication date
JP4950389B2 (en) 2012-06-13

Similar Documents

Publication Publication Date Title
US6996599B1 (en) System and method providing multi-tier applications architecture
US10244058B2 (en) Extending functionality of applications
US7117504B2 (en) Application program interface that enables communication for a network software platform
JP5389829B2 (en) XML-based web feed for remote resource web access
US6438600B1 (en) Securely sharing log-in credentials among trusted browser-based applications
JP3978185B2 (en) Fragment linking and fragment caching methods and systems
TW591909B (en) Dynamic deployment of services in a computing network
US5987517A (en) System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols
CA2279382C (en) Web request broker controlling multiple processes
US20060069774A1 (en) Method and apparatus for managing data center using Web services
JP2003076560A (en) Asp. net http runtime
US20110191771A1 (en) Feature Manager System for Facilitating Communication and Shared Functionality Among Components
JP2003534588A (en) Data porting of processes in a distributed computing environment Process porting using language representation
JP2003533766A (en) Mechanisms and apparatus for accessing and addressing services in a distributed computing environment
JPH10154078A (en) Access supply method for network service
CA2298003A1 (en) Scripting task-level user interfaces
JP2004504657A (en) Remote method call with secure messaging in a distributed computing environment
US20080140777A1 (en) Selective mirrored site accesses from a communication
JP2007506163A (en) Dynamic content processing system and method with scalable provisioning
JP2003534597A (en) Remote function invocation using messaging in a distributed computing environment
US7406457B2 (en) Dynamic sample data switch
JP4950389B2 (en) Network-based application, architecture and system for processing it, and method for executing the same
JP2002333986A (en) Application server system and program and storage medium with the program stored therein
JP2003533767A (en) Transform objects between computer programming languages and data representation languages
KR19990031814A (en) Product information management system to manage product information through the web

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