JP2000029907A - メッセ―ジ・ブロ―カ・デ―タ処理装置、方法及びコンピュ―タ・プログラム製品 - Google Patents
メッセ―ジ・ブロ―カ・デ―タ処理装置、方法及びコンピュ―タ・プログラム製品Info
- Publication number
- JP2000029907A JP2000029907A JP11110515A JP11051599A JP2000029907A JP 2000029907 A JP2000029907 A JP 2000029907A JP 11110515 A JP11110515 A JP 11110515A JP 11051599 A JP11051599 A JP 11051599A JP 2000029907 A JP2000029907 A JP 2000029907A
- Authority
- JP
- Japan
- Prior art keywords
- message
- stream
- node
- nodes
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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)
- Finance (AREA)
- General Engineering & Computer Science (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)
Abstract
置に作業の一部を実行するように要求するクライアント
/サーバ・コンピュータ・システムを提供すること。 【解決手段】 送信者アプリケーションからメッセージ
を受信し、受信されたメッセージを処理し、処理された
メッセージの転送先の受信者アプリケーションを決定す
るために使用される、メッセージ・ブローカ・データ処
理装置を提供する。この装置は、送信者アプリケーショ
ンから、少なくとも1つのフィールドを有するタプルと
して編成されるメッセージの入来ストリームを受信する
手段と、メッセージの入来ストリームを、少なくとも1
つのフィールドを有するタプルとして編成し、データベ
ースに記憶されるデータベース・データと照合する手段
と、メッセージのストリームを処理し、結果のメッセー
ジのストリームを少なくとも1つの受信者アプリケーシ
ョンに転送する手段とを含む。
Description
バ("分散"としても知られる)・コンピュータの分野に
関して、そこでは例えばあるコンピュータ装置("クラ
イアント")が別のコンピュータ装置("サーバ")に、
クライアントの作業の一部を実行するように要求する。
は、過去数年の間に、情報技術の世界において、益々重
要となった。このタイプの分散コンピュータは、あるマ
シン上で実行される1つのプロセス("クライアント")
が、その作業の一部を、例えばその作業を実行する上で
より適した、別のマシン上で実行される別のプロセ
ス("サーバ")に委任することを可能にする。クライア
ント及びサーバはまた、同一の物理マシン上で実行され
る2つのプロセスであってもよい。
術は、今日のクライアント/サーバ・コンピュータ・ネ
ットワークにおいて、益々普及するようになった。この
技術は、クライアント・コンピュータ・システムがサー
バ・コンピュータ・システムと通信することを可能にす
る。このことは、たとえこれら2つのシステムが、オペ
レーティング・システム、データ形式及び通信プロトコ
ルに関して、互いに極めて異なる場合にも当てはまる。
更に、この技術の非同期の性質により、クライアントは
サーバにメッセージを送信でき、サーバはメッセージを
キューに記憶し、後にメッセージを処理することによ
り、それに応答することができる。これはクライアント
とサーバとがリアルタイムに対話する必要がある(例え
ばクライアントが他のタスクを続ける前に、サーバから
の応答を待機する)、同期クライアント/サーバ・モデ
ルとは、極めて異なる。
待ち行列製品が、"Messaging and Queuing Using the M
QI"、B.Blakely、H.Harris&R.Lewis、McGraw-Hill、
1994、及びIBMから提供される次の刊行物、すなわ
ち"An Introduction to Messaging and Queuing"(IBM
Document number GC33-0805-00)及び"MQSeries - Mess
age Queue Interface Technical Reference"(IBM Docu
ment number SC33-0850-01)で述べられている。ここで
IBM及びMQSeriesは、IBMの商標である。IB
MのMQSeriesメッセージング・ソフトウェア製品
は、トランザクション上のメッセージ支援を提供し、た
とえシステムまたは通信障害の場合であっても、1度限
りのメッセージ転送を保証するメッセージング・プロト
コルに従い、論理作業単位内のメッセージを同期する。
MQSeries製品は、メッセージが受信者システムによ
り安全に記憶されたことが確認されるまで、送信者シス
テム上の記憶装置から最終的にメッセージを消去しない
ことにより、及び高性能な回復機構の使用により保証さ
れた転送を提供する。成功記憶の確認時のメッセージの
転送の約束に先立ち、送信者システムの記憶装置からの
メッセージの消去と、受信者システムの記憶装置への挿
入の両方が、"不確かに(in doubt)"保守され、障害の
場合には、アトミックに破られる。このメッセージ伝送
プロトコル及び関連トランザクションの概念及び回復機
構が、国際特許出願第WO95/10805号及び米国
特許第5465328号で述べられている。
テムを、IBMのDB2製品(DB2はIBMの商標)
またはマイクロソフト社のAccess製品(Acce
ssはマイクロソフト社の商標)などの、関係データベ
ース・システムと結合することが、より一般的になりつ
つある。なぜなら、関係データベースは、大量の関連デ
ータを記憶及び検索するための構造化機構として、一般
に使用されているからである。
発行/加入機能を実行するために使用されるメッセージ
ング及び待ち行列システムについて述べている(199
6年11月17日公開の欧州特許出願第806731号
を参照)。サーバが発行者として作用し、各メッセージ
のトピックを指定する間にメッセージを発行する。クラ
イアントは加入者として作用し、加入者がメッセージを
受信したいトピックを指定する。メッセージング及び待
ち行列ブローカが、クライアントとサーバとの間に配置
され、発行されたメッセージを適切なクライアントに配
布するように作用する。システムはデータベースが発行
サーバとして提供されることを可能にするので、大量の
構造化データがネットワークに発行され得る。データベ
ースは加入クライアントとしても提供され、大量のメッ
セージの容易な構造化検索のために、受信された発行済
みメッセージを記憶する。しかしながら、このシステム
は、メッセージング及び待ち行列システムと、関係デー
タベース・システムとの統合については述べていない。
ueuing(AQ)システム("Oracle8"及び"Advanced Que
uing"は、オラクル社の商標)により、この統合を更に
1歩進め、そこではクライアント・アプリケーション
(加入者)が、メッセージング及び待ち行列ブローカに
構造化照会を提出することにより、加入者が受信したい
発行済みメッセージを指定できる。加入者がSQL(構
造化照会言語)などの標準のデータベース言語を使用
し、関心のあるトピックを指定する能力は、加入者が受
信したい発行済みメッセージのタイプを正確に表現する
上で、高レベルの特異性を可能にする。例えば、加入者
は標準のSQL照会ステートメントを用い、株価が1株
につき100米ドルより高い場合に限り、全ての発行済
みIBM株式相場を受信したいことを示すことができ
る。SQLステートメントに加え、加入者は様々なビジ
ュアル関係データベース・プログラミング技術を利用で
き、それらには例えば、マイクロソフト・アクセス製品
により提供されるような、加入者が見たい発行済みメッ
セージのタイプを、プログラマが正確に指定することを
容易にする技術などが含まれる。
ia 2.1製品("Ambrosia"はオープン・ホライズン社の
商標)により、更にこの統合を1歩進め、そこではメッ
セージング及び待ち行列ブローカが、メッセージを要求
元の加入者に転送する以前に、主題を発行済みメッセー
ジの内容に加える。メッセージング及び待ち行列ブロー
カは、発行済みメッセージを入力キューに受信する。オ
ラクル製品同様、標準のSQL技術が、加入者が見たい
発行済みメッセージのタイプを正確に指定するために使
用される。しかしながら、Ambrosia製品は更に、発行済
みメッセージ内の情報を、関係データベースに記憶され
たレコードと照合することができる。特に、一旦発行済
みメッセージが受信されると、データベース・レコード
からのデータの一部が、発行済みメッセージの内容に加
えられ、メッセージング及び待ち行列ブローカにより最
初に受信されたものと比べ、より詳細な内容を有する発
行済みメッセージが作成される。例えば、IBM株式が
現在1株当たり125ドルでリストされていることを示
す発行済みメッセージが、ブローカの入力キューに受信
される場合に、ブローカは関係データベースから情報を
検索するようにプログラムされ得る。こうした情報に
は、顧客の識別(例えばC23)や、この顧客が現在所
有するIBM株式の数量(例えば225株)などが含ま
れる。データベースから検索された情報が次に、発行済
み情報と結合され、より詳細なメッセージ、すなわち、
顧客C23が現在1株当たり125ドルで取り引きされ
ているIBM株式を、225株所有するとのメッセージ
が作成され、これが既に加入者として登録済みの顧客C
23に転送される。
な価値を提供するが、発行済みメッセージとデータベー
ス・レコードとの照合方法を正確に指定する専用のソフ
トウェア・コードを作成しなければならない欠点があ
る。
メッセージ・ブローカ製品("ActiveWeb"はアクティブ
・ソフトウェア社の商標)は、データベース内容が発行
済みメッセージに追加され、発行済みメッセージの価値
を増加する点で、オープン・ホライズン社のAmbrosia製
品と類似する。ActiveWebは、データベース・アダプタ
と呼ばれる特定のソフトウェア・コード部分を使用し、
照合(例えば結合)操作を実行する。このアダプタは、
データを発行済みメッセージから抽出し、データをデー
タベースにより期待される正確な形式のデータベース照
会に変換し、データベースからデータを検索し、発行済
みメッセージ及びデータベース・データに対して、特定
の照合操作を実行するために要求される。
みメッセージをデータベース・レコードと結合する照合
操作の実行のために、専用のソフトウェア部分を提供す
る必要性があるといった、Ambrosia製品の欠点を共有す
る。こうしたソフトウェアを変更するには、ユーザは専
用のソフトウェア部分のプログラミング構造及び言語に
精通していることが必要である。従って、プログラマは
メッセージ・ブローカの残りの部分を容易に変更できる
一方、照合操作を実行する専用のソフトウェア部分を変
更するために、新たなプログラミング環境に切り替わる
ことが必要である。
されたクライアント/サーバ・コンピュータ・システム
を提供することである。
は、送信者アプリケーションからメッセージを受信し、
受信されたメッセージを処理し、処理されたメッセージ
の転送先の受信者アプリケーションを決定するために使
用される、メッセージ・ブローカ・データ処理装置を提
供する。この装置は、送信者アプリケーションから、少
なくとも1つのフィールドを有するタプル(tuple)と
して編成されるメッセージの入来ストリームを受信する
手段と、メッセージの入来ストリームを、少なくとも1
つのフィールドを有するタプルとして編成し、データベ
ースに記憶されるデータベース・データと照合する手段
と、メッセージのストリームを処理し、結果のメッセー
ジのストリームを少なくとも1つの受信者アプリケーシ
ョンに転送する手段とを含む。
手段、及び処理する手段が、相互接続されてネットワー
クを形成する複数の処理ノードを利用し、各ノードの処
理機能が、標準の関係言語による関係式により定義さ
れ、メッセージ・タプルのストリームが複数のノード間
で転送される。更に、ネットワーク内の2つの隣接ノー
ドであるノード1及びノード2に対して、ノード1の機
能を定義する関係式の出力が、ノード2の機能を定義す
る関係式の入力により、メッセージ・タプルのストリー
ムとして解釈される。
と通信する。
ンが発行者であり、受信者アプリケーションが加入者で
ある。
語であり、ビジュアル・データベース・ツールが、ノー
ドの機能を定義する関係式を生成するために使用され
る。
メッセージ・タプルのストリーム内の各メセージ・タプ
ルが、同一のフィールドのセットを有する。別の実施例
では、2つのノード間に存在するメッセージ・タプルの
ストリーム内において、ストリーム内の各メッセージ・
タプルが、必ずしも同一のフィールドのセットを有さな
い。好適には、後者の実施例では、ノードの機能を定義
する関係式内で使用され、ノードに入力されるストリー
ムの特定のメッセージ・タプル内で定義されないフィー
ルドが、ヌル(null)値を割り当てられる。
ユニット上に含まれ、別の実施例では、装置が複数の相
互接続されるデータ処理ユニット上に含まれる。
様で述べられた機能を実行する方法を提供する。
上で実行されて、第1の態様で述べられた機能を実行す
るコンピュータ・プログラム製品を提供する。
様のメッセージ・ブローカ・データ処理装置を用い、顧
客に情報サービスを提供する方法を提供する。この方法
は、a)顧客から、顧客が受信したいメッセージに関す
る基準を受信するステップと、b)発行者から発行済み
メッセージを受信するステップと、c)発行済みメッセ
ージを顧客から受信された基準と比較するステップと、
d)顧客から受信された基準に合う発行済みメッセージ
を顧客に転送するステップとを含む。
のストリームとしてブローカに提供するので、入来デー
タをデータベース・データと照合することが容易とな
り、後者もまたタプルに編成される。従って、データ・
ストリーム内のメッセージをデータベースからのデータ
と照合するデータ処理要素が、シームレスに、全体メッ
セージ・ブローカ・システムに統合され得る。
ブローカ・システムと一緒にシームレスに統合すること
により、データのストリームがデータベースからのデー
タと照合(例えば併合または結合)される方法に関する
詳細をプログラムする一方、ビジュアル・ツール、イン
タフェース及びモデルなどの、ブローカの他の部分をプ
ログラムするために使用されるのと同一の標準の関係メ
ソッドも、使用され得る。これにより、同一のツールが
全体を通じて使用可能になり、全体ブローカ・システム
のプログラミングが相当に容易になる。
る、こうした関係技術(特にビジュアル・ツール)を使
用するこの能力はまた、非効率的にプログラムされたブ
ローカのあらゆる部分を最適化することを非常に容易に
する。
のデータベース・データと照合するユニットを、全体ブ
ローカ・システムにシームレスに統合することにより、
ブローカを介するメッセージの流れが(従来のAmbrosia
及びActiveWebと比較して、)より効率的に発生する。
テグレーション(統合)は、全体トランザクションの一
部として、照合ユニット内で発生する処理の扱いを非常
に容易にする。ここで全体トランザクションは、メッセ
ージ・ブローカの他の部分で発生する処理も考慮するも
のである。すなわち、ブローカの全ての要素が同様に処
理され得る場合、トランザクションなどの、システム全
体の処理面を追跡することが非常に容易になる。
の最新のデータを供給する、発行者データ処理ユニット
11が示される(好適な実施例の説明では、株式データ
が使用される。なぜなら、株式データは絶え間無く変化
し、多くの加入者により即時ベースで要求されるデータ
の良い例であり、このタイプのブローカの主要な用途で
あるからである)。発行者データ処理ユニット11は、
多数の使用可能なコンピュータ処理プラットフォームの
1つの上で実行され得る。
ージャ12として示される)などのメッセージング及び
待ち行列ユニットが、発行者データ処理ユニット11
と、加入者データ処理ユニット15との間に配置され
る。加入者データ処理ユニット15は、多数の使用可能
なコンピュータ処理プラットフォームの1つの上で実行
され、選択プラットフォームは、発行者11により使用
されるプラットフォームとは異なり得る。既知のキュー
・マネージャ12(MQSeries)は、全ての必要なデ
ータ形式トランザクション(例えばプロトコルなど)を
処理し、発行者11及び加入者15が互いに非同期に通
信することを可能にする(例えば、発行者11によりメ
ッセージが発行されているとき、加入者15は動作状態
である必要はなく、メッセージがキューに記憶され、加
入者15が再度動作状態になるとき、加入者15がメッ
セージを検索する)。別々のキュー・マネージャ12が
通常、各発行者及び加入者に割り当てられ、キュー・マ
ネージャが対話し、ユニット間のメッセージの流れを制
御する。しかしながら、説明を容易にするため、ここで
はキュー・マネージャ12が1つのエンティティとして
述べられる。
ン上で動作できる。この後者の場合、データ形式変換が
低減され、キュー・マネージャ12は単に発行済みメッ
セージを発行者アプリケーションから加入者アプリケー
ションに経路指定するだけである。
済みメッセージを関係メッセージ・ブローカ13(中間
データ処理ユニット上または複数の相互接続されたデー
タ処理ユニット上で実行され得る)に送信する。メッセ
ージ・ブローカはメッセージを後述のように処理後、キ
ュー・マネージャ12に返送し、次にメッセージが適切
な加入者の出力キューに配置され、加入者により検索さ
れる。図1では単純化のために、こうした1加入者(及
び発行者)だけが示されるが、通常の場合、複数の加入
者及び発行者が含まれる。
1に点線により示されるように、キュー・マネージャ1
2をバイパスして、同期操作モードでも使用され得る。
実際、ブローカ13は、キュー・マネージャ12の備わ
っていない全くの同期環境においても使用され得る。こ
れは例えば、発行者及び加入者が常時動作状態であるシ
ステムを含み、従ってキュー・マネージャ12の機能の
必要性を排除する。
ばしばデータベース14をアクセスする。例えば、発行
済みメッセージ内の情報がデータベースに記憶された情
報と結合され、より意味深いメッセージが作成され、加
入者に送信される。例えば、発行済みメッセージは、I
BM株価が1株当たり150米ドルに値上がりしたこと
を示し、データベース14に記憶されたデータベース・
レコードが、識別子C3を有する特定の顧客が、IBM
株式を77株を所有することを示す。ブローカ13によ
り実行される結合操作は、全てのこの情報を一緒にまと
め、発行済みメッセージよりも長いメッセージ、すなわ
ち顧客C3が、現在1株当たり150米ドルの値打ちが
あるIBM株式を77株所有することを示すメッセージ
を生成する。
たデータは、"タプル"と呼ばれる行に編成される。例え
ば、表1は3つのタプルを示す。
77株所有することを示す。第2のタプルは、顧客C2
がIBM株式を44株所有することを示す。第3のタプ
ルは、顧客C3がフォード株式を120株所有すること
を示す。
1から送信される発行済みメッセージもまた、タプルに
編成される。従って、発行済みメッセージのストリーム
が、一時的に順序付けされたタプルのリストである。例
えば、表2は各々がタプルに編成された2つのメッセー
ジのシーケンスを示す。
たり160米ドルの値打ちがあることを示す。第2のタ
プルは、フォード株式が現在1株当たり44米ドルの値
打ちがあることを示す。
同一のフィールドのセット(例えば会社及び株価フィー
ルド)を有し得る。或いは、ストリーム内の一部のメッ
セージ・タプルが異なるフィールドのセットを有し、フ
ィールドがヌル値を割り当てられ、特定のメッセージ・
タプルに対して定義されない。表2に示されるタプル
は、単純なデータ(例えば数値または文字ストリング)
を有するが、フィールドがアレイまたはネスト化タプル
などの、特定の構造を含み得る。
ータの両方がタプルとして編成されるので、発行済みメ
ッセージ及びデータベース・データの所望の照合が、標
準の関係式を用いて指定され得る。これに関しては、図
2に示される関係メッセージ・ブローカ13の詳細ブロ
ック図に関する後述の説明、及び後述の複数の例から明
らかとなろう。
(11)が、タプルとして編成される発行済みメッセー
ジのストリームをキュー・マネージャ12に送信し、キ
ュー・マネージャがストリームを関係メッセージ・ブロ
ーカ13に転送し、そこでメッセージが処理され、特定
の加入者に割り当てられ、その後、メッセージのストリ
ームがキュー・マネージャ12に返送され、次に3つの
加入者アプリケーションS1(15a)、S2(15
b)及びS3(15c)に伝送される。関係メッセージ
・ブローカ13は、ネットワークを形成するように相互
接続される処理ノード21、22及び23のセットとし
て編成される。これらの処理ノードは全て同一のデータ
処理マシン上に配置されるか、或いは複数の相互接続さ
れるデータ処理マシンに渡って分散される。各ノードの
処理機能は、以下で詳述される標準の関係言語(例えば
SQL照会)による関係式により定義される。
メッセージのストリームがフィルタ・ノード21により
処理され、発行済みメッセージの一部が取り除かれ(廃
棄される)、特定のメッセージだけがフィルタを通過す
る。例えば、P1からの発行済み株式相場のストリーム
は一般に、非常に多くの会社からの株式相場を含む。多
分、加入者S1、S2及びS3はIBM及びフォードか
らの株式にだけ関心がある。従って、フィルタ・ノード
21はメッセージがIBMまたはフォードのいずれかの
株価に関わる場合だけ、メッセージがフィルタを通過す
ることを許可する。フィルタ・ノード21の機能は、非
常に一般的な関係データベース操作(通常"セレクト(s
elect)"と呼ばれる)であるので、関係データベース技
術では公知である。フィルタ・ノード21の処理機能
は、例えばフィルタを通過することを許可されるメッセ
ージを正確に表すSQLセレクト・ステートメントを用
いる関係式により定義される。
力に接続され、これはフィルタリングされたメッセージ
・ストリーム(IBM及びフォードの株式相場だけを含
む)を、第1の入力として受け取る。結合ノード22は
データベース14から第2の入力を受信する。結合ノー
ド22がフィルタ・ノード21の出力から発行済みメッ
セージを受信するとき、適切なデータベース・タプルが
アクセスされ、データベース14から読出され、発行済
みメッセージと結合される。結合ノード22の機能は、
非常に一般的な関係データベース操作であるので、関係
データベース技術では公知である。結合ノード22の処
理機能は、例えばメッセージ・ストリームとデータベー
ス・データとの結合方法を正確に表すSQL INNE
R JOINステートメントを用いる関係式により定義
される。
い、IBM株価が現在1株当たり160米ドルであるこ
とを示す第1の発行済みメッセージ・タプル(表2の第
1行目に示される)が、ブローカ13により受信される
とき、これはフィルタ・ノード21を通過する。なぜな
ら、このノードを定義する関係式は、メッセージ・タプ
ルがIBMまたはフォードの株価を含む場合、それが通
過することを許可するからである。このメッセージ・タ
プルが結合ノード22に達すると、結合ノードはこのメ
ッセージ・タプルを、表1の第1行目に示されるタプル
と照合し、表3の第1行目に示されるより長いタプルを
提供する(これは顧客C3が、現在1株当たり160米
ドルの値打ちがあるIBM株式を77株所有することを
示す)。
ーム内のタプルの例: (会社)(株価)(顧客)(数量) IBM 160 C3 77 IBM 160 C2 44 フォード 44 C3 120
・マネージャ12に送信され、続いてS3のキューに含
まれる。加入者S3(15c)は、情報を取り出す準備
が整っているとき、いつでもメッセージをキューから取
り出すことができる。図2のノード構造に従えば、S3
はIBMまたはフォード株式を所有する全ての顧客に関
するメッセージを受信する。S3は例えば、全ての顧客
に関する株式所有データを獲得したい会計監査人であ
る。
1行目に示される)はまた、結合ノード22において、
表1の第2行目に示されるデータベース・タプルと結合
され、その結果、表3の第2行目に示されるより長いタ
プルが生成される(これは顧客C2が、現在1株当たり
160米ドルの値打ちがあるIBM株式を44株所有す
ることを示す)。この結合ノード22の出力が次にキュ
ー・マネージャ12に送信され、続いてS3のキューに
含まれる。加入者S3(15c)は、情報を取り出す準
備が整っているとき、いつでもメッセージをキューから
取り出すことができる。
ネージャ12に送信され、続いてS2のキューにも含ま
れる。特に、結合ノード22の出力は、顧客C2に関す
るメッセージ・タプルだけを通過するようにプログラム
されたフィルタ・ノード23に送信される。フィルタ・
ノード23の処理機能は、例えばフィルタを通過するこ
とを許可されるメッセージを正確に表すSQLセレクト
・ステートメントを用いる関係式により定義される。表
3の第2行目に示されるメッセージ・タプルは、C2に
関連し、従ってフィルタ・ノード23を通過し、キュー
・マネージャ12に送信され、続いてS2のキューに含
まれる。加入者S2(15b)は情報を取り出す準備が
整っているとき、いつでもメッセージをキューから取り
出すことができる。
の第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に関係する場合のみ、それが通過するこ
とを許可するからである。
常に関心があるが、いずれの会社の株式も購入しておら
ず、いずれの購入も計画していないと仮定する。例え
ば、S1は、IBM及びフォード株式の現株価にもとづ
き、企業意思を下す金融仲介者である。この場合、結合
ノード22に関わる必要はない。なぜなら、データベー
ス14はS1にとって望ましい情報を含まないからであ
る。従って、第2の出力がフィルタ・ノード21に提供
され、フィルタ・ノード21が通過を許可する全ての発
行済みメッセージ・タプル(IBM及びフォード株の相
場に関する株価)が、この第2の出力から出力される。
メッセージは次にキュー・マネージャ12に転送され、
続いてS1のキューに含まれる。加入者S1(15a)
は、情報を取り出す準備が整っているとき、いつでもメ
ッセージをキューから取り出すことができる。
らデータベース特有の用語により定義される。各ノード
は、SQLなどの標準の関係言語により表される関係式
を有する。1つのノードの関係式の出力は、隣接ノード
の関係式への入力として提供されるメッセージ・タプル
のストリームである。フィルタ・ノード21及び23
は、データベース関係代数の共通のセレクト機能を使用
する。結合ノード22は、データベース関係代数の共通
のINNER JOIN関数を使用する。データベース
14と発行済みメッセージとの間で発生する照合は、"
結合"演算子として詳述されたが、データベース・デー
タを発行済みメッセージと照合するために、"共通部
分"、"計算"または"合併"演算などの、他の多くの関係
代数演算も実現され得る。
る関係式の幾つかの例は、次のように与えられる。
次のように定義される。 SELECT * FROM Stock WHERE Company="IBM" OR Company="Ford"
れ、顧客保有情報のデータベース関係が、"Holding"と
命名されると仮定する。結合ノード(22)は、次のよ
うに定義される。 SELECT Q21.*, Customer, Quantity FROM Q21 INNER JOIN Holding ON Q21.Company = Holding.Company
出力される顧客フィールドに依存するノード23のフィ
ルタが、次のように表される。 SELECT * FROM Q22 WHERE Customer="C2"
され得る。 SELECT *, Price*Quantity AS TotalValue FROM Q22
社に関する株式情報を見たいと思わない。こうした会社
のリストが、データベースの禁止関係(Proscribed rel
ation)内に保持される。加入はSQL定義により、次
のように生成される。 SELECT * FROM Stock WHERE Company NOT IN (SELECT Company FROM Proscribed)
ルを関係に挿入することにより、日付スタンプ付きアー
カイブをセットアップする。 INSERT INTO StockArchive SELECT *, Time() as TimeAudit FROM Stock
各会社の最新の株価を追跡したいと思う。 UPDATE StockLatest INNER JOIN Stock ON StockLatest.Company=Stock.Company SET StockLatest.Price=Stock.Price, StockLatest.
LogTime=Now();
にする。次の式は、結合、フィルタ及び計算を結合す
る。 SELECT Q21.*, Customer, Quantity, Price*Quantity
as TotalValue FROM Q21 INNER JOIN Holding ON Q21.Company=Holding.Company WHERE Customer='C2'
追加の機能を加える変更が非常に容易になる。例えば、
計算ノード24(図3に示される)が結合ノード22の
出力に追加され、結果のメッセージが、各顧客の関連会
社の株式所有の合計現在値に相当する別のフィールドを
含む。すなわち、計算ノード24が株価を顧客が所有す
る株数と乗算し、積を別のフィールド("合計値"と呼ば
れる)に提供する。従って、表4は次のようになる。
更することにより、既存のノード(例えばノード22)
が容易に変更され得る。結合ノード22及びフィルタ・
ノード21及び23が全て、相互接続されるノードのネ
ットワークにシームレスに統合され、メッセージ・タプ
ルのストリームがノード間で転送されるので、任意のノ
ードの関係式が容易に一様の様式で変更され得る。(上
述の従来技術の場合のように、)任意のノードのため
に、異なるタイプのプログラミングに切り替える必要は
ない。
で実現されるので、関係データベース管理システムをプ
ログラムするために使用可能な標準のビジュアル・ツー
ルを用いて、ブローカ13の機能ユニットを変更するこ
とが非常に容易になる。例えば、マイクロソフト社のA
ccess製品が、こうしたビジュアル・ツールを提供
する。関係データベース・プログラマは、既にこれらの
ツールに精通している。従って、データベース・プログ
ラマは、ブローカ13のノード(例えばノード21、2
2、23)の構造を、容易にセットアップすることがで
きる。例えば、顧客要求により結合ノードが変更されな
ければならない場合、データベース・プログラマは新た
なプログラミング技術を習得する必要無しに、これを容
易に実行でき、従ってシステム開発費用を多大に低減す
ることができる。
により定義されるが、ノードのあるものは他の方法でも
実現され得る。しかしながら、勿論、こうした場合には
本発明の利点は低減する。
セージ・ブローカの付加価値発行/加入アプリケーショ
ンについて述べてきた。これは本発明の非常に有用な環
境である。しかしながら、本発明が有効となる他の多く
の環境が存在する。それらには作業フロー・ストリーム
が含まれ、この場合、その時どの受信者が多忙でないか
に従い、伝送メッセージが複数の受信者の任意の人に転
送され得る。作業フロー環境では、ブローカがデータベ
ース14をアクセスして、各受信者に関するデータを判
断し、作業要求メッセージを割り当てられるべき受信者
に関する決定を下す。
続されるサーバ・コンピュータに、関係メッセージ・ブ
ローカ機能を提供し、それにより発行者及び加入者アプ
リケーションがクライアントとして、ワールド・ワイド
・ウェブ・ブラウザ・アプリケーションを介して、イン
ターネット・サーバをアクセスする。このようにして、
ブローカ13は、発行済みメッセージが加入者が(ブラ
ウザ・アプリケーションを用い、インターネット・サー
バと連絡することにより)以前に定めた基準に合致する
とき、それらをインターネットを介して、加入者15の
ウェブ・ブラウザ・アプリケーションに転送する。
の事項を開示する。
ージを受信し、受信されたメッセージを処理し、処理さ
れたメッセージの転送先の受信者アプリケーションを決
定するメッセージ・ブローカ・データ処理装置であっ
て、前記送信者アプリケーションから、少なくとも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)前記送信者アプリケーションが発行者であり、
前記受信者アプリケーションが加入者である、前記(1
4)記載の方法。 (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)前記送信者アプリケーションが発行者であり、
前記受信者アプリケーションが加入者である、前記(2
5)記載の製品。 (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)前記顧客から受信された前記基準に合う前記発行済
みメッセージを、前記顧客に転送するステップとを含
む、方法。
ブローカの基本セットアップを示すブロック図である。
ブローカに関する詳細を示すブロック図である。
ョンを示すブロック図である。
Claims (39)
- 【請求項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)前記顧客から受信された前記基準に合う前記発行済
みメッセージを、前記顧客に転送するステップと を含む、方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
GB9809020.2 | 1998-06-03 | ||
GB9811802.9 | 1998-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000029907A true JP2000029907A (ja) | 2000-01-28 |
JP3892987B2 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008523483A (ja) * | 2004-12-09 | 2008-07-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オン・デマンド・メッセージベースの金融ネットワーク統合ミドルウェア |
JP2010020650A (ja) * | 2008-07-14 | 2010-01-28 | Sony Corp | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム |
Families Citing this family (47)
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 |
US7698276B2 (en) * | 2002-06-26 | 2010-04-13 | Microsoft Corporation | Framework for providing a subscription based notification system |
US7177859B2 (en) * | 2002-06-26 | 2007-02-13 | Microsoft Corporation | Programming model for subscription services |
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) |
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 |
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 |
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 |
JP2014515152A (ja) * | 2011-05-18 | 2014-06-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 発行/購読メッセージング・システムにおいてメッセージの購読を管理するための方法および装置、ならびにコンピュータ・プログラム |
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 | 分散デ−タベ−ス管理システムにおける結合演算処理方式 |
DE69130154T2 (de) * | 1990-12-14 | 1999-05-20 | Sun Microsystems, Inc., Mountain View, Calif. 94043-1100 | Verfahren und Gerät zur Nachrichtenvermittlung zwischen Prozessen |
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 |
WO1996018963A1 (en) * | 1994-12-13 | 1996-06-20 | Fs Holdings, Inc. | A system for receiving, processing, creating, storing and disseminating investment information |
US5710889A (en) * | 1995-02-22 | 1998-01-20 | Citibank, N.A. | Interface device for electronically 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 |
DE69625652T2 (de) * | 1995-08-18 | 2003-09-18 | International Business Machines Corp., Armonk | Ereignisverwaltungsdienst |
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
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008523483A (ja) * | 2004-12-09 | 2008-07-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オン・デマンド・メッセージベースの金融ネットワーク統合ミドルウェア |
JP2010020650A (ja) * | 2008-07-14 | 2010-01-28 | Sony Corp | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム |
JP4577422B2 (ja) * | 2008-07-14 | 2010-11-10 | ソニー株式会社 | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0953904A2 (en) | 1999-11-03 |
CA2265334C (en) | 2005-04-26 |
EP0953904A3 (en) | 2006-06-28 |
IL127787A (en) | 2003-02-12 |
CA2265334A1 (en) | 1999-10-29 |
US6510429B1 (en) | 2003-01-21 |
JP3892987B2 (ja) | 2007-03-14 |
CN1233801A (zh) | 1999-11-03 |
CN100414529C (zh) | 2008-08-27 |
IL127787A0 (en) | 1999-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3892987B2 (ja) | メッセージ・ブローカ・データ処理装置、方法、及び記録媒体 | |
US7844636B2 (en) | Systems and methods for client-side filtering of subscribed messages | |
JP4594306B2 (ja) | 自己記述型ビジネスオブジェクト | |
US5724575A (en) | Method and system for object-based relational distributed databases | |
US6826560B1 (en) | Subscription and notification with database technology | |
US10521853B2 (en) | Electronic sales system | |
US20020069157A1 (en) | Exchange fusion | |
US7103680B1 (en) | Publish/subscribe data processing with publication points for customized message processing | |
US8700506B2 (en) | Distributed commerce system | |
US20020188761A1 (en) | Data-type definition driven dynamic business component instantiation and execution framework | |
US7444344B2 (en) | Method to increase subscription scalability | |
US20030115291A1 (en) | Publish subscribe system | |
US6487548B1 (en) | Using database query technology for message subscriptions in messaging systems | |
US7987287B2 (en) | Method and system for routing data repository messages between computing devices | |
JP2006528801A (ja) | サービス指向ビジネスフレームワークのサービス管理 | |
US20020059360A1 (en) | Local-file-transfer method and local-file-transfer system for client-server system | |
US7917467B2 (en) | Processing of data sets in a computer network | |
EP2056248A1 (en) | Electronic commerce system | |
EP0959416A2 (en) | Using database query technology for message subscriptions in messaging systems | |
KR100324978B1 (ko) | 메시지 중개인 장치, 방법 및 컴퓨터 프로그램 제품 | |
Wu | Cross-chain workflow model based on trusted relay | |
US7793234B1 (en) | Method and tool for graphically defining an expression | |
US20020059390A1 (en) | Integration messaging system | |
GB2354848A (en) | Publish/subscribe data processing with subscriber requested messageflow for customised message processing | |
Oliveira Rocha et al. | Structural Patterns and Chaining Processes |
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 |