JP2021135828A - Request processing system and request processing method - Google Patents

Request processing system and request processing method Download PDF

Info

Publication number
JP2021135828A
JP2021135828A JP2020032451A JP2020032451A JP2021135828A JP 2021135828 A JP2021135828 A JP 2021135828A JP 2020032451 A JP2020032451 A JP 2020032451A JP 2020032451 A JP2020032451 A JP 2020032451A JP 2021135828 A JP2021135828 A JP 2021135828A
Authority
JP
Japan
Prior art keywords
server
request
write
order
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020032451A
Other languages
Japanese (ja)
Inventor
聡 岩田
Satoshi Iwata
聡 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020032451A priority Critical patent/JP2021135828A/en
Publication of JP2021135828A publication Critical patent/JP2021135828A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To process a write request from a client at high speed.SOLUTION: A plurality of client terminals transmits a write request for data and a read request for data to each of a first server and a second server. The first server executes writing processing corresponding to the write request when receiving the write request. The first server transmits order notification including order of write requests received before the read request to the second server when receiving the read request. The second server receives and holds the write request, and executes the writing processing corresponding to the held write request according to the order included in the order notification when receiving the order notification.SELECTED DRAWING: Figure 6

Description

本発明は、リクエスト処理システムおよびリクエスト処理方法に関する。 The present invention relates to a request processing system and a request processing method.

コンピュータシステムにおいてデータの作成が行われる場合、データ消失のリスクを低減するために、複製を作成することが一般的に行われている。例えば、複製作成手法としては「Passive replication」と「Active replication」が知られている。「Passive replication」とは、プライマリサーバのみが書込みリクエストを受信し、プライマリサーバが残りのバックアップサーバに書込みリクエストを転送する方式である。一方で、「Active replication」とは、全てのサーバが直接書込みリクエストを受信する方式である。「Active replication」は、「Passive replication」に比べて処理を並列に実行できるので、書込みにかかる時間を短くすることができる。 When data is created in a computer system, it is common practice to create duplicates to reduce the risk of data loss. For example, "Passive replication" and "Active replication" are known as replication creation methods. "Passive replication" is a method in which only the primary server receives a write request and the primary server forwards the write request to the remaining backup servers. On the other hand, "Active replication" is a method in which all servers directly receive write requests. Since "Active replication" can execute processing in parallel as compared with "Passive replication", the time required for writing can be shortened.

また、書込みリクエストの送信元であるクライアントが複数存在する環境では、各サーバ間で整合性が保たれない事象が発生することがある。例えば、「Passive replication」では、リクエストの入り口が1つであるため、クライアントの装置内やクライアントとサーバとの間に特殊な機構を設けることなく、サーバ側で書込みリクエストを受信順で処理することができる。 Also, in an environment where there are multiple clients that are the source of write requests, an event may occur in which consistency is not maintained between each server. For example, in "Passive replication", since there is only one request entrance, write requests are processed in the order of reception on the server side without providing a special mechanism in the client device or between the client and the server. Can be done.

一方、「Active replication」では、サーバ間で整合性を保つために、書込みリクエストの順序制御が要求されることもある。例えば、クライアントAが書込みリクエストA1、クライアントBが書込みリクエストB1をサーバX,Y,Zのそれぞれに送信したとする。このとき、送信タイミングやネットワークの経路によっては、サーバXとZは、書込みリクエストをA1、B1の順で受信し、サーバYは、書込みリクエストをB1、A1の順で受信することが起こり得る。この場合、サーバXとZとでは、書込み後のデータが一致するが、サーバXおよびZとサーバYとでは、書込み後のデータが一致せず、サーバ間で整合性が保たれないので、データの複製を保持する要件を満たせない。 On the other hand, in "Active replication", control of the order of write requests may be required in order to maintain consistency between servers. For example, assume that the client A sends a write request A1 and the client B sends a write request B1 to each of the servers X, Y, and Z. At this time, depending on the transmission timing and the network route, the servers X and Z may receive the write request in the order of A1 and B1, and the server Y may receive the write request in the order of B1 and A1. In this case, the data after writing matches between the servers X and Z, but the data after writing does not match between the servers X and Z and the server Y, and the consistency cannot be maintained between the servers. Cannot meet the requirement to keep a copy of.

このため、複数クライアント環境において「Active replication」を実現させるためには、「atomic broadcast」または「total order broadcast」と呼ばれる、「全ての受信先において同じ順序でリクエストを受信する」ための機構が用いられる。例えば、クライアントとサーバとの間に、順序制御用サーバを設置するシステム構成が知られている。クライアントは、順序制御用サーバに書込みリクエストを送信し、順序制御用サーバは、クライアントから送信される書込みリクエストの順序制御を行った上で、各サーバに送信する。 Therefore, in order to realize "Active replication" in a multiple client environment, a mechanism called "atomic broadcast" or "total order broadcast" is used to "receive requests in the same order at all recipients". Be done. For example, a system configuration in which an order control server is installed between a client and a server is known. The client sends a write request to the order control server, and the order control server controls the order of the write requests sent from the client and then sends the write request to each server.

特開2001−101062号公報Japanese Unexamined Patent Publication No. 2001-101062

ところで、高速な書込みはユーザが求める価値の一つであり、書込みが高速であればあるほど価値が高くなるシステムも存在する。例えば、オークションの入札や株の売買などは、クライアントからのリクエストに対して遅滞なく最速で処理することが要求される。 By the way, high-speed writing is one of the values that users demand, and there are systems in which the higher the writing speed, the higher the value. For example, auction bids and stock trading are required to be processed at the fastest speed without delay in response to a request from a client.

しかしながら、複数のクライアント環境において上記技術を適用した場合、クライアントからの書込みリクエストに対して、高速な書込み処理を実行することが難しい。例えば、「Passive replication」の場合、クライアントが代表サーバに書込みを行った後に代表サーバが他のサーバに書込みを行うので、処理が逐次で実行されることとなり、書込み処理を高速に実行できない。「Active replication」の場合、書込み処理を並列で実行できるものの、サーバ間の整合性を保証するために、順序制御用サーバによる書込みリクエストの順序制御を行う必要があり、処理に時間がかかる。 However, when the above technique is applied in a plurality of client environments, it is difficult to execute high-speed write processing in response to a write request from a client. For example, in the case of "Passive replication", since the representative server writes to another server after the client writes to the representative server, the processes are executed sequentially, and the write process cannot be executed at high speed. In the case of "Active replication", write processing can be executed in parallel, but in order to guarantee consistency between servers, it is necessary to control the order of write requests by the order control server, which takes time.

一つの側面では、クライアントからの書込みリクエストを高速に処理することができるリクエスト処理システムおよびリクエスト処理方法を提供することを目的とする。 One aspect is to provide a request processing system and a request processing method capable of processing a write request from a client at high speed.

第1の案では、リクエスト処理システムは、複数のクライアント端末それぞれから送信されるリクエストに応じた処理を実行する第1のサーバと第2のサーバとを有する。前記複数のクライアント端末それぞれは、前記第1のサーバと前記第2のサーバとのそれぞれに、データの書込みリクエストまたはデータの読込みリクエストを送信する送信部を有する。前記第1のサーバは、前記書込みリクエストを受信した場合、前記書込みリクエストに応じた書込み処理を実行する書込み処理部と、前記読込みリクエストを受信した場合、前記読込みリクエストより前に受信された書込みリクエストの順番を含む順序通知を前記第2のサーバに送信する読込み処理部と、を有する。前記第2のサーバは、前記書込みリクエストを受信して保持する受信部と、前記順序通知を受信した場合、前記順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する書込み処理部と、を有する。 In the first plan, the request processing system has a first server and a second server that execute processing according to a request transmitted from each of the plurality of client terminals. Each of the plurality of client terminals has a transmission unit that transmits a data write request or a data read request to each of the first server and the second server. When the first server receives the write request, the write processing unit executes a write process in response to the write request, and when the first server receives the read request, the write request received before the read request. It has a read processing unit that transmits an order notification including the order of the above to the second server. The second server receives and holds the write request, and when the order notification is received, the second server executes a write process according to the write request to be held in accordance with the order included in the order notification. It has a processing unit.

一つの側面では、クライアントからの書込みリクエストを高速に処理することができる。 On one side, write requests from clients can be processed at high speed.

図1は、実施例1にかかるリクエスト処理システムの全体構成例を示す図である。FIG. 1 is a diagram showing an overall configuration example of the request processing system according to the first embodiment. 図2は、実施例1にかかるリクエスト処理システムの機能構成を示す機能ブロック図である。FIG. 2 is a functional block diagram showing a functional configuration of the request processing system according to the first embodiment. 図3は、代表サーバのリクエスト情報の一例を示す図である。FIG. 3 is a diagram showing an example of request information of the representative server. 図4は、複製サーバのリクエスト情報の一例を示す図である。FIG. 4 is a diagram showing an example of request information of the replication server. 図5は、システム全体の書込みリクエスト時の処理を説明する図である。FIG. 5 is a diagram illustrating processing at the time of a write request for the entire system. 図6は、システム全体の読込みリクエスト時の処理1を説明する図である。FIG. 6 is a diagram illustrating process 1 at the time of a read request for the entire system. 図7は、システム全体の読込みリクエスト時の処理2を説明する図である。FIG. 7 is a diagram illustrating process 2 at the time of a read request for the entire system. 図8Aは、実施例1にかかる処理の流れを示すシーケンス図である。FIG. 8A is a sequence diagram showing a flow of processing according to the first embodiment. 図8Bは、実施例1にかかる処理の流れを示すシーケンス図である。FIG. 8B is a sequence diagram showing a flow of processing according to the first embodiment. 図9は、実施例2にかかるリクエスト処理システムの全体構成例を示す図である。FIG. 9 is a diagram showing an overall configuration example of the request processing system according to the second embodiment. 図10は、実施例2にかかるリクエスト処理システムの機能構成を示す機能ブロック図である。FIG. 10 is a functional block diagram showing a functional configuration of the request processing system according to the second embodiment. 図11は、実施例2にかかるリクエスト処理を説明する図である。FIG. 11 is a diagram illustrating request processing according to the second embodiment. 図12は、ハードウェア構成例を説明する図である。FIG. 12 is a diagram illustrating a hardware configuration example.

以下に、本願の開示するリクエスト処理システムおよびリクエスト処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。 Hereinafter, examples of the request processing system and the request processing method disclosed in the present application will be described in detail with reference to the drawings. The present invention is not limited to this embodiment. In addition, each embodiment can be appropriately combined within a consistent range.

[全体構成]
図1は、実施例1にかかるリクエスト処理システムの全体構成例を示す図である。図1に示すように、リクエスト処理システムは、クライアント端末A10、クライアント端末B20、代表サーバ30、複製サーバ40、複製サーバ50がネットワークNを介して相互に通信可能に接続されるシステムである。なお、サーバ台数やクライアント端末の数は、一例であり、任意に変更できる。また、ネットワークNには、有線や無線を問わず、インターネットや専用線などの各種通信網を用いることができる。
[overall structure]
FIG. 1 is a diagram showing an overall configuration example of the request processing system according to the first embodiment. As shown in FIG. 1, the request processing system is a system in which a client terminal A10, a client terminal B20, a representative server 30, a replication server 40, and a replication server 50 are connected to each other so as to be able to communicate with each other via a network N. The number of servers and the number of client terminals are examples and can be changed arbitrarily. Further, as the network N, various communication networks such as the Internet and a dedicated line can be used regardless of whether they are wired or wireless.

このリクエスト処理システムでは、クライアント端末A10とクライアント端末B20のそれぞれが書込みまたは読込みを行う対象のデータを、代表サーバ30、複製サーバ40、複製サーバ50のそれぞれが記憶する。また、各複製サーバが記憶するデータは、代表サーバ30のデータ消失のリスクを低減するためのものであり、各データ間で同期が取れていることが要求される。 In this request processing system, each of the representative server 30, the duplication server 40, and the duplication server 50 stores the data to be written or read by each of the client terminal A10 and the client terminal B20. Further, the data stored in each replication server is for reducing the risk of data loss in the representative server 30, and it is required that the data are synchronized with each other.

このようなリクエスト処理システムは、複数のクライアント環境において「Active replication」を実現するシステムである。具体的には、クライアント端末A10またはクライアント端末B20は、代表サーバ30、複製サーバ40、複製サーバ50のそれぞれに書込みリクエストや読込みリクエストを送信する。そして、代表サーバ30、複製サーバ40、複製サーバ50のそれぞれは、各クライアント端末から受信する各リクエストに応じた処理を実行する。 Such a request processing system is a system that realizes "Active replication" in a plurality of client environments. Specifically, the client terminal A10 or the client terminal B20 transmits a write request and a read request to each of the representative server 30, the replication server 40, and the replication server 50. Then, each of the representative server 30, the duplication server 40, and the duplication server 50 executes processing according to each request received from each client terminal.

ここで、一般的に、複数のクライアント環境における「Active replication」では、書込み処理を並列で実行できるものの、サーバ間の整合性を保証するために、順序制御用サーバによる書込みリクエストの順序制御を行う必要があり、書込み処理が高速に実行できない。このため、オークションの入札や株の売買など、クライアントからのリクエストに対して遅滞なく最速で処理することが要求されるシステムでは、ユーザの要件を満たすことができず、システムの信頼性の低下に繋がる。 Here, in general, in "Active replication" in a plurality of client environments, write processing can be executed in parallel, but in order to guarantee consistency between servers, the order control server controls the order of write requests. It is necessary and the write process cannot be executed at high speed. For this reason, a system that is required to process requests from clients at the fastest speed without delay, such as bidding for auctions and buying and selling stocks, cannot meet the user's requirements, resulting in a decrease in system reliability. Connect.

そこで、実施例1にかかるリクエスト処理システムでは、複数の複製サーバに対してクライアント端末同士で順序の調整を行わずにリクエストを送信し、読み込み前に代表サーバ30で実行済みの書込み順序を残りの複製サーバに通知することで、高速性と信頼性の向上を図る。 Therefore, in the request processing system according to the first embodiment, the request is transmitted to the plurality of replication servers without adjusting the order between the client terminals, and the write order already executed by the representative server 30 before reading is left as the remaining write order. By notifying the replication server, speed and reliability will be improved.

具体的には、クライアント端末A10とクライアント端末B20は、代表サーバ30と複製サーバ40と複製サーバ50とのそれぞれに、データの書込みリクエストまたはデータの読込みリクエストを送信する。代表サーバ30は、書込みリクエストを受信した場合、書込みリクエストに応じた書込み処理を実行する。また、代表サーバ30は、読込みリクエストを受信した場合、読込みリクエストより前に受信された書込みリクエストの順番を含む順序通知を各複製サーバに送信する。そして、各複製サーバは、書込みリクエストを受信した場合は、書込み処理を実行せずに当該リクエストを保持し、代表サーバ30から順序通知を受信した場合、順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する。 Specifically, the client terminal A10 and the client terminal B20 transmit a data write request or a data read request to the representative server 30, the replication server 40, and the replication server 50, respectively. When the representative server 30 receives the write request, the representative server 30 executes the write process according to the write request. Further, when the representative server 30 receives the read request, the representative server 30 sends an order notification including the order of the write requests received before the read request to each replication server. Then, when each replication server receives the write request, it holds the request without executing the write process, and when it receives the order notification from the representative server 30, it holds the write in the order included in the order notification. Executes write processing according to the request.

このようにすることで、実施例1にかかるリクエスト処理システムでは、書込み時に実施する処理を最低限にすることで、ユーザへの高速な書き込み完了通知を実現する。この結果、複数のクライアント環境における「Active replication」において、順序制御用の特別な機構を用いずに、クライアントからの書込みリクエストを高速に処理することができる。 By doing so, in the request processing system according to the first embodiment, high-speed write completion notification to the user is realized by minimizing the processing to be executed at the time of writing. As a result, in "Active replication" in a plurality of client environments, write requests from clients can be processed at high speed without using a special mechanism for order control.

[機能構成]
図2は、実施例1にかかるリクエスト処理システムの機能構成を示す機能ブロック図である。なお、クライアント端末A10とクライアント端末B20とは同様の構成を有するので、クライアント端末A10についてのみ説明する。同様に、複製サーバ40と複製サーバ50とは同様の構成を有するので、複製サーバ40についてのみ説明する。
[Functional configuration]
FIG. 2 is a functional block diagram showing a functional configuration of the request processing system according to the first embodiment. Since the client terminal A10 and the client terminal B20 have the same configuration, only the client terminal A10 will be described. Similarly, since the replication server 40 and the replication server 50 have the same configuration, only the replication server 40 will be described.

(クライアント端末の構成)
図2に示すように、クライアント端末A10は、通信部11、記憶部12、制御部13を有する。
(Client terminal configuration)
As shown in FIG. 2, the client terminal A10 has a communication unit 11, a storage unit 12, and a control unit 13.

通信部11は、代表サーバ30や各複製サーバとの間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、代表サーバ30や各複製サーバに各種リクエストを送信し、代表サーバ30や各複製サーバから各種リクエストに対応する応答を受信する。 The communication unit 11 is a processing unit that controls communication between the representative server 30 and each replication server, and is realized by, for example, a communication interface. For example, the communication unit 11 transmits various requests to the representative server 30 and each replication server, and receives responses corresponding to the various requests from the representative server 30 and each replication server.

記憶部12は、各種データや制御部13が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。 The storage unit 12 is a processing unit that stores various data, a program executed by the control unit 13, and the like, and is realized by, for example, a memory or a hard disk.

制御部13は、クライアント端末A10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部13は、書込み要求部13aと読込み要求部13bを有する。なお、書込み要求部13aと読込み要求部13bは、プロセッサなどの電子回路で実現することもでき、プロセッサが実行するプロセスとして実現することもできる。 The control unit 13 is a processing unit that controls the entire client terminal A10, and is realized by, for example, a processor. The control unit 13 has a write request unit 13a and a read request unit 13b. The write request unit 13a and the read request unit 13b can be realized by an electronic circuit such as a processor, or can be realized as a process executed by the processor.

書込み要求部13aは、代表サーバ30と各複製サーバとに、書込みリクエストを送信する処理部である。例えば、書込み要求部13aは、ユーザ操作やアプリケーションによる操作などの任意の契機で、代表サーバ30および各複製サーバに、書込みリクエストを送信する。そして、書込み要求部13aは、書込みリクエストに応じた書込み処理を実行したサーバから処理結果を受信する。 The write request unit 13a is a processing unit that transmits a write request to the representative server 30 and each replication server. For example, the write request unit 13a transmits a write request to the representative server 30 and each replication server at an arbitrary trigger such as a user operation or an operation by an application. Then, the write request unit 13a receives the processing result from the server that has executed the writing process in response to the write request.

ここで、書込みリクエストは、クライアント端末ごとにリクエストの順序を付与して送信されることとする。例えば、クライアント端末Aから送信される書込みリクエストは、IDとしてのAと送信順を示す番号とが付与されており、送信順に、書込みリクエストA1、書込みリクエストA2、書込みリクエストA3などとなる。同様に、クライアント端末Bから送信される書込みリクエストは、IDとしてのBと送信順を示す番号とが付与されており、送信順に、書込みリクエストB1、書込みリクエストB2、書込みリクエストB3などとなる。なお、書込みリクエストA1などは、単に「A1」などを省略して記載することがある。 Here, it is assumed that the write request is transmitted by assigning the order of the requests to each client terminal. For example, the write request transmitted from the client terminal A is assigned an A as an ID and a number indicating the transmission order, and the write request A1, the write request A2, the write request A3, and the like are given in the order of transmission. Similarly, the write request transmitted from the client terminal B is assigned a B as an ID and a number indicating the transmission order, and becomes a write request B1, a write request B2, a write request B3, and the like in the order of transmission. The write request A1 or the like may be described by simply omitting "A1" or the like.

読込み要求部13bは、代表サーバ30と各複製サーバに、読込みリクエストを送信する処理部である。例えば、読込み要求部13bは、ユーザ操作やアプリケーションによる操作などの任意の契機で、代表サーバ30および各複製サーバに、読込みリクエストを送信する。そして、読込み要求部13bは、読込みリクエストに応じた読込み処理を実行したサーバから、処理結果を受信する。なお、読込みリクエストの記載方法は、上記書込みリクエストと同様、IDと送信順を示す番号とが付与されるものとする。 The read request unit 13b is a processing unit that transmits a read request to the representative server 30 and each replication server. For example, the read request unit 13b transmits a read request to the representative server 30 and each replication server at an arbitrary trigger such as a user operation or an operation by an application. Then, the read request unit 13b receives the processing result from the server that has executed the reading process in response to the read request. As for the description method of the read request, an ID and a number indicating the transmission order are assigned as in the above write request.

(代表サーバ30の構成)
図2に示すように、代表サーバ30は、通信部31、記憶部32、制御部33を有する。通信部31は、各クライアント端末や各複製サーバとの間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部31は、各クライアント端末から書込みリクエストや読込みリクエストを受信する。また、通信部31は、各クライアント端末に各種リクエストに対応する応答を送信し、各複製サーバに後述する順序通知を送信する。
(Configuration of representative server 30)
As shown in FIG. 2, the representative server 30 has a communication unit 31, a storage unit 32, and a control unit 33. The communication unit 31 is a processing unit that controls communication between each client terminal and each replication server, and is realized by, for example, a communication interface. For example, the communication unit 31 receives a write request and a read request from each client terminal. In addition, the communication unit 31 transmits responses corresponding to various requests to each client terminal, and transmits an order notification to be described later to each replication server.

記憶部32は、各種データや制御部33が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。例えば、記憶部32は、リクエスト情報32aとデータベース32bとを記憶する。 The storage unit 32 is a processing unit that stores various data, a program executed by the control unit 33, and the like, and is realized by, for example, a memory or a hard disk. For example, the storage unit 32 stores the request information 32a and the database 32b.

リクエスト情報32aは、各クライアント端末から受信された各種リクエストに関する情報である。例えば、リクエスト情報32aは、各クライアント端末が送信したリクエストの種別と受信順とを管理する情報である。なお、リクエスト情報32aは、各リクエストが実行済みか未実行かを区別できるように管理することもできる。 The request information 32a is information about various requests received from each client terminal. For example, the request information 32a is information that manages the type and reception order of the requests transmitted by each client terminal. The request information 32a can also be managed so that it can be distinguished whether each request has been executed or not executed.

図3は、代表サーバ30のリクエスト情報32aの一例を示す図である。図3に示すように、リクエスト情報32aは、受信順を示す「順番」と、受信されたリクエストの種別を示す「リクエスト」とが対応付けられる。図3の例では、クライアント端末A10が1番目に送信した書込みリクエストA1、クライアント端末A10が2番目に送信した書込みリクエストA2、クライアント端末B20が1番目に送信した書込みリクエストB1、クライアント端末A10が3番目に送信した書込みリクエストA3、クライアント端末B20が2番目に送信した書込みリクエストB2の順で、代表サーバ30が受信したことを示す。 FIG. 3 is a diagram showing an example of request information 32a of the representative server 30. As shown in FIG. 3, the request information 32a is associated with a "order" indicating the order of reception and a "request" indicating the type of received request. In the example of FIG. 3, the write request A1 transmitted first by the client terminal A10, the write request A2 transmitted second by the client terminal A10, the write request B1 transmitted first by the client terminal B20, and the client terminal A10 are three. It indicates that the representative server 30 has received the write request A3 transmitted second and the write request B2 transmitted second by the client terminal B20 in this order.

データベース32bは、各クライアント端末が処理対象とするデータを記憶する。具体的には、データベース32bは、ユーザごとに管理されており、各クライアント端末のユーザが書込み対象または読込み対象とするデータを記憶する。 The database 32b stores data to be processed by each client terminal. Specifically, the database 32b is managed for each user, and stores data to be written or read by the user of each client terminal.

制御部33は、代表サーバ30全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部33は、書込み処理部33a、順序通知部33b、読込み処理部33cを有する。なお、書込み要求部13aと読込み要求部13bは、プロセッサなどの電子回路で実現することもでき、プロセッサが実行するプロセスとして実現することもできる。 The control unit 33 is a processing unit that controls the entire representative server 30, and is realized by, for example, a processor. The control unit 33 includes a write processing unit 33a, an order notification unit 33b, and a read processing unit 33c. The write request unit 13a and the read request unit 13b can be realized by an electronic circuit such as a processor, or can be realized as a process executed by the processor.

書込み処理部33aは、クライアント端末A10またはクライアント端末B20から書込みリクエストを受信した場合に、遅滞なく、書込みリクエストに応じた書込み処理を実行する処理部である。具体的には、書込み処理部33aは、書込みリクエストを受信すると、リクエスト情報32aを更新する。そして、書込み処理部33aは、書込みリクエストを受信した順で、データベース32bへの書込み処理を実行し、処理結果(実行結果)をリクエスト元のクライアント端末に送信する。 The write processing unit 33a is a processing unit that executes a write process according to the write request without delay when a write request is received from the client terminal A10 or the client terminal B20. Specifically, when the write processing unit 33a receives the write request, the write processing unit 33a updates the request information 32a. Then, the write processing unit 33a executes the write process to the database 32b in the order in which the write requests are received, and transmits the process result (execution result) to the client terminal of the request source.

例えば、図3に示した順でリクエストを受信した場合、書込み処理部33aは、書込みリクエストA1、書込みリクエストA2、書込みリクエストB1、書込みリクエストA3、書込みリクエストB2の順で、書込み処理を実行する。ここで、書込み処理部33aは、リクエストを受信すると、他のリクエストの受信等を待つことなく、そのリクエストに対応する書込み処理を実行する。つまり、書込み処理部33aは、書込みリクエストA1を受信すると、すぐに書込みリクエストA1に対応する書込み処理を実行し、その後に、書込みリクエストA2を受信すると、すぐに書込みリクエストA2に対応する書込み処理を実行する。 For example, when the requests are received in the order shown in FIG. 3, the write processing unit 33a executes the write process in the order of write request A1, write request A2, write request B1, write request A3, and write request B2. Here, when the write processing unit 33a receives the request, the write processing unit 33a executes the write process corresponding to the request without waiting for the reception of another request or the like. That is, when the write processing unit 33a receives the write request A1, the write process corresponding to the write request A1 is immediately executed, and when the write request A2 is received thereafter, the write process corresponding to the write request A2 is immediately executed. Run.

順序通知部33bは、クライアント端末A10またはクライアント端末B20から読込みリクエストを受信した場合、読込みリクエストより前に受信された書込みリクエストの順番を含む順序通知を各複製サーバに送信する処理部である。 The order notification unit 33b is a processing unit that, when a read request is received from the client terminal A10 or the client terminal B20, transmits an order notification including the order of the write requests received before the read request to each replication server.

例えば、順序通知部33bは、図3に示す書込みリクエストが受信された後に、クライアント端末Aから読込みリクエストを受信すると、リクエスト情報32aを参照し、書込みリクエストの受信順が「書込みリクエストA1、書込みリクエストA2、書込みリクエスB1、書込みリクエストA3、書込みリクエストB2」であることを特定する。そして、順序通知部33bは、順序通知として「書込みリクエストA1、書込みリクエストA2、書込みリクエスB1、書込みリクエストA3、書込みリクエストB2」の順番である情報(例えば「A1→A2→B1→A3→B2」)を生成して、複製サーバ40と複製サーバ50に送信する。 For example, when the order notification unit 33b receives the read request from the client terminal A after receiving the write request shown in FIG. 3, the order notification unit 33b refers to the request information 32a and the reception order of the write request is "write request A1, write request". It is specified that it is "A2, write request B1, write request A3, write request B2". Then, the order notification unit 33b provides information in the order of "write request A1, write request A2, write request B1, write request A3, write request B2" (for example, "A1 → A2 → B1 → A3 → B2"). ) Is generated and transmitted to the replication server 40 and the replication server 50.

なお、順序通知部33bは、読込みリクエストを受信すると、リクエスト情報32aに登録するとともに、読込み処理部33cに読込みリクエストを通知する。 When the order notification unit 33b receives the read request, the order notification unit 33b registers the read request in the request information 32a and notifies the read processing unit 33c of the read request.

読込み処理部33cは、クライアント端末A10またはクライアント端末B20から送信された読込みリクエストに応じた読込み処理を実行する処理部である。具体的には、読込み処理部33cは、順序通知部33bにより順序通知が送信されて、各複製サーバから順序通知の正常受信を示す受信応答を受信した後に、読込み処理を実行する。そして、読込み処理部33cは、読込んだデータなどを含む処理結果を、リクエスト元に送信する。 The read processing unit 33c is a processing unit that executes read processing in response to a read request transmitted from the client terminal A10 or the client terminal B20. Specifically, the read processing unit 33c executes the read process after the order notification is transmitted by the order notification unit 33b and the reception response indicating the normal reception of the order notification is received from each replication server. Then, the read processing unit 33c transmits the processing result including the read data and the like to the request source.

(複製サーバ40の構成)
図2に示すように、複製サーバ40は、通信部41、記憶部42、制御部43を有する。通信部41は、各クライアント端末や代表サーバ30との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部41は、各クライアント端末から書込みリクエストや読込みリクエストを受信する。また、通信部41は、代表サーバ30から順序通知を受信する。
(Configuration of replication server 40)
As shown in FIG. 2, the replication server 40 includes a communication unit 41, a storage unit 42, and a control unit 43. The communication unit 41 is a processing unit that controls communication with each client terminal and the representative server 30, and is realized by, for example, a communication interface. For example, the communication unit 41 receives a write request and a read request from each client terminal. Further, the communication unit 41 receives the order notification from the representative server 30.

記憶部42は、各種データや制御部33が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。例えば、記憶部42は、リクエスト情報42aとデータベース42bとを記憶する。 The storage unit 42 is a processing unit that stores various data, a program executed by the control unit 33, and the like, and is realized by, for example, a memory or a hard disk. For example, the storage unit 42 stores the request information 42a and the database 42b.

リクエスト情報42aは、各クライアント端末から受信した各種リクエストに関する情報である。例えば、リクエスト情報42aは、各クライアント端末が送信したリクエストの種別と受信順とを管理する情報である。なお、リクエスト情報42aは、各リクエストが実行済みか未実行かを区別できるように管理することもできる。 The request information 42a is information about various requests received from each client terminal. For example, the request information 42a is information that manages the type and reception order of the requests transmitted by each client terminal. The request information 42a can also be managed so that it can be distinguished whether each request has been executed or not executed.

図4は、複製サーバ40のリクエスト情報42aの一例を示す図である。図4に示すように、リクエスト情報42aは、受信順を示す「順番」と、受信されたリクエストの種別を示す「リクエスト」とが対応付けられる情報である。図4の例では、クライアント端末A10が1番目に送信した書込みリクエストA1、クライアント端末B20が1番目に送信した書込みリクエストB1、クライアント端末A10が2番目に送信した書込みリクエストA2、クライアント端末A10が3番目に送信した書込みリクエストA3、クライアント端末B20が2番目に送信した書込みリクエストB2の順で、複製サーバ40が受信したことを示す。 FIG. 4 is a diagram showing an example of request information 42a of the replication server 40. As shown in FIG. 4, the request information 42a is information in which a "order" indicating a reception order and a "request" indicating a type of received request are associated with each other. In the example of FIG. 4, the write request A1 transmitted first by the client terminal A10, the write request B1 transmitted first by the client terminal B20, the write request A2 transmitted second by the client terminal A10, and the client terminal A10 are three. It indicates that the replication server 40 has received the write request A3 transmitted second and the write request B2 transmitted second by the client terminal B20 in this order.

ここで、図4に示す複製サーバ40のリクエスト情報42aと、図3に示す代表サーバ30のリクエスト情報32aとを比較すると、各クライアント端末から同じ順番でリクエストが送信されているにも関わらず、複製サーバ40と代表サーバ30との間では、リクエストの受信順が異なっている。これは、通信経路、通信の混在状況、サーバの負荷など様々な要因による。このため、複製サーバ40は、代表サーバ30との間でデータベースの整合性を保つために、代表サーバ30と同じ順番で書込み処理を実行することが要求される。 Here, when the request information 42a of the replication server 40 shown in FIG. 4 and the request information 32a of the representative server 30 shown in FIG. 3 are compared, although the requests are transmitted from each client terminal in the same order, the requests are transmitted. The order of receiving requests is different between the replication server 40 and the representative server 30. This is due to various factors such as the communication path, the mixed communication status, and the load on the server. Therefore, the replication server 40 is required to execute the write process in the same order as the representative server 30 in order to maintain the consistency of the database with the representative server 30.

データベース42bは、各クライアント端末が処理対象とするデータを記憶する。具体的には、データベース42bは、ユーザごとに管理されており、各クライアント端末のユーザが書込み対象または読込み対象とするデータを記憶する。なお、代表サーバ30と各複製サーバとは、データの複製を管理する関係性(一貫性の維持)であることから、各データベースが同期されている必要がある。 The database 42b stores data to be processed by each client terminal. Specifically, the database 42b is managed for each user, and stores data to be written or read by the user of each client terminal. Since the representative server 30 and each replication server have a relationship (maintenance of consistency) for managing data replication, each database needs to be synchronized.

制御部43は、複製サーバ40全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部43は、受信部43aと書込み処理部43bを有する。なお、受信部43aと書込み処理部43bは、プロセッサなどの電子回路で実現することもでき、プロセッサが実行するプロセスとして実現することもできる。 The control unit 43 is a processing unit that controls the entire replication server 40, and is realized by, for example, a processor. The control unit 43 has a receiving unit 43a and a writing processing unit 43b. The receiving unit 43a and the writing processing unit 43b can be realized by an electronic circuit such as a processor, or can be realized as a process executed by the processor.

受信部43aは、クライアント端末A10またはクライアント端末B20から書込みリクエストを受信した場合に、当該書込みリクエストを保持する処理部である。具体的には、受信部43aは、書込みリクエストを受信すると、書込み処理を実行することなく、受信した順でリクエスト情報42aに登録し、受信順を管理する。このとき、受信部43aは、書込み処理を実行していないが、書込みリクエストを正常に受信したため、書込みリクエストに対応する応答を、送信元のクライアント端末に送信する。 The receiving unit 43a is a processing unit that holds a write request when a write request is received from the client terminal A10 or the client terminal B20. Specifically, when the receiving unit 43a receives a write request, it registers in the request information 42a in the order of reception without executing the write process, and manages the reception order. At this time, although the receiving unit 43a has not executed the writing process, since the writing request has been received normally, the receiving unit 43a transmits a response corresponding to the writing request to the client terminal of the transmitting source.

書込み処理部43bは、代表サーバ30から順序通知を受信した場合、順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する処理部である。例えば、書込み処理部43bは、順序通知として「A1→A2→B1→A3→B2」を受信する。すると、書込み処理部43bは、リクエスト情報42aに「書込みリクエストA1、書込みリクエストB1、書込みリクエストA2、書込みリクエストA3、書込みリクエストB2」と登録されているにも関わらず、順序通知で通知された「A1→A2→B1→A3→B2」の順番で書込み処理を実行する。なお、書込み処理部43bは、順序通知を受信した後、または、書込み完了後に、順序通知を正常に受信したことを示す受信応答を代表サーバ30に送信する。また、書込み完了後、書込み処理部43bは、書込み完了の通知を代表サーバ30に送信してもよい。 When the order notification is received from the representative server 30, the write processing unit 43b is a processing unit that executes the write process according to the write request to be held according to the order included in the order notification. For example, the writing processing unit 43b receives “A1 → A2 → B1 → A3 → B2” as an order notification. Then, the write processing unit 43b is notified by the order notification even though "write request A1, write request B1, write request A2, write request A3, write request B2" is registered in the request information 42a. The writing process is executed in the order of "A1-> A2-> B1-> A3-> B2". The writing processing unit 43b transmits a reception response indicating that the order notification has been normally received to the representative server 30 after receiving the order notification or after the writing is completed. Further, after the writing is completed, the writing processing unit 43b may send a notification of the writing completion to the representative server 30.

[処理の具体例]
次に、図5−図7を用いて、システム全体における各リクエスト発行時の流れを具体的に説明する。図5は、システム全体の書込みリクエスト時の処理を説明する図である。図6は、システム全体の読込みリクエスト時の処理1を説明する図であり、図7は、システム全体の読込みリクエスト時の処理2を説明する図である。
[Specific example of processing]
Next, with reference to FIGS. 5 to 7, the flow at the time of issuing each request in the entire system will be specifically described. FIG. 5 is a diagram illustrating processing at the time of a write request for the entire system. FIG. 6 is a diagram for explaining the process 1 at the time of a read request for the entire system, and FIG. 7 is a diagram for explaining the process 2 at the time of a read request for the entire system.

図5に示すように、クライアント端末A10は、書込みリクエストA1を代表サーバ30と各複製サーバとに送信した後、次に、書込みリクエストA2を代表サーバ30と各複製サーバとに送信した後、さらに、書込みリクエストA3を代表サーバ30と各複製サーバとに送信する。また、クライアント端末B20は、書込みリクエストB1を代表サーバ30と各複製サーバとに送信した後、次に、書込みリクエストB2を代表サーバ30と各複製サーバとに送信する。 As shown in FIG. 5, the client terminal A10 sends a write request A1 to the representative server 30 and each replication server, then sends a write request A2 to the representative server 30 and each replication server, and then further. , The write request A3 is transmitted to the representative server 30 and each replication server. Further, the client terminal B20 transmits the write request B1 to the representative server 30 and each replication server, and then transmits the write request B2 to the representative server 30 and each replication server.

そして、代表サーバ30は、書込みリクエストA1を受信すると、データベース32bへの書込み処理を実行し、次に、書込みリクエストA2を受信すると、データベース32bへの書込み処理を実行する。さらに、代表サーバ30は、書込みリクエストB1を受信すると、データベース32bへの書込み処理を実行し、次に、書込みリクエストA3を受信すると、データベース32bへの書込み処理を実行し、さらに書込みリクエストB2を受信すると、データベース32bへの書込み処理を実行する。すなわち、代表サーバ30は、書込みリクエストA1、A2、B1、A3、B2の順で受信し、受信した順で書込み処理を実行する。 Then, when the representative server 30 receives the write request A1, it executes the write process to the database 32b, and then when it receives the write request A2, it executes the write process to the database 32b. Further, when the representative server 30 receives the write request B1, it executes the write process to the database 32b, and then when it receives the write request A3, it executes the write process to the database 32b and further receives the write request B2. Then, the writing process to the database 32b is executed. That is, the representative server 30 receives the write requests A1, A2, B1, A3, and B2 in this order, and executes the write process in the received order.

一方、複製サーバ40は、代表サーバ30とは異なり、書込みリクエストA1、B1、A2、A3、B2の順で受信するが、書込み処理を実行せずに抑制する。また、複製サーバ50は、代表サーバ30とも複製サーバ40とも異なり、書込みリクエストA1、A2、A3、B1、B2の順で受信するが、書込み処理を実行せずに抑制する。 On the other hand, unlike the representative server 30, the replication server 40 receives the write requests A1, B1, A2, A3, and B2 in this order, but suppresses the write request without executing the write process. Further, unlike the representative server 30 and the replication server 40, the replication server 50 receives the write requests A1, A2, A3, B1, and B2 in this order, but suppresses the write request without executing the write process.

その後、図6に示すように、クライアント端末A10は、代表サーバ30と各複製サーバに、読込みリクエストA1を送信し、代表サーバ30と各複製サーバは、読込みリクエストA1を受信する。 After that, as shown in FIG. 6, the client terminal A10 transmits a read request A1 to the representative server 30 and each replication server, and the representative server 30 and each replication server receive the read request A1.

すると、代表サーバ30は、自装置がそれまでに受信した書込みリクエストの順序として、A1、A2、B1、A3、B2を特定し、この順番を順序情報として、複製サーバ40と複製サーバ50のそれぞれに送信する。 Then, the representative server 30 specifies A1, A2, B1, A3, and B2 as the order of the write requests received by the own device so far, and uses this order as the order information, respectively, of the replication server 40 and the replication server 50. Send to.

その後、図7に示すように、順序通知を送信した代表サーバ30は、読込みリクエストA1に応じた読込み処理を実行し、データベース32bから読み込んだデータを、リクエスト元のクライアント端末A10に送信する。 After that, as shown in FIG. 7, the representative server 30 that has transmitted the order notification executes the read process according to the read request A1, and transmits the data read from the database 32b to the request source client terminal A10.

一方で、複製サーバ40は、書込みリクエストを「A1、B1、A2、A3、B2」の順で保持するが、順序通知で通知された「A1、A2、B1、A3、B2」の順に並び替えて、データベース42bへの書込みを順次実行する。同様に、複製サーバ50は、書込みリクエストを「A1、A2、A3、B1、B2」の順で保持するが、順序通知で通知された「A1、A2、B1、A3、B2」の順に並び替えて、データベース52bへの書込みを順次実行する。 On the other hand, the replication server 40 holds the write requests in the order of "A1, B1, A2, A3, B2", but sorts the write requests in the order of "A1, A2, B1, A3, B2" notified by the order notification. Then, writing to the database 42b is sequentially executed. Similarly, the replication server 50 holds the write requests in the order of "A1, A2, A3, B1, B2", but sorts the write requests in the order of "A1, A2, B1, A3, B2" notified by the order notification. Then, writing to the database 52b is sequentially executed.

[処理シーケンス]
図8Aと図8Bは、実施例1にかかる処理の流れを示すシーケンス図である。図8Aに示すように、クライアント端末A10(またはクライアント端末B20)は、書込みリクエストを、代表サーバ30、複製サーバ40、複製サーバ50のそれぞれに送信する(S101からS104)。
[Processing sequence]
8A and 8B are sequence diagrams showing a flow of processing according to the first embodiment. As shown in FIG. 8A, the client terminal A10 (or the client terminal B20) transmits a write request to each of the representative server 30, the replication server 40, and the replication server 50 (S101 to S104).

すると、代表サーバ30は、データベース32bへの書込み処理を実行し(S105)、処理結果を書込み応答として、クライアント端末A10に送信する(S106とS107)。 Then, the representative server 30 executes a write process to the database 32b (S105), and transmits the process result as a write response to the client terminal A10 (S106 and S107).

一方、複製サーバ40は、書込み処理を実行せず、受信した書込みリクエストを保持する(S108)。その後、複製サーバ40は、書込みリクエストに対する応答として、書込み応答をクライアント端末A10に送信する(S109とS110)。 On the other hand, the replication server 40 does not execute the write process and holds the received write request (S108). After that, the replication server 40 transmits a write response to the client terminal A10 as a response to the write request (S109 and S110).

同様に、複製サーバ50も、書込み処理を実行せず、受信した書込みリクエストを保持する(S111)。その後、複製サーバ50は、書込みリクエストに対する応答として、書込み応答をクライアント端末A10に送信する(S112とS113)。 Similarly, the replication server 50 does not execute the write process and holds the received write request (S111). After that, the replication server 50 transmits a write response to the client terminal A10 as a response to the write request (S112 and S113).

続いて、クライアント端末A10またはクライアント端末B20は、書込みリクエストを、代表サーバ30、複製サーバ40、複製サーバ50のそれぞれに送信する(S114からS117)。 Subsequently, the client terminal A10 or the client terminal B20 transmits a write request to each of the representative server 30, the replication server 40, and the replication server 50 (S114 to S117).

すると、代表サーバ30は、データベース32bへの書込み処理を実行し(S118)、処理結果を書込み応答として、クライアント端末A10に送信する(S119とS120)。 Then, the representative server 30 executes a write process to the database 32b (S118), and transmits the process result as a write response to the client terminal A10 (S119 and S120).

一方、複製サーバ40は、書込み処理を実行せず、受信した書込みリクエストを保持する(S121)。その後、複製サーバ40は、書込みリクエストに対する応答として、書込み応答をクライアント端末A10に送信する(S122とS123)。 On the other hand, the replication server 40 does not execute the write process and holds the received write request (S121). After that, the replication server 40 transmits a write response to the client terminal A10 as a response to the write request (S122 and S123).

同様に、複製サーバ50も、書込み処理を実行せず、受信した書込みリクエストを保持する(S124)。その後、複製サーバ50は、書込みリクエストに対する応答として、書込み応答をクライアント端末A10に送信する(S125とS126)。 Similarly, the replication server 50 does not execute the write process and holds the received write request (S124). After that, the replication server 50 transmits a write response to the client terminal A10 as a response to the write request (S125 and S126).

続いて、図8Bに示すように、クライアント端末A10またはクライアント端末B20は、読込みリクエストを、代表サーバ30、複製サーバ40、複製サーバ50のそれぞれに送信する(S127からS130)。 Subsequently, as shown in FIG. 8B, the client terminal A10 or the client terminal B20 transmits a read request to each of the representative server 30, the replication server 40, and the replication server 50 (S127 to S130).

すると、代表サーバ30は、順序通知を生成して、複製サーバ40と複製サーバ50とに送信する(S131からS133)。そして、複製サーバ40は、順序通知にしたがって、データベース42bへの書込み処理を実行し(S134)、順序通知を正常に受信したことを示す受信応答を代表サーバ30に送信する(S135とS136)。同様に、複製サーバ50は、順序通知にしたがって、データベース52bへの書込み処理を実行し(S137)、順序通知を正常に受信したことを示す受信応答を代表サーバ30に送信する(S138とS139)。 Then, the representative server 30 generates an order notification and transmits it to the replication server 40 and the replication server 50 (S131 to S133). Then, the replication server 40 executes a write process to the database 42b according to the order notification (S134), and transmits a reception response indicating that the order notification has been normally received to the representative server 30 (S135 and S136). Similarly, the replication server 50 executes a write process to the database 52b according to the order notification (S137), and transmits a reception response indicating that the order notification has been normally received to the representative server 30 (S138 and S139). ..

一方、代表サーバ30は、送信した順序通知に対する受信応答を各複製サーバから受信した後、読込み処理を実行して(S140)、データベース32bから読み込んだデータを、読込み応答として、クライアント端末A10に送信する(S141とS142)。 On the other hand, the representative server 30 receives the received response to the transmitted order notification from each replication server, executes the read process (S140), and transmits the data read from the database 32b to the client terminal A10 as the read response. (S141 and S142).

[効果]
上述したように、実施例1にかかるリクエスト処理システムは、「Active replication」において、書込みリクエストの送信時に順序制御を実行せず、順序制御はデータ読み込み時に実行する。また、書込みリクエスト時は、代表サーバ30のみでデータベースの更新処理を実行し、他の複製サーバでは書込みリクエストの受信と記録のみを行い、直ちに更新処理を実行することはしない。つまり、代表サーバ30での更新順序の複製サーバへの共有は、データの読込み前に実行し、複製サーバでの更新処理は、更新順序を受け取った時点で実行する。
[effect]
As described above, the request processing system according to the first embodiment does not execute the order control at the time of transmitting the write request in "Active replication", and executes the order control at the time of reading the data. Further, at the time of a write request, only the representative server 30 executes the database update process, and the other replication servers only receive and record the write request, and do not immediately execute the update process. That is, sharing of the update order on the representative server 30 to the replication server is executed before reading the data, and the update process on the replication server is executed when the update order is received.

このように、実施例1にかかるリクエスト処理システムは、「Active replication」を採用しつつも、書込みリクエストを送信時に順序制御しないことで、一般的な「Atomic broadcast」を利用して順序制御を実施する方式に比べて、高速な書込みを実現することができる。また、実施例1にかかるリクエスト処理システムは、順序制御を実施する方式に比べて、高速な書込み処理を実現し、処理が逐次的に実行される「Passive replication」に比べても、高速な書込み処理を実現することができる。 In this way, the request processing system according to the first embodiment adopts "Active replication", but does not control the order of write requests at the time of transmission, so that the order is controlled by using the general "Atomic broadcast". It is possible to realize high-speed writing as compared with the method of performing. Further, the request processing system according to the first embodiment realizes high-speed write processing as compared with the method of performing order control, and is faster than "Passive replication" in which the processing is sequentially executed. Processing can be realized.

ところで、図1に示したリクエスト処理システムでは、代表サーバ30に障害が発生した場合、他の複製サーバが代表サーバに昇格することで、システムの継続性を維持する。その際もデータベースの一貫性を維持することが要求される。そこで、実施例2では、代表サーバ30の障害発生時に、データベースの一貫性を維持する例を説明する。 By the way, in the request processing system shown in FIG. 1, when a failure occurs in the representative server 30, another replication server is promoted to the representative server to maintain the continuity of the system. In that case, it is required to maintain the consistency of the database. Therefore, in the second embodiment, an example of maintaining the consistency of the database when a failure of the representative server 30 occurs will be described.

[全体構成]
図9は、実施例2にかかるリクエスト処理システムの全体構成例を示す図である。図9に示すように、リクエスト処理システムは、図1と同様、クライアント端末A10、クライアント端末B20、代表サーバ30、複製サーバ40、複製サーバ50がネットワークNを介して相互に通信可能に接続されるシステムである。
[overall structure]
FIG. 9 is a diagram showing an overall configuration example of the request processing system according to the second embodiment. As shown in FIG. 9, in the request processing system, as in FIG. 1, the client terminal A10, the client terminal B20, the representative server 30, the replication server 40, and the replication server 50 are connected to each other so as to be able to communicate with each other via the network N. It is a system.

このような状態において、代表サーバ30で障害は発生した場合、複製サーバ40が代表サーバに昇格してシステムの継続性を維持する。なお、障害としては、各クライアント端末と代表サーバ30との間の通信経路の障害、代表サーバ30自体の故障など様々な障害が該当する。また、障害時に、複製サーバ40が代表サーバに昇格する手法は、冗長化システムなどで利用される一般的な技術を採用することができる。 In such a state, if a failure occurs in the representative server 30, the replication server 40 is promoted to the representative server to maintain the continuity of the system. The failure includes various failures such as a failure of the communication path between each client terminal and the representative server 30, and a failure of the representative server 30 itself. Further, as a method of promoting the replication server 40 to a representative server in the event of a failure, a general technique used in a redundant system or the like can be adopted.

[機能構成]
図10は、実施例2にかかるリクエスト処理システムの機能構成を示す機能ブロック図である。なお、クライアント端末A10とクライアント端末B20とは同様の構成を有するので、クライアント端末A10についてのみ説明するが、実施例1と同様の構成なので、詳細な説明は省略する。また、代表サーバ30についても、実施例1と同様の構成なので、詳細な説明は省略する。
[Functional configuration]
FIG. 10 is a functional block diagram showing a functional configuration of the request processing system according to the second embodiment. Since the client terminal A10 and the client terminal B20 have the same configuration, only the client terminal A10 will be described, but since the configuration is the same as that of the first embodiment, detailed description thereof will be omitted. Further, since the representative server 30 has the same configuration as that of the first embodiment, detailed description thereof will be omitted.

(複製サーバ40の構成)
図10に示すように、代表サーバに昇格した複製サーバ40は、通信部41、記憶部42、制御部43を有する。なお、通信部41、記憶部42、制御部43の受信部43a、制御部43の書込み処理部43bは、実施例1と同様の機能なので、詳細な説明は省略する。ここでは、実施例1とは異なる障害対応部43cと送信部43dについて説明する。
(Configuration of replication server 40)
As shown in FIG. 10, the replication server 40 promoted to the representative server has a communication unit 41, a storage unit 42, and a control unit 43. Since the communication unit 41, the storage unit 42, the reception unit 43a of the control unit 43, and the write processing unit 43b of the control unit 43 have the same functions as those of the first embodiment, detailed description thereof will be omitted. Here, the fault handling unit 43c and the transmitting unit 43d, which are different from those in the first embodiment, will be described.

障害対応部43cは、代表サーバ30に障害が発生した場合、複製サーバ40が受信した書込みリクエストの順番で、書込み処理を実行する処理部である。例えば、障害対応部43cは、代表サーバ30に障害が発生して、複製サーバ40が代表サーバに昇格した場合に、複製サーバ40が受信済みかつ未実行の書込みリクエストを、複製サーバ40の受信順で実行する。このとき、障害対応部43cは、書込み処理の結果を各リクエスト元に送信することもできる。 The failure response unit 43c is a processing unit that executes write processing in the order of write requests received by the replication server 40 when a failure occurs in the representative server 30. For example, when the failure response unit 43c causes a failure in the representative server 30 and the replication server 40 is promoted to the representative server, the replication server 40 sends the received and unexecuted write requests in the reception order of the replication server 40. Execute with. At this time, the failure handling unit 43c can also transmit the result of the writing process to each request source.

送信部43dは、障害対応部43cにより実行された書込みリクエストの順番を複製サーバ50に送信する処理部である。例えば、送信部43dは、代表サーバ30の障害発生後に、複製サーバ40と複製サーバ50との間で一貫性を維持するために、障害発生時に未実行であった書込みリクエストを複製サーバ40に反映させた順番を、複製サーバ50に通知する。 The transmission unit 43d is a processing unit that transmits the order of the write requests executed by the failure response unit 43c to the replication server 50. For example, the transmission unit 43d reflects a write request that was not executed at the time of the failure to the replication server 40 in order to maintain consistency between the replication server 40 and the replication server 50 after the failure of the representative server 30 occurs. The replication server 50 is notified of the order in which they are made.

(複製サーバ50の構成)
図10に示すように、代表サーバ30の障害後も複製担当である複製サーバ50は、通信部51、記憶部52、制御部53を有する。なお、通信部51、記憶部52、制御部53の受信部53a、制御部53の書込み処理部53bは、複製サーバ40の通信部41、記憶部42、制御部43の受信部43a、制御部43の書込み処理部53bと同様の機能なので、詳細な説明は省略する。ここでは、複製サーバ40とは異なる障害対応部53cについて説明する。
(Configuration of replication server 50)
As shown in FIG. 10, the replication server 50, which is in charge of replication even after the failure of the representative server 30, has a communication unit 51, a storage unit 52, and a control unit 53. The communication unit 51, the storage unit 52, the reception unit 53a of the control unit 53, and the write processing unit 53b of the control unit 53 are the communication unit 41, the storage unit 42, the reception unit 43a of the control unit 43, and the control unit of the replication server 40. Since the function is the same as that of the write processing unit 53b of 43, detailed description thereof will be omitted. Here, the failure handling unit 53c, which is different from the replication server 40, will be described.

障害対応部53cは、複製サーバ40から順序通知を受信した場合、当該順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する処理部である。例えば、障害対応部53cは、自装置である複製サーバ50のリクエスト情報52aに登録される書込みリクエスト順ではなく、複製サーバ40が実行した書込みリクエストと同じ順番で、書込み処理を実行する。 When the failure response unit 53c receives the order notification from the replication server 40, the failure response unit 53c is a processing unit that executes a write process according to the write request to be held according to the order included in the order notification. For example, the failure response unit 53c executes the write process in the same order as the write request executed by the copy server 40, not in the write request order registered in the request information 52a of the copy server 50 which is its own device.

[具体例]
次に、図11を用いて、代表サーバ30に障害が発生したときの書込みリクエストの反映手法について説明する。図11は、実施例2にかかるリクエスト処理を説明する図である。図11には、代表サーバ30、複製サーバ40、複製サーバ50が受信した書込みリクエストの順番が示されており、代表サーバ30においてB2までの処理を確定し、残りの複製サーバに通知した後、A4とA5、B3の処理順の通知前に代表サーバ30が停止した状態を表している。
[Concrete example]
Next, a method of reflecting a write request when a failure occurs in the representative server 30 will be described with reference to FIG. FIG. 11 is a diagram illustrating request processing according to the second embodiment. FIG. 11 shows the order of the write requests received by the representative server 30, the replication server 40, and the replication server 50. After the representative server 30 determines the processing up to B2 and notifies the remaining replication servers, It represents a state in which the representative server 30 is stopped before the notification of the processing order of A4, A5, and B3.

つまり、代表サーバ30、複製サーバ40、複製サーバ50の間で、A1、A2、B1、A3、B2の順番で、データベースへの書込み処理が完了している。しかし、それ以降については、代表サーバ30からの通知前であることから、3つのサーバ間でA4、A5、B3の受信順序は一致していない。 That is, the writing process to the database is completed in the order of A1, A2, B1, A3, and B2 among the representative server 30, the replication server 40, and the replication server 50. However, after that, since it is before the notification from the representative server 30, the reception order of A4, A5, and B3 does not match among the three servers.

この場合は、複製サーバ40も複製サーバ50も、代表サーバ30での実行順を知る術がないので、代表サーバ30での実行順と同じ順序で処理を実施することはできない。そのため、複製サーバ40または複製サーバ50を代表サーバに昇格させ、その昇格した代表サーバでの受信順で処理を実行する。例えば、複製サーバ40を代表サーバに昇格させ、複製サーバ40は、複製サーバ40において未実行であるリクエストの受信順「A4、B3、A5」で実行順を確定する。そして、複製サーバ40は、確定した実行順で書込みリクエストを実行し、実行した実行順を複製サーバ50に通知する。 In this case, neither the replication server 40 nor the replication server 50 knows the execution order on the representative server 30, so that the processes cannot be executed in the same order as the execution order on the representative server 30. Therefore, the replication server 40 or the replication server 50 is promoted to the representative server, and the processing is executed in the order of reception on the promoted representative server. For example, the replication server 40 is promoted to a representative server, and the replication server 40 determines the execution order in the reception order "A4, B3, A5" of the requests that have not been executed in the replication server 40. Then, the replication server 40 executes the write requests in the determined execution order, and notifies the replication server 50 of the execution order of execution.

ここで、システム上では、クライアント端末からの書込みリクエストを反映させて、矛盾のない状態を早急に生成するために、A4、B3、A5のリクエスト処理が完了するまで各クライアント端末からの各種リクエストの受け付けを抑制し、処理を停止する。 Here, on the system, in order to reflect the write request from the client terminal and quickly generate a consistent state, various requests from each client terminal are requested until the request processing of A4, B3, and A5 is completed. Suppress acceptance and stop processing.

[効果]
上述したように、代表サーバ30に障害が発生し、切り替えが必要になった際には、切り替え先において、代表サーバ30から通知が来ていない分の書込みリクエストについては切り替え先が受信した順序で更新処理を実施する。この結果、各複製サーバで未反映の書込みリクエストを迅速に反映し、システム間での矛盾を抑制しつつ、複製サーバ間での一貫性を維持することができる。なお、処理の実行結果は読み込み処理を行うことで外部に観測されて初めて、一貫性の維持が必要になる。単に書き込みのみを実施した段階では、書き込み元からもどのような順序で処理が実施されたか分からないため、各サーバの間で、必ずしも状態が一致している必要はない。
[effect]
As described above, when a failure occurs in the representative server 30 and it becomes necessary to switch, the write requests for which the notification has not come from the representative server 30 at the switching destination are in the order received by the switching destination. Perform update processing. As a result, it is possible to quickly reflect unreflected write requests on each replication server, suppress inconsistencies between systems, and maintain consistency between replication servers. It is necessary to maintain consistency only when the execution result of the process is observed externally by performing the read process. At the stage where only writing is performed, the writing source does not know in what order the processing is performed, so the states do not necessarily have to match between the servers.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。 By the way, although the examples of the present invention have been described so far, the present invention may be implemented in various different forms other than the above-mentioned examples.

[数値等]
上記実施例で用いたサーバ台数、リクエストの数等は、あくまで一例であり、任意に変更することができる。
[Numerical values, etc.]
The number of servers, the number of requests, etc. used in the above embodiment are merely examples and can be changed arbitrarily.

[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。なお、代表サーバ30は、第1のサーバに対応し、複製サーバ40は、第2のサーバに対応し、複製サーバ50は、第3のサーバに対応する。クライアント端末Aの書込み要求部13aおよび読込み要求部13bは、送信部に対応する。
[system]
Information including processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. The representative server 30 corresponds to the first server, the replication server 40 corresponds to the second server, and the replication server 50 corresponds to the third server. The write request unit 13a and the read request unit 13b of the client terminal A correspond to the transmission unit.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific forms of distribution and integration of each device are not limited to those shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in any unit according to various loads, usage conditions, and the like.

さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.

[ハードウェア]
次に、ハードウェア構成例を説明する。図1等に示した各装置は、同様のハードウェア構成を有するので、ここではコンピュータ1として説明する。図12は、ハードウェア構成例を説明する図である。図12に示すように、コンピュータ1は、通信装置1a、HDD(Hard Disk Drive)1b、メモリ1c、プロセッサ1dを有する。また、図12に示した各部は、バス等で相互に接続される。
[hardware]
Next, a hardware configuration example will be described. Since each device shown in FIG. 1 and the like has a similar hardware configuration, it will be described here as a computer 1. FIG. 12 is a diagram illustrating a hardware configuration example. As shown in FIG. 12, the computer 1 includes a communication device 1a, an HDD (Hard Disk Drive) 1b, a memory 1c, and a processor 1d. Further, the parts shown in FIG. 12 are connected to each other by a bus or the like.

通信装置1aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD1bは、図2や図10等に示した機能を動作させるプログラムやDBを記憶する。 The communication device 1a is a network interface card or the like, and communicates with another server. The HDD 1b stores a program or DB that operates the functions shown in FIGS. 2 and 10.

プロセッサ1dは、図2や図10に示した各処理部と同様の処理を実行するプログラムをHDD1b等から読み出してメモリ1cに展開することで、図2や図10等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、代表サーバ30が有する各処理部と同様の機能を実行する。具体的には、プロセッサ1dは、書込み処理部33a、順序通知部33b、読込み処理部33c等と同様の機能を有するプログラムをHDD1b等から読み出す。そして、プロセッサ1dは、書込み処理部33a、順序通知部33b、読込み処理部33c等と同様の処理を実行するプロセスを実行する。 The processor 1d executes each function described in FIGS. 2 and 10 by reading a program that executes the same processing as each processing unit shown in FIGS. 2 and 10 from the HDD 1b or the like and expanding the program into the memory 1c. Run the process. For example, this process executes the same function as each processing unit of the representative server 30. Specifically, the processor 1d reads a program having the same functions as the write processing unit 33a, the order notification unit 33b, the read processing unit 33c, and the like from the HDD 1b and the like. Then, the processor 1d executes a process of executing the same processing as the writing processing unit 33a, the order notification unit 33b, the reading processing unit 33c, and the like.

このように、コンピュータ1は、プログラムを読み出して実行することでリクエスト処理方法を実行する情報処理装置として動作する。また、コンピュータ1は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ1によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。 In this way, the computer 1 operates as an information processing device that executes the request processing method by reading and executing the program. Further, the computer 1 can realize the same function as that of the above-described embodiment by reading the program from the recording medium by the medium reading device and executing the read program. The program referred to in the other embodiment is not limited to being executed by the computer 1. For example, the present invention can be similarly applied when another computer or server executes a program, or when they execute a program in cooperation with each other.

10 クライアント端末A
11 通信部
12 記憶部
13 制御部
13a 書込み要求部
13b 読込み要求部
20 クライアント端末B
30 代表サーバ
31 通信部
32 記憶部
32a リクエスト情報
32b データベース
33 制御部
33a 書込み処理部
33b 順序通知部
33c 読込み処理部
40、50 複製サーバ
41 通信部
42 記憶部
42a リクエスト情報
42b データベース
43 制御部
43a 受信部
43b 書込み処理部
10 Client terminal A
11 Communication unit 12 Storage unit 13 Control unit 13a Write request unit 13b Read request unit 20 Client terminal B
30 Representative server 31 Communication unit 32 Storage unit 32a Request information 32b Database 33 Control unit 33a Write processing unit 33b Order notification unit 33c Read processing unit 40, 50 Replication server 41 Communication unit 42 Storage unit 42a Request information 42b Database 43 Control unit 43a Reception Unit 43b Writing processing unit

Claims (6)

複数のクライアント端末それぞれから送信されるリクエストに応じた処理を実行する第1のサーバと第2のサーバとを有するリクエスト処理システムにおいて、
前記複数のクライアント端末それぞれは、
前記第1のサーバと前記第2のサーバとのそれぞれに、データの書込みリクエストまたはデータの読込みリクエストを送信する送信部を有し、
前記第1のサーバは、
前記書込みリクエストを受信した場合、前記書込みリクエストに応じた書込み処理を実行する書込み処理部と、
前記読込みリクエストを受信した場合、前記読込みリクエストより前に受信された書込みリクエストの順番を含む順序通知を前記第2のサーバに送信する読込み処理部と、を有し、
前記第2のサーバは、
前記書込みリクエストを受信して保持する受信部と、
前記順序通知を受信した場合、前記順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する書込み処理部と、を有する
ことを特徴とするリクエスト処理システム。
In a request processing system having a first server and a second server that execute processing according to a request transmitted from each of a plurality of client terminals.
Each of the plurality of client terminals
Each of the first server and the second server has a transmission unit for transmitting a data write request or a data read request.
The first server is
When the write request is received, the write processing unit that executes the write process in response to the write request and the write processing unit
When the read request is received, it has a read processing unit that transmits an order notification including the order of write requests received before the read request to the second server.
The second server is
A receiver that receives and holds the write request,
A request processing system including a write processing unit that executes write processing according to a write request to be held in accordance with the order included in the order notification when the order notification is received.
前記第1のサーバは、前記複数のクライアント端末それぞれが処理対象とするデータを含む第1のデータベースを記憶する記憶部を有し、
前記第2のサーバは、前記第1のデータベースとの一貫性の維持が要求される第2のデータベースを記憶する記憶部を有し、
前記第1のサーバの前記書込み処理部は、前記書込みリクエストを受信した場合、前記第1のデータベースに対して前記書込み処理を実行し、
前記第2のサーバの前記書込み処理部は、前記書込みリクエストが受信された場合に、前記第2のデータベースに対しての前記書込み処理を抑制し、前記順序通知が受信された場合に、前記順序通知に含まれる順番に従って、前記第2のデータベースに対して前記書込み処理を実行することを特徴とする請求項1に記載のリクエスト処理システム。
The first server has a storage unit that stores a first database including data to be processed by each of the plurality of client terminals.
The second server has a storage unit that stores a second database that is required to maintain consistency with the first database.
When the write processing unit of the first server receives the write request, the write processing unit executes the write processing on the first database.
The write processing unit of the second server suppresses the write process for the second database when the write request is received, and when the order notification is received, the order is The request processing system according to claim 1, wherein the write process is executed for the second database according to the order included in the notification.
前記第1のサーバの前記読込み処理部は、前記順序通知を前記第2のサーバに送信した後に、前記読込みリクエストに応じた読込み処理を実行することを特徴とする請求項1または2に記載のリクエスト処理システム。 The read processing unit according to claim 1 or 2, wherein the read processing unit of the first server executes a read process in response to the read request after transmitting the order notification to the second server. Request processing system. 前記第2のサーバの書込み処理部は、前記第1のサーバに障害が発生した場合、前記第2のサーバが受信した前記書込みリクエストの順番で、前記書込み処理を実行することを特徴とする請求項1から3のいずれか一つに記載のリクエスト処理システム。 A claim characterized in that, when a failure occurs in the first server, the write processing unit of the second server executes the write process in the order of the write requests received by the second server. The request processing system according to any one of items 1 to 3. 前記リクエスト処理システムは、前記第2のサーバの前記受信部と前記書込み処理とを有する第3のサーバを有し、
前記第2のサーバは、
前記第2のサーバが実行した書込みリクエストの順番を含む第2の順序通知を、前記第3のサーバに送信する送信部とを有し、
前記第3のサーバは、
前記第2の順序通知を受信した場合、前記第2の順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する障害対応部を有することを特徴とする請求項4に記載のリクエスト処理システム。
The request processing system has a third server having the receiving unit of the second server and the writing process.
The second server is
It has a transmission unit that transmits a second order notification including the order of write requests executed by the second server to the third server.
The third server is
The fourth aspect of claim 4 is characterized in that, when the second order notification is received, it has a failure handling unit that executes a write process according to a write request to be held in accordance with the order included in the second order notification. Request processing system.
複数のクライアント端末それぞれから送信されるリクエストに応じた処理を実行する第1のサーバと第2のサーバとを有するリクエスト処理システムが実行するリクエスト処理方法において、
前記複数のクライアント端末それぞれは、
前記第1のサーバと前記第2のサーバとのそれぞれに、データの書込みリクエストまたはデータの読込みリクエストを送信し、
前記第1のサーバは、
前記書込みリクエストを受信した場合、前記書込みリクエストに応じた書込み処理を実行し、
前記読込みリクエストを受信した場合、前記読込みリクエストより前に受信された書込みリクエストの順番を含む順序通知を前記第2のサーバに送信し、
前記第2のサーバは、
前記書込みリクエストを受信して保持し、
前記順序通知を受信した場合、前記順序通知に含まれる順番に従って、保持する書込みリクエストに応じた書込み処理を実行する、
処理を含むことを特徴とするリクエスト処理方法。
In a request processing method executed by a request processing system having a first server and a second server that execute processing according to a request transmitted from each of a plurality of client terminals.
Each of the plurality of client terminals
A data write request or a data read request is transmitted to each of the first server and the second server, respectively.
The first server is
When the write request is received, the write process corresponding to the write request is executed, and the write process is executed.
When the read request is received, an order notification including the order of the write requests received before the read request is sent to the second server.
The second server is
Receive and hold the write request
When the order notification is received, the write process according to the write request to be held is executed according to the order included in the order notification.
A request processing method characterized by including processing.
JP2020032451A 2020-02-27 2020-02-27 Request processing system and request processing method Pending JP2021135828A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020032451A JP2021135828A (en) 2020-02-27 2020-02-27 Request processing system and request processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020032451A JP2021135828A (en) 2020-02-27 2020-02-27 Request processing system and request processing method

Publications (1)

Publication Number Publication Date
JP2021135828A true JP2021135828A (en) 2021-09-13

Family

ID=77661376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020032451A Pending JP2021135828A (en) 2020-02-27 2020-02-27 Request processing system and request processing method

Country Status (1)

Country Link
JP (1) JP2021135828A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023027082A1 (en) 2021-08-23 2023-03-02 積水化学工業株式会社 Peptide-bound hybrid liposome exosome, peptide-bound exosome, composition containing these, and method for forming same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023027082A1 (en) 2021-08-23 2023-03-02 積水化学工業株式会社 Peptide-bound hybrid liposome exosome, peptide-bound exosome, composition containing these, and method for forming same

Similar Documents

Publication Publication Date Title
US11797347B2 (en) Managing multileg transactions in distributed and parallel environments
US9774462B2 (en) Methods and apparatus for requesting message gap fill requests and responding to message gap fill requests
US9612928B2 (en) Memory-mirroring control apparatus and memory-mirroring control method
CA2911001C (en) Failover system and method
US8898669B2 (en) Methods and systems for coordinated transactions
US20160149801A1 (en) Apparatus and method for failover of device interconnect using remote memory access with segmented queue
JP5007239B2 (en) Distributed transaction matching service
US20160092324A1 (en) Fast single-master failover
CN107038192B (en) Database disaster tolerance method and device
US20170235600A1 (en) System and method for running application processes
JP2021135828A (en) Request processing system and request processing method
JP2023539430A (en) Electronic trading system and method based on point-to-point mesh architecture
US20060288094A1 (en) Methods for configuring cache memory size
US9081748B2 (en) Dynamic redundancy management
US20240046356A1 (en) System and method for managing events in a queue of a distributed network
EP1746507B1 (en) System and method for recovering a trading system
JPH09204318A (en) Check point acquisition timing decision method in computer network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231121