JP2003524827A - Message queuing system and method - Google Patents

Message queuing system and method

Info

Publication number
JP2003524827A
JP2003524827A JP2001535831A JP2001535831A JP2003524827A JP 2003524827 A JP2003524827 A JP 2003524827A JP 2001535831 A JP2001535831 A JP 2001535831A JP 2001535831 A JP2001535831 A JP 2001535831A JP 2003524827 A JP2003524827 A JP 2003524827A
Authority
JP
Japan
Prior art keywords
message
queue
state
participant
status
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001535831A
Other languages
Japanese (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 JP2003524827A publication Critical patent/JP2003524827A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

(57)【要約】 インテリジェントキューは、1組のビジネスアプリケーションプログラム相互間での通信を促進するのに使用され得る。一実施の形態において、インテリジェントキューは、種々のデータ保存製品にわたって首尾一貫したサービス動作を提供する、種々のビジネスアプリケーションプログラムとインターフェースをとることができる。インテリジェントキューは、送信者及び受信者の両者の立場から各メッセージ状態を追跡する詳細なメッセージ状態情報と同様に、拡張されたメッセージ保存、効果的なジャーナル処理、他のインテリジェントキューとの相互運用性、負荷分散、一回限りの処理を提供する。 (57) Summary Intelligent queues can be used to facilitate communication between a set of business application programs. In one embodiment, the intelligent queue may interface with various business application programs that provide consistent service operation across various data storage products. Intelligent queues provide enhanced message storage, effective journaling, and interoperability with other intelligent queues, as well as detailed message state information that tracks each message state from both the sender and receiver perspectives. Provides load balancing, one-time processing.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】TECHNICAL FIELD OF THE INVENTION

本発明は、ネットワークメッセージング、より詳しくはキューの分野に関する
The present invention relates to the field of network messaging, and more particularly queues.

【0002】[0002]

【背景技術】[Background technology]

ソフトウェア産業の急速な発展は、一般大衆が入手し得る非常に多様なアプリ
ケーションを生み出し、一般大衆はこれらのアプリケーションに大きく依存する
ことを知った。さらに、ビジネス分野においては、日々の業務のために会社内に
種々のアプリケーションを導入することは普通である。これらのアプリケーショ
ンは、種々のベンダーにより提供されるので、ルーチン的な複数のビジネス活動
を支援する調整作業は、他所にも使用可能なリソースによって提供される手作業
を、多くの場合に必要とする望まざる仕事となっている。したがって、ビジネス
分野においては、アプリケーションを効率的で確実な方法により、伝達し共有す
ることが重要である。
We have found that the rapid development of the software industry has created a vast variety of applications available to the general public, and that the general public depends heavily on these applications. Furthermore, in the business field, it is common to introduce various applications within the company for daily work. Since these applications are provided by different vendors, coordination efforts to support routine multiple business activities often require manual effort provided by resources available elsewhere. It is an undesired job. Therefore, in the business field, it is important to communicate and share applications in an efficient and reliable manner.

【0003】 ビジネスは、調整及び情報の共有化のためにアプリケーションを統合すること
を必要とする一方、そのような統合を実行するためのコストを最小限に留めよう
とする。従来のアプローチに共通の問題は、既存のシステムに統合することが困
難であり高価であるカスタムメッセージキューを購入することを余儀なくされて
いる点である。ビジネスが変化すると、これらのカスタムキューは、置き換え又
は更新を必要とし、さらに時間と費用とを必要とする。
While businesses need to integrate applications for coordination and information sharing, they seek to minimize the cost of performing such integration. A common problem with traditional approaches is that they are forced to purchase custom message queues that are difficult and expensive to integrate into existing systems. As the business changes, these custom queues need to be replaced or updated, which in turn requires time and money.

【0004】 従来のアプローチの他の問題点は、システム管理者が、様々なデータ記録装置
の管理を行なう煩わしい仕事に直面している点である。通常の伝達においてもシ
ステムに支承が生じた場合においても、メッセージを追跡するのは困難を伴う。
Another problem with the conventional approach is that the system administrator faces a cumbersome task of managing various data recording devices. Tracking messages is difficult both in normal transmission and when the system is bearing.

【0005】 従来のアプローチの他の問題点は、メッセージの重複した処理を許している点
である。あるアプリケーションにおいては、メッセージは一回だけ処理されるこ
とは避けられない。例えば、金融分野のアプリケーションは、各々の処理におい
て、ユーザの請求書に一回勘定書をする。メッセージの重複した処理は、結果と
して不正確な情報を生み、適切な状態にデータを修復するのに莫大なリソースを
必要とする。
Another problem with the conventional approach is that it allows duplicate processing of messages. In some applications, it is inevitable that the message will be processed only once. For example, a financial application bills a user's bill once for each transaction. Duplicate processing of messages results in inaccurate information and requires enormous resources to restore the data to the proper state.

【0006】 従来のアプローチのさらに他の問題点は、しばしばキューが過剰となり、シス
テムのボトルネックとなっている点である。
Yet another problem with the conventional approach is that it often has excessive queues, which is a bottleneck in the system.

【0007】[0007]

【発明の概要】[Outline of the Invention]

本発明の一実施の形態は、複数のコンピュータ媒体に亘って一貫した振る舞い
を示す第1のデータ格納タイプの第1のメッセージキュー及び第2のデータ格納
タイプの第2のメッセージキューを含んだ複数のキューを管理するように構成さ
れたメッセージキュー管理システムに係る。このメッセージキュー管理システム
は、ジャーナルされたメッセージが前記第1のメッセージキュー及び前記第2の
メッセージキューに保持されているジューナル状態を含む、前記第1のメッセー
ジキュー及び前記第2のメッセージキューに格納されたメッセージのメッセージ
状態を追跡及び管理するように構成されたジャーナルモジュールを備えている。
このメッセージキュー管理システムはまた、前記第1のメッセージキュー及び前
記第2のメッセージキューに格納されており既に処理されたメッセージを再処理
しないために、複数のメッセージ状態を追跡するように構成された1回限りのメ
ッセージ処理モジュールを備えている。このメッセージキュー管理システムはさ
らに、障害発生の際に第1のメッセージキューと第2のメッセージキューとのデ
ータ回復を行なうために、第1のメッセージキューと第2のメッセージキューと
の間の相互作用を調整するように形成された互換性モジュール及びジャーナル状
態を、ジャーナルモジュールが特定したときに、第1のメッセージキュー及び第
2のメッセージキューを格納するように形成された拡張格納モジュールを備えて
いる。このメッセージキュー管理システムはまた、前記第1のメッセージキュー
及び前記第2のメッセージキューに格納されており既に処理されたメッセージを
再処理しないために、複数のメッセージ状態を追跡するように構成された1回限
りのメッセージ処理モジュールを備えている。このメッセージキュー管理システ
ムはさらに、分散ワークフローを可能にする複数のキューの間の相互作用を調整
するように構成された互換性モジュールと、障害の発生において、複数のキュー
のデータ回復を行うように構成された回復モジュールとを備えている。このメッ
セージキュー管理システムはまた、複数の発行者及び複数の参加者の制御を含む
、複数のキューの集中制御を提供するように構成された中央管理モジュールと、
前記第1のメッセージキューの中の前記メッセージが参加者プールの中の最初の
有効な参加者によって処理されるように、前記参加者プールの中の少なくとも前
記第1のメッセージキューに、複数の参加者のサブセットを指定するように構成
された負荷分散モジュールとを備えている。
One embodiment of the present invention includes a plurality of first message queues of a first data storage type and a second message queue of a second data storage type that exhibit consistent behavior across multiple computer media. And a message queue management system configured to manage the queues. The message queue management system stores journaled messages in the first message queue and the second message queue, including a journaled state held in the first message queue and the second message queue. A journal module configured to track and manage the message state of the captured message.
The message queue management system is also configured to track a plurality of message states so as not to reprocess already stored messages stored in the first message queue and the second message queue. It has a one-time message processing module. The message queue management system further includes an interaction between the first message queue and the second message queue for performing data recovery of the first message queue and the second message queue in the event of a failure. And a compatibility storage module configured to coordinate the journal state and an extended storage module configured to store the first message queue and the second message queue when the journal module identifies the journal state. . The message queue management system is also configured to track a plurality of message states so as not to reprocess already stored messages stored in the first message queue and the second message queue. It has a one-time message processing module. The message queue management system is further configured with a compatibility module configured to coordinate interactions between multiple queues to enable distributed workflows and to provide data recovery for multiple queues in the event of failure. And a configured recovery module. The message queue management system also includes a central management module configured to provide centralized control of multiple queues, including control of multiple issuers and multiple participants,
A plurality of participants in at least the first message queue in the participant pool such that the message in the first message queue is processed by the first valid participant in the participant pool. A load balancing module configured to specify a subset of parties.

【0008】 本発明の他の実施の形態は、1組のビジネスアプリケーションプログラムの間
での通信を容易にするインテリジェントキューに係る。このインテリジェントキ
ューは、種々のデータ保存製品を使用して種々のビジネスアプリケーションプロ
グラムと相互作用を行なうことができる。このインテリジェントキューは、拡張
メッセージ保存、1回限りの処理、及び/又は、送り手と受け手との交信の双方
からメッセージ状況を追跡する詳細なメッセージ状況情報を提供する。
Another embodiment of the invention relates to an intelligent queue that facilitates communication between a set of business application programs. The intelligent queue can use various data storage products to interact with various business application programs. This intelligent queue provides detailed message status information that tracks message status from both extended message storage, one-time processing, and / or contact between sender and receiver.

【0009】 本発明の一実施の形態は、信頼できる通信を提供し、反復的でない配布を保証
し、メディアに依存しない環境に実装されたコンピュータネットワーク用のメッ
セージキュー管理システムに係る。このメッセージキュー管理システムは、複数
の環境の1つの上で実行し、メッセージ発行者から受信したメッセージを格納す
るメッセージキューを備える。さらに前記メッセージは、複数のメッセージ参加
者による読出しを監視し、少なくとも複数のメッセージ参加者が前記メッセージ
にアクセスし、該メッセージへの追加のアクセスを許した後に、メッセージがメ
ッセージキューに保持されることとなる。メッセージ状態モジュールは、複数の
前記メッセージ参加者の中の少なくとも一によってメッセージが有効にされ且つ
読み出されたか否かをメッセージ状態情報が示す、メッセージのメッセージ状態
を追跡するように構成される。記録モジュールは、少なくともメッセージがメッ
セージキューから取り除かれるまで、対応するメッセージに関連するメッセージ
状態情報を選択的に保持するように構成される。インタフェースモジュールは、
メッセージの中の複数のデータオブジェクトのタイプを送受信し、且つメッセー
ジ発行者又はメッセージ参加者として振舞う複数データメッセージシステムのタ
イプと通信するように設定される。
One embodiment of the present invention relates to a message queue management system for a computer network that provides reliable communication, guarantees non-repeatable distribution, and is implemented in a media independent environment. The message queue management system comprises a message queue running on one of a number of environments and storing messages received from message publishers. Further, the message monitors read by a plurality of message participants, the message being retained in a message queue after at least a plurality of message participants have accessed the message and allowed additional access to the message. Becomes The message status module is configured to track the message status of the message, the message status information indicating whether the message was validated and read by at least one of the plurality of message participants. The recording module is configured to selectively retain message state information associated with the corresponding message, at least until the message is removed from the message queue. The interface module is
It is configured to send and receive multiple data object types in a message, and to communicate with multiple data message system types that act as message publishers or message participants.

【0010】 本発明の他の実施の形態は、複数のメッセージ発行者と複数のメッセージ参加
者との間でのメッセージキューイングの方法に係る。この方法は、少なくとも一
のメッセージ参加者を対象とするメッセージ発行者からのデータオブジェクトを
受信するステップと、前記データオブジェクトを処理し、データオブジェクト及
びメッセージ情報を含む対応するメッセージを生成するステップと、メッセージ
をメッセージキューに格納するステップと、メッセージ発行者の立場からメッセ
ージ状態を追跡するステップと、少なくとも一のメッセージ参加者の立場からメ
ッセージ状態を追跡するステップと、メッセージが少なくとも一のメッセージ参
加者によって読み出された後にメッセージキューに残留するように、選択的に該
メッセージを保持するステップとを含んでいる。
Another embodiment of the invention relates to a method of message queuing between multiple message publishers and multiple message participants. The method comprises receiving a data object from a message publisher intended for at least one message participant, processing the data object and generating a corresponding message including the data object and message information. Storing the message in a message queue, tracking the message state from the perspective of the message issuer, tracking the message state from the perspective of at least one message participant, and having the message by at least one message participant. Selectively retaining the message so that it remains in the message queue after being read.

【0011】 本発明のさらなる実施の形態は、複数のメッセージが複数の対応メッセージ状
態を含む場合における前記複数のメッセージをメッセージキューにジャーナルす
る方法に係る。この方法は、発行者メッセージ状態及び参加者メッセージ状態を
含むメッセージを受信するステップを含む。この方法はまた、前記メッセージを
メッセージキューに配置するステップと、及び前記メッセージの前記発行者メッ
セージ状態をジャーナル状態に変更するステップとを含む。この方法はさらに、
前記メッセージを前記メッセージキューに保持するステップを含んでいる。
A further embodiment of the present invention relates to a method of journaling a plurality of messages to a message queue when the messages include corresponding message states. The method includes receiving a message that includes a publisher message state and a participant message state. The method also includes placing the message in a message queue and changing the issuer message state of the message to a journal state. This method
Holding the message in the message queue.

【0012】 本発明の他の実施の形態は、対応する発行者状態を含む複数のメッセージをメ
ッセージキュー内に参加者プールする方法である。この方法は、メッセージキュ
ー内にメッセージを配置するステップと、メッセージが利用可能であることを複
数の参加者に通知するステップと、複数の参加者の一による読出しにおいて発行
者メッセージ状態を終了状態に変更することにより他の参加者がメッセージを読
出すのを防ぐステップとを備える。
Another embodiment of the present invention is a method of participant pooling a plurality of messages containing corresponding publisher status in a message queue. This method places a message in a message queue, notifies a plurality of participants that the message is available, and puts the issuer message state in the read state by one of the participants to an end state. Modifying to prevent other participants from reading the message.

【0013】 本発明の更なる実施の形態は、複数のメッセージ発行者と複数のメッセージ参
加者との間でメッセージをキューするためのシステムである。このシステムは、
複数のメッセージ発行者及び複数のメッセージ参加者と通信し、複数のメッセー
ジ参加者の少なくとも一を対象としたメッセージ発行者からのデータオブジェク
トを受信するように構成されたメッセージキューモジュールを備える。データオ
ブジェクト処理モジュールは、対応メッセージがデータオブジェクト及びメッセ
ージ情報を含んでおり、対応メッセージを生成するためにデータオブジェクトを
処理するように構成されている。発行者追跡モジュールは、メッセージ発行者の
立場からメッセージ状態を追跡するように構成されている。複数の参加者追跡モ
ジュールは、対象となる複数のメッセージ参加者の少なくとも一の立場からメッ
セージ状態をトラッキングするように構成されている。メッセージ追跡モジュー
ルは、対象となる複数のメッセージ参加者の少なくとも一によってメッセージが
読出された後に、メッセージキューに残るメッセージを選択的に保持するように
構成されている。
A further embodiment of the present invention is a system for queuing messages between multiple message publishers and multiple message participants. This system
A message queue module configured to communicate with the plurality of message publishers and the plurality of message participants and receive a data object from the message publisher intended for at least one of the plurality of message participants. The data object processing module is configured to process the data object to generate a corresponding message, where the corresponding message includes the data object and message information. The issuer tracking module is configured to track message status from the perspective of the message publisher. The plurality of participant tracking modules are configured to track message status from at least one of the plurality of message participants of interest. The message tracking module is configured to selectively retain messages that remain in the message queue after the message has been read by at least one of the plurality of message participants of interest.

【0014】 本発明の他の実施の形態は、参加者による読出しのために発行者から受信した
メッセージをキューする方法であって、キューインターフェースモジュールが複
数のデータベースプロトコルとインターフェースをとるように構成可能であり、
キュー及び前記キューインターフェースモジュールを用いてメッセージを保存す
るステップと、すべての対象とする参加者によってメッセージが読出された時間
を越えて、メッセージ保存を拡張するステップと、一回限りの配信を実行するた
めにメッセージ状態を追跡するステップとを含む。
Another embodiment of the invention is a method of queuing a message received from an issuer for reading by a participant, the queue interface module being configurable to interface with multiple database protocols. And
Performing a one-time delivery, storing a message using a queue and the queue interface module, extending message storage beyond the time the message was read by all intended participants. To track message status in order to:

【0015】 本発明の他の実施の形態は、第1のタイプのデータ保存を用いて実行される第
1のメッセージキューと、第2のタイプのデータ保存を用いて実行される第2の
メッセージキューとの間のメッセージ通信を修復する方法である。この方法は、
開示されていないメッセージの所在を確認するために第1のメッセージキューを
処理するステップを含む。開示されていないメッセージに関して、メッセージの
親メッセージを見つけるためにパス情報が引き出される。第2のメッセージキュ
ーの中の親メッセージの状態が検査される。親メッセージの少なくとも一に「do
ne」がマークされていると、親メッセージが「done」とマークされ、メッセージ
は「revealed」である。付け加えると、親メッセージに「done」がマークされて
いない場合には、全ての親メッセージに「clean」とマークされてメッセージは
「deleted」マークされ、親メッセージが存在しない場合、メッセージに「revea
led」とマークされる。また、「clean」とマークされたメッセージが回復されて
、第2のメッセージキューが、「done」ではなく「fetched」がマークされたメ
ッセージを発見するために、処理が行われる。更に、「done」ではなく「fetche
d」がマークされた第2のメッセージキューにおけるメッセージが「clean」とマ
ークされる。
Another embodiment of the present invention is a first message queue implemented with a first type of data retention and a second message queue implemented with a second type of data retention. It is a method of repairing message communication with the queue. This method
Processing the first message queue to verify the location of the undisclosed message. For undisclosed messages, path information is retrieved to find the message's parent message. The status of the parent message in the second message queue is checked. At least one of the parent messages has "do
If "ne" is marked, the parent message is marked "done" and the message is "revealed". In addition, if the parent message is not marked "done", all parent messages are marked "clean" and the message is marked "deleted", and if the parent message does not exist, the message is marked "revea".
marked as "led". Also, processing is performed so that messages marked "clean" are recovered and the second message queue finds messages marked "fetched" rather than "done". Furthermore, instead of "done", "fetche
Messages in the second message queue marked "d" are marked "clean".

【0016】 本発明の他の実施の形態は、参加者による読出のために、発行者から受信した
メッセージをキューするシステムであって、キューインターフェースモジュール
が複数のデータベースプロトコルとインターフェースをとるように構成可能であ
り、キュー及び前記キューインターフェースモジュールを用いてメッセージを保
存する手段と、すべての対象とする参加者によってメッセージが読出された時間
を越えて、メッセージ保存を拡張する手段と、1回限りの配信を実行するために
メッセージ状態を追跡する手段とを備えている。
Another embodiment of the invention is a system for queuing a message received from an issuer for reading by a participant, the queue interface module configured to interface with multiple database protocols. Possible, means for storing messages using the queue and said queue interface module, means for extending message storage beyond the time the message was read by all intended participants, and one-off Means for tracking message status to perform delivery.

【0017】 本発明を要約する目的で、ある態様、効果、及び本発明の新規な特徴がここに
記載される。本発明のある特定の実施の形態によって、そのような効果の全てが
必ずしも達成されないことが理解されるべきである。したがって、例えば、ここ
で述べられた一又は複数の効果を、ここで記載又は示唆される他の効果を必ずし
も達成することなく、達成するように具体化又は実施され得ることは、当業者に
よって理解されるであろう。
For the purpose of summarizing the invention, certain aspects, advantages and novel features of the invention are described herein. It should be understood that not all such advantages may be achieved with certain embodiments of the invention. Thus, for example, it is understood by one of ordinary skill in the art that one or more effects described herein may be embodied or implemented to achieve one or more of the effects described herein without necessarily achieving the other effects described or suggested herein. Will be done.

【0018】[0018]

【好ましい実施の形態の詳細な説明】Detailed Description of the Preferred Embodiments

本発明の一実施の形態及び適用例を示すシステム及び方法を、図面を参照して
説明する。他の実施の形態を示すシステム及び方法のバリエーションについても
説明する。開示された一実施の形態におけるシステム及び方法は、1組のビジネ
スアプリケーションプログラムにおける通信を可能にするために用いられる。
A system and method showing an embodiment and an application example of the present invention will be described with reference to the drawings. Variations on systems and methods that illustrate other embodiments are also described. The system and method in one disclosed embodiment is used to enable communication in a set of business application programs.

【0019】 例示の目的のために、一実施の形態をビジネスアプリケーションプログラムに
関して説明する。本発明は、検討されたプログラムの形式により限定されるもの
ではなく、また、オブジェクトの形式は、例えば、ソフトウェアモジュール、ビ
ジネスアプリケーションプログラム、データベース、会計プログラム、音楽プロ
グラム、電話システムなどの種々のプログラムを含むことができる。しかし、図
面及び説明は、プログラムがビジネスアプリケーションプログラムである本発明
の一実施の形態に関連している。さらに、他の実施の形態において、メッセージ
キューイングシステム及び方法は、単一のモジュールとして、及び/又は、種々
の他のモジュールなどと共に実施可能であることが理解される。さらに、ここに
記載された特定の実施例は、本発明を限定する目的ではなく、説明する目的のた
めに開示される。本発明の範囲は、請求の範囲により明らかにされる。
For illustrative purposes, one embodiment is described with respect to business application programs. The present invention is not limited by the format of the program considered, and the format of the object can be various programs such as software modules, business application programs, databases, accounting programs, music programs, telephone systems, etc. Can be included. However, the drawings and description relate to an embodiment of the invention in which the program is a business application program. Furthermore, it is understood that in other embodiments, the message queuing system and method can be implemented as a single module and / or with various other modules and the like. Furthermore, the particular embodiments described herein are disclosed for purposes of illustration and not limitation of the invention. The scope of the invention is defined by the claims.

【0020】 これらの特徴は、図面を参照しながら説明される。図面及び関連する記述は、
本発明を説明するために提供され、本発明の範囲を限定するためのものではない
。図面の全体にわたって参照される要素間の一致を示すために、参照番号が繰り
返し用いられる場合がある。さらに、各参照番号の第1の桁は、要素が最初に現
れた図番を示している。
These features will be explained with reference to the drawings. The drawings and associated descriptions are
It is provided to illustrate the invention and not to limit the scope of the invention. Reference numbers are sometimes used repeatedly to indicate correspondence between referenced elements throughout the figures. Further, the first digit of each reference number indicates the figure number in which the element first appeared.

【0021】 アプリケーション統合システムにおいて、新規なインテリジェントキューは、
1組のビジネスアプリケーションプログラムにおける通信を円滑にするために使
用することができる。一実施の形態において、インテリジェントキューは、種々
のデータ保存製品を使用する種々のビジネスアプリケーションプログラムとやり
とりすることができる。インテリジェントキューは、送り手及び受け手の双方の
立場から各メッセージを追跡する拡張メッセージ記憶、一回限りの処理、及び/
又は、詳細メッセージ状態情報を提供する。
In the application integration system, the new intelligent queue is
It can be used to facilitate communication in a set of business application programs. In one embodiment, intelligent cues can interact with different business application programs that use different data storage products. Intelligent queuing is an enhanced message store that tracks each message from both the sender and receiver's perspective, one-time processing, and / or
Alternatively, it provides detailed message status information.

【0022】 一実施の形態の利点は、インテリジェントキューが、例えば、B+ツリー、サ
イベースCTライブラリデータベース、オラクルOCIデータベース、オラクル
AQデータベース、IBM−MQシリーズデータベース、マイクロソフトMSM
Qデータベース、フラットファイルディレクトリー、などのような、様々なデー
タ保存コンポーネントを使用し得るという点で、半ば独立しているということで
ある。したがって、システム管理者が異なるデータ保存製品を用いて実行された
5つの異なるキューを管理している可能性がある一方で、5つのインテリジェン
トキューは、基礎を成しているデータ保存とは無関係に作用し、通信し得る。さ
らに、この柔軟性は、それらのインテリジェントキューをサポートし、かつ全シ
ステムを混乱させず、認識することもなく、データ保存を変更できるように、ビ
ジネスで既存の商用製品を使用することを可能にする。
An advantage of one embodiment is that the intelligent cues are, for example, B + tree, Sybase CT library database, Oracle OCI database, Oracle AQ database, IBM-MQ series database, Microsoft MSM.
It is semi-independent in that it can use various data storage components such as Q databases, flat file directories, and so on. Thus, while a system administrator may be managing five different queues performed using different data storage products, five intelligent queues are independent of the underlying data storage. Can act and communicate. In addition, this flexibility allows businesses to use existing commercial products to support their intelligent queues and change data retention without confusing or recognizing the entire system. To do.

【0023】 一実施の形態の付加的な利点は、インテリジェントキューが大規模な環境の中
で簡単に管理されるということである。大企業は何百ものインテリジェントキュ
ーを使用してもよい。したがって、システムの全体にわたって単一のタイプのキ
ューを使用することが可能になることは、基礎を成すデータ格納にかかわらず、
システム管理者に単に1つのタイプのキューを処理する間に、メッセージ追跡を
行なう能力を与える。
An additional advantage of one embodiment is that intelligent queues are easily managed in large environments. Large enterprises may use hundreds of intelligent cues. Therefore, it becomes possible to use a single type of queue throughout the system, regardless of the underlying data storage.
It gives the system administrator the ability to perform message tracking while processing only one type of queue.

【0024】 一実施の形態の別の利点は、インテリジェントキューが、そのメッセージの状
態を追跡する方法を提供し、送り手側及び受け手側の両方からのメッセージ状態
をシステム管理者が知リ得るようになることである。さらに、メッセージ状態に
ついて知ることは、システム障害の後に回復され、かつ再送信されるメッセージ
を可能にする。更に、メッセージの状態は、異なる位置にメッセージを移動させ
るか、あるいはメッセージを削除するためにシステムリソースを拘束するよりも
むしろ、機能を選定するために変更され得る。異なるデータ格納を使用して実行
されたキュー間の互換性も提供される。データ格納のタイプにかかわらず、メッ
セージはシステム障害の場合に回復され得る。
Another advantage of one embodiment is that the intelligent queue provides a way to track the status of its messages so that the system administrator knows the message status from both the sender and the recipient. Is to become. Moreover, knowing the message state allows messages to be recovered and resent after a system failure. Further, the state of a message may be changed to select a function, rather than tie up system resources to move the message to a different location or delete the message. Compatibility between queues performed using different data stores is also provided. Regardless of the type of data storage, messages can be recovered in case of system failure.

【0025】 一実施の形態の更なる利点は、インテリジェントキューが拡張メッセージ記憶
装置を提供するということである。システム管理者は、メッセージへの全ての参
加者がメッセージを処理した後でさえ、インテリジェントキューにメッセージを
残すことを可能にしている当該インテリジェントキューからいつメッセージを取
り除かなければならないかを特定することができる。したがって、必要なときに
、システム管理者は他の管理上のタスクを追跡し、分配し、アーカイブに保管し
、編集し、かつ実行する時間がある。更に、システム障害が生じた場合、システ
ム管理者はキューの中のメッセージを見て、適切なメッセージ回復を行なうこと
ができる。インテリジェントキューは、既に処理されたメッセージを外に見せず
に、適切なアプリケーションへの利用可能な未処理のメッセージを作ることがで
きる。
A further advantage of one embodiment is that intelligent queues provide enhanced message storage. The system administrator can specify when a message should be removed from an intelligent queue that allows the message to remain in the intelligent queue even after all participants in the message have processed the message. it can. Thus, when needed, the system administrator has time to track, distribute, archive, edit, and perform other administrative tasks. Furthermore, in the event of a system failure, the system administrator can view the messages in the queue and take appropriate message recovery. Intelligent queues can make available outstanding messages to the appropriate application without exposing already processed messages to the outside.

【0026】 一実施の形態の更なる利点は、インテリジェントキューが、参加者プール処理
を用いることで負荷分散を提供することができることにある。最初の利用可能な
受け手がリソースを最大限にし、メッセージキューイング効率を改善するメッセ
ージを処理するようにして、1つのメッセージは数人の受け手に利用可能にされ
る。受け手は、さらにインテリジェントキューによって参加者プールのメンバー
として指定されることができる。さらに、負荷分散と発行/参加オペレーション
とは、効率を改善するために組合せて使用され得る。例えば、参加者プールのメ
ンバーは、参加者プールに居ない受け手と同時にインテリジェントキューにメッ
セージを申し込むようにできる。
A further advantage of one embodiment is that intelligent queues can provide load balancing using participant pool processing. One message is made available to several recipients, with the first available recipient handling the message maximizing resources and improving message queuing efficiency. Recipients can also be designated as members of a participant pool by intelligent cues. Further, load balancing and publish / participate operations can be used in combination to improve efficiency. For example, a member of the participant pool may subscribe to a message at the same time as a recipient who is not in the participant pool.

【0027】 一実施の形態の別の利点は、遠隔のユーザが様々なインテリジェントキューの
メンテナンス及び監視を行なうことが可能になるように、インテリジェントキュ
ーが中央で管理され得るということにある。
Another advantage of one embodiment is that intelligent queues can be centrally managed to allow remote users to maintain and monitor various intelligent queues.

【0028】 インテリジェントキュー(“IQ”)は、様々なアプリケーション及びコンポ
ーネント中の通信を促進するために、持続的なデータ保存を提供する。次の例は
、発行/参加モードにおけるオペレーションでIQを説明している。図1Aは、
自動信用承認システム120によって信用承認のためにトランザクションを送る
販売時点情報管理システム110を備えているトランザクションシステムを図示
している。最初に、販売時点情報管理(「POS」)モジュール130は販売時点
情報管理システム110からトランザクションを受け取り、トランザクションを
標準メッセージ形式に変換する。その後、販売時点情報管理モジュール130は
、サイベースデータベースを使用して実行されたサイベースIQ140へのメッ
セージを発行する。次に、顧客データベースモジュール150は、サイベースI
Q140からメッセージを読出し、関連する顧客情報(例えば売掛勘定、バンキ
ング設立など)を顧客データベース160に求める。その後、顧客データベース
モジュール150は、関連する顧客情報をメッセージに加えて、マイクロソフト
のMSMQキューを使用して実行されたMSMQ IQ 170へメッセージを発
行する。最後に、信用承認モジュール180はMSMQ IQ 170からメッセ
ージを読出し、メッセージを信用承認システム120によって理解された形式に
変換する。
Intelligent Queues (“IQ”) provide persistent data storage to facilitate communication among various applications and components. The following example illustrates IQ in operation in publish / join mode. Figure 1A
1 illustrates a transaction system including a point of sale system 110 that sends transactions for credit approval by an automatic credit approval system 120. First, point-of-sale (“POS”) module 130 receives a transaction from point-of-sale information management system 110 and converts the transaction into a standard message format. Thereafter, the point-of-sale information management module 130 issues a message to the Sybase IQ 140 executed using the Sybase database. Next, the customer database module 150
The message is read from Q140, and related customer information (for example, accounts receivable, establishment of banking, etc.) is requested from the customer database 160. The customer database module 150 then adds the relevant customer information to the message and publishes the message to the MSMQ IQ 170 implemented using Microsoft's MSMQ queue. Finally, the credit approval module 180 reads the message from the MSMQ IQ 170 and converts the message into a format understood by the credit approval system 120.

【0029】 図1Bは、中央管理モジュール190と同様に自動信用承認システム120に
も信用承認のためにトランザクションを送る販売時点情報管理システム110を
備えているトランザクションシステムの別の実施の形態を示している。中央管理
モジュール190は、遠隔地からのインテリジェントキューの管理及び監視を可
能にする。例えば、中央管理モジュール190によって、参加者と発行者が割り
当てられ、或いは、エラーチェックが行われる。一実施の形態では、中央管理モ
ジュール190は、1つ又は全てのインテリジェントキューから遠隔のシステム
上で実行され得る。中央管理モジュールの一実施の形態の詳細な記述は、参照と
してここに組込まれる、タイトル「SYSTEMS AND METHODS FOR PROVIDING CENTRA
LIZED MANAGEMENT OF HETEROGENEOUS DISTRIBUTED ENTERPRISE APPLICATION INT
EGRATION OBJECTS」(内部整理番号SOFTECP.014A)で同時に提出された出願に示さ
れている。図2Aは、トランザクションシステムの第2の実施の形態を示してお
り、そこでは、負荷分散を可能にするために顧客データベースモジュール150
及びMSMQ IQ 170が2重になっている。この第2のトランザクションシ
ステムでは、サイベースIQ140は、顧客データベースモジュール150の内
の何れによっても読出され得るメッセージを含むことができる。この負荷分散は
、最初に利用可能な顧客データベースモジュール150がメッセージを処理でき
るように、参加者プール処理を使用して実行される。このシステムは、ボトルネ
ックの発生を減少させ、サイベースIQ 140から読出されるメッセージのた
めの処理時間を改善する。
FIG. 1B illustrates another embodiment of a transaction system that includes a point-of-sale system 110 that sends transactions for credit approval to the automatic credit approval system 120 as well as the central management module 190. There is. The central management module 190 enables management and monitoring of intelligent queues from remote locations. For example, the central management module 190 assigns participants and issuers, or performs error checking. In one embodiment, the central management module 190 may be executed on a system remote from one or all intelligent queues. A detailed description of one embodiment of the central management module is incorporated herein by reference, entitled "SYSTEMS AND METHODS FOR PROVIDING CENTRA.
LIZED MANAGEMENT OF HETEROGENEOUS DISTRIBUTED ENTERPRISE APPLICATION INT
EGRATION OBJECTS "(internal reference number SOFTEC P.014A) is shown in the application filed at the same time. FIG. 2A shows a second embodiment of a transaction system, in which a customer database module 150 is provided to enable load balancing.
And the MSMQ IQ 170 is duplicated. In this second transaction system, Sybase IQ 140 may include messages that may be read by any of customer database modules 150. This load balancing is performed using participant pool processing so that the first available customer database module 150 can process the message. This system reduces the occurrence of bottlenecks and improves processing time for messages read from Sybase IQ 140.

【0030】 図2Bは、第3の実施の形態に係るトランザクションシステムを示しており、
そこでは、顧客データベースモジュール150及びMSMQ IQ 170のうち
のいくつかが、負荷分散と参加者プール処理を可能にするために2重化される一
方で、他の顧客データベースモジュール150及びMSMQ IQ 170が、発
行/参加モードにある。前記第2のトランザクションシステムでは、サイベース
IQ140は、顧客データベースモジュール150のうちの何れによっても読出
され得るメッセージを含むことができる。この負荷分散は、最初に利用可能な顧
客データベースモジュール150がメッセージを処理できるように、参加者プー
ル処理を用いて実行される。このシステムは、ボトルネックの発生を減少させ、
サイベースIQ140から読出されるメッセージのための処理時間を改善する。
FIG. 2B shows a transaction system according to the third embodiment,
There, some of the customer database modules 150 and MSMQ IQ 170 are duplicated to allow load balancing and participant pool processing, while other customer database modules 150 and MSMQ IQ 170 are duplicated. , In issue / participation mode. In the second transaction system, the Sybase IQ 140 can include a message that can be read by any of the customer database modules 150. This load balancing is performed using participant pool processing so that the first available customer database module 150 can process the message. This system reduces the occurrence of bottlenecks,
Improves processing time for messages read from Sybase IQ 140.

【0031】 図2A及び2Bに示された実施の形態は、中央管理モジュール190を含んで
いないが、他の実施の形態では、インテリジェントキューの1つ以上が負荷分散
モードである場合、中央管理モジュール190も含まれ得る。図3は、インテリ
ジェントキュー310の一実施の形態を示している。インテリジェントキュー3
10は1組のインテリジェントキュープロセス320、索引データベース330
及びデータ格納コンポーネント340を含んでいる。
The embodiments shown in FIGS. 2A and 2B do not include a central management module 190, but in other embodiments, one or more of the intelligent queues are in load balancing mode. 190 may also be included. FIG. 3 illustrates one embodiment of intelligent cue 310. Intelligent cue 3
10 is a set of intelligent queue process 320 and index database 330.
And a data storage component 340.

【0032】 インテリジェントキュー310は、キューに情報を加え、キューから情報を抽
出するために使用される、多くのプロセスを含んでいる。一実施の形態では、イ
ンテリジェントキュープロセス320はメッセージ受信プロセス322、メッセ
ージ状態更新プロセス324、さらにキュー中のメッセージに関する情報を提供
するその他のいくつかのプロセス326を含んでいる。インテリジェントキュー
プロセス320は、以下に詳しく説明される。索引データベース330は、キュ
ーに発行されるメッセージごとにメッセージ状態情報を格納する。一実施の形態
では、索引データベース330はフラットなファイル構造を使用して実行され、
メッセージ状態が変更されるごとに更新される。索引データベース330は、ア
ーカイブデータベース(図示されない)と通信することができ、そこでは、情報が
例えば、1時間毎、1日毎、1週間毎、2週間毎等のように周期的に格納される
。索引データベース330は、システム停止前及びその停止後に各メッセージの
状態を決定し、どのようにシステムを回復しなければならないかについての情報
を提供するために、システム停止後に使用され得る。
Intelligent queues 310 include many processes that are used to add information to and extract information from queues. In one embodiment, the intelligent queue process 320 includes a message receive process 322, a message status update process 324, and some other process 326 that provides information about messages in the queue. The intelligent cue process 320 is described in detail below. The index database 330 stores message state information for each message issued to the queue. In one embodiment, the index database 330 is implemented using a flat file structure,
Updated whenever the message state changes. The index database 330 can communicate with an archive database (not shown), where information is stored periodically, such as hourly, daily, weekly, bi-weekly, etc. The index database 330 can be used after a system outage to determine the state of each message before and after the system outage and to provide information about how the system should be restored.

【0033】 データ格納コンポーネント340は、参加者によって読出されるメッセージを
保存するものである。データ格納コンポーネント340は一時的な記録ユニット
として作動し、ここでは、メッセージが発行され、或いはすべての参加者がメッ
セージを取出し、処理するまで保存される。
The data storage component 340 is for storing the messages read by the participants. The data storage component 340 acts as a temporary storage unit, where messages are issued or stored until all participants have retrieved and processed the message.

【0034】 索引データベース330とデータ格納コンポーネント340は、2つに分離さ
れたデータ構造として表される。他の実施の形態では、索引データベース330
とデータ格納コンポーネント340とは結合され、及び/又は同じデータ構造を
使用して実施される。例えば索引データベース330とデータ格納コンポーネン
ト340とは、同じリレーショナルデータベースの中で1組のテーブルとして実
施される。さらに、種々のデータ構造が索引データベース330、及び/又はデ
ータ格納コンポーネント340を実施するために使用される。例えば、リンクリ
スト、フラットファイル、バイナリツリー、B+ツリー、配列、キュー、データ
ベース等である。さらに、異なったタイプのデータベースも使用される。例えば
、リレーショナルデータベース、オブジェクト指向データベース、階層型データ
ベースなどである。さらに、いくつかの商業用データ保存製品も使用される。例
えば、サイベースCT Libデータベース、オラクルOCIデータベース、オ
ラクルAQデータベース、IBM−MQシリーズデータベース、マイクロソフト
MSMQデータベース、マイクロソフト アクセス、オラクル、パラドックス、
Fox Pro、マイクロソフト(登録商標)SQLサーバ等のデータベースで
ある。
Index database 330 and data storage component 340 are represented as two separate data structures. In another embodiment, the index database 330
And the data storage component 340 are combined and / or implemented using the same data structure. For example, index database 330 and data storage component 340 are implemented as a set of tables in the same relational database. Additionally, various data structures are used to implement index database 330 and / or data storage component 340. For example, linked lists, flat files, binary trees, B + trees, arrays, queues, databases, etc. In addition, different types of databases are also used. For example, relational databases, object-oriented databases, hierarchical databases, etc. In addition, some commercial data storage products are also used. For example, Cybase CT Lib database, Oracle OCI database, Oracle AQ database, IBM-MQ series database, Microsoft MSMQ database, Microsoft Access, Oracle, Paradox,
It is a database such as Fox Pro and Microsoft (registered trademark) SQL server.

【0035】 図3のインテリジェントキュー310は、いくつかのコンポーネントを使用し
て実施され、他の実施の形態では、このインテリジェントキュー310は、1つ
のコンポーネント、例えば、インテリジェントキュープロセス320と同様に索
引データベース330を含む独占的なデータ格納コンポーネント340として実
施される。
The intelligent queue 310 of FIG. 3 is implemented using several components, and in other embodiments, the intelligent queue 310 includes one component, for example, an index database similar to the intelligent queue process 320. Implemented as a proprietary data storage component 340 including 330.

【0036】 インテリジェントキュー310は、種々のモード、例えば発行/参加モード、
負荷分散モード、及びコンビネーションモードで実行される。
The intelligent queue 310 can be in various modes, such as publish / join mode,
It is executed in the load distribution mode and the combination mode.

【0037】 インテリジェントキュー310が、発行/参加モードで実施されると、発行者
は2以上の参加者によって読出可能なインテリジェントキューにメッセージを配
置する。この発行/参加モードでは、たとえ複数の参加者によってアクセスされ
ていても1つのメッセージのみがこのキューに保存されるように、メッセージの
重複を避けるようになっている。
When the intelligent queue 310 is implemented in publish / join mode, the publisher places the message in an intelligent queue that can be read by more than one participant. In this publish / join mode, duplicate messages are avoided so that only one message is stored in this queue even if it is accessed by multiple participants.

【0038】 インテリジェントキュー310が負荷分散モードで実施されると、このキュー
は参加者プール処理を許可する。このモードでは、インテリジェントキュー31
0は、複数の参加者の一に対して予定されている発行者からのメッセージを受け
取る。発行者は、メッセージが1以上の参加者から取出されていない限りは、ど
の参加者がメッセージを取りに来たかを気にしない。負荷分散の特徴は、平均的
なキュー時間を短縮し、ボトルネックを緩和することである。
When the intelligent queue 310 is implemented in load balancing mode, this queue allows participant pool processing. In this mode, the intelligent cue 31
0 receives messages from publishers scheduled for one of the participants. The issuer does not care which participant came to pick up the message, unless the message was picked up by one or more participants. A feature of load balancing is to reduce the average queue time and alleviate the bottleneck.

【0039】 インテリジェントキュー310は、いつでも発行/参加モードで実行されるよ
うに構成されている。他の実施の形態では、インテリジェントキュー310は、
いつでも負荷分散モードで実行されるように構成されており、またさらに他の実
施の形態では、例えばネットワーク上の情報量が所定のしきい値を越えたときの
ようないくつかの事項の誘因となるときに、負荷分散モードで実行されるように
されている。さらに、他の実施の形態では、インテリジェントキュー310は、
各個別のメッセージによって、発行/参加モード、負荷分散モード、或いはコン
ビネーションモードで実行されるようになっている。
The intelligent queue 310 is configured to run in publish / join mode at any time. In another embodiment, the intelligent cue 310 is
It is configured to run in load-balancing mode at all times, and in yet another embodiment, triggers some things, such as when the amount of information on the network exceeds a predetermined threshold. When it comes to, it is supposed to run in load balancing mode. Further, in other embodiments, the intelligent cue 310 is
Each individual message is executed in the issue / participation mode, the load distribution mode, or the combination mode.

【0040】 インテリジェントキュー310は、メッセージが入ってきたときの各状態に対
するメッセージ状態を追跡する。これらのメッセージ状態は、発行者の見通し及
び参加者の見通しから生ずるイベントに対応している。図4は、メッセージ状態
及びその変遷の一実施の形態を示している。
The intelligent queue 310 keeps track of the message state for each state as the message comes in. These message states correspond to events that arise from the perspective of the issuer and the perspective of the participants. FIG. 4 shows an embodiment of the message state and its transition.

【0041】 インテリジェントキューは、発行者の状態410と参加者の状態420との2
つのメッセージ状態のクラスを提供する。
The intelligent queue has two states: the issuer state 410 and the participant state 420.
Provides a class for one message state.

【0042】 発行者の状態410は、メッセージ発行者が、メッセージキューにメッセージ
を置いた後に、各メッセージを特定することができるようになっている。 PUT: 発行者がメッセージキューにメッセージを置く。 REVEALED: 発行者が、参加者に対してメッセージを利用可能にする
。 UNAVAILABlE:メッセージがすべての参加者に対して利用できなく
なる。 JOURNALLED: すべての対象となる参加者がメッセージを読出す。
メッセージは、ジャーナル状態(従って、拡張されたメッセージ保存時間が許可
される)となり、これにより他のメッセージ処理が実施される(例えば、システ
ム管理者によってアーカイブされること、参加者でない者によって読出されるこ
と等)。
The issuer state 410 allows the message issuer to identify each message after placing the message in the message queue. PUT: Issuer puts a message in the message queue. REVERALED: The publisher makes the message available to participants. UNAVAILABLE: The message is unavailable to all participants. JOURNALLLED: All interested participants read the message.
The message becomes journaled (thus allowing extended message retention times), which causes other message processing to be performed (eg, archived by the system administrator, read by non-participants). Things etc.).

【0043】 参加者の状態420では、発行者がインテリジェントキューにおいてメッセー
ジを利用可能とした後に、各メッセージ参加者が各メッセージの状態を特定する
ことができる。メッセージ状態の情報は、各メッセージ参加者の状態を記録し、
これにより既に読出されたメッセージが参加者によって読出されるのを防止する
。 GET: メッセージ参加者が読出プロセスを開始する。 FETCHED: メッセージ参加者がメッセージの読出しに成功するが、ま
だ終了はしていない。 INPROCESS: メッセージ参加者がメッセージを処理している。 UNUSABLE: メッセージ参加者のメッセージ読出が失敗した。 DONE: 参加者がメッセージの読出を終了したが、必要に応じてメッセー
ジを処理する。 JOURNALLED: メッセージ参加者は、参加者が読出しに成功したと
きにメッセージを終了する。必要であればメッセージが処理され、メッセージの
読出が失敗したり、メッセージが期限切れとなったりする。メッセージは、ジャ
ーナル状態(これにより延長されたメッセージ保存時間が認められる)のままにさ
れ、これにより他のメッセージ処理が実施される(例えば、システム管理者によ
ってアーカイブされること、参加者でない者によって読出されること等)。 EXPIRED: メッセージが、予め特定された期限を越えて、期限切れと
なった。この状態は、自動的に制御され、或いは発行者又は参加者によって引き
起こされる。
Participant state 420 allows each message participant to identify the state of each message after the message has been made available to the publisher in the intelligent queue. Message status information records the status of each message participant,
This prevents the already read message from being read by the participants. GET: The message participant initiates the read process. FETCHED: The message participant has successfully read the message, but has not finished. INPROCESS: The message participant is processing the message. UNABLE: The message read of the message participant failed. DONE: The participant has finished reading the message, but processes the message as needed. JOURNALLED: The message participant ends the message when the participant has successfully read it. The message is processed if necessary, and the message read fails or the message expires. The message is left in the journaled state (which allows extended message retention time), which causes other message processing to take place (for example, being archived by the system administrator, non-participant). To be read). EXPIRED: The message has expired beyond the prespecified deadline. This condition is automatically controlled or triggered by the issuer or participant.

【0044】 図4に示されている実施の形態では、いくつかの終了状態、つまりUNAVA
ILABLE状態、JOURNALLED状態、EXPIRED状態、UNUS
ABLE状態、DONE状態、及びJOURNALLED(IMPLIED)状
態がある。メッセージ状態を変更することによって、メッセージは、効率的にジ
ャーナル状態にされる。これは、アーカイブディレクトリにメッセージをコピー
したり、或いはそれを削除する必要がないからである。メッセージをコピーした
り削除するために通常要求されるリソースは、他のタスクに割り振られている。
In the embodiment shown in FIG. 4, some termination states, UNAVA
ILABLE state, JOURNALLED state, EXPIRED state, UNUS
There are an ABLE state, a DONE state, and a JOURNALLLED (IMPLIED) state. By changing the message state, the message is effectively journaled. This is because it is not necessary to copy the message to the archive directory or delete it. The resources normally required to copy or delete messages are allocated to other tasks.

【0045】 発行/参加者モードを例示するために、発行者Xが、参加者0、参加者1、及
び参加者2によって読出されるメッセージを発行したいと仮定する。発行者Xは
、メッセージが読出される順番については問題としていないが、すべての参加者
がメッセージを読出すことを確実にしたいと望んでいる。他の実施の形態では、
発行者はメッセージが読出される順番、例えば、メッセージが同時に参加者に明
らかになるような順番を指定する。
To illustrate the publish / participant mode, assume that publisher X wants to publish a message that is read by participant 0, participant 1, and participant 2. Issuer X does not care about the order in which the messages are read, but wants to ensure that all participants read the message. In other embodiments,
The issuer specifies the order in which the messages are read, eg, the order in which the messages are simultaneously visible to the participants.

【0046】 第1の例を参照すると、まず、発行者Xが、発行/参加メッセージとしてキュ
ー内にメッセージを配置する。次に、発行者Xは、参加者0、参加者1、及び参
加者2に対して該メッセージを開示する。
Referring to the first example, issuer X first places a message in the queue as an issue / join message. Next, the issuer X discloses the message to the participant 0, the participant 1, and the participant 2.

【0047】 仮に、参加者2が、次にメッセージの処理を開始し、Get(取得)状態に入る
とする。次に、参加者2は、メッセージを取出し(fetch)、Done(完了)状態
、次にJournalled(ジャーナルされた)状態に進む。
It is assumed that the participant 2 next starts processing the message and enters the Get state. Participant 2 then proceeds to fetch the message, to the Done state, and then to the Journaled state.

【0048】 参加者2が、Fetched状態にあった間、参加者0は、次に、Get状態でメッセー
ジの処理を開始し、それからメッセージを取出し、Fetched状態へ進む。参加者
0は、メッセージが、読出し可能か否かを判断し、次に、Unusable(利用不可)
状態、Journalled状態へと進む可能性がある。参加者0は、次に、メッセージを
取出し不可能であることを発行者Xに通知することができる。
While Participant 2 was in the Fetched state, Participant 0 then begins processing the message in the Get state, then retrieves the message and proceeds to the Fetched state. Participant 0 determines whether the message is readable and then Unusable
The state may progress to the Journalled state. Participant 0 can then notify issuer X that the message cannot be retrieved.

【0049】 最後に、参加者1は、Get状態においてメッセージ処理を開始し、Fetched状態
へ移ることができる。参加者1は、次に、In Process(処理中)状態においてメ
ッセージを処理し、Done状態からJournalled状態へ進むことができる。
Finally, the participant 1 can start message processing in the Get state and move to the Fetched state. Participant 1 can then process the message in the In Process state and proceed from the Done state to the Journalled state.

【0050】 参加者0、参加者1、及び参加者2が、全て、Journalled状態に入った後、次
に発行者XがJournalled状態に進む。
After all the participants 0, 1 and 2 have entered the Journalled state, the issuer X next proceeds to the Journalled state.

【0051】 この例において、負荷分散モードを説明するために、仮に、発行者Xが、参加
者0、参加者1、又は参加者2により読出されるメッセージを発行することを希
望すると仮定する。発行者Xは、どの参加者が、そのメッセージを読出すかは注
意していないが、第1の利用可能な参加者によりそれが読出されることを希望す
る。まず、発行者Xは、負荷/分散メッセージとしてキュー内にメッセージを配
置する。次に、発行者Xは、参加者0、参加者1、又は参加者2に対してそのメ
ッセージを開示する。仮に、参加者2が、そのメッセージの処理を開始し、Get
状態に入ったとする。参加者0及び参加者1向けのメッセージ状態は、参加者0
及び参加者1がフリーであり別のメッセージを処理することに応じて、Expired
(期限切れ)状態に変わり、そしてJournalled状態へと変わる。参加者2が、メ
ッセージをうまく取出してJournalled状態へ移るとすぐに、発行者Xは、メッセ
ージ状態をJournalled状態に変える。
In this example, to describe the load balancing mode, assume that publisher X wishes to publish a message read by participant 0, participant 1, or participant 2. Issuer X does not care which participant reads the message, but wants it to be read by the first available participant. First, issuer X places a message in the queue as a load / balanced message. Next, the issuer X discloses the message to the participant 0, the participant 1, or the participant 2. If participant 2 starts processing the message,
Suppose you have entered the state. The message status for participant 0 and participant 1 is participant 0
And Expired in response to participant 1 being free and processing another message
It changes to the (expired) state and then to the Journalled state. As soon as Participant 2 successfully retrieves the message and moves to the Journalled state, Issuer X changes the message state to the Journalled state.

【0052】 上記した例は、発行/参加モード又は負荷分散モードにおいて指定されたメッ
セージを処理するインテリジェントキューを示しているが、メッセージは、両方
の組み合わせとして指定可能である。例えば、発行者Xは、参加者0又は参加者
1、参加者2、及び参加者3により読出されるメッセージを発行することを希望
することができる。従って、結局は、参加者0、参加者2、及び参加者3が、読
み出されたメッセージを有するか、或いは、参加者1、参加者2、及び参加者3
が、メッセージを有することになる。
Although the examples above show intelligent queues that process specified messages in publish / join mode or load balancing mode, messages can be specified as a combination of both. For example, issuer X may wish to issue a message read by participant 0 or participant 1, participant 2, and participant 3. Therefore, in the end, the participant 0, the participant 2, and the participant 3 have the read message, or the participant 1, the participant 2, and the participant 3
Will have a message.

【0053】 まず、発行者Xは、キュー内にメッセージを配置する。一実施の形態において
、インテリジェントキューは、これを2つのメッセージとして処理することがで
き、一方のメッセージは、参加者0と参加者1との間の負荷分散を利用し、他方
のメッセージは、参加者2及び参加者3について発行/参加モードを利用する。
別の実施の形態において、発行者は、どの参加者にメッセージが開示されるかを
指定することができる。従って、参加者0又は参加者1がメッセージの処理を開
始した後、メッセージは、該メッセージを読み出さなかった参加者(達)を期限
切れとする。
First, the issuer X places a message in the queue. In one embodiment, the intelligent queue can handle this as two messages, one message utilizing load balancing between participant 0 and participant 1 and another message participating. Use issue / participation mode for person 2 and participant 3.
In another embodiment, the issuer can specify to which participant the message is disclosed. Thus, after Participant 0 or Participant 1 has begun processing a message, the message expires the Participant (s) who did not read the message.

【0054】 本発明の一実施の形態の利点は、システム障害が発生した場合、メッセージ回
復を行うことができる点にある。さらに、メッセージ回復はまた、異なるデータ
記憶装置を利用して実行されるインテリジェントキュー間の互換性を可能にする
。さらに、互換性は、データ変換、インターフェース処理、相関処理機能、及び
/又はデータ回復を可能にする。データ変換は、データを、1つの形式から、例
えばMS IQ形式からオラクルIQ形式へというような別形式への変換を可能
にする。さらに、インターフェース処理は、例えば、ネットワークプロトコル、
アプリケーションプログラミングインターフェースコール、ロングコネクション
など接続の詳細を提供することを含み得る。相関処理機能は、複数のメッセージ
を組み合わせて単独のメッセージにし、それを別のメッセージキューへ発行する
ことを含み得る。データ回復は、キュー内のメッセージを修復するための処理を
含み得る。従って、データ記憶装置の種類に拘わらず、メッセージは、システム
障害時に回復され得る。
An advantage of one embodiment of the present invention is that message recovery can be performed in the event of a system failure. Moreover, message recovery also allows compatibility between intelligent queues that are implemented utilizing different data storage devices. In addition, compatibility enables data conversion, interfacing, correlation functions, and / or data recovery. Data conversion allows conversion of data from one format to another format, for example from MS IQ format to Oracle IQ format. In addition, the interface processing may be, for example, a network protocol,
It may include providing connection details such as application programming interface calls, long connections. The correlation function may include combining multiple messages into a single message and issuing it to another message queue. Data recovery may include the process of repairing messages in the queue. Therefore, regardless of the type of data storage device, messages can be recovered in the event of a system failure.

【0055】 この例において、操作時におけるメッセージ状態の情報を利用したメッセージ
回復を示すために、図1Aにおいて示したシステムが、システム障害から回復し
つつあると仮定する。さらに、サイベースIQ140は、入って来る(inbound
)キューであり、MSMQ IQ170は、出て行く(outbound)キューである
とする。メッセージが、モジュールにより処理された場合、オリジナルメッセー
ジは、親メッセージと呼ばれ、処理されたメッセージは子メッセージと呼ばれる
。以下は、システムを修復するために利用可能な1組の修復の論理ステップの一
つである。 ステップ1: 「Revealed」とマークれていないメッセージを見つけるために
、MSMQ IQ170を通過する。これらのメッセージは、「Clean」状態を
有している。 ステップ2: 「Clean」メッセージが見つかると、パス情報を引き出してそ
のメッセージの親を見つける。そのメッセージが親を有していない場合には、ス
テップ4へ移行する。 ステップ3: 各親メッセージの状態を検査するめに、サイベースIQ140
に行く。親メッセージの一つが「Done」とマークされていたら、次に、全ての親
メッセージを「Done」とマークし、子メッセージを「Revealed」とマークする。
親メッセージが、「Done」とマークされていない場合は、全ての親メッセージを
「Clean」とマークし、子メッセージを「Deleted」とマークする。 ステップ4: メッセージが親を有していなければ、そのメッセージに「Reve
aled」とマークする。 ステップ5: MSMQ IQ170内の「Clean」メッセージが、処理(「
回復」)された後、サーベースIQ140を通過し、「Done」ではなく「Fetche
d」とマークされたメッセージを見つける。これらの「Done」ではなく「Fetched
」であるメッセージに「Clean」とマークする。 従って、POSモジュール130が、故障した場合、以下のガイドラインを利
用してメッセージを回復することができる。 シナリオ1: メッセージがサイベースIQ140へ発行され、メッセージが
取出されていない場合、ステップ1、ステップ2に移行し、その後ステップ4に
移行する。 シナリオ2: メッセージが、サイベースIQ140へ配置され、メッセージ
が「Fetced」とマークされている場合、参加者に回復させる。 信用承認モジュール180が、故障した場合、以下のガイドラインを利用して
メッセージを回復させることができる。 シナリオ1: メッセージが、「Done」とマークされていないが取出された(
fetched)場合、ステップ5に移行する。 顧客データベースモジュール150が故障した場合、以下のガイドラインを利
用してメッセージを回復させることができる。 シナリオ1: メッセージが、MSMQ IQ170へ配置されて(put)いな
いがサイベースIQ140から取出された(fetched)場合、ステップ5に移行
する。 シナリオ2: メッセージが、MSMQ IQ170へ配置されて(put)いな
いがサイベースIQ140から取出された(fetched)場合、ステップ1、ステ
ップ2に移行し、その後ステップ3へ移行する。 シナリオ3: メッセージが、サイベースIQ140から取出され(fetched
)、MSMQ IQ170へ配置され(put)、サイベースIQ140内で「Don
e」とマークされている場合、ステップ1、ステップ2に移行し、その後ステッ
プ3へ移行する。
In this example, assume that the system shown in FIG. 1A is recovering from a system failure in order to demonstrate message recovery utilizing message state information during operation. In addition, the Sybase IQ140 comes in (inbound
) Queue and the MSMQ IQ 170 is an outbound queue. When a message is processed by the module, the original message is called the parent message and the processed message is called the child message. The following is one of a set of repair logical steps that can be used to repair a system. Step 1: Go through MSMQ IQ 170 to find messages not marked "Revealed". These messages have a "Clean" status. Step 2: When a "Clean" message is found, extract the path information and find the parent of that message. If the message does not have a parent, go to step 4. Step 3: Sybase IQ140 to check the status of each parent message
go to. If one of the parent messages is marked "Done", then all parent messages are marked "Done" and child messages are marked "Revealed".
If the parent message is not marked "Done", mark all parent messages as "Clean" and child messages as "Deleted". Step 4: If the message does not have a parent, add "Reve
Mark as "aled". Step 5: The “Clean” message in MSMQ IQ 170 is processed (“
After being recovered "), it goes through the Sirbase IQ 140 and" Fetche "instead of" Done ".
Find the message marked "d". Instead of these "Done,""Fetched
Mark messages that are "Clean". Therefore, if the POS module 130 fails, the following guidelines can be utilized to recover the message. Scenario 1: If the message is issued to the Sybase IQ 140 and the message is not retrieved, the process moves to step 1 and step 2, and then to step 4. Scenario 2: If the message is placed on Sybase IQ 140 and the message is marked "Fetced", let the participant recover. If the credit approval module 180 fails, the following guidelines can be used to recover the message. Scenario 1: Message is not marked as "Done" but retrieved (
fetched), go to step 5. If the customer database module 150 fails, the following guidelines can be used to recover the message. Scenario 1: If the message has not been put into MSMQ IQ 170 but fetched from Sybase IQ 140, go to step 5. Scenario 2: If the message is not put into MSMQ IQ 170 but fetched from Sybase IQ 140, go to step 1, step 2, then go to step 3. Scenario 3: Message is fetched from Sybase IQ140
), Is put on the MSMQ IQ170 (put), and "Don
If it is marked "e", the process moves to step 1 and step 2, and then to step 3.

【0056】 上記した回復の論理は、メッセージ状態情報を利用したメッセージ回復の一実
施の形態を示しており、他の実施の形態が利用され得ることが、理解されるであ
ろう。
It will be appreciated that the recovery logic described above illustrates one embodiment of message recovery utilizing message state information, and that other embodiments may be utilized.

【0057】 一実施の形態において、メッセージ状態は、メッセージに対応したファイル内
に記録され、インテリジェントキュー索引の内に格納される。他の実施の形態に
おいて、メッセージ状態は、例えば、リンクリスト、有限状態マシン、ツリー、
グラフなど他のデータ構造内に記録可能であることが、理解されるであろう。さ
らに、他の実施の形態においては、メッセージ状態の情報は、他のメッセージに
ついての情報などを伴って、メッセージ内に配置され得る。
In one embodiment, the message state is recorded in the file corresponding to the message and stored within the intelligent queue index. In other embodiments, the message states may be, for example, linked lists, finite state machines, trees,
It will be appreciated that it can be recorded in other data structures such as graphs. Further, in other embodiments, message status information may be placed within the message, such as with information about other messages.

【0058】 図5は、メッセージオブジェクト510の一実施の形態を示す図である。メッ
セージオブジェクト510は、メッセージ識別子、発行者ID及び参加者IDな
どのメッセージ状態情報を含んでいる。さらに、それぞれの発行者と参加者に対
しては、メッセージ状態情報は、既に発生したそれぞれの状態と現在の状態に対
するタイムスタンプを含んでいる。別の実施の形態においては、他の形式のメッ
セージ情報が用いられることが分かる。例えば、一実施の形態では、メッセージ
識別子が、インテリジェントキューによって自動的に発生されるけれども、別の
実施の形態では、メッセージ識別子が、メッセージの発行者によって設定される
FIG. 5 is a diagram showing an embodiment of the message object 510. The message object 510 includes message status information such as a message identifier, an issuer ID and a participant ID. Further, for each publisher and participant, the message status information includes a timestamp for each status that has already occurred and the current status. It will be appreciated that other forms of message information may be used in alternative embodiments. For example, in one embodiment the message identifier is automatically generated by the intelligent queue, while in another embodiment the message identifier is set by the issuer of the message.

【0059】 例えば、図5は、典型的なメッセージオブジェクト510が、発行者Xによっ
て、参加者0〜2に対して、発行/参加モードで発行された場合を示している。
発行者Xは、時刻12:14:03にキューにメッセージを配置した。9秒後に
、メッセージは知らされ、参加者によって利用されるようになり読み出された。
最終的に、メッセージがすべての参加者によってジャーナルされた後、発行者X
は12:16:09にメッセージをジャーナルした。
For example, FIG. 5 illustrates a typical message object 510 issued by issuer X to participants 0-2 in issue / participate mode.
Issuer X places the message in the queue at 12:14:03. After 9 seconds, the message was informed, made available to the participant and read.
Finally, after the message has been journaled by all participants, issuer X
Journaled a message at 12:16:09.

【0060】 参加者0は、12:14:13にメッセージの処理を開始した。30秒後、参
加者0はメッセージを取出し、12:14:54にメッセージの読み出しを行っ
た。そして、参加者0は、12:15:02にメッセージをジャーナルした。
Participant 0 started processing the message at 12:14:13. After 30 seconds, participant 0 took out the message and read the message at 12:14:54. Participant 0 then journaled the message at 12:15:02.

【0061】 参加者1は、12:14:25にメッセージの処理を開始し、61秒後にメッ
セージを取出した。参加者1は、12:15:51にメッセージの処理を開始し
、10秒後に終了した。参加者1は、12:16:07にメッセージをジャーナ
ルした。
Participant 1 started processing the message at 12:14:25 and took out the message 61 seconds later. Participant 1 started processing the message at 12:15:51 and ended 10 seconds later. Participant 1 journaled the message at 12:16:07.

【0062】 参加者2は、12:15:08にメッセージの処理を開始した。参加者2は、
12:15:32にメッセージを取出し、12:15:44にメッセージが利用
不可(unusable)であることを宣言し、12:15:59にメッセージをジャー
ナルした。
Participant 2 started processing the message at 12:15:08. Participant 2 is
I retrieved the message at 12:15:32, declared the message unusable at 12:15:44, and journaled the message at 12:15:59.

【0063】 メッセージがジャーナルされた後、参加者2は発行者に、参加者2がメッセー
ジの読み出しに関する問題に遭遇したことを知らせることができ、それにより、
発行者は参加者2に対して、再度メッセージを利用できるようにすることができ
る。
After the message has been journaled, Participant 2 can inform the Issuer that Participant 2 has encountered a problem reading the message, whereby
The issuer can make the message available again to the participant 2.

【0064】 さらに、仮にシステム障害が発生したとしても、システム管理者は、参加者2
だけがメッセージを必要としており、参加者0と参加者1とは、うまくメッセー
ジを読出したということを知ることができる。
Furthermore, even if a system failure occurs, the system administrator can
Only Participants 0 and Participants 1 know that they have successfully read the message.

【0065】 インテリジェントキュー310は、キューへの情報の追加及びキューからの情
報の抽出に用いられるインテリジェントキュープロセス320を含んでいる。一
実施の形態では、インテリジェントキュープロセス320は、メッセージ受信プ
ロセス322、メッセージ状態更新プロセス324を含んでおり、また、キュー
に含まれる情報に関する情報を提供するいくつかの別のプロセス326を含んで
いる。
Intelligent queue 310 includes an intelligent queue process 320 that is used to add information to and extract information from the queue. In one embodiment, the intelligent queue process 320 includes a message receive process 322, a message status update process 324, and some other process 326 that provides information regarding the information contained in the queue. .

【0066】 メッセージ受信プロセス322は、発行者からメッセージオブジェクトを受信
し、そのメッセージオブジェクトをキューに入れる。図6は、参加者がインテリ
ジェントキューにメッセージオブジェクトを送信する、メッセージ受信プロセス
322の一実施の形態を示す図である。
The receive message process 322 receives a message object from the issuer and queues the message object. FIG. 6 is a diagram illustrating one embodiment of a receive message process 322 in which a participant sends a message object to an intelligent queue.

【0067】 開始状態でスタートし(ブロック610)、メッセージ受信プロセス322が
発行者からメッセージオブジェクトを受信する(ブロック620)。次に、メッ
セージ受信プロセスが、例えば、エラー検出、エラー修正、及び/又は発信者の
照合などのメッセージオブジェクトのチェックを実行する(ブロック630)。
次に、メッセージ受信プロセス322は、データ格納部にそのメッセージを格納
する(ブロック640)。上記のように、データの格納は、様々なデータ構造を
利用して実行される。例えば、B+ツリー、フラットファイルディレクトリ、リ
ンクリスト、ツリー、配列、データベースなどである。次に、メッセージ受信プ
ロセス322は、どの参加者がメッセージの読み出しを考えているか否かを確定
する(ブロック660)。この確定は、発行/参加モードのようなメッセージを
読み出すすべての参加者、すなわち、負荷分散モードのようなメッセージを読み
出すのに適格なすべての参加者を確定することを含んでいる。最後に、メッセー
ジ受信プロセス322は、それぞれの参加者に対して、メッセージがキューにお
いて利用可能であるということを知らせる警告を送信し(ブロック670)、終
了状態へと移行する(ブロック680)。
Starting in the start state (block 610), the message receiving process 322 receives a message object from the issuer (block 620). The message receiving process then performs checks on the message object, such as error detection, error correction, and / or caller verification (block 630).
The receive message process 322 then stores the message in the data store (block 640). As mentioned above, storage of data is performed utilizing various data structures. For example, B + tree, flat file directory, linked list, tree, array, database, etc. Next, the receive message process 322 determines which participant is considering reading the message (block 660). This determination includes determining all participants that read messages such as publish / participate mode, i.e., all participants eligible to read messages such as load balancing mode. Finally, the receive message process 322 sends an alert to each participant that the message is available in the queue (block 670) and transitions to the end state (block 680).

【0068】 メッセージ状態更新プロセス324は、発行者又は参加者から更新の要求を受
信し、索引における対応するメッセージ状態を更新する。図7は、発行者又は参
加者がインテリジェントキューに更新要求を送信する、メッセージ状態更新プロ
セス324の一実施の形態を示す図である。
The message status update process 324 receives a request for update from the issuer or participant and updates the corresponding message status in the index. FIG. 7 is a diagram illustrating one embodiment of a message state update process 324 in which an issuer or participant sends an update request to an intelligent queue.

【0069】 開始状態でスタートし(ブロック710)、メッセージ状態更新プロセス32
4は、発行者又は参加者から更新の要求を受信する(ブロック720)。更新の
要求は、例えば、Eメール、データ構造、データレコード、メッセージオブジェ
クトなどのような様々な形式である。次に、メッセージ状態更新プロセス324
は、更新要求に対応する索引のメッセージ状態情報を捜し出す(ブロック730
)。最後に、メッセージ状態更新プロセス324は、更新情報でメッセージ状態
情報を更新し(ブロック740)、終了状態へと進む(ブロック750)。例え
ば、メッセージ状態更新プロセス324は、対応するステートに現在状態の新し
いタイムスタンプを追加し、現在の状態に対応する「現在状態」フィールドの値
を変更する。
Start in start state (block 710) and update message state process 32
4 receives a request for update from the issuer or participant (block 720). Requests for updates are in various formats such as e-mail, data structures, data records, message objects, etc. Next, the message status update process 324
Locates message status information in the index corresponding to the update request (block 730).
). Finally, the message status update process 324 updates the message status information with the update information (block 740) and proceeds to the end state (block 750). For example, the message state update process 324 adds a new timestamp of the current state to the corresponding state and modifies the value of the "current state" field corresponding to the current state.

【0070】 別の実施の形態においては、メッセージ状態情報が、自動的に更新され得るこ
とが分かる。例えば、参加者がメッセージを受信した場合、インテリジェントキ
ューは、読出しが行われた時刻を自動的に記録することができる。
It will be appreciated that in another embodiment, the message status information may be updated automatically. For example, when a participant receives a message, the intelligent queue can automatically record the time when the read was made.

【0071】 インテリジェントキュープロセス320は、キューの中の情報に関する情報を
提供する別のプロセスを含むことができる。例えば、インテリジェントキューは
、キューからのメッセージのコピーを読み出し、参加者にそのコピーを送るとい
う読出メッセージプロセスを含むことができる。インテリジェントキューは、情
報にまったく変更を加えることなく、キューの中のメッセージ情報及び/又はメ
ッセージ状態情報を見ることを、外部のパーティに許可するビューメッセージプ
ロセスを含むこともできる。セットメッセージプライオリティプロセスは、キュ
ー内におけるメッセージの優先順位をセットするプロセスも含むことができる。
例えば、メッセージに関する指定された部分の情報を読み出す1組のゲットイン
フォメーションプロセスのようなものであり、そのメッセージは、メッセージサ
ブジェクト、メッセージハンドル、メッセージヘッダなどである。
Intelligent queue process 320 may include another process that provides information regarding information in a queue. For example, an intelligent queue can include a read message process of reading a copy of a message from the queue and sending that copy to the participants. Intelligent queues may also include a view message process that allows an external party to view message information and / or message status information in the queue without making any changes to the information. The set message priority process may also include the process of setting the priority of messages in the queue.
It is, for example, a set of Get Information processes that retrieve information about a specified portion of a message, which is a message subject, message handle, message header, and so on.

【0072】 本発明に係るいくつかの例、すなわちいくつかの実施の形態を示したが、上記
した例は本発明に係るいくつかの用途を説明することだけを意味しており、本発
明の技術的範囲を限定するものではない。
Although some examples according to the present invention, that is, some embodiments have been shown, the above examples are only meant to illustrate some applications according to the present invention. It does not limit the technical scope.

【0073】 本発明に係る特定の実施の形態について開示したが、これらの実施の形態は具
体例として示したものであり、本発明の技術的範囲を制限するものではない。し
たがって、本発明の技術的範囲は、特許請求の範囲及びその均等の範囲に従って
決定されるべきである。
Although specific embodiments according to the present invention have been disclosed, these embodiments are shown as specific examples and do not limit the technical scope of the present invention. Therefore, the technical scope of the present invention should be determined according to the claims and their equivalents.

【図面の簡単な説明】[Brief description of drawings]

【図1A】 図1Aは、インテリジェントキューを含むアプリケーション統
合システムの一実施の形態を示す上位レベルのブロック図である。
FIG. 1A is a high-level block diagram illustrating one embodiment of an application integration system including intelligent queues.

【図1B】 図1Bは、インテリジェントキューを含むアプリケーション統
合システムの別の実施の形態を示す上位レベルのブロック図である。
FIG. 1B is a high-level block diagram illustrating another embodiment of an application integration system including intelligent queues.

【図2A】 図2Aは、インテリジェントキューを含むアプリケーション統
合システムの別の実施の形態を示す上位レベルのブロック図である。
FIG. 2A is a high-level block diagram illustrating another embodiment of an application integration system including intelligent queues.

【図2B】 図2Bは、インテリジェントキューを含むアプリケーション統
合システムの別の実施の形態を示す上位レベルのブロック図である。
FIG. 2B is a high-level block diagram illustrating another embodiment of an application integration system including intelligent queues.

【図3】 図3は、インテリジェントキューの一実施の形態を示す上位レベ
ルのブロック図である。
FIG. 3 is a high level block diagram illustrating one embodiment of an intelligent queue.

【図4】 図4は、メッセージ状態に関する状態図の一実施の形態を示すフ
ローチャートである。
FIG. 4 is a flow chart illustrating one embodiment of a state diagram for message states.

【図5】 図5は、メッセージ情報記録の一実施の形態を示す図である。FIG. 5 is a diagram showing an embodiment of message information recording.

【図6】 図6は、メッセージ受信プロセスの一実施の形態を示すフローチ
ャートである。
FIG. 6 is a flowchart illustrating one embodiment of a message receiving process.

【図7】 図7は、メッセージ状態の更新プロセスの一実施の形態を示すフ
ローチャートである。
FIG. 7 is a flow chart illustrating one embodiment of a message status update process.

───────────────────────────────────────────────────── フロントページの続き (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 (72)発明者 ナルバンディアン ジェビック エイチ. アメリカ合衆国 91326 カリフォルニア ノースブリッジ ロスアリモス ストリ ート 18837 (72)発明者 ウォルドーフ ジェリー エイ. アメリカ合衆国 91317 カリフォルニア ウエストヒルズ グレンハーヴェン コ ート 13172 (72)発明者 イナダ ネイサン ケイ. アメリカ合衆国 91104 カリフォルニア パサデナ カサグランデ 1740 (72)発明者 スリハリ ランガスワミー アメリカ合衆国 91007 カリフォルニア アルカディア サンタクルーズ ロード 305 (72)発明者 デメトリアデス アレクサンダー アメリカ合衆国 91106 カリフォルニア パサデナ ブランチェ 1447 Fターム(参考) 5B085 AA08 AC13 AC16 BA07 BG02 5B098 AA10 GA01 GB13 GC16 JJ08─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries 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 (72) Inventor Narbandian Jevik H.             United States 91326 California               North Bridge Los Alimos Sutri             18837 (72) Inventor Waldorf Jerry A.             United States 91317 California               West Hills Glen Havenco             Red 13172 (72) Inventor Nathan Kay.             United States 91104 California               Pasadena Casa Grande 1740 (72) Inventor Srihari Langaswami             United States 91007 California               Arcadia Santa Cruz Road               305 (72) Inventor Demetriades Alexander             United States 91106 California               Pasadena Blanche 1447 F term (reference) 5B085 AA08 AC13 AC16 BA07 BG02                 5B098 AA10 GA01 GB13 GC16 JJ08

Claims (52)

【特許請求の範囲】[Claims] 【請求項1】 複数のコンピュータ媒体に亘って一貫した振る舞いを示す第
1のデータ格納タイプの第1のメッセージキュー及び第2のデータ格納タイプの
第2のメッセージキューを含んだ複数のキューを管理するように構成されたメッ
セージキュー管理システムであって、 ジャーナルされたメッセージが前記第1のメッセージキュー及び前記第2のメ
ッセージキューに保持されているジューナル状態を含み、前記第1のメッセージ
キュー及び前記第2のメッセージキューに格納されたメッセージのメッセージ状
態を追跡及び管理するように構成されたジャーナルモジュールと、 前記第1のメッセージキュー及び前記第2のメッセージキューに格納されてお
り既に処理されたメッセージを再処理しないために、複数のメッセージ状態を追
跡するように構成された1回限りのメッセージ処理モジュールと、 分散ワークフローを可能にする複数のキューの間の相互作用を調整するように
構成された互換性モジュールと、 故障の発生において、複数のキューのデータ回復を行うように構成された回復
モジュールと、 複数の発行者及び複数の参加者の制御を含む、複数のキューの集中制御を提供
するように構成された中央管理モジュールと、 前記第1のメッセージキューの中の前記メッセージが参加者プールの中の最初
の有効な参加者によって処理されるように、前記参加者プールの中の少なくとも
前記第1のメッセージキューに、複数の参加者のサブセットを指定するように構
成された負荷分散モジュールとを備えているメッセージキュー管理システム。
1. Managing a plurality of queues including a first message queue of a first data storage type and a second message queue of a second data storage type that exhibit consistent behavior across a plurality of computer media. A message queue management system configured to include a journaled message comprising a journaled state held in the first message queue and the second message queue, the first message queue and the A journal module configured to track and manage the message state of messages stored in a second message queue; and messages already stored in the first message queue and the second message queue. Track multiple message states to avoid reprocessing A one-time message processing module configured to do so, a compatibility module configured to coordinate interactions between multiple queues to enable distributed workflows, and data from multiple queues in the event of a failure. A recovery module configured to perform recovery; a central management module configured to provide centralized control of multiple queues, including control of multiple issuers and multiple participants; and the first message. Assigning a subset of participants to at least the first message queue in the participant pool so that the message in the queue is processed by the first valid participant in the participant pool A message queue management system comprising: a load balancing module configured to:
【請求項2】 負荷分散モジュールが、さらに、参加者プールの中にない参
加者と共に、少なくとも第1のメッセージキューに参加することができるように
構成されている請求項1に記載のメッセージキュー管理システム。
2. The message queue management of claim 1, wherein the load balancing module is further configured to allow participation in at least the first message queue with participants not in the participant pool. system.
【請求項3】 信頼できる通信を提供し、反復的でない配布を保証し、メデ
ィアに依存しない環境に実装されたコンピュータネットワーク用のメッセージキ
ュー管理システムであって、 少なくとも複数のメッセージ参加者が前記メッセージにアクセスし、該メッセ
ージへの追加のアクセスを許した後に、メッセージがメッセージキューに保持さ
れることとなる、複数の環境の1つの上で実行し、メッセージ発行者から受信し
たメッセージを格納し、複数のメッセージ参加者による読み出しを監視するメッ
セージキューと、 複数の前記メッセージ参加者の中の少なくとも一によってメッセージが有効に
され且つ読み出されたか否かをメッセージ状態情報が示す、メッセージのメッセ
ージ状態を追跡するように構成されたメッセージ状態モジュールと、 少なくともメッセージがメッセージキューから取り除かれるまで、対応するメ
ッセージに関連するメッセージ状態情報を選択的に保持するように構成された記
録モジュールと、 メッセージの中の複数のデータオブジェクトのタイプを送受信し、且つメッセ
ージ発行者又はメッセージ参加者として振舞う複数データメッセージシステムの
タイプと通信するように設定されたインタフェースモジュールとを備えているメ
ッセージキューシステム。
3. A message queue management system for computer networks that provides reliable communication, guarantees non-repeated distribution, and is implemented in a media independent environment, wherein at least a plurality of message participants are provided with the message. Storing the message received from the message issuer, running on one of a number of environments, where the message will be held in a message queue after accessing the message and allowing additional access to the message, A message queue that monitors reading by a plurality of message participants, and a message status of the message, the message status information indicating whether the message has been validated and read by at least one of the plurality of message participants. Message state module configured to track Sending and receiving multiple data object types in a message, with a recording module configured to selectively retain message state information associated with the corresponding message, at least until the message is removed from the message queue; And a message queuing system comprising an interface module configured to communicate with a type of multiple data message system acting as a message issuer or message participant.
【請求項4】 複数の前記データメッセージシステムの少なくとも1つが、
メッセージ発行者及びメッセージ参加者の両者として振舞う請求項3に記載のメ
ッセージキューシステム。
4. At least one of the plurality of data messaging systems comprises:
The message queue system according to claim 3, which acts as both a message issuer and a message participant.
【請求項5】 前記メッセージキューが、さらに、負荷分散を提供するよう
に構成される請求項3に記載のメッセージキューシステム。
5. The message queue system of claim 3, wherein the message queue is further configured to provide load balancing.
【請求項6】 負荷分散が、参加者のプールを使用して実行される請求項5
に記載のメッセージキューシステム。
6. The load balancing is performed using a pool of participants.
The message queue system described in.
【請求項7】 メッセージ状態情報が、複数のメッセージ参加者の少なくと
も一によって指定された順序で獲得されることを保証するために使用される請求
項3に記載のメッセージキューシステム。
7. The message queuing system of claim 3, wherein the message state information is used to ensure that it is obtained in an order specified by at least one of a plurality of message participants.
【請求項8】 メッセージが一のメッセージ参加者を対象としている請求項
3に記載のメッセージキューシステム。
8. The message queue system of claim 3, wherein the message is intended for one message participant.
【請求項9】 メッセージが複数のメッセージ参加者を対象としている請求
項3に記載のメッセージキューシステム。
9. The message queue system of claim 3, wherein the message is intended for multiple message participants.
【請求項10】 前記メッセージが、指定されたクリーンアップ処理の間、
前記メッセージキューから削除される請求項3に記載のメッセージキューシステ
ム。
10. The message is during a specified cleanup process.
The message queue system according to claim 3, wherein the message queue system is deleted from the message queue.
【請求項11】 メッセージが、システム故障の間、メッセージの回復を支
援するためにメッセージキューに保持される請求項3に記載のメッセージキュー
システム。
11. The message queue system of claim 3, wherein the message is retained in the message queue to assist in message recovery during system failure.
【請求項12】 メッセージが、メッセージの保存、メッセージの手動配布
、メッセージの編集、あるいはメッセージを再送信の少なくとも1つを支援する
ためにメッセージキューに保持される請求項3に記載のメッセージキューシステ
ム。
12. The message queue system of claim 3, wherein the message is retained in a message queue to assist in at least one of storing the message, manually distributing the message, editing the message, or resending the message. .
【請求項13】 メッセージが、複数のメッセージ参加者を対象としている
請求項3に記載のメッセージキューシステム。
13. The message queue system of claim 3, wherein the message is intended for multiple message participants.
【請求項14】 メッセージ状態情報が、メッセージ発行者状態情報及び対
応するメッセージ参加者状態情報を含む請求項3に記載のメッセージキューシス
テム。
14. The message queue system of claim 3, wherein the message status information includes message issuer status information and corresponding message participant status information.
【請求項15】 メッセージ状態情報が、メッセージの中に格納される請求
項3に記載のメッセージキューシステム。
15. The message queuing system of claim 3, wherein the message status information is stored in the message.
【請求項16】 メッセージ状態が、対象とするメッセージ参加者と関連す
るメッセージのメッセージ発行者の状態、及び個々のメッセージ参加者と関連す
るメッセージの個々のメッセージ参加者の状態を反映する請求項3に記載のメッ
セージキューシステム。
16. The message state reflects the state of the message publisher of the message associated with the message participant of interest and the state of individual message participants of the message associated with the individual message participant. The message queue system described in.
【請求項17】 メッセージ状態が、シーケンス番号、発行者状態情報及び
参加者状態情報を含む請求項3に記載のメッセージキューシステム。
17. The message queue system of claim 3, wherein the message status includes a sequence number, issuer status information and participant status information.
【請求項18】 発行者状態情報が、「unrevealed」状態に関連している情
報、「revealed」状態に関連している情報、「unavailable」状態に関連してい
る情報、及び「journalled」状態に関連している情報を含む請求項17に記載の
メッセージキューシステム。
18. Issuer status information includes information related to an "unrevealed" status, information related to a "revealed" status, information related to an "unavailable" status, and a "journalled" status. 18. The message queuing system of claim 17, including relevant information.
【請求項19】 前記参加者状態情報が、「get」状態に関連している情報
、「fetched」状態に関連している情報、「unusable」状態に関連している情報
、「expired」状態に関連している情報、「inprocessed」状態に関連する情報、
「done」状態に関連している情報、及び「journalled」状態に関連している情報
を含む請求項17に記載のメッセージキューシステム。
19. The participant status information includes information related to a "get" status, information related to a "fetched" status, information related to an "unusable" status, and an "expired" status. Related information, information related to the "inprocessed" state,
18. The message queuing system of claim 17, including information associated with the "done" state and information associated with the "journalled" state.
【請求項20】 メッセージキューが、複数の異なったデータベースプロト
コルをインタフェースするように構成される請求項3に記載のメッセージキュー
システム。
20. The message queue system of claim 3, wherein the message queue is configured to interface with multiple different database protocols.
【請求項21】 複数のデータメッセージシステムのタイプの少なくとも1
つがデータベースである請求項3に記載のメッセージキューシステム。
21. At least one of a plurality of data message system types
The message queue system according to claim 3, wherein one is a database.
【請求項22】 複数のデータメッセージシステムのタイプの少なくとも1
つがフラットファイルディレクトリである請求項3に記載のメッセージキューシ
ステム。
22. At least one of a plurality of data messaging system types
The message queue system of claim 3, wherein one is a flat file directory.
【請求項23】 複数のデータメッセージシステムのタイプの少なくとも1
つが、第2のメッセージキューシステムである請求項3に記載のメッセージキュ
ーシステム。
23. At least one of a plurality of data message system types
4. The message queue system according to claim 3, wherein one is a second message queue system.
【請求項24】 複数のデータオブジェクトの少なくとも1つがデータベー
スレコードである請求項3に記載のメッセージキューシステム。
24. The message queuing system of claim 3, wherein at least one of the plurality of data objects is a database record.
【請求項25】 複数のデータオブジェクトの少なくとも1つが電子メール
メッセージである請求項3に記載のメッセージキューシステム。
25. The message queuing system of claim 3, wherein at least one of the plurality of data objects is an email message.
【請求項26】 複数のデータオブジェクトの少なくとも1つがウェブペー
ジである請求項3に記載のメッセージキューシステム。
26. The message queue system of claim 3, wherein at least one of the plurality of data objects is a web page.
【請求項27】 複数のメッセージ発行者と複数のメッセージ参加者との間
でのメッセージキューイングの方法であって、 少なくとも一のメッセージ参加者を対象とするメッセージ発行者からのデータ
オブジェクトを受信するステップと、 前記データオブジェクトを処理し、データオブジェクト及びメッセージ情報を
含む対応するメッセージを生成するステップと、 メッセージをメッセージキューに格納するステップと、 メッセージ発行者の立場からメッセージ状態を追跡するステップと、 少なくとも一のメッセージ参加者の立場からメッセージ状態を追跡するステッ
プと、 メッセージが少なくとも一のメッセージ参加者によって読み出された後にメッ
セージキューに残留するように、選択的に該メッセージを保持するステップとを
含んでいる方法。
27. A method of message queuing between multiple message publishers and multiple message participants, wherein a data object from a message publisher intended for at least one message participant is received. Processing the data object and generating a corresponding message containing the data object and the message information; storing the message in a message queue; tracking the message state from the perspective of the message issuer; Tracking the message state from the perspective of at least one message participant, and selectively retaining the message so that it remains in the message queue after being read by the at least one message participant. Comprise How to be.
【請求項28】 メッセージキューが、複数のプラットホーム上で実行する
ように構成され得る請求項27に記載の方法。
28. The method of claim 27, wherein the message queue can be configured to run on multiple platforms.
【請求項29】 メッセージキューが、負荷分散を提供するように構成され
得る請求項27に記載の方法。
29. The method of claim 27, wherein the message queue can be configured to provide load balancing.
【請求項30】 前記メッセージキューが、参加者プール処理を提供するよ
うに構成可能である請求項27に記載の方法。
30. The method of claim 27, wherein the message queue is configurable to provide participant pool processing.
【請求項31】 前記メッセージ情報が、メッセージ識別子及びメッセージ
ヘッダを含む請求項27に記載の方法。
31. The method of claim 27, wherein the message information includes a message identifier and a message header.
【請求項32】 前記メッセージヘッダが、メッセージ状態情報を含む請求
項28に記載の方法。
32. The method of claim 28, wherein the message header includes message status information.
【請求項33】 前記メッセージヘッダが、前記メッセージ発行者及び少な
くとも一の前記メッセージ参加者のためのメッセージ状態情報を含む請求項28
に記載の方法。
33. The message header includes message status information for the message publisher and at least one of the message participants.
The method described in.
【請求項34】 前記メッセージ発行者のための前記メッセージ情報が、メ
ッセージ発行者状態に関連する情報を含み、前記メッセージ発行者状態が、「pu
t」状態、「unavailable」状態、「revealed」状態、及び「journalled」状態を
含む請求項33に記載の方法。
34. The message information for the message issuer includes information related to a message issuer state, the message issuer state being "pu.
34. The method of claim 33, including a "t" state, an "unavailable" state, a "revealed" state, and a "journalled" state.
【請求項35】 少なくとも一の前記メッセージ参加者のための前記メッセ
ージ情報が、メッセージ参加者状態に関連する情報を含み、前記メッセージ参加
者状態が、「get」状態、「fetched」状態、「unusable」状態、「expired」状
態、「inprocess」状態、「done」状態、及び「journalled」状態を含む請求項
33に記載の方法。
35. The message information for at least one of the message participants includes information related to a message participant state, the message participant state being a "get" state, a "fetched" state, an "unusable". 34. The method of claim 33, including "states,""expired" states, "inprocess" states, "done" states, and "journalled" states.
【請求項36】 前記メッセージ状態情報が、前記対応メッセージ状態のた
めのタイムスタンプを含むログに保存される請求項32に記載の方法。
36. The method of claim 32, wherein the message status information is stored in a log that includes a time stamp for the corresponding message status.
【請求項37】 複数のメッセージが複数の対応メッセージ状態を含み、前
記複数のメッセージをメッセージキューにジャーナルする方法であって、 発行者メッセージ状態及び参加者メッセージ状態を含むメッセージを受信する
ステップと、 前記メッセージをメッセージキューに配置するステップと、 前記メッセージの前記発行者メッセージ状態をジャーナル状態に変更するステ
ップと、 前記メッセージを前記メッセージキューに保持するステップとを含む方法。
37. A method of journaling a plurality of messages to a message queue, the plurality of messages including a plurality of corresponding message states, the method comprising receiving a message including a publisher message state and a participant message state. A method comprising placing the message in a message queue, changing the issuer message state of the message to a journal state, and holding the message in the message queue.
【請求項38】 前記メッセージの再処理を回避するために、前記メッセー
ジの参加者メッセージ状態を終了状態に変更するステップをさらに含む請求項3
7に記載の方法。
38. The method further comprising changing the participant message state of the message to an end state to avoid reprocessing the message.
7. The method according to 7.
【請求項39】 複数のメッセージが対応発行者状態を含み、前記複数のメ
ッセージをメッセージキューに参加者プールする方法であって、 メッセージをメッセージキューに配置するステップと、 前記メッセージが利用可能であることを複数の参加者に通知するステップと、 前記複数の参加者の一による読出しにおいて、前記発行者メッセージ状態を終
了状態に変更することによって、前記複数の参加者の他者によるメッセージの読
出しを防止するステップとを含む方法。
39. A method of pooling a plurality of messages in a message queue to a participant queue, the plurality of messages including corresponding issuer status, the step of placing the message in the message queue, the message being available. The step of notifying a plurality of participants that the message is read by one of the plurality of participants, by changing the issuer message state to an end state, a message read by another person of the plurality of participants can be performed. A step of preventing.
【請求項40】 複数のメッセージ発行者と複数のメッセージ参加者との間
でメッセージキューするためのシステムであって、 複数のメッセージ発行者及び複数のメッセージ参加者と通信し、複数のメッセ
ージ参加者の少なくとも一を対象とする、メッセージ発行者からのデータオブジ
ェクトを受信するように構成されたメッセージキューモジュールと、 対応メッセージが前記データオブジェクト及びメッセージ情報を含み、前記対
応メッセージを生成するために、前記データオブジェクトを処理するように構成
されたデータオブジェクト処理モジュールと、 メッセージ発行者の立場から、前記メッセージ状態を追跡するように構成され
た発行者追跡モジュールと、 複数の対象とするメッセージ参加者の少なくとも一の立場から、前記メッセー
ジ状態を追跡するように構成された複数の参加者追跡モジュールと、 複数の対象とするメッセージ参加者の少なくとも一によって、前記メッセージ
が読出された後に、前記メッセージキューに残る前記メッセージを選択的に保持
するように構成されたメッセージ追跡モジュールとを備えているシステム。
40. A system for message queuing between a plurality of message issuers and a plurality of message participants, the system comprising: communicating with a plurality of message issuers and a plurality of message participants; A message queue module configured to receive a data object from a message issuer for at least one of: a corresponding message including the data object and message information; A data object processing module configured to process a data object, an issuer tracking module configured to track the message state from the perspective of a message issuer, and at least one of a plurality of message participants of interest. From one standpoint, A plurality of participant tracking modules configured to track message status and at least one of a plurality of targeted message participants selectively selects the messages remaining in the message queue after the messages have been read. And a message tracking module configured to hold the system.
【請求項41】 前記メッセージキューモジュールが、さらに負荷分散を提
供するように構成されている請求項40に記載のシステム。
41. The system of claim 40, wherein the message queue module is further configured to provide load balancing.
【請求項42】 前記メッセージキューモジュールが、さらに参加者プーリ
ングを提供するように構成されている請求項40に記載のシステム。
42. The system of claim 40, wherein the message queue module is further configured to provide participant pooling.
【請求項43】 前記メッセージ情報が、メッセージ識別子及びメッセージ
ヘッダを含む請求項40に記載のシステム。
43. The system of claim 40, wherein the message information includes a message identifier and a message header.
【請求項44】 前記メッセージヘッダが、前記メッセージ発行者及び前記
少なくとも一のメッセージ参加者のためのメッセージ状態情報を含む請求項41
に記載のシステム。
44. The message header includes message status information for the message publisher and the at least one message participant.
The system described in.
【請求項45】 前記メッセージ情報が、メッセージ状態情報を含む請求項
40に記載のシステム。
45. The system of claim 40, wherein the message information comprises message status information.
【請求項46】 前記メッセージ状態情報が、前記対応メッセージ状態のた
めのタイムスタンプを含むログに保存される請求項45に記載のシステム。
46. The system of claim 45, wherein the message status information is stored in a log that includes a time stamp for the corresponding message status.
【請求項47】 参加者による読出しのために発行者から受信したメッセー
ジをキューする方法であって、 キューインターフェースモジュールが複数のデータベースプロトコルとインタ
ーフェースをとるように構成可能であり、キュー及び前記キューインターフェー
スモジュールを用いてメッセージを保存するステップと、 すべての対象とする参加者によってメッセージが読出された時間を越えて、メ
ッセージ保存を拡張するステップと、 一回限りの配信を実行するためにメッセージ状態を追跡するステップとを含む
方法。
47. A method of queuing a message received from an issuer for reading by a participant, wherein the queue interface module is configurable to interface with multiple database protocols, the queue and the queue interface. Save the message using the module, extend the message save beyond the time the message was read by all intended participants, and set the message state to perform a one-time delivery. Tracking step.
【請求項48】 メッセージ状態を追跡するステップが、メッセージ発行者
状態及びメッセージ参加者状態に関連する情報追跡するステップを含む請求項4
7に記載の方法。
48. Tracking message status comprises tracking information related to message publisher status and message participant status.
7. The method according to 7.
【請求項49】 前記メッセージ発行者状態が、「put」状態、「unavailab
le」状態、「revealed」状態、及び「journalled」状態を含む請求項48に記載
の方法。
49. The message issuer status is "put" status, "unavailab"
49. The method of claim 48, including a "le" state, a "revealed" state, and a "journalled" state.
【請求項50】 前記メッセージ発行者状態が、「get」状態、「fetched」
状態、「unusable」状態、「expired」状態、「inprocess」状態、「done」状態
、及び「journalled」状態を含む請求項48に記載の方法。
50. The message issuer status is “get” status, “fetched”
49. The method of claim 48, including states, "unusable" states, "expired" states, "inprocess" states, "done" states, and "journalled" states.
【請求項51】 参加者による読出しのために、発行者から受信したメッセ
ージをキューするシステムであって、 キューインターフェースモジュールが複数のデータベースプロトコルとインタ
ーフェースをとるように構成可能であり、キュー及び前記キューインターフェー
スモジュールを用いてメッセージを保存する手段と、 すべての対象とする参加者によってメッセージが読出された時間を越えて、メ
ッセージ保存を拡張する手段と、 一回限りの配信を実行するためにメッセージ状態を追跡する手段とを備えてい
るシステム。
51. A system for queuing a message received from an issuer for reading by a participant, the queue interface module being configurable to interface with a plurality of database protocols, the queue and the queue. A means to store messages using the interface module, a means to extend message storage beyond the time the message was read by all intended participants, and message status to perform one-off delivery. And a means for tracking the system.
【請求項52】 第1のタイプのデータ保存を用いて実行される第1のメッ
セージキューと、第2のタイプのデータ保存を用いて実行される第2のメッセー
ジキューとの間のメッセージ通信を修復する方法であって、 開示されていないメッセージの所在を確認するために、前記第1のメッセージ
キューを処理するステップと、 開示されていないメッセージに関して、 前記メッセージの親メッセージを発見するためにパス情報を引き出し、 前記第2のメッセージキューの中の前記親メッセージの状態を検査し、 前記親メッセージの少なくとも1つが「done」とマークされている場合、親
メッセージに「done」と、前記メッセージに「revealed」とマークし、 前記親メッセージが「done」とマークされていない場合、親メッセージに「
clean」と、そして前記メッセージに「deleted」とマークし、且つ 親が存在しない場合、前記第2のメッセージキューの中の前記メッセージに
「revealed」とマークするステップと、 「clean」とマークされたメッセージを回復するステップと、 「done」ではなく「fetched」とマークされたメッセージを発見するために、
前記第2のメッセージキューを処理するステップと、 「done」ではなく「fetched」がマークされた前記メッセージを「clean」とマ
ークするステップとを含む方法。
52. A message communication between a first message queue performed with a first type of data retention and a second message queue performed with a second type of data retention. A method of repairing, processing the first message queue to confirm the location of an undisclosed message, and for an undisclosed message, a path to discover a parent message of the message. Deriving information, checking the status of the parent message in the second message queue, and if at least one of the parent messages is marked as "done", the parent message is "done" If marked as "revealed" and the parent message is not marked as "done",
"clean", and marking the message as "deleted" and if the parent does not exist, marking the message as "revealed" in the second message queue, and marked "clean" To recover the message and to find the message marked as "fetched" instead of "done"
A method comprising: processing the second message queue; and marking the message marked "fetched" instead of "done" as "clean".
JP2001535831A 1999-11-01 2000-11-01 Message queuing system and method Pending JP2003524827A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16292799P 1999-11-01 1999-11-01
US60/162,927 1999-11-01
PCT/US2000/041737 WO2001033407A2 (en) 1999-11-01 2000-11-01 Systems and methods of message queuing

Publications (1)

Publication Number Publication Date
JP2003524827A true JP2003524827A (en) 2003-08-19

Family

ID=22587708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001535831A Pending JP2003524827A (en) 1999-11-01 2000-11-01 Message queuing system and method

Country Status (6)

Country Link
EP (1) EP1287439A2 (en)
JP (1) JP2003524827A (en)
KR (1) KR20020070274A (en)
AU (1) AU2620701A (en)
CA (1) CA2389530A1 (en)
WO (1) WO2001033407A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277725A (en) * 2005-03-28 2006-10-12 Microsoft Corp Using subqueues to enhance local message processing

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378782B (en) 2001-08-16 2005-04-13 Sun Microsystems Inc Message brokering
GB2378781B (en) 2001-08-16 2005-06-01 Sun Microsystems Inc Message brokering
WO2004008702A1 (en) * 2002-07-11 2004-01-22 Ravi Shankar Using smart nomadic objects to implement secure distributed multimedia messaging applications and services
DE602006007269D1 (en) 2005-04-18 2009-07-30 Research In Motion Ltd METHOD FOR TRANSMITTING COMMUNICATION VIA A NON-CONTINUOUS COMMUNICATION CONNECTION
EP1988461B1 (en) * 2007-04-30 2016-04-20 Accenture Global Services Limited Alternating processing method, system, and computer program product
US8869169B2 (en) 2007-04-30 2014-10-21 Accenture Global Services Limited Alternately processing messages
GB2533328A (en) 2014-12-16 2016-06-22 Ibm Message processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2148459C (en) * 1993-10-08 2000-01-11 Paul Clarke Message transmission across a network
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
EP0992142A2 (en) * 1997-06-24 2000-04-12 Nortel Networks Limited Asynchronous message processing system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277725A (en) * 2005-03-28 2006-10-12 Microsoft Corp Using subqueues to enhance local message processing

Also Published As

Publication number Publication date
AU2620701A (en) 2001-05-14
EP1287439A2 (en) 2003-03-05
WO2001033407A3 (en) 2002-12-05
CA2389530A1 (en) 2001-05-10
WO2001033407A2 (en) 2001-05-10
KR20020070274A (en) 2002-09-05

Similar Documents

Publication Publication Date Title
US6970945B1 (en) Systems and methods of message queuing
JP3892987B2 (en) Message broker data processing apparatus, method, and recording medium
WO2020238365A1 (en) Message consumption method, apparatus and device, and computer storage medium
JP3443057B2 (en) Method and system for distributing an application from a server to a client
US20020027567A1 (en) Listing network for classified information
JP2002528966A (en) Method and apparatus for deploying service modules in service nodes distributed to an intelligent network
CA2348887A1 (en) Method and apparatus for data management using an event transition network
JP2003520363A (en) Data maintenance method in a partially replicated database system network
MXPA04006722A (en) Integration integrity manager.
JP2009504030A (en) Revenue management system and method
CN111367887A (en) Multi-tenant data sharing system, management method thereof and database deployment method
US20140092737A1 (en) Traffic control method and traffic control apparatus
CN103679048A (en) Systems and methods for data privacy and destruction in multi-system landscapes
US8301750B2 (en) Apparatus, system, and method for facilitating communication between an enterprise information system and a client
JP2003524827A (en) Message queuing system and method
US7133913B2 (en) Information routing
US6799172B2 (en) Method and system for removal of resource manager affinity during restart in a transaction processing system
US7680838B1 (en) Maintaining data synchronization in a file-sharing environment
JP2018537778A (en) Network bridge for local transaction authorization
JP3471203B2 (en) Network system
JP2003085007A (en) Digital information degradation method, device and program
CN114625729A (en) Business data storage method and device, electronic equipment and storage medium
US7870098B2 (en) Method and system for maintaining historical data for data receivers
CN115423467A (en) Data summarization method, device, electronic equipment, storage medium and program product
CN112651690A (en) End three-party mail service docking method, device and system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060531