JP2003518290A - アノニマスなサブジェクトベース・アドレッシングの方法および装置 - Google Patents

アノニマスなサブジェクトベース・アドレッシングの方法および装置

Info

Publication number
JP2003518290A
JP2003518290A JP2001547264A JP2001547264A JP2003518290A JP 2003518290 A JP2003518290 A JP 2003518290A JP 2001547264 A JP2001547264 A JP 2001547264A JP 2001547264 A JP2001547264 A JP 2001547264A JP 2003518290 A JP2003518290 A JP 2003518290A
Authority
JP
Japan
Prior art keywords
subject
point
message
response
server
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
JP2001547264A
Other languages
English (en)
Other versions
JP2003518290A5 (ja
JP4663948B2 (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 JP2003518290A publication Critical patent/JP2003518290A/ja
Publication of JP2003518290A5 publication Critical patent/JP2003518290A5/ja
Application granted granted Critical
Publication of JP4663948B2 publication Critical patent/JP4663948B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/56Provisioning of proxy services
    • 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/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Television Systems (AREA)
  • Circuits Of Receivers In General (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 アノニマスなサブジェクトベースのアドレッシングの方法は、クライアント・コンピュータからポイントツーポイントの要求メッセージを受信する(408)ことを含む。この方法は、ポイントツーポイントの要求メッセージをサブジェクトベースのメッセージに変換することも含む。サブジェクトベースのメッセージは、マルチキャストも行われる。さらに、サブジェクトベースのメッセージに対する応答を受信する(414)。この方法は、サブジェクトベースのメッセージに対する応答を、ポイントツーポイントの応答メッセージに変換する(416)ことも含む。さらに、ポイントツーポイントの応答メッセージをクライアント・コンピュータに送信する(418)。

Description

【発明の詳細な説明】
【0001】 本願は、1999年12月22日出願の「Web Server and W
eb Server Method for Anonymous Subje
ct−Based Addressing」という名称の米国仮特許出願第60
/171,930号の継続出願である。
【0002】 (発明の分野) 本発明は、ネットワーク通信に関する。より詳細には、本発明は、リモート・
サーバのコンテンツにアクセスするクライアント・コンピュータに関する。
【0003】 (発明の背景) ワールド・ワイド・ウェブ、およびその使用人口と採用の増大により、情報ア
ドレッシングの標準的な方式が開発された。通例は、ウェブ・ブラウザがホスト
・サーバにファイル要求を送信し、ホスト・サーバがそのファイルをユーザに「
提供」する。
【0004】 これは、ハイパーテキスト転送プロトコル(HTTP)、ハイパーテキスト転
送プロトコル・セキュア(HTTPS)、伝送制御プロトコル(TCP)、およ
びインターネット・プロトコル(IP)という基盤の上に構築された、インター
ネットの基盤アーキテクチャを使用して実現される。ウェブ・サーバ上のサーバ
・プログラムは、このプロトコル・セットに従って、接続するクライアント・コ
ンピュータで実行されるクライアント・プログラム(クライアントのウェブ・ブ
ラウザ)を「リッスン」する。クライアントのブラウザは、ユニフォーム・リソ
ース言語(URL)を利用することによってサーバに接続する。URLは、プロ
トコルの指定(例えばHTTP、FTP)、ホストの宛先、およびファイルの指
定から構成される。ホストの宛先は、実際上は、ポイントツーポイント通信のア
ドレスである。
【0005】 この典型的なインターネット通信を図1に示す。詳細には、図1には、従来技
術によるブラウザ、ウェブ・サーバ、およびアプリケーション・サーバのシステ
ム図を示している。図1には、ウェブ・ブラウザ11、インターネット13、サ
ーバ15、サーバ15.1〜15.5、データベース17、およびコンテンツ・
サーバ19が含まれる。図に示すように、サーバ15は、ファイル16.1〜1
6.nと実行可能ファイル18を含む。さらに、サーバ15.1〜15.5もフ
ァイル16.1〜16.nと実行可能ファイル18(図示せず)を含むことがで
き、これについては下記でさらに詳細に説明する。ウェブ・ブラウザ11は、イ
ンターネット13を通じてサーバ15および15.1〜15.5に結合される。
動作中、ウェブ・ブラウザ11は、インターネット13を通じて、サーバ15お
よび15.1〜15.5の1つに呼出しを提出する。この呼出しの一例は、「h
ttp://www.rv.tibco.com/whitepaper.ht
ml」などである。この呼出しには、プロトコルの指定(http)と、サーバ
15のアドレスであるホスト・アドレス(www.rv.tibco.com)
、およびファイルの指定(whitepaper.html)が含まれている。
【0006】 通常、サーバ15はこの呼出しをファイルに基づくルックアップとして処理す
る。その後、要求されるファイルが、サーバ15により、例えばウェブ・ページ
などのHTTPに準拠したファイルとして、インターネット13を通じてウェブ
・ブラウザ11に戻される。サーバ15は、ウェブ・ブラウザ11に直接ファイ
ルを戻すことも、要求のファイルを処理して、その処理の結果を戻すこともでき
る。ファイルを処理した場合は、例えば、データベース17の呼出しが行われる
か、かつ/またはコンテンツ・サーバ19のファイルへのアクセスが行われる。
【0007】 このように、クライアントすなわちウェブ・ブラウザ11は、サーバ15と、
双方向あるいはポイントツーポイントの通信をセットアップする。通信は、ウェ
ブ・ブラウザ11がHTTPによる要求をサーバ15に送信することによって確
立される。「http//www.rv.tibco.com/whitepa
per.html」の呼出しの例では、サーバ15(「www.rv.tibc
o.com」に位置する)が、この要求をGETとして解釈し、クライアント(
ウェブ・ブラウザ11)が「whitepaper.html」の名称のファイ
ルを要求していると判断する。したがって、呼出し「http://www.r
v.tibco.com/whitepaper.html」は実際上はファイ
ル・ポインタであり、「whitepaper.html」は、HTTPプロト
コルを使用して取り出される、サーバwww.rv.tibco.comに記憶
されたファイルであるということになる。さらに、接尾辞「whitepape
r.html」がない場合には、呼出し「http://www.rv.tib
co.com」はデフォルト・ページのGET呼出しとして解釈されるファイル
・ポインタになるが、デフォルト・ページは一般的にはサーバ「www.rv.
tibco.com」の「index.html」である。図1で表すように、
現在のインターネット(HTTP/HTTPS/TCP/IP)アーキテクチャ
は、クライアントとサーバ間のポイントツーポイント通信に依拠する、ファイル
ベースのウェブ・サーバを基盤とするものである。
【0008】 365日24時間(7×24)のサービスの拡大に対する需要の高まりと併せ
て、ファイルベースのアーキテクチャをセキュリティの向上という面から見ると
、スケーラビリティに著しい制約を課し、さもなければ様々なサーバの更新およ
び修正を行わなければならない。詳細には、ファイルベースのウェブ・サーバは
、このシステムに対する拡張に対応するには内部的に更新しなければならない。
これは、更新、アップグレード、およびスケーリングのためにサーバをシャット
ダウンし、したがって365日24時間の利用可能性が失われることを意味する
。このように、ファイルベースのサーバは、特に顧客サービスの拡大と、動的な
リアルタイム・コンテンツに対する需要が高まるのに従って、維持、拡張、およ
びスケーリングを行うのが難しいものになっている。
【0009】 この問題は、同じく図1に示すマルチサーバ環境でさらに悪化する。5つのサ
ーバ15.1〜15.5を有する、図1に示すようなマルチサーバ環境では、サ
ーバ15のコンテンツをサーバ15.1〜15.5のそれぞれに複製することが
必要である。これはすなわち、ファイル16.1〜16.nすべてと実行可能フ
ァイル18のコピーを、サーバ15.1〜15.5それぞれのために5回複製し
なければならないことを意味する。同様に、図に示すように、サーバ15および
15.1〜15.5からデータベース17およびコンテンツ・サーバ19へのポ
イントツーポイント・リンクも、これらサーバそれぞれについて作成しなければ
ならない。
【0010】 先に指摘したように、更新とスケーリングを行うにはウェブ・サーバの内部更
新が必要であるが、これは、すべてのコンピュータ(サーバ)をシャットダウン
しなければならず、365日24時間の利用可能性に否定的な影響を与えること
を意味する。これはまた、ビジネスが、顧客のニーズを満たすためにそのシステ
ムを拡大し、適合するのが困難であることも意味する。このために代替システム
が必要とされる。
【0011】 (発明の概要) 本発明の一実施態様は、クライアント・コンピュータからポイントツーポイン
トの要求メッセージを受信することを含む方法を提供する。この方法は、そのポ
イントツーポイントの要求メッセージを、サブジェクトベースのメッセージに変
換することも含む。サブジェクトベースのメッセージはマルチキャストも行う。
さらに、サブジェクトベースのメッセージに対する応答も受信する。この方法は
、サブジェクトベースのメッセージに対する応答を、ポイントツーポイントの応
答メッセージに変換することも含む。さらに、このポイントツーポイントの応答
メッセージをクライアント・コンピュータに送信する。
【0012】 本発明の実施形態は、以下の説明と、その実施形態を表す添付図面を参照する
ことによって最もよく理解されるものと思われる。
【0013】 (詳細な説明) ネットワーク通信におけるアノニマスなサブジェクトベースのアドレッシング
の方法および装置を説明する。したがって、ネットワークにおけるサブジェクト
ベースのアドレッシングに関連する種々の用語をここで開示する。用語「パブリ
ッシュする」は用語「送信する」と同義であり、用語「サブスクライブする」は
用語「リッスンする」と同義である。さらに、以下の説明では説明の目的で、本
発明の完全な理解を提供するために多数の具体的な詳細事項を述べる。ただし、
本発明はこれらの具体的な詳細を用いずとも実現できることは当業者には明らか
であろう。
【0014】 図2は、本発明の実施形態による、ウェブ・ブラウザ、ウェブ・サーバ、およ
びアプリケーション・サーバのシステム図を表す。詳細には、図2は、ウェブ・
ブラウザ11、ネットワーク202、サーバ204、ネットワーク経路206、
およびアプリケーション・サーバ208〜214を含む。ウェブ・ブラウザ11
は、ネットワーク202を通じてサーバ204に結合される。サーバ204はさ
らに、ネットワーク経路206を通じてアプリケーション・サーバ208〜21
4に結合される。
【0015】 一実施形態では、ネットワーク202はローカル・エリア・ネットワーク(L
AN)である。別の実施形態では、ネットワーク202はワイド・エリア・ネッ
トワーク(WAN)である。そのような実施形態では、ネットワーク202はイ
ンターネットである。さらに、ネットワーク202は、ウェブ・ブラウザ11と
サーバ204〜214間に通信を提供する異なるネットワークの組み合わせでも
よい。さらに、図2のトポロジは、制限ではなく例示を目的とするもので、他タ
イプのトポロジを本発明の実施形態に組み込むことが可能である。例えば、サー
バ204〜214間の結合は、ネットワーク202とは別のネットワーク経路2
06を通じて行う代わりに、ネットワーク202を通じて行ってもよい。
【0016】 図3は、本発明の実施形態による、ブラウザ、ウェブ・サーバ、アプリケーシ
ョン・サーバ、およびこれらにおける機能のシステム図を表す。詳細には、図3
には、本発明の実施形態による、サーバ204とアプリケーション・サーバ20
8〜214の動作方法を示している。図を簡略にするために、図3では1つのブ
ロックで、アプリケーション・サーバ208〜214それぞれの機能を示してい
る。動作中、ウェブ・ブラウザ11が、HTTPプロトコルによるデータ要求を
ネットワーク202を通じてサーバ204に送信する。サーバ204は、プロセ
ス・ブロック302でHTTP要求を受信する。
【0017】 サーバ204は、プロセス・ブロック304で、そのHTTP要求を、パブリ
ッシュ/サブスクライブ通信のためにサブジェクトベースの要求に変換する。パ
ブリッシュ/サブスクライブ通信の技術は、例えば金融業界などでリアルタイム
情報の配信を促進している。詳細には、パブリッシュ/サブスクライブ通信は、
あらゆる環境にあるアプリケーションが、確実かつ透過的に最新の情報を共有す
ることを可能にする。このような通信では、所与のパブリッシュ/サブスクライ
ブ・メッセージはネットワークを横断し、そのネットワークに接続されたサーバ
などのデバイスが、異なるパブリッシュ/サブスクライブ・メッセージをサブス
クライブすることができる。例えば、所与のパブリッシュ/サブスクライブ・メ
ッセージは、ネットワーク上の異なるサーバに常駐する特定のファイルに対する
要求に関するものである。このメッセージは、それが受信されたときに、そのパ
ブリッシュ/サブスクライブ・メッセージを最初に送信した要求元のデバイスに
送信する必要があるファイルがサブスクライバに分かるようにフォーマットされ
る。これに対し、ポイントツーポイント通信では、同じメッセージを各サブスク
ライバに個々に送信するので、ネットワークの帯域幅を浪費し、そのようなメッ
セージの配信速度が低下する。
【0018】 さらに、サーバ204はプロセス・ブロック306で応答サブジェクトを割り
当て、そのサブジェクトベースのメッセージをプロセス・ブロック308でパブ
リッシュする。一実施形態では、サブジェクト名は、メッセージの内容を記述し
、メッセージの宛先を指定する文字列である。サブジェクトベースのアドレッシ
ング技術は、ネットワーク・アドレス、プロトコル、パケット、ポート、および
ソケットの詳細に関して、アプリケーション設計者を関与させることなく、メッ
セージがそれぞれの宛先に到達することを助ける。一実施形態では、そのような
アプリケーション設計者が、直感的で人間が読んで理解できるサブジェクト名の
規則を考案する。
【0019】 さらに、従来のネットワーク・プログラミングでは、メッセージの配布にIP
アドレスを組み込み、それにより特定のコンピューティング・デバイスにプログ
ラムを結びつけている。それに対し、サブジェクトベースのアドレッシング・ア
プリケーションは、サブジェクト名によって情報を共有し、それにより、アプリ
ケーションをネットワーク上のどの位置にあるどのコンピューティング・デバイ
スでも自由に実行できるようにする。詳細には、ネットワーク上のサーバなど、
関係するパーティが特定のサブジェクト名をリッスン(サブスクライブ)する。
したがって、第1のデバイス(パブリッシャ)が、特定のサブジェクト名でメッ
セージをパブリッシュし、ネットワークの他のデバイス(サブスクライバ)がそ
のサブジェクト名をリッスン(サブスクライブ)している場合、このサブジェク
トベースのアドレッシング方式は、そのメッセージをパブリッシャからサブスク
ライバまで確実にルーティングする。したがって、ネットワークのあるデバイス
で実行されるアプリケーションはいずれも、ネットワーク上のデバイスで実行さ
れる他のどのアプリケーションにもメッセージを送信することができる。このサ
ブジェクトベースのアドレッシング方式により、分散型システムがより柔軟にな
り、保守が容易になる。
【0020】 このように、アプリケーションはリッスンすることによってメッセージを受信
する。さらに、一実施形態では、所与のデバイスによるリッスンは、サブジェク
ト名を、そのようなデバイスで実行することのできるコールバック関数と関連付
ける。詳細には、メッセージが到着すると、サブジェクトベースのアドレッシン
グ・ソフトウェアが、所与のサブジェクト名を特定のコールバック関数と一致さ
せることにより、そのメッセージを該当するコールバック関数にディスパッチす
る。
【0021】 上記のように、サブジェクトベースのアドレッシング技術は、位置の透過性を
可能にする。この技術のパブリッシャとサブスクライバは、ネットワーク上のど
のコンピュータにおいても実行することができる。さらに、サーバ・アプリケー
ションは、既存のクライアントに影響を与えずに、(重いクライアント負荷を共
有するために)移送および複製することができる。例えば、パブリッシャ(ある
いはクライアント)は、そのサブスクライバの具体的なアドレス(例えばIPア
ドレス)を知る必要がないので、パブリッシャがどのようにそのサブジェクトベ
ースのメッセージを送信するかに影響を与えることなく、サブスクライバを追加
、削除、あるいは修正することができる。したがって、このサブジェクトベース
のアドレッシング技術により、エンド・ユーザは、変化や発展に対して容易に適
合することのできるスケーラブルなワークフロー・システムを構築することがで
きる。
【0022】 スケーラブルなワークフロー・システムの構築の一例は、システムが、その負
荷に対応するために資源を追加して応答する必要があるような重負荷時に行うこ
とができる。旧来のシステムでは、システムに対するこのようなアップグレード
は事前に計画する必要がある。それでも、インターネット人口の真のサイズや、
ウェブ・サーバによって処理する必要がある同時の要求の数を見誤ることがある
。このようなことが起きた場合、現在のアーキテクチャはスケーリングすること
ができない。これは、現在のアーキテクチャが、資源に限界のある静的に作られ
たシステムであって、迅速な適合を選択する余地がないためである。本発明の実
施形態によると、待ち時間を短縮し、顧客に対するサービスの遅延を回避するた
めに、追加資源をオンザフライに、リアルタイムで動的に追加することができる
。これらのバックエンド・システムは、負荷が軽減するとオフラインになること
もできる。
【0023】 図3に戻ると、一実施形態では、このサブジェクトベースの要求メッセージは
ネットワーク206を介してマルチキャストされる。このような実施形態では、
アプリケーション・サーバ208、210、212、および214は、プロセス
・ブロック310で、所与の件名で要求をリッスンする。サブジェクトベースの
要求を受信すると、アプリケーション・サーバ208、210、212および2
14は、プロセス・ブロック312で、所与の件名についてのコンテンツを取り
出すことによってその要求を処理する。一実施形態では、コンテンツは、アプリ
ケーション・サーバ208、210、212、および214内に記憶されたロー
カル・データベースから取り出される。ただし、本発明の実施形態はこの形に限
定されず、このコンテンツを他の位置から取り出すこともできる。例えば、別の
リモート・サーバにコンテンツを記憶することができる。さらに、プロセス・ブ
ロック314で、アプリケーション・サーバ208、210、212、および2
14は、プロセス・ブロック306でサーバ204が割り当てた応答サブジェク
トを有するメッセージを使用して、取り出したそのコンテンツをパブリッシュす
る。
【0024】 一実施形態では、プロセス・ブロック308でサブジェクトベースの要求がパ
ブリッシュされると、サーバ204が、プロセス・ブロック316で、そのサブ
ジェクトベース・メッセージの応答に対するリッスンを開始する。アプリケーシ
ョン208、210、212、または214のいずれかからサブジェクトベース
・メッセージに対する応答を受信すると、サーバ204は、その応答中のフィー
ルドおよび内容に基づいてポイントツーポイント応答を生成する。一実施形態で
は、このポイントツーポイント応答はHTTPプロトコルに基づく。ポイントツ
ーポイント応答の生成については、下記で図4との関連でより詳細に説明する。
サーバ204は、プロセス・ブロック318で、ネットワーク202を通じてこ
のポイントツーポイント応答をウェブ・ブラウザ11に送り返す。一実施形態で
は、この応答を受信すると、ウェブ・ブラウザ11は、ウェブ・ブラウザ11の
ユーザに対してこの応答の内容を表示するウェブ・ページを生成する。ただし本
発明の実施形態はこの形に限定されず、ウェブ・ブラウザ11は、そのような応
答を受信すると他の動作を行うこともできる。例えば、この応答を別のウェブ・
ページに転送し、それによりウェブ・ブラウザ11がサーバ204に対して新し
いHTTPプロトコル要求を生成するようにしてもよい。
【0025】 したがって、ウェブ・ブラウザ11は、TCP/IP/HTTP/HTTPS
のプロトコル・セットを使用して、ネットワーク202を通じてHTTP/HT
TPSに準拠したプロトコルを送信する。サーバ204はこの呼出し、パケット
、またはメッセージをウェブ・ブラウザ11から受信し、それをサブジェクトベ
ースの呼出しに変換する。例えば、ウェブ・ブラウザ11から発信された呼出し
「http://www.rv.tibco.com/whitepaper.
html」は、サブジェクトベースのメッセージ「whitepaper.ht
ml」に変換される。このブラウザ呼出しを受信するサーバ204は、アドレス
「www.rv.tibco.com」で識別されるサーバであることに留意さ
れたい。サーバ204は、「A762 whitepaper.html」など
の応答サブジェクトを割り当てると、ネットワーク206を介してこのサブジェ
クトベースの要求をマルチキャストし、この特定のサブジェクトベースのメッセ
ージをリッスンしているサーバ(例えばアプリケーション・サーバ208〜21
4)はすべて、このメッセージを受信することができる。一実施形態では、アプ
リケーション・サーバ208〜214は、複数コンピュータからなるローカル・
エリア・ネットワークまたはワイド・エリア・ネットワーク上に位置することが
できる。一実施形態では、アプリケーション・サーバ208〜214はスケーラ
ブルである。さらに一実施形態では、サーバ204および208〜214を同じ
サーバに置くことができる。
【0026】 図4は、本発明の一実施形態による、サブジェクトベースのメッセージを組み
込んだ要求を処理する方法を説明する流れ図である。詳細には、図4は、プロセ
ス・ブロック402でウェブ・ブラウザ11で開始される呼出しで始まる方法4
00を示している。プロセス・ブロック404で、ウェブ・ブラウザ11は、T
CP/IP/HTTP/HTTPSのプロトコル・セットを使用して、HTTP
/HTTPSに準拠した呼出しをネットワーク202を通じて送信することによ
って呼出しを開始する。その結果、サーバ204はプロセス・ブロック406で
その呼出しを受信する。プロセス・ブロック408で、サーバ204は、ポイン
トツーポイントの呼出し、すなわち要求をサブジェクトベースのメッセージに対
応付ける。例えば、ウェブ・ブラウザ11から来た呼出し、すなわち要求が、「
http://. . ./whitepaper.html」のようなファイ
ル要求である場合、この呼出しすなわち要求は「whitepaper.htm
l」というサブジェクト空間に対応付けられる。
【0027】 さらに、プロセス・ブロック410で、HTTP要求を名前/値の対に対応付
け、サブジェクトベースのメッセージにパックする。さらに、プロセス・ブロッ
ク412で、サーバ204が応答サブジェクトを生成する。一実施形態では、こ
の応答サブジェクトの生成には、サーバ204によってその特定のサブジェクト
でパブリッシュされるそれ以降のすべてのメッセージに対するリッスン・イベン
トを生成することが含まれる。このメッセージは、ウェブ・ブラウザ11にその
内容を送信すべき応答を表す。さらに、応答サブジェクトの生成には、サブジェ
クトベースの要求をパブリッシュすることが含まれる。
【0028】 アプリケーション・サーバ208〜214の1つが、サブジェクトベースの要
求に対する応答を戻すと、サーバ204は、プロセス・ブロック414で、以前
に割り当てた応答サブジェクトに基づいてこの応答を受信する。さらに、サーバ
204は、プロセス・ブロック416で、そのサブジェクトベースの応答の内容
とタイプ・フィールドに基づいてポイントツーポイント応答を生成する。一実施
形態では、ポイントツーポイント応答はHTTPまたはHTTPSによる応答で
ある。サーバ204は次いで、プロセス・ブロック418で、このポイントツー
ポイント応答をウェブ・ブラウザ11に送り返す。一実施形態では、プロセス・
ブロック420で、ウェブ・ブラウザ11がこの応答をHTMLのウェブ・ペー
ジとして表示する。ただし、上記のように、サーバ204から戻される応答は表
示用のウェブ・ページに限定されず、本発明の実施形態は、サーバとクライアン
ト・コンピュータ間の他タイプの応答通信をいずれも取り入れることができる。
【0029】 図5は、本発明の実施形態のシステム・アプリケーションのブロック図を表す
。図2と同様に、図5も、ウェブ・ブラウザ11、ネットワーク202、サーバ
204、ネットワーク経路206、およびアプリケーション・サーバ208〜2
14を含む。ウェブ・ブラウザ11は、ネットワーク202を通じてサーバ20
4に結合される。サーバ204はさらに、ネットワーク経路206を通じてアプ
リケーション・サーバ208〜214に結合される。
【0030】 また、図に示すように、アプリケーション・サーバ214は、その中に複数の
サーバ(アプリケーション・サーバ214.1〜214.n)を含むことができ
る。一実施形態では、アプリケーション・サーバ214.1〜214.nは、ロ
ーカル・エリア・ネットワーク(LAN)を通じて接続される。別の実施形態で
は、アプリケーションサーバ214.1〜214.nは、ワイド・エリア・ネッ
トワーク(WAN)を通じて接続される。そのような実施形態では、アプリケー
ション・サーバ214.1〜214.nはインターネットを通じて接続される。
さらに、アプリケーション・サーバ214.1〜214.nは、これらのアプリ
ケーション・サーバ間に通信を提供する異なるネットワークの組み合わせを通じ
て接続される。
【0031】 ポイントツーポイント・ベースのアドレッシングと異なり、サブジェクトベー
スのアドレッシングは、図5に示すように、要求メッセージのキューイングとロ
ード・バランシングを可能にする。本発明の実施形態は、分散キューを取り入れ
ることも可能にし、これを、アプリケーション・サーバ214の構成と動作によ
って説明する。
【0032】 作動の際、アプリケーション・サーバ214.1〜214.nは分散キューと
関連付けられ、上記で図3〜4との関連で説明した、受信したサブジェクトベー
スのメッセージがそのキューに置かれる。さらに、アプリケーション・サーバ2
14.1〜214.nの1つが、この分散キューのためのアクティブなスケジュ
ーラに指定される。一実施形態では、このアクティブ・スケジューラは、スケジ
ューラの重みに基づいて決定される。スケジューラの重みは、同じキューの他の
メンバに対する、あるメンバ・セッションのスケジューラの役割を果たす能力を
表す。このような一実施形態では、スケジューラの重みは、それが持つ資源の利
用可能度に基づく。さらに一実施形態では、最高のスケジューラ重みを有するア
プリケーション・サーバ214.1〜214.nがスケジューラに指定される。
【0033】 さらに、一実施形態では、アクティブ・スケジューラである所与のサーバ(例
えばアプリケーション・サーバ214.1)が、分散キューの他のサーバ・メン
バ(例えばアプリケーション・サーバ214.2〜214.n)に対して、指定
の間隔でハートビート・メッセージを送信する。このハートビート・メッセージ
は、そのアクティブ・スケジューラがまだ生きていることを他のメンバ・サーバ
に知らせる。したがって、分散キューの各サーバは、このハートビート・メッセ
ージを受信するために、同じスケジューラ活動化間隔を指定しなくてはならない
。アクティブ・スケジューラからのハートビート・メッセージがこの活動化間隔
にわたって送信されないと、残りのキュー・メンバの中で最大のスケジューラ重
みを有する1つのキュー・メンバが、アクティブ・スケジューラに代わって新し
いアクティブ・スケジューラになる。
【0034】 したがって、このタイプのスケジューリングは必要とされる耐障害性を提供し
、所与のメンバ・サーバ214.1〜214.nが分散キューのスケジューラと
して機能する。この耐障害性のパラメータ(例えばスケジューリングの重み)に
よって、分散キューのアクティブ・スケジューラに最も適したメンバ・サーバを
選択するので、どのメンバ・サーバ214.1〜214.nもスケジューラにな
る可能性がある。
【0035】 さらに、分散キューの一部である、アクティブ・スケジューラを含むすべての
アプリケーション・サーバは、これらが、分散キューに入って来るサブジェクト
ベースのメッセージをリッスンし、これらのサブジェクトベース・メッセージに
対する作用または処理を行うタスクを割り当てられることから、ワーカまたはリ
スナとして定義される。一実施形態では、分散キューのアプリケーション・サー
バ214.1〜214.nは、各自がその名前を持つキューのメンバであること
を示す、再利用が可能な同じ対応名を共用することができる。このような一実施
形態では、分散キューの各メンバは同じサブジェクトをリッスンする。ただし、
各メンバがリッスンする際でも、各インバウンド・メッセージについて、そのメ
ッセージを処理するのは1つのメンバだけである。
【0036】 詳細には、アプリケーション・サーバ214.1〜214.nの分散キューで
サブジェクトベースのメッセージが受信されると、アクティブ・スケジューラ(
例えばアプリケーションサーバ214.1)は、アクティブ・スケジューラを含
めて、その分散キューに関連付けられたアプリケーション・サーバのいずれかに
、そのサブジェクトベースのメッセージを処理するタスクを割り当てる。一実施
形態では、アクティブ・スケジューラは、ワーカまたはリスナの重みに基づいて
、所与のサブジェクトベースのメッセージに対する処理タスクを割り当てる。
【0037】 このような一実施形態では、アクティブ・スケジューラは、最大のワーカまた
はリスナ重みを有する利用可能なワーカまたはリスナに処理タスクを割り当てる
。一実施形態では、ワーカまたはリスナは、(1)そのワーカまたはリスナに割
り当てられた保留中のタスクがそのタスク能力を超えていないか、または(2)
そのワーカまたはリスナがアクティブ・スケジューラでなければ利用可能である
と見なされる。ただし、アクティブ・スケジューラは、他のワーカまたはリスナ
が利用可能でないときには、それ自身にタスクを割り当てることもある。
【0038】 タスク能力は、ワーカまたはリスナが受け入れることのできる最大のタスク数
として定義される。一実施形態では、受け入れたタスクの数がこの最大数に達す
ると、その時点で保留中のタスクの少なくとも1つが完了するまで、ワーカまた
はリスナはそれ以上のタスクを受け入れることができない。アクティブ・スケジ
ューラは、着信するサブジェクトベースのメッセージに基づくタスクを受け取る
と、最大のワーカまたはリスナ重みを有するワーカまたはリスナに割り当てられ
た保留中のタスクがそのタスク能力を超えていない限り、そのワーカまたはリス
ナにそのタスクを割り当てる。一実施形態では、この好ましいワーカまたはリス
ナがそのタスク能力を超えているとき、アクティブ・スケジューラは、その次に
大きいワーカまたはリスナ重みを有するワーカまたはリスナにその新しいタスク
を割り当てる。
【0039】 一実施形態では、あるサーバが分散キューと関連付けられる際にそのサーバに
割り当てられるデフォルトのタスク能力は1である。ただし、この値は、複数の
異なる要素に基づいて変更することができる。一実施形態では、マルチスレッド
・プログラムを実行する複数のプロセッサを含むサーバで、n個のスレッドとn
個のプロセッサをインバウンド・タスクに向けるサーバはnのタスク能力を有す
る。
【0040】 一実施形態では、通信時間の遅れを、所与のサーバのタスク能力の要因として
考慮に入れる。大半の分散キュー・アプリケーションでは、通信時間は、タスク
のターンアラウンド時間の中で取るに足らないわずかな部分である。言い換える
と、タスクを割り当て、その完了を通知するのに必要な時間は、実際のタスクを
処理するのに必要とされる時間に比較すると非常にわずかである。例えば、平均
的なタスクのターンアラウンド時間が2000ミリ秒で、通信時間がその全体の
10ミリ秒を占める場合、そのタスク能力は、プロセッサまたはスレッドの数と
同じになる。
【0041】 しかし、状況によっては、通信時間が無視できないものになる可能性がある。
例えば、WANあるいはイントラネットやインターネットによって接続された遠
隔地にキュー・メンバが分散されている場合には、通信時間が多大になる可能性
がある。通信時間が多大になると、タスク能力の意味が変化する。詳細には、タ
スク能力は、リスナが同時に処理することのできるタスクの数を表す代わりに、
通信時間の遅れにかかわらずそのリスナの能力を満たすことのできるタスク数を
表すことになる。例えば、平均的なタスクのターンアラウンド時間が1500ミ
リ秒で、その内訳が、全体の時間に対して平均的なタスク処理時間が1000ミ
リ秒、平均的な通信時間が500ミリ秒である場合、タスク能力の設定によって
通信時間を補償することにより、タスク間のリスナのアイドル時間を最小にする
ことができる。
【0042】 したがって、タスク能力を変えて通信時間の送れを補償する際には、バランス
が重要になる。リスナを「過小負荷する」(そのタスク能力を過度に低く設定す
ることによる)と、アクティブ・スケジューラがその次のタスクを割り当てるの
を待つ間、リスナがアイドルの状態のままでいることになる。逆に、リスナを「
過負荷にする」(そのタスク能力を過度に高く設定することによる)と、割り当
てられるタスクの一部を待たせることになり、そのタスクを受け入れることがで
きた可能性のある他のリスナがアイドルのままになる。一実施形態では、アプリ
ケーション・サーバ214.1〜214.nは、サブジェクトベースのメッセー
ジの配信に対して複数のサービス品質をサポートする。
【0043】 上記のように、分散型のキューイングは、特定のアプリケーション・サーバ2
14を構成するn個のアプリケーション・サーバすべてが、サーバ204によっ
てパブリッシュされるすべてのメッセージを受け取るのは望ましくないという問
題に対処する。一般的には、グループ214のすべてのサーバが同じタスクを実
行する。これは、例えばグループ214中のn個のアプリケーション・サーバそ
れぞれが動作を行うので望ましくない。さらに、各アプリケーション・サーバが
メッセージを受信する(そして恐らくはそれに応答する)と、ネットワークの帯
域幅を消費することになる。
【0044】 それでも、グループ214中のn個のアプリケーション・サーバのうち少なく
とも1つがメッセージを受信し、その要求メッセージを可能なすべてのアプリケ
ーション・サーバ間でロード・バランシングすることはどうしても必要である。
すなわち、理想的には、システムが、n個のアプリケーション・サーバ214の
1つだけにメッセージを配信するとよい。多数のn個のアプリケーション・サー
バ214が、望ましいレベルの耐障害性および/またはロード・バランシングを
提供する必要があるような状況が発生する。例えば、アプリケーションが不安定
であるか、あるいはメッセージの配信が絶対的にクリティカルであるような状況
では、耐障害性が重要になる。
【0045】 本発明の実施形態では、グループ214の各アプリケーション・サーバは、例
えばサーバ214.1など、アクティブ・スケジューラとして機能するn個のア
プリケーション・サーバの1つにメッセージを送信し、その重みの指示を与える
。すると、アクティブ・スケジューラ214.1は、受け取ったそのサブジェク
トベースのメッセージを、グループ中で最大の重みを有する特定のアプリケーシ
ョン・サーバに送信することによって応答する。したがって、グループ214中
のサブスクライブ・サーバによる分散キューは、タスク(更新、および問い合わ
せ)を表すメッセージを受け入れることができる。このシステムは各タスクをサ
ーバの1つだけに割り当て、サーバのグループとタスクの配布はウェブ・サーバ
にとって常に完全に透過である。分散型のキューイング機能およびタスクのスケ
ジューリング機能は、公開されたPCT出願WO99/09490により詳細に
記載される。この出願は参照により本明細書に組み込む。
【0046】 さらに、ここに記載するサーバなどのコンピューティング・デバイスは、処理
装置および記憶装置(図示せず)を含んでもよい。その記憶装置は、上記に記載
した方法論のいずれか1つ、またはすべてを実施する命令のセット(すなわちソ
フトウェア)を記憶した機械可読媒体を含む。ソフトウェアは、このメモリおよ
び/またはこの処理装置の中に、完全にまたは少なくとも部分的に常駐すること
ができる。本明細書の目的には、用語「機械可読媒体」は、機械(例えばコンピ
ュータ)が読み出すことのできる形で情報を提供(すなわち、記憶および/また
は送信)する任意の機構を含むものと解釈されたい。例えば、機械可読媒体には
、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁
気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイス、電気、光、
音響、あるいはその他の形の伝搬信号(例えば搬送波、赤外線信号、デジタル信
号など)などが含まれる。
【0047】 以上、ネットワーク通信におけるアノニマスなサブジェクトベースのアドレッ
シングのための方法および装置を説明した。本発明は、特定の例示的実施形態を
参照して説明したが、本発明のより広い精神および範囲から逸脱することなく、
これらの実施形態に各種の修正および変更を行えることは明らかであろう。例え
ば、所与のウェブ・ブラウザと所与のサーバ間でTCP/IP/HTTP/HT
TPSプロトコルを利用する本発明の実施形態を記載している。しかし、このよ
うな実施形態は例示であって制限ではなく、他のタイプのポイントツーポイント
のプロトコルを所与のサーバで受信し、サブジェクトベースのメッセージに変換
することができる。
【0048】 上記の実施形態に行うことが可能な別の変更例は、図2、3、および5に示す
ネットワーク経路206の排除である。詳細には、本発明の実施形態は、ネット
ワーク経路206に結合された外部サーバにサブジェクトベースのメッセージを
送信する形態に限定されず、サブジェクトベースのメッセージを、サーバ204
内のプロセスにローカルに送信することもできる。したがって、本明細書および
図面は、制限的な意味ではなく例証的な意味に捉えるべきである。
【図面の簡単な説明】
【図1】 従来技術によるブラウザ、ウェブ・サーバ、およびアプリケーション・サーバ
のシステム図である。
【図2】 本発明の実施形態による、ウェブ・ブラウザ、ウェブ・サーバ、およびアプリ
ケーション・サーバのシステム図である。
【図3】 本発明の実施形態による、ブラウザ、ウェブ・サーバ、アプリケーション・サ
ーバ、およびそれらにおける機能のシステム図である。
【図4】 本発明の実施形態による、サブジェクトベースのメッセージを組み込んだ要求
を処理する方法を説明する流れ図である。
【図5】 本発明の実施形態のシステム・アプリケーションのブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,US,UZ, VN,YU,ZA,ZW

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 クライアント・コンピュータからポイントツーポイントの要
    求メッセージを受信し、 ポイントツーポイントの要求メッセージをサブジェクトベースのメッセージに
    変換し、 サブジェクトベースのメッセージをマルチキャストし、 サブジェクトベースのメッセージに対する応答を受信し、 サブジェクトベース・メッセージに対する応答をポイントツーポイントの応答
    メッセージに変換し、 ポイントツーポイントの応答メッセージをクライアント・コンピュータに送信
    すること を含む方法。
  2. 【請求項2】 該変換が、サブジェクトベースのメッセージに応答サブジェ
    クトを割り当てることを含む請求項1に記載の方法。
  3. 【請求項3】 ポイントツーポイントの要求メッセージが、ハイパーテキス
    ト転送プロトコルに基づく請求項1に記載の方法。
  4. 【請求項4】 サブジェクトベースのメッセージが、そのサブジェクトベー
    スのメッセージを受信するサブスクライバのグループを表す請求項1に記載の方
    法。
  5. 【請求項5】 該サブジェクトベースのメッセージを受信するサブスクライ
    バ・グループが、動的に変換することが可能である請求項4に記載の方法。
  6. 【請求項6】 サブジェクトベースのメッセージが受信者の識別に依存しな
    い請求項1に記載の方法。
  7. 【請求項7】 サブジェクトベースのメッセージが、そのサブジェクトベー
    ス・メッセージの受信者によって使用されるプロトコルに依存しない請求項1に
    記載の方法。
  8. 【請求項8】 ハイパーテキスト転送プロトコル(HTTP)に基づくポイ
    ントツーポイントの要求を処理する方法であって、 クライアント・コンピュータからポイントツーポイントの要求を受信し、 ポイントツーポイントの要求をサブジェクトベースのメッセージに変換し、 ネットワークを介して複数のアプリケーション・サーバにサブジェクトベース
    のメッセージをマルチキャストし、 該複数のアプリケーション・サーバの1つから、サブジェクトベース・メッセ
    ージに対する応答を受信し、 応答から内容を抽出し、 応答からの内容を使用してポイントツーポイントの応答を生成し、 ポイントツーポイントの応答をクライアント・コンピュータに送り返すこと を含む方法。
  9. 【請求項9】 該変換が、サブジェクトベースのメッセージに応答サブジェ
    クトを割り当てることを含む請求項8に記載の方法。
  10. 【請求項10】 サブジェクトベースのメッセージが、そのサブジェクトベ
    ース・メッセージを受信するサブスクライバのグループを表す請求項8に記載の
    方法。
  11. 【請求項11】 該サブジェクトベースのメッセージを受信するサブスクラ
    イバ・グループが動的に変化することが可能である請求項10に記載の方法。
  12. 【請求項12】 サブジェクトベースのメッセージが受信者の識別に依存し
    ない請求項10に記載の方法。
  13. 【請求項13】 サブジェクトベースのメッセージが、そのサブジェクトベ
    ース・メッセージの受信者によって使用されるプロトコルに依存しない請求項1
    0に記載の方法。
  14. 【請求項14】 命令を提供する機械可読媒体であって、該命令がプロセッ
    サによって実行されると、前記プロセッサが、 クライアント・コンピュータからポイントツーポイントのメッセージを受信し
    、 ポイントツーポイントの要求メッセージをサブジェクトベースのメッセージに
    変換し、 サブジェクトベース・メッセージをマルチキャストし、 サブジェクトベース・メッセージに対する応答を受信し、 サブジェクトベース・メッセージに対する応答をポイントツーポイントの応答
    メッセージに変換し、 ポイントツーポイントの応答メッセージをクライアント・コンピュータに送信
    すること を含む動作を実行する機械可読媒体。
  15. 【請求項15】 該変換が、サブジェクトベースのメッセージに応答サブジ
    ェクトを割り当てることを含む請求項14に記載の機械可読媒体。
  16. 【請求項16】 ポイントツーポイントの要求メッセージがハイパーテキス
    ト転送プロトコルに基づく請求項14に記載の機械可読媒体。
  17. 【請求項17】 サブジェクトベースのメッセージが、そのサブジェクトベ
    ース・メッセージを受信するサブスクライバのグループを表す請求項14に記載
    の機械可読媒体。
  18. 【請求項18】 該サブジェクトベースのメッセージを受信するサブスクラ
    イバ・グループが、動的に変化することが可能である請求項17に記載の機械可
    読媒体。
  19. 【請求項19】 サブジェクトベースのメッセージが受信者の識別に依存し
    ない請求項14に記載の機械可読媒体。
  20. 【請求項20】 サブジェクトベースのメッセージが、そのサブジェクトベ
    ース・メッセージの受信者によって使用されるプロトコルに依存しない請求項1
    4に記載の機械可読媒体。
  21. 【請求項21】 ハイパーテキスト転送プロトコル(HTTP)に基づくポ
    イントツーポイント要求を処理するための命令を提供する機械可読媒体であって
    、該命令がプロセッサによって実行されると、前記プロセッサが、 クライアント・コンピュータからポイントツーポイントの要求を受信し、 ポイントツーポイント要求をサブジェクトベースのメッセージに変換し、 ネットワークを介してサブジェクトベース・メッセージを複数のアプリケーシ
    ョン・サーバにマルチキャストし、 複数のアプリケーション・サーバの1つから、サブジェクトベース・メッセー
    ジに対する応答を受信し、 応答から内容を抽出し、 応答から抽出した内容を使用して、ポイントツーポイント応答を生成し、 ポイントツーポイント応答をクライアント・コンピュータに戻すこと を含む動作を実行する機械可読媒体。
  22. 【請求項22】 該変換が、サブジェクトベースのメッセージに応答サブジ
    ェクトを割り当てることを含む請求項21に記載の機械可読媒体。
  23. 【請求項23】 サブジェクトベースのメッセージが、そのサブジェクトベ
    ース・メッセージを受信するサブスクライバのグループを表す請求項21に記載
    の機械可読媒体。
  24. 【請求項24】 該サブジェクトベースのメッセージを受信するサブスクラ
    イバ・グループが、動的に変化することが可能である請求項23に記載の機械可
    読媒体。
  25. 【請求項25】 サブジェクトベースのメッセージが受信者の識別に依存し
    ない請求項21に記載の機械可読媒体。
  26. 【請求項26】 サブジェクトベースのメッセージが、そのサブジェクトベ
    ース・メッセージの受信者によって使用されるプロトコルに依存しない請求項2
    1に記載の機械可読媒体。
  27. 【請求項27】 ネットワークに結合されたアプリケーション・サーバであ
    って、 データを有するデータベースと、 サーバから受信したサブジェクトベースのメッセージを処理する、データベー
    スに結合されたプロセッサであって、該サブジェクトベースのメッセージはデー
    タ内容に対する要求を含み、該サブジェクトベースのメッセージは、クライアン
    ト・コンピュータから受信されるポイントツーポイント・メッセージから生成さ
    れるプロセッサと を含み、該処理が、 ネットワークから受信されるサブジェクトベースの要求メッセージをリッスン
    し、 サブジェクトベース・メッセージ中の要求に基づいて、データベース中のデー
    タの一部を抽出し、 データベースから抽出されたデータの一部を含む、サブジェクトベースの応答
    メッセージを生成し、 サブジェクトベースの応答メッセージをサーバに送信すること を含むアプリケーション・サーバ。
  28. 【請求項28】 ポイントツーポイントの要求メッセージが、ハイパーテキ
    スト転送プロトコルに基づく請求項27に記載のアプリケーション・サーバ。
  29. 【請求項29】 サブジェクトベースの応答メッセージが、サーバによって
    割り当てられた応答サブジェクトを含む請求項27に記載のアプリケーション・
    サーバ。
  30. 【請求項30】 サブジェクトベース・メッセージが受信者の識別に依存し
    ない請求項27に記載のアプリケーション・サーバ。
  31. 【請求項31】 サブジェクトベース・メッセージが、そのサブジェクトベ
    ース・メッセージの受信者によって使用されるプロトコルに依存しない請求項2
    7に記載のアプリケーション・サーバ。
  32. 【請求項32】 サーバと複数のアプリケーション・サーバとを含むシステ
    ムにおいて、 前記サーバは、ネットワークに結合され、ウェブ・ブラウザからハイパーテキ
    スト転送プロトコル(HTTP)に基づくポイントツーポイントの要求メッセー
    ジを受信し、そのポイントツーポイント要求メッセージを処理するが、そのポイ
    ントツーポイント要求メッセージの処理が、 ポイントツーポイントの要求メッセージをサブジェクトベースのメッセージ
    に変換し、 サブジェクトベースのメッセージをマルチキャストし、 サブジェクトベースのメッセージに対する応答を受信し、 サブジェクトベースのメッセージをポイントツーポイントの応答メッセージ
    に変換し、 ポイントツーポイントの応答メッセージをウェブ・ブラウザに送信すること
    を含み、 複数のアプリケーション・サーバは、ネットワークに結合され、それぞれが、 データを有するデータベースと、 サーバから受信したサブジェクトベースのメッセージを処理する、データベ
    ースに結合されたプロセッサと を含み、前記サブジェクトベース・メッセージを処理することに、 ネットワークから受信されるサブジェクトベースの要求メッセージをリッ
    スンし、 サブジェクトベース・メッセージ中の要求に基づいて、データベース中の
    データの一部を抽出し、 データベースから抽出したデータの一部を含む、サブジェクトベースの応
    答メッセージを生成し、 サブジェクトベースの応答メッセージをサーバに送信すること を含むシステム。
  33. 【請求項33】 さらに分散キューを含み、該分散キューはサーバからサブ
    ジェクトベース・メッセージを受信し、該複数のアプリケーション・サーバの1
    つが、分散キューで受信したサブジェクトベース・メッセージをどのアプリケー
    ション・サーバが処理するかをスケジューリングする請求項32に記載のシステ
    ム。
  34. 【請求項34】 該複数のアプリケーション・サーバが動的に変化すること
    が可能である請求項32に記載のシステム。
  35. 【請求項35】 サブジェクトベース・メッセージが、該複数のアプリケー
    ション・サーバによって使用されるプロトコルに依存しない請求項32に記載の
    システム。
JP2001547264A 1999-12-22 2000-12-22 アノニマスなサブジェクトベース・アドレッシングの方法および装置 Expired - Lifetime JP4663948B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17193099P 1999-12-22 1999-12-22
US60/171,930 1999-12-22
US09/746,757 US7051118B2 (en) 1999-12-22 2000-12-21 Method and apparatus for anonymous subject-based addressing
US09/746,757 2000-12-21
PCT/US2000/035140 WO2001046817A1 (en) 1999-12-22 2000-12-22 Method and apparatus for anonymous subject-based addressing

Publications (3)

Publication Number Publication Date
JP2003518290A true JP2003518290A (ja) 2003-06-03
JP2003518290A5 JP2003518290A5 (ja) 2008-02-14
JP4663948B2 JP4663948B2 (ja) 2011-04-06

Family

ID=26867591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001547264A Expired - Lifetime JP4663948B2 (ja) 1999-12-22 2000-12-22 アノニマスなサブジェクトベース・アドレッシングの方法および装置

Country Status (9)

Country Link
US (1) US7051118B2 (ja)
EP (1) EP1247188B1 (ja)
JP (1) JP4663948B2 (ja)
CN (2) CN101540781B (ja)
AT (1) ATE488936T1 (ja)
AU (1) AU777806B2 (ja)
CA (1) CA2395444C (ja)
DE (1) DE60045256D1 (ja)
WO (1) WO2001046817A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073477B2 (en) 2000-04-11 2011-12-06 Telecommunication Systems, Inc. Short message distribution center
WO2001078422A1 (en) * 2000-04-11 2001-10-18 Telecommunication Systems, Inc. Intelligent delivery agent for short message distribution center
US7522911B2 (en) 2000-04-11 2009-04-21 Telecommunication Systems, Inc. Wireless chat automatic status tracking
US20020133568A1 (en) * 2001-02-20 2002-09-19 Smith Richard A. Individualized network information server
US6891811B1 (en) 2000-04-18 2005-05-10 Telecommunication Systems Inc. Short messaging service center mobile-originated to HTTP internet communications
US6760861B2 (en) * 2000-09-29 2004-07-06 Zeronines Technology, Inc. System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster
US20020103743A1 (en) * 2001-01-30 2002-08-01 Sun Microsystems, Inc. Platform independent business to business publish/subscribe messaging system
US6658260B2 (en) 2001-09-05 2003-12-02 Telecommunication Systems, Inc. Inter-carrier short messaging service providing phone number only experience
US6904131B2 (en) * 2001-11-30 2005-06-07 David Weksel System and method for delivering a message to a plurality of receivers in respective reception formats
AU2003270863A1 (en) * 2002-09-30 2004-04-23 Advent Networks, Inc. Implementing request/reply programming semantics using publish/subscribe middleware
US7836123B2 (en) * 2008-05-13 2010-11-16 International Business Machines Corporation System and method for non-HTTP session based publish/subscribe support using pre-emptive subscriptions
US8452833B2 (en) * 2008-05-13 2013-05-28 International Business Machines Corporation Cached message distribution via HTTP redirects
US8380799B2 (en) 2010-04-15 2013-02-19 Ebay Inc. Topic-based messaging using consumer address and pool
US8868744B2 (en) * 2010-11-24 2014-10-21 International Business Machines Corporation Transactional messaging support in connected messaging networks
US8929854B2 (en) 2011-10-27 2015-01-06 Telecommunication Systems, Inc. Emergency text messaging
CN103581765B (zh) * 2012-08-02 2016-12-21 华为技术有限公司 一种报文转发的方法和设备
KR20150084017A (ko) * 2012-10-22 2015-07-21 인터디지탈 패튼 홀딩스, 인크 이동국에서 실행 중인 애플리케이션의 “킵-얼라이브” 메시지 빈도를 협상하기 위한 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09259096A (ja) * 1996-03-27 1997-10-03 Hitachi Ltd ネットワーク高信頼化方式及びシステム
JPH11161683A (ja) * 1997-09-24 1999-06-18 Fujitsu Ltd 情報検索方法,情報検索システムおよび同システム用検索管理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136501A (en) * 1989-05-26 1992-08-04 Reuters Limited Anonymous matching system
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5742762A (en) 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
US5701451A (en) 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
HUP9900026A3 (en) * 1995-11-14 1999-11-29 Ibm Information handling system for allowing a generic web browser to access servers of a plurality of different protocol types
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US5987454A (en) 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
WO1999009490A1 (en) * 1997-08-18 1999-02-25 Tibco Software, Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
US6091724A (en) * 1997-11-20 2000-07-18 International Business Machines Corporation Routing messages within a network using the data content of the message
US6216132B1 (en) * 1997-11-20 2001-04-10 International Business Machines Corporation Method and system for matching consumers to events
US5987233A (en) * 1998-03-16 1999-11-16 Skycache Inc. Comprehensive global information network broadcasting system and implementation thereof
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
US6351761B1 (en) * 1998-12-18 2002-02-26 At&T Corporation Information stream management push-pull based server for gathering and distributing articles and messages specified by the user
US6567893B1 (en) * 2000-11-17 2003-05-20 International Business Machines Corporation System and method for distributed caching of objects using a publish and subscribe paradigm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09259096A (ja) * 1996-03-27 1997-10-03 Hitachi Ltd ネットワーク高信頼化方式及びシステム
JPH11161683A (ja) * 1997-09-24 1999-06-18 Fujitsu Ltd 情報検索方法,情報検索システムおよび同システム用検索管理装置

Also Published As

Publication number Publication date
AU2595001A (en) 2001-07-03
CN1433545A (zh) 2003-07-30
DE60045256D1 (de) 2010-12-30
CN101540781A (zh) 2009-09-23
AU777806B2 (en) 2004-10-28
CA2395444A1 (en) 2001-06-28
US20010032267A1 (en) 2001-10-18
EP1247188A1 (en) 2002-10-09
CA2395444C (en) 2009-03-24
EP1247188B1 (en) 2010-11-17
ATE488936T1 (de) 2010-12-15
CN101540781B (zh) 2013-01-02
JP4663948B2 (ja) 2011-04-06
WO2001046817A1 (en) 2001-06-28
EP1247188A4 (en) 2008-05-14
US7051118B2 (en) 2006-05-23

Similar Documents

Publication Publication Date Title
JP2003518290A (ja) アノニマスなサブジェクトベース・アドレッシングの方法および装置
US7861174B2 (en) Method and system for assembling concurrently-generated content
US5805823A (en) System and method for optimal multiplexed message aggregation between client applications in client-server networks
EP1606917B1 (en) System and method for publish/subscribe messaging
US6351761B1 (en) Information stream management push-pull based server for gathering and distributing articles and messages specified by the user
US8676994B2 (en) Load balancing of server clusters
US20020002625A1 (en) System and method for reformatting data traffic
JP4144897B2 (ja) 共通作業キュー環境における最適格サーバ
US20020055956A1 (en) Method and system for assembling concurrently-generated content
JP3495234B2 (ja) ネットワーク・コンピュータ・システム上のサーバ負荷低減方法およびシステム
JPS62118465A (ja) 資源情報を伝播する方法
JP2000187609A (ja) 要求されたオブジェクトを検索する方法及び記録デバイス
CN1792069A (zh) 用于提供包括多种电子设备的虚拟工作区的技术
US20090287805A1 (en) System & method for non-http session based publish/subscribe support using pre-emptive subscriptions
EP1227638B1 (en) High performance client-server communication system
US20050053018A1 (en) Real-time messaging in collaborative network environments
US8103759B2 (en) Message redirection within a messaging infrastructure
US7103671B2 (en) Proxy client-server communication system
WO2002021749A2 (en) Providing a personalized web page by accessing different servers
JP2007515699A (ja) ネットワークを介して通信するための方法、システム、およびプログラム
EP1360598B1 (en) Assembling concurrently-generated personalized web pages
KR20050092834A (ko) 분산 혼합형 피투피 네트워크 제공 방법 및 장치
JP2002334026A (ja) 端末データの受配信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101207

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110106

R150 Certificate of patent or registration of utility model

Ref document number: 4663948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term