JP2015073234A - Message transfer system and management method of queue - Google Patents

Message transfer system and management method of queue Download PDF

Info

Publication number
JP2015073234A
JP2015073234A JP2013208846A JP2013208846A JP2015073234A JP 2015073234 A JP2015073234 A JP 2015073234A JP 2013208846 A JP2013208846 A JP 2013208846A JP 2013208846 A JP2013208846 A JP 2013208846A JP 2015073234 A JP2015073234 A JP 2015073234A
Authority
JP
Japan
Prior art keywords
data store
message
information
server
store 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.)
Granted
Application number
JP2013208846A
Other languages
Japanese (ja)
Other versions
JP6193078B2 (en
Inventor
辰弥 竹林
Tatsuya Takebayashi
辰弥 竹林
木下 雅文
Masafumi Kinoshita
雅文 木下
衣津美 水谷
Itsumi Mizutani
衣津美 水谷
隆文 小池
Takafumi Koike
隆文 小池
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013208846A priority Critical patent/JP6193078B2/en
Publication of JP2015073234A publication Critical patent/JP2015073234A/en
Application granted granted Critical
Publication of JP6193078B2 publication Critical patent/JP6193078B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To collectively manage message queues which are distributedly arranged in a plurality of physical servers.SOLUTION: A transfer system includes: one or more reception servers; one or more transmission servers; and a plurality of data storage servers. At least one of the plurality of data storage servers is a first data storage server which totalizes distributed queue information. The individual data storage server includes a distributed queue for storing a message that the reception server receives, and stores the distributed queue information which shows a state of the distributed queue. The first data storage server totalizes the distributed queue information and generates virtual queue information.

Description

本発明は、メッセージを転送するメッセージ転送システムに関する。   The present invention relates to a message transfer system for transferring a message.

携帯電話や通信端末から利用される電子メールサービスやSNS(Social Network Searvice)などのメッセージサービスは、コミュニケーション手段として欠かせないものである。大規模なメッセージサービスは複数のサーバにより構成される。しかし、複数のサーバのリソース管理は、システムが大規模になればなるほど複雑なものとなる。   An e-mail service used from a mobile phone or a communication terminal and a message service such as SNS (Social Network Service) are indispensable as communication means. A large-scale message service is composed of a plurality of servers. However, the resource management of a plurality of servers becomes more complicated as the system becomes larger.

このような、メッセージをキューによって管理する技術として特許文献1に記載される方法がある。特許文献1には、分散処理システムの分散処理ノードに設けた物理的に異なる複数のキュー・ファイルを一つのキュー・ファイル・グループとして見做し、メッセージ・キュー・マネージャに、メッセージ格納用ポインタおよびメッセージ取出用ポインタを設け、メッセージの格納および取出を該ポインタの内容が示すキュー・ファイルに実行するとともに、格納または取出しごとに前記ポインタの内容を更新するメッセージ・キューのアクセス方法が記載されている。   As a technique for managing such a message by a queue, there is a method described in Patent Document 1. In Patent Document 1, a plurality of physically different queue files provided in a distributed processing node of a distributed processing system are regarded as one queue file group, and a message storage pointer and a message storage pointer are stored in a message queue manager. A message queue access method is described in which a message retrieval pointer is provided, message storage and retrieval are performed on the queue file indicated by the pointer content, and the pointer content is updated for each storage or retrieval. .

特開平9−167145号公報JP-A-9-167145

前述した特許文献1に記載された技術では、自ノードに複数の物理ファイルをグループ化し、一つのメッセージキューとして割り当てる。このため、複数のメッセージキューを管理するためには、各メッセージキュー毎に、予め使用するメッセージキューの容量を算出し、使用する物理ファイルのグループを用意しなければならない。   In the technique described in Patent Document 1 described above, a plurality of physical files are grouped in the own node and assigned as one message queue. Therefore, in order to manage a plurality of message queues, the capacity of the message queue to be used in advance must be calculated for each message queue, and a group of physical files to be used must be prepared.

一方、通信キャリア等のメール転送サーバでは、大容量のメッセージキューを持つ物理サーバが複数存在し、個別にリソース制限を設定し、メッセージの格納を制御しているため、運用面に課題がある。   On the other hand, in a mail transfer server such as a communication carrier, there are a plurality of physical servers having large-capacity message queues, resource limits are individually set, and message storage is controlled, so there is a problem in operation.

メッセージキューはリソース(物理メモリ量)の制限からメッセージを格納できる容量の上限値がある。メッセージキューが上限に達した場合、メール転送サーバはエラーを返す。しかし、複数のサーバのリソース使用量には偏りがあるため、一部のサーバはリソースの上限に達しているためエラーとなるが、他のサーバでは上限に達しておらず、メッセージを格納できる状態が発生する。ユーザからのリクエストは負荷分散装置を通じて均等に分散されるため、エラーとなるユーザとエラーとならないユーザが混在する可能性がある。   The message queue has an upper limit value for the capacity for storing messages due to resource (physical memory) limitations. If the message queue reaches the upper limit, the mail transfer server returns an error. However, because the resource usage of multiple servers is uneven, an error occurs because some servers have reached the upper limit of resources, but other servers have not reached the upper limit and messages can be stored. Occurs. Since requests from users are evenly distributed through the load balancer, there is a possibility that users who make errors and users who do not make errors coexist.

また、一つの送信宛先に障害が発生した場合、キューにメッセージが滞留する。このため、メモリリソースの枯渇を防ぐため、各サーバにおいて宛先ドメインごとに論理的なリソース上限を定めて、メッセージの格納を制御している。従って、個々のサーバの状態は容易に把握でき、各サーバを容易に制御できるが、大規模なシステム全体の状態を把握し、システム全体の動作を制御することが困難で、システムを構成するサーバ全体を通した制御が難しいという課題がある。   Further, when a failure occurs in one transmission destination, the message stays in the queue. For this reason, in order to prevent depletion of memory resources, the storage of messages is controlled by setting a logical resource upper limit for each destination domain in each server. Therefore, the state of each server can be easily grasped and each server can be easily controlled. However, it is difficult to grasp the state of the entire large-scale system and control the operation of the entire system. There is a problem that control throughout is difficult.

本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、1以上の受信サーバ、1以上の送信サーバ及び複数のデータストアサーバを備える転送システムであって、前記複数のデータストアサーバの少なくとも一つは、前記分散キュー情報を集計する第1のデータストアサーバであって、前記各データストアサーバは、前記受信サーバが受信したメッセージを格納する分散キューを有し、前記分散キューの状態を示す分散キュー情報を格納し、前記第1のデータストアサーバは、前記分散キュー情報を集計して、仮想キュー情報を生成する。   A typical example of the invention disclosed in the present application is as follows. That is, a transfer system including one or more receiving servers, one or more transmitting servers, and a plurality of data store servers, wherein at least one of the plurality of data store servers is a first data that aggregates the distributed queue information. Each of the data store servers has a distributed queue for storing a message received by the receiving server, stores distributed queue information indicating a state of the distributed queue, and the first data store server Adds up the distributed queue information to generate virtual queue information.

本発明の代表的な実施の形態によれば、複数台の物理サーバに分かれて配置されているメッセージキューを一括して管理することができる。   According to the representative embodiment of this invention, it is possible to collectively manage message queues that are arranged separately on a plurality of physical servers.

本発明の実施例のメールサーバシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the mail server system of the Example of this invention. 本実施例のメッセージ受信サーバ及びメッセージ送信サーバを構成する計算機の構成を示すブロック図である。It is a block diagram which shows the structure of the computer which comprises the message receiving server and message transmission server of a present Example. 本実施例のデータストアサーバを構成する計算機の構成を示すブロック図である。It is a block diagram which shows the structure of the computer which comprises the data store server of a present Example. 本実施例のメッセージシステムがメッセージを中継する手順を示すシーケンス図である。It is a sequence diagram which shows the procedure in which the message system of a present Example relays a message. 本実施例のデータストアサーバAが実行する処理のフローチャートである。It is a flowchart of the process which the data store server A of a present Example performs. 本実施例の仮想キュー管理情報を取得する手順を示すシーケンス図である。It is a sequence diagram which shows the procedure which acquires the virtual queue management information of a present Example. 本実施例の仮想キュー更新処理のフローチャートである。It is a flowchart of the virtual queue update process of a present Example.

以下、本発明の実施例について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

本実施例のメッセージ処理システムは、携帯通信キャリアのメールを転送するシステムであって、メッセージを受信する複数のメッセージ受信サーバと、メッセージを格納する複数のデータストアサーバと、メッセージを送信する複数のメッセージ送信サーバと、を有する。データストアサーバは、データの格納、更新、削除等の処理を、そのデータを保持する(又は保持すべき)複数のデータストアサーバ間で協調して行う。   The message processing system according to the present embodiment is a system for transferring mail of a mobile communication carrier, and includes a plurality of message receiving servers that receive messages, a plurality of data store servers that store messages, and a plurality of messages that transmit messages A message transmission server. The data store server performs processing such as data storage, update, and deletion in cooperation between a plurality of data store servers that hold (or should hold) the data.

図1は、本実施例のメールサーバシステムの構成を示すブロック図である。
メールサーバシステムの構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of the mail server system of this embodiment.
It is a block diagram which shows the structure of a mail server system.

本実施例のメッセージシステムは、図1(A)に示すように、キャリア設備網103内に構成されており、メッセージ受信サーバ106、データストアサーバ107及びメッセージ送信サーバ108を有する。   As shown in FIG. 1A, the message system of the present embodiment is configured in a carrier equipment network 103, and includes a message reception server 106, a data store server 107, and a message transmission server 108.

通信端末101は、携帯電話端末、タブレット、PC等のデータ通信可能な端末装置であり、無線網102を介して、キャリア設備網103内のメッセージシステムと接続している。無線網102は、携帯通信キャリアが管理する無線ネットワークである。キャリア設備網103は、無線網102からの通信をインターネット104を経由して、メッセージ受信サーバ106へ中継するネットワーク及びネットワーク設備である。無線網102及びキャリア設備網103は、メッセージ受信サーバ106を管理する携帯通信キャリアによって管理される。   The communication terminal 101 is a terminal device capable of data communication, such as a mobile phone terminal, a tablet, and a PC, and is connected to a message system in the carrier equipment network 103 via the wireless network 102. The wireless network 102 is a wireless network managed by a mobile communication carrier. The carrier equipment network 103 is a network and network equipment that relays communication from the wireless network 102 to the message receiving server 106 via the Internet 104. The wireless network 102 and the carrier equipment network 103 are managed by a mobile communication carrier that manages the message receiving server 106.

メッセージ転送サーバ(MTA:Mail Transfer Agent)105は、インターネットプロバイダや、他の携帯通信キャリア等の通信事業者が管理する設備網に設置される。メッセージ転送サーバ105は、インターネット104を経由して、キャリア設備網103内のメッセージシステムと接続し、メッセージ転送サーバ105を管理する他の通信事業者のメッセージをメッセージ受信サーバ106へ送信し、メッセージ送信サーバ108からのメッセージを受信する。   A message transfer server (MTA: Mail Transfer Agent) 105 is installed in an equipment network managed by a communication provider such as an Internet provider or another mobile communication carrier. The message transfer server 105 is connected to the message system in the carrier equipment network 103 via the Internet 104, transmits a message of another communication carrier managing the message transfer server 105 to the message receiving server 106, and transmits a message. A message from the server 108 is received.

本実施形態のメッセージシステムは、図1(B)に示すように、複数のメッセージ受信サーバ106、複数のデータストアサーバ107及び複数のメッセージ送信サーバ108によって構成される。図1(B)には、複数のメッセージ受信サーバ106及び複数のメッセージ送信サーバ108を図示したが、メッセージ受信サーバ106及びメッセージ送信サーバ108は、各々一つ以上設けられればよい。   As shown in FIG. 1B, the message system according to this embodiment includes a plurality of message reception servers 106, a plurality of data store servers 107, and a plurality of message transmission servers 108. FIG. 1B illustrates a plurality of message reception servers 106 and a plurality of message transmission servers 108, but one or more message reception servers 106 and message transmission servers 108 may be provided.

各サーバは、物理的な計算機でもよいし、論理的な計算機である仮想マシンでもよい。また、各サーバをサーバプログラムとして一つの物理計算機上で動作させ、同一の計算機上に複数種類のサーバを配置してもよい。本実施例のメッセージシステムは、図1に示す構成に限定されることなく、他の構成のキューイングシステムでもよい。   Each server may be a physical computer or a virtual machine that is a logical computer. Further, each server may be operated as a server program on one physical computer, and a plurality of types of servers may be arranged on the same computer. The message system of the present embodiment is not limited to the configuration shown in FIG. 1, and may be a queuing system having another configuration.

本実施形態のメッセージシステムは、通信端末101やメッセージ転送サーバ105から受信したメッセージを記憶領域(キュー)に蓄積した後、蓄積されたメッセージを順次読み出して送信する、いわゆるストア・アンド・フォワード方式で中継する。これによって、メッセージシステムへ流入する情報量を平準化し、ユーザを待たせない即時応答などを実現する。本実施形態のメッセージシステムでは、メッセージ受信サーバ106が転送すべきメッセージを受信し、データストアサーバ107がキューを有し、メッセージ送信サーバ108がメッセージを送信する。   The message system according to the present embodiment is a so-called store-and-forward method in which messages received from the communication terminal 101 and the message transfer server 105 are accumulated in a storage area (queue), and then the accumulated messages are sequentially read and transmitted. Relay. As a result, the amount of information flowing into the message system is leveled, and an immediate response without waiting for the user is realized. In the message system of this embodiment, the message reception server 106 receives a message to be transferred, the data store server 107 has a queue, and the message transmission server 108 transmits the message.

メッセージ受信サーバ106は、通信端末101やメッセージ転送サーバ105から受信し、データストアサーバ107(キュー)にメッセージを格納する。メッセージ送信サーバ108は、データストアサーバ107に格納されたメッセージを取得し、メッセージ転送サーバ105などメッセージの宛先サーバ又はメッセージを宛先サーバへ中継するサーバに送信する。データストアサーバ107は、キー及び値(バリュー)のペアでデータを管理し、複数のデータストアサーバ107で同一のデータ(キー及びバリュー)を多重に保持し、メッセージ受信サーバ106やメッセージ送信サーバ108から要求されたデータを処理する。なお、本実施例では携帯通信キャリアのメッセージシステムについて説明するが、前述した以外の処理(例えば、認証処理、課金処理、メッセージの変換処理、輻輳制御など)は、メッセージ受信サーバ106、データストアサーバ107及びメッセージ送信サーバ108のいずれかが行ってもよい。   The message receiving server 106 receives from the communication terminal 101 and the message transfer server 105, and stores the message in the data store server 107 (queue). The message transmission server 108 acquires the message stored in the data store server 107 and transmits the message to a destination server of the message such as the message transfer server 105 or a server that relays the message to the destination server. The data store server 107 manages data with a pair of key and value (value), and multiple data store servers 107 hold the same data (key and value) in multiple, and the message receiving server 106 and the message transmitting server 108. Process the requested data from. In the present embodiment, the message system of the mobile communication carrier will be described. However, processing other than those described above (for example, authentication processing, billing processing, message conversion processing, congestion control, etc.) is performed by the message receiving server 106, the data store server. Either 107 or the message transmission server 108 may perform.

本実施例では、通信端末101、メッセージ受信サーバ106、データストアサーバ107、メッセージ送信サーバ108の順にメッセージが転送されるシーケンスを例として説明するが、これに限定されることなく、他の経路によってメッセージが転送される場合にも、本発明は適用可能である。また本実施例で開示するメッセージシステムの適用範囲は、電子メールやショートメッセージに限定されることなく、無線網102に接続されたセンサ、自動車、メータなどのデバイスが送信するメッセージ(又はデータ)にも適用可能である。また、本実施例は無線網102の代わりに有線網やスマートグリッドなどのネットワークにも適用可能である。   In this embodiment, a sequence in which messages are transferred in the order of the communication terminal 101, the message reception server 106, the data store server 107, and the message transmission server 108 will be described as an example. However, the present invention is not limited to this. The present invention is also applicable when a message is transferred. The application range of the message system disclosed in this embodiment is not limited to e-mail and short messages, but is applicable to messages (or data) transmitted from devices such as sensors, automobiles, and meters connected to the wireless network 102. Is also applicable. Further, this embodiment can be applied to a network such as a wired network or a smart grid instead of the wireless network 102.

図2は、本実施例のメッセージ受信サーバ106及びメッセージ送信サーバ108を構成する計算機の構成を示すブロック図である。   FIG. 2 is a block diagram illustrating a configuration of a computer that constitutes the message receiving server 106 and the message transmitting server 108 of the present embodiment.

メッセージ受信サーバ106及びメッセージ送信サーバ108を構成する計算機は、図2(A)に示すように、プロセッサ202と、揮発性メモリ207と、不揮発性記憶装置209と、入出力インタフェイス203と、これらを接続する内部通信線(バスなど)とを有する。   As shown in FIG. 2A, the computer constituting the message reception server 106 and the message transmission server 108 includes a processor 202, a volatile memory 207, a nonvolatile storage device 209, an input / output interface 203, and the like. And an internal communication line (such as a bus).

プロセッサ202は、揮発性メモリ207に格納されたプログラムを実行する。揮発性メモリ207は、例えば、DRAMなどの高速なメモリであり、プロセッサ202が実行するプログラムや、当該プログラムの実行時に使用されるデータを格納する。不揮発性記憶装置209は、磁気ディスク装置(HDD)、半導体記憶装置(SSD)などの大容量の記憶装置である。入出力インタフェイス203は、キャリア設備網103内の各装置とデータを送受信するために使用される。   The processor 202 executes a program stored in the volatile memory 207. The volatile memory 207 is a high-speed memory such as a DRAM, for example, and stores a program executed by the processor 202 and data used when the program is executed. The nonvolatile storage device 209 is a large-capacity storage device such as a magnetic disk device (HDD) or a semiconductor storage device (SSD). The input / output interface 203 is used to transmit / receive data to / from each device in the carrier equipment network 103.

揮発性メモリ207は、メッセージ処理プログラム204と、データ群205とを格納する。メッセージ処理プログラム204には、メッセージ(データ)を複数のデータストアサーバ107へ分散して格納する分散処理プログラム210と、メッセージを処理する各種制御プログラム(図示省略)が含まれ、これらのプログラムがプロセッサ202によって実行される。本実施例では、メッセージ受信サーバ106とメッセージ送信サーバ108とで、メッセージ処理プログラム204の内容が異なるが、メッセージ処理プログラム204がメッセージ受信サーバ106とメッセージ送信サーバ108との両方の機能を有してもよい。   The volatile memory 207 stores a message processing program 204 and a data group 205. The message processing program 204 includes a distributed processing program 210 that distributes and stores messages (data) to a plurality of data store servers 107, and various control programs (not shown) that process the messages. 202. In this embodiment, the contents of the message processing program 204 differ between the message receiving server 106 and the message sending server 108, but the message processing program 204 has both functions of the message receiving server 106 and the message sending server 108. Also good.

メッセージ処理プログラム204は、予め、不揮発性記憶装置209に格納され、実行時に揮発性メモリ207にロードされてもよい。また、図示を省略した着脱可能な記憶媒体又は通信媒体(すなわち、ネットワーク又はデータを伝送するためのデジタル信号や搬送波)を介して、揮発性メモリ207又は不揮発性記憶装置209に導入されてもよい。さらに、不揮発性記憶装置209は、メッセージ処理プログラム204が出力したログやメッセージ処理プログラム204の設定ファイル等のデータを格納する。   The message processing program 204 may be stored in advance in the nonvolatile storage device 209 and loaded into the volatile memory 207 at the time of execution. In addition, it may be introduced into the volatile memory 207 or the non-volatile storage device 209 via a removable storage medium or communication medium (that is, a digital signal or carrier wave for transmitting a network or data) (not shown). . Further, the nonvolatile storage device 209 stores data such as a log output from the message processing program 204 and a setting file of the message processing program 204.

以下に、分散処理プログラム210がプロセッサ202により実行されることによって実現される、メッセージ受信サーバ106又はメッセージ送信サーバ108の機能を説明する。なお、本実施例では、メッセージ処理プログラム204が使用するデータ群205を、機能的な観点から、メッセージ処理プログラム204とは別に図示しているが、データ群205の一部又は全部がメッセージ処理プログラム204に含まれてもよい。   Hereinafter, functions of the message reception server 106 or the message transmission server 108 realized by the distributed processing program 210 being executed by the processor 202 will be described. In this embodiment, the data group 205 used by the message processing program 204 is illustrated separately from the message processing program 204 from a functional viewpoint, but part or all of the data group 205 is a message processing program. 204 may be included.

データ群205は、図2(B)に示すように、データストアサーバ動作設定情報221、データストアサーバ構成情報222、データストアサーバ合議情報223、処理性能低下判定条件231、リソース規制値情報232、仮想キュー情報233、分散方式情報234、取得方式情報235、データストアサーバ状態情報250などを含む。   As shown in FIG. 2B, the data group 205 includes data store server operation setting information 221, data store server configuration information 222, data store server conference information 223, processing performance degradation determination condition 231, resource regulation value information 232, Virtual queue information 233, distribution method information 234, acquisition method information 235, data store server state information 250, and the like are included.

データストアサーバ動作設定情報221は、複数のデータストアサーバ107間でのデータの保持方法やデータストアサーバ107の動作設定等の情報を含む。データストアサーバ動作設定情報221は、例えば、データを保持するデータストアサーバ107の台数の情報(データの多重度)、複数のデータストアサーバ107間でデータを保持・管理する方式(データ保持方式)、データストアサーバ107が受信した要求に従った処理動作(要求別動作設定)の情報を含む。データ保持方式には、複数のデータストアサーバ107間でデータを同一の状態で保持する一貫性保持型と、データの状態の不一致を許容する代わりにデータストアサーバ107のサービス継続性を優先する可用性保持型などが設定される。要求別動作設定には、データの格納、取得、更新、削除、比較などの要求毎にデータストアサーバ107が連携するデータストアサーバ107の台数、処理が成功したと判定するためのデータストアサーバ107の台数などの情報を格納する。   The data store server operation setting information 221 includes information such as a data holding method among the plurality of data store servers 107 and operation settings of the data store server 107. The data store server operation setting information 221 includes, for example, information on the number of data store servers 107 that hold data (data multiplicity), and a method for holding and managing data among a plurality of data store servers 107 (data holding method). , Information on the processing operation (request-specific operation setting) according to the request received by the data store server 107 is included. The data retention method includes a consistency retention type that retains data in the same state among a plurality of data store servers 107, and availability that gives priority to service continuity of the data store server 107 instead of allowing a mismatch of data states A holding type is set. In the operation setting by request, the number of data store servers 107 with which the data store server 107 cooperates for each request such as data storage, acquisition, update, deletion, and comparison, and the data store server 107 for determining that the processing has been successful. Stores information such as the number of devices.

以下、本実施例では、データストアサーバ動作設定情報221のデータの多重度が3であり、一貫性保持型である場合について説明する。また、要求別動作設定では、格納、更新、削除要求に対しては、3台のデータストアサーバ107にデータを格納したことによって処理成功とし、取得要求に対しては、1台のデータストアサーバ107からデータを取得するように設定する。ただし、データの多重度は3以外でもよく、可用性保持型のシステムを構成してもよい。   Hereinafter, in the present embodiment, a case will be described in which the data multiplicity of the data store server operation setting information 221 is 3 and is a consistency maintaining type. Further, in the operation setting by request, for storage, update, and deletion requests, the processing is successful by storing data in the three data store servers 107, and for the acquisition request, one data store server Set to obtain data from 107. However, the multiplicity of data may be other than 3, and an availability maintaining system may be configured.

データストアサーバ構成情報222は、分散処理プログラム210がデータストアサーバ107から定期的に取得するデータストアサーバ107間の相関情報及び稼動情報を含む。データストアサーバ107間の相関情報は、メッセージシステム内のデータストアサーバ107が保持しているデータのキーの情報(以下、「キーレンジ担当情報」と称する)と、そのキーについて当該データストアサーバ107がマスタであるか、マスタのデータを同期するスレーブであるかの情報である。稼動情報は、各データストアサーバ107の稼動情報、及び相関情報に含まれるキーレンジのデータの多重度の情報を含む。多重度の情報は、現在の多重度を表し、例えば、設定されているデータ多重度が3でも、そのデータを保持するデータストアサーバ107の一台が障害等により停止すれば、データ多重度は2となる。   The data store server configuration information 222 includes correlation information and operation information between the data store servers 107 that the distributed processing program 210 periodically acquires from the data store server 107. The correlation information between the data store servers 107 includes key information of data held by the data store server 107 in the message system (hereinafter referred to as “key range charge information”) and the data store server 107 for the key. Is information indicating whether the master is a master or a slave that synchronizes master data. The operation information includes operation information of each data store server 107 and information on the multiplicity of data in the key range included in the correlation information. The multiplicity information indicates the current multiplicity. For example, even if the set data multiplicity is 3, if one of the data store servers 107 holding the data is stopped due to a failure or the like, the data multiplicity is 2.

データストアサーバ合議情報223は、データストアサーバ107間で直接交換される情報であり、データストアサーバ構成情報222と同様に、データストアサーバ107の稼動状況及び相関情報を含む。分散処理プログラム210は、データストアサーバ107が定期的にマルチキャストなどで送信しているデータストアサーバ構成情報を取得して、データストアサーバ構成情報222を更新する。   The data store server conference information 223 is information exchanged directly between the data store servers 107, and includes the operating status and correlation information of the data store server 107, like the data store server configuration information 222. The distributed processing program 210 acquires the data store server configuration information that the data store server 107 periodically transmits by multicast or the like, and updates the data store server configuration information 222.

処理性能低下判定条件231は要求種別毎に複数の条件240A、240B等を保持し、各条件は処理経過時間241、接続数242、同時処理数243、送信待ち数244及び応答時間245を含む。   The processing performance degradation determination condition 231 holds a plurality of conditions 240A, 240B and the like for each request type, and each condition includes a processing elapsed time 241, a connection number 242, a simultaneous processing number 243, a transmission waiting number 244, and a response time 245.

処理経過時間241は、分散処理プログラム210がデータストアサーバ107へ要求を送信してからの経過時間の閾値が記述される。接続数242には、分散処理プログラム210がデータストアサーバ107に接続するコネクション数の閾値が記述される。同時処理数243には、分散処理プログラム210が同時に実行している処理の数や、プロセスの数、スレッドの数の閾値が記述される。送信待ち数244には、分散処理プログラム210がデータストアサーバ107への送信すべき待ち状態のメッセージ数の閾値が記述される。応答時間245は、分散処理プログラム210がデータストアサーバ107へ要求を送信して応答を受信した時間(平均値)の閾値である。   The processing elapsed time 241 describes a threshold of elapsed time after the distributed processing program 210 transmits a request to the data store server 107. The connection number 242 describes a threshold value of the number of connections that the distributed processing program 210 connects to the data store server 107. The number of simultaneous processes 243 describes the number of processes simultaneously executed by the distributed processing program 210, the number of processes, and the threshold of the number of threads. In the transmission waiting number 244, a threshold value of the number of waiting messages to be transmitted to the data store server 107 by the distributed processing program 210 is described. The response time 245 is a threshold value of the time (average value) when the distributed processing program 210 transmits a request to the data store server 107 and receives a response.

ここで処理経過時間241は、実績値である応答時間245と異なり、分散処理プログラム210がデータストアサーバ107から応答を受信していない、現在処理中の要求を送信してからの経過時間であり、応答時間より短い時間に設定される。一般的にメッセージを処理するサーバは、外部サーバにメッセージを送信し応答を待ち続ける応答タイムアウト値を持ち、応答タイムアウト以内に応答を受信した場合、正常に応答を受信して応答時間245に追加して平均値を再計算すると判定し、応答タイムアウト以降に受信した場合、応答をエラーと判定する。   Here, the processing elapsed time 241 is an elapsed time since the distributed processing program 210 has not received a response from the data store server 107 and has transmitted a request that is currently being processed, unlike the response time 245 that is an actual value. The time is set shorter than the response time. In general, a server that processes a message has a response timeout value that continues to send a message to an external server and waits for a response. If a response is received within the response timeout, the server normally receives the response and adds it to the response time 245. It is determined that the average value is recalculated, and if it is received after the response timeout, the response is determined to be an error.

処理性能低下判定条件231が要求種別に条件を保持するのは、データストアサーバ動作設定情報221によって、格納、取得などの要求種別毎にデータストアサーバ107の連携処理の性能が低下する要因が異なり、データストアサーバ107の稼働状況によって要求種別で実行できるかが異なるためである。   The reason why the processing performance degradation determination condition 231 holds the condition for the request type is that the factor of the performance degradation of the cooperative processing of the data store server 107 differs depending on the data store server operation setting information 221 for each request type such as storage and acquisition. This is because whether the request type can be executed depends on the operating status of the data store server 107.

リソース規制値情報232は、分散処理プログラム210がデータストアサーバ107への要求の送信に使用するリソースを保護するための規制値である。すなわち、リソース規制値情報232は、分散処理プログラム210が、データストアサーバ107から要求され、同時に実行しているプロセス数、コネクション数、分散処理プログラム210への送信待ち要求数等の規制値である。リソース規制値情報232は、通常時と、処理性能低下判定時などの状態別に複数の値を保持する。分散処理プログラム210は、リソース規制値情報232を参照することによって、処理性能が低下したデータストアサーバ107の全リソースを使い切ることを回避する。   The resource regulation value information 232 is a regulation value for protecting resources used by the distributed processing program 210 to transmit a request to the data store server 107. That is, the resource regulation value information 232 is a regulation value such as the number of processes, the number of connections, the number of requests waiting for transmission to the distributed processing program 210, which are requested from the data store server 107 by the distributed processing program 210 and are simultaneously executed. . The resource regulation value information 232 holds a plurality of values for each state such as normal time and processing performance deterioration determination time. The distributed processing program 210 refers to the resource regulation value information 232 to avoid using up all resources of the data store server 107 whose processing performance has deteriorated.

データストアサーバ107が保持するキュー(以下、「分散キュー」と称する)について説明する。データストアサーバ107へメッセージデータを格納する際に、分散方式情報234に定められた分散方式(振り分け方式)に従って、データを分散キューへ格納する。分散キューは、各データストアサーバ107が有している。分散キューデータ340a、340b…(データストア330)は、一つのメタ情報(以下、「分散キュー管理情報341」と称する)と、複数のメッセージデータ342を含む。分散キュー管理情報341は、分散キューデータ340に含まれる複数のメッセージデータ342とメッセージ関連情報343を管理するための情報である。分散キュー管理情報341によってデータストアサーバプログラム304がキューの機能を実現する。本実施例では、各データストアサーバ107がメッセージの宛先ドメイン別に分散キューを有する。このため、分散キュー管理情報341も、メッセージの宛先ドメイン毎に設けられる。   A queue (hereinafter referred to as “distributed queue”) held by the data store server 107 will be described. When message data is stored in the data store server 107, the data is stored in the distribution queue according to the distribution method (distribution method) defined in the distribution method information 234. Each data store server 107 has a distributed queue. The distributed queue data 340a, 340b... (Data store 330) includes one piece of meta information (hereinafter referred to as “distributed queue management information 341”) and a plurality of message data 342. The distributed queue management information 341 is information for managing a plurality of message data 342 and message related information 343 included in the distributed queue data 340. The data store server program 304 realizes a queue function by the distributed queue management information 341. In this embodiment, each data store server 107 has a distributed queue for each message destination domain. For this reason, the distributed queue management information 341 is also provided for each message destination domain.

分散処理プログラム210は、データストアサーバ107へメッセージを格納・変更・削除し、分散キュー管理情報341を更新する。分散キュー管理情報341は、関連するキューの情報から構成され、分散キューデータ340の識別子と、分散キューデータ340がマスタであるかスレーブであるかの情報と、メッセージの格納順や取り出し順などの処理順序の情報とを含む。分散キュー管理情報341は、さらに、分散キューデータ340に格納できる最大のメッセージデータ数(又は、分散キューデータ340が利用できるデータサイズ)、分散キューデータ340に現在格納されているメッセージデータ数及び利用しているデータサイズ、複数の分散処理プログラム210からメッセージを一つずつ取り出すための排他制御の情報を含む。本実施例においては、データストアサーバ107へメッセージを格納・変更・削除をする際に、メッセージの分散方式(振り分け方式)ごとに分散キュー管理情報341を更新する。   The distributed processing program 210 stores / changes / deletes the message to the data store server 107 and updates the distributed queue management information 341. The distributed queue management information 341 includes related queue information, such as an identifier of the distributed queue data 340, information on whether the distributed queue data 340 is a master or a slave, a message storage order, and a retrieval order. Processing order information. The distributed queue management information 341 further includes the maximum number of message data that can be stored in the distributed queue data 340 (or the data size that can be used by the distributed queue data 340), the number of message data currently stored in the distributed queue data 340, and the usage. Information of exclusive control for extracting messages one by one from the plurality of distributed processing programs 210. In this embodiment, when storing / changing / deleting a message to / from the data store server 107, the distributed queue management information 341 is updated for each message distribution method (distribution method).

本実施例において、分散キュー管理情報341は、データストアサーバ107のデータストア330内に格納されるが、データストアサーバ107の外に格納されてもよい。   In this embodiment, the distributed queue management information 341 is stored in the data store 330 of the data store server 107, but may be stored outside the data store server 107.

全てのデータストアサーバ107の分散キュー管理情報341より収集したキューの情報はデータストアサーバ107全体のキューの情報を表し、その情報から仮想的なキューを構成することができる。   The queue information collected from the distributed queue management information 341 of all the data store servers 107 represents the queue information of the entire data store server 107, and a virtual queue can be configured from the information.

システムで一元管理するための仮想的なキュー(以下、「仮想キュー」と称する)について説明する。仮想キューは、複数のデータストアサーバ107に格納されたデータを、一元管理するための、仮想的なキューである。仮想キュー情報331は、仮想キューの状態を表す。システム管理者は、仮想的なキューを管理することによって、全てのデータストアサーバ107のキューを一元的に管理することができる。   A virtual queue (hereinafter referred to as “virtual queue”) for centralized management in the system will be described. The virtual queue is a virtual queue for centrally managing data stored in a plurality of data store servers 107. The virtual queue information 331 represents the state of the virtual queue. The system administrator can centrally manage the queues of all the data store servers 107 by managing the virtual queues.

仮想キュー情報331は、少なくとも一つのデータストアサーバ(後述する図6、図7では、データストアサーバA107a)が、各データストアサーバの分散キュー管理情報341より各情報がリアルタイム、又は一定間隔で全てのデータストアサーバの分散方式毎のメッセージキューの情報を集計して構成する。集計された仮想キュー情報331は、他のデータストアサーバ107と共有される。また、分散キュー管理情報341は、任意のタイミングに集計されてもよい。   The virtual queue information 331 includes at least one data store server (data store server A 107a in FIGS. 6 and 7 to be described later), and each piece of information is distributed in real time or at regular intervals from the distributed queue management information 341 of each data store server. The message queue information for each data store server distribution method is aggregated and configured. The aggregated virtual queue information 331 is shared with other data store servers 107. Further, the distributed queue management information 341 may be aggregated at an arbitrary timing.

一つの仮想キューが複数の分散キューに対応し、仮想キューのデータは実際はデータストアサーバ107の分散キューに格納される。言い換えれば、仮想キューは複数の分散キューを含んで構成される。仮想キュー情報233は、各仮想キューと複数の分散キューの対応関係の情報、及び複数の分散キューの情報を一元管理するための情報を格納する。仮想キュー情報233は、メッセージシステム内の複数のメッセージ受信サーバ106及びメッセージ送信サーバ108が実行する分散処理プログラム210で共有される。   One virtual queue corresponds to a plurality of distributed queues, and the virtual queue data is actually stored in the distributed queue of the data store server 107. In other words, the virtual queue includes a plurality of distributed queues. The virtual queue information 233 stores information on the correspondence relationship between each virtual queue and a plurality of distributed queues, and information for centrally managing information on the plurality of distributed queues. The virtual queue information 233 is shared by the distributed processing program 210 executed by the plurality of message reception servers 106 and message transmission servers 108 in the message system.

本実施例において、データストア330は、仮想キュー情報331と、複数の分散キューデータ340を含む。データストア330内の分散キューデータ340は、複数のデータストアサーバ107に多重に保持される。分散キューデータ340は、一つの分散キュー管理情報341と、複数のメッセージデータ342と、メッセージ関連情報343とを含む。仮想キュー情報331は、仮想キュー情報233と同一の情報であり、複数の分散処理プログラム210がメッセージシステム全体で仮想キューの情報を共有するために、各データストアサーバ107が保持する。   In this embodiment, the data store 330 includes virtual queue information 331 and a plurality of distributed queue data 340. The distributed queue data 340 in the data store 330 is held in multiple by a plurality of data store servers 107. The distributed queue data 340 includes one distributed queue management information 341, a plurality of message data 342, and message related information 343. The virtual queue information 331 is the same information as the virtual queue information 233, and is held by each data store server 107 so that a plurality of distributed processing programs 210 share virtual queue information in the entire message system.

分散方式情報234は、ラウンドロビンなどの分散方式を格納する。取得方式情報235は、メッセージ受信サーバ106又はメッセージ送信サーバ108が取得可能なデータストアサーバ107(データストアサーバ状態情報250)や、その取得優先度が格納される。具体的には、全台又は一部のデータストアサーバ107からデータを取得する設定や、複数台のデータストアサーバ107からデータを取得する設定をした場合に優先してデータを取得するデータストアサーバ107の設定や、保持するメッセージ数が多いデータストアサーバ107から優先して取得する設定などがある。   The distribution method information 234 stores a distribution method such as round robin. The acquisition method information 235 stores the data store server 107 (data store server state information 250) that can be acquired by the message reception server 106 or the message transmission server 108, and the acquisition priority thereof. Specifically, a data store server that preferentially acquires data when setting to acquire data from all or a part of the data store servers 107 or setting to acquire data from a plurality of data store servers 107 107 and a setting that is acquired with priority from the data store server 107 that holds a large number of messages.

データストアサーバ状態情報250は、担当キーレンジ情報251、稼動サーバ252、稼動情報253、分散キューリスト254、判定対象の現在値255及びデータ多重度256を含む。担当キーレンジ情報251は、各データストアサーバ107が保持するデータのキーの範囲が記述される。稼動サーバ252は、前述したキーの範囲を現在担当しているデータストアサーバ107(マスタ、スレーブを含む複数台)のIPアドレスが記述される。担当キーレンジ情報251及び稼動サーバ252は、分散処理プログラム210がデータストアサーバ構成情報222に基づいて作成され、データストアサーバ107の障害や構成変更時には動的に変更される。   The data store server state information 250 includes responsible key range information 251, operation server 252, operation information 253, distributed queue list 254, determination target current value 255, and data multiplicity 256. The assigned key range information 251 describes the key range of data held by each data store server 107. The operation server 252 describes the IP address of the data store server 107 (a plurality of units including a master and a slave) that is currently in charge of the above-described key range. The assigned key range information 251 and the active server 252 are created by the distributed processing program 210 based on the data store server configuration information 222, and are dynamically changed when the data store server 107 fails or the configuration is changed.

稼動情報253は、マスタ、スレーブを含む複数のデータストアサーバ107の状態を格納する。分散キューリスト254は、担当キーレンジ情報251の範囲に含まれる分散キューのリストを記述する。データストアサーバ107の障害や構成変更時には、稼動情報253が動的に変更される。分散処理プログラム210は、通常時には、仮想キュー情報233に対応する分散キューリスト254を含むデータストアサーバ状態情報250を選択する。判定対象の現在値255は、処理性能低下判定条件231の対象であるパラメータが記述され、処理経過時間241、接続数242、同時処理数243、送信待ち数244、応答時間245に対応する現在の値を格納する。   The operation information 253 stores the states of a plurality of data store servers 107 including a master and a slave. The distributed queue list 254 describes a list of distributed queues included in the range of the assigned key range information 251. When the data store server 107 has a failure or a configuration change, the operation information 253 is dynamically changed. The distributed processing program 210 normally selects the data store server state information 250 including the distributed queue list 254 corresponding to the virtual queue information 233. The current value 255 of the determination target describes the parameter that is the target of the processing performance deterioration determination condition 231, and the current value corresponding to the processing elapsed time 241, the number of connections 242, the number of simultaneous processes 243, the number of waiting for transmission 244, and the response time 245. Stores a value.

データ多重度256は、担当キーレンジ情報251の範囲に含まれるデータ(分散キュー)の多重度である。データ多重度256は、通常は、担当キーレンジ情報251の範囲に含まれるデータを保持しているデータストアサーバ107の稼動台数と一致するが、データストアサーバ107が仮想環境等で実行されている場合、実環境のデータストアサーバ107の稼動台数を格納する。データ多重度256により、分散処理プログラム210はデータの多重度をデータストアサーバ107の設定とは別に保持することが可能になり、メッセージ受信サーバ106のアプリケーションの都合や仮想環境などで、データの多重度に対する柔軟な制御を行うことを可能にする(一般的にデータストアサーバ107がメッセージ毎にデータ多重度に対する制御は行えない)。なお、本実施例では、データストアサーバ状態情報250を担当キーレンジ情報251毎に作成しているが、たとえば分散キュー毎にデータストアサーバ状態情報250を作成してもよい。   The data multiplicity 256 is the multiplicity of data (distributed queue) included in the range of the assigned key range information 251. The data multiplicity 256 usually matches the number of operating data store servers 107 holding the data included in the range of the assigned key range information 251, but the data store server 107 is executed in a virtual environment or the like. In this case, the number of operating data store servers 107 in the real environment is stored. With the data multiplicity 256, the distributed processing program 210 can maintain the data multiplicity separately from the setting of the data store server 107, and the amount of data can be increased depending on the convenience of the application of the message receiving server 106 and the virtual environment. It is possible to perform flexible control on the severity (generally, the data store server 107 cannot control the data multiplicity for each message). In this embodiment, the data store server status information 250 is created for each assigned key range information 251. However, for example, the data store server status information 250 may be created for each distributed queue.

図3は、本実施例のデータストアサーバ107を構成する計算機の構成を示すブロック図である。   FIG. 3 is a block diagram showing the configuration of the computer that constitutes the data store server 107 of this embodiment.

データストアサーバ107を構成する計算機は、図3(A)に示すように、プロセッサ302と、揮発性メモリ307と、不揮発性記憶装置309と、入出力インタフェイス303と、これらを接続する内部通信線(例えば、バスなど)とを有する。   As shown in FIG. 3A, the computer constituting the data store server 107 includes a processor 302, a volatile memory 307, a nonvolatile storage device 309, an input / output interface 303, and internal communication for connecting them. Lines (eg, buses, etc.).

プロセッサ302は、揮発性メモリ307に格納されたプログラムを実行する。揮発性メモリ307は、例えば、DRAMなどの高速なメモリであり、プロセッサ302が実行するプログラムや、当該プログラムの実行時に使用されるデータを格納する。不揮発性記憶装置309は、磁気ディスク装置(HDD)、半導体記憶装置(SSD)などの大容量の記憶装置である。入出力インタフェイス303は、キャリア設備網103内の各装置とデータを送受信するために使用される。   The processor 302 executes a program stored in the volatile memory 307. The volatile memory 307 is a high-speed memory such as a DRAM, for example, and stores a program executed by the processor 302 and data used when the program is executed. The nonvolatile storage device 309 is a large-capacity storage device such as a magnetic disk device (HDD) or a semiconductor storage device (SSD). The input / output interface 303 is used to transmit / receive data to / from each device in the carrier equipment network 103.

揮発性メモリ307は、データストアサーバプログラム304を格納及びデータ群305を格納する。データストアサーバプログラム304は、メッセージを処理する各種制御プログラムを含み、プロセッサ302がこれらの制御プログラムを実行する。   The volatile memory 307 stores the data store server program 304 and stores the data group 305. The data store server program 304 includes various control programs for processing messages, and the processor 302 executes these control programs.

データストアサーバプログラム304は、予め、不揮発性記憶装置309に格納され、実行時に揮発性メモリ307にロードされてもよい。また、図示を省略した着脱可能な記憶媒体又は通信媒体(すなわち、ネットワーク又はデータを伝送するためのデジタル信号や搬送波)を介して、揮発性メモリ207又は不揮発性記憶装置209に導入されてもよい。さらに、不揮発性記憶装置309は、データストアサーバプログラム304が出力したログやデータストアサーバプログラム304の設定ファイル等のデータを格納する。   The data store server program 304 may be stored in advance in the nonvolatile storage device 309 and loaded into the volatile memory 307 at the time of execution. In addition, it may be introduced into the volatile memory 207 or the non-volatile storage device 209 via a removable storage medium or communication medium (that is, a digital signal or carrier wave for transmitting a network or data) (not shown). . Further, the nonvolatile storage device 309 stores data such as a log output from the data store server program 304 and a setting file of the data store server program 304.

以下に、データストアサーバプログラム304に含まれる各種制御プログラムがプロセッサ302により実行されることによって実現される、データストアサーバ107の機能を説明する。なお、本実施例では、データストアサーバプログラム304が使用するデータ群305を、機能的な観点から、データストアサーバプログラム304とは別に図示しているが、データ群305の一部又は全部がデータストアサーバプログラム304に含まれてもよい。   The functions of the data store server 107 realized by executing various control programs included in the data store server program 304 by the processor 302 will be described below. In the present embodiment, the data group 305 used by the data store server program 304 is illustrated separately from the data store server program 304 from a functional viewpoint, but part or all of the data group 305 is data. It may be included in the store server program 304.

データ群305は、図3(B)に示すように、データストアサーバ構成情報321、データストアサーバ合議情報322、データストア330などを含む。   As shown in FIG. 3B, the data group 305 includes data store server configuration information 321, data store server conference information 322, data store 330, and the like.

データストアサーバ構成情報321は、図2に示すデータストアサーバ構成情報222と同じ内容を含む。但し、データストアサーバ構成情報321はデータストアサーバ107が作成し及び利用するものであり、データストアサーバ構成情報222とデータ形式は異なってもよい。同様にデータストアサーバ合議情報322は、図2に示すデータストアサーバ合議情報223と同じ内容を含む。データストアサーバプログラム304は、他のデータストアサーバ107のデータストアサーバプログラム304との間でデータストアサーバ合議情報223を交換し、データストアサーバ合議情報322を作成する。   The data store server configuration information 321 includes the same contents as the data store server configuration information 222 shown in FIG. However, the data store server configuration information 321 is created and used by the data store server 107, and the data format may be different from that of the data store server configuration information 222. Similarly, the data store server conference information 322 includes the same contents as the data store server conference information 223 shown in FIG. The data store server program 304 exchanges the data store server conference information 223 with the data store server program 304 of the other data store server 107 to create the data store server conference information 322.

データストア330は、データストアサーバ107がメッセージ受信サーバ106(分散処理プログラム210)から受信した(格納が要求された)データを格納する領域である。本実施例では、データストアサーバ107はキーバリューストアを採用しているので、データストア330に格納される各データには、そのデータ(バリュー)に対応するキーも同時に格納されている。なお、本実施例では簡略化のためデータ(バリュー)のみ表記し、キーについては省略する。   The data store 330 is an area for storing data received from the message receiving server 106 (distributed processing program 210) (requested to be stored) by the data store server 107. In this embodiment, since the data store server 107 employs a key value store, each data stored in the data store 330 also stores a key corresponding to that data (value). In this embodiment, only data (value) is shown for simplification, and keys are omitted.

データストア330は仮想キュー情報331を含み、仮想キュー情報331はメッセージ格納数上限値332、メッセージサイズ上限値333及び現在値334を含む。メッセージ格納数上限値332は、全てのデータストアサーバ107に格納可能なメールの総数の上限値である。メッセージサイズ上限値333は、全てのデータストアサーバ107に格納可能なメールの総サイズの上限値である。現在値334は、全てのデータストアサーバが現在格納しているメール数及びメールサイズである。   The data store 330 includes virtual queue information 331, and the virtual queue information 331 includes a message storage number upper limit value 332, a message size upper limit value 333, and a current value 334. The message storage number upper limit 332 is an upper limit of the total number of mails that can be stored in all the data store servers 107. The message size upper limit value 333 is an upper limit value of the total size of mail that can be stored in all the data store servers 107. The current value 334 is the number of mails and the mail size currently stored in all the data store servers.

図示した仮想キュー情報331は、全ての分散キューを統合した仮想キューの情報であるが、分散キュー管理情報341と同様にメッセージの宛先ドメイン毎に設けてもよい。   The illustrated virtual queue information 331 is information on a virtual queue obtained by integrating all the distributed queues, but may be provided for each destination domain of the message as with the distributed queue management information 341.

なお、データストアサーバ構成情報321、データストアサーバ合議情報322及びデータストア330の各情報は不揮発性記憶部308に格納してもよい。この場合もデータストアサーバプログラム304の機能は実現可能である。   Each information of the data store server configuration information 321, the data store server conference information 322, and the data store 330 may be stored in the nonvolatile storage unit 308. Also in this case, the function of the data store server program 304 can be realized.

分散キューデータ340は、一つの分散キュー管理情報341と、複数のメッセージデータ342と、メッセージ関連情報343とを含む。メッセージデータ342は、メッセージ受信サーバ106から受信し、格納したメッセージのデータである。メッセージ関連情報343は、メッセージデータ342に関連する付加情報などの情報である。メッセージ受信サーバ106又はメッセージ送信サーバ108はメッセージ関連情報343を利用して、メッセージを処理する。   The distributed queue data 340 includes one distributed queue management information 341, a plurality of message data 342, and message related information 343. The message data 342 is data of a message received from the message receiving server 106 and stored. The message related information 343 is information such as additional information related to the message data 342. The message receiving server 106 or the message sending server 108 uses the message related information 343 to process the message.

図4は、本実施例のメッセージシステムがメッセージを中継する手順を示すシーケンス図である。   FIG. 4 is a sequence diagram illustrating a procedure in which the message system of this embodiment relays a message.

ステップ401からステップ411は、メッセージ受信サーバ106が受信したメッセージをデータストアサーバ107に格納するシーケンスである。   Steps 401 to 411 are a sequence in which the message received by the message receiving server 106 is stored in the data store server 107.

最初に、メッセージ受信サーバ106は、通信端末101が発信したメッセージ401を受信する。メッセージ受信サーバ106は、分散方式情報234に従って、仮想キューに対応する分散キューを分散キューリスト254に含むデータストアサーバ状態情報250を参照し、受信したメッセージを格納するデータストアサーバ107を選択する(ステップ402)。メッセージ受信サーバ106は、メッセージ格納要求を選択されたデータストアサーバA107aに送信する(ステップ403)。   First, the message receiving server 106 receives a message 401 transmitted from the communication terminal 101. The message reception server 106 refers to the data store server state information 250 including the distributed queue corresponding to the virtual queue in the distributed queue list 254 according to the distribution method information 234, and selects the data store server 107 that stores the received message ( Step 402). The message receiving server 106 transmits a message storage request to the selected data store server A 107a (step 403).

データストアサーバA107aは、仮想キュー情報331に含まれるメッセージ格納数上限値332及びメッセージサイズ上限値333を参照し、メッセージ401がデータストアサーバA107aに格納可能かを判定する(ステップ404、405)。   The data store server A 107a refers to the message storage number upper limit value 332 and the message size upper limit value 333 included in the virtual queue information 331, and determines whether the message 401 can be stored in the data store server A 107a (steps 404 and 405).

また、データストアサーバA107aは、データストアサーバ107bを含む複数のデータストアサーバ107間で受信したメッセージ(データ)を多重化するため、格納処理を他のデータストアサーバ107(例えば、データストアサーバB107b)と連携する(ステップ406)。   Further, since the data store server A 107a multiplexes messages (data) received between a plurality of data store servers 107 including the data store server 107b, the storage process is performed by another data store server 107 (for example, data store server B 107b). (Step 406).

次に、データストアサーバA107aは、分散方式情報234に従ってメッセージデータを分散キューに格納し(ステップ407)、メッセージデータに関連する分散キュー管理情報341を更新する。その後、データストアサーバA107aは、受信したメッセージが分散キューへ格納されたことから、メッセージ受信サーバ106へ格納成功の応答を返し(ステップ410)、メッセージ受信サーバ106は通信端末101に応答を返す(ステップ411)。   Next, the data store server A 107a stores the message data in the distributed queue according to the distribution method information 234 (step 407), and updates the distributed queue management information 341 related to the message data. Thereafter, since the received message is stored in the distributed queue, the data store server A 107a returns a response indicating successful storage to the message receiving server 106 (step 410), and the message receiving server 106 returns a response to the communication terminal 101 ( Step 411).

以上に説明したデータストアサーバA107aの処理の詳細は、図5を用いて後述する。   Details of the processing of the data store server A 107a described above will be described later with reference to FIG.

ステップ420からステップ429は、メッセージ送信サーバ108がメッセージを送信するシーケンスである。   Steps 420 to 429 are a sequence in which the message transmission server 108 transmits a message.

メッセージ送信サーバ108の分散処理プログラム210は、定期的にメッセージを取得するデータストアサーバ107を選択する(ステップ420)。メッセージ送信サーバ108は、メッセージ取得要求をデータストアサーバA107aへ送信し(ステップ421)、データストアサーバ107からメッセージを受信する(ステップ422)。メッセージ送信サーバ108は、受信したメッセージをメッセージ転送サーバ105へ送信する(ステップ423)。   The distributed processing program 210 of the message transmission server 108 selects the data store server 107 that periodically acquires messages (step 420). The message transmission server 108 transmits a message acquisition request to the data store server A 107a (step 421), and receives a message from the data store server 107 (step 422). The message transmission server 108 transmits the received message to the message transfer server 105 (step 423).

メッセージ転送サーバ105は、メッセージ送信サーバ108からメッセージを受信すると、メッセージ送信サーバ108に正常応答を送信する(ステップ424)。   When the message transfer server 105 receives a message from the message transmission server 108, the message transfer server 105 transmits a normal response to the message transmission server 108 (step 424).

メッセージ送信サーバ108は、メッセージ転送サーバ105から正常応答を受信すると(ステップ424)、メッセージデータが格納されたデータストアサーバA107aにメッセージの削除要求を送信する(ステップ425)。   When the message transmission server 108 receives a normal response from the message transfer server 105 (step 424), the message transmission server 108 transmits a message deletion request to the data store server A 107a in which the message data is stored (step 425).

データストアサーバA107aは、メッセージの削除要求を受信すると(ステップ425)、当該メッセージデータを分散キューから削除し(ステップ426)、メッセージデータに関連する分散キュー管理情報341を更新する(ステップ427)。   Upon receiving the message deletion request (step 425), the data store server A 107a deletes the message data from the distributed queue (step 426), and updates the distributed queue management information 341 related to the message data (step 427).

図5は、本実施例のデータストアサーバA107aが実行する処理のフローチャートであり、メッセージ格納要求から格納応答までの処理を示す。   FIG. 5 is a flowchart of processing executed by the data store server A 107a of this embodiment, and shows processing from a message storage request to a storage response.

まず、メッセージ格納要求を受信すると(S101)、データストアサーバA107aは、仮想キュー情報331に含まれるメッセージ格納数上限値332を参照し、現在キューに格納されているメッセージ数が上限値を超えていないかを判定する(S102)。そして、現在キューに格納されているメッセージ数が上限値を超えていれば、新たなメッセージを格納できないので、ステップS108に進む。   First, when a message storage request is received (S101), the data store server A 107a refers to the message storage number upper limit value 332 included in the virtual queue information 331, and the number of messages currently stored in the queue exceeds the upper limit value. It is determined whether there is any (S102). If the number of messages currently stored in the queue exceeds the upper limit value, a new message cannot be stored, and the process proceeds to step S108.

一方、現在キューに格納されているメッセージ数が上限値を超えていなければ、データストアサーバA107aは、仮想キュー情報331に含まれるメッセージサイズ上限値333を参照し、キューに格納すべきメッセージのサイズが上限値を超えていないかを判定する(S103)。そして、キューに格納すべきメッセージのサイズが上限値を超えていれば、このメッセージを格納できないので、ステップS108に進む。   On the other hand, if the number of messages currently stored in the queue does not exceed the upper limit value, the data store server A 107a refers to the message size upper limit value 333 included in the virtual queue information 331, and the size of the message to be stored in the queue. Is determined whether it exceeds the upper limit (S103). If the size of the message to be stored in the queue exceeds the upper limit value, this message cannot be stored, and the process proceeds to step S108.

一方、キューに格納すべきメッセージのサイズが上限値を超えていなければ、リソース規制値情報232を参照し、データストアサーバA107aのリソースが不足していないかを判定する(S104)。   On the other hand, if the size of the message to be stored in the queue does not exceed the upper limit value, the resource restriction value information 232 is referred to and it is determined whether the data store server A 107a has insufficient resources (S104).

その結果、データストアサーバA107aのリソースが不足していれば、メッセージを格納できないので、データストアサーバA107aへのメッセージの格納を規制し(S110)、他のデータストアサーバ107へのメッセージの格納を試みる(S111)。   As a result, if the resource of the data store server A 107a is insufficient, the message cannot be stored. Therefore, the storage of the message in the data store server A 107a is restricted (S110), and the message is stored in the other data store server 107. Try (S111).

一方、データストアサーバA107aのリソースが十分であれば、データストアサーバA107aの分散キューへのメッセージを格納し(S105)、分散キュー管理情報341を更新する(S106)。   On the other hand, if the resource of the data store server A 107a is sufficient, a message to the distributed queue of the data store server A 107a is stored (S105), and the distributed queue management information 341 is updated (S106).

受信したメッセージがいずれかのデータストアサーバ107に格納されると、メッセージ受信サーバ106へ格納成功の応答を返す(S107)。   When the received message is stored in any of the data store servers 107, a response indicating successful storage is returned to the message receiving server 106 (S107).

一方、メッセージの格納ができない場合、ステップS108で、メッセージの受信を規制すると判定し(S108)、メッセージ受信サーバ106にメッセージ格納エラーの応答を返す(S109)。   On the other hand, if the message cannot be stored, it is determined in step S108 that the reception of the message is restricted (S108), and a message storage error response is returned to the message receiving server 106 (S109).

図5では、データストアサーバA107aがメッセージを格納する処理について説明したが、データストアサーバA107aがメッセージ送信サーバ108にメッセージを出力する場合も、メッセージ受信時と同様に、分散キュー管理情報341を更新する。   In FIG. 5, the data store server A 107a has described the process of storing a message. However, when the data store server A 107a outputs a message to the message transmission server 108, the distributed queue management information 341 is updated in the same manner as when the message is received. To do.

図6は、本実施例の仮想キュー管理情報を取得する手順を示すシーケンス図である。図6に示すシーケンスでは、データストアサーバA107aが分散キュー管理情報を他のデータストアサーバから収集し、集計する。   FIG. 6 is a sequence diagram illustrating a procedure for acquiring virtual queue management information according to this embodiment. In the sequence shown in FIG. 6, the data store server A 107a collects the distributed queue management information from other data store servers and totals it.

データストアサーバ107bは、分散キュー管理情報341をデータストアサーバA107aへ定期的に送信する(ステップ513)。データストアサーバC107cは、分散キュー管理情報341をデータストアサーバA107aへ定期的に送信する(ステップ515)。   The data store server 107b periodically transmits the distributed queue management information 341 to the data store server A 107a (step 513). The data store server C 107c periodically transmits the distributed queue management information 341 to the data store server A 107a (step 515).

データストアサーバA107aは、受信した分散キュー管理情報314を集計し(ステップ514)、集計した分散キュー管理情報で仮想キュー管理情報を更新する(ステップ516)。   The data store server A 107a totals the received distributed queue management information 314 (step 514), and updates the virtual queue management information with the total distributed queue management information (step 516).

データストアサーバA107aは、更新した仮想キュー管理情報を多重化して格納するため、所定のタイミングで仮想キュー管理情報を他のデータストアサーバに送信し、仮想キュー管理情報の保持を他のデータストアサーバと連携する(ステップ517、518)。   In order to multiplex and store the updated virtual queue management information, the data store server A 107a transmits the virtual queue management information to another data store server at a predetermined timing, and holds the virtual queue management information in the other data store server (Steps 517 and 518).

図7は、本実施例の仮想キュー更新処理のフローチャートである。図7に示す仮想キュー更新処理は、ステップS201からS206の処理を無限に繰り返し実行する。   FIG. 7 is a flowchart of the virtual queue update process of this embodiment. The virtual queue update process shown in FIG. 7 repeatedly executes the processes of steps S201 to S206 indefinitely.

まず、データストアサーバA107aは、定期的(例えば、0.1秒毎)に仮想キュー情報233の更新を確認する(S202、S203)。   First, the data store server A 107a confirms the update of the virtual queue information 233 periodically (for example, every 0.1 second) (S202, S203).

その後、仮想キュー情報331の前回の更新時刻より1秒以上を経過している場合、各データストアサーバから分散キュー管理情報341を取得し(S204)、取得した分散キュー管理情報341を用いて仮想キュー情報331を更新する(S205)。   Thereafter, when one second or more has elapsed from the previous update time of the virtual queue information 331, the distributed queue management information 341 is acquired from each data store server (S204), and the virtual queue information 331 is virtualized using the acquired distributed queue management information 341. The queue information 331 is updated (S205).

以上に説明したように、本発明の実施例によると、メッセージを複数の物理サーバ(データストアサーバ107)へ格納する際に、メッセージに関連付けて分散キュー管理情報341を更新する。そして、分散キュー管理情報341によって複数の物理サーバの分散キューを統合した仮想的なキューを構成する。管理者は、仮想的なキューを管理することによって、複数の物理サーバに分かれて構築されている複数のキューを一括に管理することができる。   As described above, according to the embodiment of the present invention, when storing a message in a plurality of physical servers (data store server 107), the distributed queue management information 341 is updated in association with the message. Then, a virtual queue is formed by integrating the distributed queues of a plurality of physical servers by the distributed queue management information 341. By managing virtual queues, the administrator can collectively manage a plurality of queues constructed by being divided into a plurality of physical servers.

なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。   The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described. A part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Moreover, you may add the structure of another Example to the structure of a certain Example. In addition, for a part of the configuration of each embodiment, another configuration may be added, deleted, or replaced.

また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。   In addition, each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。   Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。   Further, the control lines and the information lines are those that are considered necessary for the explanation, and not all the control lines and the information lines that are necessary for the mounting are shown. In practice, it can be considered that almost all the components are connected to each other.

101 通信端末
103 キャリア設備網
105 メッセージ転送サーバ
106 メッセージ受信サーバ
107 データストアサーバ
108 メッセージ送信サーバ
101 communication terminal 103 carrier equipment network 105 message transfer server 106 message reception server 107 data store server 108 message transmission server

Claims (8)

1以上の受信サーバ、1以上の送信サーバ及び複数のデータストアサーバを備えるメッセージ転送システムであって、
前記各データストアサーバは、
前記受信サーバが受信したメッセージを格納する分散キューを有し、
前記分散キューの状態を示す分散キュー情報を格納し、
前記複数のデータストアサーバの少なくとも一つは、前記分散キュー情報を集計する第1のデータストアサーバであって、
前記第1のデータストアサーバは、前記分散キュー情報を集計して、仮想キュー情報を生成することを特徴とするメッセージ転送システム。
A message transfer system comprising one or more receiving servers, one or more sending servers, and a plurality of data store servers,
Each of the data store servers is
A distributed queue for storing messages received by the receiving server;
Stores distributed queue information indicating the state of the distributed queue,
At least one of the plurality of data store servers is a first data store server that aggregates the distributed queue information,
The message transfer system, wherein the first data store server aggregates the distributed queue information to generate virtual queue information.
請求項1に記載のメッセージ転送システムであって、
前記各データストアサーバは、
前記分散キューに、前記メッセージが入力又は出力された場合、前記分散キュー情報を更新し、
前記第1のデータストアサーバは、前記各データストアサーバから前記分散キュー情報を取得し、
前記第1のデータストアサーバは、前記各データストアサーバから取得した分散キュー情報を用いて、前記仮想キュー情報を更新することを特徴とするメッセージ転送システム。
The message transfer system according to claim 1,
Each of the data store servers is
When the message is input or output to the distributed queue, the distributed queue information is updated,
The first data store server acquires the distributed queue information from each data store server,
The message transfer system, wherein the first data store server updates the virtual queue information using the distributed queue information acquired from the data store servers.
請求項2に記載のメッセージ転送システムであって、
前記第1のデータストアサーバは、前記更新された仮想キュー情報を、他の前記データストアサーバに送信し、
前記他のデータストアサーバは、受信した仮想キュー情報を格納することを特徴とするメッセージ転送システム。
The message transfer system according to claim 2,
The first data store server sends the updated virtual queue information to the other data store servers;
The other data store server stores the received virtual queue information.
請求項1から3のいずれか一つに記載のメッセージ転送システムであって、
前記仮想キュー情報は、前記メッセージの宛先のドメインごとに、現在の前記仮想キューの状態を示す値と、前記仮想キューの状態を示す値の上限値とを含むことを特徴とするメッセージ転送システム。
The message transfer system according to any one of claims 1 to 3,
The virtual queue information includes a value indicating a current state of the virtual queue and an upper limit value indicating a state of the virtual queue for each destination domain of the message.
1以上の受信サーバ、1以上の送信サーバ及び複数のデータストアサーバを備える転送システムにおけるキューの管理方法であって、
前記各データストアサーバは、前記受信サーバが受信したメッセージを格納する分散キューを有し、前記分散キューの状態を示す分散キュー情報を格納し、
前記複数のデータストアサーバの少なくとも一つは、前記分散キュー情報を集計する第1のデータストアサーバであって、
前記方法は、前記第1のデータストアサーバが、前記分散キュー情報を集計して、仮想キュー情報を生成することを特徴とするキューの管理方法。
A queue management method in a transfer system comprising one or more receiving servers, one or more sending servers, and a plurality of data store servers,
Each data store server has a distributed queue for storing messages received by the receiving server, stores distributed queue information indicating the state of the distributed queue,
At least one of the plurality of data store servers is a first data store server that aggregates the distributed queue information,
In the method, the first data store server aggregates the distributed queue information to generate virtual queue information.
請求項5に記載のキューの管理方法であって、
前記各データストアサーバは、前記分散キューに、前記メッセージが入力又は出力された場合、前記分散キュー情報を更新し、
前記第1のデータストアサーバは、前記各データストアサーバから前記分散キュー情報を取得し、
前記第1のデータストアサーバは、前記各データストアサーバから取得した分散キュー情報を用いて、前記仮想キュー情報を更新することを特徴とするキューの管理方法。
The queue management method according to claim 5, comprising:
Each data store server updates the distributed queue information when the message is input or output to the distributed queue,
The first data store server acquires the distributed queue information from each data store server,
The queue management method, wherein the first data store server updates the virtual queue information using the distributed queue information acquired from the data store servers.
請求項6に記載のキューの管理方法であって、
前記第1のデータストアサーバは、前記更新された仮想キュー情報を、他の前記データストアサーバに送信し、
前記他のデータストアサーバは、受信した仮想キュー情報を格納することを特徴とするキューの管理方法。
The queue management method according to claim 6, comprising:
The first data store server sends the updated virtual queue information to the other data store servers;
The other data store server stores the received virtual queue information.
請求項5から7のいずれか一つに記載のキューの管理方法であって、
前記仮想キュー情報は、前記メッセージの宛先のドメインごとに、現在の前記仮想キューの状態を示す値と、前記仮想キューの状態を示す値の上限値とを含むことを特徴とするキューの管理方法。
A queue management method according to any one of claims 5 to 7, comprising:
The virtual queue information includes a value indicating a current state of the virtual queue and an upper limit value indicating a state of the virtual queue for each destination domain of the message. .
JP2013208846A 2013-10-04 2013-10-04 Message transfer system and queue management method Active JP6193078B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013208846A JP6193078B2 (en) 2013-10-04 2013-10-04 Message transfer system and queue management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013208846A JP6193078B2 (en) 2013-10-04 2013-10-04 Message transfer system and queue management method

Publications (2)

Publication Number Publication Date
JP2015073234A true JP2015073234A (en) 2015-04-16
JP6193078B2 JP6193078B2 (en) 2017-09-06

Family

ID=53015309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013208846A Active JP6193078B2 (en) 2013-10-04 2013-10-04 Message transfer system and queue management method

Country Status (1)

Country Link
JP (1) JP6193078B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723816A (en) * 2021-08-31 2021-11-30 成都智元汇信息技术股份有限公司 Double-state judgment method and server for issuing virtual contraband assessment information

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003018208A (en) * 2001-07-04 2003-01-17 Fujitsu Ltd Qos controller
JP2006259812A (en) * 2005-03-15 2006-09-28 Hitachi Ltd Dynamic queue load distribution method, system, and program
JP2011171867A (en) * 2010-02-17 2011-09-01 Hitachi Ltd Data storage method and mail relay method of data store server in mail system
US20120278409A1 (en) * 2011-04-28 2012-11-01 Hitachi, Ltd. Mail system
WO2014171413A1 (en) * 2013-04-16 2014-10-23 株式会社日立製作所 Message system for avoiding processing-performance decline

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003018208A (en) * 2001-07-04 2003-01-17 Fujitsu Ltd Qos controller
JP2006259812A (en) * 2005-03-15 2006-09-28 Hitachi Ltd Dynamic queue load distribution method, system, and program
JP2011171867A (en) * 2010-02-17 2011-09-01 Hitachi Ltd Data storage method and mail relay method of data store server in mail system
US20120278409A1 (en) * 2011-04-28 2012-11-01 Hitachi, Ltd. Mail system
WO2014171413A1 (en) * 2013-04-16 2014-10-23 株式会社日立製作所 Message system for avoiding processing-performance decline

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723816A (en) * 2021-08-31 2021-11-30 成都智元汇信息技术股份有限公司 Double-state judgment method and server for issuing virtual contraband assessment information

Also Published As

Publication number Publication date
JP6193078B2 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
US8260924B2 (en) User load balancing systems and methods thereof
US9495392B2 (en) System and method for parallel multiplexing between servers in a cluster
CN110365748B (en) Service data processing method and device, storage medium and electronic device
CN102281190B (en) Networking method for load balancing apparatus, server and client access method
CN104380277A (en) Method, system, and device for managing server hardware resources in a cloud scheduling environment
US11743333B2 (en) Tiered queuing system
US8660996B2 (en) Monitoring files in cloud-based networks
CN105025053A (en) Distributed file upload method based on cloud storage technology and system
CN109510878B (en) Long connection session keeping method and device
JP6272190B2 (en) Computer system, computer, load balancing method and program thereof
US20140059315A1 (en) Computer system, data management method and data management program
US20160234129A1 (en) Communication system, queue management server, and communication method
JPWO2018220708A1 (en) Resource allocation system, management device, method and program
US11231964B2 (en) Computing device shared resource lock allocation
CN113411363A (en) Uploading method of image file, related equipment and computer storage medium
JP5945543B2 (en) System including middleware machine environment
US9578120B1 (en) Messaging with key-value persistence
JP6193078B2 (en) Message transfer system and queue management method
US9967163B2 (en) Message system for avoiding processing-performance decline
JP5301499B2 (en) Transfer device, transfer method, and transfer program
Hernández et al. A reliable and scalable service bus based on Amazon SQS
CN114172945B (en) Method and equipment for realizing full duplex instant messaging through simulation
JP6129698B2 (en) Software distribution system and software distribution method
JP7193429B2 (en) DEVICE SYSTEM, DEVICE, COMPUTER PROGRAM AND DEVICE SYSTEM CONTROL METHOD
JP6617087B2 (en) Distributed processing system, distributed processing method, and distributed processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170809

R150 Certificate of patent or registration of utility model

Ref document number: 6193078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150