JP2002082862A - イベントの発生を通知する方法、通信システム及びコンピュータ・プログラム製品 - Google Patents

イベントの発生を通知する方法、通信システム及びコンピュータ・プログラム製品

Info

Publication number
JP2002082862A
JP2002082862A JP2001207672A JP2001207672A JP2002082862A JP 2002082862 A JP2002082862 A JP 2002082862A JP 2001207672 A JP2001207672 A JP 2001207672A JP 2001207672 A JP2001207672 A JP 2001207672A JP 2002082862 A JP2002082862 A JP 2002082862A
Authority
JP
Japan
Prior art keywords
notification
client
server
event
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001207672A
Other languages
English (en)
Inventor
Natwar Modani
ネトワー・モダニ
Manish Gupta
マニッシュ・ガプタ
Parul A Mittal
ポール・エイ・ミッタル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002082862A publication Critical patent/JP2002082862A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】 サーバ・リソースをブロックせず、あるいは
帯域幅を過剰に使用することなく、リアルタイムでメッ
セージを通知できる通信方法を提供すること。 【解決手段】 ユーザは1つ以上のメッセージを受信す
ることを登録し、希望する情報のリストを、ユーザのコ
ンピュータ・システムで動作するクライアント・プロセ
スを通じて送信する。ユーザ側でメッセージ受信の準備
ができているとき、クライアント・プロセスは通知サー
バに接続し、その受信アドレスIDを与える。次に通知
サーバから切断し、メッセージを待つ。メッセージ・モ
ニタが、通知をトリガするイベントの発生を検出し、通
知サーバにイベントを知らせる。通知サーバは通知の受
信者を確認し、サーバにより開始される終端間メッセー
ジ転送メカニズムを使用してクライアントの受信アドレ
スIDに通知を送信する。通知は、1つ以上のアプリケ
ーションを制御する制御信号としても、ネットワークを
通じてアプライアンスをリモートで制御するためにも使
用できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、商品、サービス、
または情報サービスを提供するため用いられるコンピュ
ータ・システムに関し、特にネットワークを通じて、イ
ベントの発生をエンドユーザに通知する方法及びシステ
ムに関する。
【0002】
【従来の技術】インターネットの影響は現代の経済のあ
らゆる側面に浸透しつつある。世界中にほぼ即座に情報
を伝える機能により、既存の多くの事業形態が様変わり
している。また、世界的な通信ネットワークの可能性を
活かした新しいサービスが数多く登場している。
【0003】近年では、リアルタイムの情報転送による
インターネット・サービスが急増している。浜辺の水浴
条件に関する最新情報を流すWebサイト、スポーツの
スコアをリアルタイムで表示するWebサイト等、多種
多様な例が挙げられる。天候や道路交通の状況も、株価
と同様にオンラインで定期的に更新することができる。
【0004】最も急速に伸びている分野の1つはオンラ
イン・オークションである。Web(World Wide Web)
上の多数のサイトで商品がオークションにかけられる。
インターネット・ユーザは、現在オークションにかかっ
ているアイテムを希望する場合は、オンラインで入札す
ることができる。オークションは数日間に及ぶことがあ
るため、現在の最高入札額を一定期間に渡って管理する
必要がある。入札者は、最高入札額が変わったときに通
知を受けることを要求することもできる。
【0005】インターネット上で大量の情報が生成され
る場合、ユーザは特定の情報が入手できるようになった
ときに通知を受けることを要求できる。特定のイベント
をユーザに通知するため現在用いられている方法はいく
つかある。
【0006】最も基本的な通知方法は"プル"技術にもと
づく。クライアントがサーバから新しい情報を明示的に
引き出す(pull)。オンライン・オークションにこの技
術を利用したWebサイトの例として、www.yahoo.com
やwww.eBay.comがある。このようなシステムは、発声入
札オークション(open-outcry auction)での現在の最
高入札額等、最新情報を見るため再ロード・ボタンをク
リックするようにユーザに指示する。この方法にはいく
つか欠点がある。最新情報を得るためにユーザの手が必
要であり、ユーザにとってこれはかなり時間がかかる。
またユーザは、情報の内容がいつ変わるか正確に予測で
きないので、この方法は、ユーザが要求を出しても情報
が変更されていたときは帯域幅リソースの無駄遣いにつ
ながる。一方、ユーザが情報を要求する前の待ち時間が
長すぎた場合には、オークションが終了した後等、情報
を受け取っても遅すぎる可能性がある。
【0007】もう1つの通知方法は"クライアント・ポ
ーリング"である。クライアントがサーバの新情報を定
期的にポーリングする。ここでも情報はクライアントに
よって引き出されるが、これはユーザのシステム上で、
ユーザの介入なしに自動的に実行されるアプリケーショ
ンにより行える。この方法の1例はwww.crickinfo.com
のWebサイトに見られる。このサイトは、HTTPリ
フレッシュ方式により、Webページを自動的にリフレ
ッシュし、クリケット試合の最新スコアを90秒毎に表
示する。このようなポーリング方法は、ユーザ操作の問
題をなくすため、情報を定期的、自動的に引き出す。た
だし、こういった方法には欠点もある。最も大きいのは
帯域幅の無駄である。ポーリング間隔が短く保たれるな
ら、ページの情報内容が1つのポーリング間隔で変わる
可能性は小さく、よって無駄なクライアント・ポーリン
グ要求を出し、帯域幅リソースが無駄になる。一方、ポ
ーリング間隔が長い場合、情報を適時にユーザに届けら
れない可能性がある。サーバに頻繁にポーリングするク
ライアントが多すぎる場合は、そのサーバの負荷が大き
くなり得る。その結果こうしたポーリング方法はスケー
ラビリティに欠けることがある。
【0008】第3の通知方法は、クライアントにより開
始される永続接続上のサーバによる"プッシュ"にもとづ
く。クライアント・アプリケーションは、一度サーバに
接続すると接続された状態にとどまる。サーバは、送信
する情報があるときは、その情報をこのオープン接続に
送り出す(push)。このようなシステムの例は、ほとん
どの"チャット"・アプリケーションやYahoo(登録商
標)のメッセンジャー・サービスである。この方法は、
イベント・トリガ式メッセージ配信をサポートすること
で、タイムリーな通知を保証するが、サーバ・リソース
が浪費される。サーバは、リアルタイム通知を受け取ろ
うとする多数のクライアントとのオープン接続を必要と
する。これは、同時にオンラインにすることのできるク
ライアント数を制限することになり、システムのスケー
ラビリティが低くなる。オープン接続を維持するには、
サーバとクライアントの間で何らかの"生存証明(I am
alive)"メッセージを定期的に交換する必要があり、こ
れもまた帯域幅の浪費につながる。
【0009】他のシステムは、通知方法として電子メー
ルを使用する。ユーザが様々な定義済みイベントについ
て電子メール・アラートを受け取ることのできるWeb
サイトの例として、www.yahoo.com、www.eBay.com、ww
w.amazon.comの3つがある。これらの電子メール通知に
は帯域幅の浪費の問題はないが、性質上リアルタイムと
みなすことはできない。転送と受信の間の遅れの上限が
保証されないからである。転送先メール・サーバからク
ライアント・アプリケーションへのパスの最終部には、
ポーリング方法が用いられるか、またはオープン接続が
維持される。更に、発声入札オークションでの最高入札
額の更新は電子メールでは送られない。これはかなり多
数の電子メールがユーザに送られることになり、時間の
浪費になり不満の原因にもなる。頻繁に変わるこの種の
データは電子メールの世界には適さない。
【0010】背景として付け加えると、前記のような通
信システムは通常、大型コンピュータ・システム上に実
装され、通常は3層トポロジを採用する。即ち、1)複
数のワークステーションがユーザの対話に焦点をあてる
プレゼンテーション層、2)複数のサーバがアプリケー
ション/ビジネス・ロジックを実行するビジネス層、
3)複数のデータベースがデータの保存と編成を扱うデ
ータ層である。3層の要素はローカル/ワイド・エリア
・ネットワーク(LAN/WAN)またはインターネッ
トにより相互接続することができる。
【0011】
【発明が解決しようとする課題】サーバ・リソースをブ
ロックせず、あるいは帯域幅を過剰に使用することな
く、リアルタイムでメッセージを通知できる通信方法が
必要とされる。本発明は、この必要性の少なくとも一部
を満足することを目指している。
【0012】
【課題を解決するための手段】本発明の要点は、広義に
は、興味の対象であるイベントが発生したとき、サーバ
が、ネットワークを通じたリアルタイムの接続により、
イベントをそれに興味を持つクライアントにのみ転送す
るように、クライアントが興味を持つイベント・セット
とそのIDをサーバに登録することである。
【0013】本発明の第1の側面によれば、通信ネット
ワークを通じて1つ以上のクライアント・プロセスにイ
ベントの発生を通知する方法が提供される。この方法
は、前記1つ以上のクライアント・プロセスが興味を持
つ前記イベントのセットを登録し、前記クライアント・
プロセスが現在アクティブであれば、そのアドレスID
をサーバに登録するステップと、前記サーバがイベント
の発生を検出するステップと、前記サーバが前記クライ
アント・プロセスのうち前記イベントの通知に興味を持
ち、現在アクティブなクライアント・プロセスを識別す
るステップと、前記サーバが前記ネットワークを通じた
リアルタイム接続により識別された各クライアント・プ
ロセスに前記通知を転送するステップとを含む。
【0014】本発明の第2の側面によれば、通信ネット
ワークを通じて、1つ以上のサーバから1つ以上のクラ
イアント・プロセスへイベントの発生を通知する方法が
提供される。この方法は、前記1つ以上のクライアント
・プロセスが興味を持つ前記イベントのセットを登録
し、前記クライアントが現在アクティブであれば、その
アドレスIDを登録するステップと、前記クライアント
・プロセスとそれが興味を持つイベントとの第1レコー
ドを形成するステップと、前記クライアント・プロセス
のうち現在アクティブなクライアント・プロセスとその
アドレスIDとの第2レコードを形成し、前記第1レコ
ードと該第2レコードは前記サーバから使用できる、ス
テップと、イベントの発生を検出するステップと、前記
第1レコードから前記クライアント・プロセスのうち前
記イベントの通知に興味を持つクライアント・プロセス
を識別するステップと、前記ネットワークを通じたリア
ルタイム接続により、前記第2レコードに保存されたア
ドレスIDを使用し、興味を持つ各クライアント・プロ
セスに前記通知を転送するステップとを含む。
【0015】本発明の第3の側面によれば、イベントの
発生を通知する通信システムが提供される。このシステ
ムは、通信ネットワークと、前記ネットワークに接続さ
れた1つ以上のクライアント・プロセスと、前記ネット
ワークに接続された1つ以上のサーバ・プロセスとを含
み、前記1つ以上のクライアント・プロセスは、興味を
持つ前記イベントのセットを登録し、現在アクティブで
あれば、そのアドレスIDを前記サーバ・プロセスの1
つ以上に登録し、前記サーバ・プロセスの1つ以上はイ
ベントの発生を検出し、前記クライアント・プロセスの
うち該イベントの通知に興味を持ち、現在アクティブな
クライアント・プロセスを識別し、前記ネットワークを
通じたリアルタイム接続により識別された各クライアン
ト・プロセスに該通知を転送する。
【0016】本発明の別の側面によれば、イベントの発
生を通知する通信システムが提供される。このシステム
は、通信ネットワークと、前記ネットワークに接続され
た1つ以上のクライアント・プロセスと、前記ネットワ
ークに接続された1つ以上のサーバ・プロセスとを含
み、前記1つ以上のクライアント・プロセスは、興味を
持つ前記イベントのセットを登録し、現在アクティブで
あれば、そのアドレスIDを前記サーバ・プロセスの1
つ以上に登録し、前記サーバ・プロセスは、前記クライ
アント・プロセスとそれが興味を持つイベントとの第1
レコードを形成し、前記クライアント・プロセスのうち
現在アクティブなクライアント・プロセスとそのアドレ
スIDとを含む第2レコードを形成し、該第1レコード
と第2レコードは複数の前記サーバ・プロセスから使用
でき、前記サーバ・プロセスはまた、イベントの発生を
検出し、該第1レコードから、前記クライアント・プロ
セスのうち該イベントの通知に興味を持ち現在アクティ
ブなクライアント・プロセスを識別し、前記ネットワー
クを通じたリアルタイム接続により、該第2レコードに
保存されたアドレスIDを使用し、識別された各クライ
アントに該通知を転送する。
【0017】更に本発明の別の側面によれば、通信ネッ
トワークを通じて、1つ以上のクライアント・プロセス
にイベントの発生を通知する通知サーバが提供される。
通知サーバは、前記クライアント・プロセスからの、前
記クライアント・プロセスが興味を持つイベントに関す
る登録データと、前記クライアントが現在アクティブで
あれば、そのアドレスIDとを保存するデータ・ストア
と、前記データ・ストアにリンクされ、発生したイベン
トの通知を受信し、前記データ・ストアで、該イベント
に興味を持つ現在アクティブなクライアント・プロセス
のデータを検索するプロセッサと、前記プロセッサにリ
ンクされることで、前記イベントの通知が出力され、前
記興味を持つクライアント・プロセスに送信されるネッ
トワーク接続手段とを含む。
【0018】更に本発明の別の側面によれば、ネットワ
ークを通じてイベントの発生を通知するため、コンピュ
ータ・プログラムが組み込まれ、コンピュータで使用で
きる媒体を持つコンピュータ・プログラム製品が提供さ
れる。コンピュータ・プログラム製品は、1つ以上のク
ライアントが興味を持つイベントのセットを登録し、該
1つ以上のクライアントが通知を受信できる状態のと
き、そのアドレスIDをサーバに登録する、コンピュー
タ・プログラム・コード手段と、イベントの発生を検出
するコンピュータ・プログラム・コード手段と、前記ク
ライアントのうち前記イベントの通知に興味を持ち現在
アクティブなクライアントを識別するコンピュータ・プ
ログラム・コード手段と、前記ネットワークを通じたリ
アルタイム接続により識別された各クライアントに前記
通知を転送するコンピュータ・プログラム・コード手段
とを含む。
【0019】
【発明の実施の形態】図1は、本発明を採用したネット
ワーク・コンピュータ・システム80の代表的なトポロ
ジを示す。通信ネットワーク10により複数のデバイス
20乃至70が接続される。ネットワーク10はイント
ラネット、インターネット、またはエクストラネットで
ある。ネットワーク・コンピュータ・システム80は3
つの層を含む。プレゼンテーション(またはクライアン
ト/ユーザ)層は、パーソナル・コンピュータ等のコン
ピュータ端末である複数(1...N)のワークステー
ション50乃至52により表される。この層にはまた、
ネットワーク10に接続できるアプライアンス70を使
用することができる。ビジネス層は、専用ミニ・コンピ
ュータやメインフレーム・コンピュータ等である複数
(1...K)のサーバ20、24、30により表され
る。データ層は、複数(1...M)のデータベース4
0、42により表される。これには、動的に管理される
磁気媒体や光記憶媒体が含まれる。ここで、用語"デー
タバンク"は、データベース40、42等の2次ストレ
ージ・デバイスのデータ構造、あるいはアプリケーショ
ン・サーバ20や通知サーバ30等のサーバのメイン・
メモリにあるデータ構造をいう。
【0020】アプリケーション・サーバ20乃至24は
それぞれ、複数のプロセスを実行し、各アプリケーショ
ン・サーバ20乃至24上の少なくとも1つのプロセス
は、複数のエンドユーザにリアルタイムで転送する必要
のあるメッセージを生成する。各アプリケーション・サ
ーバ20乃至24はまた、メッセージとメッセージに興
味を持つクライアントのリストのデータバンクを維持及
び更新する。データバンクは、アプリケーション・サー
バ20の場合はメイン・メモリに保存され、アプリケー
ション・サーバ24の場合はデータベース40に保存さ
れる。
【0021】各アプリケーション・サーバ20乃至24
で動作する複数のプロセスのうち、メッセージ(即ち"
イベント")の発生を検出し、それらのメッセージをキ
ャプチャして通知サーバ30に送信するメッセージ・モ
ニタがある。
【0022】クライアント・プロセス:図2に、エンド
ユーザのコンピュータ・システム50にあるソフトウェ
ア・アプリケーションのいくつかを示す。ソフトウェア
には、Webブラウザ100が含まれ、それによりエン
ドユーザはインターネットで利用可能なWebページを
見ることができる。最も広く用いられているブラウザ1
00は、マイクロソフトのインターネット・エクスプロ
ーラ(登録商標)とネットスケープ・ナビゲータ(登録
商標)である。エンドユーザのコンピュータ・システム
50はまた、エンドユーザを代表して実行されるクライ
アント・プロセス110を含む。クライアント・プロセ
ス110は、エンドユーザが受信したいメッセージを1
つ以上のアプリケーション・サーバ20乃至24に通知
する。クライアント・プロセス110は、求められるこ
のメッセージのリストを、エンドユーザの好みに応じて
動的に更新することができる。クライアント・プロセス
110は、求められるメッセージのこのリストを送信し
た後は、ネットワーク10から切断することができる。
クライアント・プロセス110は、メッセージを受信す
る準備ができると、自体を通知サーバ30に登録する。
通知サーバ30により要求される登録情報は、クライア
ント・プロセス110のID及び受信アドレスIDを含
む。受信アドレスIDは、例えばIP(インターネット
・プロトコル)アドレスとポート番号及び使用されるプ
ロトコルを含むIDである。クライアント・プロセス1
10は、その受信アドレスのみ保持すればよく、そうで
ない場合には通知サーバ30から切断することができ
る。クライアント・プロセス110は、ネットワーク1
0を通じてユーザのコンピュータ・システム50に送信
されるモバイル・エージェントでもよい。これは、モバ
イル・クライアントを参照するページにユーザがアクセ
スしたとき、ユーザ側のWebブラウザ100内で自動
的に実行することができる。このようなクライアントの
例は、HTMLページ内で表示されるアプレットであ
る。クライアントがアプレットであるとき、ソケットを
開くためのサポートが必要である。これは現在、Jav
a(登録商標)プラグインあるいやJava(登録商
標)バージョン1.2を使用することにより可能であ
る。
【0023】またクライアント・プロセス110は、ユ
ーザが初めてメッセージ通知を登録したとき、ネットワ
ーク10を通じてユーザのコンピュータ・システム50
にダウンロードされる。ダウンロードされたクライアン
ト・ソフトウェアはアプリケーションの形式である。そ
の後このアプリケーションは、ユーザのコンピュータ・
システム50からマシンの起動時に自動的に、またはユ
ーザにより手動で起動することができる。アプリケーシ
ョンはまた、Webブラウザ100のプラグインとして
構成することもできる。その場合プラグインは、ユーザ
が特定のWebページを開いたとき起動される。
【0024】イベントの通知:通知サーバ30は、オン
ラインのクライアント110乃至118のデータバンク
を維持及び更新する。通知サーバ30は、メッセージ・
モニタからメッセージを受信すると、クライアント11
0乃至118が受信しようとするメッセージのデータバ
ンクを使用し、メッセージの受信者を確認する。通知サ
ーバ30は、アプリケーション・サーバ20乃至24に
より維持されるデータバンクを直接参照するか、アプリ
ケーション・サーバ20乃至24により維持されるデー
タバンクのローカル・コピーを維持することができる。
コピーされたこれらのデータベースは、通知サーバ30
のメイン・メモリまたは別のデータベース42に維持す
ることができる。通知サーバ30は、メッセージを受信
し、受信者を確認すると、現在オンラインである受信者
に送信される通知を生成する。
【0025】2種類のデータバンクが通知サーバ30に
より維持される。最初のデータバンクは、クライアント
とクライアントが興味を持つメッセージのリストを含
む。表1に、この種のデータバンクの仮定的な例を示
す。
【表1】 メッセージ・データバンク クライアントID 関心対象のメッセージ Bill "IBM ThinkPad"のオークション開始 Bill "PowerPC"のオークション終了 Fred IBM株価が5%を超えて変動 Joe "IBM ThinkPad"のオークションの最高入札額の変化
【0026】第2データバンクは、現在アクティブなク
ライアントのリストである。この場合の"アクティブ"
は、クライアントが通知メッセージを受信できる状態に
あることをいう。表2にこの種のデータバンクの仮定的
な例を示す。
【表2】 クライアント・データバンク クライアントID 受信アドレスID(IPアドレス:ポート番号) Bill 9.184.208.12:6758 Fred 123.100.208.82:8080
【0027】アプリケーション・サーバ20乃至24の
1つにより、様々なクライアントが興味を持つメッセー
ジ/イベント(即ち表1)の1つが検出されると、通知
プロセスが実行される。関連するアプリケーション・サ
ーバは、関連するクライアントの受信アドレスと結び付
けられたメッセージを通知サーバに引き渡す。オンライ
ンのクライアント110乃至118は、通知サーバ30
から送信されたメッセージを受信して解釈し、エンドユ
ーザに表示する。
【0028】通知は、ネットワーク10に接続可能で、
クライアント・ソフトウェアを実行することのできる任
意の形式のデバイスにより受信できる。これには、ワイ
ヤレス・アプリケーション・プロトコル(WAP)機能
を持つ携帯電話が含まれる。
【0029】通知サーバ30は、サーバにより開始され
る終端間(end-to-end)メッセージ転送メカニズム(S
I−MTM)により通知をオンラインのクライアント1
10乃至118に送信する。SI−MTMでは、クライ
アントは通知サーバ30から切断され、アライブ受信ア
ドレス(alive receiving address)しか持たない。S
I−MTMはコネクション型メカニズムまたはメッセー
ジの配信が保証されないコネクションレス型メカニズム
である。SI−MTMは、2地点間(point-to-point)
通信またはマルチキャスト通信が考えられる。通知サー
バ30は、メッセージの転送を開始し、メッセージをク
ライアント・プロセス110乃至118の受信アドレス
に送信する。
【0030】通知サーバ30は、クライアントの受信ア
ドレスでクライアント・プロセス110乃至118との
接続を開く。次に通知を送信し、すぐに接続を閉じる。
この種のSI−MTMの例として、通知サーバ30によ
り開始される終端間TCP(Transmission Control Pro
tocol)接続がある。TCPは、メッセージ構造、信頼
できるデータ転送を実現するため送信側と宛先の間に必
要な確認応答、及びエラーの検出・訂正方法を指定して
いる。また通知サーバ30は、通知の送信後に接続をす
ぐに閉じる必要はなく、クライアント・プロセス110
乃至118との接続の切断前に一定の非活動期間を待機
することもできる。この方法により、接続の利用が最適
化され、非活動となった接続を閉じることによって負荷
が軽減する。
【0031】TCPに代わる方法として、中間ストレー
ジのないデータグラム・サービスがある。この種のSI
−MTMの例には、ユーザ・データグラム・プロトコル
(UDP)がある。データグラムの起点は通知サーバ3
0であり、宛先はクライアント・プロセス110乃至1
18の受信アドレスである。UDPはまた、マルチキャ
スト・メッセージ転送でもある。UDPは、下位インタ
ーネット・プロトコルを利用してノードからノードへメ
ッセージを転送する。ホスト・コンピュータ上の複数の
宛先を区別する機構が得られる。
【0032】一般に、エンドユーザを代表して動作する
クライアント・プロセス110がオフラインのとき、エ
ンドユーザが興味を持つメッセージがアプリケーション
・サーバ20乃至24により生成された場合、通知は送
信されない。ただし、通知サーバ30は、現在オンライ
ンではないクライアントを対象にした通知を保存するこ
とはできる。通知サーバ30は、それらのメッセージの
全部または一部を、電子メール、郵便、ファクシミリ等
の他の手段によりエンドユーザに送信することもでき
る。また、それらのメッセージの全部または一部をクラ
イアント110乃至118に、クライアントが次に登録
したときに配信することもできる。
【0033】アプリケーション・サーバ20乃至24に
より生成されるメッセージには、エンドユーザに伝えら
れる情報が含まれることがある。ただしクライアント・
ソフトウェア110乃至118はまた、通知をクライア
ントのシステム50乃至52上で動作する1つ以上のア
プリケーションを制御する制御信号としても使用でき
る。通知はまた、ネットワーク10上リモート側にある
アプライアンス70の制御にも使用できる。
【0034】図3に示すように、アプライアンス70に
は、ネットワーク10を通じてメッセージを送受信でき
る組み込み(built-in)クライアント112がある。こ
の場合、アプリケーション・サーバ20乃至24と通知
サーバ30は、第3者により所有または運営可能なアプ
ライアンス管理サービスを構成する。アプライアンス7
0に送信されるメッセージは、アプライアンス70の所
有者により生成するか、ネットワーク10に接続された
他のアプライアンス(図示せず)により生成できる。ア
プライアンス70は、メッセージ通知を受信するため、
アプライアンス管理サービスに登録することができる。
また他のアプライアンスに送信されるメッセージ(アプ
ライアンス管理サービスを介して送信される)を生成す
ることができる。例えばアプライアンス70は、Jav
a(登録商標)クライアント112を組み込んだもので
もよい。アプライアンス所有者は、アプライアンス70
を起動し、家を出る前に、オンラインにすることをアプ
ライアンス70に指示する。所有者は、アプライアンス
70の電源を切りたい場合は、アプライアンス管理サー
ビスのWebサイトを通じて行う。アプライアンス管理
サービスは、メッセージ通知をアプライアンス70にリ
アルタイムで送信し、これによりアプライアンス70の
電源が切れる。
【0035】例1 通知サーバと複数のサーバ/複数の
クライアント:エンドユーザが、リアルタイムで通知を
受けることを選択できるメッセージやイベントのリスト
を発行しているWebサイトを見ている。これは、例え
ばオンラインの発声入札オークション・サイトで、現在
の最高入札額に変更があればユーザに通知することがで
きる。ユーザは、1つ以上のメッセージを受信するよう
に登録し、希望するメッセージのリストを、ユーザのコ
ンピュータ・システム50で動作するクライアント・プ
ロセス110を通じてWebサイトに送信する。クライ
アント・プロセス110は、メッセージのリストを送信
した後は、ユーザがメッセージの受信をすぐに開始した
くない場合は切断することができる。ユーザがメッセー
ジの受信を開始したい場合は、クライアント・プロセス
110は通知サーバ30に接続し、クライアント・プロ
セス110のID及びその受信アドレスIDを含むメッ
セージを送信する。通知サーバ30は、現在オンライン
であるクライアント110乃至118のデータバンクを
更新する。クライアント・プロセス110は次に、通知
サーバ30から切断され、受信アドレスIDでメッセー
ジを待機する。
【0036】図4は、メッセージが生成されるとき発生
する情報の流れを示す。アプリケーション・サーバ20
乃至24の1つにより、クライアント114乃至118
に通知を送信する必要のあるイベントが生成されると
き、メッセージ・モニタが通知サーバ30に通知をす
る。通知サーバ30は、この通知の受信者を、ユーザが
提供した希望するメッセージのリスト及びオンラインの
クライアント114乃至118のリストにより確認す
る。次にこの通知を、サーバにより開始される終端間メ
ッセージ転送メカニズムを使用し、クライアント114
乃至118の受信アドレスIDに送信する。クライアン
ト114乃至118の1つは、オフラインになろうとす
るときは、通知サーバ30に通知するメッセージを送信
する。通知サーバ30はそこで、クライアントがオンラ
インではない旨のフラグを立てる。
【0037】多くの場合、複数のアプリケーション・サ
ーバ20乃至24は別々のWebサイトで個別に所有さ
れ運営される。通知サーバ30は、第3者のサービス・
プロバイダが所有または運営することもできる。アプリ
ケーション・サーバ20乃至24の所有者は、通知サー
バ30のサービスを任意選択して使用できる。その場
合、通知サーバ30は起動時に、ユーザが求めるメッセ
ージのデータバンク及び特定のクライアント114乃至
118の詳細を提供することをアプリケーション・サー
バ20乃至24に要求する。通知サーバ30は、それら
データバンクのローカル・コピーを維持し、各アプリケ
ーション・サーバ20乃至24のデータバンクとその同
期を維持する。オンラインになった時点の通知サーバ3
0へのクライアント登録は引き続き発生する。
【0038】通知毎に送信する必要のあるデータ量を減
らすため、転送されるメッセージの内容を、オークショ
ン・サイトの落札額等の変更されたデータだけにする必
要がある。その場合クライアントは、ユーザに見せるた
め変更されたデータを組み込んだ表示を動的に生成す
る。この例は、データがXML(eXtensible Markup La
nguage)で送信される場合である。XMLデータの内容
は、メッセージの内容と構造に関する情報のみである。
メッセージのビジュアル表現に関する情報は含まれな
い。その情報をユーザにWebブラウザ100で表示す
るには、CSS(カスケード・スタイル・シート)やX
SL(eXtensible Stylesheet Language)等の技術を使
用してXMLデータをHTML(ハイパーテキスト・マ
ークアップ言語)に変換する必要がある。XMLからH
TMLへの変換はクライアント114乃至118により
行うことができ、よって処理負荷の一部はアプリケーシ
ョン・サーバ20乃至24からクライアント114乃至
118にシフトする。これにより通知毎に送信する必要
のあるデータ量が減るため、システム全体のスケーラビ
リティが向上する。
【0039】例2 負荷共有デバイス:別の実施例で
は、イベント・トリガ式通知を行うため、"ブローカ"と
呼ばれる複数の負荷共有デバイスが使用される。図5に
示すように、通知サーバ30は通知をブローカ200、
202を介してクライアント114乃至118に配信す
ることができる。
【0040】クライアント114乃至118が通知サー
バ30に登録すると、通知サーバ30はクライアント1
14乃至118にブローカ200、202の1つを割当
てる。この割当ては、クライアントの関心対象リスト、
地域、以下に述べるSOCKS/プロキシ設定等の要素
をもとに行うことができる。クライアント114乃至1
18の通知は、対応するブローカ200、202に送ら
れる。図5のブローカ200は、メッセージをクライア
ント114、115に、ブローカ202はメッセージを
クライアント118にそれぞれ転送する。通知はブロー
カ200、202を介して送信されるメッセージのほ
か、引き続き通知サーバ30から直接送信することもで
きる。ブローカ200、202は、クライアント114
乃至118が興味を持つメッセージのデータバンクを使
用してメッセージの受信者を確認し、メッセージを希望
するクライアント114乃至118にリアルタイムに転
送する。ブローカ200、202はそれぞれ、アプリケ
ーション・サーバ20により維持されるデータバンクの
ローカル・コピーを維持する。
【0041】クライアントが通知サーバ30に登録した
時点でクライアントをブローカに割当てるのではなく、
通知メッセージ毎に動的にブローカへのクライアント割
当てを行うこともできる。ここでも割当ては、クライア
ントの関心対象リスト、地域、SOCKS/プロキシ設
定等の要素にもとづく。ブローカへのクライアント割当
てがメッセージ毎に行われる場合、ブローカ200、2
02は、希望するクライアントのデータバンクは維持せ
ず、希望するクライアントのリストを通知メッセージと
ともに通知サーバ30から受信する。
【0042】ブローカを使用する代わりに、ミラー・サ
イトを使用するか、あるいは同じサイトにある複数のサ
ーバを使用することによって、負荷の共有も実現するこ
とができる。こうした負荷共有デバイスの目的は、通知
サーバ30が送り出す必要のあるメッセージ数を減らす
ことである。これは通知システムのスケーラビリティ向
上につながる。
【0043】例3 ファイアウォール経由の通知送信:
一般に、コンピュータ・ネットワークを所有する組織
は、ネットワーク上に存在する情報への不正アクセスを
防ごうとする。この情報を保護する一般的手段は、内部
のIP(インターネット・プロトコル)アドレスをイン
ターネットの他の部分から見えないようにするファイア
ウォールである。図6に示すように、クライアント11
1、113、117がファイアウォール210の背後に
隠れると、通知サーバ30はクライアント111、11
3、117に直接接触することができない。この問題を
解決する方法は2つある。SOCKSサーバを使用する
か"逆プロキシ"を使用するかである。
【0044】SOCKSは、TCP/IPベースのネッ
トワーク・アプリケーションを対象にしたネットワーク
・プロキシ・プロトコルであり、これにより、SOCK
Sサーバ220の片側にあるホストは、IPの直接到達
可能性を必要とせずに、SOCKSサーバ220の反対
側にあるホストへのフル・アクセスが可能になる。SO
CKSサーバ220は、要求を認証、承認し、プロキシ
接続を確立してデータをリレーする。SOCKSには、
ソース・アドレスと宛先アドレスに加えて、ユーザ、ア
プリケーション、時間をもとにしたアクセス制御ポリシ
によりネットワークを保護する順応性(flexibility)
がある。
【0045】SOCKSサーバ220は、ファイアウォ
ール210の背後にあるクライアント111、113、
117に通知を送信しようとする通知サーバ30(また
はブローカ)が最初にSOCKSサーバ220に接触す
るように構成される。SOCKSサーバ220は、通知
サーバ30により開かれた接続を認証し、ファイアウォ
ール210の内側にあるクライアント111、113、
117にデータをリレーする。
【0046】通知サーバ30が、ファイアウォール21
0の背後に隠された専用ネットワーク内部のクライアン
ト111、113、117に通知を送信するもう1つの
方法は、逆プロキシに接触することである。"逆プロキ
シ"と呼ばれるのは、プロキシのクライアントがファイ
アウォール210の外部にあるためである。SOCKS
はTCP/UDP層で機能するが、逆プロキシはIP層
ベースであり、ネットワーク・アドレス変換を行う。プ
ロキシはファイアウォール210内側の任意のサーバと
対話することができる。
【0047】SOCKSまたは逆プロキシが用いられる
とき、ファイアウォール210内側のクライアント11
1、113、117は、通知を生成しているアプリケー
ション・サーバ20から署名済みアプレットをダウンロ
ードする必要がある。署名済みアプレットによりポート
上のサーバ・ソケットが機能する。このサーバ・ソケッ
トはポート上でリッスンし、通知サーバ30からの通信
を期待する。
【0048】アプレットは、通知サーバ30にIPアド
レス及びサーバ・ソケットが動作するポート番号を与え
る。この情報は、クライアント111、113、117
がオンラインになった時点で与えられる。またクライア
ントは、アプレットがダウンロードされたアプリケーシ
ョン・サーバ20以外のホストからの接続を受信するた
め、アプレットにネットワーク・アクセスを与えなけれ
ばならない。更に、通知サーバ30には、逆プロキシま
たはSOCKSサーバ220のIPアドレスを与える必
要がある。
【0049】通知サーバ30は、逆プロキシと対話する
必要のあるときは、HTTPトンネリング(tunnellin
g)により通知を送信する。一方、SOCKSサーバ2
20が用いられる場合、通知はSOCKSサーバ220
の構成方法に応じて、HTTPトンネリングを使用する
かまたはTCP接続を開くことによって送信することも
できる。
【0050】コンピュータの実装:ネットワークを通じ
たイベント・トリガ式通知プロセスは、図7に示すよう
に、コンピュータ・システム600とともにコンピュー
タ・プログラム製品を使用して実装することができる。
特に、ネットワークを通じたイベント・トリガ式通知の
プロセスは、コンピュータ・システム600で実行され
るソフトウェアまたはコンピュータ可読プログラム・コ
ードとして実装することができる。
【0051】コンピュータ・システム600はコンピュ
ータ650、ビデオ・ディスプレイ610、及び入力デ
バイス630、632を含む。またコンピュータ・シス
テム600は、コンピュータ650に接続されたライン
・プリンタ、レーザ・プリンタ、プロッタ、その他の再
生デバイス等、任意の数の出力デバイスを使用できる。
コンピュータ・システム600は、モデム通信パス、電
子ネットワーク等の特定の通信チャネル640を使用
し、通信入出力(I/O)インタフェース664を介し
て他の1つ以上のコンピュータに接続できる。ネットワ
ークには、ローカル・エリア・ネットワーク(LA
N)、ワイド・エリア・ネットワーク(WAN)、イン
トラネット、インターネット620等が含まれる。
【0052】コンピュータ650は、制御モジュール6
66、ランダム・アクセス・メモリ(RAM)、読出し
専用メモリ(ROM)等を使用できるメモリ670、入
出力(I/O)インタフェース664、672、ビデオ
・インタフェース660、及びストレージ・デバイス6
62に代表される1つ以上のストレージ・デバイスを含
む。制御モジュール666は、コンピュータ可読プログ
ラム・コードを実行する中央処理装置(CPU)を使用
して実装され、コンピュータ可読プログラム・コードは
特定の機能または関連機能セットを実行する。
【0053】ビデオ・インタフェース660は、ビデオ
・ディスプレイ610に接続され、ビデオ・ディスプレ
イ610に表示するため、コンピュータ650からのビ
デオ信号を与える。コンピュータ650を操作するユー
ザ入力は、I/Oインタフェース672を介して1つ以
上の入力デバイス630、632により与えられる。例
えば、コンピュータ650のユーザは、I/Oインタフ
ェース630としてキーボードを、あるいはI/Oイン
タフェース632としてのマウス等のポインティング・
デバイスを使用できる。キーボードやマウスはコンピュ
ータ650に入力を与える。ストレージ・デバイス66
2は、当業者には周知のフロッピー(登録商標)ディス
ク、ハード・ディスク・ドライブ、光磁気ディスク・ド
ライブ、CD−ROM、磁気テープ、不揮発性ストレー
ジ・デバイス等のうち1つ以上から構成することができ
る。通常、コンピュータ650の要素はそれぞれ、デー
タ・バス、アドレス・バス、制御バス等で構成できるバ
ス680を介して他のデバイスに接続される。
【0054】ネットワーク上のイベント・トリガ式通知
を行う方法のステップは、コンピュータ・システム60
0により実行されるソフトウェアの命令により実現され
る。ここでもソフトウェアは、方法のステップを実装す
る1つ以上のモジュールとして実装可能である。
【0055】特にソフトウェアは、ストレージ・デバイ
ス662を含むコンピュータ可読媒体に保存でき、ある
いはインタフェース664と通信チャネル640を介し
て遠隔地から、インターネット620から、または別の
ネットワークの場所やサイトからダウンロードされる。
コンピュータ・システム600は、そのようなソフトウ
ェアやプログラム・コードが、ソフトウェアまたはプロ
グラム・コードの命令を実行できるように記録されたコ
ンピュータ可読媒体を含む。コンピュータ・システム6
00を使用することで、好適には、本発明の実施例に従
い、コンピュータ・プログラムのランタイム・シンボル
・テーブルを作成する上で好都合な装置が得られる。
【0056】コンピュータ・システム600は説明のた
めに示してあり、他の構成も、本発明の主旨と範囲から
逸脱することなく採用できる。前記は、本発明の実施例
を具体化できるコンピュータやコンピュータ・システム
の種類の例にすぎない。通常、実施例のプロセスは、ソ
フトウェアやコンピュータ可読プログラム・コードとし
て、コンピュータ可読媒体としてのハード・ディスク・
ドライブ上に存在し、制御モジュール666を使用して
読取られ制御される。プログラム・コードや、エンティ
ティ、チケット等を含むデータの中間ストレージは、メ
モリ670を使用し、ストレージ・デバイス662と適
合させる等により実現できる。
【0057】プログラムは場合によっては、CD−RO
Mやフロッピー(登録商標)ディスク(どちらもストレ
ージ・デバイス662により代表される)にエンコード
してユーザに配信でき、あるいはユーザがコンピュータ
650に接続されたモデム・デバイスを介してネットワ
ークから準備することもできる。更に、コンピュータ・
システム600は、他のコンピュータ可読媒体からソフ
トウェアをダウンロードできる。これには、磁気テー
プ、ROMや集積回路、光磁気ディスク、コンピュータ
と他のデバイス間の無線や赤外線の伝送チャネル、PC
MCIAカード等のコンピュータ可読カード、電子メー
ル転送やインターネット・サイトに記録された情報を含
むインターネット620やイントラネット等が含まれ
る。前記は、関連するコンピュータ可読媒体の例にすぎ
ない。他のコンピュータ可読媒体も、本発明の主旨と範
囲から逸脱することなく適用することができる。
【0058】ネットワークを通じたイベント・トリガ式
通知は、1つのコンピュータ・システムに集約した形
で、あるいは相互接続されたいくつかのコンピュータ・
システム間に異なる要素を分散させて実現することがで
きる。
【0059】コンピュータ・プログラム手段あるいは本
発明の文脈でのコンピュータ・プログラムは、情報処理
機能を持つシステムにより、直接にかまたは、a)他の
言語、コード、記法に変換、b)別の形式で再生、のい
ずれかもしくは両方の操作を行った後に、特定の機能を
実行するための任意の言語、コード、記法での命令セッ
トの任意の表現を意味する。
【0060】以上は、ネットワークを通じたイベント・
トリガ式通知の方法、装置、及びコンピュータ・プログ
ラム製品を開示している。少数の実施例しか示していな
いが、当業者には明らかなように、この開示の内容か
ら、本発明の主旨と範囲から逸脱せずに様々な変更、変
形が可能である。
【0061】ここに述べたイベント・トリガ式通知の利
点は、メッセージが適時に配信され、通信ネットワーク
の帯域幅リソースの非効率な利用が制限されることであ
る。
【0062】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0063】(1)通信ネットワークを通じて1つ以上
のクライアント・プロセスにイベントの発生を通知する
方法であって、前記1つ以上のクライアント・プロセス
は、興味を持つ前記イベントのセットを登録し、前記ク
ライアント・プロセスが現在アクティブであれば、その
アドレスIDをサーバに登録するステップと、前記サー
バがイベントの発生を検出するステップと、前記サーバ
が前記クライアント・プロセスのうち、前記イベントの
通知に興味を持ち現在アクティブなクライアント・プロ
セスを識別するステップと、前記サーバにより、前記ネ
ットワーク上のリアルタイム接続を通じて、識別された
各クライアント・プロセスに前記通知が転送されるステ
ップと、を含む方法。 (2)前記登録の内容は、複数のサーバから利用できる
レコードとして存在し、前記イベントは該複数のサーバ
のいずれでも検出できる、前記(1)記載の方法。 (3)前記転送ステップは、通知サーバを介して前記通
知を渡すステップを含む、前記(1)記載の方法。 (4)前記登録ステップは、全クライアント・プロセス
とそれらが興味を持つイベントとの第1レコードを形成
するステップと、前記全クライアント・プロセスのうち
現在アクティブなクライアント・プロセスとそのアドレ
スIDを含む第2レコードを形成するステップと、を含
む、前記(1)記載の方法。 (5)クライアント・プロセスがそのアクティブなステ
ータスを無効にし、そのアドレスIDは前記第2レコー
ドから削除されるステップを含む、前記(4)記載の方
法。 (6)前記転送ステップは、前記通知サーバが1つ以上
の負荷共有デバイスまたはプロキシ・サーバを介して前
記通知を前記識別されたクライアント・プロセスに渡す
ステップを含む、前記(3)記載の方法。 (7)通信ネットワークを通じて、1つ以上のサーバに
より、1つ以上のクライアント・プロセスにイベントの
発生を通知する方法であって、前記1つ以上のクライア
ント・プロセスは、興味を持つ前記イベントのセットを
登録し、前記クライアントが現在アクティブであれば、
そのアドレスIDを登録するステップと、前記クライア
ント・プロセスとそれが興味を持つイベントとの第1レ
コードを形成するステップと、前記クライアント・プロ
セスのうち現在アクティブなクライアント・プロセスと
そのアドレスIDを含む第2レコードを形成し、前記第
1レコードと該第2レコードは前記サーバから利用でき
るステップと、イベントの発生を検出するステップと、
前記クライアント・プロセスのうち、前記イベントの通
知に興味を持つクライアント・プロセスを前記第1レコ
ードから識別するステップと、前記ネットワーク上のリ
アルタイム接続を通じて、前記第2レコードに保存され
たアドレスIDを使用し、興味を持つ各クライアント・
プロセスに前記通知を転送するステップと、を含む、方
法。 (8)前記転送ステップは、通知サーバを介して前記通
知を渡すステップを含む、前記(7)記載の方法。 (9)クライアント・プロセスがそのアクティブなステ
ータスを無効にし、そのアドレスIDは前記第2レコー
ドから削除されるステップを含む、前記(7)記載の方
法。 (10)前記転送ステップは、前記通知サーバが1つ以
上の負荷共有デバイスまたはプロキシ・サーバを介し
て、前記興味を持つクライアント・プロセスに前記通知
を渡すステップを含む、前記(7)記載の方法。 (11)イベントの発生通知を与える通信システムであ
って、通信ネットワークと、前記ネットワークに接続さ
れた1つ以上のクライアント・プロセスと、前記ネット
ワークに接続された1つ以上のサーバ・プロセスと、を
含み、前記1つ以上のクライアント・プロセスは、興味
を持つ前記イベントのセットを登録し、現在アクティブ
であれば、そのアドレスIDを前記サーバ・プロセスの
1つ以上に登録し、前記サーバ・プロセスの1つ以上
は、イベントの発生を検出し、前記クライアント・プロ
セスのうち前記イベントの通知に興味を持ち現在アクテ
ィブなクライアント・プロセスを識別し、前記ネットワ
ーク上のリアルタイム接続により、識別された各クライ
アント・プロセスに前記通知を転送する、通信システ
ム。 (12)前記登録の内容は、前記1つ以上のサーバ・プ
ロセスから利用できるレコードとして存在し、前記イベ
ントは該サーバのいずれでも検出できる、前記(11)
記載の通信システム。 (13)前記通知は通知サーバを介して転送される、前
記(11)記載の通信システム。 (14)1つ以上の前記サーバ・プロセスは、全クライ
アント・プロセスとそれらが興味を持つイベントとの第
1レコードと、前記全クライアント・プロセスのうち現
在アクティブなクライアント・プロセスとそのアドレス
IDを含む第2レコードと、を含む、登録情報を保存す
る、前記(11)記載の通信システム。 (15)前記クライアント・プロセスはそのアクティブ
・ステータスを無効にし、そのアドレスIDは前記第2
レコードから削除される、前記(14)記載の通信シス
テム。 (16)前記通知サーバは、1つ以上の負荷共有デバイ
スまたはプロキシ・サーバを介して前記識別されたクラ
イアント・プロセスに前記通知を渡す、前記(13)記
載の通信システム。 (17)イベントの発生通知を与える通信システムであ
って、通信ネットワークと、前記ネットワークに接続さ
れた1つ以上のクライアント・プロセスと、前記ネット
ワークに接続された1つ以上のサーバ・プロセスと、を
含み、前記1つ以上のクライアント・プロセスは、興味
を持つ前記イベントのセットを登録し、現在アクティブ
であれば、そのアドレスIDを1つ以上の前記サーバ・
プロセスに登録し、前記サーバ・プロセスは、前記クラ
イアント・プロセスとそれが興味を持つイベントとの第
1レコードを形成し、前記クライアント・プロセスのう
ち現在アクティブなクライアント・プロセスとそのアド
レスIDを含む第2レコードを形成し、該第1レコード
と第2レコードは複数の前記サーバ・プロセスから利用
でき、前記サーバ・プロセスは更に、イベントの発生を
検出し、前記クライアント・プロセスのうち該イベント
の通知に興味を持ち現在アクティブなクライアント・プ
ロセスを該第1レコードから識別し、前記ネットワーク
上のリアルタイム接続により、該第2レコードに保存さ
れたアドレスIDを使用して、識別された各クライアン
トに前記通知を転送する、通信システム。 (18)前記通知は通知サーバを介して転送される、前
記(17)記載の通信システム。 (19)前記クライアント・プロセスはそれらのアクテ
ィブ・ステータスを無効にし、そのアドレスIDは前記
第2レコードから削除される、前記(17)記載の通信
システム。 (20)前記通知サーバは、1つ以上の負荷共有デバイ
スまたはプロキシ・サーバを介して、前記興味を持つク
ライアント・プロセスに前記通知を渡す、前記(17)
記載の通信システム。 (21)通信ネットワークを通じて、1つ以上のクライ
アント・プロセスにイベントの発生を通知する通知サー
バであって、前記クライアント・プロセスが興味を持つ
イベントに関する、前記クライアント・プロセスからの
登録データと、前記クライアントが現在アクティブであ
れば、そのアドレスIDを保存するデータ・ストアと、
前記データ・ストアにリンクされ、発生したイベントの
通知を受信し、前記データ・ストアで、該イベントに興
味を持つ現在アクティブなクライアント・プロセスを検
索するプロセッサと、前記プロセッサにリンクされるこ
とで、前記イベントの通知を、前記興味を持つクライア
ント・プロセスに送信されるように出力するネットワー
ク接続手段と、を含む、通知サーバ。 (22)前記データ・ストアは、全ての前記クライアン
ト・プロセスとそれらが興味を持つイベントとの第1レ
コードと、全ての前記クライアント・プロセスのうち現
在アクティブなクライアント・プロセスとそのアドレス
IDを含む第2レコードと、を含む、前記(21)記載
の通知サーバ。 (23)前記通知サーバは、終端間TCP接続と、中間
ストレージのないデータグラム・サービスと、を含むセ
ットから選択されたメッセージ転送メカニズムを起動す
る、前記(21)記載の通知サーバ。 (24)ネットワークを通じて、イベントの発生通知を
与えるため、コンピュータ・プログラムが組み込まれた
コンピュータで使用可能な媒体を持つコンピュータ・プ
ログラム製品であって、1つ以上のクライアントが興味
を持つイベントのセットを登録し、該1つ以上のクライ
アントが通知を受信できる状態のとき、それらのアドレ
スIDをサーバに登録する、コンピュータ・プログラム
・コード手段と、イベントの発生を検出するコンピュー
タ・プログラム・コード手段と、前記クライアントのう
ち前記イベントの通知に興味を持ち現在アクティブなク
ライアントを識別するコンピュータ・プログラム・コー
ド手段と、前記ネットワーク上のリアルタイム接続によ
り、識別された各クライアントに前記通知を転送するコ
ンピュータ・プログラム・コード手段と、を含む、コン
ピュータ・プログラム製品。 (25)前記登録の内容は複数のサーバから利用できる
レコードとして存在し、前記イベントは該複数のサーバ
のいずれでも検出できる、前記(24)記載のコンピュ
ータ・プログラム製品。 (26)通知サーバを介して前記通知を渡すコンピュー
タ・プログラム・コード手段を含む、前記(25)記載
のコンピュータ・プログラム製品。 (27)登録のための前記コンピュータ・プログラム・
コード手段は、全クライアントとそれらが興味を持つイ
ベントとの第1レコードを形成し、全ての前記クライア
ントのうち現在アクティブなクライアントとそれらのア
ドレスIDを含む第2レコードを形成する、コンピュー
タ・プログラム・コード手段を含む、前記(24)記載
のコンピュータ・プログラム製品。 (28)前記クライアントのステータスを無効にし、そ
のアドレスIDを前記第2レコードから削除するコンピ
ュータ・プログラム・コード手段を含む、前記(27)
記載のコンピュータ・プログラム製品。 (29)1つ以上の負荷共有デバイスまたはプロキシ・
サーバを介して前記通知を前記識別されたクライアント
に渡す、前記(26)記載のコンピュータ・プログラム
製品。
【図面の簡単な説明】
【図1】ネットワーク・コンピュータ・システムの代表
的トポロジを示す図である。
【図2】Webブラウザ内のクライアント・ソフトウェ
アの使用を示す図である。
【図3】アプライアンス内のクライアント・ソフトウェ
アの使用を示す図である。
【図4】通知サーバが複数のアプリケーション・サーバ
及び複数のクライアントにサービスを提供する実施例に
おけるデータの流れを示す図である。
【図5】通知サーバが負荷分散のためブローカを利用す
る実施例におけるデータの流れを示す図である。
【図6】クライアントがファイアウォールにより保護さ
れる実施例におけるデータの流れを示す図である。
【図7】実施例を実装することのできるコンピュータ・
システムを示す図である。
【符号の説明】
10 ネットワーク 50、600 コンピュータ・システム 80 ネットワーク・コンピュータ・システム 632 入力デバイス(I/Oインタフェース) 640 通信チャネル 650 コンピュータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ネトワー・モダニ インド、110049、ニューデリー、エヌ・デ ィ・エス・イー パート・ツー、グラン ド・フロア ピィ−22 (72)発明者 マニッシュ・ガプタ インド、110068、ニューデリー、ネブ・サ ライ ピィ1エイ/246 (72)発明者 ポール・エイ・ミッタル インド、110049、ニューデリー、ディ・デ ィ・エイ フラッツ、ガータム・ナガー、 ガータム・アパートメント 70 Fターム(参考) 5B085 AA08 BE07 CA02 CA04 CA07

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】通信ネットワークを通じて1つ以上のクラ
    イアント・プロセスにイベントの発生を通知する方法で
    あって、 前記1つ以上のクライアント・プロセスは、興味を持つ
    前記イベントのセットを登録し、前記クライアント・プ
    ロセスが現在アクティブであれば、そのアドレスIDを
    サーバに登録するステップと、 前記サーバがイベントの発生を検出するステップと、 前記サーバが前記クライアント・プロセスのうち、前記
    イベントの通知に興味を持ち現在アクティブなクライア
    ント・プロセスを識別するステップと、 前記サーバにより、前記ネットワーク上のリアルタイム
    接続を通じて、識別された各クライアント・プロセスに
    前記通知が転送されるステップと、を含む方法。
  2. 【請求項2】前記登録の内容は、複数のサーバから利用
    できるレコードとして存在し、前記イベントは該複数の
    サーバのいずれでも検出できる、請求項1記載の方法。
  3. 【請求項3】前記転送ステップは、通知サーバを介して
    前記通知を渡すステップを含む、請求項1記載の方法。
  4. 【請求項4】前記登録ステップは、 全クライアント・プロセスとそれらが興味を持つイベン
    トとの第1レコードを形成するステップと、 前記全クライアント・プロセスのうち現在アクティブな
    クライアント・プロセスとそのアドレスIDを含む第2
    レコードを形成するステップと、 を含む、請求項1記載の方法。
  5. 【請求項5】クライアント・プロセスがそのアクティブ
    なステータスを無効にし、そのアドレスIDは前記第2
    レコードから削除されるステップを含む、請求項4記載
    の方法。
  6. 【請求項6】前記転送ステップは、前記通知サーバが1
    つ以上の負荷共有デバイスまたはプロキシ・サーバを介
    して前記通知を前記識別されたクライアント・プロセス
    に渡すステップを含む、請求項3記載の方法。
  7. 【請求項7】通信ネットワークを通じて、1つ以上のサ
    ーバにより、1つ以上のクライアント・プロセスにイベ
    ントの発生を通知する方法であって、 前記1つ以上のクライアント・プロセスは、興味を持つ
    前記イベントのセットを登録し、前記クライアントが現
    在アクティブであれば、そのアドレスIDを登録するス
    テップと、 前記クライアント・プロセスとそれが興味を持つイベン
    トとの第1レコードを形成するステップと、 前記クライアント・プロセスのうち現在アクティブなク
    ライアント・プロセスとそのアドレスIDを含む第2レ
    コードを形成し、前記第1レコードと該第2レコードは
    前記サーバから利用できるステップと、 イベントの発生を検出するステップと、 前記クライアント・プロセスのうち、前記イベントの通
    知に興味を持つクライアント・プロセスを前記第1レコ
    ードから識別するステップと、 前記ネットワーク上のリアルタイム接続を通じて、前記
    第2レコードに保存されたアドレスIDを使用し、興味
    を持つ各クライアント・プロセスに前記通知を転送する
    ステップと、 を含む、方法。
  8. 【請求項8】前記転送ステップは、通知サーバを介して
    前記通知を渡すステップを含む、請求項7記載の方法。
  9. 【請求項9】クライアント・プロセスがそのアクティブ
    なステータスを無効にし、そのアドレスIDは前記第2
    レコードから削除されるステップを含む、請求項7記載
    の方法。
  10. 【請求項10】前記転送ステップは、前記通知サーバが
    1つ以上の負荷共有デバイスまたはプロキシ・サーバを
    介して、前記興味を持つクライアント・プロセスに前記
    通知を渡すステップを含む、請求項7記載の方法。
  11. 【請求項11】イベントの発生通知を与える通信システ
    ムであって、 通信ネットワークと、 前記ネットワークに接続された1つ以上のクライアント
    ・プロセスと、 前記ネットワークに接続された1つ以上のサーバ・プロ
    セスと、 を含み、前記1つ以上のクライアント・プロセスは、興
    味を持つ前記イベントのセットを登録し、現在アクティ
    ブであれば、そのアドレスIDを前記サーバ・プロセス
    の1つ以上に登録し、前記サーバ・プロセスの1つ以上
    は、イベントの発生を検出し、前記クライアント・プロ
    セスのうち前記イベントの通知に興味を持ち現在アクテ
    ィブなクライアント・プロセスを識別し、前記ネットワ
    ーク上のリアルタイム接続により、識別された各クライ
    アント・プロセスに前記通知を転送する、通信システ
    ム。
  12. 【請求項12】前記登録の内容は、前記1つ以上のサー
    バ・プロセスから利用できるレコードとして存在し、前
    記イベントは該サーバのいずれでも検出できる、請求項
    11記載の通信システム。
  13. 【請求項13】前記通知は通知サーバを介して転送され
    る、請求項11記載の通信システム。
  14. 【請求項14】1つ以上の前記サーバ・プロセスは、 全クライアント・プロセスとそれらが興味を持つイベン
    トとの第1レコードと、 前記全クライアント・プロセスのうち現在アクティブな
    クライアント・プロセスとそのアドレスIDを含む第2
    レコードと、 を含む、登録情報を保存する、請求項11記載の通信シ
    ステム。
  15. 【請求項15】前記クライアント・プロセスはそのアク
    ティブ・ステータスを無効にし、そのアドレスIDは前
    記第2レコードから削除される、請求項14記載の通信
    システム。
  16. 【請求項16】前記通知サーバは、1つ以上の負荷共有
    デバイスまたはプロキシ・サーバを介して前記識別され
    たクライアント・プロセスに前記通知を渡す、請求項1
    3記載の通信システム。
  17. 【請求項17】イベントの発生通知を与える通信システ
    ムであって、 通信ネットワークと、 前記ネットワークに接続された1つ以上のクライアント
    ・プロセスと、 前記ネットワークに接続された1つ以上のサーバ・プロ
    セスと、 を含み、前記1つ以上のクライアント・プロセスは、興
    味を持つ前記イベントのセットを登録し、現在アクティ
    ブであれば、そのアドレスIDを1つ以上の前記サーバ
    ・プロセスに登録し、前記サーバ・プロセスは、前記ク
    ライアント・プロセスとそれが興味を持つイベントとの
    第1レコードを形成し、前記クライアント・プロセスの
    うち現在アクティブなクライアント・プロセスとそのア
    ドレスIDを含む第2レコードを形成し、該第1レコー
    ドと第2レコードは複数の前記サーバ・プロセスから利
    用でき、前記サーバ・プロセスは更に、イベントの発生
    を検出し、前記クライアント・プロセスのうち該イベン
    トの通知に興味を持ち現在アクティブなクライアント・
    プロセスを該第1レコードから識別し、前記ネットワー
    ク上のリアルタイム接続により、該第2レコードに保存
    されたアドレスIDを使用して、識別された各クライア
    ントに前記通知を転送する、 通信システム。
  18. 【請求項18】前記通知は通知サーバを介して転送され
    る、請求項17記載の通信システム。
  19. 【請求項19】前記クライアント・プロセスはそれらの
    アクティブ・ステータスを無効にし、そのアドレスID
    は前記第2レコードから削除される、請求項17記載の
    通信システム。
  20. 【請求項20】前記通知サーバは、1つ以上の負荷共有
    デバイスまたはプロキシ・サーバを介して、前記興味を
    持つクライアント・プロセスに前記通知を渡す、請求項
    17記載の通信システム。
  21. 【請求項21】通信ネットワークを通じて、1つ以上の
    クライアント・プロセスにイベントの発生を通知する通
    知サーバであって、 前記クライアント・プロセスが興味を持つイベントに関
    する、前記クライアント・プロセスからの登録データ
    と、前記クライアントが現在アクティブであれば、その
    アドレスIDを保存するデータ・ストアと、 前記データ・ストアにリンクされ、発生したイベントの
    通知を受信し、前記データ・ストアで、該イベントに興
    味を持つ現在アクティブなクライアント・プロセスを検
    索するプロセッサと、 前記プロセッサにリンクされることで、前記イベントの
    通知を、前記興味を持つクライアント・プロセスに送信
    されるように出力するネットワーク接続手段と、 を含む、通知サーバ。
  22. 【請求項22】前記データ・ストアは、 全ての前記クライアント・プロセスとそれらが興味を持
    つイベントとの第1レコードと、 全ての前記クライアント・プロセスのうち現在アクティ
    ブなクライアント・プロセスとそのアドレスIDを含む
    第2レコードと、 を含む、請求項21記載の通知サーバ。
  23. 【請求項23】前記通知サーバは、 終端間TCP接続と、 中間ストレージのないデータグラム・サービスと、 を含むセットから選択されたメッセージ転送メカニズム
    を起動する、請求項21記載の通知サーバ。
  24. 【請求項24】ネットワークを通じて、イベントの発生
    通知を与えるため、コンピュータ・プログラムが組み込
    まれたコンピュータで使用可能な媒体を持つコンピュー
    タ・プログラム製品であって、 1つ以上のクライアントが興味を持つイベントのセット
    を登録し、該1つ以上のクライアントが通知を受信でき
    る状態のとき、それらのアドレスIDをサーバに登録す
    る、コンピュータ・プログラム・コード手段と、 イベントの発生を検出するコンピュータ・プログラム・
    コード手段と、 前記クライアントのうち前記イベントの通知に興味を持
    ち現在アクティブなクライアントを識別するコンピュー
    タ・プログラム・コード手段と、 前記ネットワーク上のリアルタイム接続により、識別さ
    れた各クライアントに前記通知を転送するコンピュータ
    ・プログラム・コード手段と、 を含む、コンピュータ・プログラム製品。
  25. 【請求項25】前記登録の内容は複数のサーバから利用
    できるレコードとして存在し、前記イベントは該複数の
    サーバのいずれでも検出できる、請求項24記載のコン
    ピュータ・プログラム製品。
  26. 【請求項26】通知サーバを介して前記通知を渡すコン
    ピュータ・プログラム・コード手段を含む、請求項25
    記載のコンピュータ・プログラム製品。
  27. 【請求項27】登録のための前記コンピュータ・プログ
    ラム・コード手段は、 全クライアントとそれらが興味を持つイベントとの第1
    レコードを形成し、 全ての前記クライアントのうち現在アクティブなクライ
    アントとそれらのアドレスIDを含む第2レコードを形
    成する、 コンピュータ・プログラム・コード手段を含む、請求項
    24記載のコンピュータ・プログラム製品。
  28. 【請求項28】前記クライアントのステータスを無効に
    し、そのアドレスIDを前記第2レコードから削除する
    コンピュータ・プログラム・コード手段を含む、請求項
    27記載のコンピュータ・プログラム製品。
  29. 【請求項29】1つ以上の負荷共有デバイスまたはプロ
    キシ・サーバを介して前記通知を前記識別されたクライ
    アントに渡す、請求項26記載のコンピュータ・プログ
    ラム製品。
JP2001207672A 2000-07-10 2001-07-09 イベントの発生を通知する方法、通信システム及びコンピュータ・プログラム製品 Pending JP2002082862A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/613524 2000-07-10
US09/613,524 US6763384B1 (en) 2000-07-10 2000-07-10 Event-triggered notification over a network

Publications (1)

Publication Number Publication Date
JP2002082862A true JP2002082862A (ja) 2002-03-22

Family

ID=24457648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001207672A Pending JP2002082862A (ja) 2000-07-10 2001-07-09 イベントの発生を通知する方法、通信システム及びコンピュータ・プログラム製品

Country Status (4)

Country Link
US (1) US6763384B1 (ja)
JP (1) JP2002082862A (ja)
KR (1) KR100465582B1 (ja)
DE (1) DE10131553A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005119992A1 (en) * 2004-06-04 2005-12-15 Living Memory International Pty Limited A system for and method of storing and sending messages
JP2007526569A (ja) * 2004-03-04 2007-09-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページの適時更新
JP2008546110A (ja) * 2005-06-10 2008-12-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 企業情報システムとクライアントとの間の通信に役立つ装置、システム、方法、およびコンピュータプログラム(企業情報システムとクライアントとの間の通信に役立つ装置、システム、および方法)
JP2009500738A (ja) * 2005-07-08 2009-01-08 エヌエイチエヌ コーポレーション シンクサーバーを用いたメッセンジャー通知システム及びその方法
JP2011065243A (ja) * 2009-09-15 2011-03-31 Yahoo Japan Corp イベント通知機能提供装置

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256620B1 (en) * 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
US20070078978A1 (en) * 1998-06-01 2007-04-05 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US7062456B1 (en) * 1999-02-09 2006-06-13 The Chase Manhattan Bank System and method for back office processing of banking transactions using electronic files
EP1146422A1 (de) * 2000-04-13 2001-10-17 Abb Research Ltd. Verfahren zum Einrichten einer Kommunikationsverbindung zwischen einem Embedded Server und einem Clientrechner
US8001232B1 (en) * 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
WO2002023865A2 (en) * 2000-09-14 2002-03-21 Musco Corporation System and method for remote controlling of sports lights
US7673241B2 (en) * 2002-06-26 2010-03-02 Siebel Systems, Inc. User interface for multi-media communication for the visually disabled
US7299259B2 (en) 2000-11-08 2007-11-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives
US7929562B2 (en) 2000-11-08 2011-04-19 Genesis Telecommunications Laboratories, Inc. Method and apparatus for optimizing response time to events in queue
US6822945B2 (en) 2000-11-08 2004-11-23 Genesys Telecommunications Laboratories, Inc. Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue
US7215777B2 (en) * 2001-01-16 2007-05-08 Microsoft Corporation Sending notification through a firewall over a computer network
US20020107910A1 (en) * 2001-02-02 2002-08-08 Yan Zhao Client/server two-way communication system framework under HTTP protocol
US7581230B2 (en) 2001-02-06 2009-08-25 Siebel Systems, Inc. Adaptive communication application programming interface
US7505577B2 (en) * 2001-03-31 2009-03-17 Siebel Systems, Inc. System and method for multi-channel communication queuing
US20030018704A1 (en) * 2001-03-08 2003-01-23 Vasilis Polychronidis Network presence and location agent
US7472104B2 (en) * 2001-03-13 2008-12-30 Sony Corporation Method and system for distributing product information
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
GB2373418A (en) * 2001-03-16 2002-09-18 Kleinwort Benson Ltd Method and system to provide and manage secure access to internal computer systems from an external client
US20040205724A1 (en) * 2001-03-19 2004-10-14 Thomas Mayberry Software test message streams
US7315616B2 (en) * 2001-03-31 2008-01-01 Siebel Systems, Inc. System and method for maintaining real-time agent information for multi-channel communication queuing
US20070203797A1 (en) * 2001-03-31 2007-08-30 Annadata Anil K Configurable media-independent server
US20030018705A1 (en) * 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
US20030206192A1 (en) * 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US7730204B2 (en) * 2001-03-31 2010-06-01 Siebel Systems, Inc. Extensible interface for inter-module communication
US8601492B2 (en) * 2001-03-31 2013-12-03 Siebel Systems, Inc. User interface for multi-channel communication
US8423674B2 (en) 2001-06-02 2013-04-16 Ericsson Ab Method and apparatus for process sync restart
US20040031033A1 (en) * 2001-06-02 2004-02-12 Ravi Chandra Method and apparatus for inter-process communication management
US7103171B1 (en) * 2001-06-29 2006-09-05 Siebel Systems, Inc. System and method for multi-channel communication queuing using routing and escalation rules
US20030036975A1 (en) * 2001-08-02 2003-02-20 Martin Joshua J.D. Method of conducting an electronic rolling auction permitting the auction sponsor to make changes to the auctioned item
US7346658B2 (en) * 2001-08-08 2008-03-18 At&T Delaware Intellectual Property, Inc. System and method for notifying an offline global computer network user of an online interaction
US7152104B2 (en) * 2001-10-17 2006-12-19 Sun Microsystems, Inc. Method and apparatus for notifying administrators of selected events in a distributed computer system
US8091042B2 (en) 2001-11-15 2012-01-03 Siebel Systems, Inc. Apparatus and method for displaying selectable icons in a toolbar for a user interface
US20030105846A1 (en) * 2001-11-30 2003-06-05 Koninklijke Philips Electronics N.V. Enhanched UDDI with service push model
US7788382B1 (en) * 2002-03-26 2010-08-31 Good Technology, Inc. Server initiated synchronization
US20030204586A1 (en) * 2002-04-25 2003-10-30 Steve Schnetzler Intelligent data replicator
US7987246B2 (en) * 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
GB2391436B (en) * 2002-07-30 2005-12-21 Livedevices Ltd Server initiated internet communication
US7047243B2 (en) * 2002-08-05 2006-05-16 Microsoft Corporation Coordinating transactional web services
US7254643B1 (en) 2002-08-08 2007-08-07 At&T Corp. System and method for providing multi-media services to communication devices over a communications network
USRE46776E1 (en) 2002-08-27 2018-04-03 Genesys Telecommunications Laboratories, Inc. Method and apparatus for optimizing response time to events in queue
US7343301B1 (en) * 2002-08-30 2008-03-11 Signiant, Inc. Method and apparatus for notification of data transfer
US7152108B1 (en) 2002-08-30 2006-12-19 Signiant Inc. Data transfer system and method with secure mapping of local system access rights to global identities
US8255454B2 (en) * 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7111305B2 (en) * 2002-10-31 2006-09-19 Sun Microsystems, Inc. Facilitating event notification through use of an inverse mapping structure for subset determination
US20040088401A1 (en) * 2002-10-31 2004-05-06 Ashutosh Tripathi Method and apparatus for providing a highly available distributed event notification mechanism
US20040098483A1 (en) * 2002-11-14 2004-05-20 Engel Glenn R. Triggering communication from devices that self-initiate communication
US7269629B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels
US7180912B1 (en) 2003-01-06 2007-02-20 At&T Corp. System and method for providing a plurality of multi-media services using a number of media servers to form a preliminary interactive communication relationship with a calling communication device
JP2004342084A (ja) * 2003-04-24 2004-12-02 Seiko Epson Corp 自発的にステータス通知を行うサービス装置
DE10332360B4 (de) * 2003-07-17 2023-06-29 Abb Schweiz Ag Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung
US7069278B2 (en) * 2003-08-08 2006-06-27 Jpmorgan Chase Bank, N.A. System for archive integrity management and related methods
EP1665711B8 (en) * 2003-09-17 2016-12-14 Google Technology Holdings LLC System and method for asynchronous wireless services using reverse service schema generation
US20050063409A1 (en) * 2003-09-18 2005-03-24 Nokia Corporation Method and apparatus for managing multicast delivery to mobile devices involving a plurality of different networks
US20050065964A1 (en) 2003-09-19 2005-03-24 Ziemann David M. Update of a tree-based database
US7778915B2 (en) 2003-10-14 2010-08-17 Ften, Inc. Financial data processing system
US9614772B1 (en) * 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US7502847B2 (en) * 2003-10-29 2009-03-10 Cisco Technology, Inc. Method of providing views of a managed network that uses network address translation
WO2005048047A2 (en) * 2003-11-07 2005-05-26 Sharp Laboratories Of America, Inc. Systems and methods for network coordination with limited explicit message exchange
US8213301B2 (en) * 2003-11-07 2012-07-03 Sharp Laboratories Of America, Inc. Systems and methods for network channel characteristic measurement and network management
US7685265B1 (en) * 2003-11-20 2010-03-23 Microsoft Corporation Topic-based notification service
US7873742B1 (en) 2003-11-20 2011-01-18 Microsoft Corporation Providing content per delivery endpoint
GB2408658B (en) * 2003-11-25 2006-07-05 Surfkitchen Inc Communications system
US7877694B2 (en) * 2003-12-05 2011-01-25 Microsoft Corporation Hosted notifications templates
US20050188222A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user login activity for a server application
US20050188080A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user access for a server application
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
GB0407388D0 (en) * 2004-03-31 2004-05-05 British Telecomm Method and apparatus for communicating data between computer devices
US7526557B2 (en) * 2004-06-30 2009-04-28 Signiant, Inc. System and method for transferring data in high latency firewalled networks
US8140442B2 (en) * 2004-07-16 2012-03-20 Gary E. Heyer Matching residential buyers and property owners to initiate a transaction for properties which are currently not listed for sale
US7720719B2 (en) * 2004-08-05 2010-05-18 France Telecom Method and system for IMPS-based transient objects
US7366974B2 (en) * 2004-09-03 2008-04-29 Jp Morgan Chase Bank System and method for managing template attributes
US20060059210A1 (en) * 2004-09-16 2006-03-16 Macdonald Glynne Generic database structure and related systems and methods for storing data independent of data type
US20090132466A1 (en) * 2004-10-13 2009-05-21 Jp Morgan Chase Bank System and method for archiving data
US20070005386A1 (en) * 2005-04-14 2007-01-04 Accenture Global Services, Gmbh Content production maintenance tool for human and non-human activity tracking
US7836127B2 (en) * 2005-04-14 2010-11-16 Accenture Global Services Limited Dynamically triggering notifications to human participants in an integrated content production process
US7983209B2 (en) * 2005-04-18 2011-07-19 Research In Motion Limited System and method for producing notification based web services
US8418233B1 (en) 2005-07-29 2013-04-09 F5 Networks, Inc. Rule based extensible authentication
US20070038740A1 (en) * 2005-08-10 2007-02-15 Nortel Networks Limited Notification service
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US7899389B2 (en) * 2005-09-15 2011-03-01 Sony Ericsson Mobile Communications Ab Methods, devices, and computer program products for providing a karaoke service using a mobile terminal
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US7693590B2 (en) * 2005-12-21 2010-04-06 Panasonic Electric Works Co., Ltd. Systems and methods for notifying of persistent states of monitored systems using distributed monitoring devices
US8644702B1 (en) 2005-12-28 2014-02-04 Xi Processing L.L.C. Computer-implemented system and method for notifying users upon the occurrence of an event
US8015152B2 (en) * 2006-01-24 2011-09-06 Microsoft Corporation Web based client/server notification engine
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US20070239562A1 (en) * 2006-03-22 2007-10-11 Lawson Jeffrey G Method for notifying a user of a live event
US8734254B2 (en) * 2006-04-25 2014-05-27 International Business Machines Corporation Virtual world event notifications from within a persistent world game
JP2007334741A (ja) * 2006-06-16 2007-12-27 Konica Minolta Business Technologies Inc 画像形成装置で生じたイベントに関するイベント情報の管理方法、およびサーバコンピュータ
US8128498B2 (en) * 2006-06-21 2012-03-06 International Business Machines Corporation Configure offline player behavior within a persistent world game
US20080026845A1 (en) * 2006-07-14 2008-01-31 Maximino Aguilar Wake-on-Event Game Client and Monitor for Persistent World Game Environment
US20080090659A1 (en) * 2006-10-12 2008-04-17 Maximino Aguilar Virtual world event notification from a persistent world game server in a logically partitioned game console
US8104076B1 (en) 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US8838495B2 (en) * 2007-06-01 2014-09-16 Ften, Inc. Method and system for monitoring market data to identify user defined market conditions
US8112516B2 (en) * 2007-08-23 2012-02-07 Cisco Technology, Inc. Selective user notification based on IP flow information
US8782203B2 (en) * 2007-09-14 2014-07-15 International Business Machines Corporation Propagating accelerated events in a network management system
US8402472B2 (en) * 2007-09-14 2013-03-19 International Business Machines Corporation Network management system event notification shortcut
US8996685B2 (en) * 2008-04-01 2015-03-31 Orange Management of the distribution of contents
US9832069B1 (en) 2008-05-30 2017-11-28 F5 Networks, Inc. Persistence based on server response in an IP multimedia subsystem (IMS)
US9130846B1 (en) 2008-08-27 2015-09-08 F5 Networks, Inc. Exposed control components for customizable load balancing and persistence
US8630624B2 (en) * 2009-02-25 2014-01-14 Apple Inc. Managing notification messages
EP2224331A1 (en) * 2009-02-27 2010-09-01 Research In Motion Limited Mobile wireless communications system providing device icon notification indicia framing and related methods
US8463242B2 (en) * 2009-02-27 2013-06-11 Research In Motion Limited Communications system providing mobile device notification content type selection features and related methods
EP2494512A4 (en) * 2009-10-28 2013-08-07 Ften Inc INTRA-JOURNAL RISK MANAGEMENT CLOUD DATA SYSTEM COMMANDING THE EXECUTION OF ORDERS
US9307038B2 (en) 2009-12-29 2016-04-05 Motorola Solutions, Inc. Method for presence notification based on a sequence of events
US8407726B2 (en) 2009-12-31 2013-03-26 International Business Machines Corporation Collaboration in low bandwidth applications
EP2531973A4 (en) * 2010-02-02 2013-08-07 Ften Inc METHODS AND SYSTEM FOR CANCELING ORDERS FOR FINANCIAL TRADE ITEMS
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
WO2012015196A2 (ko) * 2010-07-30 2012-02-02 (주)네오위즈게임즈 Sns 상에서 어플리케이션간 이벤트 정보를 송수신하는 방법, 장치, 및 기록매체
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
EP2466851A1 (en) * 2010-12-15 2012-06-20 Research In Motion Limited Method and system for establishing a notification service for a device
US20120158837A1 (en) * 2010-12-15 2012-06-21 Research In Motion Limited Method and system for establishing a notification service for a device
US20120172006A1 (en) * 2010-12-30 2012-07-05 Research In Motion Limited Apparatus, and associated method, for providing indication of rule-based activity at an electronic device
KR101914488B1 (ko) * 2011-04-06 2018-11-05 삼성전자주식회사 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US8554855B1 (en) 2011-06-14 2013-10-08 Urban Airship, Inc. Push notification delivery system
US8731523B1 (en) 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US9531827B1 (en) 2011-06-14 2016-12-27 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8572263B1 (en) * 2011-06-14 2013-10-29 Urban Airship, Inc. Push gateway systems and methods
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
US9317344B2 (en) * 2012-02-16 2016-04-19 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
US8930475B1 (en) 2012-03-30 2015-01-06 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US9692799B2 (en) 2012-07-30 2017-06-27 Signiant Inc. System and method for sending and/or receiving digital content based on a delivery specification
US9851989B2 (en) 2012-12-12 2017-12-26 Vmware, Inc. Methods and apparatus to manage virtual machines
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
US9503540B2 (en) 2013-05-09 2016-11-22 Nokia Technologies Oy Method and apparatus for asynchronous distribution of content
CN103347045B (zh) * 2013-05-31 2016-03-16 武汉大学 基于gnss-r网络的土壤湿度实时监测与共享方法
US10394414B1 (en) 2013-07-19 2019-08-27 Kabam, Inc. Facilitating automatic execution of user interactions in a virtual space
US9537812B2 (en) 2013-12-31 2017-01-03 Google Inc. Methods, systems, and media for managing notifications directed to multiple applications installed on a user device
US10110536B2 (en) * 2014-04-21 2018-10-23 Dropbox, Inc. System for managing event notifications to client devices
RU2580438C2 (ru) 2014-09-02 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ (варианты) обработки входящего электронного сообщения и сервер (варианты)
RU2580437C2 (ru) 2014-09-02 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки входящего электронного сообщения и сервер
CN105426398A (zh) 2015-10-29 2016-03-23 小米科技有限责任公司 信息处理方法及装置
US10300379B1 (en) 2015-12-28 2019-05-28 Electronic Arts Inc. Facilitating contextual game notifications and smart action options
US10286322B1 (en) 2016-01-25 2019-05-14 Electronic Arts Inc. System and method for determining and executing actions in an online game
CN107391276B (zh) * 2017-07-05 2018-09-28 腾讯科技(深圳)有限公司 分布式监听方法、监听控制装置及系统
US10991014B2 (en) * 2017-07-26 2021-04-27 Solstice Equity Partners, Inc. Templates and events for customizable notifications on websites
US10432351B2 (en) 2017-10-17 2019-10-01 Aagey Holding, LLC Computer network system and method to reduce network latency with a pool of ready connections
CN108881402B (zh) * 2018-05-29 2021-01-26 创新先进技术有限公司 一种消息推送方法、装置以及电子设备
US10735516B1 (en) 2019-02-15 2020-08-04 Signiant Inc. Cloud-based authority to enhance point-to-point data transfer with machine learning
US11710181B1 (en) 2020-01-10 2023-07-25 Cboe Exchange, Inc. Exchange risk controls

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050104A (en) * 1988-04-18 1991-09-17 International Business Machines Corporation Method for notifying a terminal user of an asynchronous event occurrence
JPH07168789A (ja) * 1993-12-14 1995-07-04 Chugoku Nippon Denki Software Kk イベントメッセージ送付方式
KR0155321B1 (ko) * 1995-11-14 1998-11-16 양승택 분산 시스템 관리에서의 이벤트 처리방법
US5721825A (en) * 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
JPH1011373A (ja) * 1996-06-21 1998-01-16 Matsushita Electric Ind Co Ltd 情報自動配送装置及び情報自動配送方法
JP4634547B2 (ja) * 1998-06-30 2011-02-16 株式会社東芝 リアルタイム情報配信方法
US6591279B1 (en) * 1999-04-23 2003-07-08 International Business Machines Corporation System and method for computer-based notifications of real-world events using digital images

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526569A (ja) * 2004-03-04 2007-09-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページの適時更新
JP4818253B2 (ja) * 2004-03-04 2011-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページの適時更新
WO2005119992A1 (en) * 2004-06-04 2005-12-15 Living Memory International Pty Limited A system for and method of storing and sending messages
JP2008546110A (ja) * 2005-06-10 2008-12-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 企業情報システムとクライアントとの間の通信に役立つ装置、システム、方法、およびコンピュータプログラム(企業情報システムとクライアントとの間の通信に役立つ装置、システム、および方法)
US8301750B2 (en) 2005-06-10 2012-10-30 International Business Machines Corporation Apparatus, system, and method for facilitating communication between an enterprise information system and a client
JP2009500738A (ja) * 2005-07-08 2009-01-08 エヌエイチエヌ コーポレーション シンクサーバーを用いたメッセンジャー通知システム及びその方法
JP4740328B2 (ja) * 2005-07-08 2011-08-03 エヌエイチエヌ コーポレーション シンクサーバーを用いたメッセンジャー通知システム及びその方法
US8688854B2 (en) 2005-07-08 2014-04-01 Nhn Corporation Messenger notification system and method using synchronization server
JP2011065243A (ja) * 2009-09-15 2011-03-31 Yahoo Japan Corp イベント通知機能提供装置

Also Published As

Publication number Publication date
KR20020005981A (ko) 2002-01-18
KR100465582B1 (ko) 2005-01-13
DE10131553A1 (de) 2002-02-14
US6763384B1 (en) 2004-07-13

Similar Documents

Publication Publication Date Title
JP2002082862A (ja) イベントの発生を通知する方法、通信システム及びコンピュータ・プログラム製品
US9203879B2 (en) Offline alerts mechanism
US7392306B1 (en) Instant messaging client having an embedded browser
EP1783954B1 (en) System and method for discovering network resources
US6868544B2 (en) Method and system for general-purpose interactive notifications
KR100722916B1 (ko) 통신 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치
US7467183B2 (en) Method, apparatus, and user interface for managing electronic mail and alert messages
US20020147652A1 (en) System and method for distruibuted client state management across a plurality of server computers
JP2003528396A (ja) データアクセス
US20100057835A1 (en) Information on availability of services provided by publish-subscribe service
US20080071816A1 (en) Transmission of server-based system events to web service clients
US10122658B2 (en) System for instant messaging the sender and recipients of an e-mail message
JP2009542140A (ja) 高速短待ち時間データ通信環境において冗長メッセージ・ストリームを使用する高信頼性メッセージングのための方法、装置、およびプログラム
KR20080106557A (ko) 프레즌스 서버로부터 발행된 프레즌스 정보를 만료시키는 시스템 및 그 방법을 수행하는 명령어들을 포함하는 컴퓨터판독가능 매체, 프레즌스 서버에 프레즌스 정보를 발행하는 시스템
US9246975B2 (en) State change alerts mechanism
US8117437B2 (en) System for providing services for applications available under different protocols
TW201005546A (en) System and method for using virtual IP addresses in a multi-user server system
JP2008147819A (ja) 証券・金融データ配信システム
Wang et al. The SIMBA user alert service architecture for dependable alert delivery
JP2021157668A (ja) 情報処理システム,コンピュータの制御方法及び制御プログラム
JP2001337905A (ja) 画像通信装置とその画像管理方法
CN101414981B (zh) 实时通讯监听系统、监听方法及监听服务器
KR20020027885A (ko) 계속 업데이트되는 메일 메시지
JP2010072745A (ja) メールアドレス管理システム
JP2001282750A (ja) 情報入手システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040830

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050412

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050708

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060131