JP2015527658A5 - - Google Patents

Download PDF

Info

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
Application number
JP2015524671A
Other languages
English (en)
Other versions
JP2015527658A (ja
JP6198825B2 (ja
Filing date
Publication date
Priority claimed from EP12368017.5A external-priority patent/EP2693337B1/en
Priority claimed from US13/565,284 external-priority patent/US8903767B2/en
Application filed filed Critical
Priority claimed from PCT/EP2013/002302 external-priority patent/WO2014019701A1/en
Publication of JP2015527658A publication Critical patent/JP2015527658A/ja
Publication of JP2015527658A5 publication Critical patent/JP2015527658A5/ja
Application granted granted Critical
Publication of JP6198825B2 publication Critical patent/JP6198825B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

別の実施形態において、本発明は、複数の並列インバウンドハンドラと複数の並列アウトバウンドハンドラを有する並列環境における少なくとも1つのサーバプリケーションと少なくとも1つのクライアントアプリケーション間で非同期メッセージを処理するためにコンピュータにより実施される旅行モニタリング方法に関し、この方法は、少なくとも1つのデータプロセッサで以下のステップを実行する:
・ 複数の並列インバウンドハンドラのうちの1つのインバウンドハンドラにおいて着信メッセージを含むシーケンスを特定するシーケンス相関値が付与された着信メッセージを受信し;
・ シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックし;
・ 前記シーケンスにおいてメッセージの順序を維持するため、着信したメッセージが次に処理するメッセージであるかを判断し;
シーケンスステータスが、複数の並列アウトバウンドハンドラのうちのいずれのアウトバウンドハンドラも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラに転送し;
シーケンスステータスが、アウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、あるいは、キューストレージが前記シーケンスの処理されるメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージに格納し、さらなる処理のために保持し;
メッセージは、乗客に関するデータを含み、シーケンス相関値は、交通サービスのリファレンスに関するデータを含む。

Claims (21)

  1. インバウンドハンドラ層を形成する複数のインバウンドハンドラと、アウトバウンドハンドラ層を形成する複数のアウトバウンドハンドラと、を有する分散並列システムにおいて分散非同期メッセージのシーケンシングを、少なくとも1つのデータプロセッサを用いて、コンピュータにより実行する方法であって:
    複数のインバウンドハンドラのうちの何れかのインバウンドハンドラが、着信メッセージを含むシーケンスを識別するシーケンス相関値を含む着信メッセージを受信するステップ;
    共有シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックするステップ;および
    前記シーケンスにおいてメッセージの順序を維持するため、着信メッセージが次に処理するメッセージであるかを判断するステップ;を有し、
    シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラがいずれも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに転送し、次いで、処理のためにアウトバウンドハンドラ層の使用可能なアウトバウンドハンドラによってメッセージを取得し、
    シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、あるいは、キューストレージが前記シーケンスの処理すべきメッセージをすでに含んでいる場合、あるいは、着信メッセージは前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージのメモリに格納し、さらなる処理のために保持する、方法。
  2. 前記シーケンスのメッセージの順序を維持するために、着信メッセージが次に処理すべきメッセージであるか判断する、以下のステップを含む請求項1に記載の方法であって:
    前記シーケンスにおける着信メッセージの順序を示すメッセージランクを判断するステップ;および
    メッセージランクを、前記シーケンスの処理すべき次のメッセージのランクを定義するシーケンスランクと比較するステップ;を有し、
    メッセージランクがシーケンスランクと同一の場合、そのメッセージは、前記シーケンスにおけるメッセージの順序を維持するために、次に処理すべきメッセージと判断され、
    メッセージランクがシーケンスランクと同一でない場合、そのメッセージは、前記シーケンスにおけるメッセージの順序を維持するために次に処理すべきメッセージとは判断されない、方法。
  3. 請求項2に記載の方法であって、アウトバウンドハンドラにおける与えられたシーケンスのメッセージの処理が完了した際に、前記与えられたシーケンスのシーケンスランクがインクリメントされ、シーケンスのシーケンスランクがインクリメントされたとき、オーバーフローストレージが、インクリメントされたシーケンスランクと同一であるメッセージランクを有するメッセージを含む場合、このメッセージをキューストレージに転送する、方法。
  4. 請求項2又は3に記載の方法であって、受信した着信メッセージに、シーケンスのメッセージランクを示すインデックスが付与されていない場合のメッセージランクを判断するステップは、シーケンス内の着信メッセージのランクを示すメッセージランクを着信メッセージに割り当て、割り当てられたメッセージランクをシーケンスストレージに格納することを含む、方法。
  5. 請求項4に記載の方法であって、割り当てられたメッセージランクは、前記インバウンドハンドラ層において最後に受信したメッセージのメッセージランクを、1プラスしてインクリメントしたものに相当する、方法。
  6. 請求項1〜3の何れか1項目に記載の方法であって、インバウンドハンドラにおいて受信した着信メッセージには、シーケンス内のメッセージランクを示すインデックスが付与されている、方法。
  7. 請求項2〜6のいずれか1項記載の方法であって、キューストレージが着信メッセージのシーケンスの、どのメッセージをも含んでおらず、着信メッセージのメッセージランクがシーケンスストレージに示されたシーケンスランクよりも大きい場合、着信メッセージは、シーケンスランクがインクリメントされ着信メッセージのメッセージランクと同等になるまで、オーバーフローストレージに格納される、方法。
  8. 請求項1〜7のいずれか1項に記載の方法であって、アウトバウンドハンドラは非同期に作動することにより、メッセージの送信が可能となり、メッセージを送信後、このメッセージの受け手から肯定応答を受信するまで、別の処理が可能となる、方法。
  9. 請求項1〜8のいずれか1項に記載の方法であって、アウトバウンドハンドラは、メッセージを受け手に送信する配信処理と、受け手から肯定応答を受信する肯定応答処理を行いうるものであり、配信処理および肯定応答処理は独立している、方法。
  10. 請求項1〜9のいずれか1項に記載の方法であって、着信メッセージを受信してから、チェックするステップまで、すべてのインバウンドハンドラが前記シーケンスの別のメッセージを受信することを防止される、インバウンドをロックするステップを、着信メッセージがオーバーフローストレージに格納されるまで、あるいは、キューストレージに送信されるまで実行し、前記インバウンドをロックするステップは、シーケンスストレージに格納されている前記シーケンス専用のミューテックスをロックすることが含まれる、方法。
  11. 請求項1〜10のいずれか1項に記載の方法であって、キューストレージからアウトバウンドハンドラに着信メッセージを転送後、すべての他のアウトバウンドハンドラが前記シーケンスの別のメッセージを受信することを、着信メッセージの処理が完了するまで防止される、アウトバウンドをロックするステップを実行し、アウトバウンドをロックするステップに、シーケンスストレージに格納されている前記シーケンス専用のミューテックスをロックすることが含まれている、方法。
  12. 請求項11に記載の方法であって、アウトバウンドハンドラが利用可能であるとき、シーケンスストレージの中の、前記メッセージのシーケンスのミューテックスをチェックし、ミューテックスがロックされていない場合のみ、前記メッセージを取得する、方法。
  13. 請求項2〜12の何れか1項目に記載の方法であって、シーケンスランクよりも大きいメッセージランクを有するメッセージが最初にオーバーフローストレージに格納され、次に、メッセージのシーケンスとメッセージの何れか一方に割り当てられたタイムアウト値に到達した場合には当該メッセージはオーバーフローストレージから破棄される、方法。
  14. ソフトウェアプログラム命令を含む非一時的コンピュータ可読媒体であって、少なくとも1つのデータプロセッサによるソフトウェアプログラム命令の実行は、請求項1〜13の何れか1項目に記載の方法の実行を含む、非一時的コンピュータ可読媒体。
  15. 非同期メッセージをシーケンシングする分散並列型処理システムであって: インバウンドハンドラ層であって、少なくとも1つのデータプロセッサを含む複数のインバウンドハンドラを含み、複数のインバウンドハンドラのそれぞれは、様々なシーケンスに関連する複数の着信メッセージを独立して受信するように構成されている、複数のインバウンドハンドラを含む、インバウンドハンドラ層;および、
    アウトバウンドハンドラ層であって、少なくとも1つのデータプロセッサを含む複数のアウトバウンドハンドラを含み、複数のアウトバウンドハンドラのそれぞれは、複数の着信メッセージを独立して処理し転送するように構成されている、複数のアウトバウンドハンドラを含む、アウトバウンドハンドラ層、を含む分散並列型処理システムであって;システムは:
    少なくとも1つのメモリを含むストレージ層を含み;当該ストレージ層は:
    - 複数のアウトバウンドハンドラへ伝送される状態にある着信メッセージを格納するキューストレージ;および
    - 共有シーケンスストレージを含み;当該共有シーケンスストレージは:
    - 着信メッセージの各シーケンスのステータスを維持し、更新するためのシーケンスステータスコンテキスト;および
    - インバウンドハンドラからのメッセージを受信し、それらを順次、キューストレージに転送するよう構成された共有オーバーフローストレージ;を含み、
    前記システムは、メッセージのシーケンスにおけるメッセージの順序を維持するために、着信メッセージが、次に処理すべきメッセージであるかどうかを判断するように構成されており、前記システムは:
    - シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラがいずれも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラによってメッセージを取り出すステップ;および
    - シーケンスステータスが、アウトバウンドハンドラ層のアウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、または、キューストレージが前記シーケンスの処理すべきメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージをオーバーフローストレージのメモリに格納し、さらなる処理のために保持する、ステップを実行するよう構成された非同期メッセージをシーケンシングする分散並列型処理システム。
  16. 複数の並列型インバウンドハンドラおよび複数の並列型アウトバウンドハンドラを有する並列環境において、少なくとも1つのサーバアプリケーションと少なくとも1つのクライアントアプリケーション間で非同期メッセージを処理するために、少なくとも1つのデータプロセッサを用いて、コンピュータにより実行する旅行モニタリング方法であって:
    複数のインバウンドハンドラのうちの1つのインバウンドハンドラにおいて、着信メッセージを含むシーケンスを特定するシーケンス相関値が伴う着信メッセージを受信するステップと;
    シーケンスストレージにおける前記シーケンスのシーケンスステータスをチェックするステップと;
    前記シーケンスにおいてメッセージの順序を維持するため、着信したメッセージが次に処理するメッセージであるかを判断するステップと;を有し、
    シーケンスステータスが、複数のアウトバウンドハンドラのうちのいずれのアウトバウンドハンドラも現時点で、前記シーケンスのメッセージを処理していないことを示し、着信メッセージが前記シーケンスの次に処理するメッセージであると判断された場合、その着信メッセージをキューストレージに送信し、次いで、処理のために使用可能なアウトバウンドハンドラに転送し、 シーケンスステータスが、アウトバウンドハンドラの少なくとも1つが、現時点で前記シーケンスのメッセージを処理していることを示す場合、または、キューストレージが前記シーケンスの処理すべきメッセージをすでに含んでいる場合、あるいは、着信メッセージが前記シーケンスの次に処理すべきメッセージではないと判断された場合、着信メッセージを共有オーバーフローストレージに格納し、さらなる処理のために保持し、
    メッセージは、乗客に関するデータを含み、シーケンス相関値は、交通サービスのリファレンスに関するデータを含む、旅行モニタリング方法。
  17. 請求項16に記載の方法であって、処理済みのメッセージをアウトバウンドハンドラから、旅行予約システム、航空会社の在庫システム、航空会社のイーチケットシステム、空港の出国管理システム、空港の運用システム、航空会社の運用システム、および、地上業務の運用システムの少なくとも1つに転送する、方法。
  18. 請求項16および17の何れか1項に記載の方法であって、交通サービスのリファレンスは少なくとも、フライトナンバー、日付および予約クラスうちの1つを含む、方法。
  19. 請求項16〜18の何れか1項に記載の方法であって、メッセージは、搭乗客、キャンセルした乗客、追加の乗客の何れか1つを記述する、方法。
  20. 請求項16〜19の何れか1項に記載の方法であって、フライトの出発時刻または、フライト提示の終了、あるいは、プロモーションの終了のうちの何れか1つに関連があるシーケンスタイムアウト値に到達後にオーバーフローストレージに格納されている着信メッセージを削除するため、各着信メッセージにはシーケンスタイムアウト値が付与される、方法。
  21. ソフトウェアプログラム命令を含む非一時的コンピュータ可読媒体であって、少なくとも1つのデータプロセッサによるソフトウェアプログラム命令の実行は、請求項16〜20の何れか1項に記載の方法からなる動作の実行を含む、非一時的コンピュータ可読媒体。
JP2015524671A 2012-08-02 2013-08-01 分散並列環境における非同期メッセージのシーケンシングの方法、システム、およびコンピュータプログラム製品 Active JP6198825B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
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
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
US13/565,284 2012-08-02
EP12368017.5 2012-08-02
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107093138B (zh) * 2017-04-21 2019-04-30 山东佳联电子商务有限公司 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法
CN110709820B (zh) * 2017-06-08 2023-08-25 艾玛迪斯简易股份公司 多标准消息处理
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)

* Cited by examiner, † Cited by third party
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
JPWO2008105099A1 (ja) * 2007-02-28 2010-06-03 富士通株式会社 アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
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

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
JP2016194905A5 (ja)
US8261286B1 (en) Fast sequential message store
JP2020038700A (ja) 乗客座席指定手続の自動化のための方法およびシステム
US20130158861A1 (en) Increasing throughput for carpool assignment matching
JP6599439B2 (ja) ワークフロー実行におけるシステムリソースの平等シェアリング
CN105719221B (zh) 针对多任务的路径协同规划方法和装置
US8868855B2 (en) Request management system and method for dynamically managing prioritized requests
JP6198825B2 (ja) 分散並列環境における非同期メッセージのシーケンシングの方法、システム、およびコンピュータプログラム製品
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
US20180300140A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
CN105765555A (zh) 分布式系统中的严格排队
CN110070289A (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
EP2693337B1 (en) Method, system and computer program products for sequencing asynchronous messages in a distributed and parallel environment
JP5180908B2 (ja) Icタグ発行管理システムおよび方法
JP2019535045A (ja) 輸送サービスを提供するための方法及びシステム
JP2012146290A5 (ja)
US8589605B2 (en) Inbound message rate limit based on maximum queue times
US20150193727A1 (en) Method for pack size allocation with expiry dates
JP6811347B1 (ja) 運送計画情報を作成するための運送管理プログラム及び運送計画情報作成方法