JP2003501726A - サーバ・エージェント・システム - Google Patents
サーバ・エージェント・システムInfo
- Publication number
- JP2003501726A JP2003501726A JP2001500974A JP2001500974A JP2003501726A JP 2003501726 A JP2003501726 A JP 2003501726A JP 2001500974 A JP2001500974 A JP 2001500974A JP 2001500974 A JP2001500974 A JP 2001500974A JP 2003501726 A JP2003501726 A JP 2003501726A
- Authority
- JP
- Japan
- Prior art keywords
- agent
- server
- client
- event
- agent means
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
ンに関する。特に、本発明は、コンピュータ環境における非同期クライアント・
サーバ・トランザクションのためのエージェントの作成および動作に関する。
るのが困難であった。現在、ユーザがウェブサイト上のドキュメントにアップデ
ートを待っている場合、ユーザは、そのドキュメントを調べるために、ウェブサ
ーバでホストとして働くウェブサイトを定期的に訪れなければならない。ドキュ
メントがアップデートされる時を、ユーザに知らせるための自動的な方法がない
。このことは、ユーザにしばしばサーバを訪れることを強制し、それは、増加す
るネットワークトラフィック、サーバ上のより高い負荷、より遅い応答時間、お
よびユーザに対する不都合を引き起こす。
例えば、誰かの誕生日に電子メールを送信すること)を行うこと必要とする。ユ
ーザのタスクが、時間が非常にクリティカルである場合がある。ウェブサーバは
、現在、このようなタスクを行う方法を備えていない。これは、ウェブサーバが
、受動的であり、かつユーザがそれに接続したときしかタスクを行わないからで
ある。
は、ユーザに定期的にウェブサイトをポーリングすることを要求する。このこと
は、ユーザが重要な日付を覚えていなければならず、しかもユーザが日付を忘れ
た場合、ユーザは、その日付に関連する重要なタスクを実行することは出来ない
ことを意味する。上記したように、現在のアプローチは、ネットワークトラフィ
ックを増加させ、ウェブサーバにより高い負荷を引き起こすことに加え、ルーチ
ン・タスクを自動化するための方法を備えていない。
ジェント・システムを提供することは、有利であろう。クライアントが、これら
のイベントに応じて、クライアントによって特定される動作を、クライアントか
らの更なる如何なる関与も必要とせずに、行うエージェントを容易に作成するこ
とが出来るサーバ・エージェント・システムを提供することは、更に有利である
。
ライアントによって特定される、サーバに発生するイベントを非同期でモニタす
る。このサーバは、これら特定のイベントに応じてアクションを行う。さらに、
本発明は、モニタリング・サービスを行うエージェントを、ユーザが、容易に作
成し、かつ維持することが出来るシステムを提供する。
トによってサーバに送信されたエージェントを提供する。既定されたイベントが
発生すると、、エージェントは各イベントに応じて設定されたアクションを行う
。このアクションは、クライアントによって既定されている。
を要求しない。エージェントが行うことが出来るイベントのタイプは、ホスト・
サーバによって特定される。
。ニュースリーダによって作成される場合、エージェントは、アプリケーション
によって提供された付加価値サービスとして扱われる。
全てとすることが出来、しかもJavaおよび/またはJavascriptプログラムの実行
を含むことが出来る。Javaおよび/またはJavascriptプログラムは、クライアン
トまたはサーバによって供給される。エージェントのイベントおよびアクション
は、エージェントの実行を依頼したクライアントと同じアクセス制御およびセキ
ュリティ制限を受ける。
受信されたことを確認する通知を、サーバからクライアントに送信するために使
用される。電子メール機能は、多様であり、クライアントが、電子メール通知を
クライアントのグループに送信することを特定することも可能である。サーバは
、エージェントが期限切れになったことをクライアントに通知するためにも、電
子メール通知を使用する。
されたエージェントは、エージェント・テンプレートとして供給され、かつクラ
イアントがエージェントを構築するのためのビルディングブロックを構築してい
る。サーバは、それが理解するエージェントしか供給することが出来ない。サー
バは、エージェント・ホームページ上で利用可能なエージェント・テンプレート
およびイベントを公開する。クライアントは、サーバで利用可能なエージェント
タイプのリストからエージェントを選択し、かつサーバにエージェントを実行依
頼する。
トを提供する。クライアントは、各サーバ上でそれらのエージェントをモニタし
、かつ管理する。各エージェントには、サーバによって一意の名前およびトーク
ンが割り当てられる。名前は、また、クライアントによってエージェントに割り
当てることも出来る。サーバ管理者には、そのサーバに常駐のエージェントを維
持し、かつ管理するための管理機能が提供される。
ェントは、次いで、適切なイベントにマップされ、かつそのイベントの発生によ
りトリガされる。エージェントがトリガされると、そのアクション・リストが処
理される。アクションは、実行され、かつエージェント情報および統計値は、ロ
グ記録される。
面と共に以下の詳細な説明から明らかになるであろう。
化される。本発明のシステムは、サーバおよびクライアント間の非同期トランザ
クションのための方法を提供する。さらに、本発明は、ユーザが、非同期トラン
ザクションを行うエージェントを作成し、かつモニタすることが容易に出来るシ
ステムを提供する。
ーネット、またはイントラネットのようなコンピュータ・ネットワーク104を介
してサーバ105に置かれるエージェントを作成し、かつモニタすることが出来る
。これらのエージェントは、サーバ105上の特定の非同期イベントをモニタし、
かつこれらのイベントに応じてユーザに特定されたタスク(例えば、ある特定の
日付に、思い出させるためのメモメッセージを、クライアントに電子メールする
)を行う。
クを介してサーバ上のドキュメントを見ることしか出来ない。サーバは、クライ
アントがサーバに接続している間のみ、サービスを提供する。つまり、クライア
ント・サーバ・トランザクションは、同期している。しかしながら、多くの状況
において、非同期サーバ・レスポンスを備えていることが、望ましいであろう。
生を通知することが出来るなら、それは、非常に役に立つであろう。例えば、ク
ライアントは、特定の本が貸出手続きで利用可能な場合には、図書館(サーバ)
から通知が来るようにすることを要請することが出来る。また、クライアントは
、特定のフライトで席が利用可能になった場合、航空会社チケット・サーバから
電話が来るようにすることを要請することが出来る。これらは、サーバからのレ
スポンスが非同期である具体例である。このシナリオには、二つの別個の段階が
ある: 1. クライアントが、特定のイベントが発生すると、サーバがいくつかのアク
ションを行うことを要請する;そして 2. サーバが、クライアントの要請の状況を常に把握し、かつそのイベントが
発生すると、アクションを行う。
ライアントが、サーバにイベントをモニタしかつアクションを行うことを要請し
たあと、サーバがサービスを保証する責任を引き継ぐことである。クライアント
は、サーバに接続されているままである必要はない。
る。所望のイベントが発生すると、サーバは、クライアントに代わって、イベン
トをモニタし、かつアクションをトリガする。つまり、サーバは、イベント/ア
クションに関してクライアントのエージェントの働きをする。
を引き渡す。イベント/アクションの組み合わせは、サーバにクライアントのエ
ージェントとして存在する。エージェント・オブジェクトは、クライアントにサ
ービスを提供する、しかし、エージェントは、そのサーバによって管理され、モ
ニタされ、かつ制御される。タームサーバサイドエージェントも、また、エージ
ェントを記述するために使用される。
語には、様々な意味がある。自律的なエージェントは、サイトの間で移動するプ
ログラムであり、いつ移動するべきか、および何を成すべきかを単独で決める。
これらは、特別なサーバの間でしか移動することが出来ず、現在、インターネッ
トでは普及していない。
よってユーザをガイドする、またはユーザが事象を見つけることを助けさえする
ような、事象でユーザを助けるプログラムである。これらは、一般に、ネットワ
ーキングとほとんど関係ない。
工知能エリア(学習エージェント)にある。ウェブ・エージェントは、クライア
ントが、イベントに応じて実行されなければならないサーバに、アクションを特
定することが出来る小さい実体である。
プログラムとして見ることも出来る。エージェントは、また、巨大な量のデータ
上で作業する小さいプログラムとも見られる。データを異なる位置からエージェ
ント・サイトに移動させる代わりに、プログラムは、そのデータ・サイトへ移動
する。一つのサイトから別のサイトにプログラム(エージェント)を移動させる
コストは、取るに足りない。これは、ウェブクローラ(web crawler)背後の根本
的理由である。この典型的具体例は、バケーションパッケージに関する最高のデ
ィールを探して一つのサイトから別のサイトに移動するエージェントである。
むオブジェクトである。イベントとアクションはどちらも、複合プログラムとし
て実施することが出来る。エージェントが行うことが出来ることは、完全に、そ
れを実施するプログラマ次第である。
ールを提供する。エージェントは、本明細書において、サーバからのサービスを
要求するが、クライアントによって作成されるオブジェクトとして記述されてい
る。つまり、エージェントは、サーバ上で起こっている事象(イベント)に興味
があり、および、それはサーバ上でクライアントに代わって実行する。
するにもかかわらず、エージェントは、クライアント・サイドに存在することも
出来、かつサーバ、またはおそらく別のクライアントによって定義することが出
来ることを、容易に理解するであろう。
設定されたアクション)を有する。イベントは、そのアクションをトリガする何
かである。それは、特定の時刻(例えば、1996年3月4日月曜日午前9時)、また
は事象(例えば、フライトXの席が利用可能である、および接続しているフライ
トYの席もまた利用可能である、およびホテルHの宿泊設備が利用可能である)の
論理結合と同程度に単純化させることが出来る。
0分)とすることも出来る。このような繰り返されているイベントを、決して終
了しないエージェントとすることも出来るであろう(すなわち、それを作成した
クライアントがそうすることを要請する場合のみ、それは終了することが出来る
)。理想的には、クライアントが興味をもつ如何なるタイプのイベントも、サポ
ートされる。
、クライアントが行いたい如何なるものも含まれる。このアクションは、クライ
アントに電子メール・メッセージを送信すると言うように単純なものとすること
も出来るし、また、これを、一連のアクション(例えば、フライトXおよびYの予
約をする、ホテルHに部屋を予約する、スピィーディ車レンタル店で車を予約す
る、空港まで乗せてもらうことを頼んでいる友人Fにメッセージを送信する、新
聞代理店に新聞の配信を一時停止するよう依頼するメッセージを送信するなど)
とすることも出来る。アクションには、ファンドがクライアントのスイスの銀行
預金口座に預けられたことを知らせる彼への電話(または、ポケットベル(登録 商標))呼出しを設定することも出来る。より複雑なアクションの場合、エージ ェント・オブジェクトが作成されると、クライアントによって実行依頼されたJa vaプログラム(または、JavaScriptスクリプト)を実行するようサーバに依頼す ることが出来る。
とについて、保証されていない。エージェントが待っているイベントが絶対に発
生しないことも、あり得る。例えば、エージェントが、ファイルに対する変更を
待っているが、そのファイルは、削除される場合、そのイベントは、以後起こる
はずがない。これは、エージェントの終結(異常終了)を引き起こす。エージェ
ントのオーナーは、このような失敗を示す通知を受信する。
る。エージェントを作成することは、イベントおよび関連したアクションのスペ
ックを含む。これは、イベントをチェックする小さいプログラムを書くことに似
ている。クライアントが、ほとんどあるいは全く変更せずに使用することが出来
る標準エージェント・テンプレートのセットが、本発明によって提供される。例
えば、ウェブページへの変更をモニタするエージェントは、標準テンプレートで
ある。時間イベントでトリガされるエージェントは、別の標準テンプレートであ
る。ほとんどの場合、クライアントは、これらのテンプレート・エージェントを
修正し、かつそれにより行われる。
ントのための高性能なエージェントを作成するための機能も、また、本発明によ
って提供される。
ある。一旦エージェント・オブジェクトが正常にサーバに転送され(または、送
信されて)、かつサーバによって確認されると、(いくつかの破局的なイベント
によりサーバがその責任を成し遂げることが防げられる場合を除いて)クライア
ントは、要請されたサービスが行われる保証をリセットすることが出来る。エー
ジェント・オブジェクトは永続的であるので、サーバ・クラッシュが、エージェ
ント・オブジェクトの損失を意味しないことに留意されたい。
。シンプルな時間イベントも有り、関係データベースによって生成される複雑な
イベントも有る。以下は、可能なイベントタイプのリストの具体例である。 時間に関するイベント 特定の日付および時刻でのトリガ。 定期的なトリガ(繰り返されるイベント)。 日付がXで、かつ曜日がYである場合のトリガ。 日付がXで、曜日がYで、かつ偶数の(または、奇数の)月である場合のトリ ガ。 ドキュメントに関するイベント あるタイプの新規なドキュメントが、サーバに作成される。 特定のドキュメントの新規なバージョンが、サーバに作成される。 あるユーザによる新規なドキュメントが、作成される。 ドキュメントが、削除される。 ドキュメントが、移動する、またはその名前が変えられる。 特定のドキュメントが、サーバ上で修正される。 特定のドキュメントが、あるユーザによってアクセスされる。 特定のユーザが、サーバ上の任意のドキュメントにアクセスする。 特定のユーザが、サーバ上のドキュメントを修正する。 特定のタイプのドキュメントが、サーバに作成される。 管理イベント これらのエージェントは、サーバの管理者に有益である。エージェントは、 特定のユーザによるアクセス、特定ユーザの接続切断、低いディスクスペー ス、ログ・ファイル・サイズ、などを探すことが出来る。サーバ・ライタお よびサーバ管理者は、イベントを検出するための方法を提供する。ユーザは 、サーバによって公開されたイベントに登録することが出来る。(サーバの 完全制御権を有する)サーバ管理者は、新規なイベントを加え、かつ公開す ることが出来る。 プログラム検出イベント 高度なユーザは、イベントを検出しかつエージェントをトリガするために、 Java/JavaScriptプログラムを実行依頼するかもしれない。この場合にも、 ユーザは、任意のJavaプログラムをエージェントの一部として実行依頼する ことは出来ないであろう。サーバは、クライアントがそれらのエージェント で使用することが出来る特定のJava/JavaScriptプログラムを提供する。こ のようなJava/JavaScriptプログラムの利用可能なセットは、サーバ管理者 によって決定される。
を検出する能力を有する。エージェント・フレームワークは、イベントを検出す
るために直接サービスを提供する。また、フレームワークは、クライアントが、
Java/Javascriptプログラムを書くことによって、興味あるイベントを検出する
ために使用することが出来るサービス・アクセス・ポイントをイネーブルにする
。エージェントは、サーバによって公開されたイベントしか登録することが出来
ない。クライアントは、如何なる任意のイベントに登録することが出来ない。こ
れは、サーバごとに、提供されるサービスの種類が異なり、かつ、サーバ・ライ
タが、それらのサーバからどのイベントが利用可能であるかを決めるからである
。
用することが出来るイベントの完全なセットを公開する。このことは、サーバ管
理者が、エージェントによって検出可能な如何なるイベントをも支配する完全制
御を有することを可能にする。利用可能にされるイベントのタイプは、サーバ・
ライタによってのみ制限され、エージェント・フレームワークによっては制限さ
れない。エージェント・フレームワークは、デフォルトで、上記したサーバのよ
うなサーバの中で最も一般的なイベントの基本セットを提供する。
定することができる。例えば、クライアント201は、「ドキュメントAが、1997年
1月1日前に修正されると、クライアントにメールを送信する。」を特定すること
が出来る。イベント206が発生すると、すなわち、ドキュメントAが、1997年1月1
日前に修正されると、エージェントは、サーバ205に電子メール・メッセージ207
をクライアント201に送信させる。クライアントは、また、電子メール・メッセ
ージ208、209、210を、いくつかのクライアント202、203、204に送信することも
特定することが出来たであろう。
、クライアントが望む如何なるものも行うように、(アクセス制御のもとで)Ja
va/JavaScriptプログラムを書くことが出来るからである。しかし、大部分のク
ライアントのために、最低限、アクションのタイプの以下の具体例は、提供され
るべきである: ・ 特定ユーザに特定コンテンツを備えたメール・メッセージを送信する。 ・ (サーバが、電話/ファックスへのアクセスを有すると考えられる)特定 のユーザに、電話、ページを起動する(または、ファックスを送信する) 。 ・ ニュースグループに新規なメッセージを掲示する。 ・ データベース(または、ログ・ファイル)に、エントリをログ記録する。 ・ ウェブ・ページに掲示する。 ・ HTTP通知を送信する。 ・ 別のエージェントをサーバ上でランさせる。 ・ トリガされた場合、Java/JavaScriptプログラムが供給されたサーバを実行 する。 ・ SNMPアクション。
ーバ上に類似したアプリケーション・プログラミング・インタフェース(API)が
必要である。
が出来る。エージェント・フレームワークは、クライアントが、それらが好む如
何なることも行うために使用することが出来るサービスを提供する。
て制御される。エージェントは、サーバによってサポートされるこれらのアクシ
ョンしか行うことが出来ない。エージェント・フレームワークは、サーバ・ライ
タがこれらの特定のアクションを実施するために必要なAPIを提供する。(メー
ル・メッセージを送信すること、ウェブ・ページに掲示することのような)大部
分の一般的なアクションは、ベース・エージェント・フレームワークの部分であ
る。
(使用禁止にする、除去する、コピーする、一覧を示す、など)ための機能が、
必要である。クライアントは、クライアントによって作成された全てのエージェ
ントのリストをレビューすることを希望することが出来る。同様に、サーバ・サ
イドでは、そのサーバに常駐のエージェントの全てを管理するための機能が、必
要である。以下のパラグラフは、クライアントの観点に焦点を合わせる。
プが既定されたセットをサポートする。これらは、任意のオブジェクト指向言語
のクラスに類似している。クライアントは、そのテンプレートのうちの一つのイ
ンスタンスを作成し、かつそれをサーバに実行依頼しなければならない。クライ
アントによって実行依頼されるエージェントの任意のインスタンスは、クライア
ントに代わってサーバでランする。これを容易にするために、エージェント・サ
ービスをサポートしているすべてのサーバは、エージェント・ホームページを提
供する。
・テンプレートの全てを記述し、かつ基本的にフォームズ・インタフェースであ
る。(テキストの記述を含めて)すべてのエージェント・テンプレートの完全な
詳細が、このページで利用可能である。クライアントは、このページをナビゲー
トすることが出来、エージェント・テンプレートのうちの一つのインスタンスを
作成することが出来、かつそれをサーバに実行依頼することが出来る。エージェ
ントのインスタンスを作成する処理を更に容易にするために、サーバは、エージ
ェント・テンプレートを異なるカテゴリ(ドキュメント関連、時間関連、SNMP関
連、動作システム関連、データベース関連など)にグループ化することが出来る
。クライアントは、エージェント・テンプレートの階層的なリストをナビゲート
することが出来る。
ページへ行くことが出来ないかもしれない。エージェント・サービスをサポート
するニュース・サーバを考慮すべきである。クライアントは、新規なアーティク
ルが特定のニュースグループの特定のスレッドに加えられると、クライアントに
通知するエージェントを作成することが出来る。クライアントは、ホームページ
について何も知ることが出来ない。
にするために、ウェブ・ブラウザのメタ(または、サービス)・メニュを、使用
することが出来る。メタ・メニュは、ドキュメント・メタ情報にアクセスするた
めに使用される。エージェントは、ドキュメント・ライタが、サポート出来るか
もしれないメタ機能(アプリケーションによって提供された付加価値サービス)
として扱われる。
成させることが出来るメニュ項目をメタ・メニュに加えるであろう。このメニュ
オプションを選択することによって、アプリケーション(ニュースリーダ)は、
エージェント・テンプレートのインスタンスを作成し、かつそれを(クライアン
トによる確認の後)サーバに実行依頼する。これは、クライアントが、エージェ
ントをそれらのアプリケーションのコンテクストにおいて実行依頼することを可
能にする。
。遅かれ早かれ、大部分のエージェントがこのように作成されることは、当然と
思われる。これによって、また、コンテンツ・プロバイダが、クライアントがエ
ージェントについての何かを行うことなしにまたは知ることなしに、エージェン
ト・サービスを提供することが出来る。
では、十分ではない。エージェントを修正し、かつ保存するための機能も、また
、必要である。例えば、クライアントは、特定の会議時刻で通知のためのエージ
ェントを作成するかもしれない。しかし、後に、クライアントはその通知時刻を
変更したいと思うかもしれない。エージェントを識別するためにクライアントが
その名前を使用することが出来るように、エージェント(エージェントID)に名
前をつけることは、可能でなければならない。名前付け方式は、エージェントID
をクライアント・サーバ・ペア(タプル)全体に一意に決定するように、クライ
アントの名前とサーバ名とを使用する。これは、既存のエージェントが修正され
て、再実行依頼される一つのタイプのエージェント編集である。
保存したいと思う場合がある。例えば、クライアントは、異なる時刻用の時刻通
知エージェントを作成することが出来る。この演算を何度も行う代わりに、クラ
イアントは、一つのエージェントを作成し、それをコピーし、時間成分を修正し
、およびそれらをサーバに実行依頼することが出来るであろう。
ッションについて、電子メールによるサーバからの確認を受信する。つまり、ク
ライアントは、エージェント・サービスを使用するために、電子メール・アドレ
スを有しなければならない。メールメッセージは、エージェントの名前(エージ
ェント識別)、作成時刻、その他について詳細を提供する。クライアントは、こ
のような確認を取り扱うために、それらのメール・クライアント(メール・フィ
ルタ)を使用しなければならない。
ルとして使われる。ユーザがかれらの電子メール・アカウントへのアクセスを有
するならば、ユーザは、それらのエージェントに関する詳細に、どこからでもア
クセスすることが出来る。エージェントを実行依頼しているクライアントは、ま
た、その確認が全てのグループに送信されるように、特定することも出来る。サ
ーバによって送信される確認メッセージが消失する場合、ユーザは、別のエージ
ェントに実行依頼しなければならない。確認メッセージの消失は、そのエージェ
ント自体がサーバによって受け入れられなかったことを意味するものではない。
それは、クライアントがサーバによって出された確認を受信しなかったことを示
すに過ぎない。
ぶことが出来る。サーバは、実行依頼された(幾分URIに似た)各々のエージェ
ントに対して一意に決定されるIDを生成する。このエージェントIDは、上述した
確認メッセージの中でクライアントに送信される。クライアントは、それらがエ
ージェントに関してサーバと通信するときに、このIDを使用しなければならない
。
ユーザ・アドレス等)を含む。本明細書での目的は、エージェントIDをサーバ上
のページにマップすることである。クライアントは、エージェントIDをクリック
し、そのエージェントについての情報を持ち出し、かつそれを編集することが可
能である。このことは、全てのブラウザ・インタフェースをエージェント・ユニ
フォーム(クリックできるオブジェクト)にする。
アクセスしなかった)クライアントは、それらのエージェントの全てを列挙する
ためにこのメカニズムを使用することが出来る。例え、このことが、多数のエー
ジェントを実行依頼したクライアントにとっては多少退屈であるとしても、これ
は、エージェント情報にアクセスする別の方法を提供する。
バ・ベースごとに、見ることが可能である。クライアントが、エージェントを除
去し、エージェントを中止し、かつエージェントを使用可能にすることは、簡単
である。エージェント・オブジェクトが中止されると、それは、サーバに残った
ままであるが、それは、アクティブではない(それは、イベントに従っていない
)。つまり、 イベントが発生しても、エージェントはトリガされない。このよ
うな休止中のエージェントは、再び使用可能とすることが出来、かつそれらは、
ノーマルなエージェントになる。
ついてもはや何も知らない。これは、物理的にサーバ上のエージェントのリスト
から除去される( 削除される)。エージェントを(再び)見ると、エージェン
トについて関連した全ての情報(実行依頼された日付/時刻、起動回数、最後に
修正された日付/時刻など)が、利用可能となる。
障、エージェント・オブジェクトの認証などの場合、エージェント・オブジェク
ト永続性、エージェント情報ロギング、エラー回復を扱う。
ある場合、クライアントは、動作が行われることを確信する。しかし、サーバが
ある条件に起因してクラッシュする場合(または、それが管理者によるシャット
ダウンである場合)、何が起こるであろうか? サーバが再スタートする場合、
サーバがクラッシュした直前にアクティブであった全てのエージェントは、復活
しなければならない。このことは、エージェントの状態が永続性であることを要
求する。サーバ・クラッシュおよびこのような破局的なイベントからエージェン
トを回復させるために、アーキテクチャは、エージェント永続性を保証するため
にチェックサムおよび他のエラー回復スキーマを実施する。
する。情報は、エージェント・オブジェクトが実行依頼された時刻、エージェン
ト・オブジェクトがイベントに起因してトリガされた時刻、(イベント・エージ
ェントを繰り返す場合)エージェントがトリガされた回数、などを含む。さらに
、実行依頼されたエージェントの合計数、トリガされたエージェントの数、クラ
イアントによって削除されたエージェントの数、期限切れになったエージェント
の数などのような一般情報も、また、利用可能である。
く同様である。サーバ管理者は、エージェントを中止し、使用可能にし、および
終了することが出来るべきである。このような全てのケースにおいて、エージェ
ントの発信者は、アクションの十分な説明を備える動作について、通知を受信す
るべきである。例えば、それが、許容量以上に多くの資源(ディスク、メモリな
ど)を消費していたとの理由で、エージェントを、終了することが出来る。
数、アクティブであることが出来るクライアント毎のエージェントの数、エージ
ェント上の資源制限などに制限を課すことが出来るべきである。サーバに実行依
頼された多数のエージェント・オブジェクトが、存在するかもしれないが、それ
らの全てがアクティブであるとは限らないであろうという点に留意されたい。
例えば、サーバは、時間データの塊を5分に制限することを特定するかもしれな
い。これら全ての制限は、サーバ・ベース(サーバ管理)ごとに、設定可能であ
る。
完全制御を有する。(上述したように)ノーマルなクライアントが行うことが出
来ることに加えて、サーバ管理者は、以下のことが出来る: ・ サーバ上の全てのエージェントを見ること ・ ユーザによって ・ (期限切れになった、トリガされた、トリガするために待っている、ユ ーザによって削除された)状態によって ・ エージェントが属するエージェント・テンプレート・クラスによって ・ 作成時刻によって ・ 任意のエージェントを削除し、修正し、および中止する ・ エージェントのアクティビティを制限する ・ クラスのエージェントを制限する ・ ユーザによって ・ グループによって ・ ドメインによって ・ 全てによって ・エージェント・サブミッションを使用可能/中止にする ・ ユーザによって ・ グループによって ・ ドメインによって ・ 全てによって ・ 作成されるエージェントの数を制限する ・ ユーザによって ・ グループによって ・ ドメインによって ・ 全てによって ・ エージェントのマニュアル・トリガを強行する
い。クライアントとサーバはどちらも、名前付け機能を必要とする。クライアン
トは、サーバに名前によってエージェントを終了するよう依頼するかもしれない
。同様に、サーバは、エージェントの失効を示すクライアントへの通知を送信す
るかもしれない。エージェントの名前は、前述したように、URIに非常に似てい
る。
る観点から強化されなければならない。クライアントによって実行依頼されるエ
ージェントは、サーバ側でアクセス制御を受ける。エージェントは、エージェン
トを作成したクライアントがアクセスすることが出来ない如何なるものにもアク
セスすることが出来ない。これは、おそらく強化することが最も難しいものであ
る。それは、JavaとJavaScriptエージェントでは、より困難でさえある。これに
関連する問題は、多数ある。
およびそれがどんなアクションを行うことが出来るかにと言う点について強化さ
れなければならない。このことは、エージェントがサーバによって受け入れられ
る前に、可能な限り確認される。エージェントは、イベントおよび/またはアク
ション上のアクセス制御チェックが失敗すると、サーバに入ることが許されない
。アクセス制御は、また、エージェント作成およびエージェント削除に関しても
強化される。全てのクライアントが、エージェントをサーバに実行依頼させるこ
とが出来るとは限らない。同様に、許可された人間しか、エージェントを、削除
することは出来ない。このような動作は、全て、厳しいアクセス制御を受ける。
、エージェントが完了まで実行される保証はない。サーバの動的に変化する性質
およびインターネット環境に起因して、イベントをトリガすることに起因してそ
れが実行される場合、エージェントは、アクセス制御チェックに失敗するかもし
れない。クライアントには、適切な説明によってこのような故障が通知される。
れる。クライアントに見ることの許可が与えられていない限り、クライアントは
、他によって作成されたエージェントを、削除/修正は言うまでもなく、見るこ
とも出来ない。
ージェント・オブジェクトを調べることは出来ない。管理者は、サーバ上のエー
ジェント・オブジェクトを管理する(使用可能にする、使用禁止にするなど)こ
とが可能であるが、彼は、エージェントに含まれるイベントまたはアクションを
見ることは出来ない。
びアクセス制御は無料で利用可能である。
、あるアドレスにメール・メッセージを送信すること関する場合、メール・メッ
セージは、メッセージを送信させた、エージェントの作成者(エージェントを実
行依頼したクライアント)を識別するであろう。
象を行うために彼ら自身のコードを書きたいと思うであろう。APIは、サーバの
エージェント能力を利用するために、エージェント・プログラマに提供される。
ら独立させておくことであった。つまり、エージェント・サブシステムは、完全
にサーバの特定のタイプから切り離されるべきである。これは、エージェント・
サービスが、任意のNetscapeサーバ(またはサード・パーティのサーバさえ)、
またはエージェント・サービスを要求する他の任意のアプリケーションによって
も、使用することが出来ることを確実にするために行われる。この目標を達成す
るために、エージェント・サブシステムは、別個の入れ替え可能なコンポーネン
トに分けられる。ハイレベルアーキテクチャの図は、図3に示される。
プデート、永続性の記憶およびエージェント管理の一部、の全ての観点を管理す
る。エージェントを作成することを望む任意のプログラム(またはクライアント
)は、このコンポーネントのAPIを使用しなければならない。
ジェントIDは、サーバ内で一意に決定されるが、サーバ全体では一意に決定され
ない。これらのエージェントIDは、エージェント・コントローラ・コンポーネン
トによって生成される。
は、AC 305のAPIにプログラムしなければならない。HTTPサーバリエイゾン(rias
ion)コンポーネント301は、エージェントを作成して、管理するために必要なUI
を提供する。
ジェント・インスタンスのコンセプトは、以前に、導入された。例えば、(ユー
ザのジョンによって作成された)ドキュメントhttp://warp/foo.htm.を待つエー
ジェントについて考察しよう。エージェントが「ドキュメントをチェックアウト
する」イベントに興味があると仮定する。チェックアウトのためのイベントタイ
プは、この具体例の場合105である。組み合わせ「http://warp.foo.htm + 105」
は、一意のトークンである。このトークンは、エージェント・クラスを識別する
。この時に、このエージェント・クラスの一つのインスタンス(またはオブジェ
クト)しかない: エージェント・クラス識別子………………………インスタンスの数 ―――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------------------> 1(ユーザのジョン)
にエージェント・オブジェクトを作成することを望む。この点で、同じイベント
タイプに対しこのドキュメントを待っているエージェント・オブジェクトが、す
でに存在する。従って、エージェント・クラスはすでに存在し、そしてこのエー
ジェント・クラスの新規なオブジェクトが、作成されなければならない: エージェント・クラス名………………インスタンスの数 ――――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------->2(ユーザのジョン、ユーザのスミス)
ージェントを作成したいが、彼女は、ドキュメントが削除されたら(イベントタ
イプ106)、通知されることを望むというシナリオについて考察しよう。組合せ
「http://warp.foo.htm + 106」は、別のエージェント・クラス名である。エー
ジェント・イベント・プロセッサ306は、このエージェント・クラスが存在しな
い、それゆえ、エージェント・クラス「http://warp.foo.htm + 106」を作成し
、そしてユーザのジェーンのためにこのクラスの最初のオブジェクトを作成する
ことを認識する。 エージェント・クラス名………………インスタンスの数 ――――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------->2(ユーザのジョン、ユーザのスミス) http://warp.foo.htm + 106--------->1(ユーザのジェーン)
ることを望む場合、別のエージェント・クラスが作成される。タイマ・アラーム
がイベントタイプ222を有すると仮定すると: エージェント・クラス名………………インスタンスの数 ――――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------->2(ユーザのジョン、ユーザのスミス) http://warp.foo.htm + 106--------->1(ユーザのジェーン) 1996年8月15日木曜日10:00 AM+ 222-->1(ユーザのジャック)
数は、はるかに少ない。すべてのエージェント・オブジェクトは、その一意の名
前として<クラス名、インスタンス数>を有する。詳細は、ここでは、単なる情
報として示される。クライアントは、これらの詳細について何も知る必要はない
。
は、HTML、NSAPI問題、エージェント・ホームページ、などを理解する。HSL 302
は、ウェブ・ブラウザを使用して、エージェントを作成するために、さまざまな
UI関連スタッフを提供する。それは、HTTP入力を受け入れそしてそれを適当なア
ーギュメントに解析する(このアーギュメントは、次いでAC 305に渡される)責
任がある。AC 305からの全てのUIおよびサーバ関連問題は、これによって分離さ
れる。これは、Model-View-Controller(MVC)パラダイムの直接のアプリケーショ
ンである。
ってくる要請に基づいて、ユーザが、エージェント・サービスにアクセスする許
可が与えられているか否かを、チェックすることが出来る。あるサーバの場合に
は、HSLコンポーネント302が存在することが出来ないことに留意されたい。
ェント・サブシステム311の内部コンポーネントである。これは、全ての永続性
の記憶問題(BTree、データベースなど)を管理する。AC 305は、エージェント
記憶装置310を使用する。エージェント管理コンポーネント304も、エージェント
記憶装置310を使用する。
は、フラットファイルで、ほとんど完全に回復可能である。これは、シーケンシ
ャルにエージェント・オブジェクトを格納する。これは、データベースがすべて
のサーバによって使われる場合、真のデータベースと取り替えられる。
ハッシュテーブルが損なわれると、それは破棄され、そして、新しいものが一次
記憶装置を使用して構築される。
る。エージェントをトリガすることが出来るイベントの可能なセットは、大量と
することが出来る。エージェント・サブシステム310は、それが理解するイベン
トタイプによって、制限されるべきでない。サーバ/アプリケーションの開発者
が、エージェントをトリガする新規なイベントタイプを定義することは、可能で
あるとすべきである。この目標を達成するために、イベント検出およびトリガは
、EPコンポーネント306に委任される。
は、異なるイベントタイプを理解すること、それらに登録すること、それらを検
出すること、および最後に、エージェントをトリガする責任がある。AC 305に渡
された任意のイベント関連データも、AC 305の範囲内の任意の処理なしで、EP 3
06上に、透過的に渡される。
。EP 306がイベントを検出すると、それは、AC 305によってエクスポートされる
トリガ機能を呼び出す。同じイベントを待っているマルチプル・エージェント(
場合によっては数千)を取り扱う問題は、AC 305によって取り扱われる。
イベントとを検出するために使用することが出来る。他のサーバは、それら自身
のイベント・プロセッサを提供することが出来、そして、エージェントコントロ
ーラは、いかなる問題も生ぜずに、それらとともに作業する。
ナンスを提供する必要はない。それは、サーバランの間、永続的に必要な情報を
格納することしか出来ないとすべきである。これは、 エージェント・サブシス
テムが初期化されると、AC 305が、EP 306でエージェント記憶装置の全てのエー
ジェント・オブジェクトの登録を始める(AC 305は、エージェント・オブジェク
トの永続に責任がある)からである。しかしながら、新規なEPの作成者が、彼ら
自身の方式を採用することは自由である。
が使用されるいくつかの管理機能をサポートする。
ジェント作成要請が、AC 305に実行依頼されると、それは、EP 306に(必要に応
じて)イベント登録を処理するよう依頼する。EP 306は、AC 305にイベント・ハ
ンドルを戻す。このイベント・ハンドルが、同じイベントを待っているエージェ
ント・オブジェクトを管理するために、AC 305によって使用される(最も単純な
ケースの場合、イベント・ハンドルを、フォーマット「http://warp.foo.htm +
105」の文字列とすることが可能であろう)。イベントのために登録されたエー
ジェント・オブジェクトがすでに存在するか否かを検出して、マルチプル登録を
避けることは、EP 306の責任である。これは、全く明瞭であるべきである。
によって受信される場合、 1. AC 305が、EP 306にイベント情報を渡す。 2. EP 306が、イベントタイプを使用して、イベント・ハンドルを構築し、か つそれがメッセージ・ハンドラですでに登録されたか否かをチェックする ために、それをそのデータベースで調べる。 3. (2) が真の場合、EP 306は、すぐにこのイベントと関連するイベント・ハ ンドルをAC 305に戻す。 4. (2) が否の場合、EP 306はイベントに関する通知のためのメッセージ・ハ ンドラに名前を登録して、それからAC 305にイベント・ハンドルを戻す。 5. AC 305が、このエージェント・オブジェクトのための新規なエージェントI Dを生成する。 6. AC 305が、(ある場合)このイベント・ハンドルで待ち行列を作ったエー ジェント・オブジェクトのリストを設置するためにイベント・ハンドルを 使用して、新規なエージェント・オブジェクトをリストに加え、そしてエ ージェント記憶装置をアップデートする。 7. 最後に、AC 305が、クライアントにエージェントIDを戻す。 8. ウェブ・ブラウザを使用してクライアントによって実行依頼されるエージ ェントの場合には、この新規なエージェント・オブジェクトについての情 報をクライアントに掲示する。これは、HTTPサーバ・リエイゾン302によ って行われる。
ション(メールを送信する、ページに掲示する、プログラムをランする)を行う
責任がある。これは、異なるアクション・タイプを理解して、どのようにアクシ
ョンを行うかを知っている単純なコンポーネントである。
ション・タイプ情報を処理しない。エージェントのアクションに関する全てのデ
ータは、エージェントがトリガされると、AP 308に渡される。APコンポーネント
308は、また、サーバ/アプリケーション・ライタによって供給させることも出
来る。一つのインプリメンテーションは、全てのトリガされたエージェントの待
ち行列を維持し、シーケンシャルにそれらのアクションを実行し、そしてそれが
(すべてのエージェントに対して)行われた処理である場合AC 305に知らせる。
05は、トリガされたエージェントを生産し、そしてAP 308は、それらを消費する
。AP 308の実行は、EP 306およびAC 305の実行から独立している。
ならない。これは、JavaScriptアクションでは扱いにくい。
出来る。例えば、それは、JavaScriptアクションを2秒間しか実行しないように
制限することが出来るであろう。このような決定は、全て、AP作成者に任せられ
る。
は、サーバラン全体に永続的である必要はない。いくつかのアクションが、サー
バ・クラッシュに起因して消失した場合、サーバが再スタートするときに、AC 3
08は、常にそのアクションを再スタートさせることが出来る。
により、このようにこれを行うことがより容易になる。
の処理が行われると、AP 308によってリリースされるであろう。アクションを、
(アクションのリストが非常に大きい場合)処理が行われると削除されるテンポ
ラリーファイルに渡すことも、また、考えられる。AC 305は、状況に応じてこれ
らの方式の何れかを使用することが出来る。これは、AP 308とAC 305との間の内
部プロトコルである。
ての情報を記録する責任がある。これは、非常に単純なAPIを提供し、かつ他の
コンポーネントは、必要に応じてログ記録するために必要な情報によりそれを呼
び出す。
機能を提供する。これによって、管理者および通常のユーザは、エージェントの
グループのみならず特定エージェントについての情報も、(ACLのもとに)問い
合わせかつ検索することが出来る。
ージェント・サービスを使用可能および使用禁止にする管理も可能となる。エー
ジェント管理304において行われる大部分の作業は、エージェント記憶装置310に
依存する。
るいかなる動作に対してもACLを確認することを担当する。これは、アクセスを
確認するためにACL等を維持することに責任がある。
のアプリケーションが、本発明の精神および範囲から逸脱することなく、本明細
書に記載したアプリケーションに代えることが出来ることは、容易に理解するで
あろう。したがって、本発明は、添付の請求の範囲によってしか制限されるべき
ではない。
・インタラクションのブロック線図を示す。
図を示す。
図を示す。
Claims (69)
- 【請求項1】 コンピュータ環境におけるコンピュータ・ネットワーク全体の非同期サーバ・
クライアント・トランザクションのための処理であって、 当該サーバ上の特定のイベントをモニタするための当該サーバに置かれるエー
ジェント手段を提供し、かつ 当該イベントが発生すると、当該エージェント手段が、当該イベントに応じて
、設定された一つまたは複数のアクションを行うステップを有する処理。 - 【請求項2】 当該一つまたは複数のアクションが、当該クライアントによって既定される、
請求項1に記載の処理。 - 【請求項3】 当該エージェント手段が、当該クライアントによって当該サーバに置かれ、か
つ当該クライアントの更なる介入を要求しない、請求項1に記載の処理。 - 【請求項4】 当該エージェント手段が、ニュースリーダによって作成され、かつ前記アプリ
ケーションによって提供された付加価値サービスとして扱われ、かつ当該エージ
ェント手段が、次いで、当該サーバに当該クライアントの承認に基づいて送信さ
れる、請求項1に記載の処理。 - 【請求項5】 当該エージェント手段が、当該サーバによって特定されるイベントの前記タイ
プのみをモニタする、請求項1に記載の処理。 - 【請求項6】 当該エージェント手段が、Javaおよび/またはJavascriptプログラムの前記実
行を含むアクションを行う、請求項1に記載の処理。 - 【請求項7】 当該Javaおよび/またはJavascriptプログラムが、前記クライアントによって
供給される、請求項6に記載の処理。 - 【請求項8】 当該Javaおよび/またはJavascriptプログラムが、前記サーバによって供給さ
れる、請求項6に記載の処理。 - 【請求項9】 当該エージェント手段が、当該エージェント手段を作成した前記クライアント
と同じアクセス制御セキュリティ制限を受ける、請求項1に記載の処理。 - 【請求項10】 当該エージェント手段が受信されたことを確認する、電子メール通知を、当該
サーバから当該クライアントへ送信し、かつ 当該電子メール通知が、クライアントのグループに送信されるように特定する
ことも出来るステップをさらに有する、請求項1に記載の処理。 - 【請求項11】 当該クライアントにエージェント手段が期限切れになったことを通知する電子
メール通知を、当該サーバから当該クライアントに送信するステップをさらに有
する、請求項1に記載の処理。 - 【請求項12】 当該サーバによってサポートされるエージェント・タイプの前記既定されたセ
ットであるエージェント・テンプレートを、提供するステップをさらに有する、
請求項1に記載の処理。 - 【請求項13】 当該サーバが、前記異なるエージェント・テンプレートおよび当該サーバで利
用可能なイベントを、エージェント・ホームページに公開する、請求項1に記載
の処理。 - 【請求項14】 クライアントが、当該サーバで利用可能なエージェント・タイプの前記リスト
からエージェントを選択し、かつエージェントを当該サーバに実行依頼する、請
求項1に記載の処理。 - 【請求項15】 当該クライアントが、当該エージェント手段をモニタし、かつ管理することが
出来るための管理手段を提供するステップをさらに有する、請求項1に記載の処
理。 - 【請求項16】 当該サーバが、各エージェント手段に一意の名前を割り当てる、請求項1に記
載の処理。 - 【請求項17】 当該エージェント手段に、一意のトークン識別子が割り当てられる、請求項1
に記載の処理。 - 【請求項18】 当該クライアントが、当該エージェント手段に名前付けする、請求項1に記載
の処理。 - 【請求項19】 サーバ管理者が、そのサーバに常駐のエージェント手段を維持し、かつ管理す
ることが出来るためのサーバ管理手段を提供するテップをさらに有する、請求項
1に記載の処理。 - 【請求項20】 当該サーバ上のエージェント・オブジェクトを作成するためのエージェント・
オブジェクト作成手段を提供するステップをさらに有する、請求項1に記載の処
理。 - 【請求項21】 前記エージェント手段を前記適切なイベントにマップし、かつ当該イベントの
発生でトリガするためのエージェント・トリガ手段を提供するステップをさらに
有する、請求項1に記載の処理。 - 【請求項22】 エージェント手段のための前記アクション・リストを処理するためのエージェ
ント処理手段を提供するステップをさらに有する、請求項1に記載の処理。 - 【請求項23】 エージェント情報および統計値をログ記録するためのエージェント・ロギング
手段を提供するステップをさらに有する、請求項1に記載の処理。 - 【請求項24】 コンピュータ環境におけるコンピュータ・ネットワーク全体の非同期サーバ・
クライアント・トランザクションのための装置であって、 当該サーバ上の特定のイベントをモニタするための当該サーバに置かれるエー
ジェント手段を有し 、かつ 当該イベントが発生すると、、当該エージェント手段が、当該イベントに応じ
て、設定された一つまたは複数のアクションを行う装置。 - 【請求項25】 当該一つまたは複数のアクションが、当該クライアントによって既定される、
請求項24に記載の装置。 - 【請求項26】 当該エージェント手段が、当該クライアントによって当該サーバに置かれ、か
つ当該クライアントの更なる介入を要求しない、請求項24に記載の装置。 - 【請求項27】 当該エージェント手段が、ニュースリーダによって作成され、かつ前記アプリ
ケーションによって提供された付加価値サービスとして扱われ、かつ当該エージ
ェント手段が、次いで、当該サーバに当該クライアントの承認に基づいて送信さ
れる、請求項24に記載の装置。 - 【請求項28】 当該エージェント手段が、当該サーバによって特定されるイベントの前記タイ
プのみをモニタする、請求項24に記載の装置。 - 【請求項29】 当該エージェント手段が、Javaおよび/またはJavascriptプログラムの前記実
行を含むアクションを行う、請求項24に記載の装置。 - 【請求項30】 当該Javaおよび/またはJavascriptプログラムが、前記クライアントによって
供給される、請求項29に記載の装置。 - 【請求項31】 当該Javaおよび/またはJavascriptプログラムが、前記サーバによって供給さ
れる、請求項29に記載の装置。 - 【請求項32】 当該エージェント手段が、当該エージェント手段を作成した前記クライアント
と同じアクセス制御セキュリティ制限を受ける、請求項24に記載の装置。 - 【請求項33】 当該エージェント手段が受信されたことを確認する、電子メール通知を、当該
サーバから当該クライアントへ送信し、かつ 当該電子メール通知が、クライアントのグループに送信されるように特定する
ことも出来るモジュールをさらに有する、請求項24に記載の装置。 - 【請求項34】 当該クライアントにエージェント手段が期限切れになったことを通知する、電
子メール通知を当該サーバから当該クライアントに送信するモジュールをさらに
有する、請求項24に記載の装置。 - 【請求項35】 当該サーバによってサポートされるエージェント・タイプの前記既定されたセ
ットであるエージェント・テンプレートをさらに有する、請求項24に記載の装置
。 - 【請求項36】 当該サーバが、前記異なるエージェント・テンプレートおよび当該サーバで利
用可能なイベントをエージェント・ホームページに公開する、請求項24に記載の
装置。 - 【請求項37】 クライアントが、当該サーバで利用可能なエージェント・タイプの前記リスト
から選択し、かつエージェントを当該サーバに実行依頼する、請求項24に記載の
装置。 - 【請求項38】 当該クライアントが、当該エージェント手段をモニタし、かつ管理することが
出来るための管理手段をさらに有する、請求項24に記載の装置。 - 【請求項39】 当該サーバが、各エージェント手段に一意の名前を割り当てる、請求項24に記
載の装置。 - 【請求項40】 当該エージェント手段に、一意のトークン識別子が割り当てられる、請求項24
に記載の装置。 - 【請求項41】 当該クライアントが、当該エージェント手段に名前付けする、請求項24に記載
の装置。 - 【請求項42】 サーバ管理者が、そのサーバに常駐のエージェント手段を維持し、かつ管理す
ることが出来るためのサーバ管理手段をさらに有する、請求項24に記載の装置。 - 【請求項43】 当該サーバ上のエージェント・オブジェクトを作成するためのエージェント・
オブジェクト作成手段をさらに有する、請求項24に記載の装置。 - 【請求項44】 前記エージェント手段を前記適切なイベントにマップし、かつ当該イベントの
発生でトリガするためのエージェント・トリガ手段をさらに有する、請求項24に
記載の装置。 - 【請求項45】 エージェント手段のための前記アクション・リストを処理するためのエージェ
ント処理手段をさらに有する、請求項24に記載の装置。 - 【請求項46】 エージェント情報および統計値をログ記録するためのエージェント・ロギング
手段をさらに有する、請求項24に記載の装置。 - 【請求項47】 コンピュータによって読み込み可能なプログラム記憶媒体であって、コンピュ
ータ環境におけるコンピュータ・ネットワーク全体の非同期サーバ・クライアン
ト・トランザクションのための方法ステップを行うための前記コンピュータによ
って実行可能な命令のプログラムを有形的に具体化し、 当該サーバ上の特定のイベントをモニタするための当該サーバに置かれるエー
ジェント手段を提供し、かつ 当該イベントが発生すると、当該エージェント手段が当該イベントに応じて、
設定された一つまたは複数のアクションを行うステップを有する記憶媒体。 - 【請求項48】 当該一つまたは複数のアクションが、当該クライアントによって既定される、
請求項47に記載の方法。 - 【請求項49】 当該エージェント手段が、当該クライアントによって当該サーバに置かれ、か
つ当該クライアントの更なる介入を要求しない、請求項47に記載の方法。 - 【請求項50】 当該エージェント手段が、ニュースリーダによって作成され、かつ前記アプリ
ケーションによって提供された付加価値サービスとして扱われ、かつ当該エージ
ェント手段が、次いで、当該サーバに当該クライアントの承認に基づいて送信さ
れる、請求項47に記載の方法。 - 【請求項51】 当該エージェント手段が、当該サーバによって特定されるイベントの前記タイ
プのみをモニタする、請求項47に記載の方法。 - 【請求項52】 当該エージェント手段が、Javaおよび/またはJavascriptプログラムの前記実
行を含むアクションを行う、請求項47に記載の方法。 - 【請求項53】 当該Javaおよび/またはJavascriptプログラムが、前記クライアントによって
供給される、請求項52に記載の方法。 - 【請求項54】 当該Javaおよび/またはJavascriptプログラムが、前記サーバによって供給さ
れる、請求項52に記載の方法。 - 【請求項55】 当該エージェント手段が、当該エージェント手段を作成した前記クライアント
と同じアクセス制御セキュリティ制限を受ける、請求項47に記載の方法。 - 【請求項56】 当該エージェント手段が受信されたことを確認する、電子メール通知を、当該
サーバから当該クライアントへ送信し、かつ 当該電子メール通知が、クライアントのグループに送信されるように特定する
ことも出来るステップをさらに有する、請求項47に記載の方法。 - 【請求項57】 当該クライアントにエージェント手段が期限切れになったことを通知する、電
子メール通知を当該サーバから当該クライアントに送信するステップをさらに有
する、請求項47に記載の方法。 - 【請求項58】 当該サーバによってサポートされるエージェント・タイプの前記既定されたセ
ットであるエージェント・テンプレートを提供するステップをさらに有する、請
求項47に記載の方法。 - 【請求項59】 当該サーバが、前記異なるエージェント・テンプレートおよび当該サーバで利
用可能なイベントをエージェント・ホームページに公開する、請求項47に記載の
方法。 - 【請求項60】 クライアントが、当該サーバで利用可能なエージェント・タイプの前記リスト
から選択し、かつエージェントを当該サーバに実行依頼する、請求項47に記載の
方法。 - 【請求項61】 当該クライアントが、当該エージェント手段をモニタし、かつ管理することが
出来るための管理手段を提供するステップをさらに有する、請求項47に記載の方
法。 - 【請求項62】 当該サーバが、各エージェント手段に一意の名前を割り当てる、請求項47に記
載の方法。 - 【請求項63】 当該エージェント手段に、一意のトークン識別子が割り当てられる、請求項47
に記載の方法。 - 【請求項64】 当該クライアントが、当該エージェント手段に名前付けする、請求項47に記載
の方法。 - 【請求項65】 サーバ管理者が、そのサーバに常駐のエージェント手段を維持し、かつ管理す
ることが出来るためのサーバ管理手段を提供するテップをさらに有する、請求項
47に記載の方法。 - 【請求項66】 当該サーバ上のエージェント・オブジェクトを作成するためのエージェント・
オブジェクト作成手段を提供するステップをさらに有する、請求項47に記載の方
法。 - 【請求項67】 前記エージェント手段を前記適切なイベントにマップし、かつ当該イベントの
発生でトリガするためのエージェント・トリガ手段を提供するステップをさらに
有する、請求項47に記載の方法。 - 【請求項68】 エージェント手段のための前記アクション・リストを処理するためのエージェ
ント処理手段を提供するステップをさらに有する、請求項47に記載の方法。 - 【請求項69】 エージェント情報および統計値をログ記録するためのエージェント・ロギング
手段を提供するステップをさらに有する、請求項47に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/321,646 US6658453B1 (en) | 1998-05-28 | 1999-05-28 | Server agent system |
US09/321,646 | 1999-05-28 | ||
PCT/US2000/013296 WO2000073924A2 (en) | 1999-05-28 | 2000-05-11 | Server agent system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003501726A true JP2003501726A (ja) | 2003-01-14 |
JP4028233B2 JP4028233B2 (ja) | 2007-12-26 |
Family
ID=23251418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001500974A Expired - Fee Related JP4028233B2 (ja) | 1999-05-28 | 2000-05-11 | サーバ・エージェント・システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US6658453B1 (ja) |
EP (1) | EP1190341A2 (ja) |
JP (1) | JP4028233B2 (ja) |
AU (1) | AU769089B2 (ja) |
CA (1) | CA2369958C (ja) |
WO (1) | WO2000073924A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013502013A (ja) * | 2009-08-13 | 2013-01-17 | グーグル・インコーポレーテッド | イベントトリガされたサーバサイドマクロ |
JP2013502017A (ja) * | 2009-08-13 | 2013-01-17 | グーグル・インコーポレーテッド | ホストとなるコンピュータ環境における仮想オブジェクト間接化 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3734206B2 (ja) * | 1998-05-01 | 2006-01-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | エージェント対話管理方法、コンピュータ及び記憶媒体 |
US20040154027A1 (en) * | 1998-10-14 | 2004-08-05 | Jean-Jacques Vandewalle | Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server |
JP2001211197A (ja) * | 2000-01-26 | 2001-08-03 | Nec Corp | 通信システム、通信方法、ゲートウェイ装置およびクライアント |
US7171441B2 (en) * | 2000-09-07 | 2007-01-30 | Fujitsu Limited | Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same |
DE10049610A1 (de) * | 2000-10-05 | 2002-04-18 | Alcatel Sa | Netzwerkmanagement-Client |
US20020107905A1 (en) * | 2001-02-05 | 2002-08-08 | Roe Colleen A. | Scalable agent service system |
US6886173B2 (en) * | 2001-05-30 | 2005-04-26 | International Business Machines Corporation | Methods, systems and computer program products for coupling electronic mail and relational database functions |
US7428752B2 (en) * | 2001-06-01 | 2008-09-23 | Applications In Internet Time, Llc | Secure data accessing system and method |
GB2377783B (en) * | 2001-07-20 | 2005-04-27 | Ibm | A method, system and computer program for controlling access in a distributed data processing system |
US7275048B2 (en) * | 2001-10-30 | 2007-09-25 | International Business Machines Corporation | Product support of computer-related products using intelligent agents |
US7269833B2 (en) * | 2001-12-12 | 2007-09-11 | Sun Microsystems, Inc. | Scriptable plug-in application programming interface |
US7877435B2 (en) * | 2002-06-20 | 2011-01-25 | International Business Machines Corporation | Method and system for transaction pipeline decomposition |
US20040010448A1 (en) * | 2002-07-12 | 2004-01-15 | Miller William E. | System and method for marketing advertising space on disposable consumer items |
US8117264B1 (en) | 2002-10-07 | 2012-02-14 | Yahoo! Inc. | Email system |
WO2004034706A1 (en) * | 2002-10-09 | 2004-04-22 | Koninklijke Philips Electronics N.V. | Building an interest profile on a media system with stored agents |
US8230445B2 (en) * | 2003-01-14 | 2012-07-24 | International Business Machines Corporation | Event management method and system |
GB0302926D0 (en) * | 2003-02-08 | 2003-03-12 | Grex Games Ltd | System architecture and engine for massively multi-user operation |
EP1614255B1 (en) * | 2003-04-04 | 2014-09-03 | CA, Inc. | Method and system for discovery of remote agents |
US7353536B1 (en) * | 2003-09-23 | 2008-04-01 | At&T Delaware Intellectual Property, Inc | Methods of resetting passwords in network service systems including user redirection and related systems and computer-program products |
DE10348209A1 (de) * | 2003-10-16 | 2005-05-12 | Volkswagen Ag | Verfahren und System zur Analyse von Einrichtungen eines Verkehrsmittels und/oder eines Zustands eines Verkehrsmittels |
US8831026B2 (en) * | 2004-03-19 | 2014-09-09 | International Business Machines Corporation | Method and apparatus for dynamically scheduling requests |
JP2006330853A (ja) * | 2005-05-23 | 2006-12-07 | Fujitsu Ltd | 情報処理装置及び情報処理装置用メールサーバ |
US20070033210A1 (en) * | 2005-08-02 | 2007-02-08 | Motorola, Inc. | Application data interaction method and system using an interaction manager |
US20070083829A1 (en) * | 2005-10-11 | 2007-04-12 | International Business Machines Corporation | Application program initiation with initial display selection |
US8127000B2 (en) | 2006-06-30 | 2012-02-28 | Tealeaf Technology, Inc. | Method and apparatus for monitoring and synchronizing user interface events with network data |
US8868533B2 (en) | 2006-06-30 | 2014-10-21 | International Business Machines Corporation | Method and apparatus for intelligent capture of document object model events |
US8583772B2 (en) | 2008-08-14 | 2013-11-12 | International Business Machines Corporation | Dynamically configurable session agent |
US8949406B2 (en) | 2008-08-14 | 2015-02-03 | International Business Machines Corporation | Method and system for communication between a client system and a server system |
KR100869902B1 (ko) * | 2007-01-26 | 2008-11-24 | 삼성에스디에스 주식회사 | 통합관리 시스템 환경에서의 장애 및 성능정보 통합모니터링 방법 및 그 시스템 |
US20080288621A1 (en) * | 2007-05-18 | 2008-11-20 | Snell Dustin M | Agent workflow system and method |
US8042055B2 (en) * | 2007-08-31 | 2011-10-18 | Tealeaf Technology, Inc. | Replaying captured network interactions |
US8849753B2 (en) * | 2008-05-20 | 2014-09-30 | Microsoft Corporation | Automating asynchronous programming in single threaded systems |
US8364663B2 (en) * | 2008-09-05 | 2013-01-29 | Microsoft Corporation | Tokenized javascript indexing system |
US8930818B2 (en) | 2009-03-31 | 2015-01-06 | International Business Machines Corporation | Visualization of website analytics |
US9934320B2 (en) | 2009-03-31 | 2018-04-03 | International Business Machines Corporation | Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions |
US8914736B2 (en) | 2010-03-30 | 2014-12-16 | International Business Machines Corporation | On-page manipulation and real-time replacement of content |
US8533532B2 (en) | 2010-06-23 | 2013-09-10 | International Business Machines Corporation | System identifying and inferring web session events |
US9635094B2 (en) | 2012-10-15 | 2017-04-25 | International Business Machines Corporation | Capturing and replaying application sessions using resource files |
US9536108B2 (en) | 2012-10-23 | 2017-01-03 | International Business Machines Corporation | Method and apparatus for generating privacy profiles |
US9535720B2 (en) | 2012-11-13 | 2017-01-03 | International Business Machines Corporation | System for capturing and replaying screen gestures |
US10474735B2 (en) | 2012-11-19 | 2019-11-12 | Acoustic, L.P. | Dynamic zooming of content with overlays |
US10509527B2 (en) * | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
US10985937B2 (en) * | 2015-02-05 | 2021-04-20 | Apple Inc. | Delegation or revocation of trigger execution in an automated environment |
EP3329376B1 (en) * | 2015-07-31 | 2022-04-27 | Apple Inc. | Delegation of trigger execution in an automated environment |
US10055199B2 (en) * | 2016-02-10 | 2018-08-21 | NodeSource, Inc. | Transparent node runtime and management layer |
US10223104B2 (en) | 2016-06-10 | 2019-03-05 | International Business Machines Corporation | Optimizing a build process by scaling build agents based on system need |
WO2023034791A1 (en) * | 2021-08-30 | 2023-03-09 | Jpmorgan Chase Bank, N.A. | Systems and methods for programmable payments enabled by triggers based on mutual validation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10334065A (ja) * | 1997-05-27 | 1998-12-18 | Internatl Business Mach Corp <Ibm> | 情報処理方法及び情報処理装置、サーバを制御するプログラムを格納した記憶媒体 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ298861A (en) | 1995-01-23 | 1999-01-28 | British Telecomm | Accessing information from a store by comparing keywords with information descriptors |
US5721825A (en) * | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
JPH09325939A (ja) * | 1996-06-05 | 1997-12-16 | Hitachi Ltd | エージェント機能を備えるグループウェアシステム |
US5813007A (en) * | 1996-06-20 | 1998-09-22 | Sun Microsystems, Inc. | Automatic updates of bookmarks in a client computer |
US5978566A (en) * | 1996-07-12 | 1999-11-02 | Microsoft Corporation | Client side deferred actions within multiple MAPI profiles |
US5872931A (en) * | 1996-08-13 | 1999-02-16 | Veritas Software, Corp. | Management agent automatically executes corrective scripts in accordance with occurrences of specified events regardless of conditions of management interface and management engine |
US5944782A (en) * | 1996-10-16 | 1999-08-31 | Veritas Software Corporation | Event management system for distributed computing environment |
US6151623A (en) * | 1996-12-13 | 2000-11-21 | International Business Machines Corporation | Agent activity report via object embedding |
US5917489A (en) * | 1997-01-31 | 1999-06-29 | Microsoft Corporation | System and method for creating, editing, and distributing rules for processing electronic messages |
JP3139408B2 (ja) * | 1997-03-17 | 2001-02-26 | カシオ計算機株式会社 | ホームページ更新通知装置 |
US6154843A (en) * | 1997-03-21 | 2000-11-28 | Microsoft Corporation | Secure remote access computing system |
US6055570A (en) * | 1997-04-03 | 2000-04-25 | Sun Microsystems, Inc. | Subscribed update monitors |
AU753202B2 (en) | 1997-07-25 | 2002-10-10 | British Telecommunications Public Limited Company | Software system generation |
KR20010031249A (ko) | 1997-10-21 | 2001-04-16 | 내쉬 로저 윌리엄 | 정보 관리 시스템 |
US6167441A (en) * | 1997-11-21 | 2000-12-26 | International Business Machines Corporation | Customization of web pages based on requester type |
US6094681A (en) * | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
US6219694B1 (en) * | 1998-05-29 | 2001-04-17 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device having a shared electronic address |
-
1999
- 1999-05-28 US US09/321,646 patent/US6658453B1/en not_active Expired - Lifetime
-
2000
- 2000-05-11 JP JP2001500974A patent/JP4028233B2/ja not_active Expired - Fee Related
- 2000-05-11 CA CA002369958A patent/CA2369958C/en not_active Expired - Lifetime
- 2000-05-11 AU AU51345/00A patent/AU769089B2/en not_active Ceased
- 2000-05-11 WO PCT/US2000/013296 patent/WO2000073924A2/en active IP Right Grant
- 2000-05-11 EP EP00935965A patent/EP1190341A2/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10334065A (ja) * | 1997-05-27 | 1998-12-18 | Internatl Business Mach Corp <Ibm> | 情報処理方法及び情報処理装置、サーバを制御するプログラムを格納した記憶媒体 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013502013A (ja) * | 2009-08-13 | 2013-01-17 | グーグル・インコーポレーテッド | イベントトリガされたサーバサイドマクロ |
JP2013502017A (ja) * | 2009-08-13 | 2013-01-17 | グーグル・インコーポレーテッド | ホストとなるコンピュータ環境における仮想オブジェクト間接化 |
US8713584B2 (en) | 2009-08-13 | 2014-04-29 | Google Inc. | Event-triggered server-side macros |
US8826304B2 (en) | 2009-08-13 | 2014-09-02 | Google Inc. | Virtual object indirection in a hosted computer environment |
Also Published As
Publication number | Publication date |
---|---|
US6658453B1 (en) | 2003-12-02 |
CA2369958A1 (en) | 2000-12-07 |
WO2000073924A3 (en) | 2001-03-29 |
CA2369958C (en) | 2009-07-14 |
AU5134500A (en) | 2000-12-18 |
AU769089B2 (en) | 2004-01-15 |
WO2000073924A2 (en) | 2000-12-07 |
JP4028233B2 (ja) | 2007-12-26 |
EP1190341A2 (en) | 2002-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4028233B2 (ja) | サーバ・エージェント・システム | |
US20200014690A1 (en) | Network personal digital video recorder system | |
US5659682A (en) | Scheme to determine completion of directory operations for server recovery | |
CN106415538B (zh) | 使用共享文件访问-rest接口的文件服务 | |
US9378212B2 (en) | Methods and systems for providing file data and metadata | |
EP0759591B1 (en) | Event management service | |
US7117504B2 (en) | Application program interface that enables communication for a network software platform | |
US7167874B2 (en) | System and method for command line administration of project spaces using XML objects | |
US7213049B2 (en) | System and method for transaction processing with transaction property feature | |
US5881315A (en) | Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive | |
US6988099B2 (en) | Systems and methods for maintaining transactional persistence | |
US7496578B2 (en) | Shared internet storage resource, user interface system, and method | |
US20030110315A1 (en) | System and method for providing a java interface to an application view component | |
AU2002318249A1 (en) | System and method for transaction processing with transaction property feature | |
WO2007024438A1 (en) | Data change notifications | |
US7451127B2 (en) | Web store events | |
US11308068B2 (en) | Control systems for draft lifecycle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040723 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041022 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050706 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050818 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071011 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |