JP2011511976A - メッセージング・ネットワークにおけるメッセージ配布の方法、システム、装置およびコンピュータ・プログラム - Google Patents

メッセージング・ネットワークにおけるメッセージ配布の方法、システム、装置およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2011511976A
JP2011511976A JP2010543469A JP2010543469A JP2011511976A JP 2011511976 A JP2011511976 A JP 2011511976A JP 2010543469 A JP2010543469 A JP 2010543469A JP 2010543469 A JP2010543469 A JP 2010543469A JP 2011511976 A JP2011511976 A JP 2011511976A
Authority
JP
Japan
Prior art keywords
message
response
management systems
request
message management
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
JP2010543469A
Other languages
English (en)
Inventor
バンクス、アンドリュー、デーヴィッド
ベアダル、ギャヴィン、デーヴィッド
ホブソン、ステファン、ジェームズ
ヴァンストーン、イアン、チャールズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011511976A publication Critical patent/JP2011511976A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Abstract

【課題】メッセージング・ネットワークにおけるメッセージ配布の方法およびシステムを提供する。
【解決手段】本発明のシステムは消費される前にアプリケーションにより識別可能なメッセージのための複製キュー451を提供する。複製キュー451は複数のメッセージ管理システム411ないし413上に定義される。複数のメッセージ管理システム411ないし413のうちの任意の一つを介してアクセス可能な複数の複製キュー451の各々にメッセージが送られる。本発明の方法は一意的な識別子を含むメッセージを生成し、複数の複製キュー451の各々に前記メッセージを書き込む。なお、前記メッセージはメッセージを読む前にその一意的な識別子により識別可能である。
【選択図】図6

Description

本発明はメッセージング・ネットワークにおけるメッセージ配布の技術分野に関し、特にコンシューマー(consumer)により消費される(consumed)前に一意的に識別され得るメッセージの配布に関する。
消費される前に一意的に識別され得るメッセージの例はリクエスト/応答システムにおける応答メッセージである。メッセージング・ネットワークの中では、リクエスト・システムがリクエストを送り、応答を受ける。そして応答システムがリクエストを受け、応答を送る。
リクエスト・システムが接続する複数のメッセージ管理システムを提供することにより、かつリクエスト・システム接続を利用することが可能なメッセージ管理システムにルート付けするワークロード・バランシング機構を用いることによって、或るレベルの高い可用性がメッセージング・ネットワークのフロントエンドで達成されることができる。応答システムが接続することができる複数のメッセージ管理システムを提供することにより、かつリクエスト・メッセージを、利用可能なバックエンド・メッセージ管理システムにルート付けするフロントエンド上のワークロード・バランシング機構を用いることによってバックエンドももっと利用されやすくなる。リクエストは、フロントエンドもしくはバックエンドのメッセージング管理システムが利用できない場合でさえ処理され続けることができる。
全般的な問題は、親和性(affinities)が存在するときの応答のルート付けに関連する可用性の課題である。応答はバックエンド・メッセージング管理システムによって特定のフロントエンド・メッセージング管理システムに典型的にはルート付けされ、ワークロードはバランスされない。ここで使用されるフロントエンド・メッセージング管理システムは、ここを介して対応するリクエスト・メッセージが送られるものである。これはリクエスト・システムがリクエストを典型的には送り、その同じメッセージング管理システムに、リクエスト・システムがその対応する応答を受け取るまで接続され続けるからである。その応答とフロントエンド・メッセージング管理システムとの間に親和性が生まれる。これは、リクエスト・システムのワーク(リクエストを送り、応答を受け取る)を完遂することがそのリクエストを送ったメッセージング管理システムの連続する可用性に依存するが故に、フロントエンドでの応答の可用性に対する問題を生じる。もしメッセージング管理システムが、リクエストがバックエンドにルート付けされた後その応答がフロントエンドにルート付けされる前に障害が起こるなら、その応答はそのフロントエンドのメッセージング管理システムが利用可能になるまでバックエンドで保持される。
もしリクエスト・システムがフロントエンド・メッセージング管理システムからそれがリクエストを送った後で応答を受け取る前に接続を切ったり接続を切られたりしたら問題がある。リクエスト・システムの接続はワークロード的にバランスされる。従って、リクエスト・システムが(応答を受け取るために)再接続するとき、その接続はそれが元々接続されていたのとは別のフロントエンド・メッセージング管理システムに接続されてワークロードのバランスをとることがあり得る。この結果、正しいフロントエンド・メッセージング管理システムに再接続されるまで、その応答がリクエスト・システムには利用できない状況が生じる。
この問題に対する既知の解決策の一つはリクエスト・システムのためにそれらの状態次第で別個の接続論理を使用することである。リクエストを送る前に、その接続はワークロードのバランスをとり、リクエストを送った後その応答を受け取る前はワークロードのバランスをとらないが、リクエスト・システムが親和性を有するメッセージング管理システムにその接続がなされる。
本発明の第1の側面によれば、メッセージング・ネットワークにおけるメッセージ配布方法であって、一意的な識別子を含むメッセージを生成するステップと、複数個の複製キューの各々に前記メッセージを送るステップとを含み、前記メッセージは消費される前に前記一意的な識別子により識別可能である、メッセージ配布方法が提供される。
本発明の第2の側面によれば、メッセージング・ネットワークにおけるメッセージ配布システムであって、1個または複数個のプロセッサ上に提供される複数個のメッセージ管理システムを含むメッセージング・ネットワークと、前記メッセージが読み出される前にアプリケーションにより識別されるように動作可能なメッセージのための複製キューであって、複数個のメッセージ管理システム上で定義可能な前記複製キューとを含み、複数個のメッセージ管理システムのうちのいずれか一つを用いてアクセス可能である複数個の複製キューの各々にメッセージが送られるところのメッセージ配布システムが提供される。
本発明の第3の側面によれば、メッセージング・ネットワークにおけるメッセージ配布のためにコンピュータ読取り可能なストレージ媒体上にストアされたコンピュータ・プログラムであって、一意的な識別子を含むメッセージを生成するステップと、前記メッセージを複数個の複製キューの各々に送るステップとを実行するコンピュータ読取り可能なプログラム・コード手段を含み、応答メッセージは消費される前に前記一意的な識別子により識別可能にされているような、コンピュータ・プログラムが提供される。
この解決策には2つのキーとなる部分がある。
1)特定のフロントエンド・メッセージング管理システムに一つの応答が送られる代わりに、全てのフロントエンド・メッセージング管理システムに応答が送られるように応答が複製される。
2)リクエスト・システムが応答メッセージを受け取るために任意のフロントエンド管理システムに接続することができる。他のフロントエンド・メッセージング管理システム上の応答メッセージは自動的に削除される。
本発明の目的は、リクエスト・システムがリクエストを送った同じメッセージング管理システムからの応答を受け取る必要性を無くすことによってリクエスト・システムへの応答の可用性を増すことにある。本発明はまたリクエスト・システムにおける別個の接続論理の必要性を無くして、それらがそのリクエスト・システムの状態に拘わらず、利用可能なメッセージ管理システムに対しワークロードのバランスをとることを、そして任意のフロントエンド・メッセージング管理システムで応答を受け取ることを許容する。
本発明とみなされる主題が詳しく指摘され、特許請求の範囲として明示されている。本発明は構成、動作方法の両方についてその目的、特徴および効果もともに、以下の詳細な記述を添付図面とともに参照して読むときもっともよく理解され得る。
従来技術で知られたようなメッセージング・システムの概略図である。 本発明が実施され得るコンピュータ・システムのブロック図である。 本発明のいろいろな側面による処理のフローチャートである。 本発明のいろいろな側面による処理のフローチャートである。 本発明のいろいろな側面による処理のフローチャートである。 本発明によるシステムのブロック図である。 本発明によるメッセージ・フローを示すシステムの実施例のブロック図である。
説明の簡潔さおよび明瞭さのため、図に示す要素は必ずしも縮尺比が正確ではないことを理解されたい。例えば、幾つかの要素の寸法は明瞭さのために他の要素に対し誇張されているかもしれない。更に、適切と考えられる場合は、対応する特徴または類似の特徴を示すために図相互間で参照番号が反復されることもある。
以下の詳細な説明では、本発明の完全な理解を提供するために幾多の特定の詳細が開示されている。しかし、本発明がこれらの詳細がなくても実施され得ることが当業者には理解できよう。他の例では、周知の方法、手順およびコンポーネントが、本発明を不明瞭にしないために詳細には説明されていない。
図1には、メッセージング・ネットワーク・システム100が従来技術で知られたものとして示されている。メッセージング・ネットワーク・システム100の中では、リクエスト・システム101ないし103(リクエストを送り、応答を受ける)および応答システム104ないし106(リクエストを受け、応答を送る)が、別のメッセージ管理システム111ないし113、121ないし123に接続されていてもよい。メッセージング・ネットワーク・システム100はフロントエンドのメッセージ管理システム111ないし113をリクエスト・システム101ないし103の接続のために用い、バックエンドのメッセージ管理システム121ないし123を応答システム104ないし106のために用いる。メッセージ管理システム111ないし113,121ないし123は、例えばキュー・マネジャであってもよい。
或るレベルの高い可用性がメッセージング・ネットワークのフロントエンドで達成されることができる。これはリクエスト・システム101ないし103が接続することができる幾つかのフロントエンドのメッセージ管理システム111ないし113を提供し、かつリクエスト・システムの接続を利用可能なメッセージ管理システム111ないし113にルート付けするワークロード・バランシング機構131(例えば、IPロード・バランサまたはメッセージング管理システム機能)を用いることにより達成されることができる。例えば、図1ではチャネル132がリクエスト・システム102から(ワークロード・バランシングにより選択された)メッセージング管理システム112にでき、そこを通じてメッセージが流れるように示されている。
応答システム104ないし106が接続することができる幾つかのメッセージ管理システム121ないし123を提供することによってバックエンドがもっと利用することができるようになる。フロントエンド・メッセージ管理システム111ないし113上のワークロード・バランシング機構133がリクエストを、利用可能なバックエンド・メッセージング管理システム121ないし123にルート付けする。例えば、図1はバックエンド123に参照番号134で示すようにルート付けられたリクエストと、フロントエンド112に参照番号135で示すようにルート付けされた応答を示す。
メッセージング・ネットワーク・システム100は、リクエスト・システム101から応答システム123にフロントエンドないしバックエンドのメッセージ管理システムの111ないし113、121ないし123を介して、その1個もしくは複数個のフロントエンドもしくはバックエンドのメッセージング管理システムが利用できないとしても、リクエストを送ることによって、リクエストを処理し続けることができる。
図2を参照すると、メッセージング管理システムが実装されていてもよい実施例のシステムは、バス・システム203を介してメモリ・エレメントに直接的にまたは間接的に結合された少なくとも1個のプロセッサ201を含むプログラム・コードをストアしおよび/もしくは実行するのに適するデータ処理システム200を含む。そのメモリ・エレメントは、そのプログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置およびキャッシュ・メモリを含むことができる。そのキャッシュ・メモリは実行中に大容量記憶装置からプログラム・コードが取出されなければならない回数を少なくするために少なくとも幾つかのプログラム・コードの一時的なストレージを提供する。
このメモリ・エレメントはシステム・メモリ202を読取専用メモリ(ROM)204およびランダム・アクセス・メモリ(RAM)205の形態で含むことができる。基本入出力システム(BIOS)206がROM204にストアされていてもよい。システム・ソフトウエア207がRAM205にストアされ、オペレーティング・システム(OS)ソフトウエア208を含んでいてもよい。RAM205にはソフトウエア・アプリケーション210もまた含まれていてもよい。
システム200はまた磁気ハードディスク・ドライブのような1次ストレージ手段211および磁気ディスク・ドライブおよび光ディスク・ドライブのような2次ストレージ手段212を含んでもよい。これらのドライブおよびその関連するコンピュータ読取り可能な媒体がシステム200のためにコンピュータ実行可能な命令、データ構造、プログラム・モジュールおよび他のデータの不揮発性ストレージを提供する。ソフトウエア・アプリケーションはまた1次ストレージ手段211、2次ストレージ手段212およびシステム・メモリ202にストアされていてもよい。
コンピューティング・システム200は、1個もしくは複数個の遠隔コンピュータへのネットワーク・アダプタ216を介しての論理接続を用いて、ネットワーク環境で動作してもよい。
入出力装置213は、直接的にまたは介在するI/Oコントローラを介してそのシステムに結合され得る。ユーザーはコマンドおよび情報をキーボード、ポインティング装置または他の入力装置(例えば、マイクロフォン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ(パラボラ・アンテナ)、スキャナー等)などの入力装置を介してシステム200に入力してもよい。出力装置がスピーカー、プリンタ等を含んでもよい。ディスプレイ装置214もシステム・バス203にビデオ・アダプタ215などのインターフェースを介して接続されてもよい。
メッセージング管理システムはまたレジストリを定義するプログラム、メッセージング管理システム定義、およびローカル・デフォールト・キュー定義を含む。
ここに記述された方法およびシステムでは、特別のタイプのキューが提供され、これがメッセージを保持するのに使用される。このキューは、複製されたキューすなわち複製キュー(replicated queue、RQ)と呼ばれる。RQはコンシューマーがメッセージ(例えば、特有の識別子を備えた応答メッセージ)を受取ってしまう前にコンシューマーによって一意的に識別され得るメッセージ用に設計される。
RQは複数のメッセージ管理システム上で各メッセージング管理システム上の手動の定義、または一つの手動の定義および他の管理システム上で定義を複製するための自動定義メカニズムのいずれかを用いて定義される。自動定義メカニズムを用いると、RQの動的生成(例えば、アプリケーションの挙動に応答して定義されるもの)をよりよくサポートする。メッセージング・ネットワークにおけるメッセージング管理システムはメッセージング・ネットワークにおけるRQを自動的に気付くようにさせられる。
メッセージがRQに送られるとき(例えば応答メッセージ)、それは一意的な識別子を持たねばならない。この一意的な識別子はアプリケーションまたはメッセージング管理システムによって特定され得る。メッセージング管理システムまたはアプリケーションのいずれかがメッセージを複製し、その結果、RQをホストするメッセージング・ネットワークにおける全てのメッセージング管理システムがコピーを受け取る。この複製されたメッセージが任意のメッセージング技法を用いて送られる。
RQをホストする各メッセージング管理システムは複製されたメッセージのコピーを受け取る。アプリケーションは、一意的な識別子によって識別され、RQをホストするいずれかのメッセージング管理システムに接続することができる。
アプリケーションが複製されたメッセージのうちの一つを一旦消費してしまうと、そのワークを完遂するが、そのRQをホストする他のメッセージング管理システムがそのメッセージのコピーをなおも保持している。これらの残りのメッセージはシステム・リソースを用い、従って削除されるべきである。この削除が自動的に実行されることが有利である。
メッセージがアプリケーションにより消費されるとき、そのメッセージ管理システムはRQをホストする全ての他のメッセージ管理システムに通知メッセージを送る。その通知メッセージは任意のメッセージング技法を用いて送られる。
この通知メッセージは応答が送られたRQの名称および消費されたメッセージの一意的な識別子の両方を含む。この通知メッセージはメッセージ削除コンポーネントに配布される。このコンポーネントは外部プログラムか、またはそのメッセージング・システムの一部であり得る。
そのメッセージ削除コンポーネントが通知メッセージを受け取ると、それはその一意的に特定されたメッセージをその特定のRQから削除する。他のRQ上の応答メッセージはアプリケーションがそのメッセージを受け取った後幾らかの時間存在していてもよい。これらのメッセージがRQに留まるのは受け入れ可能である。なぜならそれらの存在が他のアプリケーションに悪影響を与えないからである。これは、アプリケーションが、一意的な識別子を用いて、メッセージを消費するからであり、またこれらのメッセージの識別子が他のアプリケーションにより消費されるものと一致しないからである。
メッセージ削除コンポーネントが、その対応する複製されたメッセージがRQ上に到達する前に通知メッセージを受け取ることがあり得る。従って、その対応する複製されたメッセージが利用可能でないような通知メッセージが保持される。その対応する複製されたメッセージが到達するとき、それとその保持された通知メッセージの両方が削除される。
通知メッセージまたは複製メッセージのいずれかが特定のメッセージ管理システムに到達しないことがあり得る。例えば、メッセージ管理システム相互間の通信リンクがダウンしている場合、またはメッセージが時間切れの場合である。通知がその複製されたメッセージと同じ時間満了を有する。
要約すると、以下の手順を取る。
・メッセージがRQに送られると、その送り手の側にあるメッセージ管理システムがそのRQのインスタンスごとにメッセージを複製する。
・複製されたメッセージがアプリケーションにより受け取られると、RQ上に保持された他のレプリカが自動的に削除される。
以下の例は応答を送るためにRQがどのように使用され得るかを説明する。
図3では、フローチャート310がリクエスト・システムにより実行されるプロセスのステップが示される。リクエスト・システムはメッセージング・ネットワークに接続し(ステップ311)、特定のフロントエンド・メッセージング管理システムに対しワークロードがバランスされている。リクエスト・システムはRQとして応答の宛先付きのリクエストを生成し、そのリクエストの識別子を保存する(ステップ312)。リクエスト・システムはそのリクエストを送る(ステップ313)。リクエスト・システムは接続を遮断することができるか、または接続が失敗する可能性がある(ステップ314)。
メッセージ・ネットワークのワークロード・バランス機構が、そのリクエストが送られるバックエンドのメッセージング管理システムを実行し、選択する。
図4では、リクエストが送られるバックエンドのメッセージング管理システムに接続された応答システムにより実行されるプロセス・ステップをフローチャート320が示す。応答システムがリクエストを消費する(ステップ321)。応答システムが応答を生成し、その応答の中にリクエストからの識別子をコピーする(ステップ322)。応答システムはリクエスト中に特定された宛先にその応答を送る(ステップ323)。メッセージング管理システムは特定された宛先がRQであることに気付き、そのRQをホストする全てのメッセージ管理システムにその応答を送る(ステップ325)。
図5では、リクエスト・システムが再接続するときそれによって実行されるプロセスをフローチャート330が示す。リクエスト・システムが再接続し、複数のフロントエンドのメッセージ管理システムのうちの任意の一つへのワークロードがバランスされる(ステップ331)。リクエスト・システムはそのリクエストからその保存された識別子を、その応答を選択的に受け取るために特定し(ステップ332)、そして接続を遮断する(ステップ333)。メッセージング管理システムがその応答をリクエスト・システムに配布するとき、それはそのRQの名称および消費されてきた応答の識別子を含む通知メッセージを生成する(ステップ334)。メッセージング管理システムがその通知メッセージをその特定されたRQの他のホストに送る(ステップ335)。削除通知コンポーネントがその特定された応答を削除する。
システム・ダイアグラムが図6に示されるが、そこにはフロントエンド・メッセージ管理システム411ないし413およびバックエンド・メッセージ管理システム421ないし423を含むメッセージング・ネットワーク410を備えたメッセージング・システム400が示される。リクエスト・システム接続421ないし423がフロントエンドのメッセージ管理システム411ないし413の一つにロード・バランスされる(第1のロード・バランシング機構440)。第2のロード・バランシング機構441がフロントエンドのメッセージ管理システム411ないし413からバックエンドのメッセージ管理システム414ないし416にリクエストをロード・バランスする。応答システム431ないし433がバックエンドのメッセージ管理システム414ないし416に接続される。
バックエンドのメッセージ管理システム414ないし416は各々がリクエストの宛先450をホストし、フロントエンドのメッセージ管理システム411ないし413の各々がRQ451をホストする。
一実施例では、RQが特別のタイプのクラスタ・キューとして実装され得る。ある実装例は、WebSphere MQクラスタ(WebSphere MQはインターナショナル・ビジネス・マシーンズ・コーポレーションの商標)のコンテキスト(context)に記述されている。メッセージング・ネットワークはWebSphere MQクラスタにおけるキュー・マネジャの形式で提供されることができる。その際そのクラスタ中のキュー・マネジャはそのクラスタにおけるRQに自動的に気付かされる。メッセージ消費システムが応答メッセージを生成するとき、それはメッセージの生成システムがリクエストおよび応答を相互に関連付けるのを許容するように、MQMD.MsgldをMQMD.CorrelIdにコピーすることにより、リクエスト・メッセージから応答メッセージへ情報をコピーする。リクエストを最初に書き込んだメッセージ消費システムはフロントエンドのキュー・マネジャのいずれかに接続もしくは再接続したままであり、そのキュー・マネジャ上のRQ上に保持される応答メッセージを受け取る。そのアプリケーションはMQMD.CorrelIdのその相互関連情報を、それが関連する特定の応答メッセージを受け取るために用いる。
図7を参照すると、図6のメッセージング・システム400がキュー・マネジャ411ないし416の形式でメッセージ管理システムのWebSphere MQクラスタ410(MYCLUS)のコンテキスト中に示される。3個のバックエンド・キュー・マネジャ414ないし416(QM4、QM5、QM6)および3個のフロントエンド・キュー・マネジャ411ないし413(QM1、QM2、QM3)が示される。メッセージ生成クライアント・アプリケーション421ないし423がロード共有機構440を介してフロントエンド・キュー・マネジャ411ないし413のうちの一つに接続し、リクエスト・メッセージを、全てのバックエンド・キュー・マネジャ414ないし416上でホストされるクラスタ・キュー450(REQ.Q)に書き込み、それから接続を遮断する。バックエンド・キュー・マネジャ414ないし416に接続されたメッセージ消費アプリケーション431ないし433はクラスタ・キュー450(REQ.Q)からリクエスト・メッセージを取り出しRQキュー451(REP.Q)に応答メッセージを書き込む。少し経ってから、いずれかのフロントエンド・キュー・マネジャ411ないし413からその応答が取り出せる。
リクエスト・キューが以下の通り作成される。
!QM4 DEF QL(REQ.Q) CLUSTER(MYCLUS)
!QM5 DEF QL(REQ.Q) CLUSTER(MYCLUS)
!QM6 DEF QL(REQ.Q) CLUSTER(MYCLUS)
応答キューが以下の通り作成される。
!QM1 DEF RQ(REP.Q) CLUSTER(MYCLUS)
!QM2 DEF RQ(REP.Q) CLUSTER(MYCLUS)
!QM3 DEF RQ(REP.Q) CLUSTER(MYCLUS)
RQが一旦定義されると、その上でそれが定義されるキュー・マネジャは自動的にそのキューに関係する情報(例えば、通知メッセージ)を受領するよう登録される(subscribe)。
下記のステップ(図7参照)が、単一のリクエストおよび応答のための振る舞いを説明する。
1)メッセージ生成クライアント・アプリケーションが接続し、特定のフロントエンド・キュー・マネジャに対しワークロードがバランスされる(例えば、IPロード・バランサもしくはWebSphere MQクライアント・チャネル定義テーブルを用いて)。この場合、それがQM3に対しワークロードがバランスされる。
2)メッセージ生成クライアント・アプリケーションがリクエスト・メッセージを生成し、REP.QのMQMD.ReplyToQの名称を記入し、MQMD.MsgIdを保存する。
3)このメッセージ生成クライアント・アプリケーションがREQ.Qにリクエスト・メッセージを書き込む。REQ.Qがクラスタ・キューなので、QM3がそのことに気付き、それにメッセージをルート付けすることができる。
4)クラスタ・ワークロード・バランシング・アルゴリズムが実行され、そしてこの場合にQM6にそのリクエスト・メッセージを送るように選択する。このメッセージはQM6にクラスタ・チャンネルを介して送られ、REQ.Q上に書き込まれる。
5)メッセージ生成クライアント・アプリケーションが接続を遮断する(あるいは接続し損なう)。このことがステップ3およびステップ10の間の任意の時点で起こり得ることに留意されたい。
6)QM6上のメッセージ消費アプリケーションはそのリクエスト・メッセージを取り出し、処理する(例えば、データベースを更新する)。
7)QM6上のメッセージ消費アプリケーションは応答メッセージを生成し、リクエスト・メッセージからのMQMD.Msgldを応答メッセージ中のMQMD.CorrelIdにコピーする。
8)QM6上のメッセージ消費アプリケーションはこの応答メッセージをリクエスト・メッセージ(REP.Q)のMQMD.ReplyToQの中に特定されている宛先に応答メッセージを書き込む。
9)QM6はREP.QがRQであることに気付き、従って特定された任意のMQOD.ObjectQMgrNameを無視し、その応答メッセージを、REP.Qをホストする全てのキュー・マネジャに発行する。その結果応答メッセージのコピーがQM1、QM2、QM3上のREP.Q上に今や存在することになる。そのObjectQMgrNameを無視するというのが、存在するアプリケーションがRQの利点を生かすのを許容することに留意されたい。
10)メッセージ生成クライアント・アプリケーションが接続し、特定のフロントエンド・キュー・マネジャに対し(例えば、IPロード・バランサもしくはWebSphere MQクライアント・チャネル定義テーブルのいずれかを用いて)ワークロードのバランスがとられている。この場合、QM1に対し、ワークロードのバランスがとられている。
11)メッセージ生成クライアント・アプリケーションがその応答メッセージ、MQMD.CorrelIdにおいて(そのリクエスト・メッセージからの)その保存されたメッセージIDを特定し、その応答メッセージを取り出し、そして接続を遮断する。
12)QM1は、応答メッセージがRQ(REP.Q)から除去されたことを気づき、RQ(REP.Q)の名称および丁度除去されたばかりのその応答メッセージのCorrelID(即ち他のRQ上の他の応答メッセージ中にある同じCorrelID)を含む通知メッセージを自動的に生成する。そこでQM1は、これらの通知を既に受領するよう登録されているREQ.Qの他のホストに通知を発行する。
13)QM2およびQM3はその発行を得て、その特定されたRQ(REQ.Q)からのその特定されたメッセージを削除するようにその通知メッセージにおける情報を使用する。ローカルの配布が効力を持たないので、QM1がその通知を受け取らないことに留意されたい。
全てのアプリケーション接続と同様、その接続がコミット中に失敗するならそのアプリケーションはそのコミットが完了したか否か確信できない時がある。以下のシナリオは、2つの問題のコミットを記述する。
1)そのアプリケーションがコミット・コールを発行し、そのコミットが失敗し、その接続が失敗し、そしてそのアプリケーションがそのコミット・コールから「接続切れ」戻しコードを受け取る。その応答はなおも利用可能である。
2)そのアプリケーションがコミット・コールを発行し、そのコミットが成功裏に完了し、その接続が失敗し、そしてそのアプリケーションがそのコミット・コールから「接続切れ」戻しコードを受け取る。その応答はもはや利用可能でない。
シナリオ1)および2)における問題は、そのコミットが実際に完了したか否かをそのアプリケーションが知らないことである。その同じ問題はコミットする全てのアプリケーションとともに存在する。この解決策は、(個々のメッセージの単一の消費者である)アプリケーションが、もしそのメッセージがそのメッセージング管理システムからもはや利用することができないならそのコミットが働いたと仮定することができることである。2つのかなり簡単な解決策がある。
a)もしそのアプリケーションがコミット・コールに応答して「接続切れ」を受け取るなら、そのアプリケーションはそのコミットを発行した同じメッセージング管理システムに再接続して応答があるかどうかチェックしなければならない。もしその応答が存在しないなら、それはそのコミットが成功したとみなされることができ、そしてそのアプリケーションが処理を続けることができる。もしその応答が存在するなら、それは再び消費され、そして再びコミットされなければならない。これが親和性(affinity)を生み出すけれども、その「親和性ウインドウ」はそのRQシステムを用いるときかなり引き下げられる。
b)そのエラーを無視せよ、そしてそのコミットが成功したと仮定して続行せよ。もしそのコミットが成功したなら、その応答はそのRQから除去され、それ以上のアクションを取る必要はない。もしそのコミットが失敗したら、その応答はそのRQ上に留まる。応答を消費した全てのアプリケーションが一意的に識別可能な応答を選択しているので、他のアプリケーションはその留まっている応答を消費することができず、従って今や問題は、その残っている応答を如何にうまくクリアするかである。RQの時間満了または手動でのクリアが使用されることができる。
この記述した方法およびシステムはリクエスト/応答のシナリオにおける可用性を増す。この解決策は可用性の改善をメッセージ往復時間に最小限の影響しか与えずに提供する。全ての応答が一単位の作業で送られやすいので、もしRQの非常に大きな数のホストがあるなら、複製される応答を送るのに時間の増加が関係したであろう。少なくとも可用性の観点からは、大きな数のRQが必要とされることがあまりないということに注意する価値がある。また、メッセージ往復時間に関連した任意の単位の作業の外での過剰な応答の削減がなされる。
この解決策はn個のRQを含むネットワークが、そのRQをホストするn−1個までのメッセージ管理システムの失敗のイベントにおいて応答を配布することができるように設計される。典型的には、2個または3個のRQが十分な冗長性を提供すると期待することができる。
ある(失敗の)シナリオでは、このモデルがタイムリな態様で削除されない複製応答を生じる。この解決策はその応答が(例えば、一意的な識別子により)選択的に処理されることを仮定している。一旦応答が消費されてしまうと、そのアプリケーションにより保持される選択基準はそのアプリケーションが他のRQからの任意の存在する複製応答を読み出そうと試みないようにクリアされる。もし選択的な応答が必要とされなければ、任意のスレッドまたはアプリケーションが応答を処理することができ、かくしてRQの必要性を完全に否定する(単純な宛先で十分である)。
本発明は完全にハードウエアの実施例、完全にソフトウエアの実施例、あるいはハードウエアおよびソフトウエアの要素を組み合わせた実施例といった形態をとることができる。好適な実施例では、本発明は、以下に限定されるものではないが、ファームウエア、常駐ソフトウエア、マイクロコードなどを含むソフトウエアで実施される。
また本発明は、コンピュータまたは任意の命令実行システムにより、またはそれに関連して使用されるプログラム・コードを提供する、コンピュータ可用媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形態をとることができる。この説明の目的上、コンピュータ可用媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスにより、またはそれに関連して使用されるプログラムを含み、ストアし、通信し、伝播し、あるいは移送することができる任意の装置であってよい。
この媒体は、電子的、磁気的、光学的、電磁的、赤外線の、もしくは半導体のシステム(または装置、デバイス)或いは伝送媒体であってよい。コンピュータ可読媒体の例は半導体もしくは固体素子のメモリ、磁気テープ、取り外し可能なフレキシブル・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、磁気ハードディスクおよび光ディスクを含む。今日の光ディスクの例は、CD−ROM(コンパクト・ディスク読出し専用メモリ)、CD−R/W(コンパクト・ディスク読出し書込み)およびDVDを含む。
改良と修正が本発明の範囲から逸れることなく前述のことについて行われることができる。

Claims (40)

  1. メッセージング・ネットワークにおけるメッセージ配布方法であって、一意的な識別子を含むメッセージを生成するステップ322と、
    複数個の複製キュー451の各々に前記メッセージを送るステップ324とを含み、前記メッセージは消費される前に前記一意的な識別子により識別可能である、メッセージ配布方法。
  2. 複数個の複製キュー451の各々に前記メッセージを送るステップ324が、前記複製キュー451が定義されるメッセージ管理システム411ないし413の各々に前記メッセージを送ることを含む、請求項1に記載の方法。
  3. 複製されたメッセージが応答メッセージを含む、請求項1または2に記載の方法。
  4. 前記応答メッセージがリクエスト/応答メッセージング・システムに関連する、請求項3に記載の方法。
  5. 前記リクエストにおいて特定されるメッセージング管理システム411ないし413が無視される、請求項1ないし4のいずれかに記載の方法。
  6. 前記一意的な識別子を用いて前記複製キュー451のいずれかから前記メッセージを取り出すステップ333を含む、請求項1ないし5のいずれかに記載の方法。
  7. 前記複製されたメッセージを削除するための通知メッセージ334を生成するステップであって、前記通知メッセージが前記複製キュー451の名称および前記一意的な識別子を含むものと、
    前記複製キューが定義されるメッセージング管理システムに前記通知メッセージを発行するステップ335とを含む、請求項1ないし6のいずれかに記載の方法。
  8. 前記複製されたメッセージが前記複製されたキュー351の一つから除去されたのに応答して前記通知メッセージが発行される、請求項7に記載の方法。
  9. メッセージング・ネットワークにおけるメッセージ配布システムであって、1個または複数個のプロセッサ上に提供される複数個のメッセージ管理システム411ないし415を含むメッセージング・ネットワーク400と、
    前記メッセージが読み出される前にアプリケーションにより識別されるように動作可能なメッセージのための複製キュー451であって、複数個のメッセージ管理システム411ないし413上で定義可能な前記複製キューとを含み、
    複数個のメッセージ管理システム411ないし415のうちのいずれか一つを用いてアクセス可能である複数個の複製キュー451の各々にメッセージが送られるところのメッセージ配布システム。
  10. メッセージング・ネットワーク400が
    複数個のフロントエンド・メッセージ管理システム411ないし413および複数個のバックエンド・メッセージ管理システム414ないし416を含み、
    前記システムが
    前記フロントエンド・メッセージ管理システム411ないし413のうちの一つに接続可能なリクエスト・システム421ないし423と、
    前記バックエンド・メッセージ管理システム414ないし416のうちの一つに接続可能な応答システム431ないし433とを含む、請求項9に記載のシステム。
  11. リクエスト・システム421ないし423およびフロントエンド・メッセージ管理システム411ないし413間の第1のロード・バランシング機構440と、
    フロントエンド・メッセージ管理システム411ないし413およびバックエンド・メッセージ管理システム414ないし416間の第2のロード・バランシング機構441とを含む、請求項10に記載のシステム。
  12. 前記複数個のフロントエンド・メッセージ管理システム411ないし413のうちのいずれか一つからリクエスト・システム421ないし423により消費されるため、メッセージのための複製キュー451が複数個の前記フロントエンド・メッセージ管理システム411ないし413上で定義可能である、請求項9ないし11のいずれかに記載のシステム。
  13. 一意的な識別子を用いて前記複製キュー451のうちのいずれか一つから前記応答を消費するためのリクエスト・システム421ないし423を含む、請求項12に記載のシステム。
  14. 前記複製されたメッセージが応答メッセージを含む、請求項9ないし13のいずれかに記載のシステム。
  15. 前記応答メッセージがリクエスト/応答メッセージング・システムに関連する、請求項14に記載のシステム。
  16. 前記複製キュー451が複数個のメッセージ管理システム411ないし413の各々の上で手動で定義可能である、請求項9ないし15のいずれかに記載のシステム。
  17. 前記キュー451を複製するために、前記複製キュー451が一つのメッセージ管理システム411ないし413上で手動で定義可能であり、かつ複数個のメッセージ管理システム411ないし413の残りの上で自動的に定義可能である、請求項9ないし15のいずれかに記載のシステム。
  18. メッセージ識別子を含むリクエストを受取るための手段と、
    リクエスト・メッセージ識別子に関連する関連情報を含む応答を生成する手段と、
    複数個の複製キュー451の各々に前記応答を書き込むところの、前記応答が消費前に一意的な識別子情報により識別可能である手段とを含む、請求項9ないし17のいずれかに記載のシステム。
  19. 前記リクエストが応答の宛先を含み、複数個のメッセージ管理システム411ないし413上で定義可能な複製キュー451を含む、請求項18に記載のシステム。
  20. 複数個の複製キューの各々に前記応答を送るための前記手段が、複製キュー451が定義可能なメッセージ管理システム411ないし413の各々に応答を送るための手段を含む、請求項18または19に記載のシステム。
  21. 前記リクエスト中に特定されるメッセージ管理システム411ないし413を無視するための手段を含む、請求項18ないし20のいずれかに記載のシステム。
  22. 前記応答を削除するための通知メッセージであって、前記複製キュー451の名称および前記一意的な識別子を含む前記通知メッセージを生成する手段と、
    前記通知メッセージを、前記複製キュー451をホストするように動作可能なメッセージ管理システム411ないし413に送る手段とを含むメッセージ削除コンポーネントを含む、請求項18ないし21のいずれかに記載のシステム。
  23. 前記複数個のメッセージ管理システム411ないし413がキュー・マネジャのクラスタを含む、請求項9ないし22のいずれかに記載のシステム。
  24. 1個もしくは複数個のプロセッサ上に提供される複数個のメッセージ管理システム411ないし415を含むメッセージング・ネットワーク400とともに動作可能なメッセージング・ネットワークにおけるメッセージ配布装置であって、
    一意的な識別子を含むメッセージを生成する手段と、
    複数個の複製キュー451の各々に前記メッセージであって、消費前に一意的な識別子により識別される前記メッセージを送る手段324とを含むメッセージ配布装置。
  25. 複製キュー451が複数個のメッセージ管理システム411ないし413上で定義されることが可能なように動作し得ることと、
    メッセージが複数個の複製キュー451の各々に送られ、かつメッセージが複数個のメッセージ管理システム411ないし415のうちのいずれか一つを用いてアクセス可能であることよりなる、請求項24に記載の装置。
  26. 前記メッセージング・ネットワーク400が複数個のフロントエンド・メッセージ管理システム411ないし413と、
    複数個のバックエンド・メッセージ管理システム414ないし416とを含み、
    前記装置が
    前記フロントエンド・メッセージ管理システム411ないし413のうちの一つに接続可能なリクエスト・システム421ないし423と、
    前記バックエンド・メッセージ管理システム414ないし416のうちの一つに接続可能な応答システム431ないし433とを含む、請求項24に記載の装置。
  27. リクエスト・システム421ないし423およびフロントエンド・メッセージ管理システム411ないし413間の第1のロード・バランシング機構440と、
    フロントエンド・メッセージ管理システム411ないし413およびバックエンド・メッセージ管理システム414ないし416間の第2のロード・バランシング機構441とを含む、請求項26に記載の装置。
  28. 前記複数個のフロントエンド・メッセージ管理システム411ないし413のうちのいずれか一つからリクエスト・システム421ないし423により消費されるため、メッセージのための複製キュー451が複数個の前記フロントエンド・メッセージ管理システム411ないし413上で定義可能である、請求項24ないし27のいずれかに記載の装置。
  29. 一意的な識別子を用いて前記複製キュー451のうちのいずれか一つから前記応答を消費するためのリクエスト・システム421ないし423を含む、請求項28に記載の装置。
  30. 前記複製されたメッセージが応答メッセージを含む、請求項24ないし29のいずれかに記載の装置。
  31. 前記応答メッセージがリクエスト/応答メッセージング・システムに関連する、請求項30に記載の装置。
  32. 前記複製キュー451が複数個のメッセージ管理システム411ないし413の各々の上で手動で定義可能である、請求項24ないし31のいずれかに記載の装置。
  33. 前記キュー451を複製するために、前記複製キュー451が一つのメッセージ管理システム411ないし413上で手動で定義可能であり、かつ複数個のメッセージ管理システム411ないし413の残りの上で自動的に定義可能である、請求項24ないし31のいずれかに記載の装置。
  34. メッセージ識別子を含むリクエストを受取るための手段と、
    リクエスト・メッセージ識別子に関連する関連情報を含む応答を生成する手段と、
    複数個の複製キュー451の各々に前記応答を書き込むところの、前記応答が消費前に一意的な識別子情報により識別可能である手段とを含む、請求項24ないし33のいずれかに記載の装置。
  35. 前記リクエストが応答の宛先を含み、複数個のメッセージ管理システム411ないし413上で定義可能な複製キュー451を含む、請求項34に記載の装置。
  36. 複数個の複製キューの各々に前記応答を送るための前記手段が、複製キュー451が定義可能なメッセージ管理システム411ないし413の各々に応答を送るための手段を含む、請求項34または35に記載の装置。
  37. 前記リクエスト中に特定されるメッセージ管理システム411ないし413を無視するための手段を含む、請求項34ないし36のいずれかに記載の装置。
  38. 前記応答を削除するための通知メッセージであって、前記複製キュー451の名称および前記一意的な識別子を含む前記通知メッセージを生成する手段と、
    前記通知メッセージを、前記複製キュー451をホストするように動作可能なメッセージ管理システム411ないし413に送る手段とを含むメッセージ削除コンポーネントを含む、請求項34ないし37のいずれかに記載の装置。
  39. 前記複数個のメッセージ管理システム411ないし413がキュー・マネジャのクラスタを含む、請求項24ないし38のいずれかに記載の装置。
  40. 請求項1ないし8のいずれかに記載の全てのステップを実行するように適用されたプログラム・コード手段を含む、コンピュータ上で実行可能なコンピュータ・プログラム。
JP2010543469A 2008-01-25 2009-01-19 メッセージング・ネットワークにおけるメッセージ配布の方法、システム、装置およびコンピュータ・プログラム Pending JP2011511976A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08150654 2008-01-25
PCT/EP2009/050523 WO2009092676A1 (en) 2008-01-25 2009-01-19 Method and system for message delivery in messaging networks

Publications (1)

Publication Number Publication Date
JP2011511976A true JP2011511976A (ja) 2011-04-14

Family

ID=40565259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010543469A Pending JP2011511976A (ja) 2008-01-25 2009-01-19 メッセージング・ネットワークにおけるメッセージ配布の方法、システム、装置およびコンピュータ・プログラム

Country Status (6)

Country Link
US (5) US8595301B2 (ja)
EP (1) EP2248311B1 (ja)
JP (1) JP2011511976A (ja)
KR (1) KR20100103594A (ja)
CN (1) CN101926138B (ja)
WO (1) WO2009092676A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9647972B2 (en) 2008-01-25 2017-05-09 Snap Inc. Message delivery in messaging networks

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979497B2 (en) * 2008-01-25 2011-07-12 International Business Machines Corporation Message delivery using a plurality of queue managers
US9104486B2 (en) * 2011-11-08 2015-08-11 Mckesson Financial Holdings Apparatuses, systems, and methods for distributed workload serialization
CN102868594B (zh) * 2012-09-12 2015-05-27 浪潮(北京)电子信息产业有限公司 一种消息处理方法和装置
US10230670B1 (en) * 2014-11-10 2019-03-12 Google Llc Watermark-based message queue
US9942353B2 (en) 2015-06-02 2018-04-10 International Business Machines Corporation Management of connections within a messaging environment based on the statistical analysis of server responsiveness
US9853933B2 (en) * 2015-08-13 2017-12-26 60East Technologies, Inc. Message queue replication with message ownership migration
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US11164113B2 (en) 2016-02-05 2021-11-02 Fredrick T Howard Time limited image sharing
US10608970B2 (en) 2016-04-01 2020-03-31 International Business Machines Corporation Messaging forwarding system and method
CN108009027B (zh) * 2017-11-23 2019-09-20 北京百度网讯科技有限公司 队列消息一致性的实现方法、装置、设备及存储介质
CN108289055B (zh) * 2018-01-05 2021-04-02 创盛视联数码科技(北京)有限公司 一种基于Redis订阅服务的分布式实时聊天系统及方法
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233124A (ja) * 1996-02-27 1997-09-05 Mitsubishi Electric Corp パケット通信方式
JP2005318073A (ja) * 2004-04-27 2005-11-10 Hitachi Ltd 通信装置、その動作プログラム、及び通信方法
JP2007241394A (ja) * 2006-03-06 2007-09-20 Mitsubishi Electric Corp 分割処理管理装置及び分割処理管理システム及び演算処理実行システム及び分割処理管理方法
JP2007274018A (ja) * 2006-03-30 2007-10-18 Mitsubishi Electric Corp 無線端末装置及びサーバ装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0839212A (ja) 1994-07-25 1996-02-13 Akechi Ceramics Kk 連続鋳造用ノズル
PL177486B1 (pl) 1995-08-14 1999-11-30 Ibm Sposób i sieć do przesyłania komunikatu od pierwszego użytkownika do docelowych użytkowników
AU2002239391A1 (en) * 2000-11-30 2002-06-11 Message Machines, Inc. Systems and methods for routing messages to communications devices
US6789143B2 (en) 2001-09-24 2004-09-07 International Business Machines Corporation Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries
US20030182464A1 (en) 2002-02-15 2003-09-25 Hamilton Thomas E. Management of message queues
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
JP2004131240A (ja) 2002-10-10 2004-04-30 Sharp Corp シート給送装置およびその装置を備えた画像形成装置
US8549078B2 (en) * 2003-08-08 2013-10-01 Teamon Systems, Inc. Communications system providing load balancing based upon connectivity disruptions and related methods
AU2003273654A1 (en) 2003-09-05 2005-03-29 Petr Hejl Reply recognition in communications
US7194516B2 (en) 2003-10-23 2007-03-20 Microsoft Corporation Accessing different types of electronic messages through a common messaging interface
US7584256B2 (en) * 2004-04-12 2009-09-01 Borderware Technologies Inc. Replicating message queues between clustered email gateway systems
GB2437606B (en) * 2004-05-14 2008-12-24 Orderly Mind Ltd Queuing system, method and computer program product for managing the provision of services over a communications network
JP4752363B2 (ja) 2004-07-21 2011-08-17 ソニー株式会社 コンテンツ処理装置,コンテンツ処理方法及びコンピュータプログラム
JP4480148B2 (ja) 2004-09-24 2010-06-16 大日本印刷株式会社 転写用マスクのip測定装置および静電吸着方式のチャックへの静電吸着用電圧の供給方法
US7567965B2 (en) 2004-10-22 2009-07-28 Microsoft Corporation Presenting message attachments independent of electronic messages at a user-interface
US9544259B2 (en) * 2006-11-08 2017-01-10 Open Invention Network, Llc Apparatus and method for dynamic streaming of multimedia files
US7979497B2 (en) 2008-01-25 2011-07-12 International Business Machines Corporation Message delivery using a plurality of queue managers
US8595301B2 (en) 2008-01-25 2013-11-26 International Business Machines Corporation Message delivery in messaging networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233124A (ja) * 1996-02-27 1997-09-05 Mitsubishi Electric Corp パケット通信方式
JP2005318073A (ja) * 2004-04-27 2005-11-10 Hitachi Ltd 通信装置、その動作プログラム、及び通信方法
JP2007241394A (ja) * 2006-03-06 2007-09-20 Mitsubishi Electric Corp 分割処理管理装置及び分割処理管理システム及び演算処理実行システム及び分割処理管理方法
JP2007274018A (ja) * 2006-03-30 2007-10-18 Mitsubishi Electric Corp 無線端末装置及びサーバ装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9647972B2 (en) 2008-01-25 2017-05-09 Snap Inc. Message delivery in messaging networks
US9769110B2 (en) 2008-01-25 2017-09-19 Snap Inc. Message delivery in messaging networks
US10491560B2 (en) 2008-01-25 2019-11-26 Snap Inc. Message delivery in messaging networks

Also Published As

Publication number Publication date
CN101926138B (zh) 2016-08-03
US10491560B2 (en) 2019-11-26
US9647972B2 (en) 2017-05-09
WO2009092676A1 (en) 2009-07-30
US20170339094A1 (en) 2017-11-23
US20090193090A1 (en) 2009-07-30
CN101926138A (zh) 2010-12-22
US9769110B2 (en) 2017-09-19
US8595301B2 (en) 2013-11-26
US20140040401A1 (en) 2014-02-06
EP2248311A1 (en) 2010-11-10
EP2248311B1 (en) 2018-11-21
US20150180813A1 (en) 2015-06-25
US20170187672A1 (en) 2017-06-29
KR20100103594A (ko) 2010-09-27
US9021038B2 (en) 2015-04-28

Similar Documents

Publication Publication Date Title
US10491560B2 (en) Message delivery in messaging networks
USRE47501E1 (en) Application program interface access to hardware services for storage management applications
US7793140B2 (en) Method and system for handling failover in a distributed environment that uses session affinity
US9317384B2 (en) Cache data processing using cache cluster with configurable modes
US9189303B2 (en) Shadow queues for recovery of messages
US20090055444A1 (en) Method and System for High-Availability Database
CN105493474B (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
US8682954B2 (en) Replication in a network environment
US8156374B1 (en) Problem management for outsized queues
JP2005339300A (ja) データベース処理方法およびシステム並びにその処理プログラム
US11500701B1 (en) Providing a global queue through replication
US11080113B1 (en) Fifo queue replication
JPWO2016088372A1 (ja) アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びプログラム
CN114124680B (zh) 一种文件访问控制告警日志管理方法及装置
CN114745438B (zh) 多数据中心的缓存数据处理方法、装置、系统和电子设备
JP5071518B2 (ja) データベース処理方法、データベース処理システム及びデータベース管理プログラム
JP2006031238A (ja) メッセージ転送制御方法、メッセージ転送制御プログラムおよびメッセージキューイング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140304