JPWO2008105099A1 - アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置 - Google Patents

アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置 Download PDF

Info

Publication number
JPWO2008105099A1
JPWO2008105099A1 JP2009501100A JP2009501100A JPWO2008105099A1 JP WO2008105099 A1 JPWO2008105099 A1 JP WO2008105099A1 JP 2009501100 A JP2009501100 A JP 2009501100A JP 2009501100 A JP2009501100 A JP 2009501100A JP WO2008105099 A1 JPWO2008105099 A1 JP WO2008105099A1
Authority
JP
Japan
Prior art keywords
message
queue
application
transmitted
server
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
JP2009501100A
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008105099A1 publication Critical patent/JPWO2008105099A1/ja
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

メッセージキューイングサーバ(100)が、処理依頼サーバ(10)の格納アプリケーションからメッセージが送信された場合に、当該メッセージをキューに格納し、キューにメッセージを格納した場合に、当該メッセージに係る情報を処理実行サーバ(20)の取り出しアプリケーションに対して送信することによって、処理依頼サーバ(10)の格納アプリケーションと処理実行サーバ(20)の取り出しアプリケーションとの間の連携動作を制御する。

Description

この発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置に関するものである。
従来、複数のコンピュータを協調させてサービスを提供する分散システムでは、異なるアプリケーションプログラム(以下、「アプリケーション」と呼ぶ)間の動作を連携させるための技術として、「メッセージキューイング」と呼ばれる方式が用いられている(例えば、特許文献1参照。)。このメッセージキューイングは、アプリケーション間でやり取りされるメッセージをキューと呼ばれる記憶領域を介して交換する方式である。
図11は、従来のメッセージキューイングを説明するための図である。同図に示すように、メッセージキューイングでは、処理依頼側のアプリケーションは、キューと呼ばれる記憶領域にメッセージを格納することによって処理の実行を依頼する。一方、処理実行側のアプリケーションは、所定の間隔で定期的にキューを参照して、メッセージが格納されているか否かを確認し、格納されていた場合には、メッセージを取り出して処理を実行する。
このように、キューを用いてメッセージの交換を行うことによって、アプリケーション間で非同期にメッセージを送受信することが可能になり、一時的に接続が途絶えるような状況が想定される場合でも、アプリケーションに対して特別な対策を行わずに、処理依頼側から処理実行側に確実にメッセージを届けることが可能になる。
特開平9−167145号公報
しかしながら、上述した従来のメッセージキューイングでは、処理実行側のアプリケーションは、あらかじめ設定された所定の間隔でキューを参照して処理を実行するため、キューにメッセージが格納されたタイミングと、そのメッセージが取り出されるタイミングとの間にタイムラグが生じ、このタイムラグによって、処理の待ち時間が発生するという問題があった。例えば、所定の間隔が1秒間に設定されていた場合には、最大1秒の待ち時間が発生することになる。
このメッセージキューイングにおける処理の待ち時間の問題は、分散システムの処理性能を向上する上で、大きな妨げとなっていた。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、キューを介して接続された分散システムの処理性能を向上することができるアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラムであって、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージを前記キューに格納するメッセージ格納手順と、前記メッセージ格納手順により前記キューにメッセージが格納された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、前記アプリケーション連携制御手順は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする。
また、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラムであって、送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに格納するメッセージ格納手順と、前記メッセージ格納手順により前記キューに格納されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、前記メッセージ格納手順により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与手順をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記メッセージ通番付与手順は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする。
また、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御方法であって、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージを前記キューに蓄積するメッセージ蓄積工程と、前記メッセージ蓄積工程により前記メッセージが前記キューに蓄積された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御工程と、を含んだことを特徴とする。
また、本発明は、上記の発明において、前記アプリケーション連携制御工程は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする。
また、本発明は、上記の発明において、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御方法であって、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに蓄積するメッセージ蓄積工程と、前記メッセージ蓄積工程により前記キューに蓄積されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御工程と、を含んだことを特徴とする。
また、本発明は、上記の発明において、前記メッセージ格納工程により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与工程をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記メッセージ通番付与工程は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする。
また、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御装置であって、送信元のアプリケーションから送信されたメッセージを前記キューに蓄積するメッセージ蓄積手段と、前記メッセージ蓄積手段により前記メッセージが前記キューに蓄積された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、前記アプリケーション連携制御手段は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする。
また、本発明は、上記の発明において、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御装置であって、送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに蓄積するメッセージ蓄積手段と、前記メッセージ蓄積手段により前記キューに蓄積されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、前記メッセージ格納手段により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与手段をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記メッセージ通番付与手段は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする。
本発明によれば、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージをキューに格納し、キューにメッセージを格納した場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するので、メッセージがキューに格納されてから取り出されるまでの間に生じていた処理の待ち時間を解消することが可能になり、キューを介して接続された分散システムの処理性能を向上することができるという効果を奏する。
また、本発明によれば、キューにメッセージを格納した後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信するので、送信元のアプリケーションによるトランザクション処理が成功した場合のみ送信先のアプリケーションを動作させることが可能になり、効率よく送信先のアプリケーションを動作させることができるという効果を奏する。
また、本発明によれば、送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに格納し、キューに格納したメッセージを送信先のアプリケーションに対して送信することによって送信元アプリケーションと送信先アプリケーションとの間の連携動作を制御するとともに、インデックスとして設定した項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するので、処理済みのメッセージの参照が要件として求められる場合に、従来は必要であった、処理済みのメッセージを保管しておくための特別なデータベースを不要にすることができるとともに、インデックスを用いて、キューに蓄積されているメッセージを容易に参照することが可能になり、処理済みまたは未処理のメッセージの参照を伴う処理を行う場合の処理性能を向上することができるという効果を奏する。
また、本発明によれば、キューにメッセージを格納した後に、当該メッセージに対して、キューへの格納順を示す通番を付与するので、従来、送信元のアプリケーションがメッセージを送信する際に個別に行っていた通番付与に関する処理を一元化することが可能になり、通番の払い出しにおける排他制御によるボトルネックを解消することが可能になり、キューを介して接続された分散システムの処理性能をさらに向上することができるという効果を奏する。
また、本発明によれば、キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、キューでの格納順を示す通番を付与するので、キューからメッセージを取り出す頻度に比べて、キューにメッセージを格納する頻度が高い場合に、通番付与に関する処理が行われるタイミングを分散することが可能になり、キューを介して接続された分散システムの処理性能をさらに向上することができるという効果を奏する。
図1は、本実施の形態に係るメッセージキューイングサーバによるアプリケーション連携制御の概念を説明するための図である。 図2は、本実施の形態に係るメッセージキューイングサーバの構成を示す機能ブロック図である。 図3は、キューに格納されるメッセージの一例を示す図である。 図4は、本実施の形態に係るメッセージキューイングサーバの処理手順を示すフローチャートである。 図5は、本実施の形態に係るアプリケーション連携制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。 図6は、本実施の形態における構成を示す図である。 図7は、他の第一の実施の形態における構成を示す図である。 図8は、他の第二の実施の形態における構成を示す図である。 図9は、他の第三の実施の形態における構成を示す図である。 図10は、本発明のメモリミラー化制御システムを証券取引システムに適用した際のシステム構成図である。 図11は、従来のメッセージキューイングを説明するための図である。
符号の説明
10 処理依頼サーバ
11 格納アプリケーション
20 処理実行サーバ
21 取り出しアプリケーション
100 メッセージキューイングサーバ
110 記憶部
111 キュー
120 制御部
121 キュー格納制御部
122 キュー取り出し制御部
200 コンピュータ
210 RAM
211 アプリケーション連携制御プログラム
220 CPU
221 アプリケーション連携制御プロセス
230 HDD
240 LANインタフェース
250 入出力インタフェース
260 DVDドライブ
1001 トレーディングサーバ
1002 参加者サーバ
1003 参加者ゲートウェイ
10011 注文DAM
10012 注文/付合せ手段
10013 注文板履歴DAM
10014 注文板履歴送信手段
10015 板DAM
10016 値段DAM
10017 通知情報DAM
10018 登録通知手段
10031 受信処理部
10032 送信処理部
10033 通知処理部
10041 通知DAM
以下に添付図面を参照して、この発明に係るアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置の好適な実施の形態を詳細に説明する。なお、本実施の形態では、分散システムにおいて、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するメッセージキューイングサーバに本発明を適用した場合について説明する。
まず、本実施の形態に係るメッセージキューイングサーバによるアプリケーション連携制御の概念について説明する。図1は、本実施の形態に係るメッセージキューイングサーバによるアプリケーション連携制御の概念を説明するための図である。同図に示すように、本実施の形態に係るメッセージキューイングサーバ100は、処理実行サーバ20に対して各種業務処理の実行を依頼することにより、所定の業務サービスを実現する処理依頼サーバ10と、処理依頼サーバ10から依頼された処理を実行する処理実行サーバ20との間に、図示していない所定のネットワークを介して接続される。
そして、かかる構成のもと、本実施の形態に係るメッセージキューイングサーバ100は、処理依頼サーバ10のアプリケーションからメッセージが送信された場合に、当該メッセージをキューに格納し、キューにメッセージを格納した場合に、当該メッセージに係る情報を処理実行サーバ20のアプリケーションに対して送信することによって、処理依頼サーバ10のアプリケーションと処理実行サーバ20のアプリケーションとの間の連携動作を制御する点に主な特徴がある。
具体的には、本実施の形態に係るメッセージキューイングサーバ100は、図1に示すように、処理依頼サーバ10の格納アプリケーションからメッセージ登録依頼が送信されると(同図(1)参照)、メッセージ登録依頼とともに送信されたメッセージをキューに登録する(同図(2)参照)。
そして、メッセージキューイングサーバ100は、処理実行サーバ20からメッセージ取り出し依頼を受信すると(同図(3)参照)、処理依頼サーバ10からトランザクション処理の確定を依頼するコミット情報が送信されるのを待ち、コミット情報が送信されると(「COMMIT依頼」,同図(4)参照)、ただちに、キューに登録したメッセージを処理実行サーバ20に対して送信する(同図(5))。
その後、メッセージキューイングサーバ100は、処理実行サーバ20からコミット情報が送信されると(「COMMIT依頼」,同図(6)参照)、キューのメッセージを取り出すカレント位置を次にメッセージが登録される位置に移動する(同図(7)参照)。
このような特徴により、本実施の形態に係るメッセージキューイングサーバ100は、メッセージがキューに格納されてから取り出されるまでの間に生じていた処理の待ち時間を解消することが可能にし、キューを介して接続された分散システムの処理性能を向上することができるようにしている。
さらに、本実施の形態に係るメッセージキューイングサーバ100は、処理依頼サーバ10のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージをキューに格納し、インデックスとして設定した項目の指定を受け付けた場合には、指定された項目に対応するメッセージを、表示装置などに出力する点にも特徴がある。
この特徴により、本実施の形態に係るメッセージキューイングサーバ100は、処理済みのメッセージの参照が要件として求められる場合に、従来は必要であった、処理済みのメッセージを保管しておくための特別なデータベースを不要にするとともに、インデックスを用いて、キューに蓄積されているメッセージを容易に参照することが可能にし、処理済みまたは未処理のメッセージの参照を伴う処理を行う場合の処理性能を向上することができるようにしている。
次に、本実施の形態に係るメッセージキューイングサーバ100の構成について説明する。図2は、本実施の形態に係るメッセージキューイングサーバ100の構成を示す機能ブロック図である。同図に示すように、このメッセージキューイングサーバ100は、処理実行サーバ20と処理依頼サーバ10の間に、図示していないネットワークを介して接続されている。
処理依頼サーバ10は、所定の業務処理を実行する処理実行サーバ20に対して各種業務処理の実行を依頼することにより、所定の業務サービスを実現するサーバであり、格納アプリケーション11を備えている。格納アプリケーション11は、各種業務処理の依頼が行われる際に、メッセージキューイングサーバ100に対してメッセージを送信するためのアプリケーションである。
処理実行サーバ20は、処理依頼サーバ10から依頼された処理を実行するサーバであり、取り出しアプリケーション21を備えている。取り出しアプリケーション21は、各種業務処理の実行が行われる際に、メッセージキューイングサーバ100からメッセージを取得するためのアプリケーションである。
メッセージキューイングサーバ100は、処理依頼サーバ10のアプリケーションと処理実行サーバ20のアプリケーションとの間の連携動作を制御するサーバであり、記憶部110と、制御部120とを有する。
記憶部110は、各種のデータやプログラムを記憶する記憶部であり、本発明に関連するものとしては、キュー111を有する。なお、この記憶部110は、メモリにより実現されてもよいし、ハードディスクにより実現されてもよい。
キュー111は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューである。図3は、キュー111に格納されるメッセージの一例を示す図である。具体的には、キュー111は、同図に示すように、メッセージのキュー111への格納順を示す通番と、メッセージとを対応付けて記憶する。
ここで、キュー111に記憶されるメッセージは、所定の数の項目で構成されたデータ構造を有しており、その中で、所定の項目がインデックスとして設定されている。例えば図3の例では、キュー111に格納されるメッセージは、「カラム1」、「カラム2」、「カラム3」および「カラム4」の4つの項目から構成されており、「カラム1」がインデックスとして設定されている。
図2に戻って、制御部120は、メッセージキューイングサーバ100の全体制御を行う制御部であり、本発明に関連するものとしては、キュー格納制御部121と、キュー取り出し制御部122とを有する。
キュー格納制御部121は、処理依頼サーバ10から送信されたメッセージをキュー111に格納する処理部である。具体的には、このキュー格納制御部121は、処理依頼サーバ10の格納アプリケーション11からメッセージの登録依頼が送信されると(COMMIT依頼)、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージをキュー111に格納する(図3を参照)。
ここで、キュー格納制御部121が、キュー111に格納されるメッセージに対してインデックスを設定することによって、処理依頼サーバ10と処理実行サーバ20との間でやり取りされたメッセージを、容易に確認することが可能になる。なお、以下では、メッセージにおいてインデックスとして設定された項目を「インデックス項目」と呼ぶ。
その後、キュー格納制御部121は、キュー111に格納したメッセージに対して、キュー111への格納順を示す通番を採番して、メッセージごとに付与した後に(図3を参照)、処理依頼サーバ10に対してコミット情報を送信する(COMMIT復帰)。これにより、処理依頼サーバ10におけるトランザクション処理が完了する。
以上の処理が完了した後、キュー格納制御部121は、ここでメッセージに付与した通番を、後述するキュー取り出し制御部122に通知する。ここでキュー格納制御部121が通番を通知することにより、キュー取り出し制御部122によって当該通番に対応するメッセージがキュー111から取り出され、処理実行サーバ20に対して送信される。
キュー取り出し制御部122は、キュー111からメッセージを取り出して、処理実行サーバ20に対して送信する処理部である。具体的には、このキュー取り出し制御部122は、キュー格納制御部121からメッセージの通番が通知されると、その通番に対応付けられているメッセージをキュー111から取り出し、取り出したメッセージとその通番を、処理実行サーバ20の取り出しアプリケーション21に対して送信する。
その後、キュー取り出し制御部122は、キュー111に格納されたメッセージの取り出しを伴うトランザクション処理が確定したことを示すコミット情報が処理実行サーバ20の取り出しアプリケーション21から送信されると(COMMIT依頼)、キュー111のメッセージを取り出すカレント位置を次にメッセージが登録される位置に移動した後に、処理実行サーバ20に対してコミット情報を送信する(COMMIT復帰)。これにより、処理実行サーバ20におけるトランザクション処理が完了する。
また、キュー取り出し制御部122は、図示していないメッセージ参照アプリケーションを介して、利用者などからインデックス項目の指定を受け付けた場合には、キュー111を参照して、指定されたインデックス項目に対応するメッセージを取り出し、図示していない表示装置などに出力する。この時、キュー111に格納されているメッセージには、前述したキュー格納制御部121によってすでにインデックス項目が設定されているので、キュー取り出し制御部122は、指定されたメッセージを容易に取り出すことができる。
なお、ここでは、キュー取り出し制御部122が、インデックス項目に基づいてキュー111を参照して、メッセージを出力する場合について説明したが、例えば、利用者などからインデックス項目の指定を受け付ける機能を有するメッセージ参照用のアプリケーションを用いて、キュー111を参照し、メッセージを出力するようにしてもよい。
次に、本実施の形態に係るメッセージキューイングサーバ100の処理手順について説明する。図4は、本実施の形態に係るメッセージキューイングサーバ100の処理手順を示すフローチャートである。
同図に示すように、メッセージキューイングサーバ100では、キュー格納制御部121が、処理依頼サーバ10の格納アプリケーション11から送信されるメッセージの登録依頼を待ち受ける(ステップS201)。キュー格納制御部121は、メッセージの登録依頼が送信されると(ステップS101)、この依頼を受け付け(ステップS202)、依頼されたメッセージをキュー111に登録する(ステップS203)。
一方、キュー取り出し制御部122は、処理実行サーバ20の取り出しアプリケーション21からメッセージの取り出し依頼が送信された場合に(ステップS401)、この依頼を受け付けて(ステップS301)、キュー格納制御部121から送信されたメッセージの通番が到着するのを待ち受ける状態に入る(ステップS302)。
この状態で、メッセージキューイングサーバ100では、処理依頼サーバ10の格納アプリケーション11からCOMMITを依頼されると(ステップS102)、キュー格納制御部121が、この依頼を受け付け(ステップS204)、キュー111に登録されたメッセージの通番を採番し(ステップS205)、採番した通番をメッセージに付与した後に(ステップS206)、格納アプリケーション11に対してCOMMITを復帰する(ステップS207)。
そして、COMMITを復帰した後に、キュー格納制御部121は、キュー取り出し制御部122に対してメッセージの通番を通知する(ステップS208)。
キュー取り出し制御部122は、キュー格納制御部121からメッセージの通番が通知されると、この通知を受け付け(ステップS303)、当該通番に対応付けられたメッセージをキュー111から取り出し、取り出したメッセージとその通番を、処理実行サーバ20の取り出しアプリケーション21に対して送信する(ステップS304)。
処理実行サーバ20では、取り出しアプリケーション21が、メッセージの取り出し依頼を送信した後に(ステップS401参照)、メッセージおよび通番が到着するのを待ち受ける状態に入っている(ステップS402)。
そして、メッセージキューイングサーバ100のキュー取り出し制御部122からメッセージおよび通番が到着すると、取り出しアプリケーション21が、これらを受け付け(ステップS403)、メッセージキューイングサーバ100のキュー取り出し制御部122に対して、COMMITを依頼する(ステップS404)。
そして、メッセージキューイングサーバ100では、COMMITが依頼されると、キュー取り出し制御部122が、この依頼を受け付け(ステップS305)、キュー111のメッセージの取り出しのカレント位置を次のレコードの位置へ移動し(ステップS306)、処理実行サーバ20の取り出しアプリケーション21に対してCOMMITを復帰する(ステップS307)。
上述してきたように、本実施の形態では、キュー格納制御部121が、処理依頼サーバ10の格納アプリケーション11からメッセージが送信された場合に、当該メッセージをキュー111に格納し、キュー格納制御部121によりキュー111にメッセージが格納された場合に、キュー取り出し制御部122が、当該メッセージを処理実行サーバ20の取り出しアプリケーション21に対して送信することによって、格納アプリケーション11と取り出しアプリケーション21との間の連携動作を制御するので、メッセージがキュー111に格納されてから取り出されるまでの間に生じていた処理の待ち時間を解消することが可能になり、キュー111を介して接続された分散システムの処理性能を向上することができる。
また、本実施の形態では、キュー格納制御部121によりキュー111にメッセージが格納された後に、キュー取り出し制御部122が、当該メッセージの送信を伴うトランザクション処理が確定したことを示すコミット情報が、処理依頼サーバ10の格納アプリケーション11から送信された場合に、当該メッセージを処理実行サーバ20の取り出しアプリケーション21に対して送信するので、送信元のアプリケーションによるトランザクション処理が成功した場合のみ送信先のアプリケーションを動作させることが可能になり、効率よく送信先のアプリケーションを動作させることができる。
また、本実施の形態では、処理依頼サーバ10の格納アプリケーション11からメッセージが送信された場合に、キュー格納制御部121が、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージをキュー111に格納し、キュー取り出し制御部122が、キュー111に格納されたメッセージを処理実行サーバ20の取り出しアプリケーション21に対して送信することによって、格納アプリケーション11と取り出しアプリケーション21との間の連携動作を制御するとともに、インデックスとして設定した項目の指定を利用者などから受け付けた場合には、指定された項目に対応するメッセージを表示装置などに出力するので、処理済みのメッセージの参照が要件として求められる場合に、従来は必要であった、処理済みのメッセージを保管しておくための特別なデータベースを不要にすることができるとともに、インデックスを用いて、キュー111に蓄積されているメッセージを容易に参照することが可能になり、処理済みまたは未処理のメッセージの参照を伴う処理を行う場合の処理性能を向上することができる。
また、本実施の形態では、キュー格納制御部121が、キュー111にメッセージを格納した後に、当該メッセージに対して、キュー111への格納順を示す通番を付与するので、従来、送信元のアプリケーションがメッセージを送信する際に個別に行っていた通番付与に関する処理を一元化することが可能になり、通番の払い出しにおける排他制御によるボトルネックを解消することが可能になり、キュー111を介して接続された分散システムの処理性能をさらに向上することができる。
また、本実施の形態では、キュー111に蓄積されたメッセージが取り出される際に、キュー取り出し制御部122が、当該メッセージに対して、キュー111での格納順を示す通番を付与してもよいとしたので、キュー111からメッセージを取り出す頻度に比べて、キュー111にメッセージを格納する頻度が高い場合に、通番付与に関する処理が行われるタイミングを分散することが可能になり、キュー111を介して接続された分散システムの処理性能をさらに向上することができる。
なお、本実施の形態では、キュー格納制御部121が、キュー111に格納したメッセージに対して通番を付与する場合について説明したが、キュー取り出し制御部122が、キュー111に蓄積されたメッセージを取り出す際に、そのメッセージに対して、キュー111での格納順を示す通番を付与するようにしてもよい。
これにより、キュー111からメッセージを取り出す頻度に比べて、キュー111にメッセージを格納する頻度が高い場合に、通番付与に関する処理が行われるタイミングを分散することが可能になり、キュー111を介して接続された分散システムの処理性能をさらに向上することができる。
また、本実施の形態では、説明の便宜上、図6に示すように(図6は、本実施の形態における構成を示す図である)、処理依頼サーバ10および処理実行サーバ20がそれぞれ1台ずつメッセージキューイングサーバ100に接続されている場合について説明したが、メッセージキューイングサーバ100には、複数台の処理依頼サーバ10および処理実行サーバ20が接続されていてもよい。(なお、説明を容易にするために、図6では図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
また、本実施の形態では、1つのキュー111を備えたメッセージキューイングサーバ100について説明したが、本発明はこれに限られるわけではなく、メッセージキューイングサーバが複数のキューを備えていた場合でも同様に適用することができる。
例えば、メッセージキューイングサーバ100に複数の処理実行サーバが接続されていた場合には、あらかじめ処理実行サーバごとにキューを割り当てておき、キュー格納制御部121が、メッセージの登録依頼を受け付けた場合に、当該メッセージの送信先に基づいて、各キューにメッセージを振り分ける。
また、本実施の形態では、アプリケーション連携制御を行うメッセージキューイングサーバ100について説明したが、かかるメッセージキューイングサーバ100が有する構成をソフトウェアによって実現することで、同様の機能を有するアプリケーション連携制御プログラムを得ることができる。そこで、このアプリケーション連携制御プログラムを実行するコンピュータについて説明する。
図5は、本実施の形態に係るアプリケーション連携制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ200は、RAM(Random Access Memory)210と、CPU(Central Processing Unit)220と、HDD(Hard Disk Drive)230と、LAN(Local Area Network)インタフェース240と、入出力インタフェース250と、DVD(Digital Versatile Disk)ドライブ260とを有する。
RAM210は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU220は、RAM210からプログラムを読み出して実行する中央処理装置である。
HDD230は、プログラムやデータを格納するディスク装置であり、LANインタフェース240は、コンピュータ200をLAN経由で他のコンピュータに接続するためのインタフェースである。
入出力インタフェース250は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、DVDドライブ260は、DVDの読み書きを行う装置である。
そして、このコンピュータ200において実行されるアプリケーション連携制御プログラム211は、DVDに記憶され、DVDドライブ260によってDVDから読み出されてコンピュータ200にインストールされる。
あるいは、このアプリケーション連携制御プログラム211は、LANインタフェース240を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ200にインストールされる。
そして、インストールされたアプリケーション連携制御プログラム211は、HDD230に記憶され、RAM210に読み出されてCPU220によってアプリケーション連携制御プロセス221として実行される。
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
以下に、分散・統合の具体的形態の例を説明する。図7は、他の第一の実施の形態における構成を示す図であり、図8は、他の第二の実施の形態における構成を示す図であり、図9は、他の第三の実施の形態における構成を示す図である。
例えば、図7に示すように、メッセージキューイングサーバ100内に、キューイング手段130にキューを格納する格納アプリケーション11、メッセージキューイング手段130からの処理を取り出す取り出しアプリケーション21を有しても良い。(なお、説明を容易にするために、図7では図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
または、図8に示すように、処理依頼サーバ10は上記実施の形態に示されるように、格納アプリケーション11を有する物理的なサーバで、メッセージキューイングサーバ100内に、メッセージキューイング手段130からの処理を取り出す取り出しアプリケーション21を有する構成としても良い。(なお、説明を容易にするために、図8でも図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
逆に、図9に示すように、メッセージキューイングサーバ100内にキューイング手段130にキューを格納する格納アプリケーション11を有し、取り出しアプリケーションを有する処理実行サーバ20は上記実施の形態同様物理的なサーバとしても良い。(なお、説明を容易にするために、図8においても図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
さらに、上記実施の形態においては、記憶部110をメッセージキューイングサーバ100に内蔵した構成としたが、これに限られる事は無く、例えば、NAS(Network Attached Storage)やSAN(Storage Area Network)等のネットワークストレージを利用しても良い。
また、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以下に、証券取引システムにおける実施例を示す。図10は、本発明のメモリミラー化制御システムを証券取引システムに適用した際のシステム構成図である。
まず、1001は、証券取引処理を行うトレーディングサーバであり、注文DAM10011、注文板履歴DAM10013、板DAM10015、値段DAM10016および通知情報DAM10017が上記してきた実施の形態にて説明したメッセージキューイングサーバ100に相当するものである。
また、注文/付合せ手段10012や注文板履歴送信手段10014、登録通知手段10018は上記してきた実施の形態における処理依頼側アプリケーションもしくは処理実行側アプリケーションに対応する。
例えば、注文付合せ手段10012は、後述する参加者ゲートウェイ1003の受信処理部10031から受けた注文依頼情報が蓄積された注文DAM10011から取得し実行する。すなわち、受信処理部10031が処理依頼側アプリケーションとなる。その一方で、注文付合せ手段10012は、注文板履歴DAM10013というメッセージキューイングサーバとの対応関係から、注文板履歴送信手段10014に対しては処理依頼側アプリケーションとなる。
1003は、参加者ゲートウェイであり、証券取引参加者の参加者サーバ1002からの注文を受信するとトレーディングサーバ1001に対してその情報を転送する受信処理部10031と、参加者サーバ1002へ各種通知を行う通知処理部10033および送信処理部10032とを有する。
上記したように、参加者ゲートウェイの受信処理部10031からの出力は、トレーディングサーバ1001の注文DAM10011にキューイングされ、その情報を注文/付合せ手段10012が処理する形となる。
また、1004は、通知サーバであり、トレーディングサーバ1001の登録通知手段10018からの登録通知をキューイングし、キューイングした通知情報を参加者ゲートウェイ1003の通知処理部10033に送る通知DAM10041を有する。
なお、トレーディングサーバ1001の注文/付合せ手段10012の説明でも明記したが、メッセージキューイングサーバである注文DAM10011、注文板履歴DAM10013、板DAM10015、値段DAM10016、通知情報DAM10017および通知DAM10041は、上記してきた実施の形態と同様の処理を行い、かつ、各DAMの前段の処理部(手段)は処理依頼側アプリケーションの機能を有し、同後段の処理部(手段)は処理実行側アプリケーションの機能を有する。
このような処理では、参加者サーバ1002からの注文依頼に対して、受信処理部10031や注文付合せ手段10012、登録通知手段10018、通知処理部10033、送信処理部10032という多数のアプリケーションを経て注文完了通知が届くようになるが、本実施例では、各処理が各DAM(注文DAM10011、通知情報DAM10017、通知DAM10041)を介したイベントドリブン型の処理で行われていくようになるので、複数のアプリケーションを経ても高速に注文完了の処理を行う事が可能となる。
以上のように、本発明に係るアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御する場合に有用であり、特に、キューを介して接続された分散システムの処理性能を向上することが求められる場合に適している。
この発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置に関するものである。
従来、複数のコンピュータを協調させてサービスを提供する分散システムでは、異なるアプリケーションプログラム(以下、「アプリケーション」と呼ぶ)間の動作を連携させるための技術として、「メッセージキューイング」と呼ばれる方式が用いられている(例えば、特許文献1参照。)。このメッセージキューイングは、アプリケーション間でやり取りされるメッセージをキューと呼ばれる記憶領域を介して交換する方式である。
図11は、従来のメッセージキューイングを説明するための図である。同図に示すように、メッセージキューイングでは、処理依頼側のアプリケーションは、キューと呼ばれる記憶領域にメッセージを格納することによって処理の実行を依頼する。一方、処理実行側のアプリケーションは、所定の間隔で定期的にキューを参照して、メッセージが格納されているか否かを確認し、格納されていた場合には、メッセージを取り出して処理を実行する。
このように、キューを用いてメッセージの交換を行うことによって、アプリケーション間で非同期にメッセージを送受信することが可能になり、一時的に接続が途絶えるような状況が想定される場合でも、アプリケーションに対して特別な対策を行わずに、処理依頼側から処理実行側に確実にメッセージを届けることが可能になる。
特開平9−167145号公報
しかしながら、上述した従来のメッセージキューイングでは、処理実行側のアプリケーションは、あらかじめ設定された所定の間隔でキューを参照して処理を実行するため、キューにメッセージが格納されたタイミングと、そのメッセージが取り出されるタイミングとの間にタイムラグが生じ、このタイムラグによって、処理の待ち時間が発生するという問題があった。例えば、所定の間隔が1秒間に設定されていた場合には、最大1秒の待ち時間が発生することになる。
このメッセージキューイングにおける処理の待ち時間の問題は、分散システムの処理性能を向上する上で、大きな妨げとなっていた。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、キューを介して接続された分散システムの処理性能を向上することができるアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラムであって、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージを前記キューに格納するメッセージ格納手順と、前記メッセージ格納手順により前記キューにメッセージが格納された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、前記アプリケーション連携制御手順は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする。
また、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラムであって、送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに格納するメッセージ格納手順と、前記メッセージ格納手順により前記キューに格納されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、前記メッセージ格納手順により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与手順をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記メッセージ通番付与手順は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする。
また、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御方法であって、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージを前記キューに蓄積するメッセージ蓄積工程と、前記メッセージ蓄積工程により前記メッセージが前記キューに蓄積された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御工程と、を含んだことを特徴とする。
また、本発明は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御装置であって、送信元のアプリケーションから送信されたメッセージを前記キューに蓄積するメッセージ蓄積手段と、前記メッセージ蓄積手段により前記メッセージが前記キューに蓄積された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御手段と、を備えたことを特徴とする。
本発明によれば、送信元のアプリケーションからメッセージが送信された場合に、当該メッセージをキューに格納し、キューにメッセージを格納した場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するので、メッセージがキューに格納されてから取り出されるまでの間に生じていた処理の待ち時間を解消することが可能になり、キューを介して接続された分散システムの処理性能を向上することができるという効果を奏する。
また、本発明によれば、キューにメッセージを格納した後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信するので、送信元のアプリケーションによるトランザクション処理が成功した場合のみ送信先のアプリケーションを動作させることが可能になり、効率よく送信先のアプリケーションを動作させることができるという効果を奏する。
また、本発明によれば、送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに格納し、キューに格納したメッセージを送信先のアプリケーションに対して送信することによって送信元アプリケーションと送信先アプリケーションとの間の連携動作を制御するとともに、インデックスとして設定した項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するので、処理済みのメッセージの参照が要件として求められる場合に、従来は必要であった、処理済みのメッセージを保管しておくための特別なデータベースを不要にすることができるとともに、インデックスを用いて、キューに蓄積されているメッセージを容易に参照することが可能になり、処理済みまたは未処理のメッセージの参照を伴う処理を行う場合の処理性能を向上することができるという効果を奏する。
また、本発明によれば、キューにメッセージを格納した後に、当該メッセージに対して、キューへの格納順を示す通番を付与するので、従来、送信元のアプリケーションがメッセージを送信する際に個別に行っていた通番付与に関する処理を一元化することが可能になり、通番の払い出しにおける排他制御によるボトルネックを解消することが可能になり、キューを介して接続された分散システムの処理性能をさらに向上することができるという効果を奏する。
また、本発明によれば、キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、キューでの格納順を示す通番を付与するので、キューからメッセージを取り出す頻度に比べて、キューにメッセージを格納する頻度が高い場合に、通番付与に関する処理が行われるタイミングを分散することが可能になり、キューを介して接続された分散システムの処理性能をさらに向上することができるという効果を奏する。
以下に添付図面を参照して、この発明に係るアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置の好適な実施の形態を詳細に説明する。なお、本実施の形態では、分散システムにおいて、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するメッセージキューイングサーバに本発明を適用した場合について説明する。
まず、本実施の形態に係るメッセージキューイングサーバによるアプリケーション連携制御の概念について説明する。図1は、本実施の形態に係るメッセージキューイングサーバによるアプリケーション連携制御の概念を説明するための図である。同図に示すように、本実施の形態に係るメッセージキューイングサーバ100は、処理実行サーバ20に対して各種業務処理の実行を依頼することにより、所定の業務サービスを実現する処理依頼サーバ10と、処理依頼サーバ10から依頼された処理を実行する処理実行サーバ20との間に、図示していない所定のネットワークを介して接続される。
そして、かかる構成のもと、本実施の形態に係るメッセージキューイングサーバ100は、処理依頼サーバ10のアプリケーションからメッセージが送信された場合に、当該メッセージをキューに格納し、キューにメッセージを格納した場合に、当該メッセージに係る情報を処理実行サーバ20のアプリケーションに対して送信することによって、処理依頼サーバ10のアプリケーションと処理実行サーバ20のアプリケーションとの間の連携動作を制御する点に主な特徴がある。
具体的には、本実施の形態に係るメッセージキューイングサーバ100は、図1に示すように、処理依頼サーバ10の格納アプリケーションからメッセージ登録依頼が送信されると(同図(1)参照)、メッセージ登録依頼とともに送信されたメッセージをキューに登録する(同図(2)参照)。
そして、メッセージキューイングサーバ100は、処理実行サーバ20からメッセージ取り出し依頼を受信すると(同図(3)参照)、処理依頼サーバ10からトランザクション処理の確定を依頼するコミット情報が送信されるのを待ち、コミット情報が送信されると(「COMMIT依頼」,同図(4)参照)、ただちに、キューに登録したメッセージを処理実行サーバ20に対して送信する(同図(5)参照)。
その後、メッセージキューイングサーバ100は、処理実行サーバ20からコミット情報が送信されると(「COMMIT依頼」,同図(6)参照)、キューのメッセージを取り出すカレント位置を次にメッセージが登録される位置に移動する(同図(7)参照)。
このような特徴により、本実施の形態に係るメッセージキューイングサーバ100は、メッセージがキューに格納されてから取り出されるまでの間に生じていた処理の待ち時間を解消することが可能にし、キューを介して接続された分散システムの処理性能を向上することができるようにしている。
さらに、本実施の形態に係るメッセージキューイングサーバ100は、処理依頼サーバ10のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージをキューに格納し、インデックスとして設定した項目の指定を受け付けた場合には、指定された項目に対応するメッセージを、表示装置などに出力する点にも特徴がある。
この特徴により、本実施の形態に係るメッセージキューイングサーバ100は、処理済みのメッセージの参照が要件として求められる場合に、従来は必要であった、処理済みのメッセージを保管しておくための特別なデータベースを不要にするとともに、インデックスを用いて、キューに蓄積されているメッセージを容易に参照することが可能にし、処理済みまたは未処理のメッセージの参照を伴う処理を行う場合の処理性能を向上することができるようにしている。
次に、本実施の形態に係るメッセージキューイングサーバ100の構成について説明する。図2は、本実施の形態に係るメッセージキューイングサーバ100の構成を示す機能ブロック図である。同図に示すように、このメッセージキューイングサーバ100は、処理実行サーバ20と処理依頼サーバ10の間に、図示していないネットワークを介して接続されている。
処理依頼サーバ10は、所定の業務処理を実行する処理実行サーバ20に対して各種業務処理の実行を依頼することにより、所定の業務サービスを実現するサーバであり、格納アプリケーション11を備えている。格納アプリケーション11は、各種業務処理の依頼が行われる際に、メッセージキューイングサーバ100に対してメッセージを送信するためのアプリケーションである。
処理実行サーバ20は、処理依頼サーバ10から依頼された処理を実行するサーバであり、取り出しアプリケーション21を備えている。取り出しアプリケーション21は、各種業務処理の実行が行われる際に、メッセージキューイングサーバ100からメッセージを取得するためのアプリケーションである。
メッセージキューイングサーバ100は、処理依頼サーバ10のアプリケーションと処理実行サーバ20のアプリケーションとの間の連携動作を制御するサーバであり、記憶部110と、制御部120とを有する。
記憶部110は、各種のデータやプログラムを記憶する記憶部であり、本発明に関連するものとしては、キュー111を有する。なお、この記憶部110は、メモリにより実現されてもよいし、ハードディスクにより実現されてもよい。
キュー111は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューである。図3は、キュー111に格納されるメッセージの一例を示す図である。具体的には、キュー111は、同図に示すように、メッセージのキュー111への格納順を示す通番と、メッセージとを対応付けて記憶する。
ここで、キュー111に記憶されるメッセージは、所定の数の項目で構成されたデータ構造を有しており、その中で、所定の項目がインデックスとして設定されている。例えば図3の例では、キュー111に格納されるメッセージは、「カラム1」、「カラム2」、「カラム3」および「カラム4」の4つの項目から構成されており、「カラム1」がインデックスとして設定されている。
図2に戻って、制御部120は、メッセージキューイングサーバ100の全体制御を行う制御部であり、本発明に関連するものとしては、キュー格納制御部121と、キュー取り出し制御部122とを有する。
キュー格納制御部121は、処理依頼サーバ10から送信されたメッセージをキュー111に格納する処理部である。具体的には、このキュー格納制御部121は、処理依頼サーバ10の格納アプリケーション11からメッセージの登録依頼が送信されると(COMMIT依頼)、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージをキュー111に格納する(図3を参照)。
ここで、キュー格納制御部121が、キュー111に格納されるメッセージに対してインデックスを設定することによって、処理依頼サーバ10と処理実行サーバ20との間でやり取りされたメッセージを、容易に確認することが可能になる。なお、以下では、メッセージにおいてインデックスとして設定された項目を「インデックス項目」と呼ぶ。
その後、キュー格納制御部121は、キュー111に格納したメッセージに対して、キュー111への格納順を示す通番を採番して、メッセージごとに付与した後に(図3を参照)、処理依頼サーバ10に対してコミット情報を送信する(COMMIT復帰)。これにより、処理依頼サーバ10におけるトランザクション処理が完了する。
以上の処理が完了した後、キュー格納制御部121は、ここでメッセージに付与した通番を、後述するキュー取り出し制御部122に通知する。ここでキュー格納制御部121が通番を通知することにより、キュー取り出し制御部122によって当該通番に対応するメッセージがキュー111から取り出され、処理実行サーバ20に対して送信される。
キュー取り出し制御部122は、キュー111からメッセージを取り出して、処理実行サーバ20に対して送信する処理部である。具体的には、このキュー取り出し制御部122は、キュー格納制御部121からメッセージの通番が通知されると、その通番に対応付けられているメッセージをキュー111から取り出し、取り出したメッセージとその通番を、処理実行サーバ20の取り出しアプリケーション21に対して送信する。
その後、キュー取り出し制御部122は、キュー111に格納されたメッセージの取り出しを伴うトランザクション処理が確定したことを示すコミット情報が処理実行サーバ20の取り出しアプリケーション21から送信されると(COMMIT依頼)、キュー111のメッセージを取り出すカレント位置を次にメッセージが登録される位置に移動した後に、処理実行サーバ20に対してコミット情報を送信する(COMMIT復帰)。これにより、処理実行サーバ20におけるトランザクション処理が完了する。
また、キュー取り出し制御部122は、図示していないメッセージ参照アプリケーションを介して、利用者などからインデックス項目の指定を受け付けた場合には、キュー111を参照して、指定されたインデックス項目に対応するメッセージを取り出し、図示していない表示装置などに出力する。この時、キュー111に格納されているメッセージには、前述したキュー格納制御部121によってすでにインデックス項目が設定されているので、キュー取り出し制御部122は、指定されたメッセージを容易に取り出すことができる。
なお、ここでは、キュー取り出し制御部122が、インデックス項目に基づいてキュー111を参照して、メッセージを出力する場合について説明したが、例えば、利用者などからインデックス項目の指定を受け付ける機能を有するメッセージ参照用のアプリケーションを用いて、キュー111を参照し、メッセージを出力するようにしてもよい。
次に、本実施の形態に係るメッセージキューイングサーバ100の処理手順について説明する。図4は、本実施の形態に係るメッセージキューイングサーバ100の処理手順を示すフローチャートである。
同図に示すように、メッセージキューイングサーバ100では、キュー格納制御部121が、処理依頼サーバ10の格納アプリケーション11から送信されるメッセージの登録依頼を待ち受ける(ステップS201)。キュー格納制御部121は、メッセージの登録依頼が送信されると(ステップS101)、この依頼を受け付け(ステップS202)、依頼されたメッセージをキュー111に登録する(ステップS203)。
一方、キュー取り出し制御部122は、処理実行サーバ20の取り出しアプリケーション21からメッセージの取り出し依頼が送信された場合に(ステップS401)、この依頼を受け付けて(ステップS301)、キュー格納制御部121から送信されたメッセージの通番が到着するのを待ち受ける状態に入る(ステップS302)。
この状態で、メッセージキューイングサーバ100では、処理依頼サーバ10の格納アプリケーション11からCOMMITを依頼されると(ステップS102)、キュー格納制御部121が、この依頼を受け付け(ステップS204)、キュー111に登録されたメッセージの通番を採番し(ステップS205)、採番した通番をメッセージに付与した後に(ステップS206)、格納アプリケーション11に対してCOMMITを復帰する(ステップS207)。
そして、COMMITを復帰した後に、キュー格納制御部121は、キュー取り出し制御部122に対してメッセージの通番を通知する(ステップS208)。
キュー取り出し制御部122は、キュー格納制御部121からメッセージの通番が通知されると、この通知を受け付け(ステップS303)、当該通番に対応付けられたメッセージをキュー111から取り出し、取り出したメッセージとその通番を、処理実行サーバ20の取り出しアプリケーション21に対して送信する(ステップS304)。
処理実行サーバ20では、取り出しアプリケーション21が、メッセージの取り出し依頼を送信した後に(ステップS401参照)、メッセージおよび通番が到着するのを待ち受ける状態に入っている(ステップS402)。
そして、メッセージキューイングサーバ100のキュー取り出し制御部122からメッセージおよび通番が到着すると、取り出しアプリケーション21が、これらを受け付け(ステップS403)、メッセージキューイングサーバ100のキュー取り出し制御部122に対して、COMMITを依頼する(ステップS404)。
そして、メッセージキューイングサーバ100では、COMMITが依頼されると、キュー取り出し制御部122が、この依頼を受け付け(ステップS305)、キュー111のメッセージの取り出しのカレント位置を次のレコードの位置へ移動し(ステップS306)、処理実行サーバ20の取り出しアプリケーション21に対してCOMMITを復帰する(ステップS307)。
上述してきたように、本実施の形態では、キュー格納制御部121が、処理依頼サーバ10の格納アプリケーション11からメッセージが送信された場合に、当該メッセージをキュー111に格納し、キュー格納制御部121によりキュー111にメッセージが格納された場合に、キュー取り出し制御部122が、当該メッセージを処理実行サーバ20の取り出しアプリケーション21に対して送信することによって、格納アプリケーション11と取り出しアプリケーション21との間の連携動作を制御するので、メッセージがキュー111に格納されてから取り出されるまでの間に生じていた処理の待ち時間を解消することが可能になり、キュー111を介して接続された分散システムの処理性能を向上することができる。
また、本実施の形態では、キュー格納制御部121によりキュー111にメッセージが格納された後に、キュー取り出し制御部122が、当該メッセージの送信を伴うトランザクション処理が確定したことを示すコミット情報が、処理依頼サーバ10の格納アプリケーション11から送信された場合に、当該メッセージを処理実行サーバ20の取り出しアプリケーション21に対して送信するので、送信元のアプリケーションによるトランザクション処理が成功した場合のみ送信先のアプリケーションを動作させることが可能になり、効率よく送信先のアプリケーションを動作させることができる。
また、本実施の形態では、処理依頼サーバ10の格納アプリケーション11からメッセージが送信された場合に、キュー格納制御部121が、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージをキュー111に格納し、キュー取り出し制御部122が、キュー111に格納されたメッセージを処理実行サーバ20の取り出しアプリケーション21に対して送信することによって、格納アプリケーション11と取り出しアプリケーション21との間の連携動作を制御するとともに、インデックスとして設定した項目の指定を利用者などから受け付けた場合には、指定された項目に対応するメッセージを表示装置などに出力するので、処理済みのメッセージの参照が要件として求められる場合に、従来は必要であった、処理済みのメッセージを保管しておくための特別なデータベースを不要にすることができるとともに、インデックスを用いて、キュー111に蓄積されているメッセージを容易に参照することが可能になり、処理済みまたは未処理のメッセージの参照を伴う処理を行う場合の処理性能を向上することができる。
また、本実施の形態では、キュー格納制御部121が、キュー111にメッセージを格納した後に、当該メッセージに対して、キュー111への格納順を示す通番を付与するので、従来、送信元のアプリケーションがメッセージを送信する際に個別に行っていた通番付与に関する処理を一元化することが可能になり、通番の払い出しにおける排他制御によるボトルネックを解消することが可能になり、キュー111を介して接続された分散システムの処理性能をさらに向上することができる。
また、本実施の形態では、キュー111に蓄積されたメッセージが取り出される際に、キュー取り出し制御部122が、当該メッセージに対して、キュー111での格納順を示す通番を付与してもよいとしたので、キュー111からメッセージを取り出す頻度に比べて、キュー111にメッセージを格納する頻度が高い場合に、通番付与に関する処理が行われるタイミングを分散することが可能になり、キュー111を介して接続された分散システムの処理性能をさらに向上することができる。
なお、本実施の形態では、キュー格納制御部121が、キュー111に格納したメッセージに対して通番を付与する場合について説明したが、キュー取り出し制御部122が、キュー111に蓄積されたメッセージを取り出す際に、そのメッセージに対して、キュー111での格納順を示す通番を付与するようにしてもよい。
これにより、キュー111からメッセージを取り出す頻度に比べて、キュー111にメッセージを格納する頻度が高い場合に、通番付与に関する処理が行われるタイミングを分散することが可能になり、キュー111を介して接続された分散システムの処理性能をさらに向上することができる。
また、本実施の形態では、説明の便宜上、図6に示すように(図6は、本実施の形態における構成を示す図である)、処理依頼サーバ10および処理実行サーバ20がそれぞれ1台ずつメッセージキューイングサーバ100に接続されている場合について説明したが、メッセージキューイングサーバ100には、複数台の処理依頼サーバ10および処理実行サーバ20が接続されていてもよい。(なお、説明を容易にするために、図6では図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
また、本実施の形態では、1つのキュー111を備えたメッセージキューイングサーバ100について説明したが、本発明はこれに限られるわけではなく、メッセージキューイングサーバが複数のキューを備えていた場合でも同様に適用することができる。
例えば、メッセージキューイングサーバ100に複数の処理実行サーバが接続されていた場合には、あらかじめ処理実行サーバごとにキューを割り当てておき、キュー格納制御部121が、メッセージの登録依頼を受け付けた場合に、当該メッセージの送信先に基づいて、各キューにメッセージを振り分ける。
また、本実施の形態では、アプリケーション連携制御を行うメッセージキューイングサーバ100について説明したが、かかるメッセージキューイングサーバ100が有する構成をソフトウェアによって実現することで、同様の機能を有するアプリケーション連携制御プログラムを得ることができる。そこで、このアプリケーション連携制御プログラムを実行するコンピュータについて説明する。
図5は、本実施の形態に係るアプリケーション連携制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ200は、RAM(Random Access Memory)210と、CPU(Central Processing Unit)220と、HDD(Hard Disk Drive)230と、LAN(Local Area Network)インタフェース240と、入出力インタフェース250と、DVD(Digital Versatile Disk)ドライブ260とを有する。
RAM210は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU220は、RAM210からプログラムを読み出して実行する中央処理装置である。
HDD230は、プログラムやデータを格納するディスク装置であり、LANインタフェース240は、コンピュータ200をLAN経由で他のコンピュータに接続するためのインタフェースである。
入出力インタフェース250は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、DVDドライブ260は、DVDの読み書きを行う装置である。
そして、このコンピュータ200において実行されるアプリケーション連携制御プログラム211は、DVDに記憶され、DVDドライブ260によってDVDから読み出されてコンピュータ200にインストールされる。
あるいは、このアプリケーション連携制御プログラム211は、LANインタフェース240を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ200にインストールされる。
そして、インストールされたアプリケーション連携制御プログラム211は、HDD230に記憶され、RAM210に読み出されてCPU220によってアプリケーション連携制御プロセス221として実行される。
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
以下に、分散・統合の具体的形態の例を説明する。図7は、他の第一の実施の形態における構成を示す図であり、図8は、他の第二の実施の形態における構成を示す図であり、図9は、他の第三の実施の形態における構成を示す図である。
例えば、図7に示すように、メッセージキューイングサーバ100内に、キューイング手段130にキューを格納する格納アプリケーション11、メッセージキューイング手段130からの処理を取り出す取り出しアプリケーション21を有しても良い。(なお、説明を容易にするために、図7では図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
または、図8に示すように、処理依頼サーバ10は上記実施の形態に示されるように、格納アプリケーション11を有する物理的なサーバで、メッセージキューイングサーバ100内に、メッセージキューイング手段130からの処理を取り出す取り出しアプリケーション21を有する構成としても良い。(なお、説明を容易にするために、図8でも図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
逆に、図9に示すように、メッセージキューイングサーバ100内にキューイング手段130にキューを格納する格納アプリケーション11を有し、取り出しアプリケーションを有する処理実行サーバ20は上記実施の形態同様物理的なサーバとしても良い。(なお、説明を容易にするために、図8においても図2の制御部120、記憶部110をメッセージキューイング手段130として明記している。)
さらに、上記実施の形態においては、記憶部110をメッセージキューイングサーバ100に内蔵した構成としたが、これに限られる事は無く、例えば、NAS(Network Attached Storage)やSAN(Storage Area Network)等のネットワークストレージを利用しても良い。
また、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以下に、証券取引システムにおける実施例を示す。図10は、本発明のメモリミラー化制御システムを証券取引システムに適用した際のシステム構成図である。
まず、1001は、証券取引処理を行うトレーディングサーバであり、注文DAM10011、注文板履歴DAM10013、板DAM10015、値段DAM10016および通知情報DAM10017が上記してきた実施の形態にて説明したメッセージキューイングサーバ100に相当するものである。
また、注文/付合せ手段10012や注文板履歴送信手段10014、登録通知手段10018は上記してきた実施の形態における処理依頼側アプリケーションもしくは処理実行側アプリケーションに対応する。
例えば、注文付合せ手段10012は、後述する参加者ゲートウェイ1003の受信処理部10031から受けた注文依頼情報が蓄積された注文DAM10011から取得し実行する。すなわち、受信処理部10031が処理依頼側アプリケーションとなる。その一方で、注文付合せ手段10012は、注文板履歴DAM10013というメッセージキューイングサーバとの対応関係から、注文板履歴送信手段10014に対しては処理依頼側アプリケーションとなる。
1003は、参加者ゲートウェイであり、証券取引参加者の参加者サーバ1002からの注文を受信するとトレーディングサーバ1001に対してその情報を転送する受信処理部10031と、参加者サーバ1002へ各種通知を行う通知処理部10033および送信処理部10032とを有する。
上記したように、参加者ゲートウェイの受信処理部10031からの出力は、トレーディングサーバ1001の注文DAM10011にキューイングされ、その情報を注文/付合せ手段10012が処理する形となる。
また、1004は、通知サーバであり、トレーディングサーバ1001の登録通知手段10018からの登録通知をキューイングし、キューイングした通知情報を参加者ゲートウェイ1003の通知処理部10033に送る通知DAM10041を有する。
なお、トレーディングサーバ1001の注文/付合せ手段10012の説明でも明記したが、メッセージキューイングサーバである注文DAM10011、注文板履歴DAM10013、板DAM10015、値段DAM10016、通知情報DAM10017および通知DAM10041は、上記してきた実施の形態と同様の処理を行い、かつ、各DAMの前段の処理部(手段)は処理依頼側アプリケーションの機能を有し、同後段の処理部(手段)は処理実行側アプリケーションの機能を有する。
このような処理では、参加者サーバ1002からの注文依頼に対して、受信処理部10031や注文付合せ手段10012、登録通知手段10018、通知処理部10033、送信処理部10032という多数のアプリケーションを経て注文完了通知が届くようになるが、本実施例では、各処理が各DAM(注文DAM10011、通知情報DAM10017、通知DAM10041)を介したイベントドリブン型の処理で行われていくようになるので、複数のアプリケーションを経ても高速に注文完了の処理を行う事が可能となる。
以上のように、本発明に係るアプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置は、アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御する場合に有用であり、特に、キューを介して接続された分散システムの処理性能を向上することが求められる場合に適している。
図1は、本実施の形態に係るメッセージキューイングサーバによるアプリケーション連携制御の概念を説明するための図である。 図2は、本実施の形態に係るメッセージキューイングサーバの構成を示す機能ブロック図である。 図3は、キューに格納されるメッセージの一例を示す図である。 図4は、本実施の形態に係るメッセージキューイングサーバの処理手順を示すフローチャートである。 図5は、本実施の形態に係るアプリケーション連携制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。 図6は、本実施の形態における構成を示す図である。 図7は、他の第一の実施の形態における構成を示す図である。 図8は、他の第二の実施の形態における構成を示す図である。 図9は、他の第三の実施の形態における構成を示す図である。 図10は、本発明のメモリミラー化制御システムを証券取引システムに適用した際のシステム構成図である。 図11は、従来のメッセージキューイングを説明するための図である。
10 処理依頼サーバ
11 格納アプリケーション
20 処理実行サーバ
21 取り出しアプリケーション
100 メッセージキューイングサーバ
110 記憶部
111 キュー
120 制御部
121 キュー格納制御部
122 キュー取り出し制御部
200 コンピュータ
210 RAM
211 アプリケーション連携制御プログラム
220 CPU
221 アプリケーション連携制御プロセス
230 HDD
240 LANインタフェース
250 入出力インタフェース
260 DVDドライブ
1001 トレーディングサーバ
1002 参加者サーバ
1003 参加者ゲートウェイ
10011 注文DAM
10012 注文/付合せ手段
10013 注文板履歴DAM
10014 注文板履歴送信手段
10015 板DAM
10016 値段DAM
10017 通知情報DAM
10018 登録通知手段
10031 受信処理部
10032 送信処理部
10033 通知処理部
10041 通知DAM

Claims (15)

  1. アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラムであって、
    送信元のアプリケーションからメッセージが送信された場合に、当該メッセージを前記キューに格納するメッセージ格納手順と、
    前記メッセージ格納手順により前記キューにメッセージが格納された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御手順と、
    をコンピュータに実行させることを特徴とするアプリケーション連携制御プログラム。
  2. 前記アプリケーション連携制御手順は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする請求項1に記載のアプリケーション連携制御プログラム。
  3. アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御プログラムであって、
    送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに格納するメッセージ格納手順と、
    前記メッセージ格納手順により前記キューに格納されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御手順と、
    をコンピュータに実行させることを特徴とするアプリケーション連携制御プログラム。
  4. 前記メッセージ格納手順により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与手順をさらに備えたことを特徴とする請求項1、2または3に記載のアプリケーション連携制御プログラム。
  5. 前記メッセージ通番付与手順は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする請求項4に記載のアプリケーション連携制御プログラム。
  6. アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御方法であって、
    送信元のアプリケーションからメッセージが送信された場合に、当該メッセージを前記キューに蓄積するメッセージ蓄積工程と、
    前記メッセージ蓄積工程により前記メッセージが前記キューに蓄積された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御工程と、
    を含んだことを特徴とするアプリケーション連携制御方法。
  7. 前記アプリケーション連携制御工程は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする請求項6に記載のアプリケーション連携制御方法。
  8. アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御方法であって、
    送信元のアプリケーションからメッセージが送信された場合に、当該メッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに蓄積するメッセージ蓄積工程と、
    前記メッセージ蓄積工程により前記キューに蓄積されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御工程と、
    を含んだことを特徴とするアプリケーション連携制御方法。
  9. 前記メッセージ格納工程により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与工程をさらに備えたことを特徴とする請求項6、7または8に記載のアプリケーション連携制御方法。
  10. 前記メッセージ通番付与工程は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする請求項9に記載のアプリケーション連携制御方法。
  11. アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御装置であって、
    送信元のアプリケーションから送信されたメッセージを前記キューに蓄積するメッセージ蓄積手段と、
    前記メッセージ蓄積手段により前記メッセージが前記キューに蓄積された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するアプリケーション連携制御手段と、
    を備えたことを特徴とするアプリケーション連携制御装置。
  12. 前記アプリケーション連携制御手段は、前記キューにメッセージが格納された後に、当該メッセージの送信を伴う一連の業務処理が確定したことを示すコミット情報が送信元のアプリケーションから送信された場合に、当該メッセージに係る情報を送信先のアプリケーションに対して送信することを特徴とする請求項11に記載のアプリケーション連携制御装置。
  13. アプリケーション間で非同期に送受信されるメッセージを蓄積するキューを用いて、アプリケーション間の連携動作を制御するアプリケーション連携制御装置であって、
    送信元のアプリケーションからメッセージが送信された場合に、送信されたメッセージに含まれる所定の項目をインデックスとして設定した上で、当該メッセージを前記キューに蓄積するメッセージ蓄積手段と、
    前記メッセージ蓄積手段により前記キューに蓄積されたメッセージを送信先のアプリケーションに対して送信することによって前記送信元アプリケーションと前記送信先アプリケーションとの間の連携動作を制御するとともに、前記インデックスとして設定された項目の指定を受け付けた場合には、指定された項目に対応するメッセージを出力するアプリケーション連携制御手段と、
    を備えたことを特徴とするアプリケーション連携制御装置。
  14. 前記メッセージ格納手段により前記キューにメッセージが格納された後に、当該メッセージに対して、前記キューへの格納順を示す通番を付与するメッセージ通番付与手段をさらに備えたことを特徴とする請求項11、12または13に記載のアプリケーション連携制御装置。
  15. 前記メッセージ通番付与手段は、前記キューに蓄積されたメッセージが取り出される際に、当該メッセージに対して、前記キューへの格納順を示す通番を付与することを特徴とする請求項14に記載のアプリケーション連携制御装置。
JP2009501100A 2007-02-28 2007-02-28 アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置 Pending JPWO2008105099A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/053834 WO2008105099A1 (ja) 2007-02-28 2007-02-28 アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012000281A Division JP2012094174A (ja) 2012-01-04 2012-01-04 アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置

Publications (1)

Publication Number Publication Date
JPWO2008105099A1 true JPWO2008105099A1 (ja) 2010-06-03

Family

ID=39720943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009501100A Pending JPWO2008105099A1 (ja) 2007-02-28 2007-02-28 アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置

Country Status (3)

Country Link
US (1) US20090282420A1 (ja)
JP (1) JPWO2008105099A1 (ja)
WO (1) WO2008105099A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250645A (ja) * 2009-04-17 2010-11-04 Nippon Telegr & Teleph Corp <Ntt> データ登録システム及びデータ登録方法
WO2012160637A1 (ja) * 2011-05-23 2012-11-29 富士通株式会社 メッセージ判定装置およびメッセージ判定プログラム
JP5845877B2 (ja) * 2011-12-20 2016-01-20 富士通株式会社 情報処理装置、データ制御方法およびデータ制御プログラム
WO2014019701A1 (en) * 2012-08-02 2014-02-06 Amadeus S.A.S. Method, system and computer program product for sequencing asynchronous messages in a distributed and parallel environment
JP6404154B2 (ja) * 2015-03-20 2018-10-10 アルプス電気株式会社 リクエスト処理装置、その方法およびプログラム
KR102553877B1 (ko) * 2018-11-05 2023-07-10 라인플러스 주식회사 디앱에서 요구하는 높은 트랜잭션 처리량을 효율적으로 블록체인에서 처리하기 위한 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031491A (ja) * 2004-07-20 2006-02-02 Hitachi Ltd アプリケーション間連携システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274809A (en) * 1988-05-26 1993-12-28 Hitachi, Ltd. Task execution control method for a multiprocessor system with enhanced post/wait procedure
US6470340B1 (en) * 1997-02-14 2002-10-22 Fujitsu Limited Inter-program linking system and method thereof
US6529932B1 (en) * 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US7035852B2 (en) * 2000-07-21 2006-04-25 International Business Machines Corporation Implementing a message queuing interface (MQI) indexed queue support that adds a key to the index on put commit
US7039671B2 (en) * 2001-11-30 2006-05-02 Sonic Software Corporation Dynamically routing messages between software application programs using named routing nodes and named message queues
US20040024771A1 (en) * 2002-08-01 2004-02-05 Oracle International Corporation Buffered message queue architecture for database management systems with transactional enqueue support
US20050033777A1 (en) * 2003-08-04 2005-02-10 Moraes Mark A. Tracking, recording and organizing changes to data in computer systems
US7631315B2 (en) * 2005-03-28 2009-12-08 Microsoft Corporation Using subqueues to enhance local message processing
US7609703B2 (en) * 2006-09-15 2009-10-27 Hewlett-Packard Development Company, L.P. Group communication system and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031491A (ja) * 2004-07-20 2006-02-02 Hitachi Ltd アプリケーション間連携システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND199900770018, 齊藤正勝, "MSMQで実現するWeb系基幹業務システム(2) NTで作る低コストWeb(第6回) トランザクション", 日経インターネットテクノロジー, 19990322, 第21号, 第188−193頁, 日経BP社 *
JPN6010074054, 齊藤正勝, "MSMQで実現するWeb系基幹業務システム(2) NTで作る低コストWeb(第6回) トランザクション", 日経インターネットテクノロジー, 19990322, 第21号, 第188−193頁, 日経BP社 *

Also Published As

Publication number Publication date
WO2008105099A1 (ja) 2008-09-04
US20090282420A1 (en) 2009-11-12

Similar Documents

Publication Publication Date Title
JP4144897B2 (ja) 共通作業キュー環境における最適格サーバ
US8903925B2 (en) Scheduled messages in a scalable messaging system
US8196150B2 (en) Event locality using queue services
US11184745B2 (en) Actor system and method for transmitting a message from a first actor to a second actor
US10673969B2 (en) Scalable data feed system
CN110741342A (zh) 区块链交易提交排序
KR100905353B1 (ko) 거래 시스템
JP5245711B2 (ja) 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
KR20100103594A (ko) 메시징 네트워크에서의 메시지 전달에 관한 방법 및 시스템
JPWO2008105099A1 (ja) アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
US7454478B1 (en) Business message tracking system using message queues and tracking queue for tracking transaction messages communicated between computers
JP4834622B2 (ja) ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム
EP3499378B1 (en) Method and system of sharing product data in a collaborative environment
US9300765B2 (en) Exchange of information between processing servers
JP7339335B2 (ja) DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム
US8141103B2 (en) Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications
JP2010152435A (ja) 情報処理装置及び情報処理方法及びプログラム
CN113220730B (zh) 业务数据的处理系统
CN102301359A (zh) 通过计算机之间的网络提供用户接口装置处的变化的指示
JP2012094174A (ja) アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
US10996986B2 (en) Method and system for scheduling i/o operations for execution
JP2019532399A (ja) スケーラブルメッセージングシステムにおけるデータ複製
US20130132692A1 (en) Storage devices and storage systems
WO2012090281A1 (ja) データ処理装置
Kuki et al. Analyzing the effect of catastrophic breakdowns with retrial queues in a two-way communication system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004