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
Application number
JP2001500974A
Other languages
English (en)
Other versions
JP4028233B2 (ja
Inventor
カイシャフ ダッタトゥリ
Original Assignee
ネットスケープ コミュニケーションズ コーポレーション
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 ネットスケープ コミュニケーションズ コーポレーション filed Critical ネットスケープ コミュニケーションズ コーポレーション
Publication of JP2003501726A publication Critical patent/JP2003501726A/ja
Application granted granted Critical
Publication of JP4028233B2 publication Critical patent/JP4028233B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring 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

(57)【要約】 【課題】 システムが、クライアントによって特定されるサーバに発生するイベントを非同期でモニタし、かつサーバが、これら特定のイベントに応じてアクションを行い、さらに、そのシステムにおいて、ユーザが、モニタタリング・サービスを行うエージェントを、容易に作成し、かつ維持することが出来る、サーバ・エージェント・システムを提供すること。 【解決手段】 サーバ上の特定イベントをモニタする、クライアントによってサーバに送信されるエージェントを提供するサーバ・エージェント・システム。既定されたイベントが発生する場合、エージェントは、各イベントに対応する設定されたアクションを行う。アクションは、クライアントによって既定される。エージェントは、一旦サーバに置かれると、クライアントのさらなる介入を要求せず、クライアント、またはニュースリーダによって作成され、ニュースリーダによって作成される場合、エージェントは、アプリケーションによって提供された付加価値サービスとして扱われる。エージェントが実行するアクションのタイプは、クライアントが要望するほぼ何れでもあることが出来、およびクライアント、またはサーバによって供給されるJavaおよび/またはJavascriptプログラムの実行を含むことが出来る。エージェントのイベントおよびアクションは、エージェントを実行依頼したクライアントと同じアクセス制御セキュリティ制限を受ける。サーバで利用可能なエージェントのタイプは、既定であり、エージェント・テンプレートとして供給されて、クライアントがエージェントを構築するためのビルディングブロックである。サーバは、それが理解し、かつクライアントがサーバ上で利用可能なエージェントのタイプのリストから選択しかつそのサーバにエージェントを実行依頼するエージェント・ホームページ上で利用可能なエージェント・テンプレートおよびイベントを公開する、エージェントを供給出来るだけである。サーバは、また、常駐のエージェントを備えたクライアントのための(それらが各サーバ上のそれらのエージェントをモニタしておよび管理する)管理サービスも提供する。各エージェントは、サーバによって一意の名前およびトークンを割り当てられる。名前は、また、クライアントによってエージェントに割り当てられることが出来る。サーバ管理者には、そのサーバに常駐のエージェントを維持しおよび管理するために管理機能が提供される。エージェント・オブジェクトは、適切なイベントにマップされ、かつそのイベントの発生にトリガされるそのエージェントを一意の識別するサーバ上に作成される。エージェントがトリガされると、そのアクション・リストは処理され、実行され、かつエージェント情報および統計値は、ログ記録される。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】
本発明は、コンピュータ環境におけるクライアント・サーバ・インタラクショ
ンに関する。特に、本発明は、コンピュータ環境における非同期クライアント・
サーバ・トランザクションのためのエージェントの作成および動作に関する。
【0002】
【従来の技術】
ウェブサーバ・ユーザは、ウェブサーバのコンテンツの状況を常に把握してい
るのが困難であった。現在、ユーザがウェブサイト上のドキュメントにアップデ
ートを待っている場合、ユーザは、そのドキュメントを調べるために、ウェブサ
ーバでホストとして働くウェブサイトを定期的に訪れなければならない。ドキュ
メントがアップデートされる時を、ユーザに知らせるための自動的な方法がない
。このことは、ユーザにしばしばサーバを訪れることを強制し、それは、増加す
るネットワークトラフィック、サーバ上のより高い負荷、より遅い応答時間、お
よびユーザに対する不都合を引き起こす。
【0003】 その上、ユーザは、時々定期的な催促を要求し、また、定期的にあるタスク(
例えば、誰かの誕生日に電子メールを送信すること)を行うこと必要とする。ユ
ーザのタスクが、時間が非常にクリティカルである場合がある。ウェブサーバは
、現在、このようなタスクを行う方法を備えていない。これは、ウェブサーバが
、受動的であり、かつユーザがそれに接続したときしかタスクを行わないからで
ある。
【0004】 現在までのところ、どのウェブサーバも、この問題を解決していない。これら
は、ユーザに定期的にウェブサイトをポーリングすることを要求する。このこと
は、ユーザが重要な日付を覚えていなければならず、しかもユーザが日付を忘れ
た場合、ユーザは、その日付に関連する重要なタスクを実行することは出来ない
ことを意味する。上記したように、現在のアプローチは、ネットワークトラフィ
ックを増加させ、ウェブサーバにより高い負荷を引き起こすことに加え、ルーチ
ン・タスクを自動化するための方法を備えていない。
【0005】 インテリジェントに、あるイベントに対してサーバをモニタするサーバ・エー
ジェント・システムを提供することは、有利であろう。クライアントが、これら
のイベントに応じて、クライアントによって特定される動作を、クライアントか
らの更なる如何なる関与も必要とせずに、行うエージェントを容易に作成するこ
とが出来るサーバ・エージェント・システムを提供することは、更に有利である
【0006】
【課題を解決するための手段】
本発明は、サーバ・エージェント・システムを提供する。このシステムは、ク
ライアントによって特定される、サーバに発生するイベントを非同期でモニタす
る。このサーバは、これら特定のイベントに応じてアクションを行う。さらに、
本発明は、モニタリング・サービスを行うエージェントを、ユーザが、容易に作
成し、かつ維持することが出来るシステムを提供する。
【0007】 本発明の好適な実施例は、サーバ上の特定のイベントをモニタし、クライアン
トによってサーバに送信されたエージェントを提供する。既定されたイベントが
発生すると、、エージェントは各イベントに応じて設定されたアクションを行う
。このアクションは、クライアントによって既定されている。
【0008】 エージェントは、一旦それがサーバに置かれると、クライアントの更なる介入
を要求しない。エージェントが行うことが出来るイベントのタイプは、ホスト・
サーバによって特定される。
【0009】 エージェントは、クライアント、または、ニュースリーダによって作成される
。ニュースリーダによって作成される場合、エージェントは、アプリケーション
によって提供された付加価値サービスとして扱われる。
【0010】 エージェントが行うアクションのタイプは、クライアントが要望するほとんど
全てとすることが出来、しかもJavaおよび/またはJavascriptプログラムの実行
を含むことが出来る。Javaおよび/またはJavascriptプログラムは、クライアン
トまたはサーバによって供給される。エージェントのイベントおよびアクション
は、エージェントの実行を依頼したクライアントと同じアクセス制御およびセキ
ュリティ制限を受ける。
【0011】 電子メールは、クライアントによってサーバに実行依頼されたエージェントが
受信されたことを確認する通知を、サーバからクライアントに送信するために使
用される。電子メール機能は、多様であり、クライアントが、電子メール通知を
クライアントのグループに送信することを特定することも可能である。サーバは
、エージェントが期限切れになったことをクライアントに通知するためにも、電
子メール通知を使用する。
【0012】 サーバで利用可能なエージェントのタイプは、既定されている。これらの既定
されたエージェントは、エージェント・テンプレートとして供給され、かつクラ
イアントがエージェントを構築するのためのビルディングブロックを構築してい
る。サーバは、それが理解するエージェントしか供給することが出来ない。サー
バは、エージェント・ホームページ上で利用可能なエージェント・テンプレート
およびイベントを公開する。クライアントは、サーバで利用可能なエージェント
タイプのリストからエージェントを選択し、かつサーバにエージェントを実行依
頼する。
【0013】 サーバは、また、クライアントのための管理サービスに対し常駐のエージェン
トを提供する。クライアントは、各サーバ上でそれらのエージェントをモニタし
、かつ管理する。各エージェントには、サーバによって一意の名前およびトーク
ンが割り当てられる。名前は、また、クライアントによってエージェントに割り
当てることも出来る。サーバ管理者には、そのサーバに常駐のエージェントを維
持し、かつ管理するための管理機能が提供される。
【0014】 エージェント・オブジェクトは、一意の識別でサーバ上に作成される。エージ
ェントは、次いで、適切なイベントにマップされ、かつそのイベントの発生によ
りトリガされる。エージェントがトリガされると、そのアクション・リストが処
理される。アクションは、実行され、かつエージェント情報および統計値は、ロ
グ記録される。
【0015】 本発明の他の観点および利点が、具体例により、本発明の原理を示す添付の図
面と共に以下の詳細な説明から明らかになるであろう。
【0016】
【発明を実施するための形態】
本発明は、コンピュータ環境におけるサーバ・エージェント・システムで具体
化される。本発明のシステムは、サーバおよびクライアント間の非同期トランザ
クションのための方法を提供する。さらに、本発明は、ユーザが、非同期トラン
ザクションを行うエージェントを作成し、かつモニタすることが容易に出来るシ
ステムを提供する。
【0017】 図1を参照すると、本発明の好適な実施例により、クライアント101は、インタ
ーネット、またはイントラネットのようなコンピュータ・ネットワーク104を介
してサーバ105に置かれるエージェントを作成し、かつモニタすることが出来る
。これらのエージェントは、サーバ105上の特定の非同期イベントをモニタし、
かつこれらのイベントに応じてユーザに特定されたタスク(例えば、ある特定の
日付に、思い出させるためのメモメッセージを、クライアントに電子メールする
)を行う。
【0018】 クライアントは、従来のサーバ製品を使用すると、コンピュータ・ネットワー
クを介してサーバ上のドキュメントを見ることしか出来ない。サーバは、クライ
アントがサーバに接続している間のみ、サービスを提供する。つまり、クライア
ント・サーバ・トランザクションは、同期している。しかしながら、多くの状況
において、非同期サーバ・レスポンスを備えていることが、望ましいであろう。
【0019】 サーバが、(なんらかのメカニズムを使用して)クライアントにイベントの発
生を通知することが出来るなら、それは、非常に役に立つであろう。例えば、ク
ライアントは、特定の本が貸出手続きで利用可能な場合には、図書館(サーバ)
から通知が来るようにすることを要請することが出来る。また、クライアントは
、特定のフライトで席が利用可能になった場合、航空会社チケット・サーバから
電話が来るようにすることを要請することが出来る。これらは、サーバからのレ
スポンスが非同期である具体例である。このシナリオには、二つの別個の段階が
ある: 1. クライアントが、特定のイベントが発生すると、サーバがいくつかのアク
ションを行うことを要請する;そして 2. サーバが、クライアントの要請の状況を常に把握し、かつそのイベントが
発生すると、アクションを行う。
【0020】 一般に、イベントおよび関連したアクションがある。本発明の主な特徴は、ク
ライアントが、サーバにイベントをモニタしかつアクションを行うことを要請し
たあと、サーバがサービスを保証する責任を引き継ぐことである。クライアント
は、サーバに接続されているままである必要はない。
【0021】 イベント/アクションの組み合わせは、エージェント・オブジェクトと呼ばれ
る。所望のイベントが発生すると、サーバは、クライアントに代わって、イベン
トをモニタし、かつアクションをトリガする。つまり、サーバは、イベント/ア
クションに関してクライアントのエージェントの働きをする。
【0022】 クライアントは、エージェント・オブジェクトを作成し、かつサーバにそれら
を引き渡す。イベント/アクションの組み合わせは、サーバにクライアントのエ
ージェントとして存在する。エージェント・オブジェクトは、クライアントにサ
ービスを提供する、しかし、エージェントは、そのサーバによって管理され、モ
ニタされ、かつ制御される。タームサーバサイドエージェントも、また、エージ
ェントを記述するために使用される。
【0023】 用語「エージェント」には、非常に多くの意味がある。これと組み合わせた用
語には、様々な意味がある。自律的なエージェントは、サイトの間で移動するプ
ログラムであり、いつ移動するべきか、および何を成すべきかを単独で決める。
これらは、特別なサーバの間でしか移動することが出来ず、現在、インターネッ
トでは普及していない。
【0024】 インテリジェント・エージェントは、製品を選ぶ、またはフォームの穴埋めに
よってユーザをガイドする、またはユーザが事象を見つけることを助けさえする
ような、事象でユーザを助けるプログラムである。これらは、一般に、ネットワ
ーキングとほとんど関係ない。
【0025】 エージェントを備えた作業の多くは、ウェブ・エージェントと何も関係ない人
工知能エリア(学習エージェント)にある。ウェブ・エージェントは、クライア
ントが、イベントに応じて実行されなければならないサーバに、アクションを特
定することが出来る小さい実体である。
【0026】 エージェントは、また、収集/学習情報をマシンからマシンに移動させる移動
プログラムとして見ることも出来る。エージェントは、また、巨大な量のデータ
上で作業する小さいプログラムとも見られる。データを異なる位置からエージェ
ント・サイトに移動させる代わりに、プログラムは、そのデータ・サイトへ移動
する。一つのサイトから別のサイトにプログラム(エージェント)を移動させる
コストは、取るに足りない。これは、ウェブクローラ(web crawler)背後の根本
的理由である。この典型的具体例は、バケーションパッケージに関する最高のデ
ィールを探して一つのサイトから別のサイトに移動するエージェントである。
【0027】 本明細書において使用されるエージェントは、イベントおよびアクションを含
むオブジェクトである。イベントとアクションはどちらも、複合プログラムとし
て実施することが出来る。エージェントが行うことが出来ることは、完全に、そ
れを実施するプログラマ次第である。
【0028】 本発明は、クライアント・サイドからエージェントを管理するための必要なツ
ールを提供する。エージェントは、本明細書において、サーバからのサービスを
要求するが、クライアントによって作成されるオブジェクトとして記述されてい
る。つまり、エージェントは、サーバ上で起こっている事象(イベント)に興味
があり、および、それはサーバ上でクライアントに代わって実行する。
【0029】 当業者は、本明細書における記述が、サーバ・サイド上のエージェントに集中
するにもかかわらず、エージェントは、クライアント・サイドに存在することも
出来、かつサーバ、またはおそらく別のクライアントによって定義することが出
来ることを、容易に理解するであろう。
【0030】 (エージェントの分析) 上述のように、エージェント・オブジェクトは、二つの部分(イベントおよび
設定されたアクション)を有する。イベントは、そのアクションをトリガする何
かである。それは、特定の時刻(例えば、1996年3月4日月曜日午前9時)、また
は事象(例えば、フライトXの席が利用可能である、および接続しているフライ
トYの席もまた利用可能である、およびホテルHの宿泊設備が利用可能である)の
論理結合と同程度に単純化させることが出来る。
【0031】 イベントは、また、繰り返されているイベント(例えば、隔火曜日の午後6時3
0分)とすることも出来る。このような繰り返されているイベントを、決して終
了しないエージェントとすることも出来るであろう(すなわち、それを作成した
クライアントがそうすることを要請する場合のみ、それは終了することが出来る
)。理想的には、クライアントが興味をもつ如何なるタイプのイベントも、サポ
ートされる。
【0032】 アクションまたはアクションのセットには、特定のイベントが発生した場合に
、クライアントが行いたい如何なるものも含まれる。このアクションは、クライ
アントに電子メール・メッセージを送信すると言うように単純なものとすること
も出来るし、また、これを、一連のアクション(例えば、フライトXおよびYの予
約をする、ホテルHに部屋を予約する、スピィーディ車レンタル店で車を予約す
る、空港まで乗せてもらうことを頼んでいる友人Fにメッセージを送信する、新
聞代理店に新聞の配信を一時停止するよう依頼するメッセージを送信するなど)
とすることも出来る。アクションには、ファンドがクライアントのスイスの銀行
預金口座に預けられたことを知らせる彼への電話(または、ポケットベル(登録 商標))呼出しを設定することも出来る。より複雑なアクションの場合、エージ ェント・オブジェクトが作成されると、クライアントによって実行依頼されたJa vaプログラム(または、JavaScriptスクリプト)を実行するようサーバに依頼す ることが出来る。
【0033】 エージェントは、それらが実行依頼されると将来のある時点でトリガされるこ
とについて、保証されていない。エージェントが待っているイベントが絶対に発
生しないことも、あり得る。例えば、エージェントが、ファイルに対する変更を
待っているが、そのファイルは、削除される場合、そのイベントは、以後起こる
はずがない。これは、エージェントの終結(異常終了)を引き起こす。エージェ
ントのオーナーは、このような失敗を示す通知を受信する。
【0034】 (エージェントの作成) クライアントは、イベントおよびアクションを特定するための方法を必要とす
る。エージェントを作成することは、イベントおよび関連したアクションのスペ
ックを含む。これは、イベントをチェックする小さいプログラムを書くことに似
ている。クライアントが、ほとんどあるいは全く変更せずに使用することが出来
る標準エージェント・テンプレートのセットが、本発明によって提供される。例
えば、ウェブページへの変更をモニタするエージェントは、標準テンプレートで
ある。時間イベントでトリガされるエージェントは、別の標準テンプレートであ
る。ほとんどの場合、クライアントは、これらのテンプレート・エージェントを
修正し、かつそれにより行われる。
【0035】 ニーズがテンプレート・エージェントによって満たされないこれらのクライア
ントのための高性能なエージェントを作成するための機能も、また、本発明によ
って提供される。
【0036】 次のステップは、エージェント・オブジェクトをサーバへ転送するステップで
ある。一旦エージェント・オブジェクトが正常にサーバに転送され(または、送
信されて)、かつサーバによって確認されると、(いくつかの破局的なイベント
によりサーバがその責任を成し遂げることが防げられる場合を除いて)クライア
ントは、要請されたサービスが行われる保証をリセットすることが出来る。エー
ジェント・オブジェクトは永続的であるので、サーバ・クラッシュが、エージェ
ント・オブジェクトの損失を意味しないことに留意されたい。
【0037】 (イベントのタイプ) エージェントは、異なるタイプのイベントによってトリガさせることが出来る
。シンプルな時間イベントも有り、関係データベースによって生成される複雑な
イベントも有る。以下は、可能なイベントタイプのリストの具体例である。 時間に関するイベント 特定の日付および時刻でのトリガ。 定期的なトリガ(繰り返されるイベント)。 日付がXで、かつ曜日がYである場合のトリガ。 日付がXで、曜日がYで、かつ偶数の(または、奇数の)月である場合のトリ ガ。 ドキュメントに関するイベント あるタイプの新規なドキュメントが、サーバに作成される。 特定のドキュメントの新規なバージョンが、サーバに作成される。 あるユーザによる新規なドキュメントが、作成される。 ドキュメントが、削除される。 ドキュメントが、移動する、またはその名前が変えられる。 特定のドキュメントが、サーバ上で修正される。 特定のドキュメントが、あるユーザによってアクセスされる。 特定のユーザが、サーバ上の任意のドキュメントにアクセスする。 特定のユーザが、サーバ上のドキュメントを修正する。 特定のタイプのドキュメントが、サーバに作成される。 管理イベント これらのエージェントは、サーバの管理者に有益である。エージェントは、 特定のユーザによるアクセス、特定ユーザの接続切断、低いディスクスペー ス、ログ・ファイル・サイズ、などを探すことが出来る。サーバ・ライタお よびサーバ管理者は、イベントを検出するための方法を提供する。ユーザは 、サーバによって公開されたイベントに登録することが出来る。(サーバの 完全制御権を有する)サーバ管理者は、新規なイベントを加え、かつ公開す ることが出来る。 プログラム検出イベント 高度なユーザは、イベントを検出しかつエージェントをトリガするために、 Java/JavaScriptプログラムを実行依頼するかもしれない。この場合にも、 ユーザは、任意のJavaプログラムをエージェントの一部として実行依頼する ことは出来ないであろう。サーバは、クライアントがそれらのエージェント で使用することが出来る特定のJava/JavaScriptプログラムを提供する。こ のようなJava/JavaScriptプログラムの利用可能なセットは、サーバ管理者 によって決定される。
【0038】 一般に、クライアントは、許可およびアクセス制御のもとに、任意のイベント
を検出する能力を有する。エージェント・フレームワークは、イベントを検出す
るために直接サービスを提供する。また、フレームワークは、クライアントが、
Java/Javascriptプログラムを書くことによって、興味あるイベントを検出する
ために使用することが出来るサービス・アクセス・ポイントをイネーブルにする
。エージェントは、サーバによって公開されたイベントしか登録することが出来
ない。クライアントは、如何なる任意のイベントに登録することが出来ない。こ
れは、サーバごとに、提供されるサービスの種類が異なり、かつ、サーバ・ライ
タが、それらのサーバからどのイベントが利用可能であるかを決めるからである
【0039】 エージェントをランさせることが出来るすべてのサーバは、エージェントが使
用することが出来るイベントの完全なセットを公開する。このことは、サーバ管
理者が、エージェントによって検出可能な如何なるイベントをも支配する完全制
御を有することを可能にする。利用可能にされるイベントのタイプは、サーバ・
ライタによってのみ制限され、エージェント・フレームワークによっては制限さ
れない。エージェント・フレームワークは、デフォルトで、上記したサーバのよ
うなサーバの中で最も一般的なイベントの基本セットを提供する。
【0040】 図2を参照すると、クライアントは、これらイベントの任意の組み合わせを特
定することができる。例えば、クライアント201は、「ドキュメントAが、1997年
1月1日前に修正されると、クライアントにメールを送信する。」を特定すること
が出来る。イベント206が発生すると、すなわち、ドキュメントAが、1997年1月1
日前に修正されると、エージェントは、サーバ205に電子メール・メッセージ207
をクライアント201に送信させる。クライアントは、また、電子メール・メッセ
ージ208、209、210を、いくつかのクライアント202、203、204に送信することも
特定することが出来たであろう。
【0041】 (エージェントのタイプ) これは、本当にクライアントの想像次第である。なぜならば、クライアントは
、クライアントが望む如何なるものも行うように、(アクセス制御のもとで)Ja
va/JavaScriptプログラムを書くことが出来るからである。しかし、大部分のク
ライアントのために、最低限、アクションのタイプの以下の具体例は、提供され
るべきである: ・ 特定ユーザに特定コンテンツを備えたメール・メッセージを送信する。 ・ (サーバが、電話/ファックスへのアクセスを有すると考えられる)特定 のユーザに、電話、ページを起動する(または、ファックスを送信する) 。 ・ ニュースグループに新規なメッセージを掲示する。 ・ データベース(または、ログ・ファイル)に、エントリをログ記録する。 ・ ウェブ・ページに掲示する。 ・ HTTP通知を送信する。 ・ 別のエージェントをサーバ上でランさせる。 ・ トリガされた場合、Java/JavaScriptプログラムが供給されたサーバを実行 する。 ・ SNMPアクション。
【0042】 電子メール・メッセージ、ファックス、ページなどを送信するには、全て、サ
ーバ上に類似したアプリケーション・プログラミング・インタフェース(API)が
必要である。
【0043】 イベントと同様に、クライアントは、トリガに応じて如何なることも行うこと
が出来る。エージェント・フレームワークは、クライアントが、それらが好む如
何なることも行うために使用することが出来るサービスを提供する。
【0044】 サーバ上のアクションの利用可能なセットは、サーバ・ライタ/管理者によっ
て制御される。エージェントは、サーバによってサポートされるこれらのアクシ
ョンしか行うことが出来ない。エージェント・フレームワークは、サーバ・ライ
タがこれらの特定のアクションを実施するために必要なAPIを提供する。(メー
ル・メッセージを送信すること、ウェブ・ページに掲示することのような)大部
分の一般的なアクションは、ベース・エージェント・フレームワークの部分であ
る。
【0045】 (エージェントの管理・クライアントビュー) 一旦エージェントが作成され、かつサーバに転送されると、それらを制御する
(使用禁止にする、除去する、コピーする、一覧を示す、など)ための機能が、
必要である。クライアントは、クライアントによって作成された全てのエージェ
ントのリストをレビューすることを希望することが出来る。同様に、サーバ・サ
イドでは、そのサーバに常駐のエージェントの全てを管理するための機能が、必
要である。以下のパラグラフは、クライアントの観点に焦点を合わせる。
【0046】 (エージェントの作成) すべてのサーバは、エージェント・テンプレートと呼ばれるエージェントタイ
プが既定されたセットをサポートする。これらは、任意のオブジェクト指向言語
のクラスに類似している。クライアントは、そのテンプレートのうちの一つのイ
ンスタンスを作成し、かつそれをサーバに実行依頼しなければならない。クライ
アントによって実行依頼されるエージェントの任意のインスタンスは、クライア
ントに代わってサーバでランする。これを容易にするために、エージェント・サ
ービスをサポートしているすべてのサーバは、エージェント・ホームページを提
供する。
【0047】 エージェント・ホームページは、そのサーバで利用可能な異なるエージェント
・テンプレートの全てを記述し、かつ基本的にフォームズ・インタフェースであ
る。(テキストの記述を含めて)すべてのエージェント・テンプレートの完全な
詳細が、このページで利用可能である。クライアントは、このページをナビゲー
トすることが出来、エージェント・テンプレートのうちの一つのインスタンスを
作成することが出来、かつそれをサーバに実行依頼することが出来る。エージェ
ントのインスタンスを作成する処理を更に容易にするために、サーバは、エージ
ェント・テンプレートを異なるカテゴリ(ドキュメント関連、時間関連、SNMP関
連、動作システム関連、データベース関連など)にグループ化することが出来る
。クライアントは、エージェント・テンプレートの階層的なリストをナビゲート
することが出来る。
【0048】 (コンテクスト依存エージェントの作成) 一部のクライアントは、エージェントを作成するためにエージェント・ホーム
ページへ行くことが出来ないかもしれない。エージェント・サービスをサポート
するニュース・サーバを考慮すべきである。クライアントは、新規なアーティク
ルが特定のニュースグループの特定のスレッドに加えられると、クライアントに
通知するエージェントを作成することが出来る。クライアントは、ホームページ
について何も知ることが出来ない。
【0049】 アプリケーション特定の(または、コンテクスト特定の)エージェントを容易
にするために、ウェブ・ブラウザのメタ(または、サービス)・メニュを、使用
することが出来る。メタ・メニュは、ドキュメント・メタ情報にアクセスするた
めに使用される。エージェントは、ドキュメント・ライタが、サポート出来るか
もしれないメタ機能(アプリケーションによって提供された付加価値サービス)
として扱われる。
【0050】 例えば、ニュースリーダは、クライアントに上記したようにエージェントを作
成させることが出来るメニュ項目をメタ・メニュに加えるであろう。このメニュ
オプションを選択することによって、アプリケーション(ニュースリーダ)は、
エージェント・テンプレートのインスタンスを作成し、かつそれを(クライアン
トによる確認の後)サーバに実行依頼する。これは、クライアントが、エージェ
ントをそれらのアプリケーションのコンテクストにおいて実行依頼することを可
能にする。
【0051】 アプリケーション・ライタは、この機能を拡張的に利用することが期待される
。遅かれ早かれ、大部分のエージェントがこのように作成されることは、当然と
思われる。これによって、また、コンテンツ・プロバイダが、クライアントがエ
ージェントについての何かを行うことなしにまたは知ることなしに、エージェン
ト・サービスを提供することが出来る。
【0052】 (エージェント編集) ソフトウェアの他の何かと同様に、エージェントを作成することができるのみ
では、十分ではない。エージェントを修正し、かつ保存するための機能も、また
、必要である。例えば、クライアントは、特定の会議時刻で通知のためのエージ
ェントを作成するかもしれない。しかし、後に、クライアントはその通知時刻を
変更したいと思うかもしれない。エージェントを識別するためにクライアントが
その名前を使用することが出来るように、エージェント(エージェントID)に名
前をつけることは、可能でなければならない。名前付け方式は、エージェントID
をクライアント・サーバ・ペア(タプル)全体に一意に決定するように、クライ
アントの名前とサーバ名とを使用する。これは、既存のエージェントが修正され
て、再実行依頼される一つのタイプのエージェント編集である。
【0053】 クライアントは、また、サーバに実行依頼する前に、エージェントのコピーを
保存したいと思う場合がある。例えば、クライアントは、異なる時刻用の時刻通
知エージェントを作成することが出来る。この演算を何度も行う代わりに、クラ
イアントは、一つのエージェントを作成し、それをコピーし、時間成分を修正し
、およびそれらをサーバに実行依頼することが出来るであろう。
【0054】 エージェントを実行依頼している何れのクライアントも、エージェントサブミ
ッションについて、電子メールによるサーバからの確認を受信する。つまり、ク
ライアントは、エージェント・サービスを使用するために、電子メール・アドレ
スを有しなければならない。メールメッセージは、エージェントの名前(エージ
ェント識別)、作成時刻、その他について詳細を提供する。クライアントは、こ
のような確認を取り扱うために、それらのメール・クライアント(メール・フィ
ルタ)を使用しなければならない。
【0055】 電子メールは、サイトの独立性とモビリティを確実にするために、通信チャネ
ルとして使われる。ユーザがかれらの電子メール・アカウントへのアクセスを有
するならば、ユーザは、それらのエージェントに関する詳細に、どこからでもア
クセスすることが出来る。エージェントを実行依頼しているクライアントは、ま
た、その確認が全てのグループに送信されるように、特定することも出来る。サ
ーバによって送信される確認メッセージが消失する場合、ユーザは、別のエージ
ェントに実行依頼しなければならない。確認メッセージの消失は、そのエージェ
ント自体がサーバによって受け入れられなかったことを意味するものではない。
それは、クライアントがサーバによって出された確認を受信しなかったことを示
すに過ぎない。
【0056】 クライアントは、それらがそれらのエージェントに対して好む任意の名前を選
ぶことが出来る。サーバは、実行依頼された(幾分URIに似た)各々のエージェ
ントに対して一意に決定されるIDを生成する。このエージェントIDは、上述した
確認メッセージの中でクライアントに送信される。クライアントは、それらがエ
ージェントに関してサーバと通信するときに、このIDを使用しなければならない
【0057】 エージェントIDは、エージェントに関する詳細(作成時刻/日付、ユーザ名、
ユーザ・アドレス等)を含む。本明細書での目的は、エージェントIDをサーバ上
のページにマップすることである。クライアントは、エージェントIDをクリック
し、そのエージェントについての情報を持ち出し、かつそれを編集することが可
能である。このことは、全てのブラウザ・インタフェースをエージェント・ユニ
フォーム(クリックできるオブジェクト)にする。
【0058】 クライアントは、以下のデータを制御/レビューすることが出来る: ・ 利用可能なエージェント・クラス(またはカテゴリ)のリスト ・ 重要なエージェント・インスタンスのリスト ・ ユーザによる ・(認証を受けた)ユーザグループによる ・(認証を受けた)組織による ・ エージェント・クラスによる ・トリガーされたエージェントのリスト ・ ユーザによる ・(認証を受けた)ユーザーグループによる ・(認証を受けた)組織による ・ エージェント・クラスによる ・ エージェントを削除する ・ エージェントを中止する(削除することと同じではない) ・ エージェントを再実行依頼する ・ エージェントの統計値を見る
【0059】 サーバによって返送されたエージェントIDを覚えていない(または、サーバに
アクセスしなかった)クライアントは、それらのエージェントの全てを列挙する
ためにこのメカニズムを使用することが出来る。例え、このことが、多数のエー
ジェントを実行依頼したクライアントにとっては多少退屈であるとしても、これ
は、エージェント情報にアクセスする別の方法を提供する。
【0060】 (エージェント管理) クライアントは、それらによって実行依頼されるエージェントの全てを、サー
バ・ベースごとに、見ることが可能である。クライアントが、エージェントを除
去し、エージェントを中止し、かつエージェントを使用可能にすることは、簡単
である。エージェント・オブジェクトが中止されると、それは、サーバに残った
ままであるが、それは、アクティブではない(それは、イベントに従っていない
)。つまり、 イベントが発生しても、エージェントはトリガされない。このよ
うな休止中のエージェントは、再び使用可能とすることが出来、かつそれらは、
ノーマルなエージェントになる。
【0061】 エージェントが除去されると、サーバは、そのエージェント・オブジェクトに
ついてもはや何も知らない。これは、物理的にサーバ上のエージェントのリスト
から除去される( 削除される)。エージェントを(再び)見ると、エージェン
トについて関連した全ての情報(実行依頼された日付/時刻、起動回数、最後に
修正された日付/時刻など)が、利用可能となる。
【0062】 (エージェントの管理・サーバビュー) サーバ上のエージェントを管理することは、複雑である。サーバは、サーバ故
障、エージェント・オブジェクトの認証などの場合、エージェント・オブジェク
ト永続性、エージェント情報ロギング、エラー回復を扱う。
【0063】 (エージェント・オブジェクト永続性) クライアントによって実行依頼されたエージェントが、サーバでアクティブで
ある場合、クライアントは、動作が行われることを確信する。しかし、サーバが
ある条件に起因してクラッシュする場合(または、それが管理者によるシャット
ダウンである場合)、何が起こるであろうか? サーバが再スタートする場合、
サーバがクラッシュした直前にアクティブであった全てのエージェントは、復活
しなければならない。このことは、エージェントの状態が永続性であることを要
求する。サーバ・クラッシュおよびこのような破局的なイベントからエージェン
トを回復させるために、アーキテクチャは、エージェント永続性を保証するため
にチェックサムおよび他のエラー回復スキーマを実施する。
【0064】 (エージェント・アクティビティ・ロギング) サーバは、エージェント・オブジェクトについて全ての重要な情報をログ記録
する。情報は、エージェント・オブジェクトが実行依頼された時刻、エージェン
ト・オブジェクトがイベントに起因してトリガされた時刻、(イベント・エージ
ェントを繰り返す場合)エージェントがトリガされた回数、などを含む。さらに
、実行依頼されたエージェントの合計数、トリガされたエージェントの数、クラ
イアントによって削除されたエージェントの数、期限切れになったエージェント
の数などのような一般情報も、また、利用可能である。
【0065】 (エージェント管理) サーバ側のエージェント管理を取り巻く問題は、クライアント側のそれらと全
く同様である。サーバ管理者は、エージェントを中止し、使用可能にし、および
終了することが出来るべきである。このような全てのケースにおいて、エージェ
ントの発信者は、アクションの十分な説明を備える動作について、通知を受信す
るべきである。例えば、それが、許容量以上に多くの資源(ディスク、メモリな
ど)を消費していたとの理由で、エージェントを、終了することが出来る。
【0066】 サーバは、サーバ上でいつでもアクティブであることが出来るエージェントの
数、アクティブであることが出来るクライアント毎のエージェントの数、エージ
ェント上の資源制限などに制限を課すことが出来るべきである。サーバに実行依
頼された多数のエージェント・オブジェクトが、存在するかもしれないが、それ
らの全てがアクティブであるとは限らないであろうという点に留意されたい。
【0067】 サーバは、また、それらが提供するサービス品質に制限を課すことが出来る。
例えば、サーバは、時間データの塊を5分に制限することを特定するかもしれな
い。これら全ての制限は、サーバ・ベース(サーバ管理)ごとに、設定可能であ
る。
【0068】 サーバ管理者は、それらのサーバ上のエージェント・アクティビティについて
完全制御を有する。(上述したように)ノーマルなクライアントが行うことが出
来ることに加えて、サーバ管理者は、以下のことが出来る: ・ サーバ上の全てのエージェントを見ること ・ ユーザによって ・ (期限切れになった、トリガされた、トリガするために待っている、ユ ーザによって削除された)状態によって ・ エージェントが属するエージェント・テンプレート・クラスによって ・ 作成時刻によって ・ 任意のエージェントを削除し、修正し、および中止する ・ エージェントのアクティビティを制限する ・ クラスのエージェントを制限する ・ ユーザによって ・ グループによって ・ ドメインによって ・ 全てによって ・エージェント・サブミッションを使用可能/中止にする ・ ユーザによって ・ グループによって ・ ドメインによって ・ 全てによって ・ 作成されるエージェントの数を制限する ・ ユーザによって ・ グループによって ・ ドメインによって ・ 全てによって ・ エージェントのマニュアル・トリガを強行する
【0069】 (エージェントの名前付け) エージェントを作成することは、それらに名前を付ける方法なしでは十分でな
い。クライアントとサーバはどちらも、名前付け機能を必要とする。クライアン
トは、サーバに名前によってエージェントを終了するよう依頼するかもしれない
。同様に、サーバは、エージェントの失効を示すクライアントへの通知を送信す
るかもしれない。エージェントの名前は、前述したように、URIに非常に似てい
る。
【0070】 (セキュリティおよびアクセス制御問題) アクセス制御およびセキュリティは、エージェント・アクティビティのあらゆ
る観点から強化されなければならない。クライアントによって実行依頼されるエ
ージェントは、サーバ側でアクセス制御を受ける。エージェントは、エージェン
トを作成したクライアントがアクセスすることが出来ない如何なるものにもアク
セスすることが出来ない。これは、おそらく強化することが最も難しいものであ
る。それは、JavaとJavaScriptエージェントでは、より困難でさえある。これに
関連する問題は、多数ある。
【0071】 アクセス制御は、エージェントがどんなイベントに登録することが出来るか、
およびそれがどんなアクションを行うことが出来るかにと言う点について強化さ
れなければならない。このことは、エージェントがサーバによって受け入れられ
る前に、可能な限り確認される。エージェントは、イベントおよび/またはアク
ション上のアクセス制御チェックが失敗すると、サーバに入ることが許されない
。アクセス制御は、また、エージェント作成およびエージェント削除に関しても
強化される。全てのクライアントが、エージェントをサーバに実行依頼させるこ
とが出来るとは限らない。同様に、許可された人間しか、エージェントを、削除
することは出来ない。このような動作は、全て、厳しいアクセス制御を受ける。
【0072】 アクセス制御上のチェックの全てによってさえ、イベントがトリガされる場合
、エージェントが完了まで実行される保証はない。サーバの動的に変化する性質
およびインターネット環境に起因して、イベントをトリガすることに起因してそ
れが実行される場合、エージェントは、アクセス制御チェックに失敗するかもし
れない。クライアントには、適切な説明によってこのような故障が通知される。
【0073】 アクセス制御は、また、サーバ上のエージェントを見ることに関しても強化さ
れる。クライアントに見ることの許可が与えられていない限り、クライアントは
、他によって作成されたエージェントを、削除/修正は言うまでもなく、見るこ
とも出来ない。
【0074】 サーバ管理者に、そうする許可が与えられていない限り、サーバ管理者は、エ
ージェント・オブジェクトを調べることは出来ない。管理者は、サーバ上のエー
ジェント・オブジェクトを管理する(使用可能にする、使用禁止にするなど)こ
とが可能であるが、彼は、エージェントに含まれるイベントまたはアクションを
見ることは出来ない。
【0075】 エージェント・インスタンスがURLとして実施される場合、セキュリティおよ
びアクセス制御は無料で利用可能である。
【0076】 エージェントがトリガされると、特定アクションが実行される。アクションが
、あるアドレスにメール・メッセージを送信すること関する場合、メール・メッ
セージは、メッセージを送信させた、エージェントの作成者(エージェントを実
行依頼したクライアント)を識別するであろう。
【0077】 (エージェント開発のためのサーバAPI) 任意の他のサーバ機能と同様に、プログラマは、エージェントで素晴らしい事
象を行うために彼ら自身のコードを書きたいと思うであろう。APIは、サーバの
エージェント能力を利用するために、エージェント・プログラマに提供される。
【0078】 (エージェント・サブシステムの設計) 基本の設計目標は、エージェント・サブシステムを任意のサーバ・サービスか
ら独立させておくことであった。つまり、エージェント・サブシステムは、完全
にサーバの特定のタイプから切り離されるべきである。これは、エージェント・
サービスが、任意のNetscapeサーバ(またはサード・パーティのサーバさえ)、
またはエージェント・サービスを要求する他の任意のアプリケーションによって
も、使用することが出来ることを確実にするために行われる。この目標を達成す
るために、エージェント・サブシステムは、別個の入れ替え可能なコンポーネン
トに分けられる。ハイレベルアーキテクチャの図は、図3に示される。
【0079】 (エージェントコントローラ(AC)コンポーネント305) AC 305は、系の心臓部である。これは、エージェント作成、破棄、統計値アッ
プデート、永続性の記憶およびエージェント管理の一部、の全ての観点を管理す
る。エージェントを作成することを望む任意のプログラム(またはクライアント
)は、このコンポーネントのAPIを使用しなければならない。
【0080】 すべてのエージェントは、一意の識別番号(エージェントID)を有する。エー
ジェントIDは、サーバ内で一意に決定されるが、サーバ全体では一意に決定され
ない。これらのエージェントIDは、エージェント・コントローラ・コンポーネン
トによって生成される。
【0081】 エージェント・サービスを使用したいサーバおよびアプリケーションの開発者
は、AC 305のAPIにプログラムしなければならない。HTTPサーバリエイゾン(rias
ion)コンポーネント301は、エージェントを作成して、管理するために必要なUI
を提供する。
【0082】 (エージェント・クラスおよびエージェント・オブジェクト) エージェント名前空間成長を制御するためのエージェント・クラスおよびエー
ジェント・インスタンスのコンセプトは、以前に、導入された。例えば、(ユー
ザのジョンによって作成された)ドキュメントhttp://warp/foo.htm.を待つエー
ジェントについて考察しよう。エージェントが「ドキュメントをチェックアウト
する」イベントに興味があると仮定する。チェックアウトのためのイベントタイ
プは、この具体例の場合105である。組み合わせ「http://warp.foo.htm + 105」
は、一意のトークンである。このトークンは、エージェント・クラスを識別する
。この時に、このエージェント・クラスの一つのインスタンス(またはオブジェ
クト)しかない: エージェント・クラス識別子………………………インスタンスの数 ―――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------------------> 1(ユーザのジョン)
【0083】 次に、ユーザのスミスは、http://warp.foo.htm.のチェックアウトを見るため
にエージェント・オブジェクトを作成することを望む。この点で、同じイベント
タイプに対しこのドキュメントを待っているエージェント・オブジェクトが、す
でに存在する。従って、エージェント・クラスはすでに存在し、そしてこのエー
ジェント・クラスの新規なオブジェクトが、作成されなければならない: エージェント・クラス名………………インスタンスの数 ――――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------->2(ユーザのジョン、ユーザのスミス)
【0084】 今度は、ユーザのジェーンは、ドキュメントhttp://warp.foo.htmのためのエ
ージェントを作成したいが、彼女は、ドキュメントが削除されたら(イベントタ
イプ106)、通知されることを望むというシナリオについて考察しよう。組合せ
「http://warp.foo.htm + 106」は、別のエージェント・クラス名である。エー
ジェント・イベント・プロセッサ306は、このエージェント・クラスが存在しな
い、それゆえ、エージェント・クラス「http://warp.foo.htm + 106」を作成し
、そしてユーザのジェーンのためにこのクラスの最初のオブジェクトを作成する
ことを認識する。 エージェント・クラス名………………インスタンスの数 ――――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------->2(ユーザのジョン、ユーザのスミス) http://warp.foo.htm + 106--------->1(ユーザのジェーン)
【0085】 別のユーザのジャックが「1996年8月15日木曜日、午前10時00分」に通知され
ることを望む場合、別のエージェント・クラスが作成される。タイマ・アラーム
がイベントタイプ222を有すると仮定すると: エージェント・クラス名………………インスタンスの数 ――――――――――――――――――――――――――――――――――― http://warp.foo.htm + 105--------->2(ユーザのジョン、ユーザのスミス) http://warp.foo.htm + 106--------->1(ユーザのジェーン) 1996年8月15日木曜日10:00 AM+ 222-->1(ユーザのジャック)
【0086】 多数のエージェント・オブジェクトが存在し得るが、エージェント・クラスの
数は、はるかに少ない。すべてのエージェント・オブジェクトは、その一意の名
前として<クラス名、インスタンス数>を有する。詳細は、ここでは、単なる情
報として示される。クライアントは、これらの詳細について何も知る必要はない
【0087】 (HTTPサーバ・リエイゾン(HSL)コンポーネント302) HSLコンポーネント302の第一目標は、HTTPサーバと通信することである。それ
は、HTML、NSAPI問題、エージェント・ホームページ、などを理解する。HSL 302
は、ウェブ・ブラウザを使用して、エージェントを作成するために、さまざまな
UI関連スタッフを提供する。それは、HTTP入力を受け入れそしてそれを適当なア
ーギュメントに解析する(このアーギュメントは、次いでAC 305に渡される)責
任がある。AC 305からの全てのUIおよびサーバ関連問題は、これによって分離さ
れる。これは、Model-View-Controller(MVC)パラダイムの直接のアプリケーショ
ンである。
【0088】 HSL 302も、いくつかの予備的なアクセス制御問題を強化する。HSL 302は、入
ってくる要請に基づいて、ユーザが、エージェント・サービスにアクセスする許
可が与えられているか否かを、チェックすることが出来る。あるサーバの場合に
は、HSLコンポーネント302が存在することが出来ないことに留意されたい。
【0089】 (エージェント記憶装置310) エージェント記憶装置310は、パブリック・クライアントには見えないエージ
ェント・サブシステム311の内部コンポーネントである。これは、全ての永続性
の記憶問題(BTree、データベースなど)を管理する。AC 305は、エージェント
記憶装置310を使用する。エージェント管理コンポーネント304も、エージェント
記憶装置310を使用する。
【0090】 エージェント記憶装置310は、二つのレベルの記憶を使用する。一次記憶装置
は、フラットファイルで、ほとんど完全に回復可能である。これは、シーケンシ
ャルにエージェント・オブジェクトを格納する。これは、データベースがすべて
のサーバによって使われる場合、真のデータベースと取り替えられる。
【0091】 一次記憶装置は、速度のためのハッシュテーブルを使用してアクセスされる。
ハッシュテーブルが損なわれると、それは破棄され、そして、新しいものが一次
記憶装置を使用して構築される。
【0092】 (イベント・プロセッサ(EP)306) EPコンポーネント306は、エージェントのイベント検出およびトリガを管理す
る。エージェントをトリガすることが出来るイベントの可能なセットは、大量と
することが出来る。エージェント・サブシステム310は、それが理解するイベン
トタイプによって、制限されるべきでない。サーバ/アプリケーションの開発者
が、エージェントをトリガする新規なイベントタイプを定義することは、可能で
あるとすべきである。この目標を達成するために、イベント検出およびトリガは
、EPコンポーネント306に委任される。
【0093】 AC 305は、異なるイベントタイプに、いかなる意味もアタッチしない。EP 306
は、異なるイベントタイプを理解すること、それらに登録すること、それらを検
出すること、および最後に、エージェントをトリガする責任がある。AC 305に渡
された任意のイベント関連データも、AC 305の範囲内の任意の処理なしで、EP 3
06上に、透過的に渡される。
【0094】 AC 305およびエージェント管理コンポーネント304のみが、EP 306と通信する
。EP 306がイベントを検出すると、それは、AC 305によってエクスポートされる
トリガ機能を呼び出す。同じイベントを待っているマルチプル・エージェント(
場合によっては数千)を取り扱う問題は、AC 305によって取り扱われる。
【0095】 EP 306は、ドキュメント・イベントとHTTPサーバの範囲内の時間トリガされた
イベントとを検出するために使用することが出来る。他のサーバは、それら自身
のイベント・プロセッサを提供することが出来、そして、エージェントコントロ
ーラは、いかなる問題も生ぜずに、それらとともに作業する。
【0096】 EP 306は、サーバがランする(イベントに対する)エージェント登録/メンテ
ナンスを提供する必要はない。それは、サーバランの間、永続的に必要な情報を
格納することしか出来ないとすべきである。これは、 エージェント・サブシス
テムが初期化されると、AC 305が、EP 306でエージェント記憶装置の全てのエー
ジェント・オブジェクトの登録を始める(AC 305は、エージェント・オブジェク
トの永続に責任がある)からである。しかしながら、新規なEPの作成者が、彼ら
自身の方式を採用することは自由である。
【0097】 EP 306も、AC 305およびエージェント管理304コンポーネントによって大部分
が使用されるいくつかの管理機能をサポートする。
【0098】 EP 306およびAC 305は、イベント・ハンドルを使用して通信する。新規なエー
ジェント作成要請が、AC 305に実行依頼されると、それは、EP 306に(必要に応
じて)イベント登録を処理するよう依頼する。EP 306は、AC 305にイベント・ハ
ンドルを戻す。このイベント・ハンドルが、同じイベントを待っているエージェ
ント・オブジェクトを管理するために、AC 305によって使用される(最も単純な
ケースの場合、イベント・ハンドルを、フォーマット「http://warp.foo.htm +
105」の文字列とすることが可能であろう)。イベントのために登録されたエー
ジェント・オブジェクトがすでに存在するか否かを検出して、マルチプル登録を
避けることは、EP 306の責任である。これは、全く明瞭であるべきである。
【0099】 (エージェント・オブジェクト作成のステップ) エージェント・オブジェクトを作成するためにクライアント・要請が、AC 305
によって受信される場合、 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によ って行われる。
【0100】 (アクション・プロセッサ(AP)308) AP 308のコンポーネントは、エージェントがトリガされた場合に、必要なアク
ション(メールを送信する、ページに掲示する、プログラムをランする)を行う
責任がある。これは、異なるアクション・タイプを理解して、どのようにアクシ
ョンを行うかを知っている単純なコンポーネントである。
【0101】 イベントタイプと同様に、AC 305は、例え、それがそれらを格納しても、アク
ション・タイプ情報を処理しない。エージェントのアクションに関する全てのデ
ータは、エージェントがトリガされると、AP 308に渡される。APコンポーネント
308は、また、サーバ/アプリケーション・ライタによって供給させることも出
来る。一つのインプリメンテーションは、全てのトリガされたエージェントの待
ち行列を維持し、シーケンシャルにそれらのアクションを実行し、そしてそれが
(すべてのエージェントに対して)行われた処理である場合AC 305に知らせる。
【0102】 AP 308とAC 305との間の関係は、生産者と消費者の関係である。つまり、AC 3
05は、トリガされたエージェントを生産し、そしてAP 308は、それらを消費する
。AP 308の実行は、EP 306およびAC 305の実行から独立している。
【0103】 AP 308は、セキュリティおよびアクセス制御問題に非常に注意を払わなければ
ならない。これは、JavaScriptアクションでは扱いにくい。
【0104】 AP 308は、エージェントに代わって行うことが出来ることに制限を課すことが
出来る。例えば、それは、JavaScriptアクションを2秒間しか実行しないように
制限することが出来るであろう。このような決定は、全て、AP作成者に任せられ
る。
【0105】 AP 308のトリガされた(しかし、処理されていない)エージェントの待ち行列
は、サーバラン全体に永続的である必要はない。いくつかのアクションが、サー
バ・クラッシュに起因して消失した場合、サーバが再スタートするときに、AC 3
08は、常にそのアクションを再スタートさせることが出来る。
【0106】 この場合にも、他のAPの作成者は、このポリシーによって束縛されない。これ
により、このようにこれを行うことがより容易になる。
【0107】 (エージェント・トリガおよびアクション処理におけるステップ) イベントが生行われる場合: 1. EP 306の内部コールバック機能が、呼び出される。ここで、EP 306は、イ ベントをそれが生成した適切なイベント・ハンドルにマップする。 2. EP 306は、このイベント・ハンドルによってAC 305のトリガ機能を呼び出 す。 3. AC 305は、このイベントを待っている全てのエージェント・オブジェクト を位置づけるために、イベント・ハンドルを使用する。 4. AC 305は、実行する必要がある全てのアクションを集め、そして一つの呼 出しで、AP 308に(イベント情報とともに)アクション・リストを渡す。 5. AP 308は、処理のためのアクションを格納し、そしてAC 305に直ちに制御 を戻す。 6. AP 308はアクション・リストを処理し、そしてそれが処理を完了したこと をAC 305に知らせる。 7. AC 305は、エージェント・オブジェクトのトリガ統計値をアップデートす る。
【0108】 アクション・リストは、メモリ内のAP 308に渡すことが出来、そのアクション
の処理が行われると、AP 308によってリリースされるであろう。アクションを、
(アクションのリストが非常に大きい場合)処理が行われると削除されるテンポ
ラリーファイルに渡すことも、また、考えられる。AC 305は、状況に応じてこれ
らの方式の何れかを使用することが出来る。これは、AP 308とAC 305との間の内
部プロトコルである。
【0109】 (エージェント・ロガ307) エージェント・ロガ・コンポーネント307は、外部ログ・ファイルに必要な全
ての情報を記録する責任がある。これは、非常に単純なAPIを提供し、かつ他の
コンポーネントは、必要に応じてログ記録するために必要な情報によりそれを呼
び出す。
【0110】 (エージェント管理304) エージェント管理コンポーネント304は、エージェント・サブシステムに管理
機能を提供する。これによって、管理者および通常のユーザは、エージェントの
グループのみならず特定エージェントについての情報も、(ACLのもとに)問い
合わせかつ検索することが出来る。
【0111】 エージェント管理コンポーネント304により、また、(AC 305を使用して)エ
ージェント・サービスを使用可能および使用禁止にする管理も可能となる。エー
ジェント管理304において行われる大部分の作業は、エージェント記憶装置310に
依存する。
【0112】 (エージェント・アクセス・コントローラ309) エージェント・アクセス・コントローラ309は、クライアントによって行われ
るいかなる動作に対してもACLを確認することを担当する。これは、アクセスを
確認するためにACL等を維持することに責任がある。
【0113】 本発明は、好適な実施例について本明細書に記載されているが、当業者は、他
のアプリケーションが、本発明の精神および範囲から逸脱することなく、本明細
書に記載したアプリケーションに代えることが出来ることは、容易に理解するで
あろう。したがって、本発明は、添付の請求の範囲によってしか制限されるべき
ではない。
【図面の簡単な説明】
【図1】本発明によるコンピュータ・ネットワークによるクライアント・サーバ
・インタラクションのブロック線図を示す。
【図2】本発明による、イベントに応じてアクションを行うサーバのブロック線
図を示す。
【図3】本発明による本発明の好適な実施例のタスク指向のビューのブロック線
図を示す。
【符号の説明】 104 コンピュータ・ネットワーク 201 クライアント 205 サーバ 206 イベント 207 電子メール・メッセージ 301 HTTPサーバリエイゾンコンポーネント 304 エージェント管理コンポーネント 311 エージェント・サブシステム
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AL,AM,AT,AU,AZ,BA, BB,BG,BR,BY,CA,CH,CN,CU,C Z,DE,DK,EE,ES,FI,GB,GD,GE ,GH,GM,HR,HU,ID,IL,IN,IS, JP,KE,KG,KP,KR,KZ,LC,LK,L R,LS,LT,LU,LV,MD,MG,MK,MN ,MW,MX,NO,NZ,PL,PT,RO,RU, SD,SE,SG,SI,SK,SL,TJ,TM,T R,TT,UA,UG,UZ,VN,YU,ZA,ZW 【要約の続き】 するほぼ何れでもあることが出来、およびクライアン ト、またはサーバによって供給されるJavaおよび/また はJavascriptプログラムの実行を含むことが出来る。エ ージェントのイベントおよびアクションは、エージェン トを実行依頼したクライアントと同じアクセス制御セキ ュリティ制限を受ける。サーバで利用可能なエージェン トのタイプは、既定であり、エージェント・テンプレー トとして供給されて、クライアントがエージェントを構 築するためのビルディングブロックである。サーバは、 それが理解し、かつクライアントがサーバ上で利用可能 なエージェントのタイプのリストから選択しかつそのサ ーバにエージェントを実行依頼するエージェント・ホー ムページ上で利用可能なエージェント・テンプレートお よびイベントを公開する、エージェントを供給出来るだ けである。サーバは、また、常駐のエージェントを備え たクライアントのための(それらが各サーバ上のそれら のエージェントをモニタしておよび管理する)管理サー ビスも提供する。各エージェントは、サーバによって一 意の名前およびトークンを割り当てられる。名前は、ま た、クライアントによってエージェントに割り当てられ ることが出来る。サーバ管理者には、そのサーバに常駐 のエージェントを維持しおよび管理するために管理機能 が提供される。エージェント・オブジェクトは、適切な イベントにマップされ、かつそのイベントの発生にトリ ガされるそのエージェントを一意の識別するサーバ上に 作成される。エージェントがトリガされると、そのアク ション・リストは処理され、実行され、かつエージェン ト情報および統計値は、ログ記録される。

Claims (69)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ環境におけるコンピュータ・ネットワーク全体の非同期サーバ・
    クライアント・トランザクションのための処理であって、 当該サーバ上の特定のイベントをモニタするための当該サーバに置かれるエー
    ジェント手段を提供し、かつ 当該イベントが発生すると、当該エージェント手段が、当該イベントに応じて
    、設定された一つまたは複数のアクションを行うステップを有する処理。
  2. 【請求項2】 当該一つまたは複数のアクションが、当該クライアントによって既定される、
    請求項1に記載の処理。
  3. 【請求項3】 当該エージェント手段が、当該クライアントによって当該サーバに置かれ、か
    つ当該クライアントの更なる介入を要求しない、請求項1に記載の処理。
  4. 【請求項4】 当該エージェント手段が、ニュースリーダによって作成され、かつ前記アプリ
    ケーションによって提供された付加価値サービスとして扱われ、かつ当該エージ
    ェント手段が、次いで、当該サーバに当該クライアントの承認に基づいて送信さ
    れる、請求項1に記載の処理。
  5. 【請求項5】 当該エージェント手段が、当該サーバによって特定されるイベントの前記タイ
    プのみをモニタする、請求項1に記載の処理。
  6. 【請求項6】 当該エージェント手段が、Javaおよび/またはJavascriptプログラムの前記実
    行を含むアクションを行う、請求項1に記載の処理。
  7. 【請求項7】 当該Javaおよび/またはJavascriptプログラムが、前記クライアントによって
    供給される、請求項6に記載の処理。
  8. 【請求項8】 当該Javaおよび/またはJavascriptプログラムが、前記サーバによって供給さ
    れる、請求項6に記載の処理。
  9. 【請求項9】 当該エージェント手段が、当該エージェント手段を作成した前記クライアント
    と同じアクセス制御セキュリティ制限を受ける、請求項1に記載の処理。
  10. 【請求項10】 当該エージェント手段が受信されたことを確認する、電子メール通知を、当該
    サーバから当該クライアントへ送信し、かつ 当該電子メール通知が、クライアントのグループに送信されるように特定する
    ことも出来るステップをさらに有する、請求項1に記載の処理。
  11. 【請求項11】 当該クライアントにエージェント手段が期限切れになったことを通知する電子
    メール通知を、当該サーバから当該クライアントに送信するステップをさらに有
    する、請求項1に記載の処理。
  12. 【請求項12】 当該サーバによってサポートされるエージェント・タイプの前記既定されたセ
    ットであるエージェント・テンプレートを、提供するステップをさらに有する、
    請求項1に記載の処理。
  13. 【請求項13】 当該サーバが、前記異なるエージェント・テンプレートおよび当該サーバで利
    用可能なイベントを、エージェント・ホームページに公開する、請求項1に記載
    の処理。
  14. 【請求項14】 クライアントが、当該サーバで利用可能なエージェント・タイプの前記リスト
    からエージェントを選択し、かつエージェントを当該サーバに実行依頼する、請
    求項1に記載の処理。
  15. 【請求項15】 当該クライアントが、当該エージェント手段をモニタし、かつ管理することが
    出来るための管理手段を提供するステップをさらに有する、請求項1に記載の処
    理。
  16. 【請求項16】 当該サーバが、各エージェント手段に一意の名前を割り当てる、請求項1に記
    載の処理。
  17. 【請求項17】 当該エージェント手段に、一意のトークン識別子が割り当てられる、請求項1
    に記載の処理。
  18. 【請求項18】 当該クライアントが、当該エージェント手段に名前付けする、請求項1に記載
    の処理。
  19. 【請求項19】 サーバ管理者が、そのサーバに常駐のエージェント手段を維持し、かつ管理す
    ることが出来るためのサーバ管理手段を提供するテップをさらに有する、請求項
    1に記載の処理。
  20. 【請求項20】 当該サーバ上のエージェント・オブジェクトを作成するためのエージェント・
    オブジェクト作成手段を提供するステップをさらに有する、請求項1に記載の処
    理。
  21. 【請求項21】 前記エージェント手段を前記適切なイベントにマップし、かつ当該イベントの
    発生でトリガするためのエージェント・トリガ手段を提供するステップをさらに
    有する、請求項1に記載の処理。
  22. 【請求項22】 エージェント手段のための前記アクション・リストを処理するためのエージェ
    ント処理手段を提供するステップをさらに有する、請求項1に記載の処理。
  23. 【請求項23】 エージェント情報および統計値をログ記録するためのエージェント・ロギング
    手段を提供するステップをさらに有する、請求項1に記載の処理。
  24. 【請求項24】 コンピュータ環境におけるコンピュータ・ネットワーク全体の非同期サーバ・
    クライアント・トランザクションのための装置であって、 当該サーバ上の特定のイベントをモニタするための当該サーバに置かれるエー
    ジェント手段を有し 、かつ 当該イベントが発生すると、、当該エージェント手段が、当該イベントに応じ
    て、設定された一つまたは複数のアクションを行う装置。
  25. 【請求項25】 当該一つまたは複数のアクションが、当該クライアントによって既定される、
    請求項24に記載の装置。
  26. 【請求項26】 当該エージェント手段が、当該クライアントによって当該サーバに置かれ、か
    つ当該クライアントの更なる介入を要求しない、請求項24に記載の装置。
  27. 【請求項27】 当該エージェント手段が、ニュースリーダによって作成され、かつ前記アプリ
    ケーションによって提供された付加価値サービスとして扱われ、かつ当該エージ
    ェント手段が、次いで、当該サーバに当該クライアントの承認に基づいて送信さ
    れる、請求項24に記載の装置。
  28. 【請求項28】 当該エージェント手段が、当該サーバによって特定されるイベントの前記タイ
    プのみをモニタする、請求項24に記載の装置。
  29. 【請求項29】 当該エージェント手段が、Javaおよび/またはJavascriptプログラムの前記実
    行を含むアクションを行う、請求項24に記載の装置。
  30. 【請求項30】 当該Javaおよび/またはJavascriptプログラムが、前記クライアントによって
    供給される、請求項29に記載の装置。
  31. 【請求項31】 当該Javaおよび/またはJavascriptプログラムが、前記サーバによって供給さ
    れる、請求項29に記載の装置。
  32. 【請求項32】 当該エージェント手段が、当該エージェント手段を作成した前記クライアント
    と同じアクセス制御セキュリティ制限を受ける、請求項24に記載の装置。
  33. 【請求項33】 当該エージェント手段が受信されたことを確認する、電子メール通知を、当該
    サーバから当該クライアントへ送信し、かつ 当該電子メール通知が、クライアントのグループに送信されるように特定する
    ことも出来るモジュールをさらに有する、請求項24に記載の装置。
  34. 【請求項34】 当該クライアントにエージェント手段が期限切れになったことを通知する、電
    子メール通知を当該サーバから当該クライアントに送信するモジュールをさらに
    有する、請求項24に記載の装置。
  35. 【請求項35】 当該サーバによってサポートされるエージェント・タイプの前記既定されたセ
    ットであるエージェント・テンプレートをさらに有する、請求項24に記載の装置
  36. 【請求項36】 当該サーバが、前記異なるエージェント・テンプレートおよび当該サーバで利
    用可能なイベントをエージェント・ホームページに公開する、請求項24に記載の
    装置。
  37. 【請求項37】 クライアントが、当該サーバで利用可能なエージェント・タイプの前記リスト
    から選択し、かつエージェントを当該サーバに実行依頼する、請求項24に記載の
    装置。
  38. 【請求項38】 当該クライアントが、当該エージェント手段をモニタし、かつ管理することが
    出来るための管理手段をさらに有する、請求項24に記載の装置。
  39. 【請求項39】 当該サーバが、各エージェント手段に一意の名前を割り当てる、請求項24に記
    載の装置。
  40. 【請求項40】 当該エージェント手段に、一意のトークン識別子が割り当てられる、請求項24
    に記載の装置。
  41. 【請求項41】 当該クライアントが、当該エージェント手段に名前付けする、請求項24に記載
    の装置。
  42. 【請求項42】 サーバ管理者が、そのサーバに常駐のエージェント手段を維持し、かつ管理す
    ることが出来るためのサーバ管理手段をさらに有する、請求項24に記載の装置。
  43. 【請求項43】 当該サーバ上のエージェント・オブジェクトを作成するためのエージェント・
    オブジェクト作成手段をさらに有する、請求項24に記載の装置。
  44. 【請求項44】 前記エージェント手段を前記適切なイベントにマップし、かつ当該イベントの
    発生でトリガするためのエージェント・トリガ手段をさらに有する、請求項24に
    記載の装置。
  45. 【請求項45】 エージェント手段のための前記アクション・リストを処理するためのエージェ
    ント処理手段をさらに有する、請求項24に記載の装置。
  46. 【請求項46】 エージェント情報および統計値をログ記録するためのエージェント・ロギング
    手段をさらに有する、請求項24に記載の装置。
  47. 【請求項47】 コンピュータによって読み込み可能なプログラム記憶媒体であって、コンピュ
    ータ環境におけるコンピュータ・ネットワーク全体の非同期サーバ・クライアン
    ト・トランザクションのための方法ステップを行うための前記コンピュータによ
    って実行可能な命令のプログラムを有形的に具体化し、 当該サーバ上の特定のイベントをモニタするための当該サーバに置かれるエー
    ジェント手段を提供し、かつ 当該イベントが発生すると、当該エージェント手段が当該イベントに応じて、
    設定された一つまたは複数のアクションを行うステップを有する記憶媒体。
  48. 【請求項48】 当該一つまたは複数のアクションが、当該クライアントによって既定される、
    請求項47に記載の方法。
  49. 【請求項49】 当該エージェント手段が、当該クライアントによって当該サーバに置かれ、か
    つ当該クライアントの更なる介入を要求しない、請求項47に記載の方法。
  50. 【請求項50】 当該エージェント手段が、ニュースリーダによって作成され、かつ前記アプリ
    ケーションによって提供された付加価値サービスとして扱われ、かつ当該エージ
    ェント手段が、次いで、当該サーバに当該クライアントの承認に基づいて送信さ
    れる、請求項47に記載の方法。
  51. 【請求項51】 当該エージェント手段が、当該サーバによって特定されるイベントの前記タイ
    プのみをモニタする、請求項47に記載の方法。
  52. 【請求項52】 当該エージェント手段が、Javaおよび/またはJavascriptプログラムの前記実
    行を含むアクションを行う、請求項47に記載の方法。
  53. 【請求項53】 当該Javaおよび/またはJavascriptプログラムが、前記クライアントによって
    供給される、請求項52に記載の方法。
  54. 【請求項54】 当該Javaおよび/またはJavascriptプログラムが、前記サーバによって供給さ
    れる、請求項52に記載の方法。
  55. 【請求項55】 当該エージェント手段が、当該エージェント手段を作成した前記クライアント
    と同じアクセス制御セキュリティ制限を受ける、請求項47に記載の方法。
  56. 【請求項56】 当該エージェント手段が受信されたことを確認する、電子メール通知を、当該
    サーバから当該クライアントへ送信し、かつ 当該電子メール通知が、クライアントのグループに送信されるように特定する
    ことも出来るステップをさらに有する、請求項47に記載の方法。
  57. 【請求項57】 当該クライアントにエージェント手段が期限切れになったことを通知する、電
    子メール通知を当該サーバから当該クライアントに送信するステップをさらに有
    する、請求項47に記載の方法。
  58. 【請求項58】 当該サーバによってサポートされるエージェント・タイプの前記既定されたセ
    ットであるエージェント・テンプレートを提供するステップをさらに有する、請
    求項47に記載の方法。
  59. 【請求項59】 当該サーバが、前記異なるエージェント・テンプレートおよび当該サーバで利
    用可能なイベントをエージェント・ホームページに公開する、請求項47に記載の
    方法。
  60. 【請求項60】 クライアントが、当該サーバで利用可能なエージェント・タイプの前記リスト
    から選択し、かつエージェントを当該サーバに実行依頼する、請求項47に記載の
    方法。
  61. 【請求項61】 当該クライアントが、当該エージェント手段をモニタし、かつ管理することが
    出来るための管理手段を提供するステップをさらに有する、請求項47に記載の方
    法。
  62. 【請求項62】 当該サーバが、各エージェント手段に一意の名前を割り当てる、請求項47に記
    載の方法。
  63. 【請求項63】 当該エージェント手段に、一意のトークン識別子が割り当てられる、請求項47
    に記載の方法。
  64. 【請求項64】 当該クライアントが、当該エージェント手段に名前付けする、請求項47に記載
    の方法。
  65. 【請求項65】 サーバ管理者が、そのサーバに常駐のエージェント手段を維持し、かつ管理す
    ることが出来るためのサーバ管理手段を提供するテップをさらに有する、請求項
    47に記載の方法。
  66. 【請求項66】 当該サーバ上のエージェント・オブジェクトを作成するためのエージェント・
    オブジェクト作成手段を提供するステップをさらに有する、請求項47に記載の方
    法。
  67. 【請求項67】 前記エージェント手段を前記適切なイベントにマップし、かつ当該イベントの
    発生でトリガするためのエージェント・トリガ手段を提供するステップをさらに
    有する、請求項47に記載の方法。
  68. 【請求項68】 エージェント手段のための前記アクション・リストを処理するためのエージェ
    ント処理手段を提供するステップをさらに有する、請求項47に記載の方法。
  69. 【請求項69】 エージェント情報および統計値をログ記録するためのエージェント・ロギング
    手段を提供するステップをさらに有する、請求項47に記載の方法。
JP2001500974A 1999-05-28 2000-05-11 サーバ・エージェント・システム Expired - Fee Related JP4028233B2 (ja)

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)

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

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

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

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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334065A (ja) * 1997-05-27 1998-12-18 Internatl Business Mach Corp <Ibm> 情報処理方法及び情報処理装置、サーバを制御するプログラムを格納した記憶媒体

Cited By (4)

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