JP2015527658A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2015527658A5 JP2015527658A5 JP2015524671A JP2015524671A JP2015527658A5 JP 2015527658 A5 JP2015527658 A5 JP 2015527658A5 JP 2015524671 A JP2015524671 A JP 2015524671A JP 2015524671 A JP2015524671 A JP 2015524671A JP 2015527658 A5 JP2015527658 A5 JP 2015527658A5
- Authority
- JP
- Japan
- Prior art keywords
- message
- sequence
- incoming
- outbound
- messages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 6
- 230000000717 retained Effects 0.000 claims description 2
- 238000002716 delivery method Methods 0.000 claims 1
- 238000004642 transportation engineering Methods 0.000 claims 1
Description
別の実施形態において、本発明は、複数の並列インバウンドハンドラと複数の並列アウトバウンドハンドラを有する並列環境における少なくとも1つのサーバプリケーションと少なくとも1つのクライアントアプリケーション間で非同期メッセージを処理するためにコンピュータにより実施される旅行モニタリング方法に関し、この方法は、少なくとも1つのデータプロセッサで以下のステップを実行する:
・ 複数の並列インバウンドハンドラのうちの1つのインバウンドハンドラにおいて着信メッセージを含むシーケンスを特定するシーケンス相関値が付与された着信メッセージを受信し;
・ シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックし;
・ 前記シーケンスにおいてメッセージの順序を維持するため、着信したメッセージが次に処理するメッセージであるかを判断し;
シーケンスステータスが、複数の並列アウトバウンドハンドラのうちのいずれのアウトバウンドハンドラも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラに転送し;
シーケンスステータスが、アウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、あるいは、キューストレージが前記シーケンスの処理されるメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージに格納し、さらなる処理のために保持し;
メッセージは、乗客に関するデータを含み、シーケンス相関値は、交通サービスのリファレンスに関するデータを含む。
・ 複数の並列インバウンドハンドラのうちの1つのインバウンドハンドラにおいて着信メッセージを含むシーケンスを特定するシーケンス相関値が付与された着信メッセージを受信し;
・ シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックし;
・ 前記シーケンスにおいてメッセージの順序を維持するため、着信したメッセージが次に処理するメッセージであるかを判断し;
シーケンスステータスが、複数の並列アウトバウンドハンドラのうちのいずれのアウトバウンドハンドラも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラに転送し;
シーケンスステータスが、アウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、あるいは、キューストレージが前記シーケンスの処理されるメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージに格納し、さらなる処理のために保持し;
メッセージは、乗客に関するデータを含み、シーケンス相関値は、交通サービスのリファレンスに関するデータを含む。
Claims (21)
- インバウンドハンドラ層を形成する複数のインバウンドハンドラと、アウトバウンドハンドラ層を形成する複数のアウトバウンドハンドラと、を有する分散並列システムにおいて分散非同期メッセージのシーケンシングを、少なくとも1つのデータプロセッサを用いて、コンピュータにより実行する方法であって:
複数のインバウンドハンドラのうちの何れかのインバウンドハンドラが、着信メッセージを含むシーケンスを識別するシーケンス相関値を含む着信メッセージを受信するステップ;
共有シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックするステップ;および
前記シーケンスにおいてメッセージの順序を維持するため、着信メッセージが次に処理するメッセージであるかを判断するステップ;を有し、
シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラがいずれも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに転送し、次いで、処理のためにアウトバウンドハンドラ層の使用可能なアウトバウンドハンドラによってメッセージを取得し、
シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、あるいは、キューストレージが前記シーケンスの処理すべきメッセージをすでに含んでいる場合、あるいは、着信メッセージは前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージのメモリに格納し、さらなる処理のために保持する、方法。 - 前記シーケンスのメッセージの順序を維持するために、着信メッセージが次に処理すべきメッセージであるか判断する、以下のステップを含む請求項1に記載の方法であって:
前記シーケンスにおける着信メッセージの順序を示すメッセージランクを判断するステップ;および
メッセージランクを、前記シーケンスの処理すべき次のメッセージのランクを定義するシーケンスランクと比較するステップ;を有し、
メッセージランクがシーケンスランクと同一の場合、そのメッセージは、前記シーケンスにおけるメッセージの順序を維持するために、次に処理すべきメッセージと判断され、
メッセージランクがシーケンスランクと同一でない場合、そのメッセージは、前記シーケンスにおけるメッセージの順序を維持するために次に処理すべきメッセージとは判断されない、方法。 - 請求項2に記載の方法であって、アウトバウンドハンドラにおける与えられたシーケンスのメッセージの処理が完了した際に、前記与えられたシーケンスのシーケンスランクがインクリメントされ、シーケンスのシーケンスランクがインクリメントされたとき、オーバーフローストレージが、インクリメントされたシーケンスランクと同一であるメッセージランクを有するメッセージを含む場合、このメッセージをキューストレージに転送する、方法。
- 請求項2又は3に記載の方法であって、受信した着信メッセージに、シーケンスのメッセージランクを示すインデックスが付与されていない場合のメッセージランクを判断するステップは、シーケンス内の着信メッセージのランクを示すメッセージランクを着信メッセージに割り当て、割り当てられたメッセージランクをシーケンスストレージに格納することを含む、方法。
- 請求項4に記載の方法であって、割り当てられたメッセージランクは、前記インバウンドハンドラ層において最後に受信したメッセージのメッセージランクを、1プラスしてインクリメントしたものに相当する、方法。
- 請求項1〜3の何れか1項目に記載の方法であって、インバウンドハンドラにおいて受信した着信メッセージには、シーケンス内のメッセージランクを示すインデックスが付与されている、方法。
- 請求項2〜6のいずれか1項に記載の方法であって、キューストレージが着信メッセージのシーケンスの、どのメッセージをも含んでおらず、着信メッセージのメッセージランクがシーケンスストレージに示されたシーケンスランクよりも大きい場合、着信メッセージは、シーケンスランクがインクリメントされ着信メッセージのメッセージランクと同等になるまで、オーバーフローストレージに格納される、方法。
- 請求項1〜7のいずれか1項に記載の方法であって、アウトバウンドハンドラは非同期に作動することにより、メッセージの送信が可能となり、メッセージを送信後、このメッセージの受け手から肯定応答を受信するまで、別の処理が可能となる、方法。
- 請求項1〜8のいずれか1項に記載の方法であって、アウトバウンドハンドラは、メッセージを受け手に送信する配信処理と、受け手から肯定応答を受信する肯定応答処理を行いうるものであり、配信処理および肯定応答処理は独立している、方法。
- 請求項1〜9のいずれか1項に記載の方法であって、着信メッセージを受信してから、チェックするステップまで、すべてのインバウンドハンドラが前記シーケンスの別のメッセージを受信することを防止される、インバウンドをロックするステップを、着信メッセージがオーバーフローストレージに格納されるまで、あるいは、キューストレージに送信されるまで実行し、前記インバウンドをロックするステップは、シーケンスストレージに格納されている前記シーケンス専用のミューテックスをロックすることが含まれる、方法。
- 請求項1〜10のいずれか1項に記載の方法であって、キューストレージからアウトバウンドハンドラに着信メッセージを転送後、すべての他のアウトバウンドハンドラが前記シーケンスの別のメッセージを受信することを、着信メッセージの処理が完了するまで防止される、アウトバウンドをロックするステップを実行し、アウトバウンドをロックするステップに、シーケンスストレージに格納されている前記シーケンス専用のミューテックスをロックすることが含まれている、方法。
- 請求項11に記載の方法であって、アウトバウンドハンドラが利用可能であるとき、シーケンスストレージの中の、前記メッセージのシーケンスのミューテックスをチェックし、ミューテックスがロックされていない場合のみ、前記メッセージを取得する、方法。
- 請求項2〜12の何れか1項目に記載の方法であって、シーケンスランクよりも大きいメッセージランクを有するメッセージが最初にオーバーフローストレージに格納され、次に、メッセージのシーケンスとメッセージの何れか一方に割り当てられたタイムアウト値に到達した場合には、当該メッセージはオーバーフローストレージから破棄される、方法。
- ソフトウェアプログラム命令を含む非一時的コンピュータ可読媒体であって、少なくとも1つのデータプロセッサによるソフトウェアプログラム命令の実行は、請求項1〜13の何れか1項目に記載の方法の実行を含む、非一時的コンピュータ可読媒体。
- 非同期メッセージをシーケンシングする分散並列型処理システムであって: インバウンドハンドラ層であって、少なくとも1つのデータプロセッサを含む複数のインバウンドハンドラを含み、複数のインバウンドハンドラのそれぞれは、様々なシーケンスに関連する複数の着信メッセージを独立して受信するように構成されている、複数のインバウンドハンドラを含む、インバウンドハンドラ層;および、
アウトバウンドハンドラ層であって、少なくとも1つのデータプロセッサを含む複数のアウトバウンドハンドラを含み、複数のアウトバウンドハンドラのそれぞれは、複数の着信メッセージを独立して処理し転送するように構成されている、複数のアウトバウンドハンドラを含む、アウトバウンドハンドラ層、を含む分散並列型処理システムであって;システムは:
少なくとも1つのメモリを含むストレージ層を含み;当該ストレージ層は:
- 複数のアウトバウンドハンドラへ伝送される状態にある着信メッセージを格納するキューストレージ;および
- 共有シーケンスストレージを含み;当該共有シーケンスストレージは:
- 着信メッセージの各シーケンスのステータスを維持し、更新するためのシーケンスステータスコンテキスト;および
- インバウンドハンドラからのメッセージを受信し、それらを順次、キューストレージに転送するよう構成された共有オーバーフローストレージ;を含み、
前記システムは、メッセージのシーケンスにおけるメッセージの順序を維持するために、着信メッセージが、次に処理すべきメッセージであるかどうかを判断するように構成されており、前記システムは:
- シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラがいずれも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラによってメッセージを取り出すステップ;および
- シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、または、キューストレージが前記シーケンスの処理すべきメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージをオーバーフローストレージのメモリに格納し、さらなる処理のために保持する、ステップを実行するよう構成された非同期メッセージをシーケンシングする分散並列型処理システム。 - 複数の並列型インバウンドハンドラおよび複数の並列型アウトバウンドハンドラを有する並列環境において、少なくとも1つのサーバアプリケーションと少なくとも1つのクライアントアプリケーション間で非同期メッセージを処理するために、少なくとも1つのデータプロセッサを用いて、コンピュータにより実行する旅行モニタリング方法であって:
複数のインバウンドハンドラのうちの1つのインバウンドハンドラにおいて、着信メッセージを含むシーケンスを特定するシーケンス相関値が伴う着信メッセージを受信するステップと;
シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックするステップと;
前記シーケンスにおいてメッセージの順序を維持するため、着信したメッセージが次に処理するメッセージであるかを判断するステップと;を有し、
シーケンスステータスが、複数のアウトバウンドハンドラのうちのいずれのアウトバウンドハンドラも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラに転送し、 シーケンスステータスが、アウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、または、キューストレージが前記シーケンスの処理すべきメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージに格納し、さらなる処理のために保持し、
メッセージは、乗客に関するデータを含み、シーケンス相関値は、交通サービスのリファレンスに関するデータを含む、旅行モニタリング方法。 - 請求項16に記載の方法であって、処理済みのメッセージをアウトバウンドハンドラから、旅行予約システム、航空会社の在庫システム、航空会社のイーチケットシステム、空港の出国管理システム、空港の運用システム、航空会社の運用システム、および、地上業務の運用システムの少なくとも1つに転送する、方法。
- 請求項16および17の何れか1項に記載の方法であって、交通サービスのリファレンスは少なくとも、フライトナンバー、日付および予約クラスのうちの1つを含む、方法。
- 請求項16〜18の何れか1項に記載の方法であって、メッセージは、搭乗客、キャンセルした乗客、追加の乗客の何れか1つを記述する、方法。
- 請求項16〜19の何れか1項に記載の方法であって、フライトの出発時刻または、フライト提示の終了、あるいは、プロモーションの終了のうちの何れか1つに関連があるシーケンスタイムアウト値に到達後にオーバーフローストレージに格納されている着信メッセージを削除するため、各着信メッセージにはシーケンスタイムアウト値が付与される、方法。
- ソフトウェアプログラム命令を含む非一時的コンピュータ可読媒体であって、少なくとも1つのデータプロセッサによるソフトウェアプログラム命令の実行は、請求項16〜20の何れか1項に記載の方法からなる動作の実行を含む、非一時的コンピュータ可読媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12368017.5 | 2012-08-02 | ||
US13/565,284 | 2012-08-02 | ||
US13/565,284 US8903767B2 (en) | 2012-08-02 | 2012-08-02 | Method, system and computer program product for sequencing asynchronous messages in a distributed and parallel environment |
EP12368017.5A EP2693337B1 (en) | 2012-08-02 | 2012-08-02 | Method, system and computer program products for sequencing asynchronous messages in a distributed and parallel environment |
PCT/EP2013/002302 WO2014019701A1 (en) | 2012-08-02 | 2013-08-01 | Method, system and computer program product for sequencing asynchronous messages in a distributed and parallel environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015527658A JP2015527658A (ja) | 2015-09-17 |
JP2015527658A5 true JP2015527658A5 (ja) | 2017-08-24 |
JP6198825B2 JP6198825B2 (ja) | 2017-09-20 |
Family
ID=48953356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015524671A Active JP6198825B2 (ja) | 2012-08-02 | 2013-08-01 | 分散並列環境における非同期メッセージのシーケンシングの方法、システム、およびコンピュータプログラム製品 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP6198825B2 (ja) |
KR (1) | KR101612682B1 (ja) |
CN (1) | CN104428754B (ja) |
IN (1) | IN2014DN10080A (ja) |
WO (1) | WO2014019701A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107093138B (zh) * | 2017-04-21 | 2019-04-30 | 山东佳联电子商务有限公司 | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 |
ES2898755T3 (es) * | 2017-06-08 | 2022-03-08 | Amadeus Sas | Procesamiento de mensajes multiestándar |
EP3419250B1 (en) * | 2017-06-23 | 2020-03-04 | Vestel Elektronik Sanayi ve Ticaret A.S. | Methods and apparatus for distributing publish-subscribe messages |
CN110865891B (zh) * | 2019-09-29 | 2024-04-12 | 深圳市华力特电气有限公司 | 一种异步消息编排方法和装置 |
CN111045839A (zh) * | 2019-12-04 | 2020-04-21 | 中国建设银行股份有限公司 | 分布式环境下基于两阶段事务消息的顺序调用方法及装置 |
CN111506430B (zh) * | 2020-04-23 | 2024-04-19 | 上海数禾信息科技有限公司 | 多任务下数据处理的方法、装置及电子设备 |
CN111562888B (zh) * | 2020-05-14 | 2023-06-23 | 上海兆芯集成电路有限公司 | 存储器自更新的调度方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5588117A (en) * | 1994-05-23 | 1996-12-24 | Hewlett-Packard Company | Sender-selective send/receive order processing on a per message basis |
JPH09101901A (ja) * | 1995-10-06 | 1997-04-15 | N T T Data Tsushin Kk | マルチプロセスで動作するパーソナルコンピュータ上で行われるプロセス間のメッセージ通信方式及びメッセージ通信方法 |
US20030182464A1 (en) * | 2002-02-15 | 2003-09-25 | Hamilton Thomas E. | Management of message queues |
US7698267B2 (en) * | 2004-08-27 | 2010-04-13 | The Regents Of The University Of California | Searching digital information and databases |
GB0613195D0 (en) * | 2006-07-01 | 2006-08-09 | Ibm | Methods, apparatus and computer programs for managing persistence in a messaging network |
WO2008105099A1 (ja) * | 2007-02-28 | 2008-09-04 | Fujitsu Limited | アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置 |
US8392925B2 (en) * | 2009-03-26 | 2013-03-05 | Apple Inc. | Synchronization mechanisms based on counters |
EP2254046B1 (en) * | 2009-05-18 | 2014-07-30 | Amadeus S.A.S. | A method and system for managing the order of messages |
US8495656B2 (en) * | 2010-10-15 | 2013-07-23 | Attivio, Inc. | Ordered processing of groups of messages |
-
2013
- 2013-08-01 KR KR1020157002898A patent/KR101612682B1/ko active IP Right Grant
- 2013-08-01 WO PCT/EP2013/002302 patent/WO2014019701A1/en active Application Filing
- 2013-08-01 JP JP2015524671A patent/JP6198825B2/ja active Active
- 2013-08-01 IN IN10080DEN2014 patent/IN2014DN10080A/en unknown
- 2013-08-01 CN CN201380036210.XA patent/CN104428754B/zh active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015527658A5 (ja) | ||
US8219684B1 (en) | Redundant data requests with cancellation | |
US9978111B2 (en) | Method and system for recommending one or more vehicles for one or more requestors | |
US10901785B2 (en) | Task deployment method, task deployment apparatus, and storage medium | |
JP2016194905A5 (ja) | ||
US8261286B1 (en) | Fast sequential message store | |
JP2020038700A (ja) | 乗客座席指定手続の自動化のための方法およびシステム | |
US20130158861A1 (en) | Increasing throughput for carpool assignment matching | |
JP6599439B2 (ja) | ワークフロー実行におけるシステムリソースの平等シェアリング | |
JP6198825B2 (ja) | 分散並列環境における非同期メッセージのシーケンシングの方法、システム、およびコンピュータプログラム製品 | |
US20120221810A1 (en) | Request management system and method | |
US10761888B2 (en) | Method for deploying task to node based on execution completion point, task deployment apparatus and storage medium | |
US20230362122A1 (en) | Watermark-based message queue | |
US20150271252A1 (en) | Rule distribution server, event processing system and method, and program | |
US20180300140A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
CN105765555A (zh) | 分布式系统中的严格排队 | |
CN110766348A (zh) | 一种组合拣货任务的方法和装置 | |
US8924481B2 (en) | Apparatus for routing requests | |
US8903767B2 (en) | Method, system and computer program product for sequencing asynchronous messages in a distributed and parallel environment | |
CN103078787B (zh) | 邮件处理方法和设备 | |
EP2693337B1 (en) | Method, system and computer program products for sequencing asynchronous messages in a distributed and parallel environment | |
JP2019535045A (ja) | 輸送サービスを提供するための方法及びシステム | |
US8589605B2 (en) | Inbound message rate limit based on maximum queue times | |
KR102421046B1 (ko) | 자동으로 발주서를 생성하는 약국 단말 및 약국 단말의 동작 방법 | |
KR100955423B1 (ko) | 버퍼 관리 방법, 그 장치, 서버 및 전장 시스템 |