JP3892987B2 - メッセージ・ブローカ・データ処理装置、方法、及び記録媒体 - Google Patents
メッセージ・ブローカ・データ処理装置、方法、及び記録媒体 Download PDFInfo
- Publication number
- JP3892987B2 JP3892987B2 JP11051599A JP11051599A JP3892987B2 JP 3892987 B2 JP3892987 B2 JP 3892987B2 JP 11051599 A JP11051599 A JP 11051599A JP 11051599 A JP11051599 A JP 11051599A JP 3892987 B2 JP3892987 B2 JP 3892987B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- processing
- stream
- application
- node
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Multimedia (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はクライアント/サーバ("分散"としても知られる)・コンピュータの分野に関して、そこでは例えばあるコンピュータ装置("クライアント")が別のコンピュータ装置("サーバ")に、クライアントの作業の一部を実行するように要求する。
【0002】
【従来の技術】
クライアント/サーバ・コンピュータは、過去数年の間に、情報技術の世界において、益々重要となった。このタイプの分散コンピュータは、あるマシン上で実行される1つのプロセス("クライアント")が、その作業の一部を、例えばその作業を実行する上でより適した、別のマシン上で実行される別のプロセス("サーバ")に委任することを可能にする。クライアント及びサーバはまた、同一の物理マシン上で実行される2つのプロセスであってもよい。
【0003】
メッセージを待ち行列化するデータ処理技術は、今日のクライアント/サーバ・コンピュータ・ネットワークにおいて、益々普及するようになった。この技術は、クライアント・コンピュータ・システムがサーバ・コンピュータ・システムと通信することを可能にする。このことは、たとえこれら2つのシステムが、オペレーティング・システム、データ形式及び通信プロトコルに関して、互いに極めて異なる場合にも当てはまる。更に、この技術の非同期の性質により、クライアントはサーバにメッセージを送信でき、サーバはメッセージをキューに記憶し、後にメッセージを処理することにより、それに応答することができる。これはクライアントとサーバとがリアルタイムに対話する必要がある(例えばクライアントが他のタスクを続ける前に、サーバからの応答を待機する)、同期クライアント/サーバ・モデルとは、極めて異なる。
【0004】
メッセージ待ち行列及び市販のメッセージ待ち行列製品が、"Messaging and Queuing Using the MQI"、B.Blakely、H.Harris&R.Lewis、McGraw-Hill、1994、及びIBMから提供される次の刊行物、すなわち"An Introduction to Messaging and Queuing"(IBM Document number GC33-0805-00)及び"MQSeries - Message Queue Interface Technical Reference"(IBM Document number SC33-0850-01)で述べられている。ここでIBM及びMQSeriesは、IBMの商標である。IBMのMQSeriesメッセージング・ソフトウェア製品は、トランザクション上のメッセージ支援を提供し、たとえシステムまたは通信障害の場合であっても、1度限りのメッセージ転送を保証するメッセージング・プロトコルに従い、論理作業単位内のメッセージを同期する。MQSeries製品は、メッセージが受信者システムにより安全に記憶されたことが確認されるまで、送信者システム上の記憶装置から最終的にメッセージを消去しないことにより、及び高性能な回復機構の使用により保証された転送を提供する。成功記憶の確認時のメッセージの転送の約束に先立ち、送信者システムの記憶装置からのメッセージの消去と、受信者システムの記憶装置への挿入の両方が、"不確かに(in doubt)"保守され、障害の場合には、アトミックに破られる。このメッセージ伝送プロトコル及び関連トランザクションの概念及び回復機構が、国際特許出願第WO95/10805号及び米国特許第5465328号で述べられている。
【0005】
こうしたメッセージング及び待ち行列システムを、IBMのDB2製品(DB2はIBMの商標)またはマイクロソフト社のAccess製品(Accessはマイクロソフト社の商標)などの、関係データベース・システムと結合することが、より一般的になりつつある。なぜなら、関係データベースは、大量の関連データを記憶及び検索するための構造化機構として、一般に使用されているからである。
【0006】
例えば、サン・マイクロシステムズ社は、発行/加入機能を実行するために使用されるメッセージング及び待ち行列システムについて述べている(1996年11月17日公開の欧州特許出願第806731号を参照)。サーバが発行者として作用し、各メッセージのトピックを指定する間にメッセージを発行する。クライアントは加入者として作用し、加入者がメッセージを受信したいトピックを指定する。メッセージング及び待ち行列ブローカが、クライアントとサーバとの間に配置され、発行されたメッセージを適切なクライアントに配布するように作用する。システムはデータベースが発行サーバとして提供されることを可能にするので、大量の構造化データがネットワークに発行され得る。データベースは加入クライアントとしても提供され、大量のメッセージの容易な構造化検索のために、受信された発行済みメッセージを記憶する。しかしながら、このシステムは、メッセージング及び待ち行列システムと、関係データベース・システムとの統合については述べていない。
【0007】
オラクル社は、彼らのOracle8 Advanced Queuing(AQ)システム("Oracle8"及び"Advanced Queuing"は、オラクル社の商標)により、この統合を更に1歩進め、そこではクライアント・アプリケーション(加入者)が、メッセージング及び待ち行列ブローカに構造化照会を提出することにより、加入者が受信したい発行済みメッセージを指定できる。加入者がSQL(構造化照会言語)などの標準のデータベース言語を使用し、関心のあるトピックを指定する能力は、加入者が受信したい発行済みメッセージのタイプを正確に表現する上で、高レベルの特異性を可能にする。例えば、加入者は標準のSQL照会ステートメントを用い、株価が1株につき100米ドルより高い場合に限り、全ての発行済みIBM株式相場を受信したいことを示すことができる。SQLステートメントに加え、加入者は様々なビジュアル関係データベース・プログラミング技術を利用でき、それらには例えば、マイクロソフト・アクセス製品により提供されるような、加入者が見たい発行済みメッセージのタイプを、プログラマが正確に指定することを容易にする技術などが含まれる。
【0008】
オープン・ホライズン社は、彼らのAmbrosia 2.1製品("Ambrosia"はオープン・ホライズン社の商標)により、更にこの統合を1歩進め、そこではメッセージング及び待ち行列ブローカが、メッセージを要求元の加入者に転送する以前に、主題を発行済みメッセージの内容に加える。メッセージング及び待ち行列ブローカは、発行済みメッセージを入力キューに受信する。オラクル製品同様、標準のSQL技術が、加入者が見たい発行済みメッセージのタイプを正確に指定するために使用される。しかしながら、Ambrosia製品は更に、発行済みメッセージ内の情報を、関係データベースに記憶されたレコードと照合することができる。特に、一旦発行済みメッセージが受信されると、データベース・レコードからのデータの一部が、発行済みメッセージの内容に加えられ、メッセージング及び待ち行列ブローカにより最初に受信されたものと比べ、より詳細な内容を有する発行済みメッセージが作成される。例えば、IBM株式が現在1株当たり125ドルでリストされていることを示す発行済みメッセージが、ブローカの入力キューに受信される場合に、ブローカは関係データベースから情報を検索するようにプログラムされ得る。こうした情報には、顧客の識別(例えばC23)や、この顧客が現在所有するIBM株式の数量(例えば225株)などが含まれる。データベースから検索された情報が次に、発行済み情報と結合され、より詳細なメッセージ、すなわち、顧客C23が現在1株当たり125ドルで取り引きされているIBM株式を、225株所有するとのメッセージが作成され、これが既に加入者として登録済みの顧客C23に転送される。
【0009】
Ambrosia製品は上述の他の製品に勝る相当な価値を提供するが、発行済みメッセージとデータベース・レコードとの照合方法を正確に指定する専用のソフトウェア・コードを作成しなければならない欠点がある。
【0010】
アクティブ・ソフトウェア社のActiveWebメッセージ・ブローカ製品("ActiveWeb"はアクティブ・ソフトウェア社の商標)は、データベース内容が発行済みメッセージに追加され、発行済みメッセージの価値を増加する点で、オープン・ホライズン社のAmbrosia製品と類似する。ActiveWebは、データベース・アダプタと呼ばれる特定のソフトウェア・コード部分を使用し、照合(例えば結合)操作を実行する。このアダプタは、データを発行済みメッセージから抽出し、データをデータベースにより期待される正確な形式のデータベース照会に変換し、データベースからデータを検索し、発行済みメッセージ及びデータベース・データに対して、特定の照合操作を実行するために要求される。
【0011】
従って、ActiveWebもまた、例えば発行済みメッセージをデータベース・レコードと結合する照合操作の実行のために、専用のソフトウェア部分を提供する必要性があるといった、Ambrosia製品の欠点を共有する。こうしたソフトウェアを変更するには、ユーザは専用のソフトウェア部分のプログラミング構造及び言語に精通していることが必要である。従って、プログラマはメッセージ・ブローカの残りの部分を容易に変更できる一方、照合操作を実行する専用のソフトウェア部分を変更するために、新たなプログラミング環境に切り替わることが必要である。
【0012】
【発明が解決しようとする課題】
本発明の目的は、改善されたクライアント/サーバ・コンピュータ・システムを提供することである。
【0013】
【課題を解決するための手段】
1態様によれば、本発明は、送信者アプリケーションからメッセージを受信し、受信されたメッセージを処理し、処理されたメッセージの転送先の受信者アプリケーションを決定するために使用される、メッセージ・ブローカ・データ処理装置を提供する。この装置は、送信者アプリケーションから、少なくとも1つのフィールドを有するタプル(tuple)として編成されるメッセージの入来ストリームを受信する手段と、メッセージの入来ストリームを、少なくとも1つのフィールドを有するタプルとして編成し、データベースに記憶されるデータベース・データと照合する手段と、メッセージのストリームを処理し、結果のメッセージのストリームを少なくとも1つの受信者アプリケーションに転送する手段とを含む。
【0014】
好適には、上述の受信する手段、照合する手段、及び処理する手段が、相互接続されてネットワークを形成する複数の処理ノードを利用し、各ノードの処理機能が、標準の関係言語による関係式により定義され、メッセージ・タプルのストリームが複数のノード間で転送される。更に、ネットワーク内の2つの隣接ノードであるノード1及びノード2に対して、ノード1の機能を定義する関係式の出力が、ノード2の機能を定義する関係式の入力により、メッセージ・タプルのストリームとして解釈される。
【0015】
好適には、受信手段がキュー・マネージャと通信する。
【0016】
好適な実施例では、送信者アプリケーションが発行者であり、受信者アプリケーションが加入者である。
【0017】
好適には、標準の関係言語が構造化照会言語であり、ビジュアル・データベース・ツールが、ノードの機能を定義する関係式を生成するために使用される。
【0018】
1実施例では、2つのノード間に存在するメッセージ・タプルのストリーム内の各メセージ・タプルが、同一のフィールドのセットを有する。別の実施例では、2つのノード間に存在するメッセージ・タプルのストリーム内において、ストリーム内の各メッセージ・タプルが、必ずしも同一のフィールドのセットを有さない。好適には、後者の実施例では、ノードの機能を定義する関係式内で使用され、ノードに入力されるストリームの特定のメッセージ・タプル内で定義されないフィールドが、ヌル(null)値を割り当てられる。
【0019】
1実施例では、本装置が1つのデータ処理ユニット上に含まれ、別の実施例では、装置が複数の相互接続されるデータ処理ユニット上に含まれる。
【0020】
第2の態様によれば、本発明は、第1の態様で述べられた機能を実行する方法を提供する。
【0021】
第3の態様では、本発明は、コンピュータ上で実行されて、第1の態様で述べられた機能を実行するコンピュータ・プログラム製品を提供する。
【0022】
第4の態様によれば、本発明は、第1の態様のメッセージ・ブローカ・データ処理装置を用い、顧客に情報サービスを提供する方法を提供する。この方法は、a)顧客から、顧客が受信したいメッセージに関する基準を受信するステップと、b)発行者から発行済みメッセージを受信するステップと、c)発行済みメッセージを顧客から受信された基準と比較するステップと、d)顧客から受信された基準に合う発行済みメッセージを顧客に転送するステップとを含む。
【0023】
本発明は入来データをメッセージ・タプルのストリームとしてブローカに提供するので、入来データをデータベース・データと照合することが容易となり、後者もまたタプルに編成される。従って、データ・ストリーム内のメッセージをデータベースからのデータと照合するデータ処理要素が、シームレスに、全体メッセージ・ブローカ・システムに統合され得る。
【0024】
このデータ処理要素を、全体メッセージ・ブローカ・システムと一緒にシームレスに統合することにより、データのストリームがデータベースからのデータと照合(例えば併合または結合)される方法に関する詳細をプログラムする一方、ビジュアル・ツール、インタフェース及びモデルなどの、ブローカの他の部分をプログラムするために使用されるのと同一の標準の関係メソッドも、使用され得る。これにより、同一のツールが全体を通じて使用可能になり、全体ブローカ・システムのプログラミングが相当に容易になる。
【0025】
完全なメッセージング・ブローカにおける、こうした関係技術(特にビジュアル・ツール)を使用するこの能力はまた、非効率的にプログラムされたブローカのあらゆる部分を最適化することを非常に容易にする。
【0026】
更に、入来データ・ストリームを記憶済みのデータベース・データと照合するユニットを、全体ブローカ・システムにシームレスに統合することにより、ブローカを介するメッセージの流れが(従来のAmbrosia及びActiveWebと比較して、)より効率的に発生する。
【0027】
最後に、本発明に関わるシームレス・インテグレーション(統合)は、全体トランザクションの一部として、照合ユニット内で発生する処理の扱いを非常に容易にする。ここで全体トランザクションは、メッセージ・ブローカの他の部分で発生する処理も考慮するものである。すなわち、ブローカの全ての要素が同様に処理され得る場合、トランザクションなどの、システム全体の処理面を追跡することが非常に容易になる。
【0028】
【発明の実施の形態】
図1では、加入者が受信したい生の最新のデータを供給する、発行者データ処理ユニット11が示される(好適な実施例の説明では、株式データが使用される。なぜなら、株式データは絶え間無く変化し、多くの加入者により即時ベースで要求されるデータの良い例であり、このタイプのブローカの主要な用途であるからである)。発行者データ処理ユニット11は、多数の使用可能なコンピュータ処理プラットフォームの1つの上で実行され得る。
【0029】
IBMのMQSeries製品(キュー・マネージャ12として示される)などのメッセージング及び待ち行列ユニットが、発行者データ処理ユニット11と、加入者データ処理ユニット15との間に配置される。加入者データ処理ユニット15は、多数の使用可能なコンピュータ処理プラットフォームの1つの上で実行され、選択プラットフォームは、発行者11により使用されるプラットフォームとは異なり得る。既知のキュー・マネージャ12(MQSeries)は、全ての必要なデータ形式トランザクション(例えばプロトコルなど)を処理し、発行者11及び加入者15が互いに非同期に通信することを可能にする(例えば、発行者11によりメッセージが発行されているとき、加入者15は動作状態である必要はなく、メッセージがキューに記憶され、加入者15が再度動作状態になるとき、加入者15がメッセージを検索する)。別々のキュー・マネージャ12が通常、各発行者及び加入者に割り当てられ、キュー・マネージャが対話し、ユニット間のメッセージの流れを制御する。しかしながら、説明を容易にするため、ここではキュー・マネージャ12が1つのエンティティとして述べられる。
【0030】
発行者11及び加入者15は、同一のマシン上で動作できる。この後者の場合、データ形式変換が低減され、キュー・マネージャ12は単に発行済みメッセージを発行者アプリケーションから加入者アプリケーションに経路指定するだけである。
【0031】
キュー・マネージャ12は、受信する発行済みメッセージを関係メッセージ・ブローカ13(中間データ処理ユニット上または複数の相互接続されたデータ処理ユニット上で実行され得る)に送信する。メッセージ・ブローカはメッセージを後述のように処理後、キュー・マネージャ12に返送し、次にメッセージが適切な加入者の出力キューに配置され、加入者により検索される。図1では単純化のために、こうした1加入者(及び発行者)だけが示されるが、通常の場合、複数の加入者及び発行者が含まれる。
【0032】
関係メッセージ・ブローカ13はまた、図1に点線により示されるように、キュー・マネージャ12をバイパスして、同期操作モードでも使用され得る。実際、ブローカ13は、キュー・マネージャ12の備わっていない全くの同期環境においても使用され得る。これは例えば、発行者及び加入者が常時動作状態であるシステムを含み、従ってキュー・マネージャ12の機能の必要性を排除する。
【0033】
その処理を実行する際、ブローカ13はしばしばデータベース14をアクセスする。例えば、発行済みメッセージ内の情報がデータベースに記憶された情報と結合され、より意味深いメッセージが作成され、加入者に送信される。例えば、発行済みメッセージは、IBM株価が1株当たり150米ドルに値上がりしたことを示し、データベース14に記憶されたデータベース・レコードが、識別子C3を有する特定の顧客が、IBM株式を77株を所有することを示す。ブローカ13により実行される結合操作は、全てのこの情報を一緒にまとめ、発行済みメッセージよりも長いメッセージ、すなわち顧客C3が、現在1株当たり150米ドルの値打ちがあるIBM株式を77株所有することを示すメッセージを生成する。
【0034】
周知のように、データベース内に記憶されたデータは、"タプル"と呼ばれる行に編成される。例えば、表1は3つのタプルを示す。
【表1】
データベースに記憶されたデータの例:
(会社)(顧客)(数量)
IBM C3 77
IBM C2 44
フォード C3 120
【0035】
第1のタプルは、顧客C3がIBM株式を77株所有することを示す。第2のタプルは、顧客C2がIBM株式を44株所有することを示す。第3のタプルは、顧客C3がフォード株式を120株所有することを示す。
【0036】
本発明の好適な実施例によれば、発行者11から送信される発行済みメッセージもまた、タプルに編成される。従って、発行済みメッセージのストリームが、一時的に順序付けされたタプルのリストである。例えば、表2は各々がタプルに編成された2つのメッセージのシーケンスを示す。
【表2】
メッセージ・ストリーム内のタプルの例:
(会社) (株価)
IBM 160
フォード 44
【0037】
第1のタプルは、IBM株式が現在1株当たり160米ドルの値打ちがあることを示す。第2のタプルは、フォード株式が現在1株当たり44米ドルの値打ちがあることを示す。
【0038】
ストリーム内の各メッセージ・タプルは、同一のフィールドのセット(例えば会社及び株価フィールド)を有し得る。或いは、ストリーム内の一部のメッセージ・タプルが異なるフィールドのセットを有し、フィールドがヌル値を割り当てられ、特定のメッセージ・タプルに対して定義されない。表2に示されるタプルは、単純なデータ(例えば数値または文字ストリング)を有するが、フィールドがアレイまたはネスト化タプルなどの、特定の構造を含み得る。
【0039】
発行済みメッセージ及びデータベース・データの両方がタプルとして編成されるので、発行済みメッセージ及びデータベース・データの所望の照合が、標準の関係式を用いて指定され得る。これに関しては、図2に示される関係メッセージ・ブローカ13の詳細ブロック図に関する後述の説明、及び後述の複数の例から明らかとなろう。
【0040】
図2では、発行者アプリケーションP1(11)が、タプルとして編成される発行済みメッセージのストリームをキュー・マネージャ12に送信し、キュー・マネージャがストリームを関係メッセージ・ブローカ13に転送し、そこでメッセージが処理され、特定の加入者に割り当てられ、その後、メッセージのストリームがキュー・マネージャ12に返送され、次に3つの加入者アプリケーションS1(15a)、S2(15b)及びS3(15c)に伝送される。関係メッセージ・ブローカ13は、ネットワークを形成するように相互接続される処理ノード21、22及び23のセットとして編成される。これらの処理ノードは全て同一のデータ処理マシン上に配置されるか、或いは複数の相互接続されるデータ処理マシンに渡って分散される。各ノードの処理機能は、以下で詳述される標準の関係言語による関係式により定義される。ここで、標準の関係言語とは、SQLなどの広く知られた関係言語を意味する。
【0041】
一旦ブローカ13に入力すると、発行済みメッセージのストリームがフィルタ・ノード21により処理され、発行済みメッセージの一部が取り除かれ(廃棄される)、特定のメッセージだけがフィルタを通過する。例えば、P1からの発行済み株式相場のストリームは一般に、非常に多くの会社からの株式相場を含む。多分、加入者S1、S2及びS3はIBM及びフォードからの株式にだけ関心がある。従って、フィルタ・ノード21はメッセージがIBMまたはフォードのいずれかの株価に関わる場合だけ、メッセージがフィルタを通過することを許可する。フィルタ・ノード21の機能は、非常に一般的な関係データベース操作(通常"セレクト(select)"と呼ばれる)であるので、関係データベース技術では公知である。フィルタ・ノード21の処理機能は、例えばフィルタを通過することを許可されるメッセージを正確に表すSQLセレクト・ステートメントを用いる関係式により定義される。
【0042】
フィルタ21の出力は結合演算子22の入力に接続され、これはフィルタリングされたメッセージ・ストリーム(IBM及びフォードの株式相場だけを含む)を、第1の入力として受け取る。結合ノード22はデータベース14から第2の入力を受信する。結合ノード22がフィルタ・ノード21の出力から発行済みメッセージを受信するとき、適切なデータベース・タプルがアクセスされ、データベース14から読出され、発行済みメッセージと結合される。結合ノード22の機能は、非常に一般的な関係データベース操作であるので、関係データベース技術では公知である。結合ノード22の処理機能は、例えばメッセージ・ストリームとデータベース・データとの結合方法を正確に表すSQL INNER JOINステートメントを用いる関係式により定義される。
【0043】
例えば、表1のデータベース・データを用い、IBM株価が現在1株当たり160米ドルであることを示す第1の発行済みメッセージ・タプル(表2の第1行目に示される)が、ブローカ13により受信されるとき、これはフィルタ・ノード21を通過する。なぜなら、このノードを定義する関係式は、メッセージ・タプルがIBMまたはフォードの株価を含む場合、それが通過することを許可するからである。このメッセージ・タプルが結合ノード22に達すると、結合ノードはこのメッセージ・タプルを、表1の第1行目に示されるタプルと照合し、表3の第1行目に示されるより長いタプルを提供する(これは顧客C3が、現在1株当たり160米ドルの値打ちがあるIBM株式を77株所有することを示す)。
【表3】
結合ノードの出力におけるメッセージ・ストリーム内のタプルの例:
(会社)(株価)(顧客)(数量)
IBM 160 C3 77
IBM 160 C2 44
フォード 44 C3 120
【0044】
この結合ノード22の出力は、次にキュー・マネージャ12に送信され、続いてS3のキューに含まれる。加入者S3(15c)は、情報を取り出す準備が整っているとき、いつでもメッセージをキューから取り出すことができる。図2のノード構造に従えば、S3はIBMまたはフォード株式を所有する全ての顧客に関するメッセージを受信する。S3は例えば、全ての顧客に関する株式所有データを獲得したい会計監査人である。
【0045】
この同一のメッセージ・タプル(表2の第1行目に示される)はまた、結合ノード22において、表1の第2行目に示されるデータベース・タプルと結合され、その結果、表3の第2行目に示されるより長いタプルが生成される(これは顧客C2が、現在1株当たり160米ドルの値打ちがあるIBM株式を44株所有することを示す)。この結合ノード22の出力が次にキュー・マネージャ12に送信され、続いてS3のキューに含まれる。加入者S3(15c)は、情報を取り出す準備が整っているとき、いつでもメッセージをキューから取り出すことができる。
【0046】
結合ノード22の出力はまた、キュー・マネージャ12に送信され、続いてS2のキューにも含まれる。特に、結合ノード22の出力は、顧客C2に関するメッセージ・タプルだけを通過するようにプログラムされたフィルタ・ノード23に送信される。フィルタ・ノード23の処理機能は、例えばフィルタを通過することを許可されるメッセージを正確に表すSQLセレクト・ステートメントを用いる関係式により定義される。表3の第2行目に示されるメッセージ・タプルは、C2に関連し、従ってフィルタ・ノード23を通過し、キュー・マネージャ12に送信され、続いてS2のキューに含まれる。加入者S2(15b)は情報を取り出す準備が整っているとき、いつでもメッセージをキューから取り出すことができる。
【0047】
第2の発行済みメッセージ・タプル(表2の第2行目に示される)がフィルタ・ノード21に達するとき、これはフィルタ・ノード21を通過することを許可される。なぜなら、メッセージ・タプルがフォード株価に関係するからである(特に、このメッセージ・タプルは、現フォード株価が1株当たり44米ドルであることを示す)。フィルタ・ノード21を一旦通過すると、このメッセージ・タプルは結合ノード22に進み、そこで表1の第3行目に示されるデータベース・タプルと結合され(なぜなら、これはフォードに関わる唯一のデータベース・タプルであるからである)、表3の第3行目に示されるより長いタプルが提供される(これは顧客C3が、現在1株当たり44米ドルの値打ちがあるフォード株式を120株所有することを示す)。結合ノード22から出力されるこのメッセージ・タプルが、次にキュー・マネージャ12に送信され、続いてS3のキューに含まれる。加入者S3(15c)は、情報を取り出す準備が整っているとき、いつでもメッセージをキューから取り出すことができる。結合ノード22から出力されるこのメッセージ・タプル(顧客C3に関係する)は、フィルタ・ノード23を通過することを許可されない。なぜなら、フィルタ・ノード23はメッセージ・タプルが顧客C2に関係する場合のみ、それが通過することを許可するからである。
【0048】
加入者S1はIBM及びフォード株式に非常に関心があるが、いずれの会社の株式も購入しておらず、いずれの購入も計画していないと仮定する。例えば、S1は、IBM及びフォード株式の現株価にもとづき、企業意思を下す金融仲介者である。この場合、結合ノード22に関わる必要はない。なぜなら、データベース14はS1にとって望ましい情報を含まないからである。従って、第2の出力がフィルタ・ノード21に提供され、フィルタ・ノード21が通過を許可する全ての発行済みメッセージ・タプル(IBM及びフォード株の相場に関する株価)が、この第2の出力から出力される。メッセージは次にキュー・マネージャ12に転送され、続いてS1のキューに含まれる。加入者S1(15a)は、情報を取り出す準備が整っているとき、いつでもメッセージをキューから取り出すことができる。
【0049】
ブローカ13の各ノードの機能は、もっぱらデータベース特有の用語により定義される。各ノードは、SQLなどの標準の関係言語により表される関係式を有する。1つのノードの関係式の出力は、隣接ノードの関係式への入力として提供されるメッセージ・タプルのストリームである。フィルタ・ノード21及び23は、データベース関係代数の共通のセレクト機能を使用する。結合ノード22は、データベース関係代数の共通のINNER JOIN関数を使用する。データベース14と発行済みメッセージとの間で発生する照合は、"結合"演算子として詳述されたが、データベース・データを発行済みメッセージと照合するために、"共通部分"、"計算"または"合併"演算などの、他の多くの関係代数演算も実現され得る。
【0050】
ノードの機能を定義するために使用され得る関係式の幾つかの例は、次のように与えられる。
【0051】
例1:フィルタリング
第1のフィルタ・ノード(21)の例は、SQLにより次のように定義される。
SELECT *
FROM Stock
WHERE Company="IBM" OR Company="Ford"
【0052】
例2:結合
ノード21からの出力ストリームが"Q21"と命名され、顧客保有情報のデータベース関係が、"Holding"と命名されると仮定する。結合ノード(22)は、次のように定義される。
SELECT Q21.*, Customer, Quantity
FROM Q21 INNER JOIN Holding
ON Q21.Company = Holding.Company
【0053】
例3:結合依存フィルタリング
結合ノードの出力ストリームがQ22の場合、結合から出力される顧客フィールドに依存するノード23のフィルタが、次のように表される。
SELECT *
FROM Q22
WHERE Customer="C2"
【0054】
例4:計算
各トランザクションにおける合計値が、次のように計算され得る。
SELECT *, Price*Quantity AS TotalValue
FROM Q22
【0055】
例5:否定フィルタリング(差)
加入者は、ローカル・ポリシが株式の取引を禁止する会社に関する株式情報を見たいと思わない。こうした会社のリストが、データベースの禁止関係(Proscribed relation)内に保持される。加入はSQL定義により、次のように生成される。
SELECT *
FROM Stock
WHERE Company NOT IN
(SELECT Company FROM Proscribed)
【0056】
例6:アーカイブ
管理者は、入力ストリーム"Stock"のメッセージ・タプルを関係に挿入することにより、日付スタンプ付きアーカイブをセットアップする。
INSERT INTO StockArchive
SELECT *, Time() as TimeAudit
FROM Stock
【0057】
例7:更新
管理者は、データベース・テーブル"StockLatest"内の各会社の最新の株価を追跡したいと思う。
UPDATE StockLatest INNER JOIN Stock
ON StockLatest.Company=Stock.Company
SET StockLatest.Price=Stock.Price, StockLatest.LogTime=Now();
【0058】
例8:複合式
SQLは幾つかの計算を1つの式に結合することを可能にする。次の式は、結合、フィルタ及び計算を結合する。
SELECT Q21.*, Customer, Quantity, Price*Quantity as TotalValue
FROM Q21 INNER JOIN Holding
ON Q21.Company=Holding.Company
WHERE Customer='C2'
【0059】
一旦ブローカ・システムが設計されると、追加の機能を加える変更が非常に容易になる。例えば、計算ノード24(図3に示される)が結合ノード22の出力に追加され、結果のメッセージが、各顧客の関連会社の株式所有の合計現在値に相当する別のフィールドを含む。すなわち、計算ノード24が株価を顧客が所有する株数と乗算し、積を別のフィールド("合計値"と呼ばれる)に提供する。従って、表4は次のようになる。
【表4】
(会社)(株価)(顧客)(数量)(合計値)
IBM 160 C3 77 12320
IBM 160 C2 44 7040
フォード 44 C3 120 5280
【0060】
また、ノードの機能を定義する関係式を変更することにより、既存のノード(例えばノード22)が容易に変更され得る。結合ノード22及びフィルタ・ノード21及び23が全て、相互接続されるノードのネットワークにシームレスに統合され、メッセージ・タプルのストリームがノード間で転送されるので、任意のノードの関係式が容易に一様の様式で変更され得る。(上述の従来技術の場合のように、)任意のノードのために、異なるタイプのプログラミングに切り替える必要はない。
【0061】
ブローカの機能はデータベース特有の用語で実現されるので、関係データベース管理システムをプログラムするために使用可能な標準のビジュアル・ツールを用いて、ブローカ13の機能ユニットを変更することが非常に容易になる。例えば、マイクロソフト社のAccess製品が、こうしたビジュアル・ツールを提供する。関係データベース・プログラマは、既にこれらのツールに精通している。従って、データベース・プログラマは、ブローカ13のノード(例えばノード21、22、23)の構造を、容易にセットアップすることができる。例えば、顧客要求により結合ノードが変更されなければならない場合、データベース・プログラマは新たなプログラミング技術を習得する必要無しに、これを容易に実行でき、従ってシステム開発費用を多大に低減することができる。
【0062】
好適な実施例では、ノードの各々が関係式により定義されるが、ノードのあるものは他の方法でも実現され得る。しかしながら、勿論、こうした場合には本発明の利点は低減する。
【0063】
本発明の好適な実施例としての、関係メッセージ・ブローカの付加価値発行/加入アプリケーションについて述べてきた。これは本発明の非常に有用な環境である。しかしながら、本発明が有効となる他の多くの環境が存在する。それらには作業フロー・ストリームが含まれ、この場合、その時どの受信者が多忙でないかに従い、伝送メッセージが複数の受信者の任意の人に転送され得る。作業フロー環境では、ブローカがデータベース14をアクセスして、各受信者に関するデータを判断し、作業要求メッセージを割り当てられるべき受信者に関する決定を下す。
【0064】
本発明の1実施例は、インターネットに接続されるサーバ・コンピュータに、関係メッセージ・ブローカ機能を提供し、それにより発行者及び加入者アプリケーションがクライアントとして、ワールド・ワイド・ウェブ・ブラウザ・アプリケーションを介して、インターネット・サーバをアクセスする。このようにして、ブローカ13は、発行済みメッセージが加入者が(ブラウザ・アプリケーションを用い、インターネット・サーバと連絡することにより)以前に定めた基準に合致するとき、それらをインターネットを介して、加入者15のウェブ・ブラウザ・アプリケーションに転送する。
【0065】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0066】
(1)送信者アプリケーションからメッセージを受信し、受信されたメッセージを処理し、処理されたメッセージの転送先の受信者アプリケーションを決定するメッセージ・ブローカ・データ処理装置であって、
前記送信者アプリケーションから、少なくとも1つのフィールドを有するタプルとして編成されるメッセージの入来ストリームを受信する手段と、
前記メッセージの入来ストリームを、少なくとも1つのフィールドを有するタプルとして編成し、データベースに記憶されるデータベース・データと照合する手段と、
前記メッセージのストリームを処理し、結果のメッセージのストリームを少なくとも1つの前記受信者アプリケーションに転送する手段と
を含む、装置。
(2)前記受信する手段、前記照合する手段、及び前記処理する手段が、相互接続されてネットワークを形成する複数の処理ノードを利用し、前記ノードの各々の処理機能が、標準の関係言語による関係式により定義される、前記(1)記載の装置。
(3)メッセージ・タプルのストリームが前記複数のノード間で転送される、前記(2)記載の装置。
(4)前記ネットワーク内の2つの隣接ノードであるノード1及びノード2に対して、前記ノード1の機能を定義する関係式の出力が、前記ノード2の機能を定義する関係式の入力により、メッセージ・タプルのストリームとして解釈される、前記(3)記載の装置。
(5)前記受信する手段がキュー・マネージャと通信する、前記(1)記載の装置。
(6)前記送信者アプリケーションが発行者であり、前記受信者アプリケーションが加入者である、前記(1)記載の装置。
(7)前記標準の関係言語が構造化照会言語である、前記(2)記載の装置。(8)ビジュアル・データベース・ツールが、前記ノードの機能を定義する前記関係式を生成するために使用される、前記(2)記載の装置。
(9)2つの前記ノード間に存在する前記メッセージ・タプルのストリーム内の各メッセージ・タプルが、同一のフィールドのセットを有する、前記(3)記載の装置。
(10)2つの前記ノード間に存在する前記メッセージ・タプルのストリーム内において、前記ストリーム内の各メッセージ・タプルが必ずしも同一のフィールドのセットを有さない、前記(3)記載の装置。
(11)前記ノードの機能を定義する前記関係式内で使用され、前記ノードに入力される前記ストリームの特定のメッセージ・タプル内で定義されないフィールドが、ヌル値を割り当てられる、前記(10)記載の装置。
(12)前記装置が1つのデータ処理ユニット上に含まれる、前記(1)記載の装置。
(13)前記装置が複数の相互接続されるデータ処理ユニット上に含まれる、前記(1)記載の装置。
(14)送信者アプリケーションからメッセージを受信し、受信されたメッセージを処理し、処理されたメッセージの転送先の受信者アプリケーションを決定するメッセージ・ブローカ・データ処理方法であって、
前記送信者アプリケーションから、少なくとも1つのフィールドを有するタプルとして編成されるメッセージの入来ストリームを受信するステップと、
前記メッセージの入来ストリームを、少なくとも1つのフィールドを有するタプルとして編成し、データベースに記憶されるデータベース・データと照合するステップと、
前記メッセージのストリームを処理し、結果のメッセージのストリームを少なくとも1つの前記受信者アプリケーションに転送するステップと
を含む、方法。
(15)前記受信するステップ、前記照合するステップ、及び前記処理するステップが、相互接続されてネットワークを形成する複数の処理ノードを利用し、前記ノードの各々の処理機能が、標準の関係言語による関係式により定義される、前記(14)記載の方法。
(16)メッセージ・タプルのストリームが前記複数のノード間で転送される、前記(15)記載の方法。
(17)前記ネットワーク内の2つの隣接ノードであるノード1及びノード2に対して、前記ノード1の機能を定義する関係式の出力が、前記ノード2の機能を定義する関係式の入力により、メッセージ・タプルのストリームとして解釈される、前記(16)記載の方法。
(18)前記受信するステップがキュー・マネージャと通信する、前記(14)記載の方法。
(19)前記送信者アプリケーションが発行者であり、前記受信者アプリケーションが加入者である、前記(14)記載の方法。
(20)前記標準の関係言語が構造化照会言語である、前記(15)記載の方法。
(21)ビジュアル・データベース・ツールが、前記ノードの機能を定義する前記関係式を生成するために使用される、前記(15)記載の方法。
(22)2つの前記ノード間に存在する前記メッセージ・タプルのストリーム内の各メッセージ・タプルが、同一のフィールドのセットを有する、前記(16)記載の方法。
(23)2つの前記ノード間に存在する前記メッセージ・タプルのストリーム内において、前記ストリーム内の各メッセージ・タプルが必ずしも同一のフィールドのセットを有さない、前記(16)記載の方法。
(24)前記ノードの機能を定義する前記関係式内で使用され、前記ノードに入力される前記ストリームの特定のメッセージ・タプル内で定義されないフィールドが、ヌル値を割り当てられる、前記(23)記載の方法。
(25)コンピュータ読出し可能記憶媒体上に記憶され、データ処理装置上で実行されると、送信者アプリケーションからメッセージを受信し、受信されたメッセージを処理し、処理されたメッセージの転送先の受信者アプリケーションを決定するメッセージ・ブローカ・データ処理方法を実行するコンピュータ・プログラム製品であって、
前記送信者アプリケーションから、少なくとも1つのフィールドを有するタプルとして編成されるメッセージの入来ストリームを受信するステップと、
前記メッセージの入来ストリームを、少なくとも1つのフィールドを有するタプルとして編成し、データベースに記憶されるデータベース・データと照合するステップと、
前記メッセージのストリームを処理し、結果のメッセージのストリームを少なくとも1つの前記受信者アプリケーションに転送するステップと
を含む、製品。
(26)前記受信するステップ、前記照合するステップ、及び前記処理するステップが、相互接続されてネットワークを形成する複数の処理ノードを利用し、前記ノードの各々の処理機能が、標準の関係言語による関係式により定義される、前記(25)記載の製品。
(27)メッセージ・タプルのストリームが前記複数のノード間で転送される、前記(26)記載の製品。
(28)前記ネットワーク内の2つの隣接ノードであるノード1及びノード2に対して、前記ノード1の機能を定義する関係式の出力が、前記ノード2の機能を定義する関係式の入力により、メッセージ・タプルのストリームとして解釈される、前記(27)記載の製品。
(29)前記受信するステップがキュー・マネージャと通信する、前記(25)記載の製品。
(30)前記送信者アプリケーションが発行者であり、前記受信者アプリケーションが加入者である、前記(25)記載の製品。
(31)前記標準の関係言語が構造化照会言語である、前記(26)記載の製品。
(32)ビジュアル・データベース・ツールが、前記ノードの機能を定義する前記関係式を生成するために使用される、前記(26)記載の製品。
(33)2つの前記ノード間に存在する前記メッセージ・タプルのストリーム内の各メッセージ・タプルが、同一のフィールドのセットを有する、前記(27)記載の製品。
(34)2つの前記ノード間に存在する前記メッセージ・タプルのストリーム内において、前記ストリーム内の各メッセージ・タプルが必ずしも同一のフィールドのセットを有さない、前記(27)記載の製品。
(35)前記ノードの機能を定義する前記関係式内で使用され、前記ノードに入力される前記ストリームの特定のメッセージ・タプル内で定義されないフィールドが、ヌル値を割り当てられる、前記(34)記載の製品。
(36)前記メッセージ・ブローカ・データ処理装置がインターネット・サーバ上に配置され、前記送信者アプリケーション及び前記受信者アプリケーションの少なくとも1つが、ワールド・ワイド・ウェブ・ブラウザ・アプリケーションを使用する、前記(1)記載の装置。
(37)前記メッセージ・ブローカ・データ処理装置がインターネット・サーバ上に配置され、前記送信者アプリケーション及び前記受信者アプリケーションの少なくとも1つが、ワールド・ワイド・ウェブ・ブラウザ・アプリケーションを使用する、前記(14)記載の方法。
(38)前記メッセージ・ブローカ・データ処理装置がインターネット・サーバ上に配置され、前記送信者アプリケーション及び前記受信者アプリケーションの少なくとも1つが、ワールド・ワイド・ウェブ・ブラウザ・アプリケーションを使用する、前記(25)記載の製品。
(39)前記(1)記載の装置を用い、情報サービスを顧客に提供する方法であって、
a)前記顧客が受信したいメッセージに関する基準を、前記顧客から受信するステップと、
b)発行者から発行済みメッセージを受信するステップと、
c)前記発行済みメッセージを、前記顧客から受信された前記基準と比較するステップと、
d)前記顧客から受信された前記基準に合う前記発行済みメッセージを、前記顧客に転送するステップと
を含む、方法。
【図面の簡単な説明】
【図1】本発明の好適な実施例に従う関係メッセージ・ブローカの基本セットアップを示すブロック図である。
【図2】本発明の好適な実施例に従う関係メッセージ・ブローカに関する詳細を示すブロック図である。
【図3】図2の関係メッセージ・ブローカの変更バージョンを示すブロック図である。
【符号の説明】
11 発行者データ処理ユニット
12 キュー・マネージャ
13 関係メッセージ・ブローカ
14 データベース
15 加入者データ処理ユニット
21、23 フィルタ・ノード
22 結合ノード
Claims (15)
- 送信者アプリケーションからメッセージを受信し、受信されたメッセージを処理し、処理されたメッセージの転送先の受信者アプリケーションを決定するメッセージ・ブローカ・データ処理装置であって、
前記送信者アプリケーションから、複数のフィールドを有するタプルとして編成されるメッセージの入来ストリームを受信する手段と、
データベースに複数のフィールドを有するタプルとして編成され、記憶されたデータと、前記入来ストリームとを照合する手段と、
受信した前記メッセージの入来ストリームに対して前記受信者アプリケーションそれぞれに応じた処理を実行し、当該処理が前記照合する手段による照合結果と結合処理を行う場合に、前記照合する手段による照合結果との結合処理を実行する処理手段と、
前記処理手段による処理結果のメッセージのストリームを、前記受信者アプリケーションが情報を取出す準備が整っているときに少なくとも1つの前記受信者アプリケーションに転送する手段とを含み、
前記処理手段が、相互接続されてネットワークを形成する複数の処理ノードを利用して処理を実行し、前記処理ノードの各々の処理機能が、標準の関係言語による関係式により定義される、装置。 - メッセージ・タプルのストリームが前記複数の処理ノード間で転送される、請求項1記載の装置。
- さらにキュー・マネージャを含み、前記転送する手段が前記処理手段からの処理結果を、前記受信者アプリケーションが取出すため、前記キュー・マネージャの出力キューに配置する、請求項1記載の装置。
- 前記標準の関係言語が構造化照会言語である、請求項1記載の装置。
- ビジュアル・データベース・ツールが、前記処理ノードの機能を定義する前記関係式を生成するために使用される、請求項1記載の装置。
- 前記装置が1つのデータ処理ユニット上に含まれる、請求項1記載の装置。
- 前記装置が複数の相互接続されるデータ処理ユニット上に含まれる、請求項1記載の装置。
- 前記メッセージ・ブローカ・データ処理装置がインターネット・サーバ上に配置され、前記送信者アプリケーション及び前記受信者アプリケーションの少なくとも1つが、ワールド・ワイド・ウェブ・ブラウザ・アプリケーションを使用する、請求項1に記載の装置。
- 送信者アプリケーションからメッセージを受信し、受信されたメッセージを処理し、処理されたメッセージの転送先の受信者アプリケーションを決定するメッセージ・ブローカ・データ処理方法であって、
前記送信者アプリケーションから、複数のフィールドを有するタプルとして編成されるメッセージの入来ストリームを受信するステップと、
データベースに複数のフィールドを有するタプルとして編成され、記憶されたデータと、前記入来ストリームとを照合するステップと、
受信した前記メッセージの入来ストリームに対して前記受信者アプリケーションそれぞれに応じた処理を実行し、当該処理が前記照合するステップでの照合結果と結合処理を行 う場合に前記照合結果と結合処理する処理ステップと、
前記処理ステップでの処理結果のメッセージのストリームを、前記受信者アプリケーションが情報を取出す準備が整っているときに少なくとも1つの前記受信者アプリケーションに転送するステップとを含み、
相互接続されてネットワークを形成する複数の処理ノードを利用して、前記処理ステップの処理が実行され、前記処理ノードの各々の処理機能が、標準の関係言語による関係式により定義される、方法 - メッセージ・タプルのストリームが前記複数の処理ノード間で転送される、請求項9記載の方法。
- 前記受信するステップが、キュー・マネージャが前記送信者アプリケーションからの前記メッセージを受信して前記メッセージを前記処理ステップに渡すステップを含み、
前記転送するステップが前記処理ステップからの処理結果を、前記受信者アプリケーションが取出すため、前記キュー・マネージャの出力キューに配置するステップを含む、請求項9記載の方法。 - 前記標準の関係言語が構造化照会言語である、請求項9記載の方法。
- ビジュアル・データベース・ツールが、前記処理ノードの機能を定義する前記関係式を生成するために使用される、請求項9記載の方法。
- 前記方法がインターネット・サーバ上に実現され、前記送信者アプリケーション及び前記受信者アプリケーションの少なくとも1つが、ワールド・ワイド・ウェブ・ブラウザ・アプリケーションを使用する、請求項9に記載の方法。
- 請求項9〜14のいずれか1項に記載の方法を、コンピュータに実行させるプログラムを記録した、コンピュータ読取り可能な記録媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9809020.2 | 1998-04-29 | ||
GBGB9809020.2A GB9809020D0 (en) | 1998-04-29 | 1998-04-29 | Message broker apparatus method and computer program product |
GB9811802A GB2336920A (en) | 1998-04-29 | 1998-06-03 | Relational message broker adds value to published information |
GB9811802.9 | 1998-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000029907A JP2000029907A (ja) | 2000-01-28 |
JP3892987B2 true JP3892987B2 (ja) | 2007-03-14 |
Family
ID=26313551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11051599A Expired - Fee Related JP3892987B2 (ja) | 1998-04-29 | 1999-04-19 | メッセージ・ブローカ・データ処理装置、方法、及び記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6510429B1 (ja) |
EP (1) | EP0953904A3 (ja) |
JP (1) | JP3892987B2 (ja) |
CN (1) | CN100414529C (ja) |
CA (1) | CA2265334C (ja) |
IL (1) | IL127787A (ja) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718332B1 (en) * | 1999-01-04 | 2004-04-06 | Cisco Technology, Inc. | Seamless importation of data |
US6851115B1 (en) * | 1999-01-05 | 2005-02-01 | Sri International | Software-based architecture for communication and cooperation among distributed electronic agents |
US6470318B1 (en) * | 1999-03-01 | 2002-10-22 | Lisabeth H. Coakley | Computer-implemented trademark brokerage network |
US9380414B2 (en) | 2000-06-27 | 2016-06-28 | Ortiz & Associates Consulting, Llc | Systems, methods and apparatuses for brokering data between wireless devices, servers and data rendering devices |
GB2366160B (en) * | 2000-08-09 | 2004-03-17 | Michaelhouse Man Ltd | Information routing |
AUPR066300A0 (en) * | 2000-10-09 | 2000-11-02 | A & Mt Projects Pty Limited | The use of wireless application protocol for making trading decisions and executing transactions in real time |
US7062749B2 (en) * | 2000-12-15 | 2006-06-13 | Promenix, Inc. | Measuring, monitoring and tracking enterprise communications and processes |
US20020169863A1 (en) * | 2001-05-08 | 2002-11-14 | Robert Beckwith | Multi-client to multi-server simulation environment control system (JULEP) |
US6971001B1 (en) * | 2001-05-17 | 2005-11-29 | Accenture Global Services Gmbh | General and reusable components for defining net-centric application program architectures |
US8019807B2 (en) * | 2001-05-23 | 2011-09-13 | Wireless Enterprise Solutions Technology Limited | Method and system for communication between computer systems |
US20030037102A1 (en) * | 2001-08-14 | 2003-02-20 | Philippe Eckert | Message broker |
US7237037B2 (en) * | 2001-10-01 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Combined message broker |
US7853643B1 (en) | 2001-11-21 | 2010-12-14 | Blue Titan Software, Inc. | Web services-based computing resource lifecycle management |
US7296061B2 (en) * | 2001-11-21 | 2007-11-13 | Blue Titan Software, Inc. | Distributed web services network architecture |
US20220286415A1 (en) * | 2001-11-30 | 2022-09-08 | Aurea Software, Inc. | Dynamic Subscription and Message Routing on a Topic Between Publishing Nodes and Subscribing Nodes |
US7406537B2 (en) * | 2002-11-26 | 2008-07-29 | Progress Software Corporation | Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes |
US20030125993A1 (en) * | 2001-12-27 | 2003-07-03 | Ho Chi Fai | Method and system for event distribution |
US20040002988A1 (en) * | 2002-06-26 | 2004-01-01 | Praveen Seshadri | System and method for modeling subscriptions and subscribers as data |
US20040002958A1 (en) * | 2002-06-26 | 2004-01-01 | Praveen Seshadri | System and method for providing notification(s) |
US7177859B2 (en) * | 2002-06-26 | 2007-02-13 | Microsoft Corporation | Programming model for subscription services |
US7698276B2 (en) * | 2002-06-26 | 2010-04-13 | Microsoft Corporation | Framework for providing a subscription based notification system |
US7058632B1 (en) * | 2002-06-27 | 2006-06-06 | Unisys Corporation | Method and system for facilitating execution of a user-inputted message in a client-server database network |
US7334019B2 (en) * | 2002-07-18 | 2008-02-19 | Ebay Inc. | Delivering messages to message servers |
US20040068479A1 (en) * | 2002-10-04 | 2004-04-08 | International Business Machines Corporation | Exploiting asynchronous access to database operations |
AU2003301374A1 (en) * | 2002-10-17 | 2004-05-04 | Tibco Software Inc. | Method and system to communicate messages in a computer network |
US7349980B1 (en) * | 2003-01-24 | 2008-03-25 | Blue Titan Software, Inc. | Network publish/subscribe system incorporating Web services network routing architecture |
US7010538B1 (en) | 2003-03-15 | 2006-03-07 | Damian Black | Method for distributed RDSMS |
US7669177B2 (en) | 2003-10-24 | 2010-02-23 | Microsoft Corporation | System and method for preference application installation and execution |
US20050210109A1 (en) * | 2004-03-22 | 2005-09-22 | International Business Machines Corporation | Load balancing mechanism for publish/subscribe broker messaging system |
US20050251556A1 (en) * | 2004-05-07 | 2005-11-10 | International Business Machines Corporation | Continuous feedback-controlled deployment of message transforms in a distributed messaging system |
US20050251811A1 (en) * | 2004-05-07 | 2005-11-10 | International Business Machines Corporation | Distributed messaging system supporting stateful |
US7886180B2 (en) * | 2004-05-14 | 2011-02-08 | International Business Machines Corporation | Recovery in a distributed stateful publish-subscribe system |
US7525964B2 (en) * | 2004-11-03 | 2009-04-28 | International Business Machines Corporation | Mechanism for delivering messages to competing consumers in a point-to-point system |
CN101069384B (zh) * | 2004-12-09 | 2010-05-05 | 国际商业机器公司 | 在网络环境中管理基于消息的工作负荷的方法和系统 |
US8028085B2 (en) * | 2005-06-03 | 2011-09-27 | Microsoft Corporation | Optimizing message transmission and delivery in a publisher-subscriber model |
US8554846B2 (en) * | 2005-09-27 | 2013-10-08 | Oracle International Corporation | System and method for providing a messaging kernel |
US20070162421A1 (en) * | 2006-01-12 | 2007-07-12 | Sybase, Inc. | Real-Time Messaging System for Bridging RDBMSs and Message Buses |
US20070297327A1 (en) * | 2006-06-27 | 2007-12-27 | International Business Machines Corporation | Method for applying stochastic control optimization for messaging systems |
US8527592B2 (en) | 2006-10-31 | 2013-09-03 | Watchguard Technologies, Inc. | Reputation-based method and system for determining a likelihood that a message is undesired |
JP4577422B2 (ja) * | 2008-07-14 | 2010-11-10 | ソニー株式会社 | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム |
US8977673B2 (en) | 2008-08-29 | 2015-03-10 | Red Hat, Inc. | Information on availability of services provided by publish-subscribe service |
US9077750B2 (en) * | 2009-02-27 | 2015-07-07 | Red Hat, Inc. | Using forums as a message transport in an enterprise service bus |
US8489130B2 (en) * | 2009-11-19 | 2013-07-16 | At&T Mobility Ii Llc | System and method for messaging content delivery |
CN103562890B (zh) * | 2011-05-18 | 2016-01-20 | 国际商业机器公司 | 在发布/订阅消息系统中管理消息订阅的方法和系统 |
US11185784B2 (en) | 2015-10-08 | 2021-11-30 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
US10099140B2 (en) | 2015-10-08 | 2018-10-16 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
FR3049798B1 (fr) * | 2016-03-31 | 2018-03-23 | Peugeot Citroen Automobiles Sa | Systeme de commande d’un vehicule a distance |
US10372887B2 (en) * | 2016-05-11 | 2019-08-06 | Sap Se | Broker-based messaging through SQL |
JP2019186771A (ja) * | 2018-04-11 | 2019-10-24 | 富士通株式会社 | 情報処理装置、分散処理プログラムおよび分散処理システム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
JPS61208124A (ja) * | 1985-03-12 | 1986-09-16 | Oki Electric Ind Co Ltd | 分散デ−タベ−ス管理システムにおける結合演算処理方式 |
EP0490636B1 (en) * | 1990-12-14 | 1998-09-09 | Sun Microsystems, Inc. | Method and apparatus for interprocess message switching |
SE501433C2 (sv) * | 1993-06-23 | 1995-02-13 | Ellemtel Utvecklings Ab | Sätt att uppnå dataaccess i en primärminnesbaserad databas |
US5530939A (en) * | 1994-09-29 | 1996-06-25 | Bell Communications Research, Inc. | Method and system for broadcasting and querying a database using a multi-function module |
AU4373196A (en) * | 1994-12-13 | 1996-07-03 | Fs Holdings, Inc. | A system for receiving, processing, creating, storing and disseminating investment information |
US6058378A (en) * | 1995-02-22 | 2000-05-02 | Citibank, N.A. | Electronic delivery system and method for integrating global financial services |
EP0733971A3 (en) * | 1995-03-22 | 1999-07-07 | Sun Microsystems, Inc. | Method and apparatus for managing connections for communication among objects in a distributed object system |
US5710924A (en) * | 1995-04-24 | 1998-01-20 | Motorola, Inc. | Method of routing messages within a multi-processing software system |
US5649186A (en) * | 1995-08-07 | 1997-07-15 | Silicon Graphics Incorporated | System and method for a computer-based dynamic information clipping service |
EP0759591B1 (en) * | 1995-08-18 | 2003-01-08 | International Business Machines Corporation | Event management service |
US5873084A (en) | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
US5878419A (en) * | 1996-01-19 | 1999-03-02 | Novell, Inc. | Method for creating a relational description of a formatted transaction |
US6233575B1 (en) * | 1997-06-24 | 2001-05-15 | International Business Machines Corporation | Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values |
EP0959416A3 (en) | 1998-05-08 | 2005-08-10 | International Business Machines Corporation | Using database query technology for message subscriptions in messaging systems |
-
1998
- 1998-10-02 US US09/165,945 patent/US6510429B1/en not_active Expired - Lifetime
- 1998-12-29 IL IL12778798A patent/IL127787A/xx not_active IP Right Cessation
-
1999
- 1999-03-15 CA CA002265334A patent/CA2265334C/en not_active Expired - Fee Related
- 1999-03-26 CN CNB991043898A patent/CN100414529C/zh not_active Expired - Lifetime
- 1999-04-01 EP EP99302588A patent/EP0953904A3/en not_active Ceased
- 1999-04-19 JP JP11051599A patent/JP3892987B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6510429B1 (en) | 2003-01-21 |
CA2265334C (en) | 2005-04-26 |
EP0953904A2 (en) | 1999-11-03 |
IL127787A0 (en) | 1999-10-28 |
CA2265334A1 (en) | 1999-10-29 |
EP0953904A3 (en) | 2006-06-28 |
IL127787A (en) | 2003-02-12 |
JP2000029907A (ja) | 2000-01-28 |
CN1233801A (zh) | 1999-11-03 |
CN100414529C (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3892987B2 (ja) | メッセージ・ブローカ・データ処理装置、方法、及び記録媒体 | |
JP4856541B2 (ja) | データベースの自動的および動的な提供 | |
US9213988B2 (en) | Electronic commerce infrastructure system | |
US8458275B2 (en) | System and method for message processing and routing | |
US6157928A (en) | Apparatus and system for an adaptive data management architecture | |
US10521853B2 (en) | Electronic sales system | |
US8700506B2 (en) | Distributed commerce system | |
US7051334B1 (en) | Distributed extract, transfer, and load (ETL) computer method | |
US7444344B2 (en) | Method to increase subscription scalability | |
JP4937944B2 (ja) | ネットワーク化された商業的やり取りの管理方法 | |
WO2001025965A2 (en) | Data management for netcentric computing systems | |
JP2003520363A (ja) | 部分的に複製されるデータベースシステムのネットワークにおけるデータメンテナンス方法 | |
JP2001043248A (ja) | データベース技術による通知システム及び発行、購読処理方法 | |
US20020059360A1 (en) | Local-file-transfer method and local-file-transfer system for client-server system | |
US20050283455A1 (en) | Processing of data sets in a computer network | |
KR100324978B1 (ko) | 메시지 중개인 장치, 방법 및 컴퓨터 프로그램 제품 | |
US7793234B1 (en) | Method and tool for graphically defining an expression | |
US7127522B1 (en) | Message multicast method and computer | |
JP3801680B2 (ja) | 分散処理システムにおけるデータベースの情報収集システム | |
JP3055498B2 (ja) | データベース検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061107 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091215 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131215 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |