JP2007334575A - Message communication method, system, and program - Google Patents
Message communication method, system, and program Download PDFInfo
- Publication number
- JP2007334575A JP2007334575A JP2006164855A JP2006164855A JP2007334575A JP 2007334575 A JP2007334575 A JP 2007334575A JP 2006164855 A JP2006164855 A JP 2006164855A JP 2006164855 A JP2006164855 A JP 2006164855A JP 2007334575 A JP2007334575 A JP 2007334575A
- Authority
- JP
- Japan
- Prior art keywords
- message
- request message
- retransmission
- identification information
- received
- 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.)
- Ceased
Links
Images
Abstract
Description
本発明はメッセージ通信における負荷分散を実現するメッセージ通信技術に関するものである。 The present invention relates to a message communication technique for realizing load distribution in message communication.
一般に、ある業務システムを実現する為にはネットワーク上に配置されている複数の業務が連携する必要があり、業務間でメッセージの送受信が発生する。ここで、要求メッセージを送信して処理を依頼するプログラムをクライアントプログラム、要求メッセージを受信して業務処理を実行するプログラムをサーバプログラムと呼ぶ。また、クライアントプログラムとサーバプログラムの間に位置し、ネットワークを介してメッセージ通信を実現するプログラムを通信プログラムと呼ぶ。 In general, in order to realize a certain business system, it is necessary for a plurality of businesses arranged on the network to cooperate with each other, and messages are transmitted and received between the businesses. Here, a program that transmits a request message and requests processing is called a client program, and a program that receives a request message and executes business processing is called a server program. A program that is located between the client program and the server program and implements message communication via a network is called a communication program.
メッセージの送受信形態には同期型通信と非同期型通信の2種類ある。同期型通信は、クライアントプログラムとサーバプログラムが同時に稼動している状態でメッセージを送受信する方式であり、クライアントプログラムとサーバプログラムは同期して動作する。即ち、クライアントプログラムは、サーバプログラムにメッセージが到達しサーバプログラムから応答メッセージを受信した段階で処理を終了する。ここで実際にネットワークを介してメッセージの送受信を行なうのは通信プログラムである。一方、非同期型通信はクライアントプログラムとサーバプログラムが互いに相手の稼動状態を意識しないでメッセージを送受信する方式であり、クライアントプログラムとサーバプログラムは非同期に動作する。即ち、通信プログラムがメッセージの受け渡しを仲介し、クライアントプログラムは受信側を指定してメッセージの送信を通信プログラムに依頼した段階で処理を終了する。サーバプログラムは、任意のタイミングで通信プログラムからメッセージを受け取る。この時のネットワークを介したメッセージ伝達は、送信側の通信プログラムが受信側の通信プログラムにメッセージを送信し、受信側通信プログラムから応答メッセージを受信することで完了する。 There are two types of message transmission / reception modes: synchronous communication and asynchronous communication. Synchronous communication is a method for transmitting and receiving messages while a client program and a server program are operating simultaneously, and the client program and the server program operate synchronously. That is, the client program ends the process when the message arrives at the server program and the response message is received from the server program. Here, it is a communication program that actually transmits and receives messages via the network. On the other hand, asynchronous communication is a method in which a client program and a server program transmit and receive messages without being aware of each other's operating state, and the client program and server program operate asynchronously. That is, the communication program mediates message delivery, and the client program ends the process at the stage of designating the receiving side and requesting the communication program to send a message. The server program receives a message from the communication program at an arbitrary timing. The message transmission through the network at this time is completed when the transmission side communication program transmits a message to the reception side communication program and receives a response message from the reception side communication program.
これらのメッセージ通信は、ネットワーク障害、サーバプログラムのダウン等の様々な障害により失敗する可能性がある。メッセージ通信に失敗すると、同期型通信、非同期型通信のどちらの通信形態においても、メッセージの欠落、メッセージの2重送信が発生する可能性が出てくる。 These message communications may fail due to various failures such as network failures and server program down. If the message communication fails, there is a possibility that a message is lost or a message is transmitted twice in both the synchronous communication mode and the asynchronous communication mode.
近年、インターネットの普及に伴い、銀行口座への入出金処理等「確実に1回限りのメッセージ送信を保証する」ことが求められるサービスが利用され始めている。そのため、メッセージ通信に高い信頼性が求められておりメッセージ通信規約の標準化が進められている。 In recent years, with the widespread use of the Internet, services that require “guaranteed one-time message transmission” such as deposit and withdrawal processing to bank accounts have begun to be used. For this reason, high reliability is required for message communication, and standardization of message communication rules is underway.
この様な標準化の例として標準化団体OASIS(Organization for the Advancement of Structured Information Standards)で標準化されたWebサービスのSOAP(Simple Object Access Protocol)通信の高信頼化を実現するメッセージング規約WS-Reliabilityがある。「確実に1回限りのメッセージ送信を保証する」為に、(i)配送保証、(ii)重複防止、の方法が定められている。送信側の通信プログラムは受信側の通信プログラムから確認応答を受信するまでメッセージを再送することで(i)を保証する。受信側の通信プログラムはメッセージに付与された識別子を判定し、以前に受信していない識別子の場合は受信メッセージをサーバプログラムに渡し確認応答を送信側の通信プログラムに送信し、以前に受信した識別子の場合は受信メッセージを破棄した後に確認応答を送信側の通信プログラムに送信することで(ii)を保証する。この高信頼化を実現するメッセージング方式を高信頼メッセージングと呼ぶことにする。特許文献1にも高信頼メッセージングの方式が記述されている。
As an example of such standardization, there is a messaging standard WS-Reliability for realizing high reliability of SOAP (Simple Object Access Protocol) communication of a Web service standardized by a standardization organization OASIS (Organization for the Advancement of Structured Information Standards). In order to “guarante one-time message transmission reliably”, methods of (i) delivery guarantee and (ii) prevention of duplication are defined. The communication program on the transmission side guarantees (i) by retransmitting the message until an acknowledgment is received from the communication program on the reception side. The communication program on the receiving side determines the identifier given to the message. If the identifier has not been received before, the received message is passed to the server program and an acknowledgment is sent to the communication program on the transmitting side. In the case of (ii), (ii) is guaranteed by sending a confirmation response to the communication program on the sending side after discarding the received message. The messaging system that achieves this high reliability will be referred to as high reliability messaging.
ところで、多数のクライアントプログラムからの処理要求が多量に発生するシステムでは、クライアントプログラムが動作する装置とサーバプログラムが動作する装置との間に負荷分散装置を設置し、サーバプログラムが動作する処理装置を複数配置することで、処理要求の負荷を複数装置に分散させる構成をとるのが一般的である。負荷分散装置はクライアントプログラムが動作する装置からのコネクションを負荷分散装置で終端し、サーバプログラムが動作する装置の負荷状況等に基づき適切な装置を選択して処理を割り当てることでサーバ側装置の負荷を分散する。負荷分散装置は、クライアント側装置のコネクションとサーバ側装置のコネクションを個別に対応付け、そのデータを保持している。負荷分散装置は、クライアント側装置から処理要求を受信するとコネクションが対応づけられているサーバ側装置にその処理要求を転送し、サーバ側装置から応答を受信すると対応するクライアント側装置にその応答を転送する。負荷分散装置を使用すると、クライアント側装置はサーバ側装置のアドレスを意識することはなく、負荷分散装置のアドレスのみを意識する。クライアント側装置からの処理要求はどのサーバ装置に転送されるかは不定である。 By the way, in a system in which a large number of processing requests are generated from a large number of client programs, a load distribution device is installed between a device that operates the client program and a device that operates the server program, and a processing device that operates the server program is installed. Generally, a configuration is adopted in which the load of processing requests is distributed to a plurality of devices by arranging a plurality of devices. The load balancer terminates the connection from the device running the client program at the load balancer, selects an appropriate device based on the load status of the device running the server program, etc. To distribute. The load balancer individually associates the connection of the client side device with the connection of the server side device and holds the data. When receiving a processing request from the client side device, the load balancer transfers the processing request to the server side device with which the connection is associated, and when receiving a response from the server side device, transfers the response to the corresponding client side device. To do. When the load balancer is used, the client side device is unaware of the address of the server side device, and is conscious of only the address of the load balancer. It is undefined to which server device the processing request from the client side device is transferred.
ここで、高信頼メッセージング方式を使用した通信の負荷分散は、負荷分散装置を利用して実現することができない。なぜなら、(ii)重複防止を実現する為に、受信側の通信プログラムは以前に受信したメッセージの識別子を記憶しておき、送信側の通信プログラムから同一メッセージが送信されてきた時はこの識別子で重複受信かどうかを判定しているためである。送信側の通信プログラムから再送されたメッセージが負荷分散装置を経由することで、別のサーバ側装置に転送されると、転送された装置の受信側の通信プログラムでは以前受信したことがないメッセージであるためサーバプログラムにメッセージを渡してしまい重複処理が発生してしまうからである。そのため、特許文献2に示す様に高信頼化を実現するメッセージング方式では独自の負荷分散方式を使用している。
Here, load distribution of communication using the reliable messaging method cannot be realized using a load distribution apparatus. (Ii) In order to prevent duplication, the communication program on the receiving side stores the identifier of the previously received message, and this identifier is used when the same message is transmitted from the communication program on the transmitting side. This is because it is determined whether or not it is a duplicate reception. When a message retransmitted from the communication program on the sending side passes through the load balancer and is transferred to another server side device, it is a message that has not been received before by the communication program on the receiving side of the transferred device. This is because a message is passed to the server program and duplicate processing occurs. Therefore, as shown in
前記の様に従来技術において「確実に1回限りのメッセージ送信を保証する」高信頼メッセージング方式を利用した通信の負荷分散では独自の方式を使用することになる。独自の方式では、クライアント側の通信プログラムにサーバ側の負荷情報を転送する必要がありネットワーク負荷がかかるという問題がある。また、システム内に負荷分散装置を利用した高信頼化を必要としない通信方式が存在する場合は、2つの負荷分散機構を運用することとなり運用負荷が増大する。 As described above, in the prior art, a unique method is used for load distribution of communication using a reliable messaging method that “assures one-time message transmission reliably”. In the original method, there is a problem that it is necessary to transfer the load information on the server side to the communication program on the client side, and a network load is applied. In addition, when there is a communication method that does not require high reliability using a load distribution device in the system, two load distribution mechanisms are operated, and the operation load increases.
また、(ii)重複防止の実現の為にサーバ側の通信プログラムが以前に受信したメッセージの識別子を記憶しておく箇所を複数のサーバ側通信プログラムで共有すれば、高信頼化を実現するメッセージング方式において負荷分散装置を利用できる。しかし、共用データを複数のサーバ装置から更新するため資源のアクセス競合が発生し、サーバ装置を複数台で分散して処理する効果が薄れるとう問題がある。 In addition, (ii) messaging that achieves high reliability by sharing the location for storing the identifiers of messages previously received by the server-side communication program for the purpose of preventing duplication among a plurality of server-side communication programs. A load balancer can be used in the system. However, since shared data is updated from a plurality of server devices, resource access contention occurs, and there is a problem that the effect of processing the server devices in a distributed manner is reduced.
本発明の目的は上記問題を解決し、メッセージ方式の負荷分散に負荷分散装置を適用し、処理要求が転送された受信側情報処理装置が互いに資源競合を起こすことの少ないメッセージ処理が可能な技術を提供することにある。 An object of the present invention is to solve the above-described problems, apply a load distribution device to message-type load distribution, and perform a message processing in which a receiving side information processing apparatus to which a processing request is transferred causes little resource contention with each other Is to provide.
本発明は、メッセージを送受信する際に負荷分散を実現するメッセージ通信システムにおいて、要求メッセージの再送フラグがONである場合に全受信側情報処理装置のメッセージ受信状態テーブルを参照して当該要求メッセージが有効であるかを判定するものである。 The present invention provides a message communication system that implements load distribution when sending and receiving messages, and when the request message retransmission flag is ON, the request message is referred to by referring to the message reception state table of all information processing apparatuses on the receiving side. This is to determine whether it is valid.
本発明の高信頼メッセージング方式のメッセージ通信システムにおいて、クライアントノード(送信側情報処理装置)の送信側通信プログラムは、要求メッセージの識別情報に再送フラグのフィールドを設け、メッセージ再送時に再送フラグをONに設定した要求メッセージを負荷分散装置を介してサーバノード(受信側情報処理装置)へ送信する。 In the message communication system of the highly reliable messaging system of the present invention, the transmission side communication program of the client node (transmission side information processing apparatus) provides a retransmission flag field in the identification information of the request message, and sets the retransmission flag to ON when the message is retransmitted. The set request message is transmitted to the server node (reception side information processing apparatus) via the load balancer.
サーバノードの受信側通信プログラムは、メッセージ重複受信を判定する為の受信メッセージ状態を記録するメッセージ受信状態テーブルを複数サーバノード共通の格納域に格納し、各受信側通信プログラムに対応するメッセージ受信状態テーブルの位置を示すポインタ情報を格納したメッセージ受信状態管理部をその格納域に設けておく。 The server side receiving side communication program stores a message receiving state table that records the received message state for determining duplicate message reception in a storage area common to a plurality of server nodes, and the message receiving state corresponding to each receiving side communication program. A message reception state management unit storing pointer information indicating the position of the table is provided in the storage area.
そしてサーバノードの受信側通信プログラムは、クライアントノードの送信側通信プログラムから負荷分散装置を介して受信した要求メッセージの識別情報の再送フラグがONに設定されているかを調べ、再送フラグがONに設定されている場合に、その要求メッセージを受信した受信側通信プログラムに対応するメッセージ受信状態テーブル以外に他の受信側通信プログラムに対応するメッセージ受信状態テーブルも参照してどの受信側通信プログラムも該当要求メッセージを受信していない場合にのみ、その受信した要求メッセージを有効とする。これにより、高信頼メッセージングでの前記(ii)重複防止を実現しつつ送信側通信プログラムからの要求を負荷分散装置で負荷分散することができる。 Then, the reception side communication program of the server node checks whether the retransmission flag of the identification information of the request message received from the transmission side communication program of the client node via the load balancer is set to ON, and sets the retransmission flag to ON. In addition to the message reception status table corresponding to the reception side communication program that received the request message, any reception side communication program refers to the message reception status table corresponding to another reception side communication program. The received request message is valid only when no message is received. As a result, the load from the transmission side communication program can be load-balanced by the load balancer while realizing (ii) duplication prevention in the reliable messaging.
前記の様に本発明では、高信頼化を実現するメッセージング方式の負荷分散を、負荷分散装置の機能を利用して実現できる。高信頼化を実現するメッセージング方式の独自の負荷分散方式を使用する必要がないため、サーバ側負荷情報転送によるネットワークトラフィックの増大がない。また、高信頼化の要求が低い通信方式で使用される負荷分散装置と同じ装置を使用することができるため、負荷分散の運用が共通化できる。 As described above, in the present invention, it is possible to realize messaging type load distribution that achieves high reliability by using the function of the load distribution apparatus. Since there is no need to use a unique load balancing method of the messaging method that achieves high reliability, there is no increase in network traffic due to server-side load information transfer. In addition, since the same device as the load distribution device used in the communication method requiring low reliability can be used, the load distribution operation can be shared.
本発明によれば、負荷分散に負荷分散装置を適用し、処理要求が転送された受信側情報処理装置が互いに資源競合を起こすことが少ない再送を含む要求メッセージを処理することが可能である。 According to the present invention, it is possible to apply a load distribution apparatus to load distribution, and to process a request message including a retransmission with which a receiving side information processing apparatus to which a processing request has been transferred causes little resource contention with each other.
以下に高信頼メッセージングによりメッセージを送受信する際に負荷分散を実現する一実施形態のメッセージ通信システムについて説明する。 Hereinafter, a message communication system according to an embodiment that realizes load distribution when a message is transmitted and received by reliable messaging will be described.
図1は本実施形態のメッセージ通信システムの構成を示す図である。図1に示す様に本実施形態のメッセージ通信システムは、処理要求を発行する複数のクライアントノード10、処理要求を処理するサーバノード13、処理要求を複数のサーバノード13に振り分ける負荷分散装置120で構成され、全ての構成要素はネットワーク或いはLANを経由して接続される。
FIG. 1 is a diagram showing a configuration of a message communication system according to the present embodiment. As shown in FIG. 1, the message communication system according to the present embodiment includes a plurality of
クライアントノード10にはCPU12とメモリ11が、メモリ11にはクライアントプログラム101と高信頼メッセージング通信を行なう送信側通信プログラム102が配置され、送信側通信プログラム102はクライアントプログラム101からの処理要求を受け付けると、要求メッセージ150を通信装置(図示せず)により負荷分散装置120に転送する(121)。
The
送信側通信プログラム102は要求メッセージ150を転送する時、要求メッセージ150に対応する応答メッセージ153を受信するまで(124)、要求メッセージ150を転送キュー105に一時的に格納し、要求メッセージ150を一意に識別する情報である送信ログ104を送信ログ格納部103に格納する。要求メッセージ150は、クライアントプログラム101が指定した処理要求152と要求メッセージ150を一意に識別する識別情報151から構成される。
When the transmission
負荷分散装置120は、受け取った要求メッセージ150を選択したサーバノード13に配置されている受信側通信プログラム132に転送する(122)。
The
サーバノード13にはCPU135とメモリ134が、メモリ134には受信側通信プログラム132とサーバプログラム131が配置されている。受信側通信プログラム132は受信した要求メッセージ150の識別情報151から宛先キュー133を決定し要求メッセージ150の構成要素である処理要求152を格納すると共に、要求メッセージ150の構成要素である識別情報151をメッセージ受信状態テーブル142に記憶した後に応答メッセージ153を通信装置(図示せず)により負荷分散装置120に送信する(123)。サーバプログラム131は転送された処理要求152を受信側通信プログラム132から受け取る。
The
全てのサーバノード13に対応するメッセージ受信状態テーブル142はメッセージ受信状態格納部14に格納され、メッセージ受信状態管理部141からポイントされる。メッセージ受信状態格納部14は全サーバノード13から参照することができる。
Message reception state tables 142 corresponding to all
本実施形態において、クライアントノード10やサーバノード13を送信側通信処理部や受信側通信処理部として機能させる為の送信側通信プログラム102や受信側通信プログラム132は、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
In this embodiment, the transmission
図2は本実施形態の送信ログ104、識別情報151、メッセージ受信状態管理部141、メッセージ受信状態テーブル142の構成を示す図である。本実施形態の送信ログ104は、要求メッセージ150に対応する応答メッセージ153が返却されない場合や否定応答が返却された場合に、同一の要求メッセージ150を再送する際に以前送信した要求メッセージ150と同じメッセージであることを示す為に要求メッセージ150に付与する情報を記憶しておくものである。
FIG. 2 is a diagram illustrating the configuration of the
送信ログ104は、要求メッセージ150の宛先を示す宛先キュー211、要求メッセージ150を一意に識別するメッセージ識別通番212、処理要求152の内容であるメッセージ本体をポイントするメッセージポインタ213のエリアから構成される。送信ログ104には要求メッセージ150を送信し対応する応答メッセージ153の受信を待っているメッセージ単位にレコード2101及び2102が存在し、各レコードのメッセージポインタ213からメッセージ本体2103及び2104がポイントされる。
The
識別情報151は要求メッセージ150を一意に識別する情報であり、送信元の送信側通信プログラム102を識別するクライアント識別情報221、要求メッセージ150の最終宛先を示す宛先キュー222、メッセージ識別通番223、再送されたメッセージかどうかを示す再送フラグ224で構成される。
The
メッセージ受信状態管理部141は各サーバノード13に対応するメッセージ受信状態テーブル142の格納位置を示すものであり、サーバノード13を識別するサーバ識別情報231、メッセージ受信状態テーブル142の位置をポイントするメッセージ受信状態テーブルポインタ232のエリアにより構成される。各メッセージ受信状態テーブル142対応にレコード2301及び2302が存在する。
The message reception
メッセージ受信状態テーブル142は、要求メッセージ150の最終宛先を示す宛先キュー222、送信元の送信側通信プログラム102を識別するクライアント識別情報221、メッセージ識別通番223のエリアで構成される。受信した要求メッセージ150単位に各レコード2401〜2404が存在する。通常、これらのレコードは「指定時間の経過」、「同一宛先キュー133に同一クライアントノード10から次の要求メッセージ150を受信するまで」等のシステムで定められた契機に削除される。受信側通信プログラム132は受信した要求メッセージ150の識別情報151をメッセージ受信状態テーブル142に記憶しておくことで、同一の要求メッセージ150が再送された場合に再送されたことを判定することができる。
The message reception state table 142 includes areas of a
図3は本実施形態の送信側通信プログラム102における要求メッセージ150送信処理の処理手順を示すフローチャートである。図3では送信側通信プログラム102における要求メッセージ150の送信処理の流れを説明する。
FIG. 3 is a flowchart showing the processing procedure of the
クライアントノード10の送信側通信プログラム102は、クライアントプログラム101からメッセージ送信処理要求を受け付けると(ステップ30)、メッセージを一意に識別するメッセージ識別通番の付与を行い(ステップ31)、送信ログ104を作成した後、処理要求メッセージを転送キューに格納し(ステップ32)、送信ログ格納部103に送信ログを格納する(ステップ33)。転送キュー105に格納された処理要求152と送信ログ104から要求メッセージ150の組み立てをメモリ11上で行い(ステップ34)、作成された要求メッセージ150を通信装置により負荷分散装置120を介してサーバノード13へ送信する(ステップ35)。
Upon receiving a message transmission processing request from the client program 101 (step 30), the transmission
その後、サーバノード13の受信側通信プログラム132から設定時間内に応答メッセージ153を受信したかを判定し(ステップ36)、応答メッセージ153を受信した場合は転送キュー105から処理要求メッセージを削除し(ステップ37)、対応する送信ログ104を削除して(ステップ38)メッセージ送信処理を終了する(ステップ39)。
Thereafter, it is determined whether the
一方、サーバノード13の受信側通信プログラム132から設定時間内に応答メッセージ153を受信したかをステップ36で判定した結果、応答メッセージ153を受信していない場合は要求メッセージ150を再送する為に再送フラグ224をONに設定して要求メッセージ150の組み立てをメモリ11上で行い(ステップ341)、要求メッセージ150を通信装置により負荷分散装置120を介してサーバノード13へ送信する(ステップ35)。
On the other hand, if it is determined in
図4は本実施形態の受信側通信プログラム132における要求メッセージ150受信処理の処理手順を示すフローチャートである。図4では受信側通信プログラム132における要求メッセージ150の受信処理の流れを説明する。
FIG. 4 is a flowchart showing the processing procedure of the
サーバノード13の受信側通信プログラム132は、要求メッセージ150を受信すると(ステップ40)、識別情報151内の再送フラグ224がONかを判定し(ステップ41)、再送フラグ224がONでない場合、そのサーバノード13の受信側通信プログラム132に対応付けられたメッセージ受信状態テーブル142に要求メッセージ150と同じ識別情報151があるかを判定する(ステップ42)。
When receiving the request message 150 (step 40), the receiving
メッセージ受信状態テーブル142に要求メッセージ150と同じ識別情報151がない場合、その要求メッセージ150の処理要求152を宛先キュー133に格納する(ステップ43)。次に、要求メッセージ150の識別情報151をメッセージ受信状態テーブル142に格納する(ステップ44)。その後、クライアントノード10の送信側通信プログラム102に応答メッセージ153を送信し(ステップ45)、要求メッセージ受信処理終了となる(ステップ46)。
If there is no
一方、メッセージ受信状態テーブル142に要求メッセージ150と同じ識別情報151があるかをステップ42で判定した結果、同じ識別情報151がある場合、以前該当メッセージを受信したということであり、要求メッセージ150の識別情報151や処理要求152を格納せずに送信側通信プログラム102に応答メッセージ153を送信する(ステップ45)。
On the other hand, if it is determined in
また、受信した要求メッセージ150の識別情報151内の再送フラグ224がONかをステップ41で判定した結果、再送フラグ224がONである場合は以前に該当メッセージを受信している可能性がある。全てのメッセージ受信状態テーブル142を確認するため、メッセージ受信状態格納部14の先頭に位置するメッセージ受信状態テーブル142をポイントする(ステップ411)。
In addition, as a result of determining in
そして、ポイントしたメッセージ受信状態テーブル142に要求メッセージ150と同じ識別情報151があるかを判定する(ステップ412)。同じ識別情報151がある場合、以前該当メッセージを受信したということであり、要求メッセージ150の識別情報151や処理要求152を格納せずに送信側通信プログラム102に応答メッセージ153を送信する(ステップ45)。
Then, it is determined whether or not the pointed message reception state table 142 has the
同じ識別情報151がない場合、今ポイントしているメッセージ受信状態テーブル142は最後のメッセージ受信状態テーブル142かを判定し(ステップ413)、最後のメッセージ受信状態テーブル142である場合は、受信した要求メッセージ150は今まで受信していないメッセージであると判断して、要求メッセージ150の処理要求152を宛先キュー133に格納し(ステップ43)、要求メッセージ150の識別情報151をメッセージ受信状態テーブル142に格納する(ステップ44)。その後、クライアントノード10の送信側通信プログラム102に応答メッセージ153を送信し(ステップ45)、要求メッセージ受信処理を終了する(ステップ46)。
If the
また、今ポイントしているメッセージ受信状態テーブル142が最後のメッセージ受信状態テーブル142ではない場合は、次に位置するメッセージ受信状態テーブル142をポイントする(ステップ414)。ポイントしたメッセージ受信状態テーブル142に要求メッセージ150と同じ識別情報151があるかを判定し(ステップ412)、全メッセージ受信状態テーブル142のチェックを繰り返す。
On the other hand, if the message reception status table 142 that is pointed to is not the last message reception status table 142, the message reception status table 142 located next is pointed (step 414). It is determined whether the pointed message reception state table 142 has the
以上説明した様に本実施形態のメッセージ通信システムによれば、要求メッセージの再送フラグがONである場合に全受信側情報処理装置のメッセージ受信状態テーブルを参照して当該要求メッセージが有効であるかを判定するので、高信頼メッセージング方式の負荷分散に負荷分散装置を適用し、処理要求が転送された受信側情報処理装置が互いに資源競合を起こすことなく再送を含む要求メッセージを処理することが可能である。 As described above, according to the message communication system of the present embodiment, whether the request message is valid by referring to the message reception state table of all information processing apparatuses on the receiving side when the retransmission flag of the request message is ON. Therefore, it is possible to apply a load balancer to load distribution in the reliable messaging system, and to process request messages including retransmissions without causing resource contention between the receiving side information processing devices to which processing requests are transferred It is.
10…クライアントノード、11…メモリ、12…CPU、101…クライアントプログラム、102…送信側通信プログラム、103…送信ログ格納部、104…送信ログ、105…転送キュー、120…負荷分散装置、13…サーバノード、131…サーバプログラム、132…受信側通信プログラム、133…宛先キュー、134…メモリ、135…CPU、14…メッセージ受信状態格納部、141…メッセージ受信状態管理部、142…メッセージ受信状態テーブル、150…要求メッセージ、151…識別情報、152…処理要求、153…応答メッセージ、211…宛先キュー、212…メッセージ識別通番、213…メッセージポインタ、2101及び2102…レコード、2103及び2104…メッセージ本体、221…クライアント識別情報、222…宛先キュー、223…メッセージ識別通番、224…再送フラグ、231…サーバ識別情報、232…メッセージ受信状態テーブルポインタ、2301及び2302…レコード、241…宛先キュー、242…クライアント識別情報、243…メッセージ識別通番、2401〜2404…レコード。
DESCRIPTION OF
Claims (5)
要求メッセージの識別情報に再送か否かを示す再送情報を含み、メッセージ再送時に再送を示す再送情報を含む要求メッセージを通信装置により送信し、
受信した要求メッセージの識別情報に再送でないことを示す再送情報が設定されている場合に、当該要求メッセージの識別情報をその受信側情報処理装置のメッセージ受信状態テーブルへ記憶装置により格納し、
受信した要求メッセージの識別情報に再送であることを示す再送情報が設定されている場合に、受信側情報処理装置のメッセージ受信状態テーブルを記憶装置により参照し、その要求メッセージの識別情報がメッセージ受信状態テーブルに既に格納されているかに応じて当該要求メッセージが有効であるかを判定することを特徴とするメッセージ通信方法。 In a message communication method that realizes load balancing when sending and receiving messages,
The request message identification information includes retransmission information indicating whether or not retransmission, and a request message including retransmission information indicating retransmission at the time of message retransmission is transmitted by the communication device,
When retransmission information indicating that the request message is not retransmitted is set in the identification information of the received request message, the identification information of the request message is stored in the message reception state table of the receiving information processing apparatus by the storage device,
When retransmission information indicating retransmission is set in the identification information of the received request message, the message reception state table of the information processing apparatus on the receiving side is referred to by the storage device, and the identification information of the request message is received as a message. A message communication method comprising: determining whether the request message is valid according to whether it is already stored in a state table.
要求メッセージの識別情報に再送か否かを示す再送情報を含み、メッセージ再送時に再送を示す再送情報を含む要求メッセージを通信装置により送信する送信側通信処理部と、
受信した要求メッセージの識別情報に再送でないことを示す再送情報が設定されている場合に、当該要求メッセージの識別情報をその受信側情報処理装置のメッセージ受信状態テーブルへ記憶装置により格納し、受信した要求メッセージの識別情報に再送であることを示す再送情報が設定されている場合に、受信側情報処理装置のメッセージ受信状態テーブルを記憶装置により参照し、その要求メッセージの識別情報がメッセージ受信状態テーブルに既に格納されているかに応じて当該要求メッセージが有効であるかを判定する受信側通信処理部とを備えることを特徴とするメッセージ通信システム。 In a message communication system that realizes load balancing when sending and receiving messages,
A transmission side communication processing unit that includes, in the identification information of the request message, retransmission information indicating whether or not retransmission, and a request message including retransmission information indicating retransmission at the time of message retransmission;
When retransmission information indicating non-retransmission is set in the identification information of the received request message, the identification information of the request message is stored in the message reception state table of the information processing apparatus on the receiving side by the storage device and received. When retransmission information indicating retransmission is set in the identification information of the request message, the message reception state table of the reception side information processing device is referred to by the storage device, and the identification information of the request message is the message reception state table A message communication system comprising: a reception side communication processing unit for determining whether the request message is valid depending on whether the request message is already stored in the message communication system.
要求メッセージの識別情報に再送か否かを示す再送情報を含み、メッセージ再送時に再送を示す再送情報を含む要求メッセージを通信装置により送信し、
受信した要求メッセージの識別情報に再送でないことを示す再送情報が設定されている場合に、当該要求メッセージの識別情報をその受信側情報処理装置のメッセージ受信状態テーブルへ記憶装置により格納し、
受信した要求メッセージの識別情報に再送であることを示す再送情報が設定されている場合に、受信側情報処理装置のメッセージ受信状態テーブルを記憶装置により参照し、その要求メッセージの識別情報がメッセージ受信状態テーブルに既に格納されているかに応じて当該要求メッセージが有効であるかを判定する処理をコンピュータに実行させることを特徴とするプログラム。 In a program for causing a computer to execute a message communication method that realizes load balancing when sending and receiving messages,
The request message identification information includes retransmission information indicating whether or not retransmission, and a request message including retransmission information indicating retransmission at the time of message retransmission is transmitted by the communication device,
When retransmission information indicating that the request message is not retransmitted is set in the identification information of the received request message, the identification information of the request message is stored in the message reception state table of the receiving information processing apparatus by the storage device,
When retransmission information indicating retransmission is set in the identification information of the received request message, the message reception state table of the information processing apparatus on the receiving side is referred to by the storage device, and the identification information of the request message is received as a message. A program for causing a computer to execute a process of determining whether or not the request message is valid depending on whether it is already stored in a state table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006164855A JP2007334575A (en) | 2006-06-14 | 2006-06-14 | Message communication method, system, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006164855A JP2007334575A (en) | 2006-06-14 | 2006-06-14 | Message communication method, system, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007334575A true JP2007334575A (en) | 2007-12-27 |
Family
ID=38934009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006164855A Ceased JP2007334575A (en) | 2006-06-14 | 2006-06-14 | Message communication method, system, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007334575A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011223414A (en) * | 2010-04-12 | 2011-11-04 | Nippon Telegr & Teleph Corp <Ntt> | Retransmission decision device, retransmission decision method, retransmission decision program, and retransmission decision system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160874A (en) * | 1995-12-07 | 1997-06-20 | Nec Corp | System for checking duplicate message transmission |
JP2005056260A (en) * | 2003-08-06 | 2005-03-03 | Toshiba Corp | Message communication system, method and program |
-
2006
- 2006-06-14 JP JP2006164855A patent/JP2007334575A/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160874A (en) * | 1995-12-07 | 1997-06-20 | Nec Corp | System for checking duplicate message transmission |
JP2005056260A (en) * | 2003-08-06 | 2005-03-03 | Toshiba Corp | Message communication system, method and program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011223414A (en) * | 2010-04-12 | 2011-11-04 | Nippon Telegr & Teleph Corp <Ntt> | Retransmission decision device, retransmission decision method, retransmission decision program, and retransmission decision system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7249192B1 (en) | Protocol for insuring exactly once semantics of transactions across an unordered, unreliable network | |
Cheriton | VMTP: A transport protocol for the next generation of communication systems | |
US6928577B2 (en) | Consistent message ordering for semi-active and passive replication | |
US6446144B1 (en) | Method and system for message transfer session management | |
US8850056B2 (en) | Method and system for managing client-server affinity | |
US20070204275A1 (en) | Method and system for reliable message delivery | |
WO2006115723A2 (en) | Logic interface engine system and method | |
JP2006236391A (en) | System and method for positive response of message reception on communication network of packet base | |
JP2006338666A (en) | Distributed kernel operating system | |
CN112118315A (en) | Data processing system, method, device, electronic equipment and storage medium | |
JP2006340354A (en) | Distributed kernel operating system | |
US8386575B2 (en) | Method of realizing uniqueness assurance and method of determining message destination | |
CN1909507B (en) | Method and system for message transfer | |
US20080147777A1 (en) | System and method for communication agent within a fully distributed network | |
US6543005B1 (en) | Transmitting data reliably and efficiently | |
JP2004342071A (en) | Storage device and network system | |
US8352619B2 (en) | Method and system for data processing | |
US8275905B2 (en) | System and method for store-and-forward for highly available message production | |
KR101466712B1 (en) | HTTP-CoAP PROXY APPARATUS AND METHOD FOR MANAGING TIMEOUT THEREOF | |
US6850962B1 (en) | File transfer system and method | |
WO2017032152A1 (en) | Method for writing data into storage device and storage device | |
CN109120385B (en) | Data transmission method, device and system based on data transmission system | |
US8081647B2 (en) | Method and apparatus for buffering requests to web services using annotations | |
US20190238637A1 (en) | Data replication in scalable messaging system | |
JP2008129628A (en) | Communication system in system for processing predetermined operation by transferring message by multiple computer systems and message communication program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110506 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111115 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20120327 |